:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #10213a; background: #6f5945; }
* { box-sizing: border-box; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  min-height: 100dvh;
  background-color: #6f5945;
  background-image:
    linear-gradient(135deg, rgba(248, 245, 241, .8), rgba(239, 244, 251, .62)),
    url("icons/sec_explain_bg_image.png");
  background-position: center, center top;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
.audio-admin-shell { width: min(1180px, calc(100% - 28px)); margin: 0 auto; padding: 24px 0 80px; }
.audio-admin-head { margin-bottom: 22px; }
.audio-admin-back { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; padding: 10px; border: 1px solid #cad8ea; border-radius: 14px; background: #fff; color: #164e91; text-decoration: none; box-shadow: 0 5px 15px rgba(30, 60, 100, .08); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.audio-admin-back:hover, .audio-admin-back:focus-visible { border-color: #7b61ff; outline: none; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(30, 60, 100, .14); }
.audio-admin-back img { width: 24px; height: 24px; object-fit: contain; }
.audio-admin-head > p { margin: 22px 0 5px; color: #f05c0b; font-size: .78rem; font-weight: 950; letter-spacing: .14em; }
.audio-admin-head h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -.04em; }
.audio-admin-head > span { display: block; margin-top: 8px; color: #58718f; font-weight: 750; }
.audio-admin-message { min-height: 0; margin-bottom: 14px; color: #0b7f62; font-weight: 800; }
.audio-admin-message.error { color: #b12c39; }
.hidden { display: none !important; }
.audio-admin-chapters { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.audio-admin-chapter { display: grid; gap: 8px; min-height: 124px; padding: 17px; border: 1px solid #d5e1f0; border-radius: 18px; background: #fff; text-align: left; cursor: pointer; box-shadow: 0 8px 25px rgba(28, 56, 92, .07); transition: transform .16s ease, border-color .16s ease; }
.audio-admin-chapter:hover, .audio-admin-chapter:focus-visible { transform: translateY(-2px); border-color: #6797e9; outline: none; }
.audio-admin-chapter strong { font-size: 1.03rem; line-height: 1.3; }
.audio-admin-chapter small { color: #5d7592; font-weight: 700; }
.audio-admin-progress { height: 7px; margin-top: auto; overflow: hidden; border-radius: 999px; background: #e8eef5; }
.audio-admin-progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #77d39a, #20a56b); transition: width .25s ease; }
.audio-admin-questions { margin-top: 8px; }
.audio-admin-question-head { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 16px; }
.audio-admin-question-head h2 { margin: 0; font-size: clamp(1.25rem, 4vw, 1.9rem); }
.audio-admin-back-list { display: inline-flex; margin-left: auto; align-items: center; gap: 8px; border: 1px solid #c7d6e7; border-radius: 11px; padding: 9px 13px; background: #fff; color: #174d8e; font: inherit; font-weight: 850; cursor: pointer; }
.audio-admin-back-list img { width: 17px; height: 17px; object-fit: contain; }
.audio-admin-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-bottom: 16px; }
.audio-admin-toolbar input { width: 100%; min-height: 46px; border: 1px solid #cbd9ea; border-radius: 13px; padding: 10px 13px; background: #fff; color: #14213a; font: inherit; }
.audio-admin-filter { position: relative; min-width: 188px; }
.audio-admin-filter-trigger { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: space-between; gap: 11px; border: 1px solid #cbd9ea; border-radius: 13px; padding: 10px 13px; background: #fff; color: #14213a; font: inherit; font-weight: 800; text-align: left; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.audio-admin-filter-trigger:hover, .audio-admin-filter.is-open .audio-admin-filter-trigger { border-color: #7b61ff; background: #faf9ff; box-shadow: 0 0 0 3px rgba(123, 97, 255, .12); }
.audio-admin-filter-trigger img { width: 18px; height: 18px; object-fit: contain; flex: 0 0 18px; opacity: .72; }
.audio-admin-filter-menu { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; left: 0; overflow: hidden; border: 1px solid #dbe4ef; border-radius: 14px; padding: 5px; background: #fff; box-shadow: 0 18px 38px rgba(24, 45, 75, .18); animation: audioFilterIn .16s ease-out; }
.audio-admin-filter-option { display: flex; width: 100%; align-items: center; gap: 10px; border: 0; border-radius: 10px; padding: 11px 10px; background: transparent; color: #29405e; font: inherit; font-size: .92rem; font-weight: 750; text-align: left; cursor: pointer; }
.audio-admin-filter-option:hover, .audio-admin-filter-option:focus-visible { outline: none; background: #f2efff; color: #4934bf; }
.audio-admin-filter-option.is-selected { background: #eeeaff; color: #4934bf; }
.audio-admin-filter-marker { width: 9px; height: 9px; flex: 0 0 9px; border: 2px solid #b8c5d5; border-radius: 50%; }
.audio-admin-filter-option.is-selected .audio-admin-filter-marker { border-color: #7658e8; background: #7658e8; box-shadow: inset 0 0 0 2px #eeeaff; }
@keyframes audioFilterIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.audio-admin-question-list { display: grid; gap: 12px; }
.audio-admin-question { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; overflow: hidden; padding: 17px; border: 1px solid #dae4ef; border-radius: 18px; background: #fff; box-shadow: 0 7px 22px rgba(30, 52, 84, .06); }
.audio-admin-question-copy { min-width: 0; display: grid; gap: 11px; }
.audio-admin-question-copy strong { font-size: 1rem; line-height: 1.48; }
.audio-admin-question-copy img { width: min(230px, 100%); max-height: 180px; object-fit: contain; border-radius: 12px; background: #f1f4f7; }
.audio-admin-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; padding-top: 42px; }
.audio-admin-icon { display: grid; width: 43px; height: 43px; place-items: center; padding: 0; border: 1px solid #d8e1ec; border-radius: 50%; background: #fff; color: #42536d; cursor: pointer; box-shadow: 0 5px 12px rgba(26, 47, 78, .12); transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
.audio-admin-icon:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(26, 47, 78, .18); }
.audio-admin-icon:disabled { cursor: not-allowed; opacity: .35; }
.audio-admin-icon svg { width: 22px; height: 22px; }
.audio-admin-icon.add, .audio-admin-icon.record { background: #fff2e9; border-color: #ffd1b7; color: #f05c0b; }
.audio-admin-icon.listen { background: #e5f7f4; border-color: #abe5dc; color: #087e72; }
.audio-admin-italian-listen { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 7px; padding: 8px 13px; border: 1px solid #a9d8cf; border-radius: 999px; background: #e5f7f4; color: #087e72; font: inherit; font-size: .84rem; font-weight: 900; cursor: pointer; box-shadow: 0 5px 12px rgba(26, 47, 78, .1); transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease; }
.audio-admin-italian-listen:hover:not(:disabled), .audio-admin-italian-listen:focus-visible { outline: none; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(8, 126, 114, .18); }
.audio-admin-italian-listen:disabled { cursor: wait; opacity: .72; }
.audio-admin-italian-listen svg { width: 19px; height: 19px; flex: 0 0 19px; }
.audio-admin-italian-listen.is-playing { border-color: #087e72; background: #087e72; color: #fff; }
.audio-admin-italian-listen.is-loading svg { animation: audioItalianPulse .8s ease-in-out infinite alternate; }
@keyframes audioItalianPulse { to { opacity: .35; transform: scale(.86); } }
.audio-admin-icon.pause { background: #e8eff8; border-color: #c7d8ef; }
.audio-admin-icon.renew { background: #eeeaff; border-color: #cfc5ff; }
.audio-admin-icon.save { background: #e4f5ed; border-color: #afe0c8; }
.audio-admin-icon.trash { background: #ffeaeb; border-color: #ffc8ca; }
.audio-admin-answer-badge { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #fff; font-weight: 950; box-shadow: 0 5px 14px rgba(15, 23, 42, .14); }
.audio-admin-answer-badge.is-true { background: linear-gradient(135deg, #29b86c, #087e52); }
.audio-admin-answer-badge.is-false { background: linear-gradient(135deg, #f45d67, #c62939); }
.audio-admin-player { flex: 1 1 180px; width: min(270px, 62vw); min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 6px 11px 6px 7px; border-radius: 999px; background: #050505; box-shadow: 0 6px 17px rgba(13, 19, 32, .22); }
.audio-admin-player-play { flex: 0 0 29px; width: 29px; height: 29px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #050505; cursor: pointer; }
.audio-admin-player-play::before { content: ""; display: inline-block; margin-left: 2px; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 9px solid currentColor; }
.audio-admin-player-play.is-playing::before { width: 3px; height: 13px; margin-left: -3px; border: 0; background: currentColor; box-shadow: 6px 0 currentColor; }
.audio-admin-player-progress { --progress: 0%; flex: 1; min-width: 42px; height: 16px; margin: 0; appearance: none; background: linear-gradient(90deg, #fff 0 var(--progress), rgba(255,255,255,.38) var(--progress) 100%) center / 100% 4px no-repeat; cursor: pointer; pointer-events: auto; touch-action: pan-x; }
.audio-admin-player-progress::-webkit-slider-runnable-track { height: 4px; background: transparent; }
.audio-admin-player-progress::-webkit-slider-thumb { width: 13px; height: 13px; margin-top: -4.5px; appearance: none; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.4); }
.audio-admin-player-progress::-moz-range-track { height: 4px; background: transparent; }
.audio-admin-player-progress::-moz-range-progress { height: 4px; background: #fff; }
.audio-admin-player-progress::-moz-range-thumb { width: 13px; height: 13px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.4); }
.audio-admin-player-speed { flex: 0 0 auto; border: 0; padding: 2px 0; background: transparent; color: #fff; font: inherit; font-size: .78rem; font-weight: 900; cursor: pointer; }
.audio-admin-inline-recorder { grid-column: 1 / -1; display: grid; gap: 12px; margin-top: 2px; padding: 14px; border: 1px solid #ffd8be; border-radius: 14px; background: linear-gradient(135deg, #fff7f1, #f7fbff); }
.audio-admin-inline-status { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; color: #4d627d; font-weight: 800; font-size: .9rem; }
.audio-admin-inline-status strong { color: #087e72; font-size: 1.3rem; }
.audio-admin-inline-close { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #dce5ee; border-radius: 50%; background: #fff; color: #52647e; cursor: pointer; }
.audio-admin-inline-close svg { width: 18px; height: 18px; }
.audio-admin-inline-preview { width: 100%; max-width: 440px; }
.audio-admin-inline-controls { display: flex; flex-wrap: wrap; gap: 9px; }
.audio-admin-empty { padding: 18px; border-radius: 14px; background: #fff; color: #637895; }
.audio-admin-modal { position: fixed; inset: 0; z-index: 30; display: grid; place-items: center; padding: 20px; background: rgba(11,25,45,.56); }
.audio-admin-modal-card { width: min(480px, 100%); max-height: 90vh; overflow: auto; padding: 24px; border-radius: 24px; background: #fff; box-shadow: 0 24px 75px rgba(0,0,0,.24); }
.audio-admin-modal-card > p { margin: 0; color: #f05c0b; font-weight: 900; letter-spacing: .1em; }
.audio-admin-modal-card h2 { margin: 7px 0 10px; }
.audio-admin-dialog-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.audio-admin-dialog-actions button { border: 0; border-radius: 11px; padding: 11px 16px; background: #eaf0fa; color: #193252; font: inherit; font-weight: 900; cursor: pointer; }
.audio-admin-dialog-actions button:last-child { background: #0a806f; color: #fff; }
@media (max-width: 699px) {
  body { background-position: center, 68% top; }
  .audio-admin-shell { width: min(100% - 20px, 600px); padding-top: 14px; }
  .audio-admin-chapters { grid-template-columns: 1fr; gap: 11px; }
  .audio-admin-question { grid-template-columns: 1fr; }
  .audio-admin-actions { grid-column: 1; width: 100%; justify-content: flex-start; padding-top: 0; }
  .audio-admin-player { width: auto; max-width: none; flex-basis: 145px; }
  .audio-admin-toolbar { grid-template-columns: 1fr; }
  .audio-admin-filter { min-width: 0; }
}

/* Dedicated entry point for reviewing only genuinely ambiguous legacy audio. */
.audio-admin-review-entry {
  position: relative;
  border-color: #fed7aa;
  background: linear-gradient(145deg, #fff7ed, #ffffff 68%);
}

.audio-admin-review-entry:disabled {
  cursor: default;
  opacity: 1;
}

.audio-admin-review-entry.has-items:hover,
.audio-admin-review-entry.has-items:focus-visible {
  border-color: #f97316;
  box-shadow: 0 12px 28px rgba(249, 115, 22, .15);
}

.audio-admin-review-entry-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.audio-admin-review-entry-top i {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: #ffedd5;
  color: #ea580c;
}

.audio-admin-review-entry-top svg { width: 22px; height: 22px; }
.audio-admin-review-entry-top b {
  display: grid;
  min-width: 32px;
  height: 32px;
  padding: 0 9px;
  place-items: center;
  border-radius: 999px;
  background: #ea580c;
  color: #fff;
  font-size: .9rem;
}

.audio-admin-review-entry.is-clear {
  border-color: #bbdfcc;
  background: linear-gradient(145deg, #f0fdf4, #ffffff 68%);
}

.audio-admin-review-entry.is-clear .audio-admin-review-entry-top i {
  background: #dcfce7;
  color: #15803d;
}

.audio-admin-review-entry.is-clear .audio-admin-review-entry-top b { background: #16a34a; }
.audio-admin-review-entry-status {
  width: fit-content;
  margin-top: auto;
  padding: 6px 10px;
  border-radius: 999px;
  background: #ffedd5;
  color: #c2410c;
  font-size: .76rem;
  font-weight: 900;
}

.audio-admin-review-entry.is-clear .audio-admin-review-entry-status {
  background: #dcfce7;
  color: #166534;
}

.audio-admin-review-back {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  place-items: center;
  padding: 10px;
  border: 1px solid #d8e1ec;
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
}

.audio-admin-review-back img { width: 20px; height: 20px; object-fit: contain; }
.audio-admin-review-back:hover,
.audio-admin-review-back:focus-visible { border-color: #f97316; outline: 3px solid rgba(249, 115, 22, .14); }

@media (max-width: 700px) {
  .audio-admin-review-heading { display: grid; grid-template-columns: auto 1fr auto; }
  .audio-admin-review-heading > div { min-width: 0; }
}
.audio-admin-legacy-review {
  margin: 0 0 24px;
  padding: clamp(16px, 2.2vw, 28px);
  border: 1px solid color-mix(in srgb, #f97316 42%, transparent);
  border-radius: 24px;
  background: linear-gradient(145deg, color-mix(in srgb, #fff7ed 92%, transparent), color-mix(in srgb, #f8fafc 96%, transparent));
  box-shadow: 0 18px 48px rgba(15, 23, 42, .08);
}

.audio-admin-review-heading,
.audio-admin-review-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.audio-admin-review-heading span,
.audio-admin-review-intro small {
  color: #ea580c;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .13em;
}

.audio-admin-review-heading h2,
.audio-admin-review-intro h3 { margin: 4px 0; color: #0f172a; }
.audio-admin-review-heading p,
.audio-admin-review-intro p { margin: 0; color: #52627a; }

.audio-admin-review-heading > strong {
  display: grid;
  min-width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #ea580c;
  font-size: 1.15rem;
}

.audio-admin-review-card {
  margin-top: 18px;
  padding: clamp(14px, 2vw, 22px);
  border: 1px solid #fed7aa;
  border-radius: 20px;
  background: #fff;
}

.audio-admin-review-intro .audio-admin-player { flex: 0 1 290px; min-width: 230px; }
.audio-admin-review-candidates {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.audio-admin-review-candidate {
  display: flex;
  min-width: 0;
  min-height: 178px;
  padding: 10px;
  flex-direction: column;
  gap: 9px;
  border: 1px solid #dbe4f0;
  border-radius: 17px;
  background: #f8fafc;
  color: #0f172a;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.audio-admin-review-candidate:hover,
.audio-admin-review-candidate:focus-visible {
  transform: translateY(-2px);
  border-color: #f97316;
  box-shadow: 0 12px 26px rgba(249, 115, 22, .16);
  outline: none;
}

.audio-admin-review-candidate img,
.audio-admin-review-no-image {
  width: 100%;
  height: 112px;
  object-fit: contain;
  border-radius: 12px;
  background: #fff;
}

.audio-admin-review-no-image {
  display: grid;
  place-items: center;
  color: #64748b;
  font-weight: 800;
}

.audio-admin-review-candidate-meta {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 4px 8px;
  text-align: left;
}

@media (max-width: 700px) {
  .audio-admin-review-heading,
  .audio-admin-review-intro { align-items: flex-start; flex-direction: column; }
  .audio-admin-review-intro .audio-admin-player { width: 100%; min-width: 0; flex-basis: auto; }
  .audio-admin-review-candidates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.audio-admin-help-toggle { display: inline-flex; width: fit-content; max-width: 100%; min-height: 44px; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; border: 1px solid #cfc5ff; border-radius: 12px; background: #f7f4ff; color: #4934bf; font: inherit; font-size: .82rem; font-weight: 850; text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease; }
.audio-admin-help-toggle:hover, .audio-admin-help-toggle:focus-visible { border-color: #7658e8; background: #eeeaff; color: #3926aa; outline: none; box-shadow: 0 0 0 3px rgba(123, 97, 255, .14); }
.audio-admin-help-toggle-marker { width: 8px; height: 8px; flex: 0 0 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .16s ease; }
.audio-admin-help-toggle[aria-expanded="true"] .audio-admin-help-toggle-marker { transform: rotate(225deg) translate(-1px, -1px); }
.audio-admin-question.is-help-open { border-color: #b9a9ff; }
.audio-admin-help-panel { display: grid; grid-column: 1 / -1; gap: 10px; min-width: 0; margin-top: 2px; padding: 14px 16px; border: 1px solid #d7cdfd; border-radius: 15px; background: linear-gradient(135deg, #fbfaff, #f2fbf9); }
.audio-admin-help-panel[hidden] { display: none; }
.audio-admin-help-label, .audio-admin-help-section-title { color: #7658e8; font-size: .7rem; font-weight: 950; letter-spacing: .12em; }
.audio-admin-help-translation { margin: 0; color: #17233a; font-family: var(--font-bengali, "Noto Sans Bengali", "Hind Siliguri", sans-serif); font-size: 1.05rem; line-height: 1.72; overflow-wrap: anywhere; }
.audio-admin-help-translation.is-missing, .audio-admin-help-status { color: #60718a; font-size: .88rem; line-height: 1.5; }
.audio-admin-help-context { display: flex; flex-wrap: wrap; gap: 7px; }
.audio-admin-help-context span { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 6px 9px; border-radius: 9px; background: #e7f7f2; color: #225b58; font-size: .8rem; font-weight: 700; }
.audio-admin-help-context span span, .audio-admin-help-word-bn, .audio-admin-help-word-note { font-family: var(--font-bengali, "Noto Sans Bengali", "Hind Siliguri", sans-serif); }
.audio-admin-help-words { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; }
.audio-admin-help-word { display: grid; gap: 3px; min-width: 0; padding: 9px 11px; border: 1px solid #dce6ef; border-radius: 11px; background: #fff; }
.audio-admin-help-word strong { color: #233653; overflow-wrap: anywhere; }
.audio-admin-help-word-bn { color: #087e72; font-size: .98rem; line-height: 1.5; overflow-wrap: anywhere; }
.audio-admin-help-word-note { color: #526982; font-size: .8rem; line-height: 1.45; overflow-wrap: anywhere; }
.audio-admin-help-status { margin: 0; }
.audio-admin-help-status.is-error { color: #b12c39; }
@media (max-width: 699px) {
  .audio-admin-help-toggle { width: 100%; }
  .audio-admin-help-panel { padding: 13px; }
  .audio-admin-help-words { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .audio-admin-help-toggle, .audio-admin-help-toggle-marker { transition: none; }
}
.audio-admin-help-toggle { grid-column: 1 / -1; }
