:root{
  --nav:#0b1628;
  --nav-2:#111f35;
  --nav-3:#17283f;
  --ink:#0e1726;
  --muted:#65758b;
  --line:#d9e1ea;
  --soft:#f5f7fb;
  --soft-2:#eef3f9;
  --card:#ffffff;
  --accent:#1f5f9f;
  --accent-2:#0f766e;
  --warn:#a16207;
  --ok:#047857;
  --bad:#b42318;
  --shadow:0 12px 30px rgba(15,23,42,.08);
  --radius:12px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;font-size:13px;line-height:1.35;color:var(--ink);background:#f3f6fb}
button,input,select,textarea{font-family:inherit;font-size:12px}
button{border:0;border-radius:8px;padding:7px 10px;background:#e7edf5;color:#172033;cursor:pointer;font-weight:700;line-height:1}
button:hover{background:#dbe5f2}
button.primary{background:var(--accent);color:#fff}
button.primary:hover{background:#164d83}
button.success{background:var(--ok);color:#fff}
button.success:hover{background:#036b4c}
button.ghost{background:transparent;border:1px solid var(--line)}
button.danger{background:#fee2e2;color:#991b1b}
button:disabled{opacity:.55;cursor:not-allowed}
button.is-disabled{opacity:.55;cursor:not-allowed}
input,select{height:30px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:5px 8px;color:#111827;min-width:0}
input:focus,select:focus{outline:2px solid rgba(31,95,159,.22);border-color:#7aa4ce}
label{font-size:11px;color:#52657c;font-weight:700;display:flex;flex-direction:column;gap:3px}
.app-shell{min-height:100vh;display:flex}
.sidebar{width:330px;min-width:300px;background:var(--nav);color:#dbeafe;display:flex;flex-direction:column;border-right:1px solid #1e314d}
.brand{height:64px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;gap:10px;align-items:center}
.brand-main{display:flex;gap:10px;align-items:center;min-width:0;flex:1}
.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#1f5f9f,#0f766e);display:grid;place-items:center;font-weight:900;color:#fff;letter-spacing:.4px}
.brand-title{font-weight:800;font-size:13px;color:#fff}.brand-sub{font-size:10px;color:#9fb3cb;margin-top:2px}
.brand-guide{flex:0 0 auto;border:1px solid rgba(191,209,231,.28);background:rgba(255,255,255,.04);color:#bfd1e7;border-radius:7px;padding:5px 7px;font-size:10.5px;font-weight:800;line-height:1}
.brand-guide:hover,.brand-guide.active{background:#18314f;color:#fff;border-color:rgba(96,165,250,.45)}
.nav-scroll{padding:10px 9px 18px;overflow:auto;flex:1}
.nav-btn{width:100%;text-align:left;color:#dbeafe;background:transparent;border-radius:8px;padding:8px 9px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}
.nav-btn:hover,.nav-btn.active{background:var(--nav-2)}
.nav-btn .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-btn .tiny-progress{font-size:10px;color:#bfd1e7;font-weight:800}
.course-head{margin-top:5px;background:#0f1c31;border:1px solid rgba(255,255,255,.07)}
.training-course-row{margin-left:12px;width:calc(100% - 12px);background:#101f36;border-color:rgba(219,234,254,.1)}
.training-course-row .item-icon{transform:scale(.94)}
.production-section-row{margin-left:12px;width:calc(100% - 12px);background:#101f36;border-color:rgba(219,234,254,.1)}
.production-section-row .item-icon{transform:scale(.94)}
.group-head{margin:5px 0 2px 14px;background:transparent;color:#cfe4ff;font-size:11px}
.group-head.nested-group-head{margin-left:28px;font-size:10.5px;color:#dbeafe}
.group-head.direct-group.nested-group-head{margin-left:28px;width:calc(100% - 28px);padding:6px 8px;font-size:11.5px;font-weight:650;color:#cbd9e9}
.group-head.direct-group.nested-group-head.active{background:#18314f;color:#fff;box-shadow:inset 3px 0 0 #60a5fa}
.group-head:hover{background:var(--nav-2)}
.item-btn{margin-left:28px;width:calc(100% - 28px);font-weight:650;color:#cbd9e9;padding:6px 8px;font-size:11.5px}
.item-btn.active{background:#18314f;color:#fff;box-shadow:inset 3px 0 0 #60a5fa}
.item-icon{width:16px;height:16px;border-radius:5px;background:#213a5e;display:inline-grid;place-items:center;font-size:10px;color:#cfe4ff;flex:0 0 auto}
.sidebar-footer{padding:10px 12px;border-top:1px solid rgba(255,255,255,.08);font-size:10px;color:#99abc0}.sidebar-footer b{color:#fff}
.sidebar-user{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sidebar-user>div{min-width:0}
.sidebar-logout{flex:0 0 auto;border:1px solid rgba(219,234,254,.28);background:rgba(255,255,255,.06);color:#dbeafe;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:900}
.sidebar-logout:hover{background:#18314f;color:#fff}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{background:#fff;border-bottom:1px solid var(--line);padding:8px 14px;display:flex;gap:10px;align-items:center;position:sticky;top:0;z-index:3}
.topbar .crumb{font-weight:900;font-size:13px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .spacer{flex:1}.topbar .profile-mini{display:flex;gap:7px;align-items:end;flex-wrap:wrap;justify-content:flex-end}.topbar input,.topbar select{height:28px;width:150px}.topbar input.name{width:185px}
.content{padding:14px;overflow:auto}
.grid{display:grid;gap:12px}.dashboard-grid{grid-template-columns:1.15fr .85fr}@media(max-width:1000px){.app-shell{display:block}.sidebar{width:100%;min-width:0;max-height:50vh}.dashboard-grid{grid-template-columns:1fr}.topbar{display:block}.topbar .profile-mini{justify-content:flex-start;margin-top:8px}.content{padding:10px}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:14px}.card-head{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;background:#fbfcfe}.card-head h2,.card-head h3{margin:0;font-size:16px;line-height:1.15;color:#10243e}.card-head h3{font-size:13px}.card-head .meta{font-size:11px;color:var(--muted);font-weight:700}.card-head .actions{margin-left:auto;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.subtle{color:var(--muted);font-size:11px}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#edf4fb;border:1px solid #d6e5f4;color:#12324f;font-size:10px;font-weight:900;padding:3px 7px}.pill.ok{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.pill.bad{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.pill.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.progress{height:7px;border-radius:999px;background:#e6edf5;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));width:0}.small-progress{height:5px;flex:0 0 72px;background:#243957;border-radius:999px;overflow:hidden}.small-progress span{display:block;height:100%;background:#60a5fa}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kpi{border:1px solid var(--line);border-radius:10px;background:#fbfdff;padding:9px}.kpi b{display:block;font-size:18px;color:#0f2d4f}.kpi span{font-size:10.5px;color:#607085;font-weight:800}.course-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfdff;margin-top:8px}.course-card h4{margin:0 0 5px;font-size:13px}.course-row{display:flex;align-items:center;gap:8px}.course-row .progress{flex:1}
.activity{max-width:1180px;margin:0 auto}.activity-body{padding:12px}.tool-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.tool-row .progress{flex:1;min-width:160px}.slide-stage{background:#0b1220;border-radius:12px;padding:8px;border:1px solid #17243b}.slide-img{display:block;width:100%;max-width:100%;border-radius:8px;background:#fff;user-select:none}.audio-row{margin-top:8px;display:flex;align-items:center;gap:8px;background:#f7fafc;border:1px solid var(--line);padding:8px;border-radius:10px}.audio-row audio{width:100%;height:30px}.slide-title{font-weight:900;color:#23354d;max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slide-controls{display:flex;gap:7px;justify-content:space-between;align-items:center;margin-top:10px;flex-wrap:wrap}.slide-controls .right{display:flex;gap:7px;flex-wrap:wrap}.completion-box{border:1px solid #bbf7d0;background:#f0fdf4;color:#14532d;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:800}
.video-wrap{background:#09111f;border-radius:12px;border:1px solid #1b2d47;padding:10px}.locked-video{display:block;width:100%;max-height:68vh;background:#000;border-radius:9px}.video-panel{margin-top:9px;background:#0f1c31;border:1px solid #253a57;border-radius:10px;padding:9px;color:#dbeafe}.video-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.video-time{font-size:11px;color:#bfdbfe;min-width:110px;font-weight:800}.watchbar{height:7px;background:#1f3452;border-radius:999px;overflow:hidden;flex:1;min-width:150px}.watchbar span{display:block;height:100%;background:#60a5fa;width:0}.link-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px}.link-row input{width:100%}.note{font-size:11px;color:#607085;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:8px;margin-top:8px}
.assessment-card{padding:12px}.question-head{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:10px}.question-title{font-size:15px;font-weight:900;color:#10243e;margin:4px 0 7px;white-space:pre-wrap}.question-meta{font-size:11px;color:#65758b;font-weight:800}.option{display:flex;gap:9px;align-items:flex-start;border:1px solid #dde6ef;border-radius:10px;padding:9px;margin:7px 0;background:#fff}.option:hover{border-color:#9eb8d4;background:#fbfdff}.option.selected{border-color:#1f5f9f;background:#f0f7ff}.option.correct{border-color:#16a34a;background:#f0fdf4}.option.incorrect{border-color:#dc2626;background:#fff5f5}.option input{width:auto;height:auto;margin-top:2px}.option-letter{font-weight:900;color:#12284a}.feedback{border-radius:10px;margin-top:10px;padding:10px;border:1px solid #cbd5e1;background:#f8fafc}.feedback.correct{background:#ecfdf3;border-color:#86efac}.feedback.incorrect{background:#fff7ed;border-color:#fed7aa}.feedback h4{margin:0 0 5px;font-size:13px}.scoreline{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.assessment-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.summary-table{width:100%;border-collapse:collapse;font-size:12px}.summary-table th,.summary-table td{border-bottom:1px solid var(--line);padding:7px;text-align:left}.summary-table th{font-size:11px;color:#607085;background:#f8fafc}.empty{border:1px dashed #cbd5e1;border-radius:12px;padding:22px;text-align:center;color:#607085;background:#fbfdff}.fullscreen-target:fullscreen{background:#f3f6fb;padding:14px;overflow:auto}.fullscreen-target:fullscreen .slide-img,.fullscreen-target:fullscreen .locked-video{max-height:calc(100vh - 160px);object-fit:contain}.hidden{display:none!important}

/* v3 refinements: compact assessment answers, resilient fullscreen, in-container browser video */
.slide-instruction,
.assessment-reminder{
  border:1px solid #dbe6f2;
  background:#f8fbff;
  color:#26384f;
  border-radius:10px;
  padding:7px 9px;
  margin:0 0 9px;
  font-size:11.5px;
  line-height:1.25;
  font-weight:650;
}
.assessment-reminder{background:#fffaf0;border-color:#fde3a7;color:#754c0e}
.options-list{display:grid;gap:5px;margin-top:4px}
.option{
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 8px;
  margin:0;
  border-radius:9px;
  min-height:34px;
  line-height:1.18;
  font-size:13.2px;
}
.option input{flex:0 0 auto;margin:0;width:14px;height:14px}
.option-body{display:flex;align-items:baseline;gap:8px;min-width:0;width:100%}
.option-letter{flex:0 0 auto;min-width:20px;font-size:13.2px;color:#0f2b4f;font-weight:900}
.option-copy{display:block;min-width:0;font-size:13.2px;color:#152235;overflow-wrap:anywhere}
.question-title{font-size:14px;line-height:1.22;margin-bottom:6px}
.question-head{margin-bottom:8px}
.feedback{font-size:12px;line-height:1.28;padding:8px 9px;margin-top:8px}
.assessment-actions{margin-top:9px}
.browser-bar{
  display:grid;
  grid-template-columns:auto auto auto 1fr auto;
  gap:6px;
  align-items:center;
  background:#14233a;
  border:1px solid #2c4362;
  border-radius:10px;
  padding:7px;
  margin-bottom:9px;
}
.browser-dot{width:8px;height:8px;border-radius:999px;background:#7891b3;display:inline-block;opacity:.9}
.browser-url{
  height:28px;
  border-radius:8px;
  border:1px solid #314964;
  background:#0d1a2d;
  color:#dbeafe;
  padding:5px 8px;
  width:100%;
}
.browser-url::placeholder{color:#8da7c7}
.dark-empty{background:#0d1a2d;color:#cfe4ff;border-color:#2b415f}
#slideAudio{width:100%;height:0;opacity:0;pointer-events:none;position:absolute}
#app:fullscreen{background:#f3f6fb;overflow:auto}
#app:fullscreen .sidebar{display:none}
#app:fullscreen .topbar{display:none}
#app:fullscreen .main{width:100%;height:100vh}
#app:fullscreen .content{height:100vh;padding:10px;overflow:auto}
#app:fullscreen .activity{max-width:100%;height:100%}
#app:fullscreen #activityPanel{min-height:calc(100vh - 20px)}
#app:fullscreen .slide-img{max-height:calc(100vh - 130px);object-fit:contain;width:auto;max-width:100%;margin:0 auto}
#app:fullscreen .slide-stage{display:grid;place-items:center;min-height:calc(100vh - 190px)}
#app:fullscreen .locked-video{max-height:calc(100vh - 150px)}
#app:fullscreen .assessment-card{max-width:1050px;margin:0 auto}
#app:fullscreen .card-head{position:sticky;top:0;z-index:2}

/* v4 refinements: answer control position, keyboard shortcuts, recording controls */
.option{
  display:grid !important;
  grid-template-columns:1fr;
  align-items:start !important;
  justify-items:start;
  gap:3px;
  padding:7px 8px !important;
  min-height:42px;
}
.option input[type="radio"]{
  display:block;
  justify-self:start;
  align-self:start;
  margin:0 0 1px 0 !important;
  width:15px;
  height:15px;
}
.option-body{
  display:flex;
  align-items:baseline;
  gap:8px;
  width:100%;
  min-width:0;
}
.option-letter,
.option-copy{
  line-height:1.18;
}
.recording-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
  padding:7px 9px;
  border:1px solid #dbe6f2;
  background:#f8fbff;
  color:#26384f;
  border-radius:10px;
  font-size:11.5px;
  font-weight:700;
}
.recording-toolbar span{min-width:220px;flex:1}
.sidebar-footer .danger,
.profile-mini .danger{white-space:nowrap}
.save-progress-btn,
.load-progress-btn{white-space:nowrap}

/* v5.2 all-instructions refinements */
html,body{height:100vh;overflow:hidden}
.app-shell{height:100vh;min-height:0;overflow:hidden}
.main{height:100vh;min-height:0;overflow:hidden}
.topbar{display:none!important}
.content{height:100vh;overflow:auto;padding:8px 12px}
.activity{max-width:1120px;margin:0 auto}
.activity-body{padding:8px 10px}
.activity-head{padding:7px 10px;min-height:42px}
.activity-head h2{font-size:13px!important;line-height:1.1}
.activity-head .meta{font-size:10.5px}.card-head .actions{gap:6px}.card-head{padding:8px 10px}.card-pad{padding:10px}

.score-accordion-list{display:grid;gap:9px}
.score-accordion{border:1px solid var(--line);border-radius:10px;background:#fbfdff;overflow:hidden}
.score-accordion summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 11px;cursor:pointer;font-size:12px;font-weight:900;color:#10243e}
.score-accordion summary::-webkit-details-marker{display:none}
.score-accordion summary:hover{background:#f5f9fd}
.score-chevron{width:18px;height:18px;border-radius:6px;border:1px solid #cbd8e6;background:#fff;display:inline-grid;place-items:center;flex:0 0 auto}
.score-chevron::before{content:"+";font-size:13px;line-height:1;color:#1f5f9f}
.score-accordion[open] .score-chevron::before{content:"-"}
.score-section-title{flex:1;min-width:160px}
.score-section-meta{font-size:10.5px;color:#607085;font-weight:900}
.score-accordion-body{border-top:1px solid var(--line);background:#fff;padding:0}
.score-accordion-body .summary-table th:first-child,.score-accordion-body .summary-table td:first-child{width:28%}
.score-accordion-body .summary-table th:last-child,.score-accordion-body .summary-table td:last-child{width:110px}

.dashboard-grid .course-card{
  display:grid;
  grid-template-columns:minmax(120px,170px) minmax(0,1fr) minmax(150px,210px);
  grid-template-areas:"title desc progress";
  align-items:center;
  gap:6px 10px;
  min-height:42px;
  padding:6px 8px;
  margin-top:5px;
  border-radius:8px;
}
.dashboard-grid .course-card h4{
  grid-area:title;
  margin:0;
  font-size:12px;
  line-height:1.15;
}
.dashboard-grid .course-card .subtle{
  grid-area:desc;
  font-size:10.5px;
  line-height:1.16;
}
.dashboard-grid .course-card .course-row{
  grid-area:progress;
  gap:6px;
}
.dashboard-grid .course-card .progress{
  height:5px;
}
.dashboard-grid .course-card .pill{
  padding:2px 6px;
  font-size:9.5px;
}
@media(max-width:900px){
  .dashboard-grid .course-card{
    grid-template-columns:1fr auto;
    grid-template-areas:"title progress" "desc desc";
  }
}

.slide-lesson{height:calc(100vh - 82px);min-height:0;display:flex;flex-direction:column;gap:6px}
.slide-top-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#fbfcfe;border:1px solid var(--line);border-radius:10px;padding:6px 7px}
.slide-title-block{min-width:180px;flex:1}.slide-btns{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.slide-title{font-size:11.5px;max-width:58ch}
.slide-instruction{font-size:10.8px!important;line-height:1.18!important;padding:5px 7px!important;margin:0!important}
.recording-toolbar{margin:0!important;padding:5px 7px!important;font-size:10.8px!important;line-height:1.18!important}
.slide-stage{flex:1;min-height:0;display:grid;place-items:center;padding:5px;border-radius:10px;overflow:hidden}
.slide-img{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;margin:0 auto;border-radius:7px}
.slide-progress-row{display:flex;align-items:center;gap:7px;min-height:24px}.slide-progress-row .progress{flex:1}.slide-progress-row .completion-box{padding:4px 7px;font-size:10.8px}

.assessment-card{padding:8px 9px}.assessment-top-row{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:6px}.assessment-top-row .tool-row{margin:0;flex:1;min-width:260px}.assessment-top-row .tool-row .progress{min-width:120px}.assessment-reminder{font-size:10.8px!important;line-height:1.18!important;padding:5px 7px!important;margin-bottom:7px!important}.question-title{font-size:13.2px!important;line-height:1.2!important;margin:3px 0 5px!important}.question-meta{font-size:10.4px!important}.question-head{margin-bottom:6px!important}.options-list{gap:4px!important}.option{display:grid!important;grid-template-columns:1fr!important;justify-items:start!important;align-items:start!important;gap:2px!important;padding:6px 7px!important;min-height:35px!important}.option input[type="radio"]{justify-self:start!important;align-self:start!important;margin:0!important;width:15px!important;height:15px!important}.option-body{display:flex!important;align-items:baseline!important;gap:8px!important;width:100%!important}.option-letter{min-width:18px!important;font-size:13.3px!important}.option-copy{font-size:13.3px!important;line-height:1.16!important}.feedback{font-size:11.4px!important;line-height:1.22!important;padding:7px 8px!important;margin-top:7px!important}.assessment-actions{margin-top:8px!important}
.explanation-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9999;max-width:min(780px,calc(100vw - 40px));border:1px solid #bfdbfe;background:#eff6ff;color:#10243e;box-shadow:0 18px 45px rgba(15,23,42,.18);border-radius:13px;padding:10px 12px;text-align:center;animation:toastPulse 1.2s ease-in-out infinite alternate}.explanation-toast.correct{border-color:#86efac;background:#ecfdf3}.explanation-toast.incorrect{border-color:#fed7aa;background:#fff7ed}.toast-label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#34516f}.toast-text{font-size:13px;font-weight:800;line-height:1.25}.toast-hint{font-size:10px;color:#64748b;margin-top:2px}@keyframes toastPulse{from{box-shadow:0 14px 35px rgba(15,23,42,.14);transform:translateX(-50%) scale(1)}to{box-shadow:0 20px 55px rgba(15,23,42,.24);transform:translateX(-50%) scale(1.01)}}

@media(max-height:760px){.content{padding:6px 10px}.activity-head{padding:6px 9px}.activity-body{padding:6px 8px}.slide-lesson{height:calc(100vh - 68px);gap:5px}.slide-top-controls{padding:5px 6px}.slide-instruction,.recording-toolbar{font-size:10.2px!important}.slide-progress-row{min-height:20px}.slide-btns button{padding:6px 8px}.assessment-card{padding:7px}.option{padding:5px 6px!important;min-height:32px!important}.option-copy,.option-letter{font-size:12.6px!important}.question-title{font-size:12.8px!important}.feedback{max-height:96px;overflow:auto}}
#app:fullscreen{overflow:hidden!important}#app:fullscreen .content{height:100vh;padding:8px;overflow:hidden}#app:fullscreen #activityPanel{height:calc(100vh - 16px);min-height:0}#app:fullscreen .activity-body{height:calc(100vh - 58px)}#app:fullscreen .slide-lesson{height:100%}#app:fullscreen .slide-stage{min-height:0}#app:fullscreen .slide-img{max-height:100%!important}#app:fullscreen .assessment-card{max-width:1050px;height:100%;overflow:auto;margin:0 auto}

/* v5.3 assessment/fullscreen refinements */
.assessment-toolbar-actions{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.question-meta{
  margin-bottom:12px!important;
}
.question-title{
  font-weight:900!important;
  margin:12px 0 10px!important;
}
.options-list{
  gap:8px!important;
  margin-top:8px!important;
}
.option{
  display:flex!important;
  grid-template-columns:unset!important;
  align-items:flex-start!important;
  justify-items:stretch!important;
  justify-content:flex-start!important;
  gap:11px!important;
  padding:8px 10px!important;
  min-height:42px!important;
  text-align:left!important;
}
.option input[type="radio"]{
  display:block;
  flex:0 0 auto;
  order:0;
  justify-self:auto!important;
  align-self:flex-start!important;
  margin:2px 0 0 0!important;
  width:15px!important;
  height:15px!important;
}
.option-body{
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
  order:1;
  flex:1 1 auto;
  min-width:0;
  width:100%;
}
.assessment-option.option{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  align-items:start!important;
  justify-items:start!important;
  column-gap:14px!important;
  row-gap:0!important;
  text-align:left!important;
}
.assessment-option.option input[type="radio"]{
  grid-column:1!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:start!important;
  margin:2px 0 0 0!important;
}
.assessment-option.option .option-body{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:stretch!important;
  width:100%!important;
}
.feedback h4,
.feedback-label,
.feedback b{
  font-weight:400!important;
}
.toast-label,
.toast-text{
  font-weight:400!important;
}

/* v5.4 assessment layout separation */
.assessment-card{
  padding:12px!important;
}
.assessment-reminder{
  margin:10px 0 12px!important;
}
.question-answer-box{
  border:1px solid #d9e3ef;
  background:#ffffff;
  border-radius:12px;
  padding:16px;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.question-answer-box .question-head{
  margin-bottom:14px!important;
}
.question-answer-box .question-meta{
  margin-bottom:14px!important;
}
.question-answer-box .question-title{
  margin:0 0 18px!important;
}
.question-answer-box .options-list{
  gap:10px!important;
  margin-top:0!important;
}
.question-answer-box .assessment-option.option{
  padding:12px 14px!important;
  min-height:54px!important;
}
.question-answer-box .feedback{
  margin-top:14px!important;
  padding:12px 14px!important;
}
.question-answer-box .assessment-actions{
  margin-top:14px!important;
}
#app:fullscreen .question-answer-box{
  min-height:0;
}

/* v10 completion celebration */
.celebration-overlay{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(8,16,29,.46);
  backdrop-filter:blur(3px);
}
.celebration-card{
  position:relative;
  width:min(520px,calc(100vw - 40px));
  overflow:hidden;
  border:1px solid #bfdbfe;
  border-radius:16px;
  background:#ffffff;
  color:#10243e;
  box-shadow:0 26px 70px rgba(15,23,42,.28);
  padding:24px;
  text-align:center;
  animation:celebrationPop .32s ease-out both;
}
.celebration-burst{
  position:absolute;
  inset:-70px;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 34%, rgba(31,95,159,.18), transparent 22%),
    conic-gradient(from 0deg, rgba(31,95,159,.12), rgba(15,118,110,.10), rgba(161,98,7,.10), rgba(31,95,159,.12));
  animation:celebrationSpin 5s linear infinite;
}
.celebration-kicker{
  position:relative;
  display:inline-flex;
  border:1px solid #bbf7d0;
  background:#ecfdf3;
  color:#166534;
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.celebration-card h3{
  position:relative;
  margin:14px 0 8px;
  font-size:24px;
  line-height:1.15;
}
.celebration-card p{
  position:relative;
  margin:0;
  color:#475569;
  font-size:14px;
  line-height:1.45;
}
.celebration-next{
  position:relative;
  margin:14px auto 0;
  padding:9px 11px;
  border:1px solid #d9e3ef;
  border-radius:10px;
  background:#f8fafc;
  color:#1f3553;
  font-size:13px;
  font-weight:800;
}
.celebration-actions{
  position:relative;
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.celebration-actions button{
  min-width:128px;
  min-height:36px;
}
.confetti{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.confetti span{
  position:absolute;
  top:-24px;
  left:calc((var(--i) * 5.6%) + 2%);
  width:8px;
  height:18px;
  border-radius:2px;
  background:#1f5f9f;
  opacity:.9;
  transform:rotate(calc(var(--i) * 19deg));
  animation:confettiFall calc(2.8s + (var(--i) * .08s)) ease-in infinite;
  animation-delay:calc(var(--i) * -.12s);
}
.confetti span:nth-child(3n){background:#0f766e}
.confetti span:nth-child(3n+1){background:#f59e0b}
.confetti span:nth-child(4n){height:10px;border-radius:999px}
@keyframes celebrationPop{
  from{opacity:0;transform:translateY(12px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes celebrationSpin{
  to{transform:rotate(360deg)}
}
@keyframes confettiFall{
  0%{transform:translateY(-30px) rotate(0deg);opacity:0}
  12%{opacity:.95}
  100%{transform:translateY(110vh) rotate(540deg);opacity:0}
}
@media(max-width:600px){
  .celebration-card{padding:20px 16px}
  .celebration-card h3{font-size:21px}
  .celebration-actions{display:grid}
  .celebration-actions button{width:100%}
}

/* v18 fullscreen slide fit */
#app:fullscreen .activity-head{
  display:none!important;
}
#app:fullscreen .content{
  padding:6px!important;
}
#app:fullscreen #activityPanel{
  height:calc(100vh - 12px)!important;
  min-height:0!important;
}
#app:fullscreen .activity-body{
  height:100%!important;
  min-height:0!important;
  padding:0!important;
}
#app:fullscreen .slide-lesson{
  height:100%!important;
  min-height:0!important;
  gap:5px!important;
}
#app:fullscreen .slide-top-controls,
#app:fullscreen .slide-instruction,
#app:fullscreen .recording-toolbar,
#app:fullscreen .slide-progress-row{
  flex:0 0 auto!important;
}
#app:fullscreen .slide-stage{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
#app:fullscreen .slide-img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}

/* v19 normal slide fit */
.activity-panel-slides{
  height:calc(100vh - 16px);
  min-height:0;
  display:flex;
  flex-direction:column;
}
.activity-panel-slides .activity-head{
  flex:0 0 auto;
}
.activity-panel-slides .activity-body{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  padding:6px 8px;
}
.activity-panel-slides .slide-lesson{
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
}
.activity-panel-slides .slide-top-controls,
.activity-panel-slides .slide-instruction,
.activity-panel-slides .recording-toolbar,
.activity-panel-slides .slide-progress-row{
  flex:0 0 auto!important;
}
.activity-panel-slides .slide-stage{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  padding:4px!important;
}
.activity-panel-slides .slide-img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
#app:fullscreen .activity-panel-slides{
  height:calc(100vh - 12px)!important;
}
#app:fullscreen .activity-panel-slides .slide-img{
  width:100%!important;
  height:100%!important;
}

/* v20 assessment review prompt */
.assessment-nudge{
  max-width:760px;
  margin:12px auto 4px;
  padding:11px 14px;
  border:1px solid #f0c36a;
  border-radius:12px;
  background:#fff8e7;
  color:#5b3b09;
  text-align:center;
  font-size:13px;
  line-height:1.35;
  font-weight:400;
  box-shadow:0 12px 28px rgba(146,64,14,.14);
  animation:assessmentNudgeFlash 1.05s ease-in-out 2;
}
.question-answer-box .assessment-nudge{
  max-width:100%;
}
@keyframes assessmentNudgeFlash{
  0%,100%{transform:scale(1);background:#fff8e7}
  50%{transform:scale(1.015);background:#ffedb8}
}

/* v20 sequential activity locks */
.item-btn.locked{
  color:#8ea5bf;
  opacity:.82;
  cursor:not-allowed;
}
.item-btn.locked:hover{
  background:#101d30;
}
.item-btn.locked .item-icon{
  background:#2b3649;
  color:#d8dee9;
}
.item-btn.locked .tiny-progress{
  color:#f1c85f;
}

/* v21 profile save reminder */
.profile-reminder{
  border:1px solid #f0c36a;
  background:#fff8e7;
  color:#5b3b09;
  border-radius:10px;
  padding:9px 10px;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
}

/* v24 exact slide shrink-to-fit */
.activity-panel-slides,
#app:fullscreen .activity-panel-slides{
  overflow:hidden!important;
}
.activity-panel-slides .slide-lesson,
#app:fullscreen .activity-panel-slides .slide-lesson{
  overflow:hidden!important;
}
.activity-panel-slides .slide-stage,
#app:fullscreen .activity-panel-slides .slide-stage{
  box-sizing:border-box!important;
  width:100%!important;
  flex:1 1 0!important;
  min-width:0!important;
  min-height:120px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.activity-panel-slides .slide-img,
#app:fullscreen .activity-panel-slides .slide-img{
  display:block!important;
  flex:0 0 auto!important;
  min-width:0!important;
  min-height:0!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* v28 make slide instruction noticeable */
.activity-panel-slides .slide-instruction,
#app:fullscreen .activity-panel-slides .slide-instruction{
  font-size:12px!important;
  line-height:1.24!important;
  font-weight:750!important;
  color:#10243e!important;
  background:#fff8e7!important;
  border-color:#f0c36a!important;
  padding:6px 8px!important;
  box-shadow:0 6px 14px rgba(146,64,14,.07)!important;
  animation:slideInstructionFlash .9s ease-in-out 3;
}
#app:fullscreen .activity-panel-slides .slide-instruction{
  font-size:12.5px!important;
}
@keyframes slideInstructionFlash{
  0%,100%{
    background:#fff8e7;
    box-shadow:0 6px 14px rgba(146,64,14,.07);
  }
  50%{
    background:#ffedb8;
    box-shadow:0 0 0 2px rgba(240,195,106,.28),0 9px 18px rgba(146,64,14,.11);
  }
}
@media(max-height:680px){
  .activity-panel-slides .slide-instruction,
  #app:fullscreen .activity-panel-slides .slide-instruction{
    font-size:11.5px!important;
    line-height:1.2!important;
    padding:5px 7px!important;
  }
}

/* v45 call simulation basic */
.activity-panel-simulation .activity-body{padding:8px}
.simulation-card{display:flex;flex-direction:column;gap:8px;min-height:calc(100vh - 92px)}
.simulation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}
.simulation-title-block{min-width:220px;flex:1}
.simulation-title-block h3{margin:4px 0 2px;font-size:14px;line-height:1.15;color:#10243e}
.simulation-title-block .meta{font-size:10.5px;color:var(--muted);font-weight:800}
.simulation-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.simulation-mini-progress{width:92px}
.simulation-layout{display:grid;grid-template-columns:260px minmax(0,1fr) 280px;gap:8px;align-items:start}
.simulation-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.simulation-panel{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px;box-shadow:0 6px 16px rgba(15,23,42,.04)}
.simulation-panel h4,.simulation-response-section h4{margin:0 0 6px;font-size:10.8px;line-height:1.1;color:#31455f;text-transform:uppercase;letter-spacing:0;font-weight:900}
.simulation-kv{display:grid;grid-template-columns:84px minmax(0,1fr);gap:4px 7px;font-size:10.8px;line-height:1.18}
.simulation-kv span{color:#64748b;font-weight:800}
.simulation-kv strong{color:#14243a;font-weight:800;overflow-wrap:anywhere}
.simulation-script-panel{display:grid;gap:7px}
.simulation-response-section{display:grid;gap:5px}
.simulation-response-list{display:grid;gap:5px}
.simulation-response-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:start;border:1px solid #dce6f1;border-radius:8px;background:#fbfdff;padding:6px}
.simulation-response-row.played{border-color:#b7ddcc;background:#f6fdf9}
.simulation-response-copy{display:grid;gap:2px;min-width:0}
.simulation-response-copy b{font-size:11px;line-height:1.15;color:#10243e}
.simulation-response-copy span{font-size:10.8px;line-height:1.18;color:#475b73}
.simulation-play-btn{min-width:58px;height:28px;padding:6px 8px}
.simulation-play-btn.is-playing{background:var(--accent);color:#fff}
.simulation-play-btn.played:not(.is-playing){background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}
.simulation-transcript{grid-column:1/-1;font-size:10.5px;color:#52657c}
.simulation-transcript summary,.simulation-guidance summary{cursor:pointer;font-weight:900;color:#1f5f9f}
.simulation-transcript div,.simulation-guidance div{margin-top:4px;line-height:1.25}
.simulation-note-line{margin:0;font-size:11px;line-height:1.28;color:#34465d}
.simulation-guidance{margin-top:7px;font-size:10.8px;color:#52657c}
.simulation-notes-input{width:100%;min-height:86px;resize:vertical;border:1px solid #cbd5e1;border-radius:8px;padding:7px 8px;color:#111827;background:#fff;font-size:11.5px;line-height:1.25}
#app:fullscreen .activity-panel-simulation{height:calc(100vh - 16px)!important;min-height:0!important}
#app:fullscreen .activity-panel-simulation .activity-body{height:calc(100vh - 58px);overflow:auto}
#app:fullscreen .simulation-card{min-height:calc(100vh - 72px)}
#app:fullscreen .simulation-layout{grid-template-columns:280px minmax(0,1fr) 300px}
@media(max-width:1100px){
  .simulation-layout{grid-template-columns:1fr}
  .simulation-bottom-grid{grid-template-columns:1fr}
  .simulation-toolbar{align-items:flex-start;flex-direction:column}
  .simulation-toolbar-actions{justify-content:flex-start}
  .simulation-mini-progress{width:120px}
}

/* v46 preserve original New Claims tool layout inside LMS */
.simulation-embed{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:calc(100vh - 88px);
}
.simulation-embed-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fbfcfe;
  font-size:11px;
  color:#475b73;
}
.simulation-embed-toolbar > div:first-child{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  min-width:0;
}
.simulation-embed-toolbar strong{
  color:#10243e;
  font-size:12px;
}
.simulation-embed-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.simulation-tool-frame{
  width:100%;
  flex:1 1 auto;
  min-height:690px;
  border:1px solid #c9d4e3;
  border-radius:8px;
  background:#e9eef4;
}
#app:fullscreen .activity-panel-simulation .activity-body{
  height:calc(100vh - 58px)!important;
  overflow:hidden!important;
}
#app:fullscreen .simulation-embed{
  height:100%;
  min-height:0;
}
#app:fullscreen .simulation-tool-frame{
  min-height:0;
}
@media(max-width:1000px){
  .simulation-tool-frame{min-height:760px}
  .simulation-embed-toolbar{align-items:flex-start;flex-direction:column}
  .simulation-embed-actions{justify-content:flex-start}
}

/* v90 trial: one combined simulation command bar */
.simulation-command-toolbar{
  display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(560px,auto);
  min-height:66px;
  padding:7px 9px;
  align-items:center;
  column-gap:12px;
}
.simulation-context-line{
  display:grid;
  gap:6px;
  align-content:center;
  min-width:260px;
  min-height:50px;
  min-width:0;
}
.simulation-context-line .pill{
  justify-self:start;
}
.simulation-context-line strong{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
}
.simulation-recorder-actions{
  display:grid;
  gap:6px;
  justify-items:end;
  align-content:center;
  white-space:nowrap;
}
.simulation-command-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:nowrap;
  width:100%;
}
.simulation-command-row-secondary{
  min-height:30px;
}
.simulation-recorder-status{
  color:#7a5a11;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}
.simulation-completion-help{
  color:#607085;
  font-size:12px;
  font-weight:700;
  line-height:1.3;
  text-align:right;
  white-space:normal;
}
.simulation-completion-help.ok{color:#166534}
.simulation-completion-help.warn{color:#9a5c08}
.simulation-recorder-actions .ghost{
  min-height:30px;
  padding:6px 10px;
}
.simulation-command-row-primary .ghost:first-of-type{
  background:#3f66ad;
  border-color:#2d4c8d;
  color:#ffffff;
}
.simulation-recorder-actions [hidden]{
  display:none!important;
}
@media(max-width:1180px){
  .simulation-command-toolbar{
    grid-template-columns:1fr;
    align-items:start;
  }
  .simulation-recorder-actions{
    width:100%;
  }
  .simulation-command-row{
    flex-wrap:wrap;
  }
}

/* v116 role-play slide readability */
.activity-panel-slides .roleplay-slide-lesson{
  gap:4px!important;
}
.activity-panel-slides .roleplay-slide-lesson .slide-top-controls{
  padding:5px 7px!important;
}
.activity-panel-slides .roleplay-slide-lesson .slide-title{
  font-size:12.4px!important;
  line-height:1.22!important;
}
.activity-panel-slides .roleplay-slide-lesson .slide-instruction{
  font-size:11px!important;
  line-height:1.18!important;
  padding:4px 7px!important;
  animation:none!important;
}
.activity-panel-slides .roleplay-slide-lesson .slide-stage{
  padding:2px!important;
  min-height:160px!important;
}
.activity-panel-slides .roleplay-slide-lesson .slide-progress-row{
  min-height:20px!important;
}
#app:fullscreen .activity-panel-slides .roleplay-slide-lesson .slide-title{
  font-size:13px!important;
}
#app:fullscreen .activity-panel-slides .roleplay-slide-lesson .slide-instruction{
  font-size:11.4px!important;
  padding:4px 7px!important;
}

/* v132 authorization failure details call simulation */
.activity-panel-failureSimulation{
  height:calc(100vh - 16px);
  min-height:0;
  display:flex;
  flex-direction:column;
}
.activity-panel-failureSimulation .activity-head{
  flex:0 0 auto;
}
.activity-panel-failureSimulation .activity-body{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:8px;
  background:#e9eef4;
}
.failure-sim-shell{
  width:min(1180px,100%);
  height:min(664px,100%);
  min-height:580px;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  overflow:hidden;
  border:1px solid #c9d4e3;
  border-radius:8px;
  background:#ffffff;
  box-shadow:0 12px 30px rgba(22,34,53,.12);
}
.failure-sim-topbar{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 12px;
  border-bottom:1px solid var(--line);
  background:#fbfcfe;
}
.failure-sim-topbar h3{
  margin:4px 0 2px;
  color:#10243e;
  font-size:17px;
  line-height:1.15;
  letter-spacing:0;
}
.failure-sim-topbar .meta{
  color:#607085;
  font-size:11px;
  font-weight:800;
  line-height:1.25;
}
.failure-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.failure-audio-panel{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto;
  gap:8px 12px;
  align-items:center;
  padding:9px 12px;
  border-bottom:1px solid #dbe6f2;
  background:#f6f9fd;
}
.failure-audio-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.failure-audio-copy strong{
  color:#14243a;
  font-size:13px;
  line-height:1.2;
}
.failure-audio-copy small{
  color:#7a5a11;
  font-size:10.5px;
  font-weight:900;
  text-transform:uppercase;
}
.failure-audio-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
.failure-audio-controls button,
.failure-speed-btn{
  min-height:30px;
  padding:6px 10px;
  font-size:11.5px;
  font-weight:850;
}
.failure-speed-row{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(260px,520px) auto;
  align-items:center;
  gap:5px 12px;
  max-width:760px;
}
.failure-speed-slider-wrap{
  min-width:0;
  display:grid;
  gap:5px;
  color:#31455f;
  font-size:10.8px;
  font-weight:900;
  text-transform:uppercase;
}
.failure-speed-slider{
  width:100%;
  height:28px;
  padding:0;
  accent-color:#2f63ad;
  cursor:pointer;
}
.failure-speed-value{
  color:#14243a;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
}
.failure-speed-labels{
  grid-column:1/2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:-4px;
  color:#64748b;
  font-size:10px;
  font-weight:800;
  line-height:1.1;
}
.failure-entry-panel{
  min-height:0;
  padding:12px;
  display:grid;
  align-content:start;
}
.failure-entry-panel label{
  min-height:0;
  display:grid;
  grid-template-rows:auto auto;
  gap:7px;
  color:#31455f;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.failure-transcript-input{
  width:100%;
  height:155px;
  min-height:140px;
  resize:vertical;
  border:1px solid #cbd5e1;
  border-radius:8px;
  padding:12px;
  color:#111827;
  background:#ffffff;
  font-size:15px;
  line-height:1.45;
  text-transform:none;
}
.failure-transcript-input:focus{
  outline:2px solid #bfdbfe;
  border-color:#2f63ad;
}
.failure-review-grid{
  min-height:0;
  display:grid;
  grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:minmax(0,1.2fr) minmax(92px,.8fr);
  gap:10px;
  padding:12px;
  overflow:hidden;
}
.failure-result-card,
.failure-compare-panel,
.failure-keywords{
  min-width:0;
  min-height:0;
  border:1px solid #d9e3ef;
  border-radius:8px;
  background:#ffffff;
  box-shadow:0 6px 16px rgba(15,23,42,.04);
}
.failure-result-card{
  grid-row:1/-1;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:8px;
  padding:14px;
  text-align:center;
}
.failure-result-card span{
  font-size:11px;
  font-weight:900;
  color:#31455f;
  text-transform:uppercase;
}
.failure-result-card strong{
  font-size:42px;
  line-height:1;
  color:#10243e;
}
.failure-result-card small{
  color:#52657c;
  font-size:11px;
  line-height:1.32;
  font-weight:750;
}
.failure-result-card.pass{
  border-color:#86efac;
  background:#f0fdf4;
}
.failure-result-card.fail{
  border-color:#fed7aa;
  background:#fff7ed;
}
.failure-compare-panel,
.failure-keywords{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  padding:10px;
  overflow:hidden;
}
.failure-compare-panel h4,
.failure-keywords h4{
  margin:0 0 7px;
  color:#31455f;
  font-size:10.8px;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
}
.failure-compare-panel p{
  min-height:0;
  margin:0;
  overflow:auto;
  color:#14243a;
  font-size:13px;
  line-height:1.42;
  white-space:pre-wrap;
}
.failure-reference-panel,
.failure-reference-panel *{
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
}
.failure-reference-panel{
  cursor:default;
}
.failure-keywords div{
  min-height:0;
  overflow:auto;
}
.failure-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  margin:0 4px 5px 0;
  padding:3px 8px;
  border:1px solid #cbd5e1;
  border-radius:999px;
  background:#f8fafc;
  color:#34465d;
  font-size:11px;
  font-weight:800;
}
.failure-chip.muted{
  color:#64748b;
  background:#ffffff;
}
.failure-sim-actions{
  min-height:54px;
  display:grid;
  grid-template-columns:auto minmax(160px,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px 12px;
  border-top:1px solid var(--line);
  background:#fbfcfe;
}
.failure-sim-actions .progress{
  min-width:160px;
}
.failure-summary{
  min-height:0;
  overflow:auto;
  padding:14px;
}
.failure-summary h3{
  margin:0 0 10px;
  color:#10243e;
  font-size:16px;
}
.failure-sim-complete{
  grid-template-rows:auto minmax(0,1fr);
}
#app:fullscreen .activity-panel-failureSimulation{
  height:calc(100vh - 12px)!important;
  min-height:0!important;
}
#app:fullscreen .activity-panel-failureSimulation .activity-body{
  height:100%!important;
  padding:0!important;
}
#app:fullscreen .failure-sim-shell{
  width:min(1180px,100%)!important;
  height:min(664px,100%)!important;
  min-height:0!important;
}
@media(max-width:1050px){
  .failure-sim-shell{
    height:100%;
    min-height:0;
  }
  .failure-sim-topbar,
  .failure-audio-panel{
    align-items:flex-start;
  }
  .failure-sim-topbar{
    flex-direction:column;
  }
  .failure-toolbar,
  .failure-audio-controls{
    justify-content:flex-start;
  }
  .failure-audio-panel{
    grid-template-columns:1fr;
  }
  .failure-speed-row{
    grid-template-columns:1fr;
    max-width:100%;
  }
  .failure-speed-labels{
    grid-column:1;
  }
  .failure-review-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(150px,1fr) minmax(150px,1fr) auto auto;
    overflow:auto;
  }
  .failure-result-card{
    grid-row:auto;
  }
}
@media(max-height:700px){
  .failure-sim-shell{
    min-height:0;
  }
  .failure-sim-topbar{
    min-height:56px;
    padding:7px 10px;
  }
  .failure-audio-panel,
  .failure-entry-panel,
  .failure-review-grid,
  .failure-sim-actions{
    padding:8px 10px;
  }
  .failure-transcript-input{
    height:135px;
    min-height:120px;
    font-size:14px;
  }
}

.auth-shell{
  min-height:100vh;
  width:100%;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    linear-gradient(145deg, rgba(31,95,159,.12), rgba(15,118,110,.10)),
    #f3f6fb;
}
.auth-panel{
  width:min(420px, 100%);
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow);
  padding:26px;
}
.auth-brand{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:linear-gradient(135deg,#1f5f9f,#0f766e);
  color:#fff;
  font-weight:900;
  letter-spacing:.4px;
  flex:0 0 auto;
}
.auth-brand-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:3px;
}
.auth-brand-row h1{flex:1;min-width:0}
.auth-panel h1{
  margin:0;
  color:#10243e;
  font-size:26px;
  line-height:1.05;
}
.auth-panel p{
  margin:0 0 15px;
  color:#607085;
  font-weight:700;
}
@media(max-width:420px){
  .auth-shell{padding:14px}
  .auth-panel{padding:20px}
  .auth-brand-row{gap:11px}
  .auth-panel h1{font-size:22px}
}
.auth-form{
  display:grid;
  gap:12px;
}
.auth-form input{
  height:38px;
  font-size:14px;
}
.password-field{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.password-field input{
  width:100%;
}
.auth-submit{
  height:40px;
  font-size:14px;
}
.auth-error{
  border:1px solid #fecaca;
  background:#fff1f2;
  color:#9f1239;
  border-radius:10px;
  padding:9px 10px;
  margin-bottom:12px;
  font-weight:800;
}
.account-card{
  gap:8px;
}
.account-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #eef3f9;
  padding:6px 0;
}
.account-row span{
  color:#607085;
  font-weight:800;
}
.account-row b{
  text-align:right;
}
.account-row-select{
  align-items:center;
}
.account-select{
  width:min(260px, 58%);
  height:34px;
  font-size:13px;
  font-weight:800;
}
.account-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.dashboard-shell{
  display:grid;
  gap:12px;
}
.dashboard-overview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid #b9d5d2;
  border-radius:10px;
  padding:12px 16px;
  background:
    linear-gradient(135deg, #12324f 0%, #0f766e 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
}
.dashboard-overview-copy{
  min-width:0;
}
.dashboard-kicker{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:3px 8px;
  background:rgba(255,255,255,.14);
  color:#d9fff6;
  font-size:9.5px;
  font-weight:900;
  text-transform:uppercase;
}
.dashboard-overview h2{
  margin:6px 0 6px;
  font-size:20px;
  line-height:1.08;
}
.dashboard-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.dashboard-meta-row span{
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  border-radius:999px;
  padding:3px 7px;
  color:#f8fafc;
  font-size:10px;
  font-weight:800;
}
.dashboard-overview-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
}
.dashboard-overview-actions .primary{
  height:32px;
  padding:0 13px;
  background:#f8fafc;
  color:#0f2d4f;
}
.dashboard-overview-actions .primary:hover{
  background:#e6f0f8;
}
.dashboard-progress-dial{
  width:68px;
  height:68px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:3px;
  position:relative;
  border-radius:50%;
  background:conic-gradient(#fbbf24 var(--progress-deg), rgba(255,255,255,.22) 0);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.dashboard-progress-dial::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:#12324f;
}
.dashboard-progress-dial b,
.dashboard-progress-dial span{
  position:relative;
  z-index:1;
}
.dashboard-progress-dial b{
  display:block;
  font-size:18px;
  line-height:1;
}
.dashboard-progress-dial span{
  font-size:8.5px;
  font-weight:900;
  color:#d9fff6;
}
.dashboard-grid{
  align-items:start;
}
.dashboard-main-card,
.dashboard-scores-card{
  border-color:#cfdae7;
}
.dashboard-scores-card{
  grid-column:1/-1;
}
.dashboard-main-card .card-head{
  background:#f7fbff;
}
.dashboard-main-card .kpis{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.dashboard-main-card .kpi{
  border-radius:9px;
  padding:11px 12px;
  border:1px solid transparent;
  box-shadow:none;
}
.dashboard-main-card .kpi b{
  font-size:21px;
}
.dashboard-main-card .kpi span{
  color:#334155;
}
.kpi-blue{background:#eff6ff;border-color:#bfdbfe!important}
.kpi-blue b{color:#1d4ed8!important}
.kpi-teal{background:#ecfdf5;border-color:#99f6e4!important}
.kpi-teal b{color:#0f766e!important}
.kpi-green{background:#f0fdf4;border-color:#bbf7d0!important}
.kpi-green b{color:#15803d!important}
.kpi-amber{background:#fffbeb;border-color:#fde68a!important}
.kpi-amber b{color:#b45309!important}
.course-list{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.dashboard-grid .course-card{
  border-radius:9px;
  border:1px solid #d7e3ef;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  position:relative;
  overflow:hidden;
}
.dashboard-grid .course-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
}
.dashboard-grid .course-card h4{
  color:#10243e;
}
.course-tone-0::before{background:#1f5f9f}
.course-tone-1::before{background:#0f766e}
.course-tone-2::before{background:#b45309}
.course-tone-3::before{background:#be123c}
.course-tone-0 .pill{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.course-tone-1 .pill{background:#ecfdf5;border-color:#99f6e4;color:#0f766e}
.course-tone-2 .pill{background:#fffbeb;border-color:#fde68a;color:#b45309}
.course-tone-3 .pill{background:#fff1f2;border-color:#fecdd3;color:#be123c}
@media(max-width:1000px){
  .dashboard-overview{
    align-items:flex-start;
    flex-direction:column;
  }
  .dashboard-overview-actions{
    width:100%;
    justify-content:space-between;
  }
  .dashboard-main-card .kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .dashboard-overview-actions{
    align-items:flex-start;
    flex-direction:column;
  }
  .dashboard-main-card .kpis{
    grid-template-columns:1fr;
  }
  .dashboard-overview h2{
    font-size:21px;
  }
}

/* Production dashboard */
.production-dashboard{
  display:grid;
  gap:10px;
  max-width:1280px;
  margin:0 auto;
}
.production-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #b9d5d2;
  border-radius:10px;
  padding:14px 16px;
  background:linear-gradient(135deg,#10243e 0%,#0f766e 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
}
.production-hero h2{
  margin:6px 0 4px;
  font-size:22px;
  line-height:1.08;
  color:#fff;
}
.production-hero p{
  margin:0;
  color:#dbeafe;
  font-size:12px;
  font-weight:750;
}
.production-hero .ghost{
  border-color:rgba(255,255,255,.34);
  color:#fff;
  background:rgba(255,255,255,.08);
}
.production-placeholder{
  border:1px dashed #bdd0e6;
  border-radius:10px;
  background:#fbfdff;
  padding:16px;
  display:grid;
  gap:6px;
  color:#10243e;
}
.production-placeholder b{
  font-size:15px;
}
.production-placeholder span,
.production-placeholder small{
  color:#607085;
  font-size:12px;
  font-weight:750;
  line-height:1.4;
}
.production-updates-dashboard{
  display:grid;
  gap:10px;
}
.production-overview-dashboard{
  display:grid;
  gap:10px;
}
.production-overview-grid{
  align-items:start;
}
.production-section-list{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:10px;
}
.production-section-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:0;
  padding:12px 14px;
  min-width:0;
}
.production-section-card-top{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:1 1 auto;
}
.production-section-title-block{
  min-width:0;
  display:grid;
  gap:3px;
}
.production-section-title-block h4{
  margin:0;
  font-size:13.5px;
  line-height:1.15;
}
.production-section-title-block .subtle{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.25;
  max-width:64ch;
}
.production-section-footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
  min-width:260px;
}
.production-section-stats{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.production-section-stats span{
  display:inline-flex;
  align-items:center;
  border:1px solid #d8e4f1;
  background:#fff;
  border-radius:999px;
  padding:3px 7px;
  color:#607085;
  font-size:10px;
  font-weight:900;
}
.production-section-card .ghost{
  flex:0 0 auto;
  justify-self:auto;
  min-height:30px;
  padding:6px 10px;
  font-size:11px;
}
.dashboard-grid .production-section-card{
  display:flex;
  grid-template-columns:none;
  grid-template-areas:none;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:0;
  padding:12px 14px 12px 18px;
}
.dashboard-grid .production-section-card h4,
.dashboard-grid .production-section-card .subtle,
.dashboard-grid .production-section-card .pill{
  grid-area:auto;
}
.dashboard-grid .production-section-card h4{
  font-size:13.5px;
  line-height:1.15;
}
.dashboard-grid .production-section-card .subtle{
  font-size:11px;
  line-height:1.28;
}
.dashboard-grid .production-section-card .pill{
  flex:0 0 auto;
  white-space:nowrap;
}
.production-dashboard-progress-card{
  margin-top:10px;
}
.production-updates-overview{display:grid;gap:10px}
.production-updates-summary-card{border-top:3px solid #3a6aac}
.production-updates-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.production-updates-summary-head h2{margin:2px 0 3px;font-size:18px;color:#10243e}.production-updates-summary-head p{margin:0;color:#607085;font-size:12px;font-weight:700}
.production-overall-rate{display:grid;justify-items:end;gap:1px;min-width:90px}.production-overall-rate b{font-size:30px;line-height:1;color:#10243e}.production-overall-rate span{font-size:10.5px;color:#607085;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.production-overall-progress{height:9px;overflow:hidden;margin:12px 0 10px;border-radius:999px;background:#e6eef6}.production-overall-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3868aa,#0f8a7a)}
.production-updates-summary-meta{display:flex;gap:22px;flex-wrap:wrap}.production-updates-summary-meta div{display:grid;gap:1px;min-width:95px}.production-updates-summary-meta b{font-size:16px;color:#10243e}.production-updates-summary-meta span{color:#718198;font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.production-updates-summary-action{display:flex;align-items:center;margin-top:12px}.production-updates-summary-action .primary{min-height:34px}
.production-update-progress-card{overflow:hidden}.production-update-progress-list{display:grid;gap:7px}.production-update-progress-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1.2fr);gap:14px;align-items:center;border:1px solid #e1e9f2;border-radius:9px;background:#fbfdff;padding:8px 10px}.production-update-progress-title{display:grid;gap:2px}.production-update-progress-title b{color:#10243e;font-size:12px}.production-update-progress-title span{color:#718198;font-size:10.5px;font-weight:800}.production-update-progress-meter{display:grid;grid-template-columns:minmax(90px,1fr) auto;gap:8px;align-items:center}.production-update-progress-meter b{color:#0f766e;font-size:11px}
@media (max-width:720px){.production-updates-summary-head{gap:10px}.production-overall-rate{min-width:68px}.production-overall-rate b{font-size:24px}.production-update-progress-row{grid-template-columns:1fr;gap:7px}.production-updates-summary-meta{gap:12px}}
.production-dashboard-progress-card .production-update-topic-list{
  margin-top:0;
}
.production-updates-grid{
  align-items:start;
}
.production-update-topic-list{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.production-update-card{
  margin-top:0;
  padding:9px;
}
.production-update-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:8px;
}
.production-update-items{
  display:grid;
  gap:6px;
  margin-top:8px;
}
.production-update-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #d8e4f1;
  border-radius:8px;
  background:#fff;
  padding:7px 8px;
}
.production-update-item b{
  display:block;
  font-size:12px;
  line-height:1.2;
}
.production-update-item span{
  display:block;
  color:#607085;
  font-size:10.5px;
  font-weight:800;
}
.production-update-item-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}
.production-update-item-actions .ghost,
.production-update-continue{
  min-height:30px;
  padding:6px 10px;
  font-size:11px;
}
.production-update-continue{
  margin-top:8px;
}
.production-updates-side-card{
  align-self:start;
}
.production-progress-panel{
  display:grid;
  justify-items:center;
  gap:12px;
}
.production-mini-metrics{
  width:100%;
  display:grid;
  gap:7px;
}
.production-mini-metrics div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border:1px solid #d8e4f1;
  border-radius:8px;
  background:#fbfdff;
  padding:8px 10px;
}
.production-mini-metrics span{
  color:#607085;
  font-size:11px;
  font-weight:900;
}
.production-mini-metrics b{
  color:#10243e;
  font-size:16px;
}
@media(max-width:800px){
  .production-hero{
    align-items:flex-start;
    flex-direction:column;
  }
  .production-section-list{
    grid-template-columns:1fr;
  }
  .production-section-card,
  .production-section-card-top,
  .production-section-footer{
    align-items:flex-start;
    flex-direction:column;
    width:100%;
    min-width:0;
  }
  .production-section-footer{
    align-items:flex-start;
  }
  .production-update-item{
    align-items:flex-start;
    flex-direction:column;
  }
  .production-update-item-actions{
    width:100%;
    justify-content:space-between;
  }
}

/* Admin dashboard */
.admin-shell{
  display:grid;
  gap:10px;
  max-width:1480px;
  margin:0 auto;
}
.admin-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #bed6e8;
  border-radius:12px;
  padding:12px 14px;
  background:linear-gradient(135deg,#10243e 0%,#1f5f9f 55%,#0f766e 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
}
.admin-hero h2{margin:5px 0 4px;font-size:20px;line-height:1.08;color:#fff}
.admin-hero p{margin:0;color:#dbeafe;font-size:12px;font-weight:700}
.admin-hero-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.admin-hero-actions .ghost{border-color:rgba(255,255,255,.36);color:#fff;background:rgba(255,255,255,.08)}
.admin-hero-actions .ghost:hover{background:rgba(255,255,255,.16)}
.admin-hero-actions .primary{background:#fff;color:#0f2d4f}
.admin-hero-actions .primary:hover{background:#e6f0f8}
.admin-alert{
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#1e3a8a;
  border-radius:12px;
  padding:10px 12px;
  font-size:12px;
  font-weight:800;
  display:flex;
  gap:8px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.admin-alert span{font-weight:700;color:inherit}
.admin-alert.warn{border-color:#fde68a;background:#fffbeb;color:#92400e}
.admin-alert.danger{border-color:#fecdd3;background:#fff1f2;color:#9f1239}
.admin-alert.info{border-color:#bae6fd;background:#f0f9ff;color:#075985}
.admin-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.admin-kpi{border:1px solid #d8e4f0;border-radius:12px;background:#fff;padding:12px;box-shadow:0 8px 18px rgba(15,23,42,.05)}
.admin-kpi b{display:block;font-size:23px;line-height:1;color:#10243e}
.admin-kpi span{display:block;margin-top:5px;font-size:10.5px;font-weight:900;color:#607085;text-transform:uppercase;letter-spacing:.02em}
.admin-panel{border:1px solid #d7e3ef;border-radius:13px;background:#fff;padding:12px;box-shadow:var(--shadow)}
.admin-panel.muted{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#607085;background:#fbfdff;box-shadow:none}
.admin-panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;color:#10243e}
.admin-panel-title span{font-size:11px;color:#607085;font-weight:900}
.admin-report-toolbar{display:grid;gap:8px;border:1px solid #d7e3ef;border-radius:12px;background:#fff;padding:10px 12px;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.admin-report-filter-row,.admin-report-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.admin-report-actions{padding-top:2px}
.admin-report-toolbar label{display:grid;gap:4px}
.admin-report-toolbar label span{font-size:10.5px;font-weight:900;color:#52657c}
.admin-report-toolbar input{height:34px;font-weight:800}
.admin-report-toolbar select{height:34px;font-weight:800}
.admin-report-toolbar .admin-assessment-filter{min-width:320px;flex:1}
.admin-report-toolbar .admin-assessment-filter select{width:100%;max-width:620px}
.admin-guide-panel{background:#fbfdff}
.admin-guide-accordion{padding:0;overflow:hidden}
.admin-guide-accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid #dbe7f2;background:linear-gradient(180deg,#f8fbff,#eef6ff);cursor:pointer}
.admin-guide-accordion summary::-webkit-details-marker{display:none}
.admin-guide-accordion summary:after{content:'+';display:grid;place-items:center;width:24px;height:24px;border-radius:7px;border:1px solid #bcd1e5;background:#fff;color:#1f5f9f;font-weight:1000}
.admin-guide-accordion[open] summary:after{content:'-'}
.admin-guide-accordion summary span{display:block;color:#10243e;font-size:13px;font-weight:1000}
.admin-guide-accordion summary small{display:block;color:#607085;font-size:10.5px;font-weight:900}
.admin-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:12px}
.admin-guide-grid div{border:1px solid #dbe7f2;border-radius:11px;background:#fff;padding:10px}
.admin-guide-grid b{display:block;color:#10243e;font-size:12.5px}
.admin-guide-grid span{display:block;margin-top:4px;color:#5b6b80;font-size:11.5px;font-weight:800;line-height:1.35}
.admin-section-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border:1px solid #cbdced;border-radius:10px;background:#eaf1f8;padding:4px;box-shadow:0 6px 14px rgba(15,23,42,.05)}
.admin-section-nav button{position:relative;border:1px solid transparent;border-radius:8px;background:transparent;padding:7px 10px;text-align:center;cursor:pointer;min-height:34px}
.admin-section-nav button:last-child{border-right:0}
.admin-section-nav button:hover{background:#f8fbff}
.admin-section-nav button.active{background:#fff;box-shadow:0 4px 10px rgba(15,23,42,.08);border-color:#9dc1df}
.admin-section-nav button.active:before{content:'';position:absolute;left:10px;right:10px;top:3px;height:3px;border-radius:999px;background:#1f5f9f}
.admin-section-nav button.disabled{opacity:.48;cursor:not-allowed;background:#f4f7fb;color:#718096}
.admin-section-nav b{display:block;color:#10243e;font-size:12px;line-height:1}
.admin-section-nav button.active b{color:#0f2d4f}
.admin-section-body{display:grid;gap:10px}
.admin-section-head{border:1px solid #d7e3ef;border-radius:13px;background:#fff;padding:12px;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.admin-section-head h3{margin:0;color:#10243e;font-size:16px}
.admin-section-head p{margin:4px 0 0;color:#607085;font-size:12px;font-weight:800}
.admin-accordion-stack{display:grid;gap:10px}
.admin-accordion-panel{border:1px solid #d7e3ef;border-radius:13px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.045);overflow:hidden}
.admin-accordion-panel summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;min-height:56px;padding:12px 14px;cursor:pointer;background:linear-gradient(180deg,#ffffff,#f7fbff);color:#10243e}
.admin-accordion-panel summary::-webkit-details-marker{display:none}
.admin-accordion-panel summary span{display:block;min-width:0}
.admin-accordion-panel summary b{display:block;font-size:13.5px;line-height:1.15;color:#10243e}
.admin-accordion-panel summary small{display:block;margin-top:3px;font-size:11px;line-height:1.25;color:#607085;font-weight:850}
.admin-accordion-panel summary strong{display:inline-flex;align-items:center;justify-content:center;min-width:32px;max-width:170px;min-height:24px;padding:4px 8px;border-radius:999px;background:#edf5ff;border:1px solid #c5d9ee;color:#1f5f9f;font-size:10.5px;font-weight:1000;white-space:nowrap}
.admin-accordion-panel summary:after{content:'+';display:grid;place-items:center;width:24px;height:24px;border-radius:8px;border:1px solid #bed3e8;background:#fff;color:#1f5f9f;font-weight:1000}
.admin-accordion-panel[open]{border-color:#a9c7e3;box-shadow:0 12px 26px rgba(31,95,159,.08)}
.admin-accordion-panel[open] summary{border-bottom:1px solid #dbe7f2;background:linear-gradient(180deg,#f8fbff,#eef6ff)}
.admin-accordion-panel[open] summary:after{content:'-'}
.admin-accordion-body{padding:12px;background:#fbfdff}
.admin-accordion-body>.admin-panel,.admin-accordion-body>.admin-panel.nested{margin:0;box-shadow:none;border-color:#dbe7f2}
.admin-reset-panel.flat{border-color:#e1e9f2;background:#fff;margin:0}
.admin-full-section.flat-section{border-color:#e1e9f2;background:#fff}
.admin-report-panel{display:grid;gap:10px}
.admin-report-panel h4{margin:0;color:#10243e;font-size:12.5px}
.admin-insight-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}
.admin-insight-cards div{border:1px solid #dbe7f2;border-radius:12px;background:#fff;padding:10px}
.admin-insight-cards b{display:block;font-size:21px;line-height:1;color:#10243e}
.admin-insight-cards span{display:block;margin-top:5px;font-size:10.5px;font-weight:900;color:#607085;text-transform:uppercase}
.admin-report-grid,.admin-graph-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:12px;align-items:start}
.admin-secondary-graphs{margin-top:12px}
.admin-graph-card{border:1px solid #dbe7f2;border-radius:13px;background:#fbfdff;padding:12px;min-width:0}
.admin-graph-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.admin-graph-head span{font-size:10.5px;font-weight:900;color:#607085;text-transform:uppercase}
.admin-bars{display:grid;gap:8px}
.admin-bar-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1.4fr) auto;gap:8px;align-items:center;border:1px solid #edf2f7;border-radius:10px;padding:8px;background:#fff}
.admin-bar-row span{font-size:11px;font-weight:900;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-bar-row b{font-size:11px;color:#0f766e}
.admin-bar-track{height:12px;border-radius:999px;background:#e8eef6;overflow:hidden}
.admin-bar-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#1f5f9f,#0f766e)}
.admin-bar-track.danger i{background:linear-gradient(90deg,#b45309,#ef4444)}
.admin-wrong-bars{gap:9px}
.admin-wrong-bar-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(120px,.9fr) auto;gap:10px;align-items:center;border:1px solid #edf2f7;border-radius:10px;background:#fff;padding:9px}
.admin-wrong-bar-row b{display:block;color:#10243e;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-wrong-bar-row span{display:block;color:#607085;font-size:10.5px;font-weight:800;line-height:1.25;max-height:2.5em;overflow:hidden}
.admin-wrong-bar-row strong{font-size:13px;color:#991b1b}
.admin-wrong-table td:nth-child(3){max-width:420px}
.admin-panel.nested{margin-top:12px;box-shadow:none;background:#fbfdff}
.admin-action-table td:last-child{color:#7f1d1d;font-weight:800}
.admin-assessment-miss-panel{display:grid;gap:10px}
.admin-focus-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.admin-focus-kpis div{border:1px solid #dbe7f2;border-radius:11px;background:#fff;padding:9px}
.admin-focus-kpis b{display:block;color:#10243e;font-size:18px;line-height:1}
.admin-focus-kpis span{display:block;margin-top:5px;color:#607085;font-size:10px;font-weight:900;text-transform:uppercase}
.admin-focus-miss-table td:first-child{max-width:420px}
.admin-focus-miss-table td:nth-child(3){max-width:360px}
.admin-focus-miss-table td:nth-child(5){max-width:260px;font-size:11px;color:#5b6778}
.admin-answer-details-panel{margin-top:12px}
.admin-answer-details-table td:first-child{max-width:460px}
.admin-answer-details-table td:nth-child(3){max-width:320px}
.admin-answer-details-table td:nth-child(4){max-width:460px}
.admin-request-list{display:grid;gap:8px}
.admin-request{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e2eaf3;border-radius:10px;background:#fbfdff;padding:10px}
.admin-request b,.admin-request span,.admin-request small{display:block}
.admin-request span{margin-top:2px;color:#10243e;font-weight:800}
.admin-request small{margin-top:2px;color:#607085;font-size:11px;font-weight:700}
.admin-row-actions,.admin-inline-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.admin-inline-actions button{padding:5px 7px;font-size:10.5px}
.admin-user-picker-grid{display:grid;grid-template-columns:minmax(360px,50%) minmax(0,1fr);gap:10px;align-items:start}
.admin-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:12px;align-items:start}
.admin-list-card{position:static;grid-column:1}
.admin-user-picker-grid .card-head{padding:6px 10px}
.admin-user-picker-grid .card-head h3{font-size:12.5px}
.admin-user-picker-grid .card-head .meta{font-size:10.5px}
.admin-filter-row{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(220px,1.1fr);gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);background:#fbfcfe}
.admin-filter-row label,.admin-user-picker{display:grid;gap:4px}
.admin-filter-row label span,.admin-user-picker span{font-size:10.5px;font-weight:900;color:#52657c}
.admin-filter-row select,.admin-filter-row input{width:100%;height:31px;font-weight:800;font-size:11.5px}
.admin-user-picker select{width:100%;height:31px;font-weight:800;font-size:11.5px}
.admin-detail-card{min-width:0}
.admin-detail{display:grid;gap:10px}
.admin-progress-line{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #dbe7f2;border-radius:12px;background:#f8fbff;padding:10px}
.admin-progress-line>div:first-child b{font-size:18px;color:#10243e}.admin-progress-line>div:first-child span{display:block;font-size:10.5px;color:#607085;font-weight:900}
.admin-form-grid{display:grid;grid-template-columns:1fr;gap:10px;align-items:end}
.admin-form-grid label span{font-size:11px;font-weight:900;color:#52657c}.admin-form-grid select{width:100%;height:34px;font-weight:800}
.admin-assigned-campaigns{border:1px solid #dbe7f2;border-radius:12px;background:#fbfdff;padding:8px 10px;display:grid;gap:7px}
.admin-assigned-campaigns b,.admin-assigned-campaigns span{display:block}
.admin-assigned-campaigns b{font-size:12px;color:#10243e}
.admin-assigned-campaigns>div:first-child span{margin-top:2px;font-size:10.5px;font-weight:800;color:#607085}
.admin-campaign-multiselect{width:100%;min-height:92px;border:1px solid #cbd8e6;border-radius:9px;background:#fff;padding:5px;font-size:11.5px;font-weight:900;color:#10243e}
.admin-campaign-multiselect option{padding:6px 8px;border-radius:6px}
.admin-campaign-current{font-size:10.5px;font-weight:850;color:#607085}
.admin-campaign-action-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.admin-campaign-action-row .primary{min-height:32px;padding:7px 12px;font-size:11px}
.admin-access-grid{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(280px,1.3fr) repeat(4,auto);gap:10px;align-items:end}
.admin-access-grid label span{font-size:11px;font-weight:900;color:#52657c}.admin-access-grid select{width:100%;height:34px;font-weight:800}.admin-access-grid button{height:34px;white-space:nowrap}
.admin-reset-panel{border:1px solid #f2d5d5;border-radius:12px;background:#fffafa;padding:10px}
.admin-reset-panel h4{margin:0 0 9px;color:#7f1d1d;font-size:12.5px}
.danger-soft{height:34px;border:1px solid #fecaca;background:#fee2e2;color:#991b1b;border-radius:9px;padding:0 12px;font-weight:900;cursor:pointer}
.danger-soft:hover{background:#fecaca}
.danger-soft:disabled{opacity:.55;cursor:not-allowed}
.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.admin-columns section,.admin-full-section{min-width:0;border:1px solid #e1e9f2;border-radius:12px;background:#fff;overflow:hidden}
.admin-columns h4,.admin-full-section h4{margin:0;padding:10px 12px;border-bottom:1px solid #edf2f7;background:#fbfdff;color:#10243e;font-size:12.5px}
.admin-columns .summary-table,.admin-full-section .summary-table{font-size:11.5px}.admin-columns .summary-table th,.admin-columns .summary-table td,.admin-full-section .summary-table th,.admin-full-section .summary-table td{padding:7px 8px;vertical-align:middle}
.admin-score-table,.admin-progress-table{min-width:620px}.admin-full-section{overflow:auto}
.admin-recordings-overview{overflow:auto}
.admin-progress-cell{display:grid;grid-template-columns:minmax(70px,1fr) auto;gap:7px;align-items:center;min-width:110px}.admin-progress-cell b{font-size:11px;color:#334155}
.admin-team-progress-panel{padding:10px 12px;overflow:hidden}
.admin-team-progress-scroll{max-height:390px;overflow:auto;border:1px solid #e1e9f2;border-radius:10px;background:#fff}
.admin-team-progress-table{min-width:900px}
.admin-team-progress-table thead{position:sticky;top:0;z-index:2}
.admin-team-progress-table tbody tr:hover{background:#f6faff}
.admin-team-progress-table td:first-child{font-weight:900;color:#10243e}
.legacy-username{color:#94a3b8;font-weight:800}
.production-team-progress-panel{padding:9px 10px}
.production-team-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.production-team-progress-head .admin-panel-title{margin-bottom:2px}
.production-team-progress-head p{margin:0;color:#607085;font-size:11.5px;font-weight:700}
.production-team-refresh{height:34px;white-space:nowrap}
.production-team-progress-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:7px 0}
.production-team-progress-kpi{min-width:0;border:1px solid #dbe7f2;border-top:3px solid #3868aa;border-radius:8px;background:#f8fbff;padding:6px 8px}
.production-team-progress-kpi:nth-child(2){border-top-color:#16866f}.production-team-progress-kpi:nth-child(3){border-top-color:#c1842b}.production-team-progress-kpi:nth-child(4){border-top-color:#9f4f42}
.production-team-progress-kpi span,.production-team-progress-kpi b{display:block}.production-team-progress-kpi span{font-size:10px;color:#607085;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.production-team-progress-kpi b{margin-top:1px;font-size:18px;color:#10243e}
.production-team-progress-table{min-width:710px}.production-team-agent{display:grid;gap:2px}.production-team-agent small{color:#718198;font-size:10.5px;font-weight:800}.production-progress-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:1000;white-space:nowrap}.production-progress-status.complete{border:1px solid #a9dbc9;background:#ecf8f3;color:#08725b}.production-progress-status.in-progress{border:1px solid #d6b979;background:#fff8e6;color:#8c5d09}.production-progress-status.not-started{border:1px solid #d6dee8;background:#f5f7fa;color:#627286}
.production-team-view-toggle{display:inline-flex;gap:3px;margin:0 0 7px;padding:3px;border:1px solid #cad9e8;border-radius:9px;background:#edf3f9}.production-team-view-toggle button{min-height:29px;border:1px solid transparent;border-radius:6px;background:transparent;padding:0 11px;color:#53657d;font-size:11px;font-weight:1000;cursor:pointer}.production-team-view-toggle button:hover{background:#f7fbff}.production-team-view-toggle button.active{border-color:#294d80;background:#294d80;color:#fff;box-shadow:0 2px 5px rgba(23,56,96,.18)}
.production-team-detail-view{display:grid;gap:5px}.production-team-detail{border:1px solid #dbe7f2;border-radius:8px;background:#fff;overflow:hidden}.production-team-detail[open]{border-color:#aec7e2;box-shadow:0 3px 9px rgba(31,95,159,.07)}.production-team-detail summary{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:44px;padding:6px 9px;list-style:none;cursor:pointer;text-align:left}.production-team-detail summary::-webkit-details-marker{display:none}.production-team-detail summary::after{content:'+';grid-column:1;grid-row:1;display:grid;place-items:center;width:20px;height:20px;border:1px solid #b9cce0;border-radius:6px;background:#f3f8fd;color:#315e9c;font-size:15px;font-weight:1000}.production-team-detail[open] summary::after{content:'-'} .production-team-detail summary:hover{background:#f7fbff}.production-team-detail-title{display:grid;grid-column:2;gap:1px;min-width:0;text-align:left}.production-team-detail-title b{color:#10243e;font-size:12px}.production-team-detail-title small,.production-team-detail-average small{color:#718198;font-size:10px;font-weight:800}.production-team-detail-average{display:grid;justify-items:end;gap:1px;min-width:86px}.production-team-detail-average b{color:#275987;font-size:13px}.production-status-counts{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap}.production-status-counts span{border-radius:999px;padding:3px 6px;font-size:9px;font-weight:1000;white-space:nowrap}.production-status-counts .complete{background:#ecf8f3;color:#08725b}.production-status-counts .in-progress{background:#fff8e6;color:#8c5d09}.production-status-counts .not-started{background:#f2f5f8;color:#627286}.production-team-detail-body{border-top:1px solid #e5edf5;margin-left:30px;padding:6px 8px 8px}.production-team-subsection-scroll{max-height:208px}.production-team-agent-update-table{min-width:550px}
@media (max-width:720px){.production-team-progress-head{flex-direction:column}.production-team-refresh{width:100%}.production-team-progress-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.production-team-detail summary{grid-template-columns:20px minmax(0,1fr);gap:6px}.production-team-detail summary::after{grid-column:1;grid-row:1}.production-team-detail-title{grid-column:2;grid-row:1}.production-team-detail-average,.production-status-counts{grid-column:2;justify-items:start;justify-content:flex-start}.production-team-detail-body{margin-left:20px;padding-left:6px}.production-team-view-toggle{display:grid;grid-template-columns:1fr 1fr}.production-team-view-toggle button{padding:0 8px}}
.admin-progress-accordion{display:grid;gap:8px;padding:10px;background:#fbfdff}
.admin-progress-group{border:1px solid #dbe7f2;border-radius:12px;background:#fff;overflow:hidden}
.admin-progress-group.expanded{border-color:#9ec3e5;box-shadow:0 8px 18px rgba(31,95,159,.08)}
.admin-progress-group-head{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(150px,220px);gap:10px;align-items:center;border:0;background:#fff;padding:10px 12px;text-align:left;cursor:pointer;color:#10243e}
.admin-progress-group-head:hover{background:#f6fbff}
.admin-progress-toggle{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#eaf2fb;color:#1f5f9f;font-weight:1000}
.admin-progress-title b,.admin-progress-title small{display:block}
.admin-progress-title b{font-size:12.5px;color:#10243e}
.admin-progress-title small{margin-top:2px;font-size:10.8px;color:#607085;font-weight:900}
.admin-progress-mini{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.admin-progress-mini b{font-size:11px;color:#0f766e}
.admin-progress-group-body{border-top:1px solid #e5edf5;background:#fff;overflow:auto}
.admin-progress-group-body .summary-table{margin:0}
.admin-table-note{padding:8px 10px;color:#607085;font-size:11px;font-weight:800;background:#fbfdff}
.admin-recording-list{display:grid;gap:7px;padding:8px}
.admin-recording-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e2eaf3;border-radius:10px;background:#fbfdff;padding:7px 9px;color:#607085;font-size:11px;font-weight:900}
.admin-recording-toolbar.compact{margin:8px;padding:6px 8px}
.admin-recording-accordion{box-shadow:none}
.admin-recording-accordion summary{min-height:44px;padding:9px 11px}
.admin-recording-group-body{display:grid;gap:6px;background:#fff}
.admin-mini-row{display:flex;align-items:center;justify-content:space-between;gap:9px;border-bottom:1px solid #edf2f7;padding:8px 10px}
.admin-mini-row:last-child{border-bottom:0}
.admin-mini-row span{min-width:0}.admin-mini-row b{display:block;color:#10243e;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-mini-row small{display:block;color:#607085;font-size:10.5px;font-weight:800;margin-top:2px}.admin-mini-row button{flex:0 0 auto}
.admin-recording-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.admin-recording-row.playing{border:1px solid #b7d4f0;border-radius:10px;background:#f7fbff;margin:2px 8px}
.admin-recording-row.playing:last-child{border-bottom:1px solid #b7d4f0}
.admin-recording-playback{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border-top:1px solid #dbe7f2;margin-top:7px;padding-top:7px}
.admin-recording-playback-copy{display:grid;gap:5px}
.admin-recording-playback-copy b{font-size:11px;color:#1f5f9f}
.admin-recording-playbar{display:block;height:7px;border-radius:999px;background:#e4ecf5;overflow:hidden}
.admin-recording-playbar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#416aa8,#2f7d75)}
.admin-last-active{font-size:11px;color:#607085;font-weight:900;text-align:right}
.builder-section{gap:10px}
.builder-panel{display:grid;gap:10px}
.builder-existing-grid{display:grid;grid-template-columns:1fr 2fr;gap:9px;border:1px solid #dbe7f2;border-radius:10px;background:#f8fbff;padding:9px}
.builder-existing-grid label{display:grid;gap:4px}
.builder-existing-grid span{font-size:10.5px;font-weight:950;color:#52657c}
.builder-existing-grid select{width:100%;height:32px;font-size:11.5px;font-weight:850}
.builder-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.builder-form-grid label,.builder-upload-box{display:grid;gap:4px}
.builder-form-grid span,.builder-upload-box span{font-size:10.5px;font-weight:900;color:#52657c}
.builder-form-grid input,.builder-form-grid select{width:100%;height:32px;font-size:11.5px;font-weight:850}
.builder-actions{justify-content:flex-start}
.builder-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.builder-assessment-upload-grid{grid-template-columns:minmax(280px,520px)}
.builder-upload-box{border:1px dashed #bfd0e2;border-radius:10px;background:#fbfdff;padding:10px}
.builder-upload-box input{font-size:11px;font-weight:800}
.builder-file-list{display:grid;gap:5px;margin-top:8px}
.builder-file-list span{display:block;border:1px solid #e4edf6;border-radius:8px;background:#fff;padding:6px 8px;font-size:11px;font-weight:850;color:#10243e}
.builder-file-list small{color:#607085;font-weight:800}
.builder-map-panel{display:grid;gap:10px}
.builder-map-grid{display:grid;gap:8px}
.builder-map-row{display:grid;grid-template-columns:86px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}
.builder-map-index{display:flex;align-items:center;justify-content:center;border:1px solid #dbe7f2;border-radius:10px;background:#f1f7fd;color:#1f5f9f;font-size:11px;font-weight:1000}
.builder-map-drop{display:grid;gap:4px;border:1px dashed #bfd0e2;border-radius:10px;background:#fbfdff;padding:8px;cursor:pointer}
.builder-map-drop:hover{background:#f7fbff;border-color:#9ec3e5}
.builder-map-drop b{font-size:11px;color:#10243e}
.builder-map-drop span{display:block;min-height:18px;font-size:10.8px;font-weight:850;color:#52657c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.builder-map-drop small{color:#607085;font-weight:800}
.builder-map-drop input{font-size:10.5px;font-weight:800;max-width:100%}
.builder-map-note{border:1px dashed #cbd8e6;border-radius:10px;background:#f8fbff;color:#52657c;font-size:11px;font-weight:800;line-height:1.35;padding:8px 10px}
.builder-assessment-panel{display:grid;gap:10px}
.builder-question-grid{display:grid;gap:8px}
.builder-question-card{display:grid;gap:8px;border:1px solid #dbe7f2;border-radius:10px;background:#fbfdff;padding:9px}
.builder-question-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e5edf5;padding-bottom:6px}
.builder-question-head b{font-size:12px;color:#10243e}
.builder-question-head span{font-size:10px;font-weight:900;color:#607085;text-transform:uppercase;letter-spacing:.02em}
.builder-question-full,.builder-question-card label{display:grid;gap:4px}
.builder-question-card label span{font-size:10.5px;font-weight:900;color:#52657c}
.builder-question-card input,.builder-question-card select,.builder-question-card textarea{width:100%;border:1px solid #cdd8e7;border-radius:8px;background:#fff;color:#10243e;font-size:11.5px;font-weight:800}
.builder-question-card input,.builder-question-card select{height:32px;padding:0 9px}
.builder-question-card textarea{min-height:58px;padding:8px 9px;resize:vertical}
.builder-question-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.builder-draft-table tr.selected-row td{background:#eff6ff}
.builder-question-table td:nth-child(2){max-width:460px}
.builder-question-table td:nth-child(3){max-width:420px;font-size:11px}
.empty.compact{padding:14px;margin:8px;font-size:11.5px}
@media(max-width:1180px){
  .admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-grid{grid-template-columns:1fr}
  .admin-user-picker-grid{grid-template-columns:1fr}
  .admin-filter-row{grid-template-columns:1fr}
  .builder-existing-grid,.builder-form-grid,.builder-upload-grid{grid-template-columns:1fr}
  .builder-map-row{grid-template-columns:70px minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:760px){
  .admin-hero{align-items:flex-start;flex-direction:column}
  .admin-hero-actions{justify-content:flex-start}
  .admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-insight-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-focus-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-form-grid,.admin-access-grid,.admin-columns{grid-template-columns:1fr}
  .admin-report-grid,.admin-graph-grid{grid-template-columns:1fr}
  .admin-guide-grid{grid-template-columns:1fr}
  .admin-section-nav{grid-template-columns:1fr}
  .admin-bar-row{grid-template-columns:1fr}
  .admin-wrong-bar-row{grid-template-columns:1fr}
  .admin-progress-group-head{grid-template-columns:auto 1fr}
  .admin-progress-mini{grid-column:2;max-width:220px}
  .admin-progress-line{grid-template-columns:1fr;align-items:start}
  .builder-map-row{grid-template-columns:1fr}
  .builder-map-index{justify-content:flex-start;padding:7px 9px}
  .builder-question-options{grid-template-columns:1fr}
  .admin-recording-row,.admin-recording-playback{grid-template-columns:1fr}
  .admin-recording-row>.admin-inline-actions,.admin-recording-playback>.admin-inline-actions{justify-content:flex-start}
}
@media(max-width:520px){
  .admin-kpis{grid-template-columns:1fr}
  .admin-insight-cards{grid-template-columns:1fr}
  .admin-request{align-items:flex-start;flex-direction:column}
}

/* v210 resized/zoomed browser scrolling
   Keep normal page access when users resize the browser beside other tools. */
html,body{
  height:auto!important;
  min-height:100%!important;
  overflow:auto!important;
}
body{
  min-width:960px;
}
.app-shell{
  height:auto!important;
  min-height:100vh!important;
  overflow:visible!important;
}
.main{
  height:auto!important;
  min-height:100vh!important;
  overflow:visible!important;
}
.content{
  height:auto!important;
  min-height:100vh!important;
  min-width:720px;
  overflow:visible!important;
}
#app:not(:fullscreen) #activityPanel,
#app:not(:fullscreen) .activity-panel-slides,
#app:not(:fullscreen) .activity-panel-simulation,
#app:not(:fullscreen) .activity-panel-failureSimulation{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
#app:not(:fullscreen) .activity-panel-slides .activity-body,
#app:not(:fullscreen) .activity-panel-simulation .activity-body,
#app:not(:fullscreen) .activity-panel-failureSimulation .activity-body{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
#app:not(:fullscreen) .activity-panel-slides .slide-lesson,
#app:not(:fullscreen) .activity-panel-slides .roleplay-slide-lesson{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
#app:not(:fullscreen) .activity-panel-slides .slide-stage{
  min-height:0!important;
  overflow:auto!important;
}
#app:not(:fullscreen) .activity-panel-slides .slide-img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
}
#app:not(:fullscreen) .simulation-card,
#app:not(:fullscreen) .simulation-embed,
#app:not(:fullscreen) .failure-sim-shell{
  height:auto!important;
  overflow:visible!important;
}
#app:not(:fullscreen) .simulation-tool-frame{
  min-height:690px;
}

/* v211 normal slide visibility
   The resized-browser scroll rules above make the page scrollable, but older
   shrink-to-fit slide rules can still collapse the slide frame. Normal view
   should show slides at natural page width and let the browser scroll. */
#app:not(:fullscreen) .activity-panel-slides .activity-body{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
#app:not(:fullscreen) .activity-panel-slides .slide-lesson,
#app:not(:fullscreen) .activity-panel-slides .roleplay-slide-lesson{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
#app:not(:fullscreen) .activity-panel-slides .slide-stage{
  display:block!important;
  flex:none!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
  overflow:auto!important;
  padding:8px!important;
}
#app:not(:fullscreen) .activity-panel-slides .slide-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
#app:not(:fullscreen) .activity-panel-slides .slide-progress-row{
  margin-top:6px!important;
}
@media(max-width:1000px){
  .app-shell{
    display:block!important;
  }
  .sidebar,
  .main,
  .content{
    min-width:960px!important;
  }
  .sidebar{
    max-height:none!important;
  }
  .nav-scroll{
    max-height:360px;
    overflow:auto!important;
  }
}
/* Performance Dashboard is an external, session-gated workspace. */
.performance-dashboard-launch {
  margin-bottom: 8px;
  border: 1px solid rgba(128, 164, 205, 0.42);
  background: rgba(49, 87, 129, 0.3);
}
.performance-dashboard-launch:hover {
  background: rgba(61, 106, 157, 0.44);
}
.performance-dashboard-launch .external-link-mark {
  color: #9fb4cc;
  font-size: 13px;
}
.performance-dashboard-launch.tsa-calls-child {
  width: calc(100% - 16px);
  margin: -4px 0 8px 16px;
  border-color: rgba(128, 164, 205, 0.28);
  background: rgba(49, 87, 129, 0.2);
}
.performance-dashboard-launch.tsa-calls-child .item-icon {
  transform: scale(.9);
}
@media (max-width: 760px) {
  .performance-dashboard-launch.tsa-calls-child {
    width: 100%;
    margin-left: 0;
  }
}
.performance-identity-switch {
  display: grid;
  gap: 4px;
  margin-bottom: 9px;
  color: #cbd8e8;
  font-size: 11px;
  font-weight: 750;
}
.performance-identity-switch select {
  min-width: 0;
  width: 100%;
  min-height: 34px;
  color: #f8fbff;
  background: #17283c;
  border: 1px solid #48617d;
  border-radius: 6px;
  padding: 6px 8px;
}
