:root{color-scheme:light;--navy: #0f172a;--navy-2: #1e293b;--accent: #ff4b2b;--accent-strong: #e63946;--accent-soft: rgba(255, 75, 43, .12);--ink: #0f172a;--muted: #475569;--paper: #f8fafc;--sheet: #ffffff;--rule: #e2e8f0;--rule-strong: #cbd5e1;--white: #ffffff;--input-bg: #ffffff;--pill-ok: #047857;--pill-warn: #b45309;--pill-bad: #be123c;--focus: #ff4b2b;--danger: #ef4444;--margin: #ff4b2b;--margin-soft: #ffb4a8;--pass: #10b981;--pass-fill: #d1fae5;--caution: #f59e0b;--caution-fill: #fef3c7;--fail: #ef4444;--fail-fill: #fee2e2;--g-ap: #10b981;--g-a: #10b981;--g-b: #f59e0b;--g-c: #f59e0b;--g-d: #ef4444;--g-f: #ef4444;--g-ap-bg: #ecfdf5;--g-a-bg: #ecfdf5;--g-b-bg: #fffbeb;--g-c-bg: #fffbeb;--g-d-bg: #fef2f2;--g-f-bg: #fef2f2;--pending: #ef4444;--pending-bg: #fef2f2;--scored: #10b981;--scored-bg: #ecfdf5;--draft: #64748b;--draft-bg: #f1f5f9;--sidebar: #0f172a;--sidebar-text: #cbd5e1;--sidebar-active: #ffffff;--topbar: #1e293b;--topbar-text: #f8fafc;--shadow: 0 8px 24px rgba(15, 23, 42, .06);--shadow-hover: 0 14px 32px rgba(255, 75, 43, .14);--radius: 16px;--radius-sm: 10px;--radius-pill: 999px;--sans: "Plus Jakarta Sans", Inter, "Noto Sans Bengali", "Segoe UI", sans-serif;--serif: "Plus Jakarta Sans", Inter, "Noto Sans Bengali", sans-serif;--mono: Inter, "Noto Sans Bengali", ui-sans-serif, system-ui, sans-serif;--display: "Plus Jakarta Sans", Inter, sans-serif;--spine-w: 268px;--gutter: 28px;--max: 1280px;--ease: cubic-bezier(.4, 0, .2, 1)}html[data-theme=dark]{color-scheme:dark;--navy: #f8fafc;--navy-2: #1e293b;--accent: #ff6b4a;--accent-strong: #ff4b2b;--accent-soft: rgba(255, 75, 43, .18);--ink: #f8fafc;--muted: #cbd5e1;--paper: #090d16;--sheet: #1e293b;--rule: #334155;--rule-strong: #64748b;--white: #ffffff;--input-bg: #0f172a;--pill-ok: #6ee7b7;--pill-warn: #fcd34d;--pill-bad: #fda4af;--focus: #ff6b4a;--danger: #fb7185;--margin: #ff6b4a;--draft: #e2e8f0;--pass-fill: rgba(16, 185, 129, .16);--caution-fill: rgba(245, 158, 11, .16);--fail-fill: rgba(239, 68, 68, .16);--g-ap-bg: rgba(16, 185, 129, .16);--g-a-bg: rgba(16, 185, 129, .16);--g-b-bg: rgba(245, 158, 11, .16);--g-c-bg: rgba(245, 158, 11, .16);--g-d-bg: rgba(239, 68, 68, .16);--g-f-bg: rgba(239, 68, 68, .16);--pending-bg: rgba(239, 68, 68, .16);--scored-bg: rgba(16, 185, 129, .16);--draft-bg: rgba(100, 116, 139, .2);--sidebar: #0f172a;--sidebar-text: #cbd5e1;--sidebar-active: #f8fafc;--topbar: #0f172a;--topbar-text: #f8fafc;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--shadow-hover: 0 14px 32px rgba(255, 75, 43, .18)}@media(max-width:860px){:root{--spine-w: 0px;--gutter: 16px}}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;min-height:100dvh}html{font-size:16px;color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14.5px;line-height:1.5;transition:background .2s var(--ease),color .2s var(--ease)}h1,h2,h3{font-family:var(--display);font-weight:650;letter-spacing:-.03em;margin:0;color:var(--ink)}h1{font-size:1.65rem;line-height:1.2}h2{font-size:1.05rem}a{color:var(--accent)}button,input,select,textarea{font-family:inherit;font-size:.92rem}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-shell{display:grid;grid-template-columns:var(--spine-w) 1fr;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;overflow:hidden;transition:grid-template-columns .22s var(--ease)}.app-shell.sidebar-collapsed{--spine-w: 84px}.content-col{display:flex;flex-direction:column;min-height:0;min-width:0;height:100vh;height:100dvh;overflow:hidden}.spine{background:var(--sidebar);color:var(--sidebar-text);padding:20px 14px;display:flex;flex-direction:column;gap:8px;position:relative;height:100vh;height:100dvh;border-right:1px solid rgba(255,255,255,.06);overflow:visible}.spine-brand{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:4px 4px 16px;color:#fff;font-family:var(--display);font-weight:700;font-size:.95rem}.brand-logo{display:block;height:40px;width:auto;max-width:100%;object-fit:contain;object-position:left center;background:#fff;padding:6px 10px;border-radius:10px}.brand-logo.compact,.sidebar-collapsed .brand-logo{height:44px;width:44px;max-width:44px;object-fit:cover;object-position:4px center;padding:6px}.brand-logo.login-logo{height:48px;width:auto;max-width:220px;margin:0 0 28px;padding:8px 12px}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:.72rem;letter-spacing:.04em;flex:0 0 auto}.brand-copy{display:block;min-width:0}.brand-copy span{display:block;font-weight:500;font-size:.68rem;color:#93a4c3;margin-top:2px}.sidebar-toggle{position:absolute;top:28px;right:-12px;width:24px;height:24px;border-radius:50%;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);display:grid;place-items:center;cursor:pointer;z-index:5}.spine nav{display:flex;flex-direction:column;gap:14px;overflow:auto;min-height:0;margin-right:-6px;padding-right:6px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group-title{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#7d8eab;padding:8px 12px 4px;font-weight:600}.spine a{color:var(--sidebar-text);text-decoration:none;padding:9px 12px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;display:flex;align-items:center;gap:10px;transition:background .18s var(--ease),color .18s var(--ease)}.spine a.active{color:var(--sidebar-active);background:#ff4b2b38}.spine a:hover{color:#fff;background:#ffffff0f}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-group-title,.sidebar-collapsed .nav-label,.sidebar-collapsed .spine-team{display:none}.sidebar-collapsed .spine-brand{align-items:center;padding:4px 0 12px}.sidebar-collapsed .spine a{justify-content:center;padding:10px}.spine-user,.session-bar,.mobile-bar,.overlay-nav{display:none}.spine-team{overflow:auto;min-height:0;font-size:.82rem;margin-top:auto;padding:8px 8px 0}.spine-team strong{display:block;color:#f8fafc;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.spine-team ul{list-style:none;margin:10px 0 0;padding:0}.spine-team li{margin:0 0 4px}.spine-team li a{display:block;padding:6px 8px}.spine-team li span{display:block;padding:0 8px 4px;font-size:.72rem;color:#7d8eab}.spine-note{font-size:.75rem;color:#7d8eab;line-height:1.4}.topbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px var(--gutter);padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right));background:var(--topbar);color:var(--topbar-text);border-bottom:1px solid rgba(255,255,255,.08);flex:0 0 auto;z-index:30}.global-search{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;background:#f8fafc14;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-pill);padding:0 14px;color:#94a3b8}.global-search input{border:0;background:transparent;min-height:40px;width:100%;color:#f8fafc;padding:0}.search-pop,.menu-pop{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--sheet);border:1px solid var(--rule);border-radius:14px;box-shadow:var(--shadow-hover);padding:8px;z-index:40;max-height:360px;overflow:auto}.search-pop button,.menu-pop button{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;text-align:left;padding:9px 10px;border-radius:10px;cursor:pointer;color:var(--ink)}.search-pop button:hover,.menu-pop button:hover{background:var(--accent-soft)}.search-pop small{display:block;color:var(--muted);font-size:.72rem}.period-select{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#94a3b8;font-weight:600}.period-select select{min-height:40px;border-radius:var(--radius-sm);min-width:160px;background:#f8fafc14;color:#f8fafc;border-color:#ffffff24}.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#f8fafc14;color:#f8fafc;display:grid;place-items:center;cursor:pointer;flex:0 0 auto;transition:border-color .18s var(--ease),background .18s var(--ease)}.icon-btn:hover{border-color:var(--accent)}.profile-wrap{position:relative}.profile-btn{display:flex;align-items:center;gap:10px;background:#f8fafc14;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-pill);padding:4px 10px 4px 4px;cursor:pointer;color:#f8fafc}.profile-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.profile-copy strong{font-size:.82rem}.profile-pop{right:0;left:auto;width:240px}.profile-meta{display:flex;gap:10px;align-items:center;padding:8px 10px 12px;border-bottom:1px solid var(--rule);margin-bottom:6px}.role-pill,.status-pill,.ratio-badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:2px 8px;font-size:.68rem;font-weight:650;letter-spacing:.01em;text-transform:capitalize}.role-pill{background:var(--accent-soft);color:var(--accent)}.status-pill.pending{background:var(--pending-bg);color:var(--pill-bad)}.status-pill.scored{background:var(--scored-bg);color:var(--pill-ok)}.status-pill.draft{background:var(--draft-bg);color:var(--draft)}.ratio-badge{background:var(--accent-soft);color:var(--accent)}.login-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,520px);background:#0f172a}.login-boot{place-items:center;grid-template-columns:1fr;color:#e2e8f0;font-weight:600}.login-hero{position:relative;overflow:hidden;padding:56px 64px;display:flex;flex-direction:column;justify-content:center;color:#f8fafc;background:radial-gradient(900px 420px at -10% -20%,rgba(255,75,43,.38),transparent 60%),radial-gradient(700px 360px at 110% 110%,rgba(255,75,43,.16),transparent 55%),linear-gradient(165deg,#0f172a,#111827 58%,#1e293b)}.login-kicker{margin:0 0 10px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fda4a4}.login-hero h1{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);max-width:16ch;line-height:1.12}.login-lede{margin:16px 0 0;max-width:36rem;color:#cbd5e1;font-size:1.02rem;line-height:1.55}.login-points{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:10px;max-width:28rem}.login-points li{position:relative;padding:10px 14px 10px 36px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#e2e8f0;font-size:.9rem}.login-points li:before{content:"";position:absolute;left:14px;top:16px;width:8px;height:8px;border-radius:50%;background:#ff4b2b}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px 36px;background:#fff;color:#0f172a}.login-form{width:min(380px,100%)}.login-form h2{font-size:1.55rem;color:#0f172a}.login-sub{margin:8px 0 22px;color:#475569;font-size:.92rem}.login-form .field{margin-bottom:14px;color:#475569}.login-panel,.login-form input,.login-form .field-control input{color-scheme:light}.login-form .field-control input,.login-form .field-control input:hover,.login-form .field-control input:focus,html[data-theme=dark] .login-form .field-control input,html[data-theme=dark] .login-form .field-control input:hover,html[data-theme=dark] .login-form .field-control input:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f1f5f9;color:#0f172a;border:1px solid #cbd5e1;color-scheme:light;-webkit-text-fill-color:#0f172a;caret-color:#0f172a}.login-form .field-control input:focus{background:#fff;border-color:#ff4b2b;box-shadow:0 0 0 3px #ff4b2b29}.login-form .field-control input::placeholder{color:#64748b;opacity:1}.login-form .field-icon,.login-form .field-eye{color:#64748b}.login-form .field-control:has(.field-icon) input{padding-left:40px}.login-form .field-control input:has(+.field-eye){padding-right:44px}.login-alert{margin:0 0 16px;padding:10px 12px;border-radius:12px;background:#fef2f2;color:#be123c;border:1px solid #fecaca;font-size:.88rem;font-weight:600}.login-submit{width:100%;justify-content:center;min-height:48px;margin-top:8px;border-radius:12px}.login-foot{margin:18px 0 0;color:#64748b;font-size:.78rem;line-height:1.45}.login-form input:-webkit-autofill{-webkit-text-fill-color:#0f172a;caret-color:#0f172a;box-shadow:0 0 0 1000px #f8fafc inset;border-color:#cbd5e1}html[data-theme=dark] .login-panel,html[data-theme=dark] .login-panel h2,html[data-theme=dark] .login-form h2{color:#0f172a}html[data-theme=dark] .login-sub,html[data-theme=dark] .login-form .field,html[data-theme=dark] .login-foot{color:#475569}.hod-group{margin-bottom:16px}.hod-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:12px 4px 8px}.avatar{display:inline-block;object-fit:cover;border-radius:50%;background:var(--accent-soft);flex:0 0 auto}.avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-size:.75rem;font-weight:700;color:var(--accent);background:var(--accent-soft)}.photo-picker{display:flex;align-items:center;gap:16px}.photo-field .btn{position:relative;overflow:hidden}.main{padding:24px var(--gutter) 64px;padding-right:max(var(--gutter),env(safe-area-inset-right));padding-left:max(var(--gutter),env(safe-area-inset-left));max-width:none;width:100%;flex:1 1 auto;overflow:auto;min-height:0;min-width:0}.main-scorecard{overflow:hidden;display:flex;flex-direction:column;padding-bottom:0;max-width:none}.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-bottom:16px;margin-bottom:20px}.page-head p{margin:6px 0 0;color:var(--muted);max-width:46rem}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:-8px 0 20px}.filter-bar .field{min-width:140px}.filter-bar select{border-radius:var(--radius-pill);min-height:36px;background:var(--input-bg, var(--sheet));color:var(--ink)}.field{display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:var(--muted);font-weight:600;min-width:0}.field.check{flex-direction:row;align-items:center;gap:10px;min-height:44px;font-size:.88rem;color:var(--ink);font-weight:600}.field-hint{font-weight:500;font-size:.72rem;color:var(--muted)}.field-control{position:relative;display:block;min-width:0}.field-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none;z-index:1}.field-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;color:#64748b;display:grid;place-items:center;cursor:pointer;border-radius:8px;z-index:1}.field-eye:hover{color:var(--ink);background:var(--accent-soft)}.ctrl,input[type=text],input[type=number],input[type=password],input[type=search],input[type=email],input[type=url],input[type=tel],input[type=month],input[type=date],input:not([type]),select,textarea{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--input-bg, var(--sheet));border:1px solid var(--rule-strong);color:var(--ink);color-scheme:light;padding:10px 12px;border-radius:12px;min-height:44px;transition:border-color .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease)}html[data-theme=dark] input[type=text],html[data-theme=dark] input[type=number],html[data-theme=dark] input[type=password],html[data-theme=dark] input[type=search],html[data-theme=dark] input[type=email],html[data-theme=dark] select,html[data-theme=dark] textarea{color-scheme:dark}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:none;padding-right:12px}select::-ms-expand{display:none}input:hover,select:hover,textarea:hover{border-color:var(--accent)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field>input,.field>select,.field>textarea,.field-control input,.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.field-control:has(.field-icon) input{padding-left:40px}.field-control input:has(+.field-eye){padding-right:44px}textarea{min-height:88px;resize:vertical;line-height:1.45}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--accent);flex:0 0 auto;cursor:pointer}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}.global-search input,.global-search input:hover,.global-search input:focus{border:0;background:transparent;box-shadow:none;min-height:40px;width:100%;color:#f8fafc;padding:0;border-radius:0}.period-select select{width:auto;min-width:160px;min-height:40px;background-color:#f8fafc14;background-image:none;color:#f8fafc;border-color:#ffffff24;padding-right:12px}.period-select select:hover,.period-select select:focus{border-color:#fff6}.period-select select:focus{box-shadow:0 0 0 3px #ff4b2b4d}.filter-bar select{min-height:40px}.btn{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:8px 14px;min-height:40px;cursor:pointer;border-radius:var(--radius-sm);font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease)}.btn:hover{background:var(--accent-strong);box-shadow:0 8px 18px #ff4b2b47}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong)}.btn.ghost:hover{background:var(--accent-soft);border-color:var(--accent);box-shadow:none}.btn.danger{background:transparent;color:var(--danger);border-color:#fecaca}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn.logout{background:transparent;color:var(--ink);border-color:var(--rule)}.export-menu{position:relative}.export-menu .menu-pop{right:0;left:auto;width:220px}.marksheet,.chart-panel,.empty{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.ruled-table{width:100%;border-collapse:collapse;font-size:.9rem}.ruled-table th{text-align:left;font-weight:600;color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--rule);padding:10px 12px}.ruled-table td{border-bottom:1px solid var(--rule);padding:11px 12px;vertical-align:middle}.ruled-table tr:hover td{background:var(--accent-soft)}.num,.mono,.num-lg,.num-md{font-family:var(--mono);font-variant-numeric:tabular-nums}.num-lg{font-size:1.85rem;font-weight:700;line-height:1.1;letter-spacing:-.04em;color:var(--ink)}.num-md{font-size:1.15rem;font-weight:650;color:var(--ink)}.grade{display:inline-flex;align-items:baseline;gap:6px;padding:3px 9px;border-radius:var(--radius-pill);font-size:.78rem;line-height:1.3;white-space:nowrap;font-weight:650}.grade b{font-variant-numeric:tabular-nums;font-size:.88rem}.grade.ap{color:var(--g-ap);background:var(--g-ap-bg)}.grade.a{color:var(--g-a);background:var(--g-a-bg)}.grade.b{color:var(--g-b);background:var(--g-b-bg)}.grade.c{color:var(--g-c);background:var(--g-c-bg)}.grade.d{color:var(--g-d);background:var(--g-d-bg)}.grade.f{color:var(--g-f);background:var(--g-f-bg)}.empty h2{margin-bottom:8px}.empty p{margin:0 0 16px;color:var(--muted)}.toast-wrap{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{background:var(--ink);color:#fff;padding:11px 14px;font-size:.88rem;max-width:360px;border-radius:12px;box-shadow:var(--shadow-hover);animation:toast-in .18s var(--ease)}.toast.ok{background:#047857}.toast.error{background:var(--fail)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.callout,.formula-banner{background:var(--sheet);border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:12px;padding:12px 14px;font-size:.88rem;color:var(--ink);margin:0 0 18px}.tree-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(140px,1fr) minmax(160px,1fr) auto auto;gap:8px;align-items:center;padding:12px 10px;border-bottom:1px solid var(--rule);border-radius:10px}.indent-0{padding-left:0}.indent-1{padding-left:22px}.indent-2{padding-left:44px}.indent-3{padding-left:66px}.score-track{height:8px;background:var(--rule);position:relative;width:100%;min-width:64px;border-radius:var(--radius-pill);overflow:hidden}.score-track>i{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width .22s var(--ease)}.score-track.low>i{background:var(--g-d)}.score-track.mid>i{background:var(--g-c)}.score-track.high>i{background:var(--g-ap)}.split-bar{display:flex;height:10px;border-radius:var(--radius-pill);overflow:hidden;background:var(--rule)}.split-bar i:first-child{background:#0f172a}html[data-theme=dark] .split-bar i:first-child{background:#94a3b8}.split-bar i:last-child{background:var(--accent)}.cat-block{margin:0 0 28px}.cat-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--rule);padding-bottom:6px;margin-bottom:8px}.cat-head .block-tag{font-size:.75rem;color:var(--muted)}.item-grid{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(140px,1.1fr) 88px 100px 72px minmax(120px,1fr);gap:8px;padding:8px 0;border-bottom:1px solid var(--rule);align-items:center}.item-grid.head{color:var(--muted);font-size:.75rem;border-bottom:1px solid var(--rule-strong)}.totals-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:8px 0 24px}.totals-strip>div,.metric-card{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}.metric-card:hover,.dept-card:hover,.chart-panel:hover,.people-list .row:hover{transform:scale(1.01);border-color:var(--accent);box-shadow:var(--shadow-hover)}.totals-strip dt,.metric-card dt{font-size:.72rem;color:var(--muted);margin:0 0 8px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric-card{display:flex;justify-content:space-between;gap:12px;align-items:center}.dialog-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;justify-content:flex-end;z-index:50;padding:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog{background:var(--sheet);border:0;border-left:1px solid var(--rule);width:min(520px,100vw);height:100vh;max-height:100vh;overflow:auto;padding:24px 24px 28px;box-sizing:border-box;border-radius:0;animation:drawer-in .22s var(--ease)}@keyframes drawer-in{0%{transform:translate(16px);opacity:.4}to{transform:none;opacity:1}}.dialog.account-dialog{width:min(560px,100vw)}.dialog-lead{margin:8px 0 0;color:var(--muted);font-size:.88rem;max-width:40rem}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 16px}.form-grid .span-2{grid-column:1 / -1}.form-section{grid-column:1 / -1;border-top:1px solid var(--rule);padding-top:14px;margin-top:4px}.form-section h3{font-size:1.05rem;margin:0 0 12px}.choice-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.choice-row .btn{min-height:34px;padding:6px 12px;font-size:.85rem}.person-head{display:flex;gap:16px;align-items:center;min-width:0}.person-head>div{min-width:0}.person-head h1{overflow-wrap:anywhere}.person-pick{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--rule);background:var(--paper);margin-top:10px;border-radius:12px}.person-pick strong{display:block;color:var(--ink);font-size:.95rem}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.linkish{background:none;border:0;color:var(--accent);padding:0;cursor:pointer;text-decoration:none;font-weight:600}.merge{display:grid;grid-template-columns:1fr 48px minmax(180px,.7fr);gap:8px 0;align-items:center;margin:8px 0 28px}.merge-row{display:grid;grid-template-columns:88px 1fr 92px;gap:10px;align-items:center}.merge-bar{height:18px;background:var(--rule);position:relative;border-radius:var(--radius-pill);overflow:hidden}.merge-bar>i{display:block;height:100%;transform-origin:left center;animation:fillbar .7s ease-out both}.merge-bar.own>i{background:#0f172a}.merge-bar.team>i{background:var(--accent)}.merge-final{grid-row:1 / span 3;grid-column:3;background:#0f172a;color:#fff;min-height:88px;padding:14px 16px;display:flex;flex-direction:column;justify-content:center;border-radius:14px;animation:join .55s ease-out .25s both}.merge-join{grid-row:1 / span 3;grid-column:2;height:100%;position:relative}.merge-join svg{width:48px;height:100%}@keyframes fillbar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes join{0%{clip-path:inset(40% 100% 40% 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}@media(prefers-reduced-motion:reduce){.merge-bar>i,.merge-final,.dialog,.toast,.metric-card:hover,.dept-card:hover,.btn:hover{animation:none;transform:none}}.chart-panel{margin:0 0 20px}.chart-panel h2{font-size:1.05rem;margin-bottom:4px}.chart-caption{font-size:.75rem;color:var(--muted);margin:0 0 8px}.split-2{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.people-list .row{width:100%;text-align:left;background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:12px 14px;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;align-items:center;margin-bottom:8px;transition:transform .16s var(--ease),border-color .16s var(--ease)}.people-list button.row.active{border-color:var(--accent);background:var(--accent-soft)}.save-state{font-size:.78rem;color:var(--muted)}.save-state.saved{color:var(--pill-ok);font-weight:650}.m-lab{display:none}.kbd-hint{font-size:.75rem;color:var(--muted)}.muted{font-size:inherit;color:var(--muted)}.sheet-kicker{font-family:var(--display);color:var(--ink);margin:0 0 12px;font-weight:650}.tabs{display:flex;gap:6px;margin:0 0 16px;background:var(--sheet);border:1px solid var(--rule);padding:4px;border-radius:14px;width:fit-content}.tabs button{background:none;border:0;border-radius:10px;padding:8px 14px;cursor:pointer;color:var(--muted);font-weight:600}.tabs button.on{color:#fff;background:var(--accent)}.sheet-table{width:100%;border-collapse:collapse;font-size:.8rem}.sheet-table th{text-align:left;font-weight:600;color:var(--muted);border-bottom:1px solid var(--rule);padding:8px;white-space:nowrap;vertical-align:bottom}.sheet-table td{border-bottom:1px solid var(--rule);padding:8px;vertical-align:top}.sheet-table td.okr{max-width:220px;font-size:.75rem;color:var(--muted)}.sheet-table input{width:100%;min-width:72px;min-height:34px;padding:4px 8px}.sheet-table input[type=number]:focus{animation:score-pulse .22s var(--ease)}@keyframes score-pulse{0%{box-shadow:0 0 #ff4b2b59}to{box-shadow:0 0 0 6px transparent}}.flow-list{margin:8px 0 0;padding-left:1.2rem}.pyramid{display:flex;flex-direction:column;align-items:center;gap:10px}.pyramid-band{background:var(--sheet);border:1px solid var(--rule);border-radius:14px;box-shadow:var(--shadow);padding:14px 16px;text-align:center;transition:transform .18s var(--ease),border-color .18s var(--ease)}.pyramid-band:hover{transform:scale(1.01);border-color:var(--accent)}.pyramid-band:nth-child(1){width:52%}.pyramid-band:nth-child(2){width:72%}.pyramid-band:nth-child(3){width:92%}.resp-list{margin:8px 0 0;padding-left:1.1rem}.resp-list li{margin-bottom:8px}.scorecard-shell{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%}.scorecard-lock{flex:0 0 auto;background:var(--paper);z-index:8;padding-bottom:8px;border-bottom:1px solid var(--rule)}.scorecard-lock .page-head{margin-bottom:12px;padding-bottom:10px}.scorecard-scroll{flex:1 1 auto;overflow:auto;min-height:0;padding-bottom:40px}.scorecard-sticky{background:var(--paper);padding:8px 0 4px;margin-bottom:8px}.scorecard-sticky .totals-strip{margin-bottom:12px}.block-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}.block-tab{border:1px solid var(--rule);background:var(--sheet);color:var(--ink);padding:8px 14px;cursor:pointer;border-radius:var(--radius-pill);font-weight:650;transition:background .16s var(--ease),color .16s var(--ease)}.block-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.dept-group{margin-bottom:28px}.dept-group>h2{margin-bottom:10px}.hod-block{margin-bottom:12px}.tree-row.hod-row{background:var(--accent-soft);font-weight:600}.na-check{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}.na-row td{background:var(--draft-bg)}.block-hint{position:relative;display:inline-block}.block-hint-list{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:50;min-width:260px;max-width:360px;max-height:280px;overflow:auto;background:var(--sheet);border:1px solid var(--rule);box-shadow:var(--shadow-hover);padding:10px 12px;color:var(--ink);border-radius:12px}.block-hint:hover .block-hint-list,.block-hint:focus-within .block-hint-list{display:block}.block-hint-list ul{margin:6px 0 0;padding-left:1.1rem}.block-hint-list li{font-size:.82rem;margin-bottom:4px}.block-chip{display:inline-block;border:1px solid var(--rule);padding:8px 12px;background:var(--sheet);cursor:default;border-radius:var(--radius-pill)}.dept-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;width:100%}.dept-card{text-align:left;background:var(--sheet);border:1px solid var(--rule);padding:18px;cursor:pointer;min-height:150px;border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}.dept-card-create{border-style:dashed;background:transparent}.dept-card h2{margin-bottom:8px}.form-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;max-height:240px;overflow:auto;border:1px solid var(--rule);padding:10px;background:var(--paper);border-radius:12px}.form-preview ul{margin:6px 0 0;padding-left:1.1rem;font-size:.8rem}.checks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px;align-items:start}.checks label{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;color:var(--ink);line-height:1.35}.checks input{width:auto;min-width:16px;min-height:16px;margin-top:3px;flex:0 0 auto}.progress-ring{position:relative;display:grid;place-items:center}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:4}.progress-ring .ring-track{stroke:var(--rule)}.progress-ring .ring-value{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .4s var(--ease)}.progress-ring span{position:absolute;font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums}.skeleton-stack{display:grid;gap:10px}.skeleton-line,.skeleton-card{background:linear-gradient(90deg,var(--rule) 0%,var(--sheet) 50%,var(--rule) 100%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite;border-radius:10px;height:14px}.skeleton-card{height:92px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.weight-slider{width:120px;accent-color:var(--accent)}.mobile-only,.drawer-nav-back{display:none}@media(max-width:1100px){.metric-row,.totals-strip{grid-template-columns:1fr 1fr}}@media(max-width:860px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr;height:100vh}.spine,.sidebar-toggle,.profile-copy{display:none}.mobile-only{display:grid}.drawer-nav-back{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:50}.drawer-nav{width:min(300px,86vw);height:100%;background:var(--sidebar);color:var(--sidebar-text);padding:16px;overflow:auto;display:flex;flex-direction:column;gap:8px}.drawer-nav a{color:var(--sidebar-text);text-decoration:none;display:flex;gap:10px;align-items:center;padding:10px 8px;border-radius:10px}.drawer-nav a.active{background:#ff4b2b38;color:#fff}.drawer-nav-head{display:flex;justify-content:space-between;align-items:center;color:#fff;margin-bottom:8px;gap:12px}.drawer-nav-head .brand-logo{height:36px;max-width:180px}.login-shell{grid-template-columns:1fr}.login-hero{padding:32px 22px 24px;min-height:auto}.login-hero h1{max-width:none;font-size:1.7rem}.login-points{display:none}.login-panel{align-items:flex-start;padding:24px 20px 40px}.login-form{width:100%}.form-grid,.checks,.split-2,.totals-strip,.metric-row,.tree-row,.item-grid,.merge{grid-template-columns:1fr}.merge-final,.merge-join{grid-row:auto;grid-column:auto}.merge-join,.item-grid.head{display:none}.m-lab{display:block}.num-lg{font-size:1.6rem}.pyramid-band:nth-child(1),.pyramid-band:nth-child(2),.pyramid-band:nth-child(3){width:100%}.period-select span{display:none}}::placeholder{color:var(--muted);opacity:1}option{background:var(--input-bg, var(--sheet));color:var(--ink)}.recharts-cartesian-axis-tick-value{fill:var(--muted)}.recharts-legend-item-text{color:var(--ink)!important}.recharts-default-tooltip{background:var(--sheet)!important;border:1px solid var(--rule)!important;color:var(--ink)!important}.recharts-tooltip-label,.recharts-tooltip-item,.recharts-tooltip-item-list{color:var(--ink)!important}html[data-theme=dark] .dept-card,html[data-theme=dark] .dept-card h2,html[data-theme=dark] .marksheet,html[data-theme=dark] .marksheet h2,html[data-theme=dark] .chart-panel,html[data-theme=dark] .chart-panel h2,html[data-theme=dark] .metric-card,html[data-theme=dark] .empty,html[data-theme=dark] .empty h2,html[data-theme=dark] .dialog,html[data-theme=dark] .dialog h2,html[data-theme=dark] .people-list .row,html[data-theme=dark] .people-list strong,html[data-theme=dark] .pyramid-band,html[data-theme=dark] .pyramid-band strong,html[data-theme=dark] td,html[data-theme=dark] .num,html[data-theme=dark] .num-lg,html[data-theme=dark] .num-md,html[data-theme=dark] .mono,html[data-theme=dark] .callout,html[data-theme=dark] .formula-banner,html[data-theme=dark] .tree-row{color:var(--ink)}html[data-theme=dark] .kbd-hint,html[data-theme=dark] .muted,html[data-theme=dark] .chart-caption,html[data-theme=dark] .page-head p,html[data-theme=dark] .dialog-lead,html[data-theme=dark] th,html[data-theme=dark] .sheet-table th,html[data-theme=dark] .ruled-table th,html[data-theme=dark] .field,html[data-theme=dark] .cat-head .block-tag{color:var(--muted)}html[data-theme=dark] .field.check{color:var(--ink)}html[data-theme=dark] .btn.ghost,html[data-theme=dark] .btn.logout{color:#f8fafc}html[data-theme=dark] .linkish{color:#ff8a70}html[data-theme=dark] input:-webkit-autofill,html[data-theme=dark] textarea:-webkit-autofill,html[data-theme=dark] select:-webkit-autofill{-webkit-text-fill-color:#f8fafc;caret-color:#f8fafc;box-shadow:0 0 0 1000px #0f172a inset}html[data-theme=light] body,html[data-theme=light] h1,html[data-theme=light] h2,html[data-theme=light] h3,html[data-theme=light] .dept-card,html[data-theme=light] .dept-card h2,html[data-theme=light] .num-lg,html[data-theme=light] .num-md{color:#0f172a}html[data-theme=light] .kbd-hint,html[data-theme=light] .muted,html[data-theme=light] .page-head p,html[data-theme=light] .chart-caption{color:#475569}html[data-theme=light] input:-webkit-autofill,html[data-theme=light] textarea:-webkit-autofill,html[data-theme=light] select:-webkit-autofill{-webkit-text-fill-color:#0f172a;caret-color:#0f172a;box-shadow:0 0 0 1000px #fff inset}
