:root{--accent: #1f6f5b;--accent-soft: #dff4eb;--accent-dark: #07131f;--bg: #f3f6f5;--surface: #ffffff;--surface-muted: #f8faf9;--border: #d8e0dc;--text: #18231f;--muted: #60716b;color:#18231f;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;font-weight:700;padding:.75rem 1rem}.secondary-button{background:#eef4f1;border:1px solid #d4e0db;color:#2f403a}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--accent),#fff 55%);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,p{margin:0}h1{font-size:clamp(1.1rem,2vw,1.35rem);letter-spacing:0;line-height:1.15}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.side{background:#07131f;color:#f7faf7;display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;padding:1rem}.theme-squad-1{--accent: #c62828;--accent-soft: #fde2e2;--accent-dark: #3a1010}.theme-squad-2{--accent: #d69d00;--accent-soft: #fff3bf;--accent-dark: #3d2b00}.theme-squad-3{--accent: #2e7d32;--accent-soft: #dff3e4;--accent-dark: #102a14}.theme-squad-4{--accent: #1565c0;--accent-soft: #dcecff;--accent-dark: #0d2748}.theme-staff{--accent: #6f7780;--accent-soft: #eceff1;--accent-dark: #252a2f}.brand{border-bottom:1px solid rgba(255,255,255,.16);display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem}.brand img{aspect-ratio:1;margin-bottom:0;max-width:48px;width:48px}.brand strong{font-size:1.65rem;letter-spacing:0}nav{align-content:start;display:grid;gap:.5rem;grid-auto-rows:max-content}nav button{align-items:center;background:transparent;border-radius:8px;color:#dbe8e3;display:flex;gap:.65rem;justify-content:flex-start;min-height:2.75rem;padding:.85rem 1rem;text-align:left;width:100%}nav button.active{background:#ffffff1c;box-shadow:inset 4px 0 0 var(--accent)}.side-user{align-items:center;border-top:1px solid rgba(255,255,255,.14);display:flex;gap:.75rem;padding-top:1rem}.side-user>span{align-items:center;background:var(--accent);border-radius:999px;display:inline-flex;font-size:.82rem;font-weight:900;height:2.5rem;justify-content:center;width:2.5rem}.side-user div{display:grid;gap:.15rem;min-width:0}.side-user strong,.side-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user small{color:#b8c7c2}.workspace{align-content:start;display:grid;gap:0;padding:0}.topbar{align-items:center;background:#07131f;border-left:1px solid rgba(255,255,255,.1);color:#fff;display:flex;gap:1rem;justify-content:space-between;min-width:0;min-height:64px;padding:.75rem 1.5rem}.topbar>div:first-child{display:grid;gap:.2rem;min-width:0}.topbar h1{overflow-wrap:anywhere}.topbar>div:first-child>span{color:#9eb3ad;font-size:.78rem;font-weight:800;text-transform:uppercase}.topbar-actions{align-items:center;display:flex;flex:0 0 auto;gap:.75rem}.role-chip,.staff-pill{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent),#fff 50%);border-radius:999px;color:var(--accent-dark);font-size:.84rem;font-weight:800;padding:.45rem .7rem;white-space:nowrap}.topbar p,.runner-head p,.session-panel p{color:#5d6b66;margin-top:.65rem}.session-panel .status-line{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent),#fff 60%);border-radius:8px;color:var(--accent-dark);font-weight:800;margin-top:0;padding:.65rem .75rem}.session-panel .warning-line{background:#fff4d8;border:1px solid #e4ba58;border-radius:8px;color:#654710;font-weight:800;margin-top:0;padding:.65rem .75rem}.session-panel,article{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 34px #12201c0f;padding:1rem}.session-panel{border-radius:0;border-width:0 0 1px;box-shadow:none;display:grid;gap:.85rem;padding:.9rem 1.5rem}.session-panel label,.blank-grid label,.match-grid label{color:#40524b;font-size:.86rem;font-weight:800}.session-input{align-items:end;display:flex;gap:.75rem}.session-input label{flex:0 0 10rem}.session-input button{flex:0 0 auto}.session-input input{min-width:0}.session-strip{display:grid;gap:0;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.session-strip div{border-right:1px solid #dfe7e2;display:grid;gap:.25rem;padding:.15rem 1.25rem .15rem 0}.session-strip div+div{padding-left:1.25rem}.session-strip div:last-child{border-right:0}.session-strip dt{color:var(--muted);font-size:.74rem;font-weight:800;text-transform:uppercase}.session-strip dd{color:var(--text);font-weight:850;margin:0;overflow-wrap:anywhere}.diagnostic-panel{border-top:1px solid #e5ece8;display:grid;gap:.75rem;margin:.25rem 0 0;padding-top:.85rem}.diagnostic-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.diagnostic-grid div{display:grid;gap:.25rem}.diagnostic-grid dt{color:#60716b;font-size:.76rem;font-weight:800;text-transform:uppercase}.diagnostic-grid dd{color:#18231f;font-weight:800;margin:0;overflow-wrap:anywhere}.content-counts{display:flex;flex-wrap:wrap;gap:.5rem}.content-counts span{background:#f4f8f6;border:1px solid #dfe7e2;border-radius:999px;color:#40524b;font-size:.78rem;font-weight:800;padding:.35rem .55rem}input,select,textarea{border:1px solid #c8d5cf;border-radius:8px;min-width:0;padding:.78rem 1rem;width:100%}textarea{min-height:5rem;resize:vertical}.module-layout{align-items:start;display:grid;gap:.75rem;grid-template-columns:minmax(260px,360px) minmax(0,1fr) minmax(260px,340px);overflow:hidden;padding:.75rem}.module-layout>*{min-width:0}.module-list,.activity-panel{position:sticky;top:1rem}.panel-title,.activity-panel section{display:grid;gap:.35rem}.panel-title p,.muted{color:var(--muted);font-size:.9rem}.filter-tabs{background:#fff;border:1px solid #cfd9d5;border-radius:8px;display:grid;gap:.25rem;grid-template-columns:repeat(auto-fit,minmax(5.8rem,1fr));margin-top:.9rem;padding:.25rem}.filter-tabs button{background:transparent;color:#40524b;font-size:.86rem;padding:.55rem .6rem}.filter-tabs button.active{background:#eaf3ef;box-shadow:inset 0 0 0 1px #d4e4dc;color:var(--accent-dark)}.list{display:grid;gap:.6rem;margin-top:1rem}.module-row{align-items:center;background:#fff;border:1px solid #e4ebe8;color:#18231f;display:grid;gap:.7rem;grid-template-columns:4.5rem minmax(0,1fr);justify-items:stretch;padding:.78rem;text-align:left}.module-row.selected{background:linear-gradient(90deg,var(--accent-soft),#fff 62%);border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.module-index{align-items:center;background:#eef4f1;border-radius:999px;color:var(--accent-dark);display:inline-flex;font-size:.78rem;font-weight:900;justify-content:center;min-height:1.8rem;padding:.25rem .5rem;text-align:center}.module-row-copy{display:grid;gap:.24rem;min-width:0}.module-row-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-row-copy small{overflow-wrap:anywhere}.module-row span,.row span,.row small,.gate-row small,.runner-head span,.submit-row span{color:#60716b;font-size:.86rem}.runner{display:grid;gap:1rem;min-width:0}.runner-head{align-items:start;border-bottom:1px solid #e0e8e4;display:flex;gap:1rem;justify-content:space-between;padding-bottom:1rem}.runner-head>div{min-width:0}.runner-head p,.question p{overflow-wrap:anywhere}.content-kicker{color:var(--accent);display:inline-block;font-size:.76rem;font-weight:800;margin-bottom:.45rem;text-transform:uppercase}.progress-block{background:#f8fbf9;border:1px solid #e0e8e4;border-radius:8px;display:grid;gap:.65rem;min-width:0;padding:.85rem}.progress-block>div:first-child{align-items:center;display:flex;gap:1rem;justify-content:space-between}.progress-block span{color:var(--muted);font-size:.86rem}.progress-track{background:#e6eee9;border-radius:999px;height:.55rem;overflow:hidden}.progress-track span{background:var(--accent);display:block;height:100%;min-width:.2rem;transition:width .18s ease}.question{background:#fff;border:1px solid #dfe7e2;border-radius:8px;display:grid;gap:1rem;min-width:0;padding:1rem 1.1rem}.question.answered{border-color:color-mix(in srgb,var(--accent),#fff 45%);box-shadow:inset 4px 0 0 var(--accent)}.question header,.submit-row,.question-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between}.question header span{background:var(--accent-soft);border-radius:999px;color:var(--accent-dark);display:inline-flex;font-size:.82rem;font-weight:800;padding:.3rem .55rem;text-transform:uppercase}.question header small{color:#60716b}.question header div{display:grid;gap:.18rem}.answer-feedback{border-radius:8px;display:grid;gap:.25rem;padding:.8rem}.answer-feedback.correct{background:#e8f6ef;border:1px solid #b8ddca;color:#145538}.answer-feedback.incorrect{background:#fff4d8;border:1px solid #e4ba58;color:#654710}.answer-feedback.pending,.score-callout.pending{background:#dcecff;border:1px solid #aac7f2;color:#153f79}.score-callout.failed{background:#f8d7da;border:1px solid #efb3ba;color:#7a1f28}.score-callout.success{background:#e8f6ef;border:1px solid #b8ddca;color:#155b38}.score-callout.neutral{background:var(--surface-muted);border:1px solid #e5ece8;color:#40524b}.answer-feedback span,.answer-feedback small{font-size:.9rem;overflow-wrap:anywhere}.question-actions{border-top:1px solid #e5ece8;flex-wrap:wrap;padding-top:.85rem}.choice-grid{display:grid;gap:.65rem;grid-template-columns:1fr}.choice-grid.two{grid-template-columns:repeat(2,minmax(120px,180px))}.choice-grid button{background:#fff;border:1px solid #d8e2dd;color:#18231f;font-weight:700;text-align:left;transition:background .16s ease,border-color .16s ease,transform .16s ease}.choice-grid button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent),#fff 35%);transform:translateY(-1px)}.choice-grid button.selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.question-stepper{align-items:center;display:flex;gap:0;justify-content:flex-start;list-style:none;margin:0;max-width:100%;overflow-x:auto;padding:.25rem .5rem .75rem;scrollbar-width:thin}.question-stepper li{align-items:center;display:flex}.question-stepper li:not(:last-child):after{background:#aab8b2;content:"";display:block;height:2px;width:clamp(1.35rem,3vw,2.8rem)}.question-stepper button{align-items:center;background:#fff;border:1px solid #9facaa;border-radius:999px;color:#40524b;display:inline-flex;font-size:.82rem;font-weight:900;height:2rem;justify-content:center;padding:0;width:2rem}.question-stepper li.active button{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),#fff 60%)}.question-stepper li.complete button{background:var(--accent);border-color:var(--accent);color:#fff}.activity-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 34px #12201c0f;display:grid;gap:1rem;min-width:0;overflow-wrap:anywhere;padding:1rem}.activity-panel h2,.activity-panel h3{margin:0}.activity-panel h3{font-size:.95rem}.metric-grid{display:grid;gap:.6rem;grid-template-columns:1fr}.metric-grid div{background:var(--surface-muted);border:1px solid #e5ece8;border-radius:8px;display:grid;gap:.2rem;padding:.7rem}.metric-grid span,.context-list dt{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.metric-grid strong{color:var(--accent-dark);font-size:1.15rem}.context-list{display:grid;gap:.55rem;margin:0}.context-list div{display:grid;gap:.15rem}.context-list dd{font-weight:800;margin:0;overflow-wrap:anywhere}.score-callout{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent),#fff 55%);border-radius:8px;color:var(--accent-dark);display:grid;gap:.25rem;font-weight:800;padding:.75rem}.score-callout span,.score-callout small{font-size:.76rem}.score-callout span{color:#40524b;font-weight:900;text-transform:uppercase}.score-callout strong{font-size:1.1rem}.score-callout small{color:#60716b;font-weight:750;line-height:1.35}.control-plane{padding:.75rem}.control-plane>article:first-child{box-shadow:none}.blank-grid,.match-grid,.attempt-filters,.attempt-list{display:grid;gap:.75rem}.blank-grid label,.match-grid label{display:grid;gap:.45rem}.row,.gate-row{align-items:center;border:1px solid #e5ece8;border-radius:8px;display:grid;gap:.75rem;padding:.85rem}.row{grid-template-columns:90px 1fr auto}.gate-row{grid-template-columns:110px minmax(0,1fr) minmax(10rem,13rem) minmax(12rem,16rem) auto}.gate-row div{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.gate-row button{padding:.55rem .7rem}.gate-row>div:first-of-type{display:grid;gap:.25rem;justify-content:stretch}.inline-select{display:grid;gap:.25rem}.inline-select span{color:#60716b;font-size:.72rem;font-weight:800;text-transform:uppercase}.inline-select select{padding:.55rem .7rem}.status{border-radius:999px;color:#16221e;font-size:.78rem;font-weight:800;padding:.35rem .55rem;text-align:center}.status.published{background:#dff4eb}.status.draft{background:#f2ead2}.status.archived{background:#e9edf0}.status.failed{background:#f8d7da;color:#7a1f28}.status.pending{background:#dcecff;color:#153f79}.admin-console{display:grid;gap:1rem}.cohort-list,.admin-user-list,.audit-list,.control-plane{display:grid;gap:.75rem}.ags-diagnostics,.notification-diagnostics{display:grid;gap:1rem}.ags-attempt-list{display:grid;gap:.75rem}.ags-token-context{align-items:center;border:1px solid #e5ece8;border-radius:8px;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(16rem,auto);padding:.85rem}.ags-token-context.ready{background:#e8f6ef;border-color:#b8ddca}.ags-token-context.needs-launch{background:#fff4d8;border-color:#e4ba58}.ags-token-context p{color:#40524b;margin-top:.25rem}.ags-token-context dl{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.ags-token-context dt{color:#60716b;font-size:.72rem;font-weight:800;text-transform:uppercase}.ags-token-context dd{font-weight:850;margin:.15rem 0 0}.ags-attempt-row{align-items:center;border:1px solid #e5ece8;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:minmax(13rem,1fr) 7rem repeat(3,minmax(5.5rem,7rem)) minmax(10rem,1fr) minmax(12rem,16rem);padding:.85rem}.ags-attempt-row>div{display:grid;gap:.2rem;min-width:0}.ags-attempt-row small,.ags-attempt-row strong,.ags-error{overflow-wrap:anywhere}.ags-attempt-row span,.ags-attempt-row time{color:#60716b;font-size:.76rem;font-weight:800}.ags-attempt-row>div:not(:first-child)>span,.ags-error>span{text-transform:uppercase}.retry-controls{display:grid;gap:.45rem}.retry-controls input,.retry-controls button{padding:.55rem .7rem}.attempt-review{display:grid;gap:1rem}.attempt-filters{grid-template-columns:repeat(7,minmax(9rem,1fr))}.attempt-summary{display:grid;gap:.6rem;grid-template-columns:repeat(7,minmax(0,1fr))}.ags-alert{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#9a3412;display:flex;flex-wrap:wrap;gap:.45rem .75rem;padding:.75rem .85rem}.ags-alert span{color:#9a3412;font-size:.86rem}.ags-queue-action{align-items:center;border:1px solid #e5ece8;border-radius:8px;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding:.85rem}.ags-queue-action.ready{background:#f0fdf4;border-color:#bbf7d0}.ags-queue-action.blocked{background:#f8fafc}.ags-queue-action div{display:grid;gap:.2rem}.ags-queue-action span{color:#60716b;font-size:.86rem}.attempt-summary div{background:var(--surface-muted);border:1px solid #e5ece8;border-radius:8px;display:grid;gap:.2rem;padding:.7rem}.attempt-summary span,.attempt-row span,.attempt-row time{color:#60716b;font-size:.76rem;font-weight:800}.attempt-summary span,.attempt-row span{text-transform:uppercase}.attempt-row{align-items:center;border:1px solid #e5ece8;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:minmax(14rem,1fr) 6.5rem repeat(3,minmax(5.5rem,7rem)) minmax(9rem,auto);padding:.85rem}.manual-grade-editor{align-items:end;border-top:1px solid #e5ece8;display:grid;gap:.75rem;grid-column:1 / -1;grid-template-columns:minmax(8rem,10rem) minmax(12rem,1fr) auto minmax(12rem,auto);padding-top:.75rem}.manual-grade-editor button{min-height:2.65rem}.attempt-row>div{display:grid;gap:.2rem;min-width:0}.attempt-row small,.attempt-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-head{align-items:center;display:flex;gap:1rem;justify-content:space-between}.section-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.button-link{background:#eef4f1;border:1px solid #d4e0db;border-radius:8px;color:#2f403a;display:inline-flex;font-weight:800;padding:.72rem 1rem;text-decoration:none}.section-head p{color:#60716b;margin-top:.35rem}.cohort-panel{border:1px solid #e5ece8;border-radius:8px;display:grid;gap:.85rem;padding:1rem}.cohort-panel header,.audit-panel header,.admin-user-row{align-items:center;display:flex;gap:1rem;justify-content:space-between}.cohort-panel header span,.cohort-panel header small,.audit-panel header small,.admin-user-row small{color:#60716b;font-size:.84rem}.cohort-panel h3,.audit-panel h3{margin:.2rem 0 0}.squad-strip,.squad-actions{display:flex;flex-wrap:wrap;gap:.5rem}.squad-pill,.score-squad{border-radius:999px;color:#17201d;font-size:.82rem;font-weight:800;padding:.4rem .6rem}.squad-pill{display:inline-flex;gap:.45rem}.squad-button{align-items:center;border:2px solid transparent;border-radius:999px;display:inline-flex;height:2.25rem;justify-content:center;padding:0;width:2.25rem}.squad-button.selected{border-color:#17201d}.squad-1{background:#f3d2d2;color:#7b1717}.squad-2{background:#ffe89a;color:#5f4400}.squad-3{background:#cfecd7;color:#165629}.squad-4{background:#d4e5fb;color:#153f79}.admin-user-row{border:1px solid #e5ece8;border-radius:8px;padding:.85rem}.admin-user-row>div:first-child{display:grid;gap:.25rem;min-width:0}.audit-panel{border-top:1px solid #e5ece8;display:grid;gap:.85rem;padding-top:1rem}.audit-panel-head{align-items:end;display:flex;gap:1rem;justify-content:space-between}.audit-row{align-items:center;border:1px solid #e5ece8;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto;padding:.85rem}.audit-row>div{display:grid;gap:.25rem;min-width:0}.audit-row>div:last-child{justify-items:end}.audit-row small,.audit-row time{color:#60716b;font-size:.84rem}.audit-row span{color:#40524b;font-size:.86rem;font-weight:800}.empty{border:1px dashed #b9c8c1;border-radius:8px;color:#66746f;padding:1rem}@media(max-width:1180px){.module-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr)}.activity-panel{grid-column:1 / -1;position:static}}@media(max-width:960px){.shell,.module-layout{grid-template-columns:1fr}.side{min-height:auto}.module-list,.activity-panel{position:static}.side{padding:1rem}nav,.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.runner-head,.cohort-panel header,.audit-panel header,.section-head,.audit-row,.admin-user-row,.session-input{align-items:stretch;flex-direction:column}.session-strip{grid-template-columns:1fr}.session-strip div,.session-strip div+div{border-right:0;border-top:1px solid #e2e9e6;padding:.65rem 0 0}.diagnostic-grid,.gate-row,.row,.attempt-row,.manual-grade-editor,.ags-attempt-row,.ags-queue-action,.ags-token-context,.ags-token-context dl,.attempt-filters,.attempt-summary{grid-template-columns:1fr}.gate-row div{justify-content:flex-start}.metric-grid{grid-template-columns:1fr}.audit-row>div:last-child{justify-items:start}}
