/*
 * Question Level Analysis — recovered application stylesheet
 * Rebuilt 2026-08-16.
 *
 * Recovery sources:
 *   1. Complete v15.1.1 stylesheet preserved in the earlier finalised build.
 *   2. Current stylesheet rules for components introduced after that build.
 *   3. Compatibility rules for current button/drag/checkbox interaction states.
 *
 * Keep public/assets/css/app.css and assets/css/app.css in sync.
 */

:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#20242a;background:#f2f3f5;line-height:1.45;--ink:#20242a;--muted:#69727b;--line:#d9dde2;--panel:#fff;--dark:#171a1e;--hover:#eef0f2}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% -10%,#fff 0,#f2f3f5 38%)}.top{height:68px;background:#171a1e;color:#fff;display:flex;align-items:center;padding:0 28px;gap:22px;position:sticky;top:0;z-index:50;box-shadow:0 4px 18px #0003}.brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-size:21px;font-weight:850}.brand img{width:34px;height:34px}.context{display:flex;align-items:center;gap:8px;color:#bfc5cc;font-size:13px;border-left:1px solid #ffffff1c;padding-left:20px}.context-dot{width:7px;height:7px;border-radius:50%;background:#d7dbe0}.context-sep{color:#68717a}.top nav{margin-left:auto;display:flex;gap:3px}.top nav a{color:#cbd0d5;text-decoration:none;font-size:13px;padding:9px 11px;border-radius:7px}.top nav a:hover,.top nav a.active{background:#ffffff12;color:#fff}.mobile-menu{display:none;background:none;color:#fff;border:0;font-size:22px;margin-left:auto}.wrap{width:min(1580px,100%);margin:0 auto;padding:30px}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.pagehead h1{font-size:30px;letter-spacing:-.03em;margin:0 0 5px}.pagehead p{margin:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:0 3px 10px #1f29370a}.panel h2{margin:0 0 14px;font-size:18px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px}.card strong{display:block;font-size:28px;margin-top:5px;letter-spacing:-.03em}.muted{color:var(--muted)}.small{font-size:12px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{margin-bottom:15px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:7px}.field small{display:block;margin-top:5px}input,select,textarea{width:100%;border:1px solid #c7ccd1;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#626a72;box-shadow:0 0 0 3px #343a4012}textarea{min-height:96px;resize:vertical}.actions,.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid #c6cbd0;background:#fff;color:#272c31;text-decoration:none;padding:9px 13px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:13px;font-weight:650}.btn:hover{background:#f0f2f4}.btn.primary{background:#30353a;color:#fff;border-color:#30353a}.btn.primary:hover{background:#1f2327}.btn.danger{color:#a12d2d}.btn.small{padding:6px 9px;font-size:12px}.alert{padding:12px 15px;border-radius:9px;margin-bottom:15px;border:1px solid #d6dade;background:#e9ecef}.alert.success{background:#e4f2e8;border-color:#b9d8c3}.alert.error{background:#f9e0dc;border-color:#e8bbb3}.badge{display:inline-flex;align-items:center;background:#eceff1;border:1px solid #d8dce0;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:650}.plain{width:100%;border-collapse:collapse}.plain th,.plain td{padding:12px 11px;border-bottom:1px solid #e4e7ea;text-align:left;vertical-align:middle}.plain th{background:#f3f5f6;font-size:12px;color:#59616a;text-transform:uppercase;letter-spacing:.04em}.plain tr:hover td{background:#fafbfb}.empty{padding:42px 20px;text-align:center;color:#727a82;border:1px dashed #cfd4d9;border-radius:10px;background:#fafafa}.login,.auth-card{max-width:540px;margin:7vh auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 10px 40px #00000012}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card.wide{max-width:820px}.brand-large{display:flex;align-items:center;gap:12px;font-size:30px;font-weight:900;margin-bottom:20px}.brand-large .logo-mark{width:48px;height:48px;border-radius:12px;background:#20252a;color:#fff;display:grid;place-items:center;font-weight:900}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.info-grid>div{padding:14px;background:#f5f6f7;border:1px solid var(--line);border-radius:10px}.info-grid strong{display:block;margin-top:5px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.sheet-wrap{overflow:auto;border:1px solid #c9ced3;border-radius:10px;background:#fff}.sheet{border-collapse:separate;border-spacing:0;min-width:max-content}.sheet th,.sheet td{border-right:1px solid #dfe2e5;border-bottom:1px solid #dfe2e5;padding:0}.sheet th{height:44px;background:#e9ecef;position:sticky;top:68px;z-index:3;font-size:11px;color:#4e565e}.sheet thead tr:nth-child(2) th{top:112px;background:#f3f4f5}.sheet .student{position:sticky;left:0;z-index:4;background:#f7f8f9;min-width:190px}.sheet th.student{z-index:7}.sheet tbody .student{padding:9px 12px}.sheet input.mark{width:78px;border:0;border-radius:0;text-align:center;padding:11px 7px;background:transparent}.sheet input.mark:focus{box-shadow:inset 0 0 0 2px #777}.sheet input.note{width:190px}.sheet .pct{min-width:82px;text-align:center;padding:10px;font-size:12px;font-weight:650}.sheet .max{min-width:62px;text-align:center;padding:10px;color:#737b83;font-size:12px}.gold{background:#fff1b8!important}.green{background:#dff1e4!important}.orange{background:#f8e4cf!important}.red{background:#f5d4cf!important}.none{background:#fff!important}.legend{display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.legend span{padding:6px 10px;border-radius:5px;border:1px solid #00000010}.footer{padding:10px 30px 30px;color:#8a9198;font-size:12px;text-align:center}.status{font-size:12px;color:#717980;min-width:70px}.search{max-width:340px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{padding:13px;background:#f7f8f9;border:1px solid #e1e4e7;border-radius:9px}.stat b{display:block;font-size:20px}.danger-zone{border-color:#e2c4c0}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.link-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);padding:18px;border-radius:12px}.link-card:hover{border-color:#aeb4ba;transform:translateY(-1px)}.hero{padding:50px 0 35px}.hero h1{font-size:46px;line-height:1.05;letter-spacing:-.045em;margin:0 0 14px}.hero p{max-width:780px;font-size:17px;color:var(--muted)}.proposed{opacity:.7}@media(max-width:950px){.cards{grid-template-columns:repeat(2,1fr)}.grid.two,.link-grid{grid-template-columns:1fr}.context{display:none}.top{padding:0 14px}.mobile-menu{display:block}.top nav{display:none;position:absolute;left:10px;right:10px;top:62px;background:#24292f;padding:8px;border-radius:0 0 10px 10px}.nav-open .top nav{display:flex;flex-direction:column;align-items:stretch}.wrap{padding:18px}.sheet th{top:68px}.sheet thead tr:nth-child(2) th{top:112px}}@media(max-width:560px){.cards{grid-template-columns:1fr}.wrap{padding:12px}.login,.auth-card{margin:20px 12px;padding:20px}.info-grid{grid-template-columns:1fr}.hero h1{font-size:36px}.top{height:60px}.sheet th{top:60px}.sheet thead tr:nth-child(2) th{top:104px}}
/* QLA v4: class taxonomy, permissions and reporting */
.filter-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.filter-grid{grid-template-columns:2fr 1.4fr 1.4fr auto;align-items:end}.filter-button{align-self:end}.span-2{grid-column:1/-1}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.class-card{display:block;border:1px solid var(--border,#34383d);border-radius:14px;padding:17px;text-decoration:none;color:inherit;background:rgba(255,255,255,.018);transition:.15s}.class-card:hover{transform:translateY(-1px);border-color:#666d75;background:rgba(255,255,255,.035)}.class-card h3{margin:14px 0 5px}.class-card p{margin:0;color:#9ca3ab}.class-card-top,.permission-chips,.permission-bar{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.badge.subtle{opacity:.7}.permission-chips{margin-top:15px}.permission-chips span,.permission{font-size:12px;border-radius:999px;padding:4px 8px;border:1px solid #444a50}.permission.on{background:#29342d;border-color:#445a49;color:#c8dfcd}.permission.off{opacity:.35;text-decoration:line-through}.permission-bar{padding:12px 15px;margin:0 0 16px;background:#1b1e21;border:1px solid #30353a;border-radius:12px}.access-table input[type=checkbox]{width:18px;height:18px}.access-table td,.access-table th{text-align:center}.access-table td:first-child,.access-table th:first-child,.access-table td:nth-child(2),.access-table th:nth-child(2){text-align:left}.details{display:grid;grid-template-columns:130px 1fr;gap:9px 15px}.details dt{color:#9299a1}.details dd{margin:0}.public-report{max-width:720px;margin:8vh auto;padding:20px}.section-title{display:flex;justify-content:space-between;align-items:center}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.page-head h1{margin-bottom:5px}.page-head p{margin-top:0;color:#9aa1a9}@media(max-width:800px){.filter-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.page-head{display:block}.page-head .toolbar{margin-top:12px}.access-table{min-width:900px}}

/* QLA v5 — structured public footer, nested exam library and refined filters */
.site-footer{margin-top:54px;background:#111418;color:#c9ced4;border-top:1px solid #262b31;padding:52px max(24px,calc((100vw - 1500px)/2)) 24px}.footer-grid{display:grid;grid-template-columns:2.1fr repeat(3,1fr);gap:46px}.footer-grid section{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-grid h3{color:#fff;margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.footer-grid a{color:#aeb6bf;text-decoration:none;font-size:13px}.footer-grid a:hover{color:#fff}.footer-brand p{max-width:390px;color:#8f98a2;margin:8px 0 4px}.footer-logo{display:flex!important;align-items:center;gap:10px;color:#fff!important;font-size:22px!important;font-weight:850}.footer-logo img{width:38px;height:38px}.footer-hosti{display:inline-flex!important;margin-top:8px;padding:7px 10px;border:1px solid #31373e;border-radius:8px;background:#181c21}.footer-bottom{border-top:1px solid #282e34;margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#747e88;font-size:12px}.footer-bottom a{color:#99a2ac;text-decoration:none}.public-top .nav-cta{background:#fff;color:#171a1e}.public-top .nav-cta:hover{background:#e8ebee;color:#111}.consent-row{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f6f7f8;margin:18px 0}.consent-row input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}.consent-row span{font-size:13px}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:-8px 0 18px;color:#79828b;font-size:13px}.breadcrumbs a{color:#555f69;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px}.folder-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:11px;background:#fafbfb;text-decoration:none;color:var(--ink)}.folder-card:hover{background:#f1f3f4;border-color:#b8bec4}.folder-card .folder-icon{grid-row:1/3;font-size:24px;color:#69737d}.folder-card strong{font-size:14px}.folder-card small{color:var(--muted)}.class-filter-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr 1.2fr auto;gap:12px;align-items:end}.legal-page{max-width:900px;margin:0 auto}.legal-page h1{font-size:38px;letter-spacing:-.035em}.legal-page h2{margin-top:30px}.legal-meta{padding:13px 15px;background:#f4f5f6;border:1px solid var(--line);border-radius:9px}.legal-page ul{padding-left:24px}.legal-page li{margin:7px 0}.qrow{display:grid;grid-template-columns:minmax(220px,1fr) 110px minmax(170px,1fr) 150px;gap:8px;margin-bottom:8px}.right{text-align:right!important}.kpi{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:1050px){.footer-grid{grid-template-columns:1.6fr repeat(3,1fr);gap:28px}.class-filter-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}.class-filter-grid{grid-template-columns:1fr 1fr}.qrow{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-grid,.class-filter-grid{grid-template-columns:1fr}.site-footer{padding:38px 20px 22px}}
.admin-dept-row{display:grid;grid-template-columns:minmax(140px,1fr) 110px auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
@media(max-width:700px){.admin-dept-row{grid-template-columns:1fr 1fr}.admin-dept-row input{grid-column:1/-1}}

/* QLA v6 onboarding + personal workspace */
.choice-grid,.launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.choice-card,.launch-card,.workspace-card,.list-card{border:1px solid var(--border,#3b3f45);border-radius:14px;padding:16px;background:rgba(255,255,255,.025);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px}
.choice-card{cursor:pointer;position:relative;padding-left:46px}.choice-card input{position:absolute;left:16px;top:20px}.choice-card:has(input:checked){outline:2px solid #aeb4bc;background:rgba(255,255,255,.07)}
.choice-card strong,.launch-card strong{font-size:17px}.choice-card span,.launch-card span,.workspace-card span,.list-card span{color:#aeb4bc}
.launch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.launch-card{min-height:150px;justify-content:center}.launch-card:hover,.list-card:hover{border-color:#737b86;background:rgba(255,255,255,.055)}.primary-launch{background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035))}.launch-icon{font-size:28px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-card{margin:8px 0}.workspace-card{margin:10px 0}
.advanced-q{display:grid!important;grid-template-columns:1.5fr 1.2fr .7fr .8fr .8fr .6fr auto!important}
.report-score{font-size:44px;font-weight:800;letter-spacing:-2px;margin:10px 0 22px}.report-card{margin:18px 0}
@media(max-width:900px){.launch-grid,.choice-grid{grid-template-columns:1fr}.advanced-q{grid-template-columns:1fr 1fr!important}}

@media print{.top,.site-footer,.no-print{display:none!important}.wrap{max-width:none}.panel{box-shadow:none;border:0}.report-card{break-after:page}}

/* Hosted product, landing, login and site-admin foundation */
body.login-page{background:#0f1113;color:#f5f7f8}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);background:#111315}
.login-showcase{padding:48px clamp(38px,6vw,92px);display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;background:
radial-gradient(circle at 10% 12%,rgba(255,255,255,.10),transparent 28%),
linear-gradient(140deg,#171a1d 0%,#101214 58%,#0b0d0f 100%);border-right:1px solid #ffffff12}
.login-brand{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:900;font-size:24px;width:max-content}
.login-brand img{width:42px;height:42px}
.login-copy{max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:#8d969f}
.login-copy h1{font-size:clamp(48px,6vw,84px);line-height:.98;letter-spacing:-.055em;margin:16px 0 22px}.login-copy h1 span{color:#aeb5bc}
.login-copy p{max-width:680px;color:#b8bec4;font-size:18px;line-height:1.65}
.login-feature-row,.login-proof{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.login-feature-row span,.login-proof span{border:1px solid #ffffff19;background:#ffffff08;border-radius:999px;padding:8px 12px;color:#c8ced4;font-size:12px}
.login-quote{color:#7f8891;font-size:13px}
.login-form-card{background:#f6f7f8;color:#20242a;display:grid;place-items:center;padding:38px}.login-form-inner{width:min(440px,100%)}
.login-form-inner h2{font-size:36px;letter-spacing:-.04em;margin:8px 0}.login-form-inner>p{margin-bottom:28px}
.login-field input{padding:14px 15px;border-radius:10px;background:#fff}.login-submit{width:100%;padding:14px 16px;font-size:14px;margin-top:4px}
.login-secondary{width:100%;background:#fff}.login-divider{display:flex;align-items:center;gap:10px;color:#8b929a;font-size:12px;margin:22px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:#d8dce0;flex:1}
.login-links{display:flex;gap:18px;justify-content:center;margin-top:24px;font-size:12px}.login-links a{color:#68717a;text-decoration:none}.login-links a:hover{text-decoration:underline}
.password-reset-card{width:min(520px,calc(100% - 32px));margin:8vh auto;background:#f7f8f9;color:#20242a;border-radius:20px;padding:34px;box-shadow:0 30px 80px #0008}

.public-top{background:rgba(17,19,21,.96);backdrop-filter:blur(18px)}
.landing-hero{min-height:720px;margin:-30px;padding:90px max(30px,calc((100vw - 1480px)/2)) 80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(500px,.9fr);align-items:center;gap:70px;background:linear-gradient(135deg,#121416,#1b1e21);color:#fff;overflow:hidden}
.landing-hero-copy h1{font-size:clamp(44px,5.25vw,76px);line-height:.98;letter-spacing:-.05em;margin:16px 0 24px;max-width:830px}.landing-hero-copy h1 span{color:#a9b0b7}
.landing-hero-copy>p{font-size:16.5px;line-height:1.65;color:#bdc3c9;max-width:690px}.landing-hero-copy>p strong{font-size:.96em;color:#d8dde1}.landing-actions{display:flex;gap:12px;margin:30px 0}.hero-cta{padding:13px 19px!important;background:#f3f5f6!important;color:#111315!important;border-color:#f3f5f6!important}.hero-secondary{background:transparent!important;color:#e7eaec!important;border-color:#ffffff2c!important}
.hero-trust{display:flex;gap:18px;color:#879099;font-size:12px;flex-wrap:wrap}.hero-trust span:before{content:"•";margin-right:7px;color:#d8dde1}
.landing-sheet-card{background:#f8f9fa;border:1px solid #ffffff2e;border-radius:18px;color:#22272c;box-shadow:0 35px 90px #0008;transform:rotate(1deg);overflow:hidden}.sheet-demo-top{height:54px;background:#e9ecef;display:flex;align-items:center;gap:7px;padding:0 16px;border-bottom:1px solid #cfd4d9}.sheet-demo-top span{width:9px;height:9px;border-radius:50%;background:#b6bdc4}.sheet-demo-top b{margin-left:8px;font-size:13px}
.sheet-demo-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr)}.sheet-demo-grid .cell{padding:15px 12px;border-right:1px solid #dfe3e6;border-bottom:1px solid #dfe3e6;font-size:12px}.sheet-demo-grid .head{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#6a727a;background:#f1f3f4}.sheet-demo-grid .student{font-weight:750}.sheet-demo-grid .green{background:#e0f1e5!important}.sheet-demo-grid .orange{background:#f7e5d3!important}.sheet-demo-grid .red{background:#f4d8d3!important}.sheet-demo-grid .gold{background:#fff0bb!important}.sheet-demo-grid .total{font-weight:800}
.sheet-demo-insight{padding:20px 18px;display:flex;flex-direction:column;gap:3px}.sheet-demo-insight span{color:#6b737b;font-size:12px}
.landing-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dfe2e5;margin:30px -30px 0}.landing-strip>div{background:#fff;padding:34px max(30px,calc((100vw - 1480px)/6));display:flex;flex-direction:column;gap:4px}.landing-strip strong{font-size:17px}.landing-strip span{font-size:13px;color:#737b83}
.landing-section{padding:100px 0}.section-kicker{color:#737b83;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800}.landing-section>h2,.landing-split h2,.landing-cta h2{font-size:clamp(40px,5vw,68px);line-height:1;letter-spacing:-.05em;margin:16px 0 36px}
.feature-showcase{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.feature-showcase article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;min-height:240px}.feature-number{font-family:ui-monospace,monospace;color:#929aa2;font-size:12px}.feature-showcase h3{font-size:20px;margin:38px 0 10px}.feature-showcase p{color:#6d757d;font-size:14px;line-height:1.6}
.landing-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:80px;border-radius:22px;background:#17191c;color:#fff;margin-bottom:90px}.landing-split p{color:#b7bdc3;font-size:17px;line-height:1.7}.text-link{color:#fff;text-decoration:none;font-weight:750}.workspace-stack{display:flex;flex-direction:column;gap:12px;justify-content:center}.workspace-stack>div{display:grid;grid-template-columns:42px 1fr;gap:2px 12px;padding:18px;background:#ffffff0a;border:1px solid #ffffff12;border-radius:13px}.workspace-stack>div span{grid-row:1/3;font-size:25px}.workspace-stack small{color:#929ba4}
.landing-cta{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:70px 0 100px}.landing-cta h2{margin-bottom:0;max-width:900px}

/* Site admin */
.site-admin-body{background:#eef0f2;display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.admin-sidebar{position:sticky;top:0;height:100vh;background:#121416;color:#fff;padding:22px 16px;display:flex;flex-direction:column}
.admin-brand{display:grid;grid-template-columns:38px auto;align-items:center;gap:9px;padding:4px 8px 22px;color:#fff;text-decoration:none;font-weight:900}.admin-brand img{width:36px;height:36px;grid-row:1/3}.admin-brand small{font-size:10px;color:#858e97;text-transform:uppercase;letter-spacing:.12em}
.admin-sidebar nav{display:flex;flex-direction:column;gap:3px}.admin-sidebar nav a{color:#b9c0c7;text-decoration:none;padding:10px 11px;border-radius:8px;font-size:13px}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#ffffff0d;color:#fff}
.admin-sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff12;padding:15px 9px 3px;display:flex;flex-direction:column}.admin-sidebar-bottom small{color:#858e97}.admin-sidebar-bottom a{color:#c1c7cd;margin-top:10px;font-size:12px}
.admin-main{padding:34px;min-width:0}.admin-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.admin-page-head h1{font-size:34px;letter-spacing:-.04em;margin:5px 0}.admin-page-head p{margin:0;color:#69727b}
.admin-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px}.admin-stat span{font-size:11px;color:#747c84;text-transform:uppercase;letter-spacing:.06em}.admin-stat strong{display:block;font-size:31px;margin-top:6px}
.admin-activity{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f2}.admin-activity div{display:flex;flex-direction:column}.admin-activity small{color:#7a828a}.audit-dot{width:8px;height:8px;border-radius:50%;background:#6f7780;margin-top:7px}
.quick-admin-grid,.school-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick-admin-grid>a,.school-admin-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px}.quick-admin-grid span{color:#747c84;font-size:13px}
.admin-filters{display:grid;grid-template-columns:minmax(240px,1fr) 180px 240px auto;gap:8px;margin-bottom:16px}.table-panel{overflow:auto}.admin-table small{display:block;color:#7b838b;margin-top:3px}.status-pill{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750}.status-pill.success{background:#e1f0e5;color:#356245}.status-pill.danger{background:#f5ddda;color:#8a3833}
.school-admin-grid{margin-top:18px}.school-admin-card h3{font-size:20px;margin:7px 0 18px}.school-metrics{display:flex;gap:16px;border-top:1px solid #eceff1;border-bottom:1px solid #eceff1;padding:13px 0;margin-bottom:8px}.school-metrics span{font-size:12px;color:#747c84}.school-metrics b{color:#24292e}.school-admin-card>a{font-size:12px;color:#353b41;text-decoration:none;font-weight:750}.big-stat{font-size:60px;font-weight:850;letter-spacing:-.06em;margin:10px 0}.narrow-panel{max-width:680px}
@media(max-width:1050px){.login-shell{grid-template-columns:1fr}.login-showcase{min-height:440px;padding:35px}.login-form-card{padding:50px 25px}.landing-hero{grid-template-columns:1fr;padding-top:70px}.landing-sheet-card{max-width:720px}.feature-showcase{grid-template-columns:1fr 1fr}.landing-split{grid-template-columns:1fr;padding:45px}.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.quick-admin-grid,.school-admin-grid{grid-template-columns:1fr 1fr}}

/* v10 registration: the sign-in visual system, with workspace-first onboarding. */
.registration-shell{grid-template-columns:minmax(360px,.82fr) minmax(620px,1.18fr)}
.registration-showcase .login-copy h1{font-size:clamp(46px,5vw,72px)}
.registration-form-card{align-items:start;overflow:auto;padding:44px clamp(30px,5vw,70px)}
.registration-form-inner{width:min(760px,100%);margin:auto}.registration-form-inner h2{font-size:34px}
.registration-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:22px 0}
.registration-choice{position:relative;display:flex;gap:10px;min-height:132px;padding:16px;border:1px solid #d5d9dd;border-radius:13px;background:#fff;cursor:pointer;transition:.16s ease}
.registration-choice:hover{border-color:#9ca3aa;transform:translateY(-1px)}.registration-choice:has(input:checked){border-color:#343a40;box-shadow:0 0 0 2px #343a40;background:#f7f8f9}
.registration-choice>input{position:absolute;opacity:0;pointer-events:none}.registration-choice>span:last-child{display:flex;flex-direction:column;gap:6px}
.registration-choice strong{font-size:14px;line-height:1.25}.registration-choice small{color:#69727b;font-size:12px;line-height:1.45}
.choice-icon{width:28px;height:28px;flex:0 0 28px;border-radius:8px;background:#252a2f;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:800}
.conditional-fields{padding:15px 16px 1px;margin:0 0 17px;border:1px solid #dce0e3;border-radius:12px;background:#eef0f2}.conditional-fields[hidden]{display:none}
.field-label{display:block;font-size:12px;font-weight:750;margin-bottom:9px}.role-toggle{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:15px}
.role-toggle label{cursor:pointer}.role-toggle input{position:absolute;opacity:0}.role-toggle span{display:block;text-align:center;padding:10px;border:1px solid #cdd2d6;border-radius:9px;background:#fff;font-size:13px;font-weight:700}
.role-toggle label:has(input:checked) span{background:#2f353a;border-color:#2f353a;color:#fff}.registration-identity{gap:12px}.registration-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#616970;margin:5px 0 18px}.registration-consent input{width:auto;margin-top:3px}.registration-consent a{color:#333a40}
@media(max-width:1180px){.registration-shell{grid-template-columns:1fr}.registration-showcase{min-height:390px}.registration-form-card{overflow:visible}.registration-choices{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.registration-choices{grid-template-columns:1fr}.registration-choice{min-height:0}.registration-form-card{padding:36px 20px}.registration-identity,.role-toggle{grid-template-columns:1fr}}

/* v10.1 site-admin account and cross-dashboard navigation. */
.top nav a.site-admin-nav{background:#e9edf0;color:#1d2227;border:1px solid #fff;font-weight:800}.top nav a.site-admin-nav:hover{background:#fff;color:#111315}
.site-admin-body .narrow-panel{background:#fff;border:1px solid #d7dce0;border-radius:16px;padding:28px;box-shadow:0 12px 32px rgba(20,27,34,.08)}
.site-admin-body .narrow-panel h3{font-size:18px;margin:0 0 6px}.site-admin-body .narrow-panel hr{margin:26px 0}
.site-admin-body .narrow-panel .field input{padding:13px 14px;border-radius:10px;background:#fbfcfc}
.site-admin-body .narrow-panel .btn.primary{min-width:160px;padding:12px 16px}
.site-admin-body .admin-page-head{max-width:900px}.site-admin-body .alert{max-width:680px}
.template-designer{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:18px}.email-preview{width:100%;height:650px;border:1px solid #d7dce0;border-radius:12px;background:#eef0f2}.docx-preview{min-height:650px;padding:64px 55px 45px!important;display:flex;flex-direction:column}.docx-preview>span{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.docx-preview h2{font-size:30px;margin-top:70px}.docx-preview hr{margin-top:auto;width:100%}.docx-preview small{text-align:center;color:#747c84}
.assessment-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.assessment-mode{display:block;border:1px solid #d8dce0;border-radius:10px;padding:12px;background:#fff}.assessment-mode input{width:auto;margin-right:7px}.assessment-mode strong,.assessment-mode small{display:block}.assessment-mode small{color:#747c84;margin:5px 0 0 23px}
@media(max-width:1000px){.template-designer{grid-template-columns:1fr}.assessment-mode-grid{grid-template-columns:1fr}}
.account-access-links{display:flex;justify-content:space-between;gap:14px;margin:14px 0 4px;font-size:12px}.account-access-links a{color:#59636c}.stacked-actions{display:grid}.mobile-nav-link{display:none!important}
.mobile-app{background:#eef0f2;padding-bottom:78px}.mobile-app-head{height:70px;padding:max(12px,env(safe-area-inset-top)) 18px 12px;background:#171a1e;color:#fff;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.mobile-app-head>a{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-size:20px;font-weight:900}.mobile-app-head img{width:34px;height:34px}.mobile-app-head>div{display:flex;flex-direction:column;text-align:right;font-size:12px}.mobile-app-head>div a{color:#adb5bc}.mobile-content{padding:24px 16px;max-width:680px;margin:auto}.mobile-content h1{font-size:30px;line-height:1.05;letter-spacing:-.04em;margin:8px 0}.mobile-content section{margin-top:28px}.mobile-content section h2{font-size:17px}.mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}.mobile-actions a{background:#fff;border:1px solid #dce0e3;border-radius:13px;padding:14px 8px;text-align:center;color:#242a2f;text-decoration:none;display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}.mobile-actions b{font-size:22px}.mobile-list-card{background:#fff;border:1px solid #dce0e3;border-radius:12px;padding:14px;margin-bottom:8px;color:#242a2f;text-decoration:none;display:flex;align-items:center;justify-content:space-between}.mobile-list-card div{display:flex;flex-direction:column}.mobile-list-card small{color:#737c84;margin-top:3px}.mobile-list-card>span{font-size:26px;color:#8b939a}.mobile-empty,.mobile-limit{border:1px dashed #cbd1d6;border-radius:12px;padding:18px;color:#6d767e}.mobile-limit{margin-top:28px;background:#f8f9f9}.mobile-limit p{font-size:13px}.mobile-limit a{color:#333a40;font-weight:750}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #d8dde1;display:flex;z-index:20}.mobile-bottom-nav a{flex:1;display:grid;place-items:center;color:#747d85;text-decoration:none;font-size:12px;font-weight:700}.mobile-bottom-nav a.active{color:#171a1e}.mobile-app .footer{display:none}
@media(max-width:760px){.mobile-nav-link{display:none!important}.account-access-links{flex-direction:column;gap:6px}.top nav a.site-admin-nav{background:#e9edf0;color:#1d2227}}
.mobile-mode-offer{position:fixed;left:14px;right:14px;bottom:14px;z-index:200;max-width:620px;margin:auto;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #cbd2d8;border-radius:16px;background:#fff;box-shadow:0 18px 55px rgba(16,22,28,.24)}.mobile-mode-offer[hidden]{display:none}.mobile-mode-offer>div:first-child{display:flex;flex-direction:column;gap:4px}.mobile-mode-offer span{color:#68727b;font-size:13px;line-height:1.4}.mobile-mode-offer .actions{flex:none;margin:0}@media(max-width:520px){.mobile-mode-offer{align-items:stretch;flex-direction:column}.mobile-mode-offer .actions{display:grid;grid-template-columns:1fr 1fr}.mobile-mode-offer .btn{justify-content:center}}
@media(max-width:760px){.landing-hero{margin:-30px;padding:60px 24px}.landing-strip{grid-template-columns:1fr;margin-left:-30px;margin-right:-30px}.feature-showcase{grid-template-columns:1fr}.landing-split{margin-left:-10px;margin-right:-10px}.landing-cta{align-items:flex-start;flex-direction:column}.site-admin-body{display:block}.admin-sidebar{position:relative;height:auto}.admin-sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.admin-main{padding:20px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-filters{grid-template-columns:1fr}.quick-admin-grid,.school-admin-grid{grid-template-columns:1fr}}

.site-notice{margin-bottom:18px;padding:11px 14px;border:1px solid #cfd4d9;background:#fff;border-radius:10px;font-size:13px}.feature-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #eceff1}.feature-toggle-row div{display:flex;flex-direction:column}.feature-toggle-row small{color:#828a92}.log-stats{grid-template-columns:repeat(3,1fr);max-width:900px}

/* QLA v9 — AO marking, learner outcomes and report delivery */
.question-builder{display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid var(--line);background:#fafbfb;border-radius:12px;padding:12px;margin:9px 0}
.question-builder-main{display:grid;grid-template-columns:110px 1.5fr 1fr 130px;gap:8px}.question-builder-detail{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;grid-column:1/2}
.derived-mark{min-width:82px;padding:7px;text-align:center;font-weight:800;background:#f2f4f5;color:#41484f}.derived-mark small{display:block;font-size:9px;font-weight:600;color:#858d95}
.ao-sheet .ao-mark{min-width:78px;text-align:center}.ao-mark.saved{box-shadow:inset 0 0 0 2px #5e8a6d!important}
.inline-email-form{display:flex;gap:6px;align-items:center;min-width:260px}.inline-email-form input{min-width:190px;padding:7px 8px}
.learner-report-shell{max-width:1120px;margin:40px auto 90px}.report-public-head{padding:38px 0}.report-public-head h1{font-size:46px;letter-spacing:-.045em;margin:8px 0}.report-public-head p{color:#68717a;max-width:760px}
.learner-report-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;margin:20px 0;box-shadow:0 10px 35px #1f293708}
.learner-report-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #e9ecef;padding-bottom:20px;margin-bottom:24px}.learner-report-title h2{font-size:30px;letter-spacing:-.035em;margin:4px 0}
.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:34px}.report-columns h3,.priority-box h3,.outcome-box h3{margin:0 0 14px}
.report-metric{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:8px 0}.report-metric span{font-size:13px}.report-metric b{font-size:13px}.metric-track{grid-column:1/3;height:6px;border-radius:999px;background:#e8ebed;overflow:hidden}.metric-track i{display:block;height:100%;background:#616a72;border-radius:999px}
.priority-box,.outcome-box{margin-top:26px;border-radius:14px;padding:20px;background:#f2f4f5;border:1px solid #e1e4e7}.priority-box>p{color:#727a82;font-size:13px}.priority-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.priority-grid>div{background:#fff;border:1px solid #dfe3e6;border-radius:10px;padding:13px;display:flex;flex-direction:column}.priority-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#858d95}.priority-grid small{color:#707880;margin-top:3px}
.outcome-box{background:#f7f8f8}.outcome-box ul{margin:0;padding-left:20px}.outcome-box li{margin:7px 0}
.outcome-table small{display:block;color:#7c848c;margin-top:3px}.compact-list{padding-left:18px;margin:0}.compact-list li{margin:4px 0}
@media(max-width:850px){.question-builder-main,.question-builder-detail,.report-columns,.priority-grid{grid-template-columns:1fr}.question-builder-detail{grid-column:1}.question-builder{grid-template-columns:1fr}.inline-email-form{min-width:0;flex-wrap:wrap}.learner-report-shell{margin:20px auto}.learner-report-card{padding:20px}.report-public-head h1{font-size:36px}}

/* v9 quick-question builder has one extra learner-outcome field */
.advanced-q{grid-template-columns:1.35fr 1fr 1fr .8fr 1.35fr .75fr .55fr auto!important}
@media(max-width:1100px){.advanced-q{grid-template-columns:repeat(2,minmax(0,1fr))!important}.advanced-q .btn{width:max-content}}
.exchange-search{display:flex;gap:10px}.exchange-search input{flex:1}.exchange-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.exchange-card{text-decoration:none;color:inherit;transition:transform .15s,border-color .15s}.exchange-card:hover{transform:translateY(-2px);border-color:#9da4aa}.exchange-card h2{margin:10px 0}.meta-row{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.meta-row span{padding:5px 9px;border-radius:999px;background:#f0f2f3;font-size:12px}.exam-question{padding:16px 0;border-top:1px solid var(--line)}.practice-hero{text-align:center;max-width:760px;margin:55px auto 28px}.practice-hero h1{font-size:clamp(36px,6vw,64px);margin:8px 0}.practice-start{margin:auto}.online-paper{max-width:900px;margin:auto}.online-question textarea{width:100%}.question-number{display:flex;justify-content:space-between;color:#68717a;font-size:13px;font-weight:700}.submit-bar,.digital-actions{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px #1f29371a;z-index:5}.digital-actions{position:static}.digital-actions>div:first-child{display:flex;flex-direction:column}.exam-timer{display:flex;flex-direction:column;text-align:right}.exam-timer strong{font-size:28px}.candidate-response{background:#f6f7f8;border-radius:10px;padding:16px;margin:14px 0}.result-state{max-width:760px;margin:50px auto}.result-score{display:flex;flex-direction:column;padding:24px;background:#f3f5f5;border-radius:14px}.result-score strong{font-size:38px}.share-code{padding:18px;background:#f2f4f5;border-radius:12px;display:flex;flex-direction:column}.share-code strong{font-size:28px;letter-spacing:.12em}@media(max-width:700px){.exchange-search,.submit-bar,.digital-actions{flex-direction:column;align-items:stretch}}
.quick-create-head{align-items:flex-end}.quick-step{display:flex;align-items:center;gap:8px;color:#818991;font-size:11px}.quick-step b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#23272b;color:#fff}.quick-step i{width:24px;height:1px;background:#d6dadd}.quick-section{margin-bottom:18px;padding:26px}.section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.section-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#23272b;color:#fff;font-size:11px;font-weight:800}.section-heading h2{margin:0 0 4px}.section-heading p{margin:0;color:#747d85;font-size:13px}.subheading{font-size:13px;margin:24px 0 10px}.quick-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-choice{position:relative;display:flex;gap:10px;padding:14px;border:1px solid #dadddf;border-radius:12px;cursor:pointer;background:#fff}.quick-choice:has(input:checked){border-color:#30353a;box-shadow:inset 0 0 0 1px #30353a;background:#f6f7f7}.quick-choice input{width:auto}.quick-choice span{display:flex;flex-direction:column}.quick-choice small{color:#778088;margin-top:3px}.quick-supervision{max-width:440px;margin-top:18px}.question-table{border:1px solid #dfe3e6;border-radius:14px;overflow:hidden}.question-table-head,.quick-question-row{display:grid;grid-template-columns:1.35fr 1fr 1.15fr .65fr 80px 38px;gap:10px;align-items:center}.question-table-head{padding:10px 14px;background:#f1f3f4;color:#707981;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.quick-question-row{padding:12px 14px;border-top:1px solid #e5e8ea;background:#fff}.quick-question-row:first-child{border-top:0}.quick-question-row input,.quick-question-row select{min-width:0}.quick-question-topic{display:grid;grid-template-columns:31px 1fr;align-items:center;gap:7px}.question-index{font-size:11px;font-weight:800;color:#5f6870}.remove-question{width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#8b4540;font-size:20px;cursor:pointer}.remove-question:hover{background:#fff0ef}.quick-question-extra{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:10px;padding:0 0 4px 38px}.quick-question-extra label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#7b838b}.quick-question-extra input{display:block;width:100%;margin-top:5px;text-transform:none;letter-spacing:0}.question-table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:#707981;font-size:12px}.quick-submit{position:sticky;bottom:12px;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding:17px 20px;border:1px solid #d8dcdf;border-radius:14px;background:#fff;box-shadow:0 12px 40px #1f29371a}.quick-submit>div{display:flex;flex-direction:column}.quick-submit span{font-size:12px;color:#747d85}@media(max-width:900px){.quick-choice-grid{grid-template-columns:1fr 1fr}.question-table-head{display:none}.quick-question-row{grid-template-columns:1fr 1fr}.quick-question-topic{grid-column:1/-1}.quick-question-extra{grid-column:1/-1;padding-left:0}.remove-question{position:absolute;right:28px}.quick-question-row{position:relative}}@media(max-width:600px){.quick-step{display:none}.quick-choice-grid,.quick-question-row,.quick-question-extra{grid-template-columns:1fr}.quick-question-row>*{grid-column:1}.quick-question-topic{padding-right:42px}.quick-submit{align-items:stretch;flex-direction:column}.quick-submit .btn{width:100%}}
.google-signin{position:relative;width:100%;height:40px;display:flex;align-items:center;justify-content:center;margin:18px 0;padding:0 12px;border:1px solid #747775;border-radius:4px;background:#fff;color:#1f1f1f;text-decoration:none;font-family:Roboto,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.25px;box-sizing:border-box;transition:background .15s,border-color .15s,box-shadow .15s}.google-signin:hover{background:#f8faff;border-color:#747775;box-shadow:0 1px 2px rgba(60,64,67,.3)}.google-signin:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}.google-signin img{position:absolute;left:11px;width:18px;height:18px;object-fit:contain}.google-signin span{line-height:1}.trend-up{color:#187548}.trend-down{color:#aa352d}.trend-stable{color:#6b737a}.resource-card{display:flex;flex-direction:column;gap:7px}.resource-card .resource-meta{display:flex;gap:6px;flex-wrap:wrap}.governance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.oauth-purpose-panel{margin:30px -30px 0;padding:44px max(30px,calc((100vw - 1480px)/2));display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:70px;align-items:center;border-left:0;border-right:0;border-radius:0;background:#f7f8f9}.oauth-purpose-panel h2{margin:8px 0 0;font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-.035em}.oauth-purpose-panel>p{font-size:16px;line-height:1.7;margin:0;max-width:850px;color:#59636b}.google-integration{margin:0 0 80px;border:1px solid #d8dde1;border-radius:16px;background:#f7f8f9;overflow:hidden}.google-integration summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.google-integration summary::-webkit-details-marker{display:none}.google-integration summary span{display:flex;flex-direction:column;gap:4px}.google-integration summary strong{font-size:15px}.google-integration summary small{font-size:12px;color:#717a82}.google-integration summary b{font-size:22px;font-weight:400;transition:transform .2s}.google-integration[open] summary b{transform:rotate(45deg)}.google-integration-body{padding:6px 24px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.google-integration-body h3{font-size:14px;margin:0 0 7px}.google-integration-body p{font-size:13px;line-height:1.55;color:#5f6870;margin:0}.google-integration>p{padding:0 24px 20px;margin:0}@media(max-width:760px){.oauth-purpose-panel{margin-left:-30px;margin-right:-30px;padding:32px 24px;grid-template-columns:1fr;gap:16px}.google-integration-body{grid-template-columns:1fr;gap:16px}}
.question-table-head,.quick-question-row{grid-template-columns:1.35fr 1fr 1.15fr 80px 38px}.prediction-table select{min-width:180px}.prediction-table .converted-pct{white-space:nowrap}@media(max-width:900px){.question-table-head{display:none}.quick-question-row{grid-template-columns:1fr 1fr}}
.grouped-nav{align-items:center}.nav-group{position:relative;color:#cbd0d5}.nav-group summary{list-style:none;cursor:pointer;font-size:13px;padding:9px 28px 9px 11px;border-radius:7px;position:relative;user-select:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'⌄';position:absolute;right:10px;top:7px;color:#8f979f;font-size:15px}.nav-group[open] summary,.nav-group.current summary,.nav-group summary:hover{background:#ffffff12;color:#fff}.nav-group[open] summary:after{transform:rotate(180deg);top:10px}.nav-dropdown{position:absolute;top:45px;left:0;display:flex;flex-direction:column;min-width:210px;padding:7px;background:#24292f;border:1px solid #ffffff18;border-radius:10px;box-shadow:0 16px 38px #0005}.top nav .nav-dropdown a{padding:10px 11px;white-space:nowrap}.nav-dropdown-right{left:auto;right:0}.account-group{margin-left:2px}@media(max-width:950px){.grouped-nav{overflow:auto;max-height:calc(100vh - 74px)}.nav-group{width:100%}.nav-group summary{padding:11px}.nav-dropdown,.nav-dropdown-right{position:static;min-width:0;margin:2px 0 7px 12px;border:0;border-left:1px solid #ffffff1c;border-radius:0;box-shadow:none;background:transparent}.nav-group:not([open]) .nav-dropdown{display:none}.top nav .nav-dropdown a{padding:9px 12px}}
.top nav a.nav-create-qla{background:#f4f5f6;color:#171a1e;font-weight:800}.top nav a.nav-create-qla:hover,.top nav a.nav-create-qla.active{background:#fff;color:#111}.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:8px 0 24px}.dashboard-welcome h1{font-size:38px;letter-spacing:-.04em;margin:5px 0}.dashboard-welcome p{margin:0;color:#747d85}.dashboard-create{font-size:15px;padding:12px 18px}.dashboard-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.dashboard-action{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:18px;border:1px solid #d8dde1;border-radius:14px;background:#fff;color:#262b30;text-decoration:none}.dashboard-action:hover{border-color:#9ba2a8;transform:translateY(-1px)}.dashboard-action>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eff1f2;font-size:11px;font-weight:800}.dashboard-action>div{display:flex;flex-direction:column}.dashboard-action small{color:#737c84;margin-top:3px}.dashboard-action b{font-size:20px}.primary-action{background:#252a2e;color:#fff;border-color:#252a2e}.primary-action>span{background:#ffffff18}.primary-action small{color:#c8cdd1}.create-qla-hero{text-align:center;max-width:780px;margin:38px auto 26px}.create-qla-hero h1{font-size:clamp(38px,6vw,62px);letter-spacing:-.05em;margin:7px 0}.create-qla-hero p{font-size:16px;color:#68717a}.create-qla-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1100px;margin:0 auto}.create-qla-card{padding:30px}.create-qla-card h2{font-size:26px;margin:15px 0 7px}.create-qla-card>p{color:#68717a}.create-qla-card li{margin:8px 0}.create-qla-card form{margin-top:24px}.create-qla-card.recommended{border-color:#9ca3a9;box-shadow:0 14px 35px #1f29370e}.create-help{max-width:1100px;margin:18px auto;display:flex;gap:12px}.create-help span{color:#69727b}@media(max-width:900px){.dashboard-actions,.create-qla-grid{grid-template-columns:1fr}.dashboard-welcome{align-items:stretch;flex-direction:column}.dashboard-create{align-self:flex-start}.top nav a.nav-create-qla{order:-1}.create-help{flex-direction:column}}
.subject-pagehead{align-items:center}.subject-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.subject-summary>div{display:flex;align-items:baseline;gap:10px;padding:14px 17px;background:#fff;border:1px solid #dce0e3;border-radius:12px}.subject-summary strong{font-size:24px}.subject-summary span{font-size:12px;color:#6d757d}.subject-tabs{display:flex;gap:5px;border-bottom:1px solid #d9dde0;margin-bottom:22px}.subject-tabs a{padding:11px 15px;text-decoration:none;color:#656e76;font-weight:700;font-size:13px;border-bottom:2px solid transparent}.subject-tabs a.active{color:#20252a;border-color:#20252a}.subject-tabs span{display:inline-grid;place-items:center;min-width:22px;height:20px;margin-left:5px;padding:0 6px;border-radius:999px;background:#eceeef;font-size:10px}.subject-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.subject-card{display:flex;flex-direction:column;margin:0;min-height:250px}.subject-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.subject-initial{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#272c30;color:#fff;font-weight:850}.subject-card h2{margin:18px 0 4px}.subject-card>p{margin:0 0 12px;color:#737b83}.subject-card details{margin-top:auto}.subject-card summary{cursor:pointer;font-size:13px;font-weight:700}.topic-preview{padding-left:22px;max-height:210px;overflow:auto}.topic-preview li{padding:4px 0;color:#505960}.subject-card-footer{min-height:34px;margin-top:16px;padding-top:12px;border-top:1px solid #e5e8ea}.subject-empty{display:flex;flex-direction:column;align-items:center}.marketplace-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.marketplace-filters .field{margin:0}.marketplace-layout{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(340px,1.1fr);gap:18px;align-items:start}.marketplace-list{background:#fff;border:1px solid #dce0e3;border-radius:14px;overflow:hidden}.marketplace-result-head{display:flex;justify-content:space-between;padding:14px 16px;background:#f3f5f6;font-size:12px;color:#6d757d}.marketplace-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;padding:13px 15px;border-top:1px solid #e6e8ea;color:#252a2f;text-decoration:none}.marketplace-row:hover,.marketplace-row.selected{background:#f5f6f7}.marketplace-row .subject-initial{width:34px;height:34px}.marketplace-row>span:nth-child(2){display:flex;flex-direction:column}.marketplace-row small{color:#747c84;margin-top:2px}.marketplace-row>b{font-size:11px;color:#667078}.imported-check{color:#2d7547!important}.marketplace-detail{position:sticky;top:88px}.marketplace-detail h2{font-size:26px;margin:14px 0 3px}.marketplace-topics{max-height:340px}.subject-dialog{width:min(720px,calc(100% - 24px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:18px;box-shadow:0 25px 80px #0006}.subject-dialog::backdrop{background:#11182099;backdrop-filter:blur(3px)}.subject-dialog form{padding:26px}.dialog-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:21px}.dialog-head h2{font-size:28px;margin:4px 0}.dialog-head p{margin:0;color:#6d757d}.dialog-close{width:36px;height:36px;border:0;border-radius:9px;background:#eef0f1;font-size:22px;cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid #e1e4e6}@media(max-width:850px){.subject-summary{grid-template-columns:1fr}.marketplace-filters,.marketplace-layout{grid-template-columns:1fr}.marketplace-detail{position:static}.subject-tabs{overflow:auto}.marketplace-row{grid-template-columns:38px 1fr}.marketplace-row>b{grid-column:2}.subject-dialog form{padding:20px}}

/* Marketplace curriculum directory: qualification -> exam board -> subject. */
.marketplace-search{margin-bottom:16px}.marketplace-search .field{margin:0}.subject-search-row{display:grid;grid-template-columns:1fr auto auto;gap:8px}.subject-directory{background:#fff;border:1px solid #dce0e3;border-radius:14px;overflow:hidden}.directory-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#f4f5f6;border-bottom:1px solid #e0e3e5}.directory-head>div{display:flex;flex-direction:column}.directory-head span,.directory-head small{font-size:11px;color:#6e777f}.directory-level,.directory-board{margin:0}.directory-level>summary,.directory-board>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.directory-level>summary::-webkit-details-marker,.directory-board>summary::-webkit-details-marker{display:none}.directory-level>summary{padding:15px 18px;background:#fff;border-top:1px solid #e2e5e7;font-size:15px;font-weight:800}.directory-level:first-of-type>summary{border-top:0}.directory-level>summary:before,.directory-board>summary:before{content:'›';display:inline-grid;place-items:center;width:18px;height:18px;color:#747d84;transition:transform .15s}.directory-level[open]>summary:before,.directory-board[open]>summary:before{transform:rotate(90deg)}.directory-level>summary span,.directory-board>summary span{flex:1}.directory-level>summary b,.directory-board>summary b{display:grid;place-items:center;min-width:25px;height:22px;padding:0 7px;border-radius:999px;background:#eceff1;color:#606970;font-size:10px}.directory-level-body{padding:0 10px 10px;background:#f8f9f9}.directory-board{border:1px solid #e0e3e5;border-radius:10px;background:#fff;margin:8px 0;overflow:hidden}.directory-board>summary{padding:11px 13px;font-size:13px;font-weight:750}.directory-subjects{border-top:1px solid #e4e7e9}.directory-subject{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-top:1px solid #edf0f1;color:#282e33;text-decoration:none}.directory-subject:first-child{border-top:0}.directory-subject:hover,.directory-subject.selected{background:#f0f3f4}.directory-subject>span{display:flex;flex-direction:column;min-width:0}.directory-subject strong{font-size:13px}.directory-subject small{font-size:10px;color:#717a82;margin-top:2px}.directory-subject>b{flex:none;font-size:10px;color:#667078}.detail-badges{display:flex;gap:6px;flex-wrap:wrap}.spec-code{margin:0 0 12px;font-size:12px;font-weight:750;color:#667078}.source-note{padding-top:14px;border-top:1px solid #e4e7e9}.marketplace-topics li b{display:inline-block;min-width:34px;color:#20262b}@media(max-width:850px){.subject-search-row{grid-template-columns:1fr}.directory-head{align-items:flex-start}.marketplace-layout{grid-template-columns:1fr}.marketplace-detail{position:static}.marketplace-layout.has-selection .marketplace-detail{order:-1}}

/* v13.2 unified interface, colour themes and Site Admin navigation. */
:root,html[data-theme="light"]{color-scheme:light;--app-bg:#f3f5f7;--app-bg-gradient:radial-gradient(circle at 88% -12%,#fff 0,#f3f5f7 42%);--ink:#20252a;--muted:#69737d;--line:#d9dee3;--panel:#fff;--surface-2:#f6f8f9;--surface-3:#edf1f3;--field:#fff;--field-border:#c7cdd3;--hover:#eef2f4;--accent:#2d3338;--accent-ink:#fff;--nav:#15191d;--nav-2:#1d2227;--shadow:0 8px 28px rgba(25,34,42,.07);--shadow-strong:0 22px 60px rgba(20,28,36,.16);--success-bg:#e4f3e9;--success-ink:#285c3c;--danger-bg:#fae6e2;--danger-ink:#8a342e;--warning-bg:#fff3d8;--warning-ink:#765819}
html[data-theme="dark"]{color-scheme:dark;--app-bg:#0f1317;--app-bg-gradient:radial-gradient(circle at 84% -10%,#202831 0,#11161b 39%,#0d1115 100%);--ink:#e7ebee;--muted:#9ba6af;--line:#303840;--panel:#171d22;--surface-2:#1d242a;--surface-3:#242c33;--field:#12171b;--field-border:#3b4650;--hover:#252d34;--accent:#edf1f3;--accent-ink:#171b1f;--nav:#0b0f12;--nav-2:#151a1f;--shadow:0 10px 32px rgba(0,0,0,.22);--shadow-strong:0 24px 70px rgba(0,0,0,.45);--success-bg:#173426;--success-ink:#9dd7b2;--danger-bg:#40221f;--danger-ink:#f0aaa3;--warning-bg:#3c3119;--warning-ink:#ecd28e}
@media(prefers-color-scheme:dark){html[data-theme="system"]{color-scheme:dark;--app-bg:#0f1317;--app-bg-gradient:radial-gradient(circle at 84% -10%,#202831 0,#11161b 39%,#0d1115 100%);--ink:#e7ebee;--muted:#9ba6af;--line:#303840;--panel:#171d22;--surface-2:#1d242a;--surface-3:#242c33;--field:#12171b;--field-border:#3b4650;--hover:#252d34;--accent:#edf1f3;--accent-ink:#171b1f;--nav:#0b0f12;--nav-2:#151a1f;--shadow:0 10px 32px rgba(0,0,0,.22);--shadow-strong:0 24px 70px rgba(0,0,0,.45);--success-bg:#173426;--success-ink:#9dd7b2;--danger-bg:#40221f;--danger-ink:#f0aaa3;--warning-bg:#3c3119;--warning-ink:#ecd28e}}
@media(prefers-color-scheme:light){html[data-theme="system"]{color-scheme:light;--app-bg:#f3f5f7;--app-bg-gradient:radial-gradient(circle at 88% -12%,#fff 0,#f3f5f7 42%);--ink:#20252a;--muted:#69737d;--line:#d9dee3;--panel:#fff;--surface-2:#f6f8f9;--surface-3:#edf1f3;--field:#fff;--field-border:#c7cdd3;--hover:#eef2f4;--accent:#2d3338;--accent-ink:#fff;--nav:#15191d;--nav-2:#1d2227;--shadow:0 8px 28px rgba(25,34,42,.07);--shadow-strong:0 22px 60px rgba(20,28,36,.16);--success-bg:#e4f3e9;--success-ink:#285c3c;--danger-bg:#fae6e2;--danger-ink:#8a342e;--warning-bg:#fff3d8;--warning-ink:#765819}}
body{background:var(--app-bg-gradient);color:var(--ink);transition:background-color .2s,color .2s}.muted,.pagehead p,.admin-page-head p{color:var(--muted)}a{accent-color:var(--accent)}
.panel,.card,.link-card,.class-card,.choice-card,.launch-card,.workspace-card,.list-card,.admin-stat,.quick-admin-grid>a,.school-admin-card,.registration-choice,.assessment-mode,.mobile-actions a,.mobile-list-card,.learner-report-card,.priority-grid>div,.submit-bar,.digital-actions,.quick-choice,.quick-question-row,.quick-submit,.dashboard-action,.subject-summary>div,.marketplace-list,.subject-directory,.directory-level>summary,.directory-board,.mobile-mode-offer,.site-notice,.feature-showcase article,.question-builder,.google-integration{background:var(--panel);border-color:var(--line);color:var(--ink);box-shadow:var(--shadow)}
.panel{box-shadow:var(--shadow)}.panel:hover{border-color:color-mix(in srgb,var(--line),var(--ink) 14%)}.empty,.info-grid>div,.stat,.conditional-fields,.priority-box,.outcome-box,.candidate-response,.result-score,.share-code,.directory-head,.directory-level-body,.marketplace-result-head,.question-table-head,.derived-mark,.mobile-limit,.oauth-purpose-panel{background:var(--surface-2);border-color:var(--line);color:var(--ink)}
input,select,textarea{background:var(--field);border-color:var(--field-border);color:var(--ink)}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted),transparent 20%)}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--ink),var(--field-border) 25%);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink),transparent 90%)}select{color-scheme:inherit}
.btn{background:var(--panel);border-color:var(--field-border);color:var(--ink)}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:color-mix(in srgb,var(--accent),#000 12%)}.btn.danger{color:var(--danger-ink)}
.alert{background:var(--surface-3);border-color:var(--line);color:var(--ink)}.alert.success,.status-pill.success{background:var(--success-bg);border-color:color-mix(in srgb,var(--success-ink),transparent 65%);color:var(--success-ink)}.alert.error,.status-pill.danger{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger-ink),transparent 65%);color:var(--danger-ink)}.alert.warning{background:var(--warning-bg);border-color:color-mix(in srgb,var(--warning-ink),transparent 65%);color:var(--warning-ink)}.badge,.subject-tabs span,.directory-level>summary b,.directory-board>summary b,.meta-row span{background:var(--surface-3);border-color:var(--line);color:var(--ink)}
.plain th,.question-table-head{background:var(--surface-2);color:var(--muted)}.plain th,.plain td,.school-metrics,.feature-toggle-row,.admin-activity,.subject-tabs,.subject-card-footer,.learner-report-title,.source-note,.directory-subjects,.directory-subject,.quick-question-row{border-color:var(--line)}.plain tr:hover td{background:var(--hover)}.table-panel{border-radius:14px}.table-panel .plain th{position:sticky;top:0;z-index:2}.sheet-wrap,.sheet,.sheet .student,.sheet input.mark{background:var(--panel);border-color:var(--line);color:var(--ink)}.sheet th,.sheet thead tr:nth-child(2) th{background:var(--surface-2);color:var(--muted)}
.dashboard-action small,.quick-admin-grid span,.school-metrics span,.subject-summary span,.subject-card>p,.marketplace-row small,.directory-head span,.directory-head small,.directory-subject small,.spec-code,.topic-preview li,.quick-choice small,.section-heading p,.quick-submit span,.mobile-list-card small,.mobile-empty,.mobile-limit{color:var(--muted)}.dashboard-action>span,.quick-step b,.section-heading>span,.subject-initial{background:var(--surface-3);color:var(--ink)}.dashboard-action.primary-action{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.primary-action>span{background:color-mix(in srgb,var(--accent-ink),transparent 86%);color:var(--accent-ink)}.primary-action small{color:color-mix(in srgb,var(--accent-ink),transparent 18%)}
.directory-level>summary,.directory-board,.directory-subject{color:var(--ink)}.directory-subject:hover,.directory-subject.selected,.marketplace-row:hover,.marketplace-row.selected{background:var(--hover)}.subject-dialog{background:var(--panel);color:var(--ink);box-shadow:var(--shadow-strong)}.dialog-close,.remove-question:hover{background:var(--surface-3);color:var(--ink)}
.landing-strip{background:var(--line)}.landing-strip>div,.feature-showcase article{background:var(--panel)}.feature-showcase p,.landing-strip span,.oauth-purpose-panel>p,.google-integration-body p,.google-integration summary small{color:var(--muted)}.oauth-purpose-panel,.google-integration{background:var(--surface-2);border-color:var(--line)}
body.login-page,.login-shell{background:var(--app-bg);color:var(--ink)}.login-form-card,.password-reset-card{background:var(--panel);color:var(--ink)}.login-divider:before,.login-divider:after{background:var(--line)}.login-links a,.account-access-links a{color:var(--muted)}.registration-choice:has(input:checked),.role-toggle label:has(input:checked) span,.quick-choice:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--ink),transparent 65%);background:var(--surface-2)}.role-toggle span{background:var(--panel);border-color:var(--line);color:var(--ink)}.role-toggle label:has(input:checked) span{background:var(--accent);color:var(--accent-ink)}
.mobile-app{background:var(--app-bg);color:var(--ink)}.mobile-bottom-nav{background:var(--panel);border-color:var(--line)}.mobile-bottom-nav a{color:var(--muted)}.mobile-bottom-nav a.active{color:var(--ink)}
.theme-switcher{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.theme-switcher button{min-width:0;border:0;border-radius:7px;padding:7px 8px;background:transparent;color:var(--muted);font:inherit;font-size:10px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px}.theme-switcher button:hover{background:var(--hover);color:var(--ink)}.theme-switcher button.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 5px rgba(0,0,0,.12)}.theme-switcher svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-switcher-compact button{width:30px;height:29px;padding:5px}.theme-switcher-compact button span{display:none}.nav-appearance{padding:8px 8px 7px;border-bottom:1px solid #ffffff12;margin-bottom:5px}.nav-appearance>span{display:block;color:#8f98a1;font-size:9px;text-transform:uppercase;letter-spacing:.09em;margin:0 0 6px 2px}.nav-appearance .theme-switcher{border-color:#ffffff18;background:#11161a}.nav-appearance .theme-switcher button{color:#98a1aa}.nav-appearance .theme-switcher button.active{background:#30373e;color:#fff}.public-theme{display:flex;align-items:center;margin:0 4px}.public-theme .theme-switcher{border-color:#ffffff1c;background:#0f1316}.public-theme .theme-switcher button{color:#aeb6be}.public-theme .theme-switcher button.active{background:#343a40;color:#fff}
/* Site Admin becomes a grouped, scrollable desktop rail and an off-canvas mobile drawer. */
.site-admin-body{display:flex;min-height:100vh;background:var(--app-bg-gradient);color:var(--ink)}.admin-sidebar{position:sticky;top:0;flex:0 0 282px;width:282px;height:100vh;height:100dvh;padding:0;background:linear-gradient(180deg,var(--nav),#0e1215);color:#fff;display:flex;flex-direction:column;overflow:hidden;z-index:100;box-shadow:10px 0 32px rgba(0,0,0,.12)}.admin-sidebar-head{display:flex;align-items:center;gap:8px;padding:18px 15px 12px;border-bottom:1px solid #ffffff0d}.admin-brand{flex:1;padding:0;grid-template-columns:38px 1fr}.admin-brand small{color:#8b969f}.admin-sidebar-close{display:none;border:0;background:#ffffff0b;color:#fff;width:34px;height:34px;border-radius:8px;font-size:22px}.admin-sidebar nav{flex:1;min-height:0;overflow-y:auto;padding:10px 10px 18px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:#394047 transparent}.admin-nav-group{display:flex;flex-direction:column;gap:2px}.admin-nav-label{padding:8px 10px 4px;color:#6f7b84;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.admin-sidebar nav a{position:relative;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:#aeb7bf;font-size:12.5px;font-weight:650;line-height:1.2}.admin-sidebar nav a svg,.admin-session-links svg,.admin-menu-button svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.admin-sidebar nav a:hover{background:#ffffff0a;color:#fff}.admin-sidebar nav a.active{background:linear-gradient(90deg,#ffffff17,#ffffff09);color:#fff;box-shadow:inset 2px 0 #f1f4f6}.admin-sidebar-bottom{margin:0;padding:13px;border-top:1px solid #ffffff0d;display:flex;flex-direction:column;gap:12px}.admin-profile{display:flex;align-items:center;gap:10px;min-width:0}.admin-profile>span:last-child{min-width:0;display:flex;flex-direction:column}.admin-profile strong,.admin-profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-profile strong{font-size:12px}.admin-profile small{font-size:10px;color:#7f8a93}.admin-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#eef1f3;color:#1b2024;display:grid;place-items:center;font-weight:850}.admin-appearance>span{display:block;margin-bottom:6px;color:#717d86;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.admin-appearance .theme-switcher{border-color:#ffffff12;background:#090d10}.admin-appearance .theme-switcher button{color:#89949d}.admin-appearance .theme-switcher button.active{background:#2a3137;color:#fff}.admin-session-links{display:flex;align-items:center;gap:12px;padding-top:10px;border-top:1px solid #ffffff0d}.admin-session-links a{display:flex;align-items:center;gap:5px;color:#929ca5;font-size:10.5px;text-decoration:none}.admin-session-links a:hover{color:#fff}.admin-session-links a:first-child{margin-right:auto}.admin-content{flex:1;min-width:0}.admin-main{width:min(1480px,100%);margin:0 auto;padding:38px clamp(24px,3.3vw,54px) 64px}.admin-page-head{padding-bottom:18px;border-bottom:1px solid var(--line)}.admin-page-head h1{font-size:clamp(30px,3vw,40px)}.admin-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-stat{box-shadow:var(--shadow)}.admin-stat span{color:var(--muted)}.admin-mobile-topbar,.admin-sidebar-backdrop{display:none}
@media(max-width:950px){.public-theme{margin:5px 0}.public-theme .theme-switcher{width:112px}.site-admin-body{display:block}.admin-content{width:100%}.admin-mobile-topbar{height:60px;position:sticky;top:0;z-index:80;display:grid;grid-template-columns:38px auto 1fr;align-items:center;gap:10px;padding:0 14px;background:var(--nav);color:#fff;box-shadow:0 5px 20px rgba(0,0,0,.25)}.admin-mobile-topbar>a{display:flex;align-items:center;gap:7px;color:#fff;text-decoration:none;font-weight:850}.admin-mobile-topbar img{width:29px;height:29px}.admin-mobile-topbar>span{justify-self:end;color:#9da6ae;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-menu-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff14;border-radius:9px;background:#ffffff08;color:#fff}.admin-sidebar{position:fixed;left:0;top:0;width:min(310px,88vw);height:100dvh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 60px rgba(0,0,0,.42)}.admin-sidebar-close{display:block}.admin-nav-open .admin-sidebar{transform:translateX(0)}.admin-sidebar-backdrop{position:fixed;inset:0;z-index:90;border:0;background:#05080bb8;backdrop-filter:blur(2px)}.admin-nav-open .admin-sidebar-backdrop{display:block}.admin-main{padding:24px 18px 48px}.admin-page-head{margin-bottom:18px}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filters{grid-template-columns:1fr}}
@media(max-width:600px){.public-theme .theme-switcher{width:100%}.theme-switcher:not(.theme-switcher-compact) button span{display:none}.admin-main{padding:20px 12px 42px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-stat{padding:15px}.admin-stat strong{font-size:26px}.admin-page-head{display:block}.admin-page-head .actions{margin-top:12px}.pagehead{flex-direction:column}.pagehead .btn{align-self:flex-start}.plain th,.plain td{padding:10px 9px}.table-panel{margin-left:-4px;margin-right:-4px}.site-footer{margin-top:38px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.login-showcase{color:#f5f7f8}.login-showcase h1,.login-showcase h2{color:#f5f7f8}.registration-choice>input,.role-toggle input{width:1px;height:1px;overflow:hidden}.choice-card input{width:auto}.theme-switcher-floating{position:fixed;right:18px;top:18px;z-index:300;width:112px;border-color:#ffffff1e;background:#11161ae8;backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.25)}.theme-switcher-floating button{color:#aeb7bf}.theme-switcher-floating button.active{background:#353c43;color:#fff}.theme-switcher-floating button span{display:none}.mobile-theme-control{margin-left:auto;margin-right:12px}.mobile-theme-control .theme-switcher{border-color:#ffffff1c;background:#0e1215}.mobile-theme-control .theme-switcher button{color:#909ba4}.mobile-theme-control .theme-switcher button.active{background:#30373d;color:#fff}@media(max-width:600px){.theme-switcher-floating{right:10px;top:10px}.mobile-theme-control{margin-right:6px}.mobile-app-head>div:last-child strong{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* v13.3 progressive QLA formats: Basic, Full Analysis and Digital Paper. */
[hidden]{display:none!important}
.qla-format-intro{max-width:820px}.qla-format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 20px}.qla-format-card{position:relative;display:flex;gap:13px;min-height:174px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);cursor:pointer;box-shadow:var(--shadow);transition:transform .16s,border-color .16s,box-shadow .16s}.qla-format-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ink),var(--line) 65%)}.qla-format-card:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--ink),transparent 72%),var(--shadow)}.qla-format-card>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.qla-format-card>span:last-child{display:flex;min-width:0;flex-direction:column;gap:6px}.qla-format-card strong{font-size:16px;line-height:1.2}.qla-format-card small{color:var(--muted);font-size:12px;line-height:1.5}.qla-format-card em{margin-top:auto;color:var(--muted);font-size:10px;font-style:normal;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.format-step{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:var(--surface-3);color:var(--ink);font-size:12px;font-weight:850}.qla-format-card:has(input:checked) .format-step{background:var(--accent);color:var(--accent-ink)}.format-requirement{margin:-4px 0 18px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:12px}.format-requirement strong{color:var(--ink)}.qla-builder-form{display:grid;gap:18px}.qla-question-list{display:grid;gap:14px}.qla-tiered-question{padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.question-builder-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.question-builder-title>div{display:flex;align-items:center;gap:9px}.question-builder-title b{font-size:14px}.question-builder-title small{color:var(--muted)}.question-builder-main{display:grid;grid-template-columns:minmax(95px,.6fr) minmax(190px,2fr) minmax(150px,1.35fr) minmax(100px,.65fr);gap:10px}.analysis-question-fields,.digital-question-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:11px;padding-top:12px;border-top:1px solid var(--line)}.analysis-question-fields .wide,.digital-question-fields .wide{grid-column:1/-1}.question-builder-main label,.analysis-question-fields label,.digital-question-fields label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.question-builder-main input,.analysis-question-fields input,.analysis-question-fields textarea,.digital-question-fields textarea{width:100%;text-transform:none;letter-spacing:normal}.format-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-3);color:var(--ink);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.digital-readiness{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.digital-readiness>div{display:flex;flex-direction:column;gap:4px}.digital-readiness small{color:var(--muted)}
@media(max-width:860px){.qla-format-grid{grid-template-columns:1fr}.qla-format-card{min-height:0}.question-builder-main,.analysis-question-fields,.digital-question-fields{grid-template-columns:1fr}.analysis-question-fields .wide,.digital-question-fields .wide{grid-column:auto}.digital-readiness{flex-direction:column}}

/* v13.4 missing-subject requests and Site Admin review. */
.missing-subject-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 19px;background:var(--surface-2)}.missing-subject-cta>div{display:flex;flex-direction:column;gap:3px}.missing-subject-cta span{color:var(--muted);font-size:12px}.subject-request-dialog{width:min(780px,calc(100% - 24px));overflow:auto}.subject-request-history{margin:24px -26px -26px;padding:20px 26px;border-top:1px solid var(--line);background:var(--surface-2)}.subject-request-history h3{margin:0 0 10px;font-size:14px}.subject-request-history>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line)}.subject-request-history>div:first-of-type{border-top:0}.subject-request-history>div>span:first-child{display:flex;min-width:0;flex-direction:column}.subject-request-history small{color:var(--muted)}.status-pill.request-pending{background:var(--warning-bg);color:var(--warning-ink)}.status-pill.request-researching{background:var(--surface-3);color:var(--ink)}.status-pill.request-fulfilled{background:var(--success-bg);color:var(--success-ink)}.status-pill.request-declined{background:var(--danger-bg);color:var(--danger-ink)}.subject-request-admin-list{display:grid;gap:12px}.subject-request-admin-card{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.subject-request-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.subject-request-admin-head h3{margin:8px 0 2px;font-size:19px}.subject-request-admin-head p,.subject-request-admin-head small{margin:0;color:var(--muted)}.request-notes{padding:12px;border-left:3px solid var(--line);background:var(--panel);color:var(--muted)}
@media(max-width:720px){.missing-subject-cta,.subject-request-admin-head{align-items:stretch;flex-direction:column}.subject-request-history{margin-left:-20px;margin-right:-20px;margin-bottom:-20px;padding-left:20px;padding-right:20px}.subject-request-history>div{align-items:flex-start}.subject-pagehead .actions{width:100%}.subject-pagehead .actions .btn{flex:1}}

/* v13.7 subject-linked Exam Exchange. */
.subject-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.subject-card-status{display:flex;min-width:0;align-items:center}.subject-exams-link{flex:none}.marketplace-detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}.marketplace-detail-actions form{margin:0}.exchange-pagehead{align-items:center}.exchange-context{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 19px;background:var(--surface-2)}.exchange-context>div{display:flex;min-width:0;flex-direction:column;gap:3px}.exchange-context strong{font-size:16px}.exchange-context small{color:var(--muted)}.exchange-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,340px);gap:18px;align-items:start}.exchange-results{min-width:0}.exchange-sidebar{position:sticky;top:86px}.exchange-sidebar .panel{margin:0}.exchange-sidebar h2{margin:7px 0}.wide-button{width:100%;justify-content:center}.exchange-card{display:flex;min-height:270px;flex-direction:column}.exchange-card.selected{border-color:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--ink),transparent 82%),var(--shadow)}.exchange-card-top,.exchange-card footer,.exchange-detail-head,.exchange-detail-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.exchange-card-top small,.exchange-card footer small{color:var(--muted)}.exchange-card>p{color:var(--muted)}.exchange-card footer{align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.exchange-card footer b{flex:none;font-size:11px}.exchange-detail-head>div{min-width:0}.exchange-detail-head h2{margin:9px 0 3px;font-size:clamp(24px,3vw,34px)}.exchange-detail-head p{margin:0;color:var(--muted)}.exchange-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.exchange-metrics span{display:flex;flex-direction:column;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:11px}.exchange-metrics strong{color:var(--ink);font-size:20px}.exchange-selected{margin-bottom:18px}.exchange-empty{grid-column:1/-1;min-height:230px;justify-content:center}.exchange-share-panel{margin-top:20px}.exchange-share-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none}.exchange-share-panel>summary::-webkit-details-marker{display:none}.exchange-share-panel>summary>span{display:flex;flex-direction:column;gap:3px}.exchange-share-panel>summary small{color:var(--muted)}.exchange-share-panel>summary>b{font-size:12px}.exchange-share-panel[open]>summary{padding-bottom:17px;border-bottom:1px solid var(--line)}.exchange-share-panel>form{max-width:900px;padding-top:18px}.exchange-public-detail{margin-bottom:22px}.exchange-detail-actions{align-items:center;padding-top:16px;border-top:1px solid var(--line)}.exchange-detail-actions p{margin:0}.exchange-search{align-items:center}.exchange-search .btn{flex:none}
@media(max-width:900px){.exchange-workspace{grid-template-columns:1fr}.exchange-sidebar{position:static;order:-1}.exchange-sidebar .panel{margin-bottom:18px}}
@media(max-width:650px){.subject-card-footer,.marketplace-detail-actions,.exchange-context,.exchange-detail-head,.exchange-detail-actions,.exchange-share-panel>summary{align-items:stretch;flex-direction:column}.subject-exams-link,.marketplace-detail-actions .btn,.marketplace-detail-actions form,.marketplace-detail-actions form .btn{width:100%;justify-content:center}.exchange-metrics{grid-template-columns:1fr}.exchange-card{min-height:0}.exchange-search{align-items:stretch}}

/* v13.11 awarding-body artwork. Original supplied images are cropped only in CSS. */
.exam-board-logo{position:relative;display:inline-grid;flex:none;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff;vertical-align:middle;box-shadow:0 2px 7px rgba(20,28,36,.08)}.exam-board-logo img{position:absolute;display:block;max-width:none}.exam-board-logo-card.board-aqa{width:44px;height:44px}.exam-board-logo-card.board-aqa img{inset:0;width:100%;height:100%;object-fit:cover}.exam-board-logo-card.board-ocr{width:78px;height:44px}.exam-board-logo-card.board-ocr img{left:0;top:-17px;width:78px;height:78px}.exam-board-logo-compact.board-aqa{width:28px;height:28px;border-radius:7px}.exam-board-logo-compact.board-aqa img{inset:0;width:100%;height:100%;object-fit:cover}.exam-board-logo-compact.board-ocr{width:54px;height:28px;border-radius:7px}.exam-board-logo-compact.board-ocr img{left:0;top:-12px;width:54px;height:54px}.exam-board-logo-inline.board-aqa{width:20px;height:20px;border-radius:6px}.exam-board-logo-inline.board-aqa img{inset:0;width:100%;height:100%;object-fit:cover}.exam-board-logo-inline.board-ocr{width:38px;height:20px;border-radius:6px}.exam-board-logo-inline.board-ocr img{left:0;top:-8px;width:38px;height:38px}.exam-board-logo-fallback{background:var(--surface-3);color:var(--ink);font-weight:850}.exam-board-logo-card.exam-board-logo-fallback{width:44px;height:44px}.exam-board-logo-compact.exam-board-logo-fallback{width:28px;height:28px}.exam-board-logo-inline.exam-board-logo-fallback{width:20px;height:20px;font-size:9px}.exam-board-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 3px;white-space:nowrap}.exam-board-badge b{font-size:10px;line-height:1;font-weight:800}.subject-card-top>div{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.directory-board>summary>.directory-board-label{display:flex;flex:1;align-items:center;gap:10px;min-width:0}.directory-board>summary>.directory-board-label>.exam-board-logo{flex:0 0 auto}.directory-board>summary>.directory-board-label>span:last-child{flex:0 1 auto}.marketplace-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.exchange-context-label{display:flex;align-items:center;gap:9px}.exchange-context-label strong{min-width:0}.exchange-context-label .exam-board-logo-inline.board-aqa{width:28px;height:28px}.exchange-context-label .exam-board-logo-inline.board-ocr{width:54px;height:28px}.exchange-context-label .exam-board-logo-inline.board-ocr img{top:-12px;width:54px;height:54px}.meta-row .exam-board-badge{display:inline-flex}.meta-row .exam-board-badge .exam-board-logo,.meta-row .exam-board-badge b{margin:0;padding:0;border:0;background:transparent;color:inherit}.subject-profile-meta,.resource-subject-meta,.admin-board-line,.admin-board-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.subject-profile-meta>span:not(.exam-board-badge):not(.exam-board-logo),.resource-subject-meta>span:not(.exam-board-badge):not(.exam-board-logo){color:var(--muted)}.resource-subject-meta{margin:7px 0}.admin-board-line{margin-top:5px}.admin-board-line .exam-board-badge{flex:none}.admin-board-heading{margin-bottom:10px}.admin-board-heading h2{margin:4px 0 0}
.exam-board-logo-card.board-edexcel{width:90px;height:44px}.exam-board-logo-card.board-edexcel img{left:0;top:-23px;width:90px;height:90px}.exam-board-logo-compact.board-edexcel{width:60px;height:28px;border-radius:7px}.exam-board-logo-compact.board-edexcel img{left:0;top:-16px;width:60px;height:60px}.exam-board-logo-inline.board-edexcel{width:42px;height:20px;border-radius:6px}.exam-board-logo-inline.board-edexcel img{left:0;top:-11px;width:42px;height:42px}.exchange-context-label .exam-board-logo-inline.board-edexcel{width:60px;height:28px}.exchange-context-label .exam-board-logo-inline.board-edexcel img{top:-16px;width:60px;height:60px}
@media(max-width:650px){.marketplace-detail-heading{align-items:flex-start}.exam-board-logo-card.board-ocr{width:68px;height:40px}.exam-board-logo-card.board-ocr img{top:-15px;width:68px;height:68px}.admin-board-heading{align-items:flex-start}}
@media(max-width:650px){.exam-board-logo-card.board-edexcel{width:80px;height:40px}.exam-board-logo-card.board-edexcel img{top:-20px;width:80px;height:80px}}

/* v13.12 unified Subject Exchange + Exam Exchange experience. */
.exchange-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}.exchange-switcher>a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--ink);text-decoration:none;box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease,background .15s ease}.exchange-switcher>a:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--line),var(--ink) 22%);background:var(--surface-2)}.exchange-switcher>a.active{border-color:color-mix(in srgb,var(--ink),transparent 50%);box-shadow:0 0 0 2px color-mix(in srgb,var(--ink),transparent 90%),var(--shadow)}.exchange-switcher>a>span{display:flex;min-width:0;flex-direction:column;gap:2px}.exchange-switcher b{font-size:15px}.exchange-switcher small{color:var(--muted);font-size:11px}.exchange-switcher>a>strong{padding:5px 9px;border-radius:999px;background:var(--surface-3);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.exchange-filter-panel{padding:17px 18px}.exchange-filter-grid{display:grid;grid-template-columns:minmax(260px,1.65fr) repeat(3,minmax(150px,.75fr));gap:11px;align-items:end}.exchange-filter-grid .field{margin:0}.exchange-filter-grid label{font-size:11px;text-transform:uppercase;letter-spacing:.045em;color:var(--muted)}.exchange-filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.exchange-filter-actions .small{margin-left:auto}.exchange-section-title{margin:6px 0 12px}.exchange-section-title h2{margin:2px 0 2px;font-size:20px}.exchange-card{position:relative;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.exchange-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--line),var(--ink) 20%);box-shadow:var(--shadow-strong)}.exchange-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--ink),transparent 12%),transparent)}.exchange-card-identity,.exchange-detail-identity{display:flex;align-items:flex-start;gap:12px;min-width:0}.exchange-card-identity>div{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.exchange-card h2{margin:18px 0 7px;font-size:19px;letter-spacing:-.015em}.exchange-card-subject{display:flex;flex-direction:column;gap:2px;margin:14px 0;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.exchange-card-subject strong{font-size:13px}.exchange-card-subject span{color:var(--muted);font-size:11px}.exchange-detail-identity>div:last-child{min-width:0}.exchange-detail-identity h2{margin-top:8px}.exchange-import-card{overflow:hidden}.exchange-import-card:before{content:"";display:block;height:3px;margin:-22px -22px 18px;background:var(--ink)}.public-exchange-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.public-exchange-intro>div{display:flex;gap:12px;align-items:flex-start;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.public-exchange-intro>div.active{border-color:color-mix(in srgb,var(--ink),transparent 58%);box-shadow:var(--shadow)}.public-exchange-intro>div>span:last-child{display:flex;flex-direction:column;gap:3px}.public-exchange-intro strong{font-size:14px}.public-exchange-intro small{color:var(--muted)}.exchange-number{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:8px;background:var(--surface-3);font-size:10px;font-weight:850}.marketplace-search{border-radius:13px}.subject-directory,.marketplace-detail{border-radius:13px}.subject-tabs{margin-top:2px}.subject-summary>div{position:relative;overflow:hidden}.subject-summary>div:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:color-mix(in srgb,var(--ink),transparent 80%)}
@media(max-width:1050px){.exchange-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.exchange-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exchange-search-field{grid-column:1/-1}}
@media(max-width:720px){.exchange-switcher,.public-exchange-intro{grid-template-columns:1fr}.exchange-filter-grid{grid-template-columns:1fr}.exchange-search-field{grid-column:auto}.exchange-filter-actions{align-items:stretch}.exchange-filter-actions .btn{flex:1}.exchange-filter-actions .small{width:100%;margin-left:0}.exchange-card-identity,.exchange-detail-identity{align-items:flex-start}.exchange-card-top{gap:8px}.exchange-card-top>small{white-space:nowrap}}

/* v13.13 — exam PDF import */
.pdf-import-shell{margin:0 0 18px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,var(--panel),var(--surface-2));overflow:hidden}.pdf-import-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px}.pdf-import-intro h3,.pdf-review-head h3{margin:4px 0 5px}.pdf-import-intro p{max-width:800px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.pdf-import-panel{border-top:1px solid var(--line);padding:20px 22px;background:var(--panel)}.pdf-import-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);gap:18px}.pdf-dropzone{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;border:1.5px dashed color-mix(in srgb,var(--ink),transparent 65%);border-radius:13px;background:var(--surface-2);cursor:pointer;transition:.15s}.pdf-dropzone:hover,.pdf-dropzone.dragging{border-color:var(--ink);background:var(--surface-3)}.pdf-dropzone input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.pdf-drop-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:var(--ink);color:var(--panel);font-size:11px;font-weight:900;letter-spacing:.08em}.pdf-dropzone strong{font-size:15px}.pdf-dropzone small{color:var(--muted)}.pdf-import-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pdf-import-options>label:not(.check-row){display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700}.pdf-import-options .check-row{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:12px}.pdf-import-options .check-row input{width:auto;margin-top:2px}.pdf-import-status{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:12px}.pdf-import-status.working{background:var(--surface-2);border:1px solid var(--line)}.pdf-import-status.success{background:#edf7f0;border:1px solid #bdd9c5;color:#245c36}.pdf-import-status.error{background:#fff0ef;border:1px solid #e3bbb7;color:#8a3029}.pdf-import-review{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.pdf-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.pdf-board-badge{padding:7px 10px;border-radius:999px;background:var(--ink);color:var(--panel);font-size:11px;font-weight:850}.pdf-review-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.pdf-review-stats>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);display:flex;flex-direction:column;gap:2px}.pdf-review-stats strong{font-size:20px}.pdf-review-stats span{font-size:10px;color:var(--muted)}.pdf-review-warnings{display:grid;gap:7px;margin:12px 0}.pdf-review-warnings p{margin:0;padding:9px 11px;border-left:3px solid #9a7a43;background:#fbf6ea;font-size:11px;line-height:1.45}.pdf-question-preview{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:11px}.pdf-preview-row{display:grid;grid-template-columns:52px minmax(0,1fr) 46px 86px;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid var(--line);font-size:11px}.pdf-preview-row:first-child{border-top:0}.pdf-qno{font-weight:850}.pdf-qtext{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.pdf-page{color:var(--muted)}.pdf-mark{text-align:right}.pdf-mark.missing{color:#a2433d}.pdf-preview-more{padding:10px 12px;text-align:center;color:var(--muted);font-size:11px}.question-builder-title{display:flex;align-items:center;gap:8px;grid-column:1/-1}.question-builder-title .remove-question{margin-left:auto}.question-imported-badge{padding:3px 6px;border-radius:6px;background:var(--surface-3);font-size:9px;font-weight:900;letter-spacing:.06em}
@media(max-width:850px){.pdf-import-grid{grid-template-columns:1fr}.pdf-import-options{grid-template-columns:1fr}.pdf-import-options .check-row{grid-column:auto}.pdf-review-stats{grid-template-columns:1fr 1fr}.pdf-import-intro{align-items:flex-start;flex-direction:column}.pdf-preview-row{grid-template-columns:44px minmax(0,1fr) 70px}.pdf-page{display:none}}
.pdf-board-badge{display:flex;align-items:center;gap:8px}.pdf-board-badge img{display:block;max-width:68px;max-height:24px;object-fit:contain;background:#fff;border-radius:4px;padding:2px}

/* v13.14 — official paper library, source-aware delivery and self marking */
.official-paper-head p{max-width:900px}.official-digitise-batch .section-title{align-items:center}.official-digitise-batch .section-title>div{max-width:850px}.official-digitise-batch .section-title p{margin:5px 0 0;color:var(--muted);font-size:12px}.official-digitise-batch .actions{align-items:center;flex-wrap:wrap}.check-inline{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.check-inline input{width:auto}.official-paper-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.official-paper-stats.admin{grid-template-columns:repeat(4,minmax(0,1fr))}.official-paper-stats>div{display:flex;flex-direction:column;gap:2px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.official-paper-stats strong{font-size:22px;letter-spacing:-.025em}.official-paper-stats span{font-size:11px;color:var(--muted)}.official-paper-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.official-paper-filters .field{margin:0}.official-paper-filters .span-2{grid-column:span 2}.official-paper-filters .actions{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.official-paper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;margin-bottom:18px}.official-paper-card{display:flex;flex-direction:column;margin:0;min-height:100%}.official-paper-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.official-paper-meta{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 8px}.official-paper-meta span{font-size:10px;font-weight:750;padding:4px 7px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2)}.official-paper-card h2{margin:0 0 3px;font-size:20px}.paper-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted);margin:0 0 10px}.paper-structure{display:flex;gap:8px;align-items:center;margin:4px 0 12px;padding:9px 11px;border-radius:9px;background:var(--surface-2);font-size:11px}.paper-structure span{color:var(--muted)}.official-source-links{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:8px}.official-source-links .source-link{font-size:11px;color:var(--muted)}.official-paper-import{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.official-paper-import .field{margin:0}.official-paper-import .btn{align-self:end}.official-paper-empty h2{margin-bottom:6px}.official-paper-licence-note{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start}.official-paper-licence-note p{margin:0;color:var(--muted)}.admin-paper-list{display:grid;gap:8px}.admin-paper-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.admin-paper-row:first-child{border-top:0}.admin-paper-row>div:nth-child(2){display:flex;flex-direction:column}.admin-paper-row>div:nth-child(2) span,.admin-paper-row>small{color:var(--muted);font-size:11px}.admin-paper-row>small{grid-column:2/-1}.update-safety{margin-bottom:18px}.update-safety ul{margin-bottom:0}.online-policy-box{margin:15px 0;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.online-policy-box h3{margin:0 0 5px;font-size:14px}.online-policy-box p{margin:0 0 10px;font-size:12px;color:var(--muted)}.share-link-stack{display:grid;gap:8px;margin-top:14px}.share-code.self{border-style:dashed}.attention-card{outline:2px solid color-mix(in srgb,var(--ink),transparent 75%)}.dashboard-marking-inbox{margin:0 0 18px}.dashboard-marking-list{display:grid;gap:6px}.dashboard-marking-list .list-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-marking-list .list-card span{grid-column:1}.dashboard-marking-list .list-card em{grid-column:2;grid-row:1/3;font-style:normal;font-size:11px;font-weight:800}.marking-queue-card span{display:flex;gap:4px;flex-wrap:wrap}.marking-queue-card span b{color:var(--ink)}.practice-source-badge{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.practice-source-badge>span,.attempt-mode-banner strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:850}.attempt-mode-banner{display:flex;flex-direction:column;gap:3px;margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.attempt-mode-banner span{font-size:12px;color:var(--muted)}.attempt-mode-banner.self{border-style:dashed}.official-mark-scheme-access{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.official-mark-scheme-access h2{margin:3px 0 4px}.official-mark-scheme-access p{margin:0;max-width:850px;color:var(--muted);font-size:12px}.self-mark-form{display:grid;gap:12px}.self-mark-question{margin:0}.self-mark-score{display:grid;grid-template-columns:minmax(180px,320px) 100px auto;align-items:end;gap:8px;margin-top:12px}.self-mark-score label{grid-column:1/-1}.self-mark-score input{grid-column:2}.self-mark-score span{padding-bottom:10px;color:var(--muted)}.official-source-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-4px 0 18px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:12px}.official-source-strip strong{margin-right:auto}.official-source-strip span{color:var(--muted)}
@media(max-width:950px){.official-paper-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.official-paper-stats.admin{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-paper-row{grid-template-columns:64px minmax(0,1fr) auto}.admin-paper-row>.actions{grid-column:2/-1}.official-mark-scheme-access{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.official-paper-stats,.official-paper-stats.admin,.official-paper-filters,.official-paper-import{grid-template-columns:1fr}.official-paper-filters .span-2{grid-column:auto}.official-paper-grid{grid-template-columns:1fr}.official-paper-licence-note{grid-template-columns:1fr}.admin-paper-row{grid-template-columns:1fr}.admin-paper-row>small,.admin-paper-row>.actions{grid-column:auto}.self-mark-score{grid-template-columns:1fr auto}.self-mark-score input{grid-column:1}.official-mark-scheme-access .btn{width:100%}}

/* v13.15 — official materials & copyright policy */
.official-materials-policy{max-width:1040px}.official-materials-policy>h1{margin-bottom:12px}.legal-callout{margin:22px 0;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.legal-callout strong{display:block;margin-bottom:5px}.legal-callout p{margin:0;color:var(--muted)}.legal-callout-important{border-left:4px solid var(--warning-ink);background:var(--warning-bg);color:var(--warning-ink)}.legal-callout-important p{color:inherit}.legal-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 24px}.legal-board-card{display:flex;flex-direction:column;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.legal-board-card h3{margin:0 0 8px;font-size:17px}.legal-board-card p{margin:0 0 16px;color:var(--muted);font-size:13px}.legal-board-card .btn{margin-top:auto;align-self:flex-start}.legal-source-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 22px}.official-materials-policy a:not(.btn){text-decoration:underline;text-underline-offset:2px}.official-paper-licence-note>div{display:grid;gap:8px}.official-paper-licence-note .source-link{font-size:12px;font-weight:750;text-decoration:none}@media(max-width:860px){.legal-board-grid{grid-template-columns:1fr}.official-paper-licence-note{grid-template-columns:1fr}}

/* v13.16 — logged-in QLA workspace uses the same left-rail shell as Site Admin. */
.app-shell-body{background:var(--app-bg-gradient);color:var(--ink)}
.app-sidebar .admin-sidebar-head{padding-bottom:14px}
.app-brand{min-width:0}
.app-brand>span{font-size:18px;line-height:1.05}
.app-brand small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0;font-size:10px}
.app-sidebar nav{gap:9px}
.app-sidebar .admin-nav-group{gap:2px}
.app-sidebar nav a.app-nav-accent{margin-top:3px;background:#edf1f4;color:#14191d;font-weight:850;box-shadow:0 5px 14px rgba(0,0,0,.15)}
.app-sidebar nav a.app-nav-accent:hover,.app-sidebar nav a.app-nav-accent.active{background:#fff;color:#0d1114;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.app-sidebar-bottom{gap:11px}
.app-session-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding-top:9px;border-top:1px solid #ffffff0d}
.app-session-links a{display:flex;min-width:0;flex-direction:column;align-items:center;gap:4px;padding:6px 3px;border-radius:7px;color:#929ca5;font-size:9px;line-height:1.1;text-align:center;text-decoration:none}
.app-session-links a:hover{background:#ffffff08;color:#fff}
.app-session-links svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app-content{display:flex;min-height:100vh;min-width:0;flex-direction:column}
.app-main{flex:1;width:min(1580px,100%);padding:34px clamp(22px,3vw,48px) 52px}
.app-main .site-notice{margin-bottom:18px}
.app-site-footer{margin-top:0}
.app-shell-body .sheet th{top:0}
.app-shell-body .sheet thead tr:nth-child(2) th{top:44px}
@media(max-width:950px){
  .app-main{padding:24px 18px 46px}
  .app-shell-body .sheet th{top:60px}
  .app-shell-body .sheet thead tr:nth-child(2) th{top:104px}
}
@media(max-width:600px){
  .app-main{padding:20px 12px 38px}
  .app-session-links a{font-size:8.5px}
}
@media print{
  .app-sidebar,.app-mobile-topbar,.admin-sidebar-backdrop{display:none!important}
  .app-content{display:block;width:100%!important}
  .app-main{width:100%;max-width:none;padding:0}
  .app-shell-body .sheet th,.app-shell-body .sheet thead tr:nth-child(2) th{top:0}
}

/* v13.17 — Official paper catalogue is populated from a verified source-link seed and live board discovery. */

/* v13.20 — Official past papers live inside Exam Exchange as the OFFICIAL section. */
.exam-exchange-tabs{margin-top:-2px;margin-bottom:18px}.exam-exchange-tabs .official-tab{letter-spacing:.035em}.exam-exchange-tabs .official-tab.active{font-weight:850}.official-paper-identity{display:flex;align-items:center;gap:9px;min-width:0}.official-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:var(--ink);color:var(--panel);font-size:9px;font-weight:900;letter-spacing:.085em;line-height:1}.official-exchange-card{border-top:3px solid color-mix(in srgb,var(--ink),transparent 10%)}

/* v13.21 — Global OFFICIAL template review + mark-scheme reconciliation. */
.official-admin-review{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0;padding:11px 12px;border:1px dashed var(--line);border-radius:10px;background:var(--surface-2)}
.official-admin-review span{color:var(--muted);font-size:11px;font-weight:650}
.official-review-source .section-title{margin-bottom:12px}.official-review-source .actions{align-items:center}
.official-review-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.official-review-stats .stat{padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.official-review-stats .stat span{display:block;color:var(--muted);font-size:11px}.official-review-stats .stat b{display:block;margin-top:5px;font-size:20px}.official-review-stats .stat b.ok{color:var(--success-ink)}.official-review-stats .stat b.bad{color:var(--warning-ink)}
.official-review-questions{display:grid;gap:14px}.official-review-question{margin:0}.official-review-question .grid.two{align-items:start}.official-review-question textarea{min-height:150px;font-family:inherit}.official-review-question .status-pill{margin-left:auto}.sticky-actions{position:sticky;bottom:14px;z-index:4;padding:12px;margin-top:16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel),transparent 4%);box-shadow:0 10px 28px rgba(15,23,42,.12)}
@media(max-width:900px){.official-review-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.official-review-question .grid.two{grid-template-columns:1fr}}
@media(max-width:560px){.official-review-stats{grid-template-columns:1fr}.official-admin-review{align-items:stretch;flex-direction:column}.official-admin-review .btn{width:100%}}


/* v14.1 — cohesive workspace UI, spreadsheet editors and compact authenticated footer. */
:focus-visible{outline:3px solid color-mix(in srgb,var(--accent),#4c8dff 62%);outline-offset:2px}
button,.btn,a{transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}
.btn{min-height:38px;padding:9px 13px;border-radius:9px;font-weight:700;line-height:1.15;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,23,42,.07)}
.btn:active{transform:translateY(0);box-shadow:none}
.btn.compact,.btn.small{min-height:32px;padding:6px 10px;border-radius:8px;font-size:11.5px}
.btn:disabled,button:disabled{cursor:not-allowed;opacity:.52;transform:none!important;box-shadow:none!important}
.actions,.toolbar{gap:9px}

/* Section-level links should read as deliberate controls, not raw inline anchors. */
.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.section-head>h2,.section-head>div h2{margin:0}
.section-action,.section-head>a:not(.btn){display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--ink);text-decoration:none;font-size:11.5px;font-weight:750;white-space:nowrap}
.section-action:hover,.section-head>a:not(.btn):hover{background:var(--hover);border-color:color-mix(in srgb,var(--line),var(--ink) 20%)}
.section-action b{font-size:13px;font-weight:700;color:var(--muted)}
.source-link,.app-main a:not(.btn):not(.list-card):not(.dashboard-action):not(.exchange-card):not(.class-card):not(.directory-subject):not(.subject-tabs a):not(.section-action){text-underline-offset:2px}

/* Spreadsheet-style data tables — closer to the landing-page sheet preview. */
.table-panel{padding:0;overflow:hidden;border-radius:15px}
.table-panel>.section-head,.table-panel>.pagehead{padding:18px 20px 0}
.table-panel .plain{margin:0}
.plain{width:100%;border-collapse:separate;border-spacing:0;background:var(--panel)}
.plain th,.plain td{padding:11px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.plain tr>*:last-child{border-right:0}
.plain tbody tr:last-child td{border-bottom:0}
.plain th{height:38px;background:var(--surface-2);font-size:10px;font-weight:800;letter-spacing:.065em;text-transform:uppercase;color:var(--muted)}
.plain tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--surface-2),transparent 56%)}
.plain tbody tr:hover td{background:var(--hover)}
.plain td .btn{white-space:nowrap}
.qla-list-panel .plain th:first-child,.qla-list-panel .plain td:first-child{padding-left:18px}
.qla-list-panel .plain th:last-child,.qla-list-panel .plain td:last-child{padding-right:18px}

.sheet-wrap{position:relative;overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:var(--shadow)}
.sheet{border-collapse:separate;border-spacing:0;min-width:max-content;background:var(--panel)}
.sheet th,.sheet td{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.sheet th{height:42px;background:var(--surface-2);font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.sheet thead tr:nth-child(2) th{background:color-mix(in srgb,var(--surface-2),var(--panel) 35%)}
.sheet tbody tr:nth-child(even) td:not(.gold):not(.green):not(.orange):not(.red){background:color-mix(in srgb,var(--surface-2),transparent 64%)}
.sheet tbody tr:hover td:not(.gold):not(.green):not(.orange):not(.red){background:var(--hover)}
.sheet .student{background:var(--panel);box-shadow:1px 0 0 var(--line)}
.sheet tbody .student{padding:9px 12px;font-size:12px}
.sheet input.mark{min-height:40px;border:0;border-radius:0;background:transparent;font-variant-numeric:tabular-nums}
.sheet input.mark:focus{position:relative;z-index:2;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent),#4c8dff 55%)}
.sheet .max,.sheet .pct{font-variant-numeric:tabular-nums}
html[data-theme="dark"] .gold{background:#4b421d!important;color:#f4e7a4!important}
html[data-theme="dark"] .green{background:#193a29!important;color:#b9e3c7!important}
html[data-theme="dark"] .orange{background:#49301d!important;color:#f2c7a2!important}
html[data-theme="dark"] .red{background:#472320!important;color:#f0b6b0!important}
html[data-theme="dark"] .none{background:var(--panel)!important;color:var(--ink)!important}

/* Question creation is a sheet editor rather than a stack of unrelated cards. */
.qla-editor-sheet{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 14px 35px rgba(20,28,36,.08)}
.qla-editor-toolbar{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 15px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.qla-editor-toolbar strong{font-size:12.5px}
.qla-editor-toolbar>span{margin-left:auto;color:var(--muted);font-size:10.5px}
.qla-editor-dots{display:flex;gap:5px}
.qla-editor-dots i{display:block;width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--muted),transparent 55%)}
.qla-editor-columns{display:grid;grid-template-columns:64px minmax(110px,.7fr) minmax(210px,1.8fr) minmax(170px,1.25fr) minmax(90px,.55fr);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-2),var(--panel) 25%);color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.075em}
.qla-editor-columns span{padding:8px 11px;border-right:1px solid var(--line)}
.qla-editor-columns span:last-child{border-right:0}
.qla-editor-rows{gap:0}
.qla-editor-rows .question-builder{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0;margin:0;padding:0;border:0;border-radius:0;border-bottom:1px solid var(--line);background:var(--panel);box-shadow:none}
.qla-editor-rows .question-builder:last-child{border-bottom:0}
.qla-editor-rows .question-builder:hover{background:color-mix(in srgb,var(--surface-2),transparent 60%)}
.qla-editor-rows .question-builder-title{grid-column:1;grid-row:1 / span 3;display:flex;min-height:100%;margin:0;padding:11px 8px;align-items:center;justify-content:flex-start;flex-direction:column;gap:8px;border-right:1px solid var(--line);background:var(--surface-2)}
.qla-editor-rows .question-builder-title .question-index{font-size:10px;line-height:1.25;text-align:center;color:var(--ink)}
.qla-editor-rows .question-builder-title .remove-question{margin:auto 0 0;width:28px;height:28px;border-radius:7px;font-size:17px}
.qla-editor-rows .question-imported-badge{font-size:8px}
.qla-editor-rows .question-builder-main{grid-column:2;display:grid;grid-template-columns:minmax(110px,.7fr) minmax(210px,1.8fr) minmax(170px,1.25fr) minmax(90px,.55fr);gap:0;padding:0}
.qla-editor-rows .question-builder-main>label{min-width:0;padding:9px 10px;border-right:1px solid var(--line)}
.qla-editor-rows .question-builder-main>label:last-child{border-right:0}
.qla-editor-rows .question-builder-main label,.qla-editor-rows .analysis-question-fields label,.qla-editor-rows .digital-question-fields label{gap:5px;font-size:8.5px;letter-spacing:.055em}
.qla-editor-rows .question-builder-main input,.qla-editor-rows .question-builder-main select{min-height:36px;padding:8px 9px;border-radius:7px}
.qla-editor-rows .analysis-question-fields,.qla-editor-rows .digital-question-fields{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:10px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-2),transparent 48%)}
.qla-editor-rows .digital-question-fields textarea,.qla-editor-rows .analysis-question-fields textarea{min-height:92px}
.qla-editor-rows .question-builder-detail{display:grid;grid-template-columns:1fr 1.25fr;gap:10px}
.qla-editor-sheet .question-table-footer{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin:0;padding:11px 13px;border-top:1px solid var(--line);background:var(--surface-2)}
.qla-editor-sheet .question-table-footer>span{margin-left:auto;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.class-qla-editor .question-table-footer .btn.primary{margin-left:auto}

/* Authenticated footer — hosti.me-inspired structure, adapted to the QLA workspace. */
.app-site-footer{width:auto;margin:0;padding:0;background:#111418;color:#c9ced4;border:0;border-top:1px solid #252b31;box-shadow:0 -10px 34px rgba(9,12,15,.08)}
.app-footer-surface{padding:40px clamp(22px,3vw,48px) 20px;background:linear-gradient(180deg,#12161a 0%,#101316 100%)}
.app-footer-grid{display:grid;grid-template-columns:minmax(280px,2fr) repeat(3,minmax(150px,1fr));gap:clamp(26px,3vw,48px);max-width:1580px;margin:0 auto}
.app-footer-grid section{min-width:0}
.app-footer-brand{display:flex;flex-direction:column;align-items:flex-start}
.app-footer-logo{display:inline-flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-size:19px;font-weight:850;letter-spacing:-.02em}
.app-footer-logo img{width:34px;height:34px}
.app-footer-brand p{max-width:430px;margin:14px 0 16px;color:#8e98a2;font-size:12.5px;line-height:1.65}
.app-footer-hosti{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #30373e;border-radius:8px;background:#181d22;color:#b8c0c8;font-size:11px;font-weight:700;text-decoration:none;transition:border-color .16s ease,background .16s ease,color .16s ease}
.app-footer-hosti:hover{border-color:#46505a;background:#1d2329;color:#fff}
.app-footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.app-footer-column h3{margin:2px 0 8px;color:#fff;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.11em}
.app-footer-column a{color:#a5afb8;font-size:11.5px;line-height:1.4;text-decoration:none;transition:color .16s ease,transform .16s ease}
.app-footer-column a:hover{color:#fff;transform:translateX(2px)}
.app-footer-legal a{max-width:210px}
.app-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1580px;margin:32px auto 0;padding-top:18px;border-top:1px solid #272d33;color:#727d87;font-size:10.5px}
.app-footer-bottom nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.app-footer-bottom a{color:#929ca5;text-decoration:none}
.app-footer-bottom a:hover{color:#fff}
.app-footer-primary,.app-footer-product,.app-footer-separator,.app-footer-project,.app-footer-links,.app-footer-meta,.app-footer-intro{display:none}

/* Keep buttons intentional on small screens instead of forcing every button full width. */
@media(max-width:1100px){
  .qla-editor-columns{display:none}
  .qla-editor-rows .question-builder-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qla-editor-rows .question-builder-main>label:nth-child(2n){border-right:0}
  .qla-editor-rows .question-builder-main>label:nth-child(n+3){border-top:1px solid var(--line)}
  .app-footer-grid{grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(130px,1fr));gap:26px}
}
@media(max-width:760px){
  .section-head{align-items:flex-start}.section-action,.section-head>a:not(.btn){flex:none}
  .table-panel{overflow-x:auto}
  .qla-editor-rows .question-builder{grid-template-columns:46px minmax(0,1fr)}
  .qla-editor-rows .question-builder-title{padding:10px 5px}
  .qla-editor-rows .question-builder-main{grid-template-columns:1fr}
  .qla-editor-rows .question-builder-main>label{border-right:0;border-top:1px solid var(--line)}
  .qla-editor-rows .question-builder-main>label:first-child{border-top:0}
  .qla-editor-rows .analysis-question-fields,.qla-editor-rows .digital-question-fields,.qla-editor-rows .question-builder-detail{grid-template-columns:1fr}
  .qla-editor-sheet .question-table-footer{flex-wrap:wrap}
  .class-qla-editor .question-table-footer .btn.primary{margin-left:0}
  .app-footer-surface{padding:34px 18px 18px}
  .app-footer-grid{grid-template-columns:1fr 1fr;gap:28px 22px}
  .app-footer-brand{grid-column:1/-1}
  .app-footer-bottom{align-items:flex-start;flex-direction:column;gap:10px;margin-top:26px}
  .app-footer-bottom nav{justify-content:flex-start}
  .actions .btn,.toolbar .btn{width:auto}
}
@media(max-width:520px){
  .app-main{padding-left:12px;padding-right:12px}
  .pagehead,.page-head{gap:12px}
  .pagehead .actions,.page-head .actions{width:100%}
  .pagehead .actions .btn,.page-head .actions .btn{flex:1 1 auto}
  .section-head{gap:8px}.section-head>h2{font-size:17px}.section-action,.section-head>a:not(.btn){padding:5px 8px;font-size:10.5px}
  .qla-editor-toolbar>span{display:none}
  .qla-editor-rows .question-builder{grid-template-columns:40px minmax(0,1fr)}
  .qla-editor-sheet .question-table-footer>.btn{width:auto}
  .qla-editor-sheet .question-table-footer>span{width:100%;margin-left:0}
  .app-footer-surface{padding:30px 16px 18px}
  .app-footer-grid{grid-template-columns:1fr;gap:24px}
  .app-footer-brand{grid-column:auto}
  .app-footer-brand p{margin-top:12px}
  .app-footer-column{padding-top:2px}
}
@media(min-width:1700px){
  .app-main{width:min(1680px,100%);padding-left:56px;padding-right:56px}
  .app-footer-surface{padding-left:56px;padding-right:56px}
}
@media print{.app-site-footer{display:none!important}.qla-editor-sheet{box-shadow:none}}

@media(max-width:620px){
  .qla-list-panel{padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
  .qla-list-panel .plain,.qla-list-panel .plain tbody{display:block;background:transparent}
  .qla-list-panel .plain thead,.qla-list-panel .plain>tr:first-child{display:none}
  .qla-list-panel .plain tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:10px;border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}
  .qla-list-panel .plain td{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:4px;padding:10px 11px!important;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)!important}
  .qla-list-panel .plain td:first-child{grid-column:1/-1;padding:13px 14px!important}
  .qla-list-panel .plain td:nth-child(4){border-right:0}
  .qla-list-panel .plain td:before{content:attr(data-label);display:block;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
  .qla-list-panel .plain td:first-child:before,.qla-list-panel .plain .qla-list-action:before{display:none}
  .qla-list-panel .plain .qla-list-action{grid-column:1/-1;display:block;padding:9px 11px!important;border-right:0;border-bottom:0;background:var(--surface-2)!important}
  .qla-list-panel .plain .qla-list-action .btn{width:100%}
}

/* v14.1 create-QLA entry point uses the same spreadsheet visual language as the public product. */
.create-qla-hero{max-width:1100px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:52px;align-items:center;text-align:left;margin:30px auto 26px}
.create-qla-copy h1{font-size:clamp(40px,5vw,62px);letter-spacing:-.05em;margin:7px 0}
.create-qla-copy p{max-width:650px;margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.create-qla-sheet-preview{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:0 20px 50px rgba(20,28,36,.12);transform:rotate(.45deg)}
.mini-sheet-bar{height:42px;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.mini-sheet-bar i{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--muted),transparent 48%)}
.mini-sheet-bar strong{margin-left:6px;font-size:10px;color:var(--ink)}
.mini-sheet-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr)}
.mini-sheet-grid>*{min-width:0;padding:9px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px}
.mini-sheet-grid>*:nth-child(4n){border-right:0}.mini-sheet-grid>*:nth-last-child(-n+4){border-bottom:0}
.mini-sheet-grid>b{background:var(--surface-2);color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.mini-sheet-grid>strong{font-variant-numeric:tabular-nums}
@media(max-width:900px){.create-qla-hero{grid-template-columns:1fr;gap:24px}.create-qla-sheet-preview{max-width:620px;width:100%;transform:none}}
@media(max-width:560px){.create-qla-hero{margin-top:12px}.create-qla-sheet-preview{display:none}.create-qla-copy h1{font-size:40px}}

.panel>.section-title>a:not(.btn),.section-title .section-action{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--ink);font-size:11.5px;font-weight:750;text-decoration:none}.panel>.section-title>a:not(.btn):hover{background:var(--hover)}
@media(max-width:700px){
  .exam-list-panel{padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
  .exam-list-panel .plain,.exam-list-panel .plain tbody{display:block;background:transparent}
  .exam-list-panel .plain>tbody>tr,.exam-list-panel .plain>tr:not(:first-child){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px;border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}
  .exam-list-panel .plain>tbody>tr:first-child,.exam-list-panel .plain>tr:first-child{display:none}
  .exam-list-panel .plain td{display:flex;min-width:0;flex-direction:column;gap:4px;padding:10px 11px!important;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)!important}
  .exam-list-panel .plain td:first-child{grid-column:1/-1;padding:13px 14px!important}
  .exam-list-panel .plain td:nth-child(3),.exam-list-panel .plain td:nth-child(5){border-right:0}
  .exam-list-panel .plain td:before{content:attr(data-label);display:block;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
  .exam-list-panel .plain td:first-child:before,.exam-list-panel .plain .exam-list-action:before{display:none}
  .exam-list-panel .plain .exam-list-action{grid-column:1/-1;display:block;border-right:0;border-bottom:0;background:var(--surface-2)!important}
  .exam-list-panel .plain .exam-list-action .btn{width:100%}
}

/* v14.1.1 — visual system refinement: intentional toolbars, filters, dashboard and workbook chrome. */
.pagehead,.page-head{align-items:flex-start;margin-bottom:24px}
.pagehead h1,.page-head h1{font-size:clamp(28px,2.5vw,38px);line-height:1.08;letter-spacing:-.038em;color:var(--ink)}
.pagehead>div>p,.page-head>div>p{max-width:760px;line-height:1.55}
.pagehead>.actions,.page-head>.actions,.pagehead>.toolbar,.page-head>.toolbar{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);box-shadow:0 2px 8px rgba(15,23,42,.035)}
.pagehead>.actions form,.page-head>.actions form,.pagehead>.toolbar form,.page-head>.toolbar form{display:flex;gap:5px;margin:0}
.pagehead>.actions .btn,.page-head>.actions .btn,.pagehead>.toolbar .btn,.page-head>.toolbar .btn{min-height:34px;padding:7px 10px;background:transparent;border-color:transparent;box-shadow:none}
.pagehead>.actions .btn:hover,.page-head>.actions .btn:hover,.pagehead>.toolbar .btn:hover,.page-head>.toolbar .btn:hover{background:var(--panel);border-color:var(--line);box-shadow:0 1px 4px rgba(15,23,42,.05);transform:none}
.pagehead>.actions .btn.primary,.page-head>.actions .btn.primary,.pagehead>.toolbar .btn.primary,.page-head>.toolbar .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}

.filter-panel{padding:13px 14px;margin-bottom:16px;border-radius:13px;background:color-mix(in srgb,var(--panel) 88%,var(--surface-2));box-shadow:none}
.filter-panel .field{margin:0}
.filter-panel label{margin-bottom:5px;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.filter-panel input,.filter-panel select{min-height:38px;padding:8px 10px;border-radius:8px;background:var(--field)}
.filter-panel .filter-button .actions{gap:6px;flex-wrap:nowrap}
.filter-panel .filter-button .btn{min-height:38px;white-space:nowrap}

/* Dashboard shortcuts use the same icon language as the navigation rail. */
.dashboard-actions{gap:10px}
.dashboard-action{min-height:94px;padding:16px 17px;border-radius:13px;box-shadow:0 3px 12px rgba(20,28,36,.045)}
.dashboard-action>span{width:36px;height:36px;border-radius:9px}
.dashboard-action>span svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.dashboard-action>div strong{font-size:13px;line-height:1.25}
.dashboard-action small{font-size:10.5px;line-height:1.45}
.dashboard-action>b{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;color:var(--muted);font-size:20px;font-weight:500}
.dashboard-action:hover>b{background:var(--surface-2);color:var(--ink)}
.dashboard-action.primary-action>b{color:color-mix(in srgb,var(--accent-ink),transparent 15%)}
.dashboard-action.primary-action:hover>b{background:color-mix(in srgb,var(--accent-ink),transparent 86%);color:var(--accent-ink)}
.dashboard-welcome{padding-bottom:2px}
.dashboard-welcome h1{font-size:clamp(32px,3.3vw,46px)}
.cards .card{box-shadow:0 3px 12px rgba(20,28,36,.035)}
.cards .card>span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.065em}
.cards .card>strong{font-variant-numeric:tabular-nums}

/* Lists behave like deliberate navigation rows rather than loose card links. */
a.list-card{position:relative;padding:13px 42px 13px 14px;border-radius:10px;box-shadow:none}
a.list-card:after{content:'›';position:absolute;right:14px;top:50%;translate:0 -50%;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;color:var(--muted);font-size:18px;line-height:1}
a.list-card:hover:after{background:var(--surface-2);color:var(--ink)}
a.list-card strong{font-size:12.5px}
a.list-card span{font-size:10.5px;line-height:1.45}
.dashboard-marking-list a.list-card{padding-right:92px}
.dashboard-marking-list a.list-card:after{display:none}
.dashboard-marking-list .list-card em{right:14px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--ink)}

/* Format choice is a compact product control rather than three generic promo cards. */
.qla-format-grid{gap:0;margin:16px 0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel)}
.qla-format-card{min-height:128px;margin:0;padding:16px 17px;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;transform:none!important;background:var(--panel)}
.qla-format-card:last-child{border-right:0}
.qla-format-card:hover{background:var(--surface-2);border-color:var(--line)}
.qla-format-card:has(input:checked){z-index:1;background:color-mix(in srgb,var(--surface-2),var(--panel) 35%);border-color:var(--line);box-shadow:inset 0 3px 0 var(--accent)}
.qla-format-card strong{font-size:14px}
.qla-format-card small{font-size:10.5px}
.qla-format-card em{font-size:8.5px}
.format-step{width:26px;height:26px;flex-basis:26px;border-radius:7px;font-size:10px}
.format-requirement{margin:10px 0 4px;border-style:dashed;box-shadow:none}

/* Section markers are quiet metadata instead of large AI-style numbered blocks. */
.quick-section{padding:22px}
.section-heading{gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.section-heading>span{display:inline-flex;width:auto;height:auto;min-width:0;padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--muted);font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.section-heading h2{font-size:17px}
.section-heading p{font-size:11.5px}

/* Spreadsheet workbook wrapper around marking grids. */
.sheet-workbook{overflow:hidden;margin-bottom:18px;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:0 10px 28px rgba(20,28,36,.07)}
.sheet-workbook-bar{display:flex;align-items:center;gap:10px;min-height:50px;padding:8px 13px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.sheet-workbook-bar>div:nth-child(2){display:flex;min-width:0;flex-direction:column}
.sheet-workbook-bar strong{font-size:12px;line-height:1.3}
.sheet-workbook-bar span:not(.sheet-workbook-state){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9.5px}
.sheet-workbook-dots{display:flex;gap:5px}
.sheet-workbook-dots i{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--muted),transparent 52%)}
.sheet-workbook-state{margin-left:auto;padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}
.sheet-workbook .sheet-wrap{margin:0;border:0;border-radius:0;box-shadow:none}
.sheet-workbook .sheet th:first-child,.sheet-workbook .sheet td:first-child{border-left:0}
.sheet-workbook .sheet tbody tr:last-child td{border-bottom:0}

/* Tables feel like sheets, with an explicit row rail on ordinary listings. */
.table-panel .plain tbody{counter-reset:qla-row}
.table-panel .plain tbody tr{counter-increment:qla-row}
.table-panel .plain td:first-child{position:relative}
.table-panel .plain td:first-child:after{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:transparent}
.table-panel .plain tbody tr:hover td:first-child:after{background:color-mix(in srgb,var(--accent),transparent 35%)}

/* Create-Qla destination cards: less marketing-card, more workspace chooser. */
.create-qla-grid{gap:12px}
.create-qla-card{position:relative;padding:24px;border-radius:13px;box-shadow:0 5px 16px rgba(20,28,36,.045)}
.create-qla-card.recommended{border-color:color-mix(in srgb,var(--accent),var(--line) 72%);box-shadow:inset 3px 0 0 var(--accent),0 5px 16px rgba(20,28,36,.045)}
.create-qla-card .badge{font-size:9px;text-transform:uppercase;letter-spacing:.055em}
.create-qla-card h2{font-size:22px;margin-top:16px}
.create-qla-card p,.create-qla-card li{font-size:12px;line-height:1.55}
.create-qla-card ul{margin:14px 0 20px;padding-left:19px}
.create-qla-card form{padding-top:16px;border-top:1px solid var(--line)}

/* Form rhythm and labels. */
.field label{color:var(--ink)}
.field>small{color:var(--muted);font-size:10.5px;line-height:1.45}
input,select,textarea{min-height:40px}
textarea{line-height:1.5}
input[type="checkbox"],input[type="radio"]{min-height:0}

@media(max-width:1000px){
  .pagehead>.actions,.page-head>.actions,.pagehead>.toolbar,.page-head>.toolbar{max-width:48%;justify-content:flex-end}
  .qla-format-grid{grid-template-columns:1fr}
  .qla-format-card{min-height:0;border-right:0;border-bottom:1px solid var(--line)}
  .qla-format-card:last-child{border-bottom:0}
  .qla-format-card:has(input:checked){box-shadow:inset 3px 0 0 var(--accent)}
}
@media(max-width:760px){
  .pagehead>.actions,.page-head>.actions,.pagehead>.toolbar,.page-head>.toolbar{max-width:none;width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .pagehead>.actions::-webkit-scrollbar,.page-head>.actions::-webkit-scrollbar,.pagehead>.toolbar::-webkit-scrollbar,.page-head>.toolbar::-webkit-scrollbar{display:none}
  .pagehead>.actions .btn,.page-head>.actions .btn,.pagehead>.toolbar .btn,.page-head>.toolbar .btn{flex:0 0 auto!important;white-space:nowrap}
  .filter-panel{padding:11px}
  .filter-panel .filter-button .actions{flex-wrap:wrap}.filter-panel .filter-button .btn{flex:1 1 auto}
  .dashboard-actions{grid-template-columns:1fr}
  .dashboard-action{min-height:78px}
  .sheet-workbook-bar>div:nth-child(2)>span{display:none}
  .sheet-workbook-state{display:none}
  .create-qla-card{padding:20px}
}
@media(max-width:520px){
  .pagehead h1,.page-head h1{font-size:29px}
  .pagehead>.actions,.page-head>.actions,.pagehead>.toolbar,.page-head>.toolbar{margin-top:2px;padding:4px;border-radius:10px}
  .dashboard-welcome{align-items:flex-start;flex-direction:column}
  .dashboard-create{width:100%}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .card{padding:14px}.card strong{font-size:24px}
  .sheet-workbook{margin-left:-2px;margin-right:-2px;border-radius:12px}
  .sheet-workbook-bar{min-height:44px;padding:7px 10px}
  .section-heading{align-items:center}
}
/* Compact row labels stay legible on phone-sized question editors. */
.qla-editor-rows .question-builder-title .question-index{white-space:nowrap;font-size:9.5px}
@media(max-width:520px){
  .qla-editor-rows .question-builder{grid-template-columns:46px minmax(0,1fr)}
  .qla-editor-rows .question-builder-title .question-index{font-size:9px}
}

/* v14.1.2 — remove remaining legacy/light-only surfaces and raw glyph styling. */
.permission-bar{
  padding:10px 12px;margin:0 0 16px;border:1px solid var(--line);border-radius:11px;
  background:var(--surface-2);color:var(--ink);box-shadow:none
}
.permission-bar>strong{font-size:10px;letter-spacing:.065em;text-transform:uppercase;color:var(--muted);margin-right:2px}
.permission{border-color:var(--line);background:var(--panel);color:var(--muted);text-decoration:none!important}
.permission.on{background:var(--success-bg);border-color:color-mix(in srgb,var(--success-ink),transparent 68%);color:var(--success-ink)}
.permission.off{opacity:.48}
.permission-bar .btn{margin-left:auto}

.consent-row,.legal-meta{background:var(--surface-2);color:var(--ink)}
.breadcrumbs{margin:-5px 0 17px;padding:7px 9px;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:11px}
.breadcrumbs a{color:var(--ink);font-weight:700;text-decoration:none}.breadcrumbs a:hover{text-decoration:none;color:var(--accent)}
.folder-card{position:relative;background:var(--panel);border-color:var(--line);border-radius:12px;box-shadow:0 2px 8px rgba(15,23,42,.025)}
.folder-card:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--ink),transparent 72%);transform:translateY(-1px)}
.folder-card .folder-icon{position:relative;width:25px;height:18px;font-size:0;border:1px solid color-mix(in srgb,var(--ink),transparent 60%);border-radius:4px;background:var(--surface-2);color:transparent}
.folder-card .folder-icon:before{content:"";position:absolute;left:2px;top:-5px;width:11px;height:5px;border:1px solid color-mix(in srgb,var(--ink),transparent 60%);border-bottom:0;border-radius:3px 3px 0 0;background:var(--surface-2)}

.pdf-import-status.success{background:var(--success-bg);border:1px solid color-mix(in srgb,var(--success-ink),transparent 64%);color:var(--success-ink)}
.pdf-import-status.error{background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger-ink),transparent 64%);color:var(--danger-ink)}
.pdf-review-warnings p{border-left-color:var(--warning-ink);background:var(--warning-bg);color:var(--warning-ink)}
.pdf-mark.missing{color:var(--danger-ink)}

/* Tables used as working data surfaces should read as sheets rather than generic website tables. */
.table-panel>.plain{margin:0}
.table-panel>.plain th{position:relative;height:34px;padding:7px 10px;font-size:9px;letter-spacing:.065em;text-transform:uppercase;font-weight:850}
.table-panel>.plain td{height:42px;padding:8px 10px;vertical-align:middle}
.table-panel>.plain tbody tr:hover td{background:color-mix(in srgb,var(--accent) 4%,var(--panel))}
.table-panel>.plain td:first-child,.table-panel>.plain th:first-child{border-left:0}
.table-panel>.plain td:last-child,.table-panel>.plain th:last-child{border-right:0}
.table-panel>.plain tr:last-child td{border-bottom:0}

/* Compact in-context navigation should not resemble default blue hyperlinks. */
.app-main a:not(.btn):not(.section-action):not(.class-card):not(.folder-card):not(.list-card):not(.exchange-card):not(.subject-card):not(.footer-logo):focus-visible{border-radius:4px}

@media(max-width:700px){
  .permission-bar{align-items:center}.permission-bar .btn{width:100%;margin-left:0;margin-top:2px}
  .breadcrumbs{width:100%;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;scrollbar-width:none}.breadcrumbs::-webkit-scrollbar{display:none}
}

/* v14.1.3 — small actions are explicit controls, not stray inline links. */
.inline-action{display:inline-flex;align-items:center;gap:5px;padding:2px 5px;margin:-2px -5px;border-radius:5px;color:var(--ink)!important;font-weight:750;text-decoration:none!important}
.inline-action:hover{background:var(--hover);color:var(--accent)!important}
.share-code .inline-action,.source-note .inline-action{white-space:nowrap}
.sheet-workbook .sheet{width:100%;min-width:max-content}

/* v14.1.4 — reusable layout helpers replace one-off inline presentation. */
.panel-narrow{max-width:760px}
.share-link-field{width:100%;margin-top:8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}
.alert.success>.share-link-field:only-child{margin-top:0}

/* v14.2 — governance, asset management, create QLA and question media */
.governance-head{align-items:flex-start}.governance-intro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}.governance-summary{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.governance-summary>span{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--text);color:var(--surface);font-size:12px;font-weight:850}.governance-summary strong{display:block;margin:1px 0 5px;font-size:14px}.governance-summary p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.governance-workflows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.governance-card:last-child{grid-column:1/-1}.governance-card-head{display:grid;grid-template-columns:44px 1fr;gap:14px;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line)}.governance-card-head h2{margin:0 0 5px}.governance-card-head p{margin:0;color:var(--muted);font-size:13px}.governance-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:11px;font-weight:900}.governance-form-action{display:flex;justify-content:flex-end;margin-top:15px}.governance-queue .plain small{display:block;color:var(--muted);margin-top:3px}.inline-status-form{display:flex;gap:8px;align-items:center}.governance-help-dialog,.asset-folder-dialog{width:min(720px,calc(100vw - 32px));border:1px solid var(--line);border-radius:16px;padding:28px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.28)}.governance-help-dialog::backdrop,.asset-folder-dialog::backdrop{background:rgba(8,10,12,.65);backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:var(--muted);font-size:27px;cursor:pointer}.governance-help-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.governance-help-steps section{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.governance-help-steps b{display:block;margin-bottom:5px}.governance-help-steps p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}

.create-qla-workspace{max-width:1500px;margin:0 auto}.create-qla-pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.create-qla-pagehead h1{margin:3px 0 7px;font-size:clamp(30px,3vw,44px)}.create-qla-pagehead p{margin:0;max-width:760px;color:var(--muted)}.create-qla-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}.create-qla-main{display:grid;gap:18px}.qla-format-list{display:grid;gap:8px}.qla-format-row{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 26px;align-items:center;gap:13px;padding:14px 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.qla-format-row:hover{border-color:var(--muted)}.qla-format-row:has(input:checked){border-color:var(--text);box-shadow:inset 3px 0 0 var(--text);background:var(--surface-2)}.qla-format-row input{position:absolute;opacity:0;pointer-events:none}.qla-format-row .format-step{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:var(--surface-3);font-size:12px;font-weight:900}.qla-format-copy{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:baseline}.qla-format-copy strong{font-size:15px}.qla-format-copy small{color:var(--muted);font-weight:700}.qla-format-copy em{grid-column:1/-1;margin-top:3px;color:var(--muted);font-size:12px;font-style:normal}.format-check{opacity:0;font-weight:900}.qla-format-row:has(input:checked) .format-check{opacity:1}.qla-destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.qla-destination-card{display:flex;flex-direction:column;min-height:345px;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.qla-destination-card.recommended{border-color:color-mix(in srgb,var(--text) 45%,var(--line));box-shadow:inset 0 3px 0 var(--text)}.qla-destination-card h3{font-size:21px;margin:10px 0 7px}.qla-destination-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.48}.qla-destination-card ul{margin:16px 0;padding-left:19px;color:var(--muted);font-size:12px;line-height:1.75}.qla-destination-card label{display:grid;gap:6px;margin-top:auto;font-size:12px;font-weight:800}.qla-destination-card .btn{margin-top:12px;justify-content:center}.create-qla-preview{position:sticky;top:24px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 16px 40px rgba(0,0,0,.07)}.create-qla-preview-head{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:12px;color:var(--muted)}.create-qla-preview-head strong{color:var(--text)}.mini-sheet{padding:0 16px 16px}.mini-sheet-row{display:grid;grid-template-columns:1.8fr repeat(3,.65fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.mini-sheet-row span,.mini-sheet-row b{padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.mini-sheet-row.head{background:var(--surface-3);font-weight:850}.mini-sheet-row b{background:var(--surface-2)}.create-qla-help{padding:16px;border-top:1px solid var(--line);background:var(--surface-2)}.create-qla-help strong{display:block;margin-bottom:6px}.create-qla-help p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}

.asset-pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.asset-pagehead h1{margin:3px 0 6px}.asset-pagehead p{max-width:850px;margin:0;color:var(--muted)}.asset-type-tabs{display:flex;gap:4px;width:max-content;margin-bottom:14px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.asset-type-tabs a{padding:8px 16px;border-radius:7px;color:var(--muted);font-size:13px;font-weight:800;text-decoration:none}.asset-type-tabs a.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.08)}.asset-manager{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:650px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.asset-tree{padding:16px;border-right:1px solid var(--line);background:var(--surface-2)}.asset-tree h2{margin:2px 7px 14px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.asset-tree-root{display:grid;grid-template-columns:28px 1fr;column-gap:8px;padding:10px;border-radius:8px;text-decoration:none;color:var(--text)}.asset-tree-root>span{grid-row:1/3;display:grid;place-items:center;font-size:17px}.asset-tree-root b{font-size:13px}.asset-tree-root small{color:var(--muted);font-size:10px}.asset-tree-root:hover,.asset-tree-root.active,.asset-tree-children a.active{background:var(--surface-3)}.asset-tree-children{display:grid;margin:6px 0 8px 20px;padding-left:10px;border-left:1px solid var(--line)}.asset-tree-children a{padding:7px 8px;border-radius:6px;color:var(--muted);font-size:12px;text-decoration:none}.asset-tree-children.nested{margin-left:14px}.asset-browser{padding:20px;min-width:0}.asset-breadcrumb{display:flex;gap:7px;align-items:center;margin-bottom:20px;color:var(--muted);font-size:12px}.asset-breadcrumb i{font-style:normal;opacity:.65}.asset-breadcrumb strong{color:var(--text)}.asset-directory-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.asset-directory-head h2{margin:0 0 4px}.asset-directory-head p{margin:0;color:var(--muted);font-size:13px}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.asset-folder-card,.asset-file-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);text-decoration:none}.asset-folder-card{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:2px 9px}.asset-folder-card>span{grid-row:1/3;font-size:24px}.asset-folder-card strong,.asset-file-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-folder-card small,.asset-file-card small{color:var(--muted);font-size:11px}.asset-folder-card.special{border-style:dashed}.asset-file-card{display:flex;flex-direction:column;gap:11px}.asset-file-card.link:hover,.asset-folder-card:hover{border-color:var(--muted);background:var(--surface-3)}.asset-file-type{width:max-content;padding:3px 6px;border-radius:5px;background:var(--surface-3);font-size:9px;font-weight:900;letter-spacing:.08em}.asset-file-card form{display:flex;gap:6px;margin-top:auto}.asset-file-card form select{min-width:0;flex:1}.asset-empty-directory{display:grid;justify-items:start;max-width:560px;padding:60px 20px}.asset-folder-icon{font-size:42px}.asset-empty-directory h2{margin:12px 0 7px}.asset-empty-directory p{margin:0 0 18px;color:var(--muted)}.asset-folder-dialog form{display:grid;gap:14px}.asset-folder-dialog label{display:grid;gap:6px;font-weight:800}.template-question-list{display:grid;gap:12px}

.question-source-assets,.official-review-assets,.question-edit-assets{display:grid;gap:10px;margin:14px 0}.question-source-visual{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.question-source-visual img{display:block;width:100%;height:auto;max-height:900px;object-fit:contain}.question-source-visual figcaption{position:absolute;right:7px;bottom:7px;max-width:calc(100% - 14px);padding:5px 8px;border-radius:5px;background:rgba(10,12,14,.82);color:#fff;font-size:10px;font-weight:750;line-height:1.2;backdrop-filter:blur(2px)}.question-asset-upload{display:grid;gap:6px;margin-top:12px;padding:11px;border:1px dashed var(--line);border-radius:8px;background:var(--surface-2);font-size:12px;font-weight:800}.question-asset-upload small{color:var(--muted);font-weight:500}.danger-zone{border-color:color-mix(in srgb,#d64242 40%,var(--line));background:color-mix(in srgb,#d64242 4%,var(--surface))}

@media(max-width:1180px){.governance-intro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.create-qla-layout{grid-template-columns:1fr}.create-qla-preview{position:static;max-width:620px}.qla-destination-grid{grid-template-columns:1fr 1fr}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.governance-workflows{grid-template-columns:1fr}.governance-card:last-child{grid-column:auto}.governance-help-steps{grid-template-columns:1fr}.create-qla-pagehead,.asset-pagehead,.asset-directory-head{flex-direction:column}.qla-destination-grid{grid-template-columns:1fr}.qla-destination-card{min-height:0}.asset-manager{grid-template-columns:1fr}.asset-tree{border-right:0;border-bottom:1px solid var(--line)}.asset-tree-children{display:none}.asset-tree-root{grid-template-columns:28px 1fr}.asset-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.governance-intro-grid,.asset-grid{grid-template-columns:1fr}.governance-summary{grid-template-columns:32px 1fr}.inline-status-form{align-items:stretch;flex-direction:column}.qla-format-row{grid-template-columns:34px 1fr 22px;padding:12px}.qla-format-copy{grid-template-columns:1fr}.qla-format-copy small{margin-top:2px}.create-qla-preview{display:none}.asset-type-tabs{width:100%}.asset-type-tabs a{flex:1;text-align:center;padding:8px}.asset-browser{padding:14px}.question-source-visual figcaption{font-size:9px}}
.paper-preview>summary{display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer;list-style:none}.paper-preview>summary::-webkit-details-marker{display:none}.paper-preview>summary span{color:var(--muted);font-size:12px}.paper-preview[open]>summary{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}.paper-preview-list{display:grid;gap:14px}.paper-preview-question{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.paper-preview-question>p{white-space:normal;line-height:1.55}.paper-preview-question .question-number{display:flex;justify-content:space-between;gap:12px;font-weight:850}.paper-preview-question .question-number span{color:var(--muted);font-size:12px}

/* v14.3 — unified Create QLA workflow and spreadsheet template editor */
.qla-create-flow,.template-editor-page{max-width:1540px;margin:0 auto}
.qla-flow-head,.template-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 22px}
.qla-flow-head>div,.template-editor-head>div{min-width:0}.qla-flow-head h1,.template-editor-head h1{margin:4px 0 7px;font-size:clamp(31px,3vw,46px);letter-spacing:-.025em}.qla-flow-head p,.template-editor-head p{max-width:860px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.qla-flow-form{display:grid;grid-template-columns:176px minmax(0,1fr);gap:18px;align-items:start}
.qla-flow-steps{position:sticky;top:20px;display:grid;gap:3px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.qla-flow-steps a{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:800;text-decoration:none}.qla-flow-steps a:hover{background:var(--surface-3);color:var(--text)}.qla-flow-steps b{display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:var(--surface);border:1px solid var(--line);font-size:10px;color:var(--text)}
.qla-flow-section,.qla-flow-submit{grid-column:2;min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 6px 22px rgba(20,28,36,.035)}
.qla-flow-section{padding:22px;margin-bottom:0}.qla-flow-section-copy{display:grid;grid-template-columns:minmax(0,1fr);max-width:880px;margin-bottom:18px}.step-kicker{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.qla-flow-section-copy h2{margin:5px 0 6px;font-size:22px}.qla-flow-section-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.audience-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.workflow-choice{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:84px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer}.workflow-choice input{position:absolute;opacity:0}.workflow-choice:has(input:checked){background:var(--surface);border-color:var(--text);box-shadow:inset 3px 0 0 var(--text)}.workflow-choice-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:17px}.workflow-choice strong{display:block;font-size:14px}.workflow-choice small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}
.workflow-context-panels{margin-top:12px}.workflow-context{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.workflow-context[hidden]{display:none!important}.workflow-context label{display:grid;gap:6px;font-size:12px;font-weight:800}.workflow-context label>span{color:var(--muted);font-weight:500}.workflow-context textarea{resize:vertical}
.source-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.source-upload-card{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.source-upload-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.source-upload-title strong{display:block}.source-upload-title small{display:block;color:var(--muted);font-size:10px}.source-upload-card>input[type=file]{width:100%;padding:8px;border:1px dashed var(--line);border-radius:8px;background:var(--surface)}.resource-pdf-icon{display:grid;place-items:center;min-width:34px;height:34px;padding:0 5px;border-radius:7px;background:var(--text);color:var(--surface);font-size:9px;font-weight:900;letter-spacing:.04em}.switch-row,.build-from-source{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.switch-row{margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.switch-row input,.build-from-source input{margin-top:3px}.switch-row b,.build-from-source strong{display:block;font-size:12px}.switch-row small,.build-from-source small{display:block;margin-top:2px;color:var(--muted);font-size:10.5px;line-height:1.4}.build-from-source{margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.build-from-source:has(input:checked){border-color:var(--text);background:var(--surface)}
.workflow-format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.workflow-format{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;gap:10px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);cursor:pointer}.workflow-format input{position:absolute;opacity:0}.workflow-format:has(input:checked){border-color:var(--text);background:var(--surface);box-shadow:inset 0 3px 0 var(--text)}.workflow-format .format-step{display:grid;place-items:center;width:29px;height:29px;border-radius:6px;background:var(--surface-3);font-size:10px;font-weight:900}.workflow-format strong{display:block;font-size:13px}.workflow-format small{display:block;margin-top:1px;color:var(--text);font-size:10px;font-weight:750}.workflow-format em{display:block;margin-top:5px;color:var(--muted);font-size:10.5px;line-height:1.35;font-style:normal}.workflow-format i{opacity:0;font-style:normal;font-weight:900}.workflow-format:has(input:checked) i{opacity:1}.workflow-details-grid,.template-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.workflow-details-grid label,.template-meta-grid label{display:grid;gap:6px;min-width:0;font-size:11px;font-weight:800}.workflow-details-grid .span-2,.template-meta-grid .span-2{grid-column:span 2}
.manual-source-notice{display:flex;gap:9px;align-items:center;padding:11px 13px;margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);font-size:12px}.manual-source-notice span{color:var(--muted)}
.workflow-sheet,.template-sheet{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.workflow-sheet-toolbar,.template-sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:11px}.workflow-sheet-toolbar span,.template-sheet-toolbar span{color:var(--muted)}.workflow-sheet-scroll,.template-sheet-scroll{overflow:auto}.workflow-sheet-head,.workflow-question-row{display:grid;grid-template-columns:38px 76px 150px 140px 74px minmax(220px,1.35fr) minmax(220px,1.25fr) 140px 170px 86px 38px;min-width:1370px}.template-sheet-head,.template-sheet-row{display:grid;grid-template-columns:38px 76px 140px 130px 70px minmax(210px,1.3fr) minmax(210px,1.2fr) 130px 155px 86px 38px;min-width:1340px}.workflow-sheet-head,.template-sheet-head{position:sticky;top:0;z-index:2;background:var(--surface-3);border-bottom:1px solid var(--line)}.workflow-sheet-head span,.template-sheet-head span{padding:8px 7px;border-right:1px solid var(--line);font-size:9px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}.workflow-question-row,.template-sheet-row{border-bottom:1px solid var(--line)}.workflow-question-row:last-child,.template-sheet-row:last-child{border-bottom:0}.workflow-question-row>*:not(.sheet-row-number),.template-sheet-row>*:not(.sheet-row-number){border:0;border-right:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none;min-width:0}.workflow-question-row input,.workflow-question-row textarea,.template-sheet-row input,.template-sheet-row textarea{width:100%;min-height:44px;padding:8px 7px;font-size:11px;resize:vertical}.workflow-question-row textarea,.template-sheet-row textarea{min-height:58px}.workflow-question-row:focus-within,.template-sheet-row:focus-within{position:relative;z-index:1;box-shadow:inset 3px 0 0 var(--accent)}.sheet-row-number{display:grid;place-items:center;border-right:1px solid var(--line);background:var(--surface-3);color:var(--muted);font-size:10px;font-weight:850}.sheet-remove{display:grid!important;place-items:center!important;width:auto!important;height:auto!important;padding:0!important;color:var(--muted);font-size:18px;cursor:pointer}.sheet-remove:hover{background:var(--danger-bg)!important;color:var(--danger-ink)!important}.workflow-sheet-footer,.template-sheet-footer{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface-2);font-size:10.5px;color:var(--muted)}.workflow-sheet.is-skipped{opacity:.48}.workflow-sheet.is-skipped .workflow-sheet-scroll{max-height:160px;overflow:hidden}.sheet-file-cell{position:relative;display:grid!important;place-items:center!important;cursor:pointer}.sheet-file-cell input{position:absolute!important;width:1px!important;height:1px!important;opacity:0}.sheet-file-cell span{display:inline-flex;padding:5px 7px;border:1px dashed var(--line);border-radius:6px;background:var(--surface-2);font-size:9px;font-weight:800;color:var(--muted)}.sheet-file-cell:has(input:focus-visible) span{outline:2px solid var(--accent);outline-offset:2px}
.qla-flow-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;margin-top:0;background:var(--surface-2)}.qla-flow-submit strong{display:block;font-size:13px}.qla-flow-submit span{display:block;margin-top:2px;color:var(--muted);font-size:10.5px}.btn.large{min-height:44px;padding:0 20px}
.template-meta-panel,.template-sheet-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:18px;margin-bottom:16px}.template-meta-grid{margin-top:0;padding-top:0;border-top:0}.template-sheet-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}.template-sheet-title h2{margin:4px 0}.template-sheet-title p{margin:0;color:var(--muted);font-size:12px}
.learner-resource-panel{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:18px;margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.learner-resource-panel h2{margin:4px 0 5px}.learner-resource-panel p{margin:0;color:var(--muted);font-size:12px}.learner-resource-list{display:grid;gap:7px}.learner-resource-link{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text);text-decoration:none}.learner-resource-link:hover{border-color:var(--muted);background:var(--surface-3)}.learner-resource-link strong{display:block;font-size:12px}.learner-resource-link small{display:block;color:var(--muted);font-size:10px}.learner-resource-link>b{font-size:10px}
@media(max-width:1050px){.qla-flow-form{grid-template-columns:1fr}.qla-flow-steps{position:static;grid-template-columns:repeat(4,1fr);grid-column:1}.qla-flow-steps a{grid-template-columns:26px 1fr}.qla-flow-section,.qla-flow-submit{grid-column:1}.audience-choice-grid,.workflow-format-grid{grid-template-columns:1fr}.workflow-details-grid,.template-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-upload-grid{grid-template-columns:1fr}.learner-resource-panel{grid-template-columns:1fr}}
@media(max-width:680px){.qla-flow-head,.template-editor-head,.template-sheet-title,.qla-flow-submit{align-items:stretch;flex-direction:column}.qla-flow-head .btn,.template-editor-head .actions{width:100%}.template-editor-head .actions{display:flex;overflow-x:auto}.qla-flow-steps{grid-template-columns:repeat(4,minmax(76px,1fr));overflow-x:auto}.qla-flow-steps a{display:flex;flex-direction:column;gap:4px;text-align:center;padding:8px 5px}.qla-flow-section{padding:16px}.audience-choice-grid{grid-template-columns:1fr}.workflow-details-grid,.template-meta-grid{grid-template-columns:1fr}.workflow-details-grid .span-2,.template-meta-grid .span-2{grid-column:auto}.workflow-sheet-footer,.template-sheet-footer{align-items:stretch;flex-direction:column}.workflow-sheet-footer .btn,.template-sheet-footer .btn,.qla-flow-submit .btn{width:100%}.learner-resource-link{grid-template-columns:34px minmax(0,1fr)}.learner-resource-link>b{grid-column:2}}
.assessment-source-panel{margin:0 0 16px;padding:16px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.assessment-source-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.assessment-source-link{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text);text-decoration:none}.assessment-source-link:hover{background:var(--surface-3);border-color:var(--muted)}.assessment-source-link strong{display:block;font-size:12px}.assessment-source-link small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.assessment-source-link>b{font-size:10px}
/* Compatibility aliases for newer workspace components. */
:root,html[data-theme="light"],html[data-theme="dark"],html[data-theme="system"]{--text:var(--ink);--surface:var(--panel)}


/* QLA v15 assessment intelligence */
.ao-sheet{table-layout:fixed}.ao-sheet th:not(:first-child),.ao-sheet td:not(:first-child){width:142px;min-width:142px}.ao-sheet td:not(.student){padding:0}.ao-sheet .ao-mark{width:100%;height:48px;min-width:0;border:0;border-radius:0;text-align:center;background:transparent}.ao-sheet .ao-mark:focus{background:var(--surface-2);outline:2px solid var(--focus);outline-offset:-2px}
.analytics-filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px}.analytics-filter-bar label{display:grid;gap:6px;min-width:240px;font-weight:700}.analytics-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.analytics-stat-grid>div{padding:18px;border:1px solid var(--line);background:var(--surface);border-radius:12px}.analytics-stat-grid span{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.analytics-stat-grid strong{display:block;margin-top:5px;font-size:26px}.analytics-bars{display:grid;gap:9px}.analytics-bars>div{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(180px,3fr) 70px;gap:12px;align-items:center}.analytics-bars>div>div{height:12px;border-radius:999px;background:var(--surface-3);overflow:hidden}.analytics-bars i{display:block;height:100%;background:var(--accent);border-radius:999px}.analytics-bars b{text-align:right}.analytics-table td:last-child,.analytics-table th:last-child{text-align:right}.analytics-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.analytics-student-grid>a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);text-decoration:none;color:inherit}.analytics-student-grid small{display:block;color:var(--muted);margin-top:3px}.performance-chip{padding:6px 9px;border-radius:7px}.performance-chip.gold{background:#fdf1cd;color:#5c4600}.performance-chip.green{background:#e2f2e7;color:#14532d}.performance-chip.orange{background:#fbe9d6;color:#7c3d00}.performance-chip.red{background:#f8dcd6;color:#7f1d1d}.timeline-chart{height:210px;display:flex;align-items:end;gap:8px;padding:16px 8px 28px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0}.timeline-chart>div{height:100%;flex:1;display:flex;align-items:end;position:relative}.timeline-chart i{display:block;width:100%;min-height:2px;background:var(--accent);border-radius:5px 5px 0 0}.timeline-chart small{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:var(--muted)}.timeline-list{display:grid;gap:0}.timeline-list>div{display:grid;grid-template-columns:82px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.timeline-list b{font-size:18px}.timeline-list small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:760px){.analytics-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-student-grid{grid-template-columns:1fr}.analytics-bars>div{grid-template-columns:1fr 60px}.analytics-bars>div>span{grid-column:1/-1}.analytics-filter-bar label{min-width:100%;width:100%}}


.source-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.source-type-grid label{position:relative;display:flex;gap:10px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer}.source-type-grid input{margin-top:3px}.source-type-grid strong,.source-type-grid small{display:block}.source-type-grid small{margin-top:3px;color:var(--muted)}.source-type-grid label:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.source-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.source-meta-grid label,.compact-date{display:grid;gap:6px;font-weight:700}.source-upload-card.enhanced{gap:13px}.file-drop{display:flex;align-items:center;justify-content:center;min-height:92px;padding:14px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--surface-2);text-align:center;cursor:pointer}.file-drop input{position:absolute;width:1px;height:1px;opacity:0}.file-drop b,.file-drop small{display:block}.file-drop small{margin-top:4px;color:var(--muted)}.file-drop:focus-within,.file-drop:hover{border-color:var(--accent);background:var(--surface-3)}.compact-date{font-size:12px}.qla-error-dialog{max-width:520px;border:0;border-radius:14px;padding:0;box-shadow:0 24px 80px #0006;background:var(--surface);color:var(--ink)}.qla-error-dialog::backdrop{background:#0008}.qla-error-dialog>div{padding:24px}.qla-error-dialog h2{margin:5px 0 8px}.qla-error-dialog p{color:var(--muted)}.draft-status{margin:-8px 0 14px;color:var(--muted);font-size:12px;font-weight:650}@media(max-width:760px){.source-type-grid,.source-meta-grid{grid-template-columns:1fr}}
.report-delivery-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.compact-form{display:grid;gap:10px}.compact-form label{display:grid;gap:6px;font-weight:700}.share-result-card{display:flex;gap:10px;align-items:center;margin-bottom:16px;padding:13px 15px;border:1px solid var(--success-border);background:var(--success-bg);border-radius:11px}.share-result-card>div{min-width:180px}.share-result-card span{display:block;font-size:12px;color:var(--muted)}.share-result-card input{flex:1}.pack-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.pack-options label{display:flex;gap:9px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.pack-options strong,.pack-options small{display:block}.pack-options small{margin-top:4px;color:var(--muted)}.report-student-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-student-cards article{padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.student-report-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.student-report-summary small{display:block;color:var(--muted);margin-top:3px}@media(max-width:850px){.report-delivery-grid,.pack-options,.report-student-cards{grid-template-columns:1fr}.share-result-card{align-items:stretch;flex-direction:column}}


/* QLA v15.0.1 — compact Feedback & delivery controls */
.report-page-head>.btn{min-height:34px;padding:7px 11px;font-size:12px;white-space:nowrap}
.report-delivery-grid .panel{padding:18px}
.report-delivery-grid .panel h2,.learner-pack-panel h2{margin-bottom:8px}
.report-delivery-grid .actions{gap:6px}
.report-delivery-grid .btn,.learner-pack-panel .btn,.report-student-cards .btn{min-height:32px;padding:6px 10px;border-radius:8px;font-size:11.5px;line-height:1.15;width:auto;flex:0 0 auto}
.report-delivery-grid select,.learner-pack-panel select{min-height:36px;padding:7px 10px}
.report-send-btn{min-height:36px!important;padding:8px 13px!important;font-size:12px!important;margin-top:12px;align-self:flex-start}
.learner-pack-form{display:grid;gap:12px}
.pack-options{margin:0}
.pack-options label{min-height:78px;padding:11px 12px;align-items:flex-start}
.pack-options input[type=checkbox]{width:16px;height:16px;flex:0 0 auto;margin-top:2px}
.compact-form .btn{justify-self:start}
.report-student-cards article .actions{gap:6px}
.report-student-cards article form{margin:0}
.report-student-cards .inline-email-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
.report-student-cards .inline-email-form input{min-height:34px;padding:7px 9px}
@media(max-width:680px){
  .report-page-head{display:grid;gap:12px}.report-page-head>.btn{justify-self:start}
  .report-delivery-grid .btn,.learner-pack-panel .btn,.report-student-cards .btn{width:auto!important}
  .report-send-btn{width:100%!important;justify-self:stretch}
  .report-student-cards .inline-email-form{grid-template-columns:1fr}.report-student-cards .inline-email-form .btn{justify-self:start}
}


/* QLA v15.1 — class lifecycle, progression and persistent learner placements */
.class-lifecycle-head .class-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.class-lifecycle-head .class-title-line h1{margin:0}.class-subnav{display:flex;gap:4px;position:sticky;top:0;z-index:6;width:max-content;max-width:100%;overflow:auto;margin:0 0 16px;padding:4px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px)}.class-subnav a{padding:7px 12px;border-radius:7px;color:var(--muted);font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.class-subnav a:hover{background:var(--surface-2);color:var(--text)}.class-overview-grid{align-items:start}.class-access-list{display:grid;gap:8px}.class-access-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.class-access-row:last-child{border-bottom:0}.class-access-row span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.class-roster-panel{scroll-margin-top:70px}.roster-actionbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.select-all{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:800;white-space:nowrap}.move-controls{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(180px,1fr) auto;gap:8px;align-items:center;flex:1;max-width:900px}.move-controls select,.move-controls input{min-height:36px}.class-roster-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.class-roster-table{margin:0}.class-roster-table thead th{position:sticky;top:0;z-index:2;background:var(--surface-3)}.class-roster-table .select-col{width:38px}.class-roster-table tr[draggable=true]{cursor:grab}.class-roster-table tr[draggable=true]:active{cursor:grabbing}.class-roster-table td>strong+.small{display:block}.class-add-learners,.former-learners{margin-top:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.class-add-learners>summary,.former-learners>summary{padding:11px 13px;font-weight:800;cursor:pointer}.class-add-learners form{padding:0 13px 13px}.former-learners table{margin:0;border-top:1px solid var(--line)}.class-progression-panel{scroll-margin-top:70px}.progression-workspace{display:grid;grid-template-columns:minmax(220px,.8fr) 90px minmax(220px,.8fr);gap:16px;align-items:center;margin:10px 0 18px}.progression-workspace:before{content:'→';grid-column:2;grid-row:1;place-self:center;color:var(--muted);font-size:24px;font-weight:900}.progress-class-card{grid-column:1;display:grid;gap:5px;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);cursor:grab}.progress-class-card:active{cursor:grabbing}.progress-class-card strong{font-size:18px}.progress-class-card small{color:var(--muted)}.progress-class-card .drag-hint{margin-top:8px;color:var(--muted);font-size:11px;font-weight:800}.progress-dropzone{grid-column:3;display:grid;place-items:center;align-content:center;min-height:126px;padding:17px;border:2px dashed var(--line-strong);border-radius:12px;background:var(--surface-2);text-align:center;transition:.18s}.progress-dropzone strong{margin:5px 0;font-size:18px}.progress-dropzone small{color:var(--muted)}.progress-dropzone.ready,.progress-dropzone.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface-2))}.progress-dropzone.over{transform:translateY(-2px)}.progression-form{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);transition:box-shadow .2s,border-color .2s}.progression-form.attention{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}.progress-options{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0 14px}.progress-options label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:750}.archive-class-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,320px) auto;gap:12px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.archive-class-form p{margin:3px 0 0}.archived-class-state{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.archived-class-state strong{display:block;margin:8px 0 4px}.archived-class-state p{margin:0;color:var(--muted)}.class-history-timeline{display:grid}.class-history-timeline article{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;padding:0 0 18px}.class-history-timeline article:before{content:'';position:absolute;left:6px;top:13px;bottom:-2px;width:1px;background:var(--line)}.class-history-timeline article:last-child:before{display:none}.timeline-dot{position:relative;z-index:1;width:13px;height:13px;margin-top:3px;border-radius:50%;border:3px solid var(--surface);background:var(--accent);box-shadow:0 0 0 1px var(--line)}.class-history-timeline p{margin:3px 0;color:var(--muted);font-size:12px}.class-history-timeline small{color:var(--muted);font-size:10px}
@media(max-width:900px){.roster-actionbar{align-items:stretch;flex-direction:column}.move-controls{grid-template-columns:1fr;width:100%;max-width:none}.progression-workspace{grid-template-columns:1fr 44px 1fr}.archive-class-form{grid-template-columns:1fr}.archive-class-form .btn{justify-self:start}}
@media(max-width:620px){.class-subnav{width:100%}.progression-workspace{grid-template-columns:1fr}.progression-workspace:before{content:'↓';grid-column:1;grid-row:2}.progress-class-card{grid-column:1;grid-row:1}.progress-dropzone{grid-column:1;grid-row:3}.archived-class-state{align-items:flex-start;flex-direction:column}.class-access-row{align-items:flex-start;flex-direction:column}}
.learner-history-panel{margin-top:18px}.prediction-history-chart{display:flex;align-items:end;gap:12px;min-height:190px;padding:16px 10px 36px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto}.prediction-history-chart>div{display:grid;grid-template-rows:130px auto;min-width:72px;text-align:center}.prediction-point{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.prediction-point strong{font-size:12px}.prediction-point span{display:block;width:28px;min-height:8px;border-radius:6px 6px 0 0;background:var(--accent)}.prediction-history-chart small{margin-top:7px;color:var(--muted);font-size:9px;line-height:1.35}.history-detail-list{display:grid;margin-top:14px;border-top:1px solid var(--line)}.history-detail-list>div{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);align-items:center}.history-detail-list span,.history-detail-list small{color:var(--muted);font-size:10px}.attainment-history-chart{display:flex;align-items:end;gap:8px;height:230px;padding:18px 10px 30px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto}.attainment-history-chart>div{position:relative;display:flex;align-items:end;justify-content:center;height:100%;min-width:44px}.attainment-history-chart>div>span{display:block;width:28px;min-height:4px;border-radius:5px 5px 0 0;background:var(--accent)}.attainment-history-chart b{position:absolute;bottom:calc(var(--bar-height,0%) + 2px);font-size:9px}.attainment-history-chart small{position:absolute;top:calc(100% + 7px);font-size:9px;color:var(--muted)}.learner-placement-history{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.placement-track{display:flex;gap:8px;overflow-x:auto;padding:8px 0}.placement-track article{display:grid;grid-template-columns:12px minmax(180px,1fr);gap:8px;min-width:240px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.placement-track article>span{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--accent)}.placement-track p{margin:4px 0;color:var(--muted);font-size:11px}.placement-track small{color:var(--muted);font-size:9px}@media(max-width:760px){.history-detail-list>div{grid-template-columns:1fr}.learner-history-panel>.grid.two{grid-template-columns:1fr}}


/* QLA v15.1.1 UI consistency pass */
.choice-card,
.selection-card,
.workflow-card{cursor:pointer;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:18px;transition:.15s ease}
.choice-card:hover,
.selection-card:hover,
.workflow-card:hover{border-color:#8b95a1;transform:translateY(-1px)}
.choice-card.selected,
.selection-card.selected,
.workflow-card.selected{font-weight:700;border-width:2px;background:#f7f8fa}
.choice-card input,
.selection-card input,
.workflow-card input{position:absolute;opacity:0;pointer-events:none}

.file-upload-card{border:2px dashed var(--line);border-radius:16px;padding:24px;text-align:center;background:var(--panel)}
.file-upload-card:hover{border-color:#8b95a1}
.file-upload-card .browse{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border-radius:10px;margin-top:12px}

.compact-actions{display:flex;flex-wrap:wrap;gap:8px}
.compact-actions .btn,
.class-actions .btn{min-height:36px;padding:8px 14px;border-radius:10px;font-size:14px}

.student-select-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.student-select-row.selected{background:#f5f6f7;font-weight:700}



/* QLA v15.1.1 UI2 - unified card controls */

/* Hide native visual radio/checkbox controls while keeping accessibility */
.choice-card input[type="radio"],
.choice-card input[type="checkbox"],
.selection-card input[type="radio"],
.selection-card input[type="checkbox"],
.workflow-card input[type="radio"],
.workflow-card input[type="checkbox"],
.source-option input[type="radio"],
.source-option input[type="checkbox"] {
    position:absolute;
    opacity:0;
    width:1px;
    height:1px;
}

/* Shared selectable cards */
.choice-card,
.selection-card,
.workflow-card,
.source-option {
    display:block;
    cursor:pointer;
    border:1px solid var(--line);
    border-radius:14px;
    padding:16px 18px;
    background:var(--panel);
    transition:border-color .15s ease, background .15s ease, transform .15s ease;
}

.choice-card:hover,
.selection-card:hover,
.workflow-card:hover,
.source-option:hover {
    transform:translateY(-1px);
}

.choice-card.selected,
.selection-card.selected,
.workflow-card.selected,
.source-option.selected,
.choice-card:has(input:checked),
.selection-card:has(input:checked),
.workflow-card:has(input:checked),
.source-option:has(input:checked) {
    border-width:2px;
    font-weight:700;
}

/* Compact class actions */
.class-actions,
.compact-actions {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.class-actions .btn,
.compact-actions .btn {
    min-height:36px;
    padding:8px 14px;
    border-radius:10px;
    font-size:.9rem;
}

/* Student selection rows */
.student-row,
.student-select-row {
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    margin-bottom:8px;
}

.student-row:has(input:checked),
.student-select-row:has(input:checked) {
    font-weight:700;
}

/* PDF upload cards */
.file-upload-card {
    border:2px dashed var(--line);
    border-radius:16px;
    padding:24px;
    text-align:center;
    background:var(--panel);
}

.file-upload-card input[type=file] {
    max-width:100%;
}

/* v15.1.1 processing pass - source cards */
.source-type-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
 gap:14px;
}
.source-type-grid label{
 position:relative;
 display:block;
 cursor:pointer;
}
.source-type-grid label span{
 display:flex;
 flex-direction:column;
 gap:8px;
 min-height:110px;
 justify-content:center;
 border:1px solid var(--line);
 border-radius:16px;
 padding:18px;
 background:var(--panel);
 transition:.15s ease;
}
.source-type-grid label:hover span{
 transform:translateY(-1px);
}
.source-type-grid input:checked + span{
 border:2px solid currentColor;
 font-weight:700;
}
.source-type-grid input{
 position:absolute;
 opacity:0;
}

/* qla-document-wizard */
.scan-confirm{margin-top:14px;padding:16px;border-radius:14px}
.scan-confirm ul{margin:10px 0;padding-left:20px}
.source-upload-card{transition:.15s ease}

/* v15.1.1 final workflow components */
.workflow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.workflow-card{position:relative;display:block;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel);cursor:pointer;transition:.15s}
.workflow-card:hover{border-color:#8b95a1;background:#fafafa}
.workflow-card.selected,.workflow-card:has(input:checked){border-color:#20242a;background:#f0f2f4;font-weight:700}
.workflow-card input{position:absolute;opacity:0;pointer-events:none}
.upload-card{border:2px dashed var(--line);border-radius:16px;padding:24px;text-align:center;background:var(--panel)}
.upload-card.ready{border-style:solid}
.student-row.selected{background:#f0f2f4;border-left:4px solid #20242a;font-weight:700}
.compact-actions{display:flex;flex-wrap:wrap;gap:10px}
.compact-action{padding:10px 16px;border-radius:12px;border:1px solid var(--line);background:var(--panel);font-weight:650}
.queue-status{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}

/* v15.1.1 workflow components */
.workflow-card,.selection-card,.upload-card{border:1px solid #d7dbe3;border-radius:14px;padding:1rem;background:#fff}
.selection-card.selected,.workflow-card.active{font-weight:700;border-width:2px}
.upload-card{border-style:dashed}
.student-row.selected{font-weight:700;border-left:3px solid currentColor}
.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}


/* ==========================================================================
   POST-v15.1.1 COMPONENT RULES RECOVERED FROM CURRENT SOURCE
   ========================================================================== */

.btn.secondary{background:transparent;border-color:var(--line)}
.alert.info{background:var(--accent-bg)}
.warning-text{color:#b45309;font-size:12px}
.hint-box{background:#fdf8e8;border:1px solid #e8d49c;border-radius:7px;padding:12px;font-size:13px;margin-bottom:14px}
.conditional-fields.visible{display:block}
.app-sidebar-head{padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}
.app-nav-group{padding:8px 0}
.app-nav-label{padding:8px 16px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.45);font-weight:700}
.app-profile{display:flex;align-items:center;gap:10px;font-size:13px}
.dashboard-recent-qlas .section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.dashboard-recent-list{display:flex;flex-direction:column;gap:0}
.dashboard-recent-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .1s}
.dashboard-recent-item:hover{background:var(--surface-2)}
.dashboard-recent-item:last-child{border-bottom:none}
.dashboard-recent-item strong{font-size:13px}
.dashboard-recent-item small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.dashboard-recent-item b{color:var(--muted);font-size:16px}
.document-choice{margin-top:12px}
.document-choice-card{position:relative;padding:18px;border:2px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;transition:all .12s}
.document-choice-card:has(input:checked){border-color:var(--text);box-shadow:inset 4px 0 0 var(--text)}
.document-choice-card input{position:absolute;opacity:0}
.analysis-col,.digital-col{padding:10px 12px;border-right:1px solid var(--line)}
.workflow-sheet-body{min-height:100px}
.question-number-input{width:100%;text-align:center;border:0;border-radius:0;padding:10px;font-weight:700}
.mark-input{width:100%;text-align:center;border:0;border-radius:0;padding:10px}
.is-active{opacity:1}
.is-confirmed{color:var(--success)}
.template-editor-form{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.template-sheet-body{min-height:100px}
.document-choice-card{position:relative;padding:18px;border:2px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;transition:all .12s}
.document-choice-card:has(input:checked){border-color:var(--text);box-shadow:inset 4px 0 0 var(--text)}
.document-choice-card input{position:absolute;opacity:0}
.question-section{margin-top:16px}
.grade-set{display:flex;gap:6px;align-items:center}
.grade-value{width:40px;text-align:center;padding:6px;border:1px solid var(--line);border-radius:4px;font-size:13px}
.mapping-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:14px}
.mapping-table th,.mapping-table td{padding:8px;border-bottom:1px solid #f0f0f0;text-align:left}
.mapping-table th{background:var(--surface-2);font-size:12px;font-weight:700}
.subject-library-view{margin-top:12px}
.marketplace-view{margin-top:16px}
.exchange-detail{margin-top:18px}
.marking-question{margin-bottom:18px}
.meter{height:20px;background:var(--surface-2);border-radius:10px;overflow:hidden;margin:8px 0}
.meter-fill{height:100%;border-radius:10px}
.timeline-chart,.prediction-chart{height:220px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);display:grid;place-items:center;color:var(--muted);font-size:13px}
.theme-switcher-sidebar{margin:12px 0}
.marking-question{margin-bottom:18px}
@media (max-width:1180px){
.template-editor-form{grid-template-columns:1fr}
}
@media (max-width:800px){
.grid.two,.split{grid-template-columns:1fr}
}
.oauth-purpose-heading{text-align:center;margin-bottom:12px}
body.explorer-body{margin:0;padding:0;background:#e8eaed;font-size:13px;overflow:hidden;height:100vh}
.explorer-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}
.explorer-notice{padding:8px 16px;font-size:13px;font-weight:600;text-align:center}
.explorer-notice.success{background:var(--success-bg);color:var(--success)}
.explorer-notice.error{background:var(--danger-bg);color:var(--danger)}
.explorer-titlebar{display:flex;align-items:center;justify-content:space-between;height:32px;background:#1b1f23;color:#fff;padding:0 4px 0 10px;user-select:none;-webkit-app-region:drag}
.explorer-titlebar-left{display:flex;align-items:center;gap:8px}
.explorer-titlebar-icon{width:16px;height:16px}
.explorer-titlebar-text{font-size:12px;font-weight:500;opacity:.9}
.explorer-titlebar-right{-webkit-app-region:no-drag;display:flex}
.win-btn{width:46px;height:32px;border:none;background:transparent;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}
.win-btn:hover{background:rgba(255,255,255,.1)}
.win-close:hover{background:#e81123}
.explorer-menubar{display:flex;align-items:center;height:24px;background:#f3f3f3;border-bottom:1px solid #d6d6d6;padding:0 2px;user-select:none;font-size:12px}
.menu-item{position:relative}
.menu-trigger{padding:2px 8px;border:none;background:transparent;color:var(--text);font-size:12px;cursor:pointer;border-radius:3px}
.menu-trigger:hover{background:var(--surface-3)}
.menu-item.open .menu-trigger{background:var(--surface-3)}
.menu-dropdown{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--surface);border:1px solid #ccc;border-radius:6px;box-shadow:0 6px 20px rgba(0,0,0,.15);padding:4px 0;z-index:1000}
.menu-item.open .menu-dropdown{display:block}
.menu-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 16px;border:none;background:none;color:var(--text);font-size:12px;text-align:left;cursor:pointer;white-space:nowrap}
.menu-dropdown button:hover{background:var(--accent-bg);color:var(--accent)}
.menu-dropdown button[disabled]{opacity:.4;cursor:default}
.menu-dropdown button[disabled]:hover{background:none;color:var(--text)}
.menu-sep{height:1px;background:var(--line);margin:4px 8px}
.explorer-toolbar{display:flex;align-items:center;gap:6px;height:38px;background:var(--surface);border-bottom:1px solid #d6d6d6;padding:0 8px}
.toolbar-nav{display:flex;align-items:center;gap:2px}
.tb-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid transparent;background:transparent;color:var(--text);font-size:12px;border-radius:4px;cursor:pointer;white-space:nowrap;transition:background .1s}
.tb-btn:hover:not([disabled]){background:var(--surface-3);border-color:var(--line)}
.tb-btn:disabled{opacity:.35;cursor:default}
.toolbar-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.explorer-addressbar{display:flex;align-items:center;flex:1;min-width:0;height:26px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);margin:0 4px;font-size:12px;overflow:hidden}
.address-icon{font-size:13px;margin-right:6px;flex-shrink:0}
.address-breadcrumb{display:flex;align-items:center;gap:0;overflow:hidden;white-space:nowrap;min-width:0}
.bc-segment{cursor:pointer;padding:1px 3px;border-radius:3px;flex-shrink:0;font-family:"Cascadia Code","Consolas",monospace;font-size:11.5px;color:var(--text)}
.bc-segment:hover{background:var(--accent-bg);color:var(--accent)}
.bc-sep{color:var(--muted);margin:0 1px;flex-shrink:0}
.explorer-searchbox{display:flex;align-items:center;width:240px;height:26px;padding:0 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:12px;flex-shrink:0}
.search-icon{font-size:12px;margin-right:4px;flex-shrink:0}
.explorer-searchbox input{border:none;outline:none;background:transparent;flex:1;min-width:0;font-size:12px;color:var(--text)}
.explorer-searchbox input::placeholder{color:var(--muted)}
.explorer-filterbar{display:flex;align-items:center;gap:4px;height:30px;background:var(--surface);border-bottom:1px solid #d6d6d6;padding:0 12px;overflow-x:auto}
.filter-chip{padding:3px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .15s}
.filter-chip:hover{border-color:var(--accent);color:var(--accent)}
.filter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.filter-quota{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}
.quota-bar{width:60px;height:4px;background:var(--line);border-radius:2px;overflow:hidden}
.quota-fill{display:block;height:100%;background:var(--accent);border-radius:2px;transition:width .3s}
.explorer-main{display:flex;flex:1;overflow:hidden}
.explorer-sidebar{width:220px;min-width:220px;background:var(--surface-2);border-right:1px solid #d6d6d6;overflow-y:auto;padding:8px 0;flex-shrink:0}
.sidebar-heading{padding:8px 14px 4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.sidebar-link{display:flex;align-items:center;gap:8px;padding:5px 14px;color:var(--text);text-decoration:none;font-size:12px;border-left:3px solid transparent;transition:background .1s}
.sidebar-link:hover{background:var(--surface-3)}
.sidebar-link.active{background:var(--accent-bg);border-left-color:var(--accent);color:var(--accent);font-weight:600}
.sidebar-link-nested{padding-left:28px}
.sidebar-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0}
.sidebar-hint{margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}
.explorer-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}
.explorer-view-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid #e8e8e8;background:var(--surface);flex-shrink:0}
.view-toggle{display:flex;gap:2px;padding:2px;background:var(--surface-2);border-radius:6px;border:1px solid var(--line)}
.view-btn{padding:4px 8px;border:none;background:transparent;font-size:13px;border-radius:4px;cursor:pointer;transition:background .1s}
.view-btn:hover{background:var(--surface-3)}
.view-btn.active{background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.08);color:var(--accent)}
.view-select-all{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);cursor:pointer}
.view-select-all input{width:14px;height:14px;cursor:pointer}
.explorer-grid{flex:1;overflow-y:auto;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;align-content:start}
.explorer-grid[data-view="xlarge"]{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.explorer-grid[data-view="list"]{grid-template-columns:1fr;gap:0;padding:0}
.explorer-grid[data-view="details"]{grid-template-columns:1fr;gap:0;padding:0}
.explorer-item{position:relative;display:flex;flex-direction:column;border:1px solid transparent;border-radius:6px;padding:10px;text-decoration:none;color:inherit;transition:all .1s;cursor:default;overflow:hidden}
.explorer-item:hover{background:var(--accent-bg);border-color:#c4d6ed}
.explorer-item.selected{background:var(--accent-bg);border-color:var(--accent)}
.explorer-item.dragging{opacity:.4}
.explorer-item.drop-target{border:2px dashed var(--accent);background:var(--accent-bg)}
.explorer-item[data-drop-folder]:hover{cursor:pointer}
.explorer-item-check{position:absolute;top:6px;left:6px;z-index:2;display:none;width:18px;height:18px}
.explorer-item-check input{width:14px;height:14px;cursor:pointer}
.explorer-item:hover .explorer-item-check,.explorer-item.selected .explorer-item-check{display:block}
.explorer-item-body{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}
.explorer-item-icon{font-size:32px;line-height:1;flex-shrink:0;width:40px;text-align:center}
.explorer-item-info{flex:1;min-width:0}
.explorer-item-name{font-size:13px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.explorer-item-meta{font-size:11px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.explorer-item-link{position:absolute;inset:0;z-index:1}
.explorer-item-detail-col{display:none}
.explorer-item-folder-link{cursor:pointer}
.explorer-item-folder-link:hover{background:var(--accent-bg);border-color:#c4d6ed}
.explorer-grid[data-view="xlarge"] .explorer-item-icon{font-size:48px;width:64px}
.explorer-grid[data-view="xlarge"] .explorer-item-name{font-size:14px}
.explorer-grid[data-view="xlarge"] .explorer-item-body{flex-direction:column;align-items:center;text-align:center;gap:6px}
.explorer-grid[data-view="list"] .explorer-item{flex-direction:row;align-items:center;border-bottom:1px solid #f0f0f0;border-radius:0;padding:6px 12px;gap:10px}
.explorer-grid[data-view="list"] .explorer-item:hover{border-color:#c4d6ed}
.explorer-grid[data-view="list"] .explorer-item-icon{font-size:18px;width:24px}
.explorer-grid[data-view="list"] .explorer-item-body{flex-direction:row;align-items:center;gap:8px}
.explorer-grid[data-view="list"] .explorer-item-check{position:static;display:block;flex-shrink:0}
.explorer-details-header{display:none;padding:0 12px;height:28px;align-items:center;background:var(--surface-2);border-bottom:1px solid #d6d6d6;font-size:11px;font-weight:600;color:var(--muted);user-select:none;flex-shrink:0}
.explorer-grid[data-view="details"] .explorer-item{flex-direction:row;align-items:center;border-bottom:1px solid #f0f0f0;border-radius:0;padding:4px 12px;gap:0}
.explorer-grid[data-view="details"] .explorer-item:hover{border-color:#c4d6ed}
.explorer-grid[data-view="details"] .explorer-item-icon{font-size:16px;width:20px}
.explorer-grid[data-view="details"] .explorer-item-body{flex:0 0 280px;min-width:280px;flex-direction:row;align-items:center;gap:8px}
.explorer-grid[data-view="details"] .explorer-item-name{font-size:12px;font-weight:500}
.explorer-grid[data-view="details"] .explorer-item-meta{display:none}
.explorer-grid[data-view="details"] .explorer-item-detail-col{display:block;font-size:11px;color:var(--muted);padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}
.explorer-grid[data-view="details"] .explorer-item-check{position:static;display:block;flex-shrink:0;margin-right:8px}
.explorer-grid[data-view="details"] .detail-col-name{flex:0 0 280px;min-width:280px}
.explorer-grid[data-view="details"] .detail-col-date{flex:0 0 130px}
.explorer-grid[data-view="details"] .detail-col-type{flex:0 0 80px}
.explorer-grid[data-view="details"] .detail-col-subject{flex:0 0 120px}
.explorer-grid[data-view="details"] .detail-col-questions{flex:0 0 80px}
.explorer-grid[data-view="details"] .detail-col-dept{flex:0 0 120px}
.explorer-grid[data-view="details"] .detail-col-owner{flex:0 0 100px}
.detail-col-check{flex:0 0 30px;padding-left:4px}
.detail-col-name{flex:1;cursor:pointer}
.detail-col-name:hover{color:var(--accent)}
.detail-col-date{flex:0 0 130px;cursor:pointer}
.detail-col-type{flex:0 0 80px}
.detail-col-subject{flex:0 0 120px}
.detail-col-questions{flex:0 0 80px}
.detail-col-dept{flex:0 0 120px}
.detail-col-owner{flex:0 0 100px}
.explorer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px;text-align:center}
.explorer-empty-icon{font-size:56px;margin-bottom:12px;opacity:.5}
.explorer-empty h2{margin:0 0 6px;font-size:18px}
.explorer-empty p{margin:0 0 16px;color:var(--muted);font-size:13px;max-width:400px}
.explorer-empty-inline{grid-column:1/-1;text-align:center;padding:48px 20px}
.explorer-empty-inline .explorer-empty-icon{font-size:40px}
.explorer-empty-inline p{margin:8px 0 0;color:var(--muted);font-size:13px}
.explorer-statusbar{display:flex;align-items:center;gap:8px;height:24px;background:#f0f0f0;border-top:1px solid #d6d6d6;padding:0 12px;font-size:11px;color:var(--muted);flex-shrink:0}
.status-sep{color:#d0d0d0}
.status-spacer{flex:1}
.status-path{font-family:"Cascadia Code","Consolas",monospace;font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}
.status-view-label{font-size:11px}
.status-view-select{font-size:11px;padding:1px 4px;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--text)}
.ctx-menu{position:fixed;z-index:9999;min-width:200px;background:var(--surface);border:1px solid #ccc;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:4px;display:none;font-size:12px}
.ctx-menu.visible{display:block}
.ctx-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 14px;border:none;background:none;color:var(--text);font-size:12px;text-align:left;border-radius:4px;cursor:pointer;white-space:nowrap}
.ctx-menu button:hover{background:var(--accent-bg);color:var(--accent)}
.ctx-menu button[disabled]{opacity:.35;cursor:default}
.ctx-menu button[disabled]:hover{background:none;color:var(--text)}
.ctx-menu button.danger{color:var(--danger)}
.ctx-menu button.danger:hover{background:var(--danger-bg);color:var(--danger)}
.ctx-menu-sep{height:1px;background:var(--line);margin:4px 8px}
dialog.explorer-dialog{border:none;border-radius:10px;padding:0;max-width:420px;width:90%;box-shadow:0 16px 50px rgba(0,0,0,.25);color:var(--text);background:var(--surface)}
dialog.explorer-dialog::backdrop{background:rgba(0,0,0,.4)}
.explorer-dialog form{padding:24px;position:relative}
.dialog-header{margin-bottom:16px}
.dialog-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.dialog-header h2{margin:4px 0 6px;font-size:17px}
.dialog-header p{margin:0;color:var(--muted);font-size:12px}
.dialog-label{display:block;font-size:12px;font-weight:600;margin-bottom:12px}
.dialog-label input{display:block;width:100%;margin-top:4px;padding:7px 10px;border-radius:6px;border:1px solid var(--line);font-size:13px;background:var(--field);color:var(--text)}
.dialog-label input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}
.folder-picker-list{list-style:none;padding:0;margin:8px 0;max-height:240px;overflow-y:auto;border:1px solid var(--line);border-radius:6px}
.folder-picker-list li{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:12px;cursor:pointer;border-bottom:1px solid #f0f0f0}
.folder-picker-list li:last-child{border-bottom:none}
.folder-picker-list li:hover{background:var(--surface-2)}
.folder-picker-list li input[type="radio"]{margin:0;cursor:pointer}
.folder-picker-list li label{display:flex;align-items:center;gap:6px;cursor:pointer;margin:0;font-weight:400;flex:1}
.explorer-btn{padding:6px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:all .1s}
.explorer-btn:hover{background:var(--surface-2);border-color:#aaa}
.explorer-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.explorer-btn.primary:hover{background:#2d5bb5}
.explorer-btn.danger{color:var(--danger);border-color:var(--danger)}
.explorer-btn.danger:hover{background:var(--danger-bg)}
.explorer-bulkbar{position:fixed;bottom:0;left:0;right:0;z-index:9998;display:none;align-items:center;gap:8px;padding:8px 20px;background:var(--dark);color:#fff;font-size:12px;box-shadow:0 -4px 16px rgba(0,0,0,.2)}
.explorer-bulkbar.visible{display:flex}
.explorer-bulkbar .bulk-count{font-weight:700;margin-right:auto}
.explorer-bulkbar button{padding:5px 12px;border-radius:5px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;font-size:11px;cursor:pointer;transition:background .1s}
.explorer-bulkbar button:hover{background:rgba(255,255,255,.18)}
.explorer-bulkbar button.danger{border-color:rgba(220,38,38,.5);color:#fca5a5}
.explorer-bulkbar button.danger:hover{background:rgba(220,38,38,.2)}
.explorer-bulkbar button.cancel-btn{border-color:transparent;background:transparent;color:rgba(255,255,255,.7)}
@media (max-width:900px){
.explorer-sidebar{display:none}
.explorer-searchbox{width:160px}
.explorer-addressbar{display:none}
}
@media (max-width:600px){
.explorer-toolbar{flex-wrap:wrap;height:auto;padding:4px 8px}
.explorer-searchbox{width:100%;order:10}
.explorer-filterbar{display:none}
}
.sidebar-section{padding:4px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.sidebar-section:last-child{border-bottom:none}
.toolbar-actions{display:flex;align-items:center;gap:4px}
.view-info{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:12px;color:var(--muted)}
.status-items,.status-selection,.status-drive{font-size:11px;white-space:nowrap}
.detail-col{display:flex;align-items:center;font-size:11px;font-weight:600;color:var(--muted);padding:0 8px;cursor:default;user-select:none;flex-shrink:0}
.detail-col:hover{color:var(--text)}
.detail-col-check{flex:0 0 30px;padding-left:4px}
.detail-col-name{flex:1;min-width:180px}
.detail-col-date{flex:0 0 130px}
.detail-col-type{flex:0 0 80px}
.detail-col-subject{flex:0 0 120px}
.detail-col-questions{flex:0 0 80px}
.detail-col-dept{flex:0 0 120px}
.detail-col-owner{flex:0 0 100px}
.win-minimize,.win-maximize{width:46px;height:32px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px}
.governance-form{margin-top:12px}
.governance-form .form-grid{margin-bottom:14px}
.moderation-card{padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);margin-bottom:12px}
.exam-board-logo-sm{width:20px;height:20px}
.exam-board-logo-md{width:28px;height:28px}
.exam-board-logo-lg{width:40px;height:40px;border-radius:8px}
.exam-board-logo-fallback.exam-board-logo-sm{font-size:10px}
.exam-board-logo-fallback.exam-board-logo-md{font-size:13px}
.exam-board-logo-fallback.exam-board-logo-lg{font-size:18px}
.exchange-admin-card{margin-bottom:12px}
.exchange-filters{margin-bottom:18px}
.exchange-filters .actions{justify-content:flex-end}
.official-mark-input{width:72px;border:1px solid var(--line);border-radius:4px;text-align:center;padding:6px 8px;font:inherit;font-size:13px;background:var(--surface)}
.registration-page{background:var(--surface-2)}
.paper{min-height:100vh;background:#525659;display:flex;align-items:flex-start;justify-content:center;padding:20px}
.paper img{max-width:min(100%,1050px);box-shadow:0 2px 12px rgba(0,0,0,.4);background:#fff}
.mark.predicted{border-bottom:2px solid var(--accent)}
.form-error-backdrop{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(0,0,0,.35);backdrop-filter:blur(3px)}
.form-error-popup{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;max-width:440px;width:90%;padding:20px 24px;background:var(--surface);border-radius:18px;box-shadow:0 16px 50px rgba(0,0,0,.25)}
.form-error-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--danger);color:#fff;font-size:18px;font-weight:800;flex-shrink:0}
.form-error-popup p{margin:0;font-size:13px;color:var(--muted)}
.form-error-popup .btn{grid-column:1/-1;justify-self:end}

/* ========================================================================== 
   STYLE RECOVERY — CURRENT WORKFLOW COMPATIBILITY
   Added 2026-08-16 after restoring the complete v15.1.1 stylesheet.
   ========================================================================== */

/* Current QLA document choices are buttons, not radio-card labels. */
.document-choice-card{
  width:100%;
  min-height:96px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:5px;
  font:inherit;
  color:var(--text,var(--ink,#1c2730));
  text-align:left;
  appearance:none;
}
.document-choice-card strong{font-size:14px;line-height:1.3}
.document-choice-card small{font-size:12px;line-height:1.45;color:var(--muted,#6b7680)}
.document-choice-card:hover{border-color:var(--text,var(--ink,#1c2730));background:var(--surface-2,#f5f7f8)}
.document-choice-card.is-active{
  border-color:var(--text,var(--ink,#1c2730));
  background:var(--surface-2,#f5f7f8);
  box-shadow:inset 4px 0 0 var(--text,var(--ink,#1c2730));
}
.document-choice-card:focus-visible{outline:3px solid color-mix(in srgb,var(--accent,#2b6f77) 28%,transparent);outline-offset:2px}

/* Drag feedback for the current PDF workflow. */
.file-drop.drag-active{
  border-color:var(--accent,#2b6f77);
  background:color-mix(in srgb,var(--accent,#2b6f77) 8%,var(--surface,#fff));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#2b6f77) 12%,transparent);
}

/* Small checkbox row used by current account/admin forms. */
.check{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:10px 0 14px;
  font-size:13px;
  line-height:1.45;
  color:var(--text,var(--ink,#1c2730));
}
.check input[type="checkbox"],.check input[type="radio"]{
  width:16px;
  height:16px;
  margin:2px 0 0;
  flex:0 0 auto;
  accent-color:var(--accent,#2b6f77);
}

/* Explicit hooks used by the Explorer and marking scripts. */
.asset-cb{width:15px;height:15px;accent-color:var(--accent,#2b6f77)}
.sheet input.achieved,.workflow-question-row input.achieved{font-weight:700}


@media (max-width:560px){
  .document-choice-card{min-height:auto;padding:14px}
}

/* Workspace Explorer integration — 2026-08-16 */
body.workspace-assets-page .app-content{height:100dvh;min-height:0;overflow:hidden}
body.workspace-assets-page .app-main{width:100%;max-width:none;height:100dvh;min-height:0;margin:0;padding:14px;overflow:hidden;display:flex;flex-direction:column}
body.workspace-assets-page .app-site-footer{display:none}
.workspace-explorer-shell{height:100%;min-height:0;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);overflow:hidden}
.workspace-explorer-shell svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.workspace-explorer-shell .explorer-titlebar{height:42px;padding:0 8px 0 14px;background:linear-gradient(180deg,#20262b,#171c20);border-bottom:1px solid #ffffff12}
.workspace-explorer-shell .explorer-titlebar-left{gap:9px}
.workspace-explorer-shell .explorer-titlebar-icon{width:23px;height:23px}
.workspace-explorer-shell .explorer-titlebar-text{font-size:13px;font-weight:750;letter-spacing:-.01em}
.workspace-explorer-shell .win-btn{width:38px;height:32px;border-radius:7px}
.workspace-explorer-shell .win-btn svg{width:14px;height:14px}
.workspace-explorer-shell .win-close:hover{background:#a93131}
.workspace-explorer-shell .explorer-menubar{height:32px;padding:0 7px;background:var(--panel);border-color:var(--line)}
.workspace-explorer-shell .menu-trigger{padding:5px 9px;border-radius:7px;font-weight:650}
.workspace-explorer-shell .menu-dropdown{border-color:var(--line);background:var(--panel);box-shadow:var(--shadow)}
.workspace-explorer-shell .menu-dropdown button svg,.workspace-explorer-shell .ctx-menu button svg{width:15px;height:15px;flex:0 0 15px}
.workspace-explorer-shell .explorer-toolbar{height:46px;padding:0 10px;background:var(--panel);border-color:var(--line)}
.workspace-explorer-shell .tb-btn{min-height:32px;padding:6px 9px;border-radius:8px;font-weight:650}
.workspace-explorer-shell .tb-btn.icon-only{width:32px;padding:6px;justify-content:center}
.workspace-explorer-shell .tb-btn svg{width:16px;height:16px;flex:0 0 16px}
.workspace-explorer-shell .explorer-addressbar,.workspace-explorer-shell .explorer-searchbox{height:32px;border-color:var(--line);background:var(--field,var(--panel));border-radius:8px}
.workspace-explorer-shell .address-icon,.workspace-explorer-shell .search-icon{display:grid;place-items:center;margin-right:7px;color:var(--muted)}
.workspace-explorer-shell .address-icon svg,.workspace-explorer-shell .search-icon svg{width:15px;height:15px}
.workspace-explorer-shell .explorer-filterbar{height:38px;padding:0 10px;background:var(--panel);border-color:var(--line)}
.workspace-explorer-shell .filter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--panel)}
.workspace-explorer-shell .filter-chip svg{width:13px;height:13px;flex:0 0 13px}
.workspace-explorer-shell .explorer-sidebar{width:236px;min-width:236px;background:var(--surface-2);border-color:var(--line);padding:10px 7px}
.workspace-explorer-shell .sidebar-section{padding:5px 0;border-color:var(--line)}
.workspace-explorer-shell .sidebar-heading{display:flex;align-items:center;gap:7px;padding:9px 10px 5px;color:var(--muted)}
.workspace-explorer-shell .sidebar-heading svg{width:12px;height:12px;flex:0 0 12px}
.workspace-explorer-shell .sidebar-link{gap:9px;padding:7px 10px;border-left:0;border-radius:8px;font-size:12px}
.workspace-explorer-shell .sidebar-link.active{background:var(--hover);color:var(--ink);box-shadow:inset 2px 0 var(--ink)}
.workspace-explorer-shell .sidebar-link-nested{padding-left:26px}
.workspace-explorer-shell .sidebar-icon{width:18px;height:18px;display:grid;place-items:center;color:var(--muted)}
.workspace-explorer-shell .sidebar-icon svg{width:16px;height:16px}
.workspace-explorer-shell .sidebar-link.active .sidebar-icon{color:inherit}
.workspace-explorer-shell .explorer-content{background:var(--panel)}
.workspace-explorer-shell .explorer-view-toolbar{min-height:42px;padding:7px 12px;background:var(--panel);border-color:var(--line)}
.workspace-explorer-shell .view-toggle{background:var(--surface-2);border-color:var(--line);border-radius:9px}
.workspace-explorer-shell .view-btn{display:grid;place-items:center;width:32px;height:28px;padding:0;color:var(--muted)}
.workspace-explorer-shell .view-btn svg{width:15px;height:15px}
.workspace-explorer-shell .view-btn.active{color:var(--ink);background:var(--panel);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.workspace-explorer-shell .explorer-item{border-radius:10px;padding:11px}
.workspace-explorer-shell .explorer-item:hover{background:var(--surface-2);border-color:var(--line)}
.workspace-explorer-shell .explorer-item.selected{background:var(--hover);border-color:#aeb6be}
.workspace-explorer-shell .explorer-item-icon{width:38px;height:38px;display:grid;place-items:center;color:#56616b}
.workspace-explorer-shell .explorer-item-icon svg{width:28px;height:28px}
.workspace-explorer-shell .explorer-grid[data-view="xlarge"] .explorer-item-icon{width:60px;height:60px}
.workspace-explorer-shell .explorer-grid[data-view="xlarge"] .explorer-item-icon svg{width:44px;height:44px}
.workspace-explorer-shell .explorer-grid[data-view="list"] .explorer-item-icon{width:24px;height:24px}
.workspace-explorer-shell .explorer-grid[data-view="list"] .explorer-item-icon svg{width:18px;height:18px}
.workspace-explorer-shell .explorer-grid[data-view="details"] .explorer-item-icon{width:20px;height:20px}
.workspace-explorer-shell .explorer-grid[data-view="details"] .explorer-item-icon svg{width:15px;height:15px}
.workspace-explorer-shell .explorer-empty-icon{width:58px;height:58px;display:grid;place-items:center;color:var(--muted);opacity:.7}
.workspace-explorer-shell .explorer-empty-icon svg{width:52px;height:52px}
.workspace-explorer-shell .explorer-empty-inline .explorer-empty-icon{width:44px;height:44px;margin-inline:auto}
.workspace-explorer-shell .explorer-empty-inline .explorer-empty-icon svg{width:38px;height:38px}
.workspace-explorer-shell .explorer-statusbar{height:30px;background:var(--surface-2);border-color:var(--line);padding:0 12px}
.workspace-explorer-shell .status-drive{display:inline-flex;align-items:center;gap:5px}
.workspace-explorer-shell .status-drive svg{width:13px;height:13px;flex:0 0 13px}
.workspace-explorer-shell .ctx-menu{border-color:var(--line);background:var(--panel);box-shadow:var(--shadow)}
.workspace-explorer-shell .folder-picker-list li label svg{width:16px;height:16px;flex:0 0 16px;color:var(--muted)}
.workspace-explorer-shell .dialog-close{display:grid;place-items:center}
.workspace-explorer-shell .dialog-close svg{width:15px;height:15px}
.workspace-explorer-shell .explorer-bulkbar button{display:inline-flex;align-items:center;gap:6px}
.workspace-explorer-shell .explorer-bulkbar button svg{width:14px;height:14px}
@media(max-width:950px){body.workspace-assets-page .app-content{height:auto;min-height:100dvh;overflow:visible}body.workspace-assets-page .app-main{height:calc(100dvh - 60px);padding:10px}.workspace-explorer-shell{height:100%}}
@media(max-width:900px){.workspace-explorer-shell .explorer-sidebar{display:none}}


/* Assets workspace hierarchy + colour pass (v157) */
.workspace-explorer-shell{
  --asset-blue:#316bd6;
  --asset-blue-soft:color-mix(in srgb,#316bd6 13%,transparent);
  --asset-teal:#17827c;
  --asset-teal-soft:color-mix(in srgb,#17827c 14%,transparent);
  --asset-amber:#b87512;
  --asset-amber-soft:color-mix(in srgb,#d89124 16%,transparent);
  --asset-violet:#7357c8;
  --asset-violet-soft:color-mix(in srgb,#7357c8 13%,transparent);
}
.workspace-explorer-shell .explorer-titlebar{
  background:linear-gradient(112deg,#17212b 0%,#1f3443 52%,#17393a 100%);
}
.workspace-explorer-shell .explorer-menubar,
.workspace-explorer-shell .explorer-toolbar{
  background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel) 94%,#dcecf1));
}
.workspace-explorer-shell .explorer-filterbar{
  background:linear-gradient(90deg,color-mix(in srgb,var(--panel) 92%,#e4f4f1),color-mix(in srgb,var(--panel) 94%,#e9edfb));
}
.workspace-explorer-shell .explorer-sidebar{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 92%,#e7f3f1),color-mix(in srgb,var(--surface-2) 95%,#edf0fa));
}
.workspace-explorer-shell .sidebar-section + .sidebar-section{margin-top:4px}
.workspace-explorer-shell .sidebar-network-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.workspace-explorer-shell .sidebar-icon-qla{color:var(--asset-teal)}
.workspace-explorer-shell .sidebar-icon-exam{color:var(--asset-violet)}
.workspace-explorer-shell .sidebar-icon-school{color:var(--asset-amber)}
.workspace-explorer-shell .sidebar-icon-network{color:var(--asset-blue)}
.workspace-explorer-shell .sidebar-link:has(.sidebar-icon-qla).active{background:var(--asset-teal-soft);box-shadow:inset 3px 0 var(--asset-teal)}
.workspace-explorer-shell .sidebar-link:has(.sidebar-icon-exam).active{background:var(--asset-violet-soft);box-shadow:inset 3px 0 var(--asset-violet)}
.workspace-explorer-shell .sidebar-link:has(.sidebar-icon-school).active{background:var(--asset-amber-soft);box-shadow:inset 3px 0 var(--asset-amber)}
.workspace-explorer-shell .sidebar-link:has(.sidebar-icon-network).active{background:var(--asset-blue-soft);box-shadow:inset 3px 0 var(--asset-blue)}
.workspace-explorer-shell .explorer-content{
  background:
    radial-gradient(circle at 92% 5%,color-mix(in srgb,var(--asset-blue) 7%,transparent),transparent 28%),
    radial-gradient(circle at 4% 94%,color-mix(in srgb,var(--asset-teal) 7%,transparent),transparent 28%),
    var(--panel);
}
.explorer-folder-landing{padding:18px 18px 28px}
.explorer-section-intro{
  display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:16px 18px;
  border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(120deg,color-mix(in srgb,var(--panel) 92%,#e8f4f2),color-mix(in srgb,var(--panel) 94%,#eef0fb));
  box-shadow:0 8px 24px rgba(31,50,66,.06)
}
.explorer-section-intro h2{margin:1px 0 3px;font-size:19px;line-height:1.2}
.explorer-section-intro p{margin:0;color:var(--muted);font-size:12px}
.explorer-section-eyebrow{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.explorer-section-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:11px}
.explorer-section-icon svg{width:23px;height:23px}
.explorer-section-icon.school-accent{color:var(--asset-amber);background:var(--asset-amber-soft)}
.explorer-section-icon.department-accent{color:var(--asset-blue);background:var(--asset-blue-soft)}
.explorer-section-count{margin-left:auto;white-space:nowrap;padding:6px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:700}
.workspace-explorer-shell .explorer-department-grid{padding:0;gap:12px}
.workspace-explorer-shell .explorer-department-folder,
.workspace-explorer-shell .explorer-class-folder{
  min-height:82px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,#eaf1f7);
  box-shadow:0 5px 15px rgba(37,56,73,.045);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease
}
.workspace-explorer-shell .explorer-department-folder:hover,
.workspace-explorer-shell .explorer-class-folder:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(37,56,73,.09)}
.workspace-explorer-shell .explorer-department-folder{border-left:4px solid var(--asset-amber)}
.workspace-explorer-shell .explorer-department-folder:hover{background:var(--asset-amber-soft);border-color:color-mix(in srgb,var(--asset-amber) 55%,var(--line))}
.workspace-explorer-shell .explorer-class-folder{border-left:4px solid var(--asset-blue)}
.workspace-explorer-shell .explorer-class-folder:hover{background:var(--asset-blue-soft);border-color:color-mix(in srgb,var(--asset-blue) 55%,var(--line))}
.workspace-explorer-shell .explorer-class-folder.reusable-folder{border-left-color:var(--asset-teal)}
.workspace-explorer-shell .explorer-class-folder.reusable-folder:hover{background:var(--asset-teal-soft);border-color:color-mix(in srgb,var(--asset-teal) 55%,var(--line))}
.workspace-explorer-shell .department-folder-icon{color:var(--asset-amber);background:var(--asset-amber-soft);border-radius:10px}
.workspace-explorer-shell .class-folder-icon{color:var(--asset-blue);background:var(--asset-blue-soft);border-radius:10px}
.workspace-explorer-shell .reusable-folder-icon{color:var(--asset-teal);background:var(--asset-teal-soft);border-radius:10px}
.folder-open-arrow{margin-left:auto;width:24px;height:24px;display:grid;place-items:center;color:var(--muted);opacity:.72}
.folder-open-arrow svg{width:14px!important;height:14px!important}
.explorer-item-folder-link:hover .folder-open-arrow{opacity:1;color:currentColor;transform:translateX(2px)}
.workspace-explorer-shell .explorer-item[data-type="template"] .explorer-item-icon{color:var(--asset-teal);background:var(--asset-teal-soft);border-radius:10px}
.workspace-explorer-shell .explorer-item[data-type="quick"] .explorer-item-icon,
.workspace-explorer-shell .explorer-item[data-type="exam"] .explorer-item-icon{color:var(--asset-violet);background:var(--asset-violet-soft);border-radius:10px}
.workspace-explorer-shell .explorer-item[data-type="folder"] .explorer-item-icon{color:var(--asset-amber);background:var(--asset-amber-soft);border-radius:10px}
.workspace-explorer-shell .explorer-item[data-type="subject"] .explorer-item-icon{color:var(--asset-blue);background:var(--asset-blue-soft);border-radius:10px}
@media(max-width:700px){.explorer-section-intro{align-items:flex-start}.explorer-section-count{display:none}.explorer-folder-landing{padding:12px}}

.explorer-network-below{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.explorer-subsection-heading{display:flex;align-items:center;gap:9px;margin-bottom:11px;color:var(--text)}
.explorer-subsection-heading>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:var(--asset-blue);background:var(--asset-blue-soft)}
.explorer-subsection-heading svg{width:16px!important;height:16px!important}
.explorer-subsection-heading strong,.explorer-subsection-heading small{display:block}
.explorer-subsection-heading strong{font-size:12px}
.explorer-subsection-heading small{margin-top:1px;color:var(--muted);font-size:10px}
.explorer-network-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.explorer-network-card{display:flex;align-items:center;gap:11px;min-height:64px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;color:var(--text);text-decoration:none;background:var(--panel);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.explorer-network-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(37,56,73,.08)}
.explorer-network-card>span:nth-child(2){min-width:0;flex:1}
.explorer-network-card strong,.explorer-network-card small{display:block}
.explorer-network-card strong{font-size:12px}
.explorer-network-card small{margin-top:2px;color:var(--muted);font-size:10px}
.explorer-network-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:10px}
.explorer-network-icon svg{width:19px!important;height:19px!important}
.explorer-network-card.subjects-network{border-left:4px solid var(--asset-blue)}
.explorer-network-card.subjects-network .explorer-network-icon{color:var(--asset-blue);background:var(--asset-blue-soft)}
.explorer-network-card.subjects-network:hover{background:var(--asset-blue-soft)}
.explorer-network-card.exams-network{border-left:4px solid var(--asset-violet)}
.explorer-network-card.exams-network .explorer-network-icon{color:var(--asset-violet);background:var(--asset-violet-soft)}
.explorer-network-card.exams-network:hover{background:var(--asset-violet-soft)}
@media(max-width:650px){.explorer-network-grid{grid-template-columns:1fr}}
