:root{--navy:#10283f;--navy2:#173b57;--ink:#182c40;--muted:#708094;--bg:#f5f7f9;--line:#e0e7ec;--gold:#d6a94d;--teal:#12827c;--red:#cc5f59;--white:#fff;--radius:17px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--teal)}.hidden{display:none!important}.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:800;color:var(--gold)}.login-wrap{min-height:100vh;background:radial-gradient(circle at 10% 80%,#1b4864 0,transparent 38%),linear-gradient(135deg,#0a2136,#17384f 65%,#0c2435);color:white;padding:32px max(5vw,24px);display:flex;flex-direction:column}.login-brand{display:flex;gap:13px;align-items:center;font-size:.84rem;letter-spacing:.14em;font-weight:800}.login-brand strong{margin-left:auto;color:#e9c77e}.brand-monogram{display:flex;align-items:center;justify-content:center;position:relative;width:42px;height:42px;border:1px solid #d3b475;border-radius:12px;font-family:Georgia,serif;font-size:20px;font-weight:bold;color:#e4c173}.brand-monogram span{font-size:8px;position:absolute;top:5px;right:4px}.login-layout{display:grid;grid-template-columns:1fr 430px;gap:8%;margin:auto 0;align-items:center;max-width:1270px;width:100%;align-self:center;padding:80px 0}.login-copy h1{font-size:clamp(43px,5vw,70px);letter-spacing:-.055em;line-height:1.08;margin:26px 0}.login-copy em{color:#e5bd6b;font-style:normal}.login-copy p{font-size:17px;line-height:1.8;color:#c2d3e0;max-width:620px}.login-pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.login-pills span{border:1px solid #476478;border-radius:50px;padding:9px 14px;font-size:.8rem;color:#d5e3ed}.login-card{background:white;color:var(--ink);border-radius:25px;padding:35px;box-shadow:0 35px 90px #00132075}.login-card-top{display:flex;gap:17px;align-items:center;margin-bottom:30px}.login-icon{width:55px;height:55px;border-radius:18px;background:#f7efe0;color:#b58a3d;display:grid;place-content:center;font-size:28px}.login-card small{letter-spacing:.1em;color:var(--gold);font-weight:800}.login-card h2{margin:5px 0;font-size:21px;letter-spacing:-.02em}.login-footer{text-align:center;color:#8daabd;font-size:13px}.login-card label{display:block;margin:18px 0;font-size:13px;font-weight:700}.login-card input{display:block;width:100%;padding:15px;border-radius:11px;border:1px solid var(--line);margin:8px 0;background:#f8fafb}.form-hint{font-size:12px;color:var(--muted);text-align:center;line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border-radius:10px;border:1px solid transparent;background:#edf2f4;color:var(--navy);font-size:13px;font-weight:800}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--navy);color:white}.btn.gold{background:var(--gold);color:#222}.btn.outline{border-color:var(--line);background:white}.btn.danger{background:#fff1f0;color:#a72e2e;border-color:#ffdbd5}.btn.small{padding:6px 9px;font-size:11px}.btn.fill{width:100%;min-height:49px}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;position:sticky;top:0;height:100vh;background:var(--navy);color:white;display:flex;flex-direction:column;padding:25px 14px;flex-shrink:0}.side-brand{display:flex;gap:10px;align-items:center;padding:0 6px 25px}.side-brand b{display:block;font-size:12px;letter-spacing:.09em}.side-brand small{display:block;font-size:10px;letter-spacing:.06em;color:#a0b5c2;margin-top:4px}.side-label{color:#7792a8;letter-spacing:.12em;font-size:10px;font-weight:900;padding:23px 17px 9px}.sidebar nav{display:grid;gap:5px}.sidebar nav button{background:transparent;border:0;text-align:left;color:#acbfce;font-size:13px;font-weight:650;border-radius:10px;padding:13px 15px;display:flex;gap:12px;align-items:center}.sidebar nav button.active,.sidebar nav button:hover{background:#24455d;color:white}.nav-emoji{font-size:17px;min-width:21px}.side-bottom{margin-top:auto}.sidebar-quote{padding:24px 10px;color:#d9bb80;font-family:Georgia,serif;font-style:italic;font-size:15px;text-align:center}.side-profile{display:flex;align-items:center;gap:9px;border-top:1px solid #38556c;padding:18px 3px 0}.side-profile b{font-size:12px}.side-profile small{display:block;color:#91a9b9;margin-top:3px;font-size:11px}.avatar{width:35px;height:35px;border-radius:50%;background:#d5ad60;display:grid;place-content:center;color:#10283f;font-weight:900}.side-profile button{margin-left:auto;background:transparent;color:#c7d5e0;border:none;font-size:22px}.workspace{width:calc(100% - 246px);min-width:0;display:flex;flex-direction:column}.topbar{background:white;border-bottom:1px solid #edf0f3;display:flex;justify-content:space-between;gap:25px;align-items:center;padding:23px clamp(20px,3vw,55px)}.topbar h1{margin:7px 0 0;font-size:25px;letter-spacing:-.035em}.top-actions{display:flex;align-items:center;gap:10px}.student-switch{max-width:240px}.student-switch,.date-pill{padding:10px 13px;border:1px solid var(--line);border-radius:11px;color:#405568;background:#fff;font-size:13px}.date-pill{background:#f6f8fa;border:none;white-space:nowrap}#pageContent{width:100%;max-width:1490px;margin:0 auto;flex:1;padding:28px clamp(20px,3vw,55px)}.app-footer{margin:0 30px 20px;text-align:center;color:#93a3b0;font-size:11px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.section-head{margin:0 0 16px}.section-head h2{font-size:20px;margin:0 0 6px}.section-head p{color:var(--muted);font-size:13px;margin:0}.grid{display:grid;gap:16px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.two-col{grid-template-columns:1.4fr 1fr}.three-col{grid-template-columns:repeat(3,1fr)}.card{background:white;border-radius:var(--radius);border:1px solid var(--line);padding:23px;box-shadow:0 3px 16px #0f294408}.card h3{margin:0 0 12px;font-size:16px;letter-spacing:-.015em}.muted{color:var(--muted)}.tiny{font-size:11px}.kpi .kpi-top{display:flex;justify-content:space-between;align-items:center}.kpi .icon{background:#eef6f5;color:#138b84;border-radius:12px;padding:11px;font-size:19px}.kpi strong{font-size:31px;letter-spacing:-.06em;display:block;margin:12px 0 2px}.kpi span{font-size:12px;color:var(--muted)}.kpi .eyeline{color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.07em}.notice{padding:13px 16px;border-radius:12px;background:#fff8e7;border:1px solid #f0e0b4;color:#8f6429;font-size:13px;line-height:1.6;margin:10px 0 18px}.info{background:#eaf6f5;border-color:#cbe6e3;color:#216762}.table-wrap{overflow-x:auto;border-radius:10px;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-transform:uppercase;color:#6d8290;background:#f7f9fa;letter-spacing:.06em;font-size:10px;text-align:left;padding:13px 14px}td{padding:13px 14px;border-top:1px solid #eef1f3;font-size:12px;color:#344e62}tr:hover td{background:#fbfcfd}td b{color:var(--ink)}.pill{display:inline-block;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:750;background:#edf4f8;color:#3e5d70}.pill.green{background:#e5f5ee;color:#217a51}.pill.amber{background:#fff3da;color:#9f6b24}.pill.red{background:#fdebe8;color:#ad564c}.empty{padding:30px;text-align:center;color:#8a9aab;font-size:13px}.score{font-weight:800;color:#b38227}.metric-title{font-size:11px;font-weight:800;color:#6c8091;letter-spacing:.08em}.chart{width:100%;height:200px}.chart-wrap{padding:16px 0 0}.chart-caption{font-size:11px;color:#6d8092}.subject-bars{display:grid;gap:12px;margin-top:16px}.bar-row{display:grid;grid-template-columns:140px 1fr 33px;gap:10px;align-items:center;font-size:12px}.track{background:#ebeff2;height:9px;overflow:hidden;border-radius:20px}.track div{background:var(--teal);height:100%;border-radius:20px}.progress{height:9px;background:#edf0f3;overflow:hidden;border-radius:15px}.progress div{height:100%;background:#dda941;border-radius:15px}.card-actions{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.filters select,.filters input{max-width:300px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-grid .wide{grid-column:1/-1}.form-grid label,.dialog-shell label{font-size:12px;font-weight:750;display:flex;flex-direction:column;gap:7px;color:#486276}.form-grid input,.form-grid select,.form-grid textarea,.dialog-shell input,.dialog-shell select,.dialog-shell textarea{width:100%;padding:11px 12px;background:white;border:1px solid #d8e1e7;border-radius:9px;color:#243c50;outline:none}.form-grid textarea{min-height:90px;resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#b49355;box-shadow:0 0 0 3px #d6a94d24}.dialog-shell{padding:0;border:none}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.dialog-top h2{margin:0;font-size:21px}.close-dialog{font-size:28px;border:0;background:none;color:#879bad}dialog{border:1px solid var(--line);border-radius:18px;max-width:710px;width:min(710px,92vw);max-height:89vh;box-shadow:0 32px 100px #0b223666;padding:27px;overflow:auto}dialog::backdrop{background:#071d2caa;backdrop-filter:blur(3px)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.credentials{font-size:17px;background:#f8f4e8;padding:16px;border-radius:10px;line-height:1.8}.selectable{user-select:all}.mini-note{font-size:11px;color:#6e8090;margin-top:8px}.profile-heading{display:flex;gap:13px;align-items:center}.profile-heading .avatar{height:50px;width:50px;font-size:21px}.profile-heading h2{margin:0 0 4px}.method{color:#637a8c;max-width:800px;line-height:1.7;font-size:13px}.error-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:white;margin-bottom:10px}.error-card p{margin:7px 0;font-size:12px;line-height:1.6}.error-card strong{display:block;margin-bottom:3px}.error-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.badgelist{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.level-good{color:#168064}.level-alert{color:#c1742f}.small-avatar{width:30px;height:30px;border-radius:50%;background:#e5ebe9;color:#1e5861;font-size:12px;display:inline-grid;place-items:center;margin-right:8px;font-weight:900}.actions-inline{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.score-big{color:#a78239;font-weight:900;font-size:29px}.report-paper{background:white;padding:28px;border:1px solid var(--line);border-radius:15px}.report-paper h2{margin-top:0}.report-paper p{line-height:1.7}.field-row{display:flex;gap:12px;align-items:center}.footer-chip{font-size:11px;background:#f8f4eb;color:#96723e;padding:5px 10px;border-radius:20px}.mobile-top{display:none}.outline-panel{border-left:3px solid var(--gold);padding:10px 14px;background:#fffdf7;margin-top:18px}.code-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.code-legend div{font-size:11px}.code-legend b{color:#b98d42}.check-row{display:flex;align-items:center;gap:8px}.check-row input[type="checkbox"]{width:18px!important;flex:none}.report-callout{display:flex;justify-content:space-between;align-items:center;padding:17px;background:#ecf6f4;border:1px solid #d3ebe7;border-radius:12px}.error{color:#a82424}#toast{position:fixed;z-index:101;right:20px;top:20px;max-width:380px;background:var(--navy);color:white;box-shadow:0 12px 40px #10283f33;padding:13px 18px;border-radius:12px;font-size:13px;display:none}.mobile-only{display:none}@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.date-pill{display:none}}@media(max-width:820px){.sidebar{position:fixed;z-index:9;left:-260px;transition:left .2s}.sidebar.open{left:0}.workspace{width:100%}.mobile-top{display:flex;background:var(--navy);color:white;justify-content:space-between;align-items:center;padding:13px 22px}.mobile-top button{background:transparent;border:0;color:white;font-size:22px}.topbar{flex-wrap:wrap;padding:18px}.top-actions{flex-wrap:wrap}.login-layout{grid-template-columns:1fr;padding:45px 0;gap:30px}.login-copy h1{font-size:45px}.login-card{max-width:520px;width:100%}.form-grid{grid-template-columns:1fr}.three-col{grid-template-columns:1fr}.bar-row{grid-template-columns:110px 1fr 25px}#pageContent{padding:20px 14px}}@media(max-width:450px){.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.card{padding:16px}.kpi strong{font-size:24px}.login-copy h1{font-size:35px}.login-pills{display:none}.topbar h1{font-size:22px}.student-switch{max-width:180px}}@media print{.sidebar,.mobile-top,.topbar,.app-footer,.btn,.filters,.card-actions,dialog{display:none!important}.app-shell,.workspace{display:block;width:100%;background:white}#pageContent{padding:0!important}.report-paper{border:0;padding:0}body{background:white}.card{box-shadow:none;break-inside:avoid}}

/* Exam definition and per-question assessment controls */
.keyline,.mono-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px;font-size:.88rem;word-break:break-all}
.import-toggle{margin-top:16px;padding:14px;border-radius:12px;border:1px solid #dae2e7;background:#f9fbfc}
.import-toggle summary{cursor:pointer;font-weight:650;color:#18344c;margin-bottom:6px}
.import-toggle form{margin-top:12px}
.response-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:9px;padding:12px 0}
.answer-cell,.question-mark{background:#f5f8fa;border:1px solid #dce4ea;border-radius:10px;padding:9px;display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;font-size:.82rem;font-weight:600;color:#18344c}
.answer-cell select{max-width:100%;margin:0;min-height:37px;padding:6px;background:white}
.question-mark span{font-size:1.1rem;font-weight:800}
.question-mark small{font-size:.7rem;line-height:1.25;white-space:normal}
.question-mark.right{background:#eaf8f2;border-color:#a9dbca;color:#186e50}
.question-mark.wrong{background:#fff0ef;border-color:#edbab6;color:#963d3d}
.question-mark.empty-answer{background:#fffae9;border-color:#eed796;color:#7e651e}
@media(max-width:700px){.response-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.answer-cell,.question-mark{padding:5px}}

/* v4: editable number fields, timed student exam panels */
.check-row .count-field{width:105px!important;min-width:95px;flex:0 1 105px;padding:11px 8px!important;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}
.subject-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.option-check{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;line-height:1.35}
.option-check input{width:auto!important;flex:none}
.timed-subject{padding:17px;margin:14px 0;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}
.timed-subject h3{margin:0 0 13px}
.count-entry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;grid-column:1/-1}
.count-entry label{display:flex;flex-direction:column;gap:7px}
.count-entry input{width:100%;min-width:65px;font-size:18px!important;font-weight:700!important;border:2px solid #d3dde7!important}
.count-entry input[readonly]{background:#eef3f6!important;color:#47647a}
.count-entry input.invalid-count{border-color:#bb4940!important}
.entry-attempts{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.attempt-card{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px;background:#f4f7f9;border-radius:10px}
#examCountdown{font-weight:900;font-variant-numeric:tabular-nums;font-size:18px;color:#143b57}
@media(max-width:550px){.subject-picks{grid-template-columns:1fr}.check-row{flex-wrap:wrap}.check-row .count-field{width:40%!important;flex:1}}

/* v5: examination types and staged answer-key publication */
.key-subject{padding:12px 0;border-bottom:1px solid #e2e7ed}
.key-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(63px,1fr));gap:7px;margin-top:10px}
.key-grid span{border:1px solid #e6e0d3;border-radius:8px;background:#fffdf7;padding:9px;text-align:center;font-variant-numeric:tabular-nums;font-size:13px}
.published-keys{margin-top:18px}
.published-keys h3{margin:12px 0;color:#173952}
.btn.gold{background:#e0b352;color:#172c3e;border-color:#d2a246}

/* v5.1: persistent, readable validation feedback for exam creation */
.modal-validation-error{background:#fff0ec;border:2px solid #c65b4e;color:#8e2721;border-radius:12px;padding:13px 15px;margin:0 0 17px;font-size:13px;font-weight:650;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}

/* v6: school trial entry, student-owned resources and rapid coaching workflow */
.school-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.school-count-row{border:1px solid #e2e7ec;border-radius:13px;padding:13px;background:#fafdff}
.school-count-row>b{display:block;margin-bottom:9px;color:#173d56;font-size:13px}
.resource-cover{width:46px;height:58px;object-fit:contain;border:1px solid #d4e0e9;border-radius:6px;background:#fff}
.week-plan-row{display:grid;grid-template-columns:140px 1.2fr .85fr 1.5fr 94px;gap:7px;align-items:end;padding:12px 0;border-bottom:1px dashed #d9e4e8}
.week-plan-row label{min-width:0!important}
.week-plan-row input,.week-plan-row select{min-width:0!important;width:100%!important;padding:8px!important}
@media(max-width:790px){.school-count-grid{grid-template-columns:1fr}.week-plan-row{grid-template-columns:repeat(2,minmax(0,1fr))}.week-plan-row label:nth-child(4){grid-column:1/-1}}

/* Evidence-based four-section print report based on supplied LGS progress PDF. */
.print-report{margin:0 auto;max-width:1100px}
.report-sheet{position:relative;min-height:880px;padding:33px 36px 48px;border:1px solid #dbe4e9;background:white;border-radius:6px;margin:0 0 20px;box-shadow:0 6px 26px #10283f0d;color:#1d3448;font-size:13px;line-height:1.5}
.report-sheet h1{font-size:27px;color:#193c57;border-bottom:2px solid #5187a4;padding-bottom:9px;margin:14px 0}
.report-sheet h2{font-size:18px;color:#18384f;margin:24px 0 11px}
.report-sheet h3{font-size:14px;color:#326d7a;margin:11px 0 5px}
.report-sheet p{margin:9px 0}
.report-sheet .table-wrap{overflow:visible;margin:8px 0 14px;border-radius:2px}
.report-sheet table{white-space:normal;table-layout:auto}
.report-sheet th{background:#193b55;color:white;font-weight:700;font-size:10px;padding:9px 7px;letter-spacing:0}
.report-sheet td{font-size:11px;padding:7px 8px}
.report-sheet tbody tr:nth-child(even){background:#f1f6f9}
.report-sheet ul{padding-left:20px;margin:8px 0 18px}
.report-sheet li{margin:6px 0}
.sheet-header{display:flex;justify-content:space-between;gap:16px;font-weight:800;color:#167e88;letter-spacing:.05em;font-size:10px}
.report-meta{color:#15888c;font-weight:750}
.report-kpis{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:22px 0;background:#e9f3f5}
.report-kpis>div{padding:15px;display:grid;gap:5px}
.report-kpis>div:nth-child(4){background:#f8f5ed}
.report-kpis strong{font-size:23px;color:#235975;line-height:1.2}
.report-kpis b{color:#6b7c86;font-size:10px;letter-spacing:.04em}
.report-kpis small{color:#526e80;font-size:11px}
.report-method{border-left:4px solid #27a4a4;background:#eaf6f5;padding:10px 14px;margin-top:16px;font-size:11px;line-height:1.5}
.report-method p{margin:3px 0}
.sheet-footer{margin-top:28px;text-align:right;font-size:10px;color:#8296a1;border-top:1px solid #dce8ea;padding-top:8px}
.report-chart{width:100%;max-height:200px;display:block;margin:15px 0}
.report-sheet .chart-caption{font-size:11px;color:#4e9f9d;margin:5px 0 22px}
.report-signature{border-top:2px solid #d5e5e8;padding:16px 0 0;margin-top:20px;font-size:12px}
.report-signature .signature-line{text-align:right;font-weight:800;color:#123c58;margin-top:20px;font-size:16px}
.report-signature small{font-weight:400;color:#56707e;font-size:10px}
@page{size:A4;margin:10mm}
@media print{
 body{color:#173a51!important}
 .no-print,.app-footer,.workspace>.topbar,.sidebar,.mobile-top,.btn,.date-pill{display:none!important}
 .report-sheet{margin:0;box-shadow:none;border:none;border-radius:0;min-height:0;padding:7mm 5mm 6mm;break-after:page;page-break-after:always}
 .report-sheet:last-child{break-after:auto;page-break-after:auto}
 .report-sheet h2{margin:10px 0 6px;font-size:16px}
 .report-sheet p{margin:6px 0}
 .report-sheet th{background:#193b55!important;color:white!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .report-kpis{margin:14px 0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .report-kpis>div{padding:10px}
 .report-sheet table{break-inside:auto}
 .report-sheet tr{break-inside:avoid}
 .report-method{margin-top:10px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .report-chart{max-height:165px}
 .sheet-footer{margin-top:14px}
 #pageContent{padding:0!important;max-width:100%!important}
}
/* v7: teacher-only champions, item statistics and poster studio */
.v7-loading{padding:38px;color:#5c7789}.v7-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border:1px solid #e0e7ee;background:#fff;padding:18px;border-radius:14px;margin-bottom:18px}.v7-controls label{display:flex;flex-direction:column;gap:5px;min-width:155px;flex:1;font-size:12px;font-weight:700;color:#22495f}.v7-controls input,.v7-controls select{width:100%;padding:12px;border:1px solid #ccdce7;border-radius:9px;min-height:44px;font-size:14px}.v7-muted{display:block;color:#61798a;font-size:11px;margin-top:5px}.v7-bad{display:block;color:#a7372c;font-size:12px}.v7-good{color:#1b785b;font-weight:800}.v7-options{display:flex;flex-wrap:wrap;gap:6px}.v7-options span{border:1px solid #dfe7ec;border-radius:5px;padding:4px 7px;font-size:11px}.v7-share-text{width:100%;min-height:210px;padding:14px;border:1px solid #d5e0e8;border-radius:10px;line-height:1.65;font-size:14px}.v7-check{display:flex!important;align-items:center;gap:9px;margin:12px 0;font-size:13px!important}.v7-check input{width:auto!important}.v7-poster-host{margin:24px auto;display:flex;flex-direction:column;align-items:center;gap:12px}.v7-poster-host canvas{width:min(100%,550px);height:auto;border-radius:12px;box-shadow:0 10px 34px #10283f2e}.v7-controls .btn{min-height:44px}@media(max-width:750px){.v7-controls{flex-direction:column;align-items:stretch}.v7-controls label{width:100%}}


/* v7.1: printable weekly plan PDF selector */
.weekly-pdf-panel{display:flex;flex-wrap:wrap;gap:16px;align-items:end;justify-content:space-between;border:1px solid #c9dfe3;background:#eef7f7;padding:17px 19px;border-radius:13px;margin:0 0 17px}
.weekly-pdf-panel>div{flex:1 1 230px;color:#183e54}
.weekly-pdf-panel b{font-size:16px}
.weekly-pdf-panel p{font-size:12px;margin:5px 0 0;color:#516f7d;line-height:1.5}
.weekly-pdf-panel label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#24465b;min-width:210px}
.weekly-pdf-panel select{min-height:41px;border:1px solid #b9d0d9;border-radius:8px;background:white;padding:8px;color:#1a3d52}
.weekly-pdf-panel .btn{min-height:42px}
@media(max-width:680px){.weekly-pdf-panel{flex-direction:column;align-items:stretch}.weekly-pdf-panel label{min-width:0;width:100%}}

/* v7.2 archive and irreversible removal */
.notice.danger{border:1px solid #df9995;background:#fff4f2;color:#76352e;border-radius:10px;padding:14px}.notice.danger p{margin:8px 0 0}.pill{white-space:nowrap}

/* v7.3: accessible A/B/C/D question marking, phone friendly */
.response-grid.choice-answers{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}
.question-choice{min-width:0;text-align:left;align-items:stretch;padding:10px 12px}
.question-choice legend{font-size:12px;font-weight:850;padding:0 5px;color:#163950}
.answer-choices{display:flex;gap:4px;justify-content:space-between;width:100%}
.choice-pill{position:relative;display:block!important;flex:1;min-width:0;text-align:center;cursor:pointer;font-size:12px!important}
.choice-pill input{position:absolute;opacity:0;left:0;top:0;width:100%!important;height:100%;cursor:pointer}
.choice-pill span{display:block;padding:10px 2px;border:1px solid #cad8e2;border-radius:8px;background:#fff;color:#28465b;font-weight:800}
.choice-pill input:checked+span{background:#102d49;color:#fff;border-color:#102d49}
.choice-pill input:focus-visible+span{outline:3px solid #d7a540;outline-offset:2px}
@media(max-width:700px){.response-grid.choice-answers{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:8px}.question-choice{padding:8px 5px}.choice-pill span{padding:8px 1px;font-size:11px}}

/* v7.4: learner-friendly color feedback without revealing the answer key */
.question-choice.prior-correct{background:#e4f6e9!important;border:2px solid #369668!important}
.question-choice.prior-wrong{background:#ffeaea!important;border:2px solid #d44b4b!important}
.question-choice.prior-blank{background:#fff6da!important;border:2px solid #e4b952!important}
.question-choice .prior-label{font-size:11px;line-height:1.3;font-weight:800;display:block;padding:4px 7px;border-radius:7px;background:#fff9;max-width:100%}
.question-choice.prior-wrong .prior-label{color:#a52c2c}
.question-choice.prior-correct .prior-label{color:#166c45}
.question-choice.prior-blank .prior-label{color:#836107}
.question-mark.right{border:2px solid #3b9770;background:#e2f7e9;color:#155d3c}
.question-mark.wrong{border:2px solid #d24f4f;background:#ffebeb;color:#9f2727}
.question-mark.empty-answer{border:2px solid #deb348;background:#fff4d9;color:#775c14}
/* v7.5 full-cohort report */
.v75-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:#fff;border:1px solid #e2e9ef;border-radius:15px;padding:16px;margin-bottom:16px}
.v75-controls label{min-width:min(100%,250px);flex:1;font-size:12px;font-weight:700;color:#294259}
.v75-controls select{display:block;width:100%;padding:10px 12px;border:1px solid #d5dfe6;border-radius:8px;margin-top:6px;background:#f8fafb;color:#183349}
.v75-buttons{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.v75-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}
.v75-kpi{background:white;border:1px solid #e0e7ed;border-radius:12px;padding:14px 13px;min-width:0}.v75-kpi span{display:block;font-size:11px;color:#657e91;line-height:1.4}.v75-kpi strong{display:block;font-size:25px;color:#15354e;margin-top:5px}
.v75-leaders{background:#fff9e9;padding:12px;border-radius:12px;margin:12px 0 18px;border:1px solid #ebdab8}.v75-leader{display:block;margin:5px 0;line-height:1.7}.v75-leaders p{margin:0}
.v75-consent{display:inline-flex;gap:6px;align-items:center;font-size:11px;color:#5c6475;font-weight:500;margin-left:10px}.v75-consent input{width:16px;height:16px}
.v75-detail-row td{background:#f8fafc!important;padding:5px 12px!important}.v75-detail-row details{font-size:12px;color:#395269}.v75-subject-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:9px 0}.v75-subject-detail>div{background:#fff;border:1px solid #e7edf1;padding:9px;border-radius:9px}
.v75-absent{max-height:270px;overflow-y:auto;font-size:12px;padding:12px;border-radius:7px;background:#f5f8fa;line-height:1.8}.v75-message{display:block;width:100%;min-height:180px;font-size:13px;line-height:1.6;padding:12px;border:1px solid #d4dfe6;border-radius:9px;background:#fbfcfd;color:#143448}
@media(max-width:960px){.v75-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.v75-subject-detail{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.v75-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.v75-subject-detail{grid-template-columns:1fr}.v75-controls{display:block}.v75-controls label{display:block;margin-bottom:12px}.v75-buttons{margin-top:8px}}
