:root{--navy:#0b1739;--indigo:#2943a8;--cyan:#12b8d5;--ink:#17213b;--muted:#64708b;--surface:#fff;--bg:#f3f6fb;--danger:#a6293f}
.sample-section{margin-top:2rem;border-top:1px solid #e2e7f0;padding-top:1.2rem}.sample-card{border:1px solid #dbe3ef;border-radius:10px;padding:.9rem;margin:.75rem 0;background:#fff}.sample-card>strong{display:block;margin-bottom:.65rem}.sample-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.sample-grid span{display:block;color:var(--muted);font-size:.75rem;font-weight:750;text-transform:uppercase}.sample-grid pre{margin:.3rem 0 0;min-height:52px}.editor-actions{display:flex;gap:.55rem;flex-wrap:wrap}.editor-actions button{margin:0}.run-button{background:#667085;color:#fff}.submit-code{background:#176bde}.io-console{padding:0 1rem 1rem}.io-console label{display:grid;gap:.4rem;font-weight:750}.io-console small{font-weight:400;color:var(--muted)}.io-console textarea{min-height:105px;padding:.8rem;font:13px/1.5 Consolas,monospace;resize:vertical}.run-results h3,.recent-submissions h3{margin:.5rem 0 .8rem}.console-result{border:1px solid #dbe3ef;border-left:4px solid #8792a6;border-radius:9px;padding:.85rem;margin:.7rem 0}.console-result.passed{border-left-color:#20a862}.console-result.failed{border-left-color:var(--danger)}.console-result>div:first-child{display:flex;justify-content:space-between;gap:1rem}.console-result>div:first-child span{color:var(--muted);font-size:.78rem}.output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.7rem}.output-grid label{font-size:.75rem;font-weight:750}.output-grid pre{white-space:pre-wrap;background:#101827;color:#e6edf7;padding:.75rem;border-radius:7px;min-height:50px}.output-grid .error-output{grid-column:1/-1}.output-grid .error-output pre{color:#ffb4b4}.submission-verdict{padding:0 1rem 1rem}.verdict-card{border-radius:12px;padding:1.15rem;color:#fff}.verdict-card span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.verdict-card h2{margin:.25rem 0}.verdict-card p{margin:.25rem 0 .75rem}.verdict-card a{color:inherit;font-weight:750}.verdict-accepted{background:#168653}.verdict-partial{background:#b36b00}.verdict-wrong_answer{background:#c33b48}.recent-submissions{padding:0 1rem 1rem}.recent-submissions>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.65rem;border-top:1px solid #e6eaf1;color:var(--ink);text-decoration:none;font-size:.82rem}.recent-submissions small{color:var(--muted)}.status-pill{padding:.25rem .5rem;border-radius:999px;background:#eef1f6;font-size:.7rem;font-weight:750}.status-accepted{background:#dcf5e8;color:#17643d}.status-partial{background:#fff0cf;color:#8a5200}.status-wrong_answer{background:#ffe3e6;color:#9f2632}@media(max-width:700px){.sample-grid,.output-grid{grid-template-columns:1fr}.editor-toolbar{align-items:stretch;flex-direction:column}.recent-submissions>a{grid-template-columns:1fr}.sample-grid pre{min-height:0}}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.brand-panel{padding:10vw 8vw;background:var(--navy);color:white;display:flex;flex-direction:column;justify-content:center}.brand-panel h1{font-size:clamp(2.6rem,5vw,5.5rem);line-height:1;max-width:720px;margin:.4rem 0 1.5rem}.brand-panel p{font-size:1.15rem;color:#cbd6f3;max-width:560px;line-height:1.7}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:800;color:var(--cyan)}
.login-panel{display:grid;place-items:center;padding:2rem}.login-card{background:white;width:min(430px,100%);padding:2.5rem;border-radius:18px;box-shadow:0 20px 60px #14224b18}.login-card h2{font-size:2rem;margin:.5rem 0 1.8rem}.login-card label{display:grid;gap:.45rem;margin:1rem 0;font-weight:650}.login-card input{padding:.85rem 1rem;border:1px solid #cdd5e5;border-radius:8px;font:inherit}.login-card button{width:100%;padding:.9rem;border:0;border-radius:8px;background:var(--indigo);color:white;font-weight:750;font-size:1rem}.alert{padding:.8rem 1rem;border-radius:8px;background:#fff0f2;color:var(--danger)}.support{font-size:.78rem;color:var(--muted);margin-top:1.5rem}
.topbar{height:64px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:white}.topbar form{margin:0}.link-button{border:1px solid #ffffff55;background:transparent;color:white;border-radius:7px;padding:.5rem .8rem}.dashboard{max-width:1180px;margin:0 auto;padding:5rem 2rem}.dashboard h1{font-size:2.6rem;margin:.4rem 0}.lead{color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem}.card{display:grid;gap:.7rem;padding:1.6rem;background:white;border:1px solid #e0e6f1;border-radius:14px}.card b{font-size:1.15rem}.card span{color:var(--muted)}
@media(max-width:800px){.auth-shell{grid-template-columns:1fr}.brand-panel{min-height:35vh;padding:3rem 2rem}.brand-panel h1{font-size:2.7rem}.login-panel{padding:2rem 1rem}.card-grid{grid-template-columns:1fr}}
.topnav{display:flex;align-items:center;gap:1rem}.topnav a{color:white;text-decoration:none}.topnav form{display:inline}
.admin-shell{max-width:1240px;margin:0 auto;padding:3.5rem 2rem}.page-heading h1{font-size:2.5rem;margin:.35rem 0}.admin-grid{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:1.4rem;align-items:start;margin-top:2rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin-top:2rem}
.panel{background:white;border:1px solid #e0e6f1;border-radius:14px;padding:1.5rem}.panel h2{margin:.1rem 0 1.2rem}.panel-heading{display:flex;align-items:center;justify-content:space-between}.count-badge{background:#e8edff;color:var(--indigo);font-weight:800;border-radius:999px;padding:.25rem .65rem}
.stack-form{display:grid;gap:1rem}.stack-form label{display:grid;gap:.4rem;font-weight:700}input,select{border:1px solid #cdd5e5;border-radius:8px;padding:.72rem .8rem;font:inherit;background:white}
.inline-form{display:grid;grid-template-columns:1.2fr 1.2fr 1.5fr .7fr .6fr auto;gap:.75rem;align-items:end;margin:1rem 0 1.5rem}.inline-form label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}.subject-table input{min-width:85px}
.primary-button,.secondary-button,.primary-link{display:inline-block;border:0;border-radius:8px;padding:.72rem 1rem;font-weight:750;text-decoration:none}.primary-button,.primary-link{background:var(--indigo);color:white}.secondary-button{background:#e8edff;color:var(--indigo)}
.notice{padding:.85rem 1rem;border-radius:8px;margin:1rem 0}.notice-success{background:#e9f8f0;color:#17643d}.notice-error{background:#fff0f2;color:var(--danger)}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem;border-bottom:1px solid #e7ebf3}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}td input{min-width:130px;width:100%}.empty-state{display:grid;gap:.4rem;padding:2.5rem;text-align:center;color:var(--muted)}
@media(max-width:850px){.admin-grid,.form-grid{grid-template-columns:1fr}.admin-shell{padding:2rem 1rem}.topbar{height:auto;min-height:64px;gap:1rem;padding:1rem}.topbar>div span{display:none}}
.app-header{height:72px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:.75rem;color:white;text-decoration:none}.brand span:last-child{display:grid}.brand small{color:#aebadb;font-size:.72rem}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--cyan);color:var(--navy);font-weight:900}.header-actions{display:flex;align-items:center;gap:1rem}.header-actions form{margin:0}.role-pill{background:#ffffff14;border:1px solid #ffffff20;border-radius:999px;padding:.4rem .7rem;text-transform:capitalize;font-size:.78rem}.ghost-button{border:1px solid #ffffff55;background:transparent;color:white;border-radius:8px;padding:.55rem .8rem}.app-frame{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{background:white;border-right:1px solid #e3e8f2;padding:1.5rem 1rem}.sidebar nav{display:grid;gap:.3rem}.sidebar a,.nav-disabled{padding:.72rem .85rem;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:650}.sidebar a:hover,.sidebar a.active{background:#e9eeff;color:var(--indigo)}.nav-disabled{color:#8d97ad}.nav-label{margin:1.3rem .85rem .35rem;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:var(--muted);font-weight:800}.content{padding:3rem;max-width:1500px;width:100%;margin:0 auto}.welcome{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.welcome h1{font-size:2.25rem;margin:.35rem 0}.welcome p:last-child{color:var(--muted)}.status-chip{background:#e9f8f0;color:#17643d;padding:.6rem .8rem;border-radius:999px;font-weight:750;font-size:.8rem}.status-chip i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#20a862;margin-right:.35rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2rem 0}.metric{display:grid;gap:.5rem;background:white;border:1px solid #e0e6f1;border-radius:12px;padding:1.2rem}.metric span{color:var(--muted);font-size:.8rem}.metric strong{font-size:1.8rem}.workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.workspace-card{display:block;background:white;border:1px solid #e0e6f1;border-radius:14px;padding:1.5rem;text-decoration:none;color:var(--ink)}.workspace-card h2{margin:.45rem 0}.workspace-card p{color:var(--muted);line-height:1.55}.workspace-card b{color:var(--indigo);font-size:.85rem}.card-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--cyan);font-size:.68rem;font-weight:900}
.studio-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.6fr);gap:1.25rem;margin:2rem 0}.assessment-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.assessment-form label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}.assessment-form .wide{grid-column:1/-1}.assessment-form textarea{border:1px solid #cdd5e5;border-radius:8px;padding:.72rem;font:inherit;resize:vertical}
.stack-form textarea{border:1px solid #cdd5e5;border-radius:8px;padding:.72rem;font:inherit;resize:vertical}.compact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.code-field{font-family:Consolas,monospace;font-size:.83rem}.record-list{display:grid}.record-list>div{display:grid;gap:.25rem;padding:.85rem 0;border-bottom:1px solid #e6ebf3}.record-list span{color:var(--muted);font-size:.8rem}
.user-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;align-items:end}.user-form label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}
.account-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.account-form-heading h2{margin:.1rem 0 .35rem}.account-form-heading p{margin:0;color:var(--muted)}.role-form-badge{padding:.45rem .7rem;border-radius:999px;background:#e8edff;color:var(--indigo);font-size:.75rem;font-weight:850;white-space:nowrap}.user-form [hidden]{display:none!important}.create-account-action{display:flex;align-items:end}.create-account-action .primary-button{width:100%;margin:0}
.account-form-heading .password-generation-note{margin-top:.65rem;padding:.65rem .8rem;border-left:3px solid var(--cyan);border-radius:0 7px 7px 0;background:#f1f8fb;color:#36536b;font-size:.82rem;line-height:1.45}

/* Dashboard command centre */
.dashboard-body{background:#f1f5fb}.dashboard-header{height:78px;padding:0 2.2rem;background:linear-gradient(110deg,#071536,#102458);box-shadow:0 8px 30px #07153624}.dashboard-header .brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#1ed4e7,#0aa8d2);box-shadow:0 8px 25px #0bb8db45}.header-identity{display:grid;text-align:right}.header-identity span{font-weight:800}.header-identity small{color:#9fb0db;text-transform:capitalize}.dashboard-frame{grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 78px)}.dashboard-sidebar{position:sticky;top:78px;height:calc(100vh - 78px);overflow:auto;padding:1.3rem 1rem 1.5rem;background:#fff;border-right:1px solid #dfe6f2}.sidebar-profile{display:flex;align-items:center;gap:.75rem;padding:.85rem;margin-bottom:.75rem;border:1px solid #e4e9f3;border-radius:14px;background:linear-gradient(145deg,#f8faff,#f1f5fc)}.sidebar-avatar{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:linear-gradient(145deg,var(--indigo),#5a73d5);color:#fff;font-weight:900}.sidebar-profile div{display:grid;min-width:0}.sidebar-profile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.sidebar-profile small{color:var(--muted);font-size:.66rem}.dashboard-sidebar nav{gap:.2rem}.dashboard-sidebar nav>a{display:flex;align-items:center;gap:.7rem;padding:.63rem .7rem;border:1px solid transparent;border-radius:11px}.dashboard-sidebar nav>a>span:last-child{display:grid}.dashboard-sidebar nav>a b{font-size:.82rem}.dashboard-sidebar nav>a small{margin-top:.08rem;color:#8994aa;font-size:.64rem;font-weight:550}.dashboard-sidebar nav>a:hover,.dashboard-sidebar nav>a.active{border-color:#dce4fb;background:linear-gradient(135deg,#eef2ff,#f7f9ff);box-shadow:0 5px 16px #2943a80c}.side-icon,.quick-icon{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:10px;background:#e7edff;color:#2943a8;font-size:.62rem;font-weight:950;letter-spacing:-.03em}.icon-users{background:#e8f8f6;color:#138477}.icon-departments{background:#fff2df;color:#b36a08}.icon-academic{background:#f2eaff;color:#7a49b9}.icon-mcq{background:#ffecef;color:#b63750}.icon-studio{background:#e8edff;color:#2943a8}.icon-code{background:#e7f6ff;color:#087ba1}.icon-sql{background:#e6f7ef;color:#177b50}.sidebar-insight{display:flex;align-items:center;gap:.7rem;margin:1.2rem .2rem 0;padding:.85rem;border-radius:14px;background:linear-gradient(145deg,#0b1c46,#173474);color:#fff;box-shadow:0 12px 28px #0b173929}.sidebar-insight>div:last-child{display:grid}.sidebar-insight strong{font-size:.78rem}.sidebar-insight small{margin-top:.15rem;color:#afbee6;font-size:.61rem;line-height:1.4}.insight-orbit{position:relative;display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border:1px solid #36d3e6;border-radius:50%;font-size:.74rem;font-weight:900}.insight-orbit:before{content:"";position:absolute;inset:5px;border:1px dashed #ffffff52;border-radius:50%}.insight-orbit i{position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:#32e0c4;box-shadow:0 0 12px #32e0c4}.dashboard-content{max-width:1580px;padding:2rem 2.5rem 3rem}.dashboard-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);min-height:350px;overflow:hidden;padding:2.5rem 3rem;border-radius:26px;background:radial-gradient(circle at 78% 40%,#1c4d8a 0,#112e68 28%,#091a43 66%,#061330 100%);color:#fff;box-shadow:0 24px 60px #0b17392b}.dashboard-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,#000,transparent 88%)}.hero-copy{position:relative;z-index:2;align-self:center}.hero-topline{display:flex;align-items:center;gap:1rem}.hero-kicker{color:#55dced;font-size:.7rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.live-pill{display:inline-flex;align-items:center;padding:.38rem .6rem;border:1px solid #ffffff21;border-radius:999px;background:#ffffff0d;color:#c7f9e8;font-size:.67rem;font-weight:800}.live-pill i{width:7px;height:7px;margin-right:.4rem;border-radius:50%;background:#37df9c;box-shadow:0 0 12px #37df9c}.dashboard-hero h1{max-width:850px;margin:1rem 0 .7rem;font-size:clamp(2.3rem,4vw,4.4rem);line-height:1.02;letter-spacing:-.045em}.dashboard-hero h1 span{color:#66ddeb}.dashboard-hero p{max-width:730px;margin:0;color:#b9c8e8;font-size:1rem;line-height:1.7}.hero-actions{display:flex;gap:.7rem;margin-top:1.5rem}.hero-actions a{display:inline-flex;align-items:center;gap:.8rem;padding:.75rem 1rem;border:1px solid #ffffff25;border-radius:10px;background:#ffffff0c;color:#fff;text-decoration:none;font-size:.76rem;font-weight:800}.hero-actions a:first-child{border-color:#4dd5e5;background:#21b9d0;color:#061b35}.hero-actions a:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0002}.hero-visual{position:relative;z-index:1;display:grid;place-items:center;min-height:280px}.visual-ring{position:absolute;border:1px solid #55dced55;border-radius:50%;animation:dashboardSpin 22s linear infinite}.ring-one{width:250px;height:250px;border-style:dashed}.ring-two{width:185px;height:185px;animation-direction:reverse;animation-duration:15s}.visual-core{z-index:2;display:grid;place-items:center;width:116px;height:116px;border:1px solid #72e5ef88;border-radius:50%;background:radial-gradient(circle at 35% 30%,#32c7df,#155290 58%,#0b285c);box-shadow:0 0 0 14px #ffffff08,0 0 50px #35d3e64f}.visual-core span{font-size:1.2rem;font-weight:950;letter-spacing:.08em}.visual-core small{margin-top:-2.2rem;color:#9ef2e7;font-size:.55rem;letter-spacing:.18em}.visual-node{position:absolute;width:12px;height:12px;border-radius:50%;background:#47e5cb;box-shadow:0 0 17px #47e5cb}.node-a{top:23px;right:28%}.node-b{right:15%;bottom:28%}.node-c{left:20%;bottom:18%;background:#f7b955;box-shadow:0 0 17px #f7b955}@keyframes dashboardSpin{to{transform:rotate(360deg)}}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:2.2rem 0 1rem}.section-heading span,.insight-heading span{color:#0baec8;font-size:.65rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.section-heading h2,.insight-heading h2{margin:.3rem 0 0;font-size:1.45rem}.section-heading>small{color:var(--muted);font-size:.72rem}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.dashboard-metric{position:relative;gap:0;overflow:hidden;min-height:190px;padding:1.2rem 1.25rem;border:1px solid #e1e7f1;border-radius:17px;background:#fff;box-shadow:0 10px 30px #1326500a;transition:.2s ease}.dashboard-metric:after{content:"";position:absolute;right:-30px;bottom:-45px;width:110px;height:110px;border-radius:50%;background:var(--metric-glow,#e8edff);opacity:.65}.dashboard-metric:hover{transform:translateY(-4px);box-shadow:0 18px 40px #13265016}.metric-tone-1{--metric:#2d57c8;--metric-bg:#e8edff;--metric-glow:#dce5ff}.metric-tone-2{--metric:#0a9d8d;--metric-bg:#e5f7f3;--metric-glow:#cef1e9}.metric-tone-3{--metric:#b46c13;--metric-bg:#fff1dc;--metric-glow:#ffe5b8}.metric-tone-4{--metric:#9b4666;--metric-bg:#fce9f1;--metric-glow:#f9d8e6}.metric-head{display:flex;align-items:center;justify-content:space-between}.metric-head small{color:#b1bacb;font-size:.65rem;font-weight:850}.metric-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--metric-bg);color:var(--metric);font-size:.66rem;font-weight:950}.dashboard-metric>strong{position:relative;z-index:1;margin-top:1rem;color:#101d3d;font-size:2.2rem;line-height:1}.dashboard-metric h3{position:relative;z-index:1;margin:.4rem 0 .2rem;font-size:.85rem}.dashboard-metric p{position:relative;z-index:1;margin:0;color:var(--muted);font-size:.68rem}.dashboard-metric progress,.activity-row progress{width:100%;height:6px;margin-top:1rem;border:0;border-radius:999px;background:#edf1f6;overflow:hidden}.dashboard-metric progress::-webkit-progress-bar,.activity-row progress::-webkit-progress-bar{background:#edf1f6}.dashboard-metric progress::-webkit-progress-value{border-radius:999px;background:var(--metric)}.dashboard-metric progress::-moz-progress-bar{border-radius:999px;background:var(--metric)}.dashboard-insights{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:1rem;margin-top:1.2rem}.insight-panel{padding:1.4rem 1.5rem;border:1px solid #e1e7f1;border-radius:18px;background:#fff;box-shadow:0 10px 30px #1326500a}.insight-heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:1rem}.insight-heading h2{font-size:1.15rem}.trend-chip{padding:.35rem .55rem;border-radius:999px;background:#e8f7f3;color:#147d61!important;font-size:.6rem!important;letter-spacing:0!important}.activity-row{display:grid;grid-template-columns:38px 1fr;gap:.8rem;align-items:center;padding:.72rem 0;border-top:1px solid #edf0f5}.activity-row:first-of-type{border-top:0}.activity-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#edf2ff;color:#3151ae;font-size:.62rem;font-weight:950}.activity-row>div>div{display:flex;justify-content:space-between}.activity-row b{font-size:.75rem}.activity-row strong{font-size:.75rem}.activity-row progress{margin-top:.5rem;height:5px}.activity-row progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,#2c56c7,#17bad0)}.activity-row progress::-moz-progress-bar{background:#2c56c7}.mix-content{display:grid;grid-template-columns:150px 1fr;gap:1rem;align-items:center}.mix-ring{width:145px;height:145px;transform:rotate(-90deg)}.mix-ring circle{fill:none;stroke:#e9eef5;stroke-width:4}.mix-ring .mix-ring-value{stroke:#2f59c9;stroke-linecap:round}.mix-ring text{fill:#14234a;font-size:7px;font-weight:900;transform:rotate(90deg);transform-origin:center}.mix-ring .ring-label{fill:#7c89a4;font-size:2.5px;letter-spacing:.5px}.mix-legend{display:grid;gap:.55rem}.mix-legend p{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:.5rem;margin:0;font-size:.72rem}.mix-legend i{width:8px;height:8px;border-radius:3px}.legend-code{background:#2f59c9}.legend-sql{background:#18b6b0}.mix-legend small{color:var(--muted);font-size:.65rem;line-height:1.45}.quick-heading{margin-top:2rem}.quick-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.quick-action-grid>a{display:grid;grid-template-columns:42px 1fr auto;gap:.75rem;align-items:center;padding:1rem;border:1px solid #e1e7f1;border-radius:15px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 9px 28px #13265009;transition:.2s ease}.quick-action-grid>a:hover{border-color:#bdcbef;transform:translateY(-3px);box-shadow:0 16px 35px #13265014}.quick-action-grid>a>div{display:grid}.quick-action-grid b{font-size:.8rem}.quick-action-grid small{margin-top:.18rem;color:var(--muted);font-size:.63rem}.quick-action-grid em{color:#2d55c2;font-style:normal;font-size:1.2rem}.student-dashboard-metrics{grid-template-columns:repeat(3,1fr);margin-top:1.5rem}.student-quick-actions{grid-template-columns:repeat(2,1fr);margin-top:1rem}
@media(max-width:1250px){.dashboard-frame{grid-template-columns:245px minmax(0,1fr)}.dashboard-content{padding:1.5rem}.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.quick-action-grid{grid-template-columns:repeat(2,1fr)}.dashboard-hero{padding:2rem}.dashboard-insights{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.dashboard-header{height:70px;padding:0 1rem}.header-identity{display:none}.dashboard-frame{display:block}.dashboard-sidebar{position:static;display:block;height:auto;padding:.7rem;overflow-x:auto}.sidebar-profile,.sidebar-insight{display:none}.dashboard-sidebar nav{display:flex;min-width:max-content}.dashboard-sidebar .nav-label{display:none}.dashboard-sidebar nav>a{min-width:170px}.dashboard-content{padding:1rem}.dashboard-hero{grid-template-columns:1fr;min-height:auto;padding:2rem}.hero-visual{display:none}.dashboard-insights{grid-template-columns:1fr}.content.dashboard-content{max-width:none}.dashboard-hero h1{font-size:2.6rem}}
@media(max-width:620px){.dashboard-header .brand small{display:none}.dashboard-hero{padding:1.4rem;border-radius:18px}.hero-topline{align-items:flex-start;flex-direction:column}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions a{justify-content:space-between}.dashboard-metrics,.student-dashboard-metrics,.quick-action-grid,.student-quick-actions{grid-template-columns:1fr}.dashboard-insights{grid-template-columns:1fr}.mix-content{grid-template-columns:120px 1fr}.mix-ring{width:115px;height:115px}.section-heading{align-items:flex-start;flex-direction:column}.dashboard-content{padding:.75rem}.dashboard-metric{min-height:170px}}
@media(prefers-reduced-motion:reduce){.visual-ring{animation:none}.dashboard-metric,.quick-action-grid>a,.hero-actions a{transition:none}}
.user-import-panel{margin-bottom:1.25rem}.bulk-upload-actions{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.bulk-upload-actions>.secondary-button{margin:0}.user-import-form{display:flex;align-items:end;gap:.8rem;flex:1}.user-import-form label{display:grid;gap:.35rem;min-width:280px;font-size:.78rem;font-weight:750}.user-import-form .primary-button{margin:0}.table-summary{margin:-.8rem 0 1rem;color:var(--muted);font-size:.82rem}.user-filter-form{display:grid;grid-template-columns:1.2fr 1.2fr 1.4fr .8fr auto auto;gap:.75rem;align-items:end;margin:.4rem 0 1.2rem;padding:1rem;border:1px solid #e1e6f0;border-radius:11px;background:#f7f9fc}.user-filter-form label{display:grid;gap:.35rem;font-size:.76rem;font-weight:800}.user-filter-form .primary-button,.user-filter-form .secondary-button{margin:0;white-space:nowrap}.clear-filter{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.05rem}.export-filtered{grid-column:1/-1;justify-self:end}.empty-table{text-align:center;color:var(--muted);padding:2rem}
.student-edit-panel{margin:1.25rem 0;border-top:4px solid var(--cyan)}.student-edit-panel .panel-heading{margin-bottom:1rem}.student-edit-panel .panel-heading h2{margin:.25rem 0}.student-edit-panel .panel-heading .secondary-button{margin:0}.user-row-actions{display:flex;align-items:center;gap:.5rem}.user-row-actions form{margin:0}.user-row-actions .secondary-button{margin:0;white-space:nowrap}
@media(max-width:1100px){.user-filter-form{grid-template-columns:1fr 1fr 1fr}.user-import-form{flex-wrap:wrap}}@media(max-width:700px){.user-filter-form{grid-template-columns:1fr}.user-import-form{display:grid}.user-import-form label{min-width:0}.bulk-upload-actions{display:grid}.export-filtered{justify-self:stretch;justify-content:center}.table-panel .panel-heading{align-items:flex-start;gap:1rem}}
.option-row{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center}.question-list{display:grid}.question-list>article{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid #e4e9f2}.question-list h3{margin:.35rem 0;font-size:1rem}.question-list p{margin:0;color:var(--muted);font-size:.8rem}.map-form{display:grid;grid-template-columns:minmax(130px,1fr) 70px 70px auto;gap:.4rem;align-items:center}.map-form input{min-width:0;width:70px}
.bank-links{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.wide-shell{max-width:1440px}.module-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem;border-radius:18px;margin-bottom:1.4rem;color:white}.module-hero h1{font-size:2.35rem;margin:.35rem 0}.module-hero p:last-child{max-width:750px;color:#d9e2fa}.programming-hero{background:#12234d}.sql-hero{background:#113f46}.hero-stat{display:grid;place-items:center;min-width:130px;padding:1.2rem;border-radius:14px;background:#ffffff12;border:1px solid #ffffff24}.hero-stat strong{font-size:2rem}.hero-stat span{font-size:.78rem;color:#dce5f8}.section-title{display:flex;gap:.85rem;align-items:flex-start;margin-bottom:1.3rem}.section-title>span{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:9px;background:#e9eeff;color:var(--indigo);font-weight:900}.section-title h2{margin:0}.section-title p{margin:.3rem 0;color:var(--muted)}.author-panel{margin-bottom:1.25rem}.author-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.9rem}.author-form label{display:grid;gap:.4rem;font-weight:750;font-size:.8rem}.author-form textarea{border:1px solid #cdd5e5;border-radius:8px;padding:.75rem;font:inherit;resize:vertical}.author-form .span-2{grid-column:span 2}.author-form .span-3{grid-column:span 3}.author-form .span-4{grid-column:span 4}.author-form .span-6{grid-column:1/-1}.form-action{display:flex;justify-content:flex-end;align-items:end}.assignment-form{display:grid;grid-template-columns:1.5fr 1fr 1fr .65fr .8fr auto;gap:.75rem;align-items:end}.assignment-form label{display:grid;gap:.4rem;font-size:.78rem;font-weight:750}.content-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.25rem}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}.workspace-grid,.studio-grid,.content-columns{grid-template-columns:1fr}.app-frame{grid-template-columns:1fr}.sidebar{display:none}.content{padding:2rem 1rem}.welcome{display:grid}.inline-form,.assessment-form,.assignment-form{grid-template-columns:1fr 1fr}.author-form{grid-template-columns:1fr 1fr}.author-form .span-2,.author-form .span-3,.author-form .span-4,.author-form .span-6{grid-column:1/-1}}
.centered-message{min-height:calc(100vh - 98px);display:grid;place-items:center;padding:2rem}.access-card{max-width:720px;width:100%;padding:3rem}.access-card h1{font-size:clamp(2rem,5vw,3.5rem);margin:.75rem 0 1rem}.primary-button{display:inline-flex;margin-top:1rem;padding:.85rem 1.15rem;border-radius:10px;background:#2948b1;color:#fff;text-decoration:none;font-weight:700}
.student-card-grid{margin-top:2rem}.student-card-grid .workspace-card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.student-card-grid .workspace-card h2,.student-card-grid .workspace-card p{margin:0}.card-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0}.card-meta span{padding:.35rem .55rem;border-radius:7px;background:#f0f3f9;color:var(--muted);font-size:.76rem;font-weight:700}.result-panel{margin-top:2rem}.profile-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:1.25rem;margin-top:2rem}.identity-card{text-align:center}.profile-avatar{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 1rem;border-radius:22px;background:linear-gradient(135deg,var(--cyan),#6ee7d8);color:var(--navy);font-size:2rem;font-weight:900}.identity-card h2{margin-bottom:.25rem}.identity-card>p{margin-top:0;color:var(--muted)}.identity-card dl{display:grid;grid-template-columns:1fr 1.4fr;text-align:left;margin-top:1.5rem}.identity-card dt,.identity-card dd{padding:.65rem 0;border-bottom:1px solid #e6ebf3}.identity-card dt{color:var(--muted);font-size:.8rem}.identity-card dd{margin:0;font-weight:700}.password-panel{max-width:620px;margin-top:2rem}.password-panel .primary-button{justify-content:center}
@media(max-width:1000px){.profile-layout{grid-template-columns:1fr}.sidebar{display:block;overflow-x:auto}.app-frame{display:block}.sidebar nav{display:flex;min-width:max-content}.sidebar .nav-label{display:none}.sidebar a{white-space:nowrap}}
.problem-heading{margin-bottom:1.25rem}.problem-heading h1{font-size:2.4rem;margin:.35rem 0}.back-link{color:var(--indigo);text-decoration:none;font-weight:750}.coding-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(480px,1.2fr);gap:1.25rem;align-items:start}.problem-statement{line-height:1.65}.problem-statement h3{margin:1.5rem 0 .35rem}.problem-statement pre{white-space:pre-wrap;background:#f4f6fa;border-radius:8px;padding:.8rem}.editor-panel{padding:0;overflow:hidden}.editor-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid #e2e7f0}.editor-toolbar label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}.editor-toolbar .primary-button{margin:0}.code-label{display:grid;gap:.5rem;padding:1rem;font-weight:750}.source-editor{width:100%;min-height:420px;padding:1rem;border:1px solid #cbd4e4;border-radius:9px;background:#101827;color:#e6edf7;font:14px/1.55 Consolas,Monaco,monospace;resize:vertical;tab-size:4}.run-results{padding:0 1rem 1rem}.run-summary{padding:.85rem 1rem;border-radius:9px;background:#fff2f3;color:var(--danger);margin-bottom:.75rem}.run-summary.all-pass{background:#e9f8f0;color:#17643d}.test-result{padding:.8rem;border:1px solid #e2e7ef;border-left:4px solid var(--danger);border-radius:8px;margin:.55rem 0}.test-result.passed{border-left-color:#20a862}.test-result>div{display:flex;justify-content:space-between;gap:1rem}.test-result span,.test-result small{color:var(--muted);font-size:.78rem}.test-result details{margin-top:.6rem}.test-result pre{white-space:pre-wrap;background:#f4f6fa;padding:.7rem;border-radius:7px}.secondary-button{text-decoration:none}
@media(max-width:1100px){.coding-layout{grid-template-columns:1fr}.source-editor{min-height:330px}}
.sql-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.25rem;align-items:start}.sql-problem-list{display:grid;gap:.5rem;padding:1rem}.sql-problem-list h2{padding:.5rem;margin:0}.sql-problem-list a{display:grid;gap:.25rem;padding:.8rem;border-radius:9px;color:var(--ink);text-decoration:none}.sql-problem-list a:hover,.sql-problem-list a.active{background:#e8f6f7;color:#0d5963}.sql-problem-list small{color:var(--muted)}.sql-editor-panel{padding:0;overflow:hidden}.sql-prompt{padding:1.25rem 1.25rem 0}.sql-prompt h2{margin:.5rem 0}.sql-editor{min-height:260px;color:#d9f7ef}.sql-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem 1rem}.sql-actions span{color:var(--muted);font-size:.78rem}.sql-actions .primary-button{margin:0;background:#14717d}.preview-table{margin-top:.75rem;max-height:260px}.preview-table table{font-size:.83rem}
@media(max-width:1100px){.sql-layout{grid-template-columns:1fr}.sql-problem-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sql-problem-list h2{grid-column:1/-1}}@media(max-width:650px){.sql-problem-list{grid-template-columns:1fr}.sql-actions{align-items:stretch;flex-direction:column}.sql-actions .primary-button{width:100%}}
.nav-button{color:#fff;text-decoration:none}.mcq-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0}.mcq-summary article{display:grid;gap:.3rem;padding:1.2rem;background:#fff;border:1px solid #e0e6f1;border-radius:12px}.mcq-summary strong{font-size:1.8rem}.mcq-summary span{color:var(--muted);font-size:.8rem}.mcq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.mcq-section{margin-top:1.25rem}.download-button{margin-bottom:1rem}.import-form{padding-top:1rem;border-top:1px solid #e6ebf3}.bank-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.bank-card-grid>a{padding:1rem;border:1px solid #e0e6f1;border-radius:11px;text-decoration:none;color:var(--ink)}.bank-card-grid h3{margin:.45rem 0}.bank-card-grid p{color:var(--muted)}.bank-card-grid b{color:var(--indigo);font-size:.8rem}.audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;align-items:end}.audience-grid label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}.mapping-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.25rem}.mapping-list article{display:grid;gap:.25rem;padding:.8rem;background:#f6f8fc;border-radius:9px}.mapping-list span{color:var(--muted);font-size:.76rem}button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:1100px){.mcq-summary{grid-template-columns:repeat(2,1fr)}.mcq-grid,.bank-card-grid,.mapping-list{grid-template-columns:1fr}.audience-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.mcq-summary,.audience-grid{grid-template-columns:1fr}}
.card-action{margin-top:.5rem}.card-action .primary-button{margin:0}.mcq-attempt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin:1.5rem 0}.mcq-attempt-head h1{font-size:2.4rem;margin:.35rem 0}.attempt-clock{display:grid;gap:.25rem;padding:1rem 1.2rem;background:#fff;border:1px solid #dce3ef;border-radius:11px}.attempt-clock span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.mcq-paper{display:grid;gap:1rem;max-width:1050px}.mcq-question{display:grid;grid-template-columns:42px 1fr;gap:1rem}.question-number{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#e8edff;color:var(--indigo);font-weight:900}.question-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.76rem;text-transform:capitalize}.question-content h2{font-size:1.15rem;line-height:1.5}.answer-options{display:grid;gap:.55rem;margin-top:1rem}.answer-options label{cursor:pointer}.answer-options input{position:absolute;opacity:0}.answer-options span{display:flex;align-items:center;gap:.7rem;padding:.75rem;border:1px solid #dde3ee;border-radius:9px}.answer-options b{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#f0f3f9}.answer-options input:checked+span{border-color:var(--indigo);background:#eef1ff}.answer-options input:checked+span b{background:var(--indigo);color:#fff}.submit-bar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;background:#fff;border:1px solid #dce3ef;border-radius:12px;box-shadow:0 -10px 30px #14224b12}.submit-bar div{display:grid}.submit-bar span{color:var(--muted);font-size:.78rem}.submit-bar .primary-button{margin:0}.result-hero{max-width:720px;padding:2rem;margin-top:2rem}.result-hero h2{font-size:3rem;margin:.5rem 0}.result-pass{border-top:5px solid #20a862}.result-review{border-top:5px solid #d79b25}
@media(max-width:700px){.mcq-attempt-head,.submit-bar{align-items:stretch;flex-direction:column}.mcq-question{grid-template-columns:1fr}.question-meta{gap:.8rem}.submit-bar .primary-button{width:100%}}
.exam-body{height:100vh;overflow:hidden;background:#eef2f8;user-select:none}.exam-entry{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1.5rem;background:linear-gradient(135deg,#081534f2,#142c66f2)}.exam-entry[hidden]{display:none}.exam-entry section{max-width:620px;padding:2.5rem;background:#fff;border-radius:20px;box-shadow:0 30px 90px #0005}.exam-entry h1{font-size:2.4rem;margin:.7rem 0}.exam-entry p,.exam-entry li{color:var(--muted);line-height:1.6}.exam-entry .primary-button{font-size:1rem}.exam-header{height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 1.5rem;background:var(--navy);color:#fff}.exam-brand{display:flex;align-items:center;gap:.7rem}.exam-brand>div{display:grid}.exam-brand small{color:#b7c3df}.exam-title{font-weight:800}.exam-status{display:flex;justify-content:flex-end;align-items:center;gap:1rem}.violation-badge{padding:.45rem .65rem;border:1px solid #ffffff2d;border-radius:8px;color:#ffd7dc;font-size:.76rem}.exam-timer{display:grid;padding:.35rem .55rem;border:1px solid transparent;border-radius:10px;text-align:right;transition:.2s ease}.exam-timer small{color:#b7c3df}.exam-timer strong{font-size:1.3rem;font-variant-numeric:tabular-nums}.exam-timer.timer-critical{border-color:#ff7d8f;background:#71182a;color:#fff4f5;animation:timer-critical-pulse 1s ease-in-out infinite}.exam-timer.timer-critical small{color:#ffd6dc}.exam-timer.timer-expired{background:#b5223c;color:#fff}.exam-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;height:calc(100vh - 74px)}.exam-question-area{display:flex;min-height:0;flex-direction:column;padding:0;overflow:hidden}.exam-question-scroll{display:flex;min-height:0;flex:1;flex-direction:column;padding:2rem 3rem;overflow:auto;overscroll-behavior:contain}.exam-question{max-width:1050px;width:100%;margin:auto}.exam-question[hidden]{display:none}.exam-question h1{font-size:1.55rem;line-height:1.5;margin:1.2rem 0}.exam-options{grid-template-columns:1fr 1fr}.question-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.question-header-row .question-meta{min-width:0;flex:1}.question-header-row .question-actions{display:flex;flex:0 0 auto;gap:.55rem;margin:0}.question-header-row .question-actions button{margin:0;padding:.58rem .75rem;white-space:nowrap}.question-header-row .mark-review.review-active{border-color:#c58a17;background:#d79b25;color:#fff;box-shadow:0 5px 14px #d79b254d}.exam-nav{z-index:3;display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;width:100%;margin:0;padding:1rem 3rem;border-top:1px solid #d5deec;background:#f8faff;box-shadow:0 -8px 24px #14224b12}.exam-nav .primary-button{margin:0}.exam-palette{display:flex;flex-direction:column;padding:1.3rem;background:#fff;border-left:1px solid #dbe2ee;overflow:auto}.palette-head h2{margin:.2rem 0}.palette-head p{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.72rem}.legend{width:10px;height:10px;border-radius:3px;background:#dce2ec}.legend.answered{background:#20a862}.legend.review{background:#d79b25}.palette-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem;margin:1.2rem 0}.palette-grid button{aspect-ratio:1;border:1px solid #d8dfeb;border-radius:8px;background:#f5f7fb;font-weight:800}.palette-grid button.current{outline:3px solid #8ca3ee}.palette-grid button.answered{background:#20a862;color:#fff;border-color:#20a862}.palette-grid button.review{background:#d79b25;color:#fff;border-color:#d79b25}.palette-summary{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:auto}.palette-summary div{display:grid;padding:.7rem;background:#f5f7fb;border-radius:8px}.palette-summary span{color:var(--muted);font-size:.7rem}.palette-summary strong{font-size:1.25rem}.submit-exam-button{margin-top:1rem;padding:.9rem;border:0;border-radius:9px;background:#b5223c;color:#fff;font-weight:850}.exam-warning{position:fixed;z-index:120;right:1rem;top:86px;width:min(390px,calc(100% - 2rem));padding:1rem;background:#fff5f6;border:1px solid #eab2bc;border-left:5px solid #b5223c;border-radius:10px;box-shadow:0 14px 40px #1113}.exam-warning[hidden]{display:none}.exam-warning p{margin:.35rem 0;color:#7f2637}.exam-warning button{border:0;border-radius:7px;padding:.55rem .7rem;background:#b5223c;color:#fff;font-weight:750}.exam-result{min-height:100vh;display:grid;place-items:center;padding:2rem}.exam-result .result-hero{background:#fff}.run-summary a{color:inherit;font-weight:750}@keyframes timer-critical-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #ff647b66}50%{transform:scale(1.06);box-shadow:0 0 0 8px #ff647b00}}
@media(max-width:900px){.exam-header{grid-template-columns:1fr auto}.exam-title{display:none}.exam-shell{grid-template-columns:1fr}.exam-palette{position:fixed;left:0;right:0;bottom:0;height:190px;border-left:0;border-top:1px solid #dbe2ee}.exam-question-area{padding-bottom:190px}.exam-question-scroll{padding:1.2rem 1rem}.exam-nav{padding:.8rem 1rem}.exam-options{grid-template-columns:1fr}.question-header-row{display:grid}.question-header-row .question-actions{justify-content:flex-end}.palette-grid{grid-template-columns:repeat(10,1fr);margin:.6rem 0}.palette-summary{display:none}.submit-exam-button{margin-top:auto}.exam-brand small,.violation-badge{display:none}}@media(max-width:520px){.question-header-row .question-actions{display:grid;grid-template-columns:1fr 1fr}.question-header-row .question-actions button{white-space:normal}}@media(prefers-reduced-motion:reduce){.exam-timer.timer-critical{animation:none}}
.assessment-completed{background:#f1f5f3;border-color:#abd5bd;box-shadow:inset 5px 0 #20a862}.assessment-completed h2{color:#40564a}.completion-chip{display:inline-flex;padding:.55rem .75rem;border-radius:999px;background:#dff4e8;color:#17643d;font-size:.8rem;font-weight:850}.completed-button{margin-top:.5rem;padding:.75rem 1rem;border:1px solid #b9c9c0;border-radius:8px;background:#e4ebe7;color:#607068;font-weight:800}
.exam-question{position:relative;padding:2.2rem;background:linear-gradient(145deg,#fff,#f8faff);border:1px solid #dbe3f0;border-radius:18px;box-shadow:0 18px 50px #14224b12}.exam-question:before{content:"";position:absolute;left:0;top:30px;bottom:30px;width:5px;border-radius:0 5px 5px 0;background:linear-gradient(var(--cyan),var(--indigo))}.exam-question .question-meta span:first-child{padding:.35rem .6rem;border-radius:999px;background:#e9eeff;color:var(--indigo);font-weight:850}.exam-options span{min-height:64px;background:#fff;box-shadow:0 4px 14px #15245108;transition:.16s ease}.exam-options label:hover span{border-color:#91a7df;transform:translateY(-1px);box-shadow:0 8px 20px #2943a814}.exam-options input:checked+span{border-color:var(--indigo);background:linear-gradient(135deg,#eef2ff,#f7f9ff);box-shadow:0 8px 22px #2943a81c}.mark-review.review-active{background:#d79b25;color:#fff;box-shadow:0 5px 14px #d79b2533}.submission-summary{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:1.5rem;background:#07122bcc;backdrop-filter:blur(5px)}.submission-summary[hidden]{display:none}.submission-summary>section{width:min(720px,100%);padding:2rem;background:#fff;border-radius:20px;box-shadow:0 35px 100px #0006}.submission-summary h2{font-size:2rem;margin:.55rem 0}.submission-summary>section>p{color:var(--muted)}.summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1.5rem 0}.summary-stats article{display:grid;gap:.3rem;padding:1rem;background:#f3f6fb;border-radius:12px}.summary-stats strong{font-size:2rem;color:var(--navy)}.summary-stats span{color:var(--muted);font-size:.76rem}.summary-actions{display:flex;justify-content:flex-end;gap:.8rem}.final-submit-button{padding:.78rem 1rem;border:0;border-radius:8px;background:#b5223c;color:#fff;font-weight:850}
@media(max-width:650px){.summary-stats{grid-template-columns:1fr 1fr}.summary-actions{flex-direction:column-reverse}.summary-actions button{width:100%}}
.editor-actions{display:flex;align-items:center;gap:.75rem}.editor-actions .primary-button,.editor-actions .secondary-button{margin:0}.draft-status{margin:.75rem 1rem 0;color:var(--muted);font-size:.82rem}.table-action{display:inline-flex;padding:.45rem .8rem;border-radius:8px;background:#e8edff;color:var(--indigo);font-weight:800;text-decoration:none}.submission-detail{display:grid;gap:1.25rem}.submission-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0}.submission-meta div{padding:1rem;border-radius:10px;background:#f4f6fa}.submission-meta dt{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.submission-meta dd{margin:.4rem 0 0;font-weight:750}.submitted-source{max-height:34rem;overflow:auto;padding:1.4rem;border-radius:10px;background:#101827;color:#e6edf7;font:14px/1.6 Consolas,Monaco,monospace;white-space:pre}.submission-detail .panel h2{margin:.4rem 0 1rem}@media(max-width:800px){.submission-meta{grid-template-columns:1fr 1fr}.editor-actions{flex-wrap:wrap}}
.compact-sidebar{grid-template-columns:0 minmax(0,1fr)}.compact-sidebar .sidebar{overflow:hidden;width:0;padding-left:0;padding-right:0;border:0}.compact-sidebar.sidebar-expanded{grid-template-columns:240px minmax(0,1fr)}.compact-sidebar.sidebar-expanded .sidebar{width:240px;padding:1.5rem 1rem;border-right:1px solid #e3e8f2}.sidebar-toggle{margin-bottom:1rem;padding:.55rem .75rem;border:1px solid #ccd6e8;border-radius:8px;background:#fff;color:var(--indigo);font-weight:800}.coding-contest-shell{display:grid;grid-template-columns:235px minmax(0,1fr);height:calc(100vh - 74px)}.contest-problem-nav{display:flex;flex-direction:column;gap:.65rem;padding:1.2rem;background:#fff;border-right:1px solid #dbe2ee}.contest-problem-nav h2{margin:.2rem 0 .7rem}.contest-problem-nav>button[data-problem]{display:flex;align-items:center;gap:.65rem;padding:.8rem;border:1px solid #dce3ef;border-radius:9px;background:#f6f8fc;text-align:left}.contest-problem-nav>button.active{border-color:var(--indigo);background:#e9eeff;color:var(--indigo)}.contest-problem-nav b{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#fff}.contest-save-state{margin-top:auto;color:var(--muted);font-size:.72rem}.contest-workspace{overflow:auto;padding:1.25rem;background:#eef2f8}.contest-problem{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(460px,1.2fr);gap:1.2rem;min-height:100%}.contest-problem[hidden]{display:none}.contest-statement,.contest-editor{padding:1.5rem;border:1px solid #dbe2ee;border-radius:14px;background:#fff}.contest-statement h1{font-size:2rem}.contest-statement p{line-height:1.65}.contest-statement pre{padding:.8rem;border-radius:8px;background:#f4f6fa;white-space:pre-wrap}.contest-editor{display:grid;grid-template-rows:auto 1fr;gap:1rem}.contest-editor label{display:grid;gap:.45rem;font-weight:800}.contest-editor label:last-child{min-height:0}.contest-editor textarea{width:100%;height:100%;min-height:520px;padding:1rem;border:1px solid #273653;border-radius:10px;background:#101827;color:#e6edf7;font:14px/1.6 Consolas,monospace;resize:none}.coding-exam-body .summary-stats{grid-template-columns:1fr 1fr}@media(max-width:1000px){.contest-problem{grid-template-columns:1fr}.coding-contest-shell{grid-template-columns:180px minmax(0,1fr)}.contest-editor textarea{min-height:400px}}@media(max-width:700px){.coding-contest-shell{grid-template-columns:1fr}.contest-problem-nav{display:none}.contest-workspace{padding:.7rem}.contest-problem{grid-template-columns:1fr}.compact-sidebar.sidebar-expanded{grid-template-columns:1fr}.compact-sidebar .sidebar{display:none}}
/* Production unified results reports */
.reports-body{background:#eef3f9}.reports-shell{max-width:1480px}.reports-topbar{box-shadow:0 8px 24px #0b173914}.reports-hero{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding:2rem 2.2rem;margin-bottom:1.25rem;border-radius:22px;background:linear-gradient(135deg,#0b1739,#173b72 65%,#155d7a);color:#fff;box-shadow:0 22px 55px #0b173926}.reports-hero h1{margin:.25rem 0 .7rem;font-size:2.45rem}.reports-hero p:not(.eyebrow){max-width:760px;margin:0;color:#d9e4f6;line-height:1.65}.reports-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.report-export{display:flex;align-items:center;gap:.8rem;min-width:220px;padding:1rem;border:1px solid #ffffff2b;border-radius:14px;background:#ffffff12;color:#fff;text-decoration:none;backdrop-filter:blur(8px)}.report-export:hover{background:#ffffff1d;transform:translateY(-1px)}.report-export>span{display:grid;place-items:center;width:45px;height:45px;border-radius:11px;font-weight:900;background:#fff;color:#173b72}.report-export.pdf>span{background:#ffe7e9;color:#a6293f}.report-export div{display:grid}.report-export small{margin-top:.2rem;color:#cbd7ec;font-size:.72rem}.report-filter-panel{margin-bottom:1rem}.report-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:.9rem;margin-top:1rem}.report-filter-grid label{display:grid;gap:.38rem;font-size:.76rem;font-weight:800;color:#48536b}.report-filter-grid input,.report-filter-grid select{width:100%}.report-filter-grid .report-wide{grid-column:span 2}.report-filter-actions{display:flex;align-items:end;gap:.6rem;grid-column:span 2}.report-filter-actions .primary-button,.report-filter-actions .secondary-button{margin:0;text-align:center}.report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.report-metrics article{position:relative;overflow:hidden;display:grid;gap:.25rem;padding:1.2rem 1.3rem;border:1px solid #dce4f0;border-radius:14px;background:#fff;box-shadow:0 9px 28px #1629570a}.report-metrics article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#12b8d5,#2943a8)}.report-metrics span{color:#657089;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.report-metrics strong{font-size:1.9rem;color:#102651}.report-metrics small{color:#7b8599}.module-performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.module-performance-grid article{padding:1rem 1.2rem;border-radius:13px;background:#fff;border:1px solid #dce4f0}.module-performance-grid article>div:first-child{display:flex;justify-content:space-between;align-items:center}.module-performance-grid span{font-weight:800;color:#59657e}.module-performance-grid strong{font-size:1.25rem;color:#172d59}.module-bar{height:7px!important;margin-top:.75rem;border-radius:99px;background:#e9edf4;overflow:hidden}.module-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#12b8d5,#2943a8)}.report-summary-panel,.report-detail-panel{margin-top:1rem}.report-table td{vertical-align:middle}.report-table td>small{display:block;margin-top:.2rem;color:#7b8599;font-size:.72rem}.report-table th{white-space:nowrap}.percentage-chip{display:inline-flex;min-width:58px;justify-content:center;padding:.32rem .55rem;border-radius:999px;font-size:.75rem;font-weight:850}.percentage-chip.good{background:#dcf5e8;color:#17643d}.percentage-chip.mid{background:#fff0cf;color:#8a5200}.percentage-chip.low{background:#ffe3e6;color:#9f2632}.outcome-count{display:inline-flex;margin:.08rem;padding:.22rem .4rem;border-radius:6px;font-size:.68rem;font-weight:850}.outcome-count.passed{background:#dcf5e8;color:#17643d}.outcome-count.partial{background:#fff0cf;color:#8a5200}.outcome-count.failed{background:#ffe3e6;color:#9f2632}.module-pill{display:inline-flex;padding:.3rem .48rem;border-radius:7px;font-size:.67rem;font-weight:900;letter-spacing:.04em}.module-pill.mcq{background:#ede8ff;color:#5740a7}.module-pill.programming{background:#e2f2ff;color:#17649a}.module-pill.sql{background:#e4f8ef;color:#14724a}.result-outcome{display:inline-flex;padding:.28rem .5rem;border-radius:999px;font-size:.7rem;font-weight:850}.result-outcome.passed{background:#dcf5e8;color:#17643d}.result-outcome.partial{background:#fff0cf;color:#8a5200}.result-outcome.failed{background:#ffe3e6;color:#9f2632}.result-outcome.pending{background:#e8edff;color:#2943a8}.report-mini-exports{display:flex;gap:.45rem}.report-mini-exports a{padding:.45rem .7rem;border-radius:7px;background:#e8edff;color:#2943a8;text-decoration:none;font-size:.75rem;font-weight:850}.report-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.1rem 0 .2rem}.report-pagination a{padding:.55rem .8rem;border-radius:8px;background:#e8edff;color:#2943a8;text-decoration:none;font-weight:800}.report-pagination a.disabled{pointer-events:none;opacity:.45}.report-pagination span{color:#657089;font-weight:750}.empty-table{text-align:center;padding:2rem!important;color:#7b8599}.summary-table td:first-child{min-width:180px}@media(max-width:1150px){.report-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.reports-hero{grid-template-columns:1fr}.reports-hero-actions{width:100%}.report-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.reports-shell{padding:1rem}.reports-hero{padding:1.4rem}.reports-hero h1{font-size:2rem}.reports-hero-actions,.report-metrics,.module-performance-grid,.report-filter-grid{grid-template-columns:1fr}.report-filter-grid .report-wide,.report-filter-actions{grid-column:auto}.report-filter-actions{align-items:stretch}.report-export{min-width:0}.reports-topbar .topnav{flex-wrap:wrap}}

/* V5 instructor teaching workspace */
.instructor-content{max-width:1580px}.instructor-mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1.2rem 0}.teaching-scope-card{position:relative;overflow:hidden}.teaching-scope-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-45px;bottom:-55px;background:#12b8d51c}.scope-count{display:flex;align-items:baseline;gap:.45rem;margin-top:1rem}.scope-count strong{font-size:2rem;color:var(--navy)}.scope-count span{color:var(--muted);font-size:.78rem}.instructor-filter-form{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) minmax(160px,.8fr) auto auto;gap:.75rem;align-items:end;margin:1rem 0 1.3rem}.instructor-filter-form label{display:grid;gap:.35rem;font-size:.76rem;font-weight:800;color:#4f5b74}.instructor-filter-form .primary-button,.instructor-filter-form .secondary-button{margin:0;text-align:center}.instructor-problem-grid{display:grid;gap:.8rem;margin:1rem 0}.problem-review-card{padding:0;overflow:hidden}.problem-review-card summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;cursor:pointer;list-style:none}.problem-review-card summary::-webkit-details-marker{display:none}.problem-review-card summary h2,.problem-review-card summary h3{margin:.25rem 0}.problem-review-card summary>span:last-child{color:var(--indigo);font-weight:800}.problem-review-card[open] summary{border-bottom:1px solid #e5eaf2;background:#f8faff}.problem-review-body{padding:1.2rem 1.3rem;line-height:1.65}.review-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}.review-spec-grid>div{min-width:0;padding:.85rem;border-radius:10px;background:#f4f6fa}.review-spec-grid strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#59657e}.review-spec-grid pre{white-space:pre-wrap;word-break:break-word;margin:.5rem 0 0;font:13px/1.5 Consolas,monospace}.sql-review-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.sql-review-grid .problem-review-card{border:1px solid #e0e6f1;border-radius:12px}.sql-source{white-space:pre-wrap}.mcq-review-list{display:grid;gap:1rem}.mcq-review-card h2{font-size:1.08rem;line-height:1.5}.mcq-option-review{display:grid;gap:.6rem}.mcq-review-option{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.8rem 1rem;border:1px solid #e2e7f0;border-radius:10px;background:#fafbfe}.mcq-review-option.correct{border-color:#9edbb9;background:#effbf4}.mcq-review-option.selected{box-shadow:inset 4px 0 #2943a8}.mcq-review-option.correct.selected{box-shadow:inset 4px 0 #20a862}.mcq-review-option>span{font-weight:900;color:#2943a8}.mcq-review-option small{color:var(--muted);font-weight:750}.faculty-mapping-form{grid-template-columns:repeat(4,minmax(0,1fr))}.faculty-mapping-form .create-account-action{align-self:end}.sql-studio-layout{grid-template-columns:minmax(230px,.42fr) minmax(0,1.58fr)}.sql-list-heading{display:flex;align-items:center;justify-content:space-between;padding:.2rem .2rem .8rem}.sql-list-heading h2{margin:0}.sql-list-heading small{color:var(--muted)}.sql-rule-strip{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}.sql-rule-strip span{padding:.32rem .55rem;border-radius:999px;background:#eef3ff;color:#3150a5;font-size:.7rem;font-weight:800}.sql-studio-form .sql-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.sql-studio-form .sql-actions>span{max-width:680px;line-height:1.5}.status-queued,.status-processing{background:#e8edff;color:#2943a8}
@media(max-width:1050px){.instructor-filter-form{grid-template-columns:1fr 1fr}.review-spec-grid{grid-template-columns:1fr}.faculty-mapping-form{grid-template-columns:1fr 1fr}.sql-studio-form .sql-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.instructor-filter-form,.faculty-mapping-form{grid-template-columns:1fr}.mcq-review-option{grid-template-columns:auto 1fr}.mcq-review-option small{grid-column:2}.instructor-content{padding:1.2rem}.sql-studio-layout{grid-template-columns:1fr}}
.verdict-queued{background:linear-gradient(135deg,#2943a8,#4268ce)}

/* V5 SQL reference panels */
.sql-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.sql-reference-grid details{border:1px solid #dce5f1;border-radius:14px;background:#f8fbff;overflow:hidden}.sql-reference-grid summary{cursor:pointer;padding:13px 15px;font-weight:800;color:#173b72}.sql-reference-grid pre{margin:0;border-radius:0;max-height:260px;overflow:auto}.queue-note{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#eef6ff;color:#24507f}.queue-note.error-note{background:#fff0f2;color:#9d3044}@media(max-width:900px){.sql-reference-grid{grid-template-columns:1fr}}

/* Official reports workspace */
.report-filter-grid label:has([name="module"]),.report-filter-grid label:has([name="attempt_mode"]),.report-filter-grid label:has([name="programme_id"]),.report-filter-grid label:has([name="section_id"]),.report-filter-grid label:has([name="outcome"]),.report-filter-grid label:has([name="date_from"]),.report-filter-grid label:has([name="date_to"]),.report-filter-grid label:has([name="min_percentage"]),.report-filter-grid label:has([name="max_percentage"]){display:none}.report-filter-grid{grid-template-columns:1.4fr 1fr .7fr .8fr 1.6fr!important}.report-filter-grid .report-wide{grid-column:auto!important}.report-filter-actions{grid-column:1/-1!important}.report-filter-panel .eyebrow{margin:0 0 .35rem;color:#1598b3}@media(max-width:1050px){.report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:650px){.report-filter-grid{grid-template-columns:1fr!important}}
.report-brand-mark img{display:block;max-width:34px;max-height:34px;object-fit:contain}
.brand-logo{overflow:hidden;background:#fff!important}.brand-logo img{width:100%;height:100%;object-fit:contain}.branding-settings-shell{max-width:1100px}.branding-settings-hero{margin-bottom:1rem}.branding-settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:1rem}.branding-settings-form{display:grid;gap:1rem;margin-top:1rem}.branding-settings-form label{display:grid;gap:.45rem;font-weight:800;color:#43516b}.branding-settings-form label small{font-weight:500;color:#7b879d}.branding-settings-form .primary-button{justify-self:start}.branding-preview{background:#0d214a;color:#fff}.branding-preview .eyebrow{color:#55d7e9}.preview-brand{margin:1.25rem 0;padding:1rem;border:1px solid #ffffff24;border-radius:14px}.branding-preview p:last-child{color:#c8d4e8;line-height:1.6}@media(max-width:760px){.branding-settings-grid{grid-template-columns:1fr}}
.hero-brand-logo{display:block;max-width:105px;max-height:74px;object-fit:contain;margin:auto auto .5rem}
.auth-brand-logo{display:grid;place-items:center;width:76px;height:76px;margin-bottom:1.2rem;padding:.6rem;border-radius:16px;background:#fff}.auth-brand-logo img{max-width:100%;max-height:100%;object-fit:contain}
.branding-settings-hero{min-height:220px;padding:2.4rem 2.7rem!important;background:linear-gradient(125deg,#0b1d48 0%,#153b78 65%,#087e98 100%);box-shadow:0 18px 45px #10265124}.branding-settings-hero h1{color:#fff}.branding-settings-hero p:last-child{color:#d9e6f8!important}.branding-topbar>div{display:flex;align-items:center;gap:.45rem}.preview-brand{align-items:center}.preview-brand>span:last-child{min-width:0}.preview-brand small{max-width:210px;white-space:normal;line-height:1.35}
.section-manager{margin-bottom:1.25rem;padding:1.35rem;border:1px solid #dce5f1;border-radius:18px;background:#f5f8fc}.section-manager-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-manager-head h2{margin:.25rem 0;font-size:1.6rem;color:#102651}.section-manager-head p:last-child{margin:0;color:#68758c}.section-manager-grid{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);gap:1rem}.section-create-card h3,.problem-map-card h3{margin:.1rem 0;font-size:1.05rem}.section-create-card form,.section-create-card details form,.problem-map-card form{display:grid;gap:.8rem;margin-top:1rem}.section-create-card label,.map-target{display:grid;gap:.38rem;color:#45526a;font-size:.76rem;font-weight:800}.section-create-card label small{color:#8994a6;font-weight:600}.section-create-card textarea{resize:vertical}.section-create-card details summary{display:inline-flex;cursor:pointer;list-style:none}.section-create-card details summary::-webkit-details-marker{display:none}.problem-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-height:310px;overflow:auto;padding:.25rem}.problem-checklist>label{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;border:1px solid #dfe6f0;border-radius:11px;background:#fff;cursor:pointer}.problem-checklist>label:has(input:checked){border-color:#55b8d1;background:#eefaff}.problem-checklist input{width:17px;height:17px;margin-top:.1rem;accent-color:#2943a8}.problem-checklist span{display:grid;min-width:0}.problem-checklist strong{font-size:.76rem;color:#1b3057}.problem-checklist small{margin-top:.18rem;color:#7c889b;font-size:.65rem}.section-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:1rem}.section-cards article{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.8rem 1rem;border:1px solid #dce4ef;border-radius:11px;background:#fff}.section-cards article div{display:grid}.section-cards strong{font-size:.78rem;color:#1b3158}.section-cards small{margin-top:.15rem;color:#8490a4;font-size:.65rem}.section-cards article>span{white-space:nowrap;padding:.3rem .5rem;border-radius:999px;background:#eaf0ff;color:#2943a8;font-size:.65rem;font-weight:850}.author-panel:has(form[action$="/admin/programming/sections"]),.author-panel:has(form[action$="/admin/sql-content"]){display:none}@media(max-width:900px){.section-manager-grid{grid-template-columns:1fr}.section-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.problem-checklist,.section-cards{grid-template-columns:1fr}.section-manager{padding:.85rem}.section-manager-head{align-items:flex-start;flex-direction:column}}
.wide-shell:has(.section-manager){display:flex;flex-direction:column}.wide-shell:has(.section-manager)>.module-hero,.wide-shell:has(.section-manager)>.notice{order:1}.wide-shell:has(.section-manager)>.compact-author{order:2}.wide-shell:has(.section-manager)>.section-manager{order:3}.wide-shell:has(.section-manager)>.section-audience-panel{order:5}.wide-shell:has(.section-manager)>.content-columns{order:6}.wide-shell:has(.section-manager)>section:not(.compact-author):not(.section-manager):not(.section-audience-panel):not(.content-columns){order:4}.compact-problem-form label:has(select[name="section_id"]){display:none}
.reports-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:1.2rem;align-items:start}.reports-content{min-width:0}.report-sidebar{position:sticky;top:1rem;padding:1rem;border:1px solid #d9e3f0;border-radius:18px;background:#fff;box-shadow:0 12px 34px #1026510c}.report-brand-mark{display:flex;align-items:center;gap:.75rem;padding:.25rem .2rem 1rem;border-bottom:1px solid #e5ebf3}.report-brand-mark>span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,#173b72,#12a8c4);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.04em}.report-brand-mark div{display:grid;min-width:0}.report-brand-mark strong{color:#142d59;font-size:.82rem;line-height:1.25}.report-brand-mark small{margin-top:.2rem;color:#7c879b}.report-sidebar-label{margin:1rem .35rem .55rem;color:#8a94a7;font-size:.67rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.report-side-link{display:flex;align-items:center;gap:.75rem;margin:.35rem 0;padding:.8rem;border:1px solid transparent;border-radius:12px;color:#34425e;text-decoration:none}.report-side-link>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#edf2fa;color:#294d86;font-size:.69rem;font-weight:900}.report-side-link div{display:grid}.report-side-link strong{font-size:.8rem}.report-side-link small{margin-top:.2rem;color:#8590a3;font-size:.65rem}.report-side-link:hover{background:#f4f7fb}.report-side-link.active{border-color:#bcd9eb;background:linear-gradient(135deg,#eef7ff,#effcfa);color:#153a6e}.report-side-link.active>span{background:#173b72;color:#fff}.report-side-all{display:block;margin-top:.7rem;padding:.7rem;text-align:center;border:1px solid #dce5f1;border-radius:10px;color:#2b4f82;text-decoration:none;font-size:.75rem;font-weight:850}.report-side-all.active{background:#173b72;color:#fff}.report-sidebar-note{margin-top:1rem;padding:.85rem;border-radius:11px;background:#f5f8fc;color:#526078}.report-sidebar-note strong{font-size:.74rem;color:#253c67}.report-sidebar-note p{margin:.3rem 0 0;font-size:.68rem;line-height:1.45}@media(max-width:1050px){.reports-layout{grid-template-columns:1fr}.report-sidebar{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.report-brand-mark,.report-sidebar-label,.report-sidebar-note{display:none}.report-side-link{margin:0}.report-side-all{grid-column:1/-1;margin:0}}@media(max-width:700px){.report-sidebar{grid-template-columns:1fr}.report-side-all{grid-column:auto}}
