:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:radial-gradient(circle at top left, #38bdf82e, transparent 24%), radial-gradient(circle at top right, #2dd4bf1f, transparent 22%), linear-gradient(180deg, #07111e 0%, #0b1524 38%, #08111c 100%);--panel:#07111ec7;--panel-solid:#0d1726;--panel-soft:#0e1929e0;--border:#60a5fa2e;--border-soft:#47556959;--foreground:#e5eefb;--muted-foreground:#91a4bf;--primary:#38bdf8;--primary-strong:#60a5fa;--success:#14b8a6;--warn:#f59e0b;--danger:#f87171;--shadow:0 28px 60px #02061773;font-family:Manrope,IBM Plex Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:radial-gradient(circle at top left, #2563eb29, transparent 28%), radial-gradient(circle at top right, #14b8a624, transparent 24%), linear-gradient(180deg, #eff6ff 0%, #f8fbff 48%, #f8fafc 100%);--panel:#ffffffd6;--panel-solid:#fff;--panel-soft:#f8fafceb;--border:#94a3b83d;--border-soft:#cbd5e1cc;--foreground:#102031;--muted-foreground:#526273;--primary:#2563eb;--primary-strong:#0f766e;--success:#059669;--warn:#ea580c;--danger:#dc2626;--shadow:0 24px 54px #0f172a17}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--foreground);scrollbar-gutter:stable;margin:0;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}#root{min-height:100vh}.inline-toggle-row{justify-content:flex-start;align-items:center;gap:1rem;margin-bottom:.55rem;display:flex}.inline-toggle-row h3{margin:0;font-size:.95rem}.section-card__header h2{margin:0;font-size:1.5rem;line-height:1.05}.card-title-row{align-items:center;gap:.55rem;display:inline-flex}.card-title-row h2,.card-title-row h3{margin:0}.info-hint{vertical-align:middle;z-index:4;outline:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.info-hint__icon{width:16px;height:16px;color:var(--primary);background:#38bdf824;border:1px solid #38bdf83d;border-radius:999px;place-items:center;line-height:0;display:grid}.info-hint__tooltip{width:min(240px,100vw - 32px);max-width:calc(100vw - 32px);color:var(--foreground);opacity:0;pointer-events:none;visibility:hidden;z-index:999;background:#07111ef5;border:1px solid #60a5fa3d;border-radius:12px;padding:.7rem .8rem;font-size:.78rem;line-height:1.45;transition:opacity .14s,visibility .14s;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 16px 32px #02061742}.info-hint--end .info-hint__tooltip{left:auto;right:0}.info-hint:hover .info-hint__tooltip,.info-hint:focus-visible .info-hint__tooltip{opacity:1;visibility:visible}.job-card,.queue-layout__chart,.queue-layout__legend,.chart-shell,.result-card,.error-card,.metric-card,.chart-panel,.insight-card{background:var(--panel-soft);border:1px solid #ffffff0a;border-radius:22px;padding:1rem}.insights-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.insight-card{gap:.85rem;display:flex}.insight-card__icon{background:#ffffff0f;border-radius:999px;place-items:center;width:2rem;height:2rem;display:grid}.insight-card p{color:var(--muted-foreground);margin:.35rem 0 0}.insight-card--info{border-color:#38bdf842}.insight-card--warn{border-color:#f59e0b42}.insight-card--danger{border-color:#f8717152}.metric-card__header{align-items:center;gap:.65rem;margin-bottom:1rem;display:inline-flex}.metric-cluster{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.metric-cluster div{background:#ffffff08;border:1px solid #ffffff0a;border-radius:18px;padding:.85rem}.metric-cluster span{color:var(--muted-foreground);font-size:.88rem;display:block}.metric-cluster strong{margin-top:.35rem;font-size:1.35rem;display:block}.mini-list{flex-direction:column;gap:.6rem;margin-top:.75rem;display:flex}@media (width<=1260px){.dashboard-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.stats-grid,.overview-grid,.insights-grid,.summary-grid,.security-grid,.job-grid,.queue-layout{grid-template-columns:1fr}}@media (width<=960px){.workspace-header,.topbar,.hero-panel,.section-card__header,.topbar__actions,.inline-actions,.filter-group,.card-top-row{flex-direction:column;align-items:stretch}.overview-panels,.overview-home-grid,.security-inline-form,.security-inline-form--triple,.security-layout,.metric-cluster,.revoke-form,.record-card__details{grid-template-columns:1fr}.record-card__summary{grid-template-columns:1fr;align-items:start}.student-record-card__summary{grid-template-columns:1fr;gap:.85rem}.record-card__glance{justify-content:flex-start}.student-record-card__glance{justify-items:start}.student-record-card__glance-item{text-align:left;max-width:none}.student-details-row,.student-details-row--subject{grid-template-columns:1fr}.student-subject-item__header{flex-direction:column}.student-subject-item__chips{justify-content:flex-start}.admin-record-card__summary,.admin-record-card__panel-grid,.subject-record-card__summary,.subject-record-card__panel-grid{grid-template-columns:1fr}.student-details-hero-board,.student-details-meta-strip,.student-details-hero-board__stats,.student-details-visual-grid,.student-details-risk-donut__legend,.student-details-subject-open,.student-subject-item__body,.student-details-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-subject-item__summary{grid-template-columns:repeat(3,minmax(0,1fr))}.student-record-card__flat-row,.student-record-card__flat-row--subject{grid-template-columns:1fr}.student-record-card__flat-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.list-panel__actions,.pagination{flex-direction:row;align-items:center}.overview-home-grid--three,.activity-grid{grid-template-columns:1fr}.overview-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.donut-card{min-height:auto}.donut-card__legend{grid-template-columns:1fr}.line-chart-card__svg{height:200px}.sidebar__account-actions{grid-template-columns:1fr}}@media (width<=720px){.login-page,.app-shell,.sidebar{padding:1rem}.sidebar__brand,.sidebar__status,.section-card,.hero-panel,.stat-card,.loading-panel,.login-hero,.login-card{border-radius:22px}.error-card__top,.mini-list__row,.login-actions{grid-template-columns:1fr}.line-chart-card__svg{height:160px}.line-chart-card__labels{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:.35rem}.line-chart-card__labels span{font-size:.7rem}.overview-quick-grid{grid-template-columns:1fr}.student-subject-item__summary{grid-template-columns:1fr;gap:.55rem}.admin-record-card__identity,.student-subject-item__body,.student-subject-item__fact{grid-template-columns:1fr}.student-course-card__fact{grid-template-columns:1fr;gap:.3rem}.student-subject-item__fact strong{margin-top:.2rem}.record-card__meta{align-items:flex-start;min-width:0}.record-pill{min-width:0}.donut-card__legend,.student-details-hero-board,.student-details-meta-strip,.student-details-hero-board__stats,.student-details-visual-grid,.student-details-risk-donut__legend,.student-details-signal-grid,.student-details-rank-row,.student-record-card__flat-stats,.student-record-card__assessment-item{grid-template-columns:1fr}}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--primary);align-items:center;gap:.45rem;font-size:.72rem;font-weight:800;display:inline-flex}.dashboard-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#030a1480;flex-direction:column;gap:1.5rem;height:100vh;padding:1.5rem;display:flex;position:sticky;top:0}.sidebar__section-title{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);padding:.15rem .15rem 0;font-size:.82rem;font-weight:800}:root[data-theme=light] .sidebar{background:#ffffff8c}.sidebar__brand,.sidebar__status,.section-card,.hero-panel,.stat-card,.loading-panel,.login-card{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:28px}.sidebar__brand p,.sidebar__status span,.topbar p,.hero-panel p,.section-card__header p,.login-card__top p,.stat-card__hint,.pagination span,.section-meta,.queue-caption,.job-card__title-row span,.error-card__top span,.error-card__meta{color:var(--muted-foreground)}.section-card__body{flex-direction:column;min-width:0;height:100%;display:flex}.section-card__header{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.section-card__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.panel-caption{color:var(--muted-foreground);font-size:.82rem}.app-toast{z-index:120;color:#f8fafc;white-space:pre-line;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform-origin:100% 0;will-change:transform, opacity;background:#0f172af5;border:1px solid #34d39938;border-left:4px solid #34d399;border-radius:14px;min-width:296px;max-width:min(344px,100vw - 1.5rem);padding:.9rem 1rem .9rem 1.1rem;font-size:.9rem;font-weight:600;line-height:1.35;animation:.18s ease-out toast-in;position:fixed;top:2.4rem;right:1.25rem;box-shadow:0 16px 32px #02061738}.app-toast--error{border-color:#f8717147 #f8717147 #f8717147 #f87171}:root[data-theme=light] .app-toast{color:#0f172a;background:#fffffff5;border-color:#34d3993d;box-shadow:0 16px 32px #0f172a1a}:root[data-theme=light] .app-toast--error{border-color:#dc262642 #dc262642 #dc262642 #dc2626}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}.sidebar__nav{flex-direction:column;gap:.6rem;display:flex}.sidebar__link{width:100%;color:var(--foreground);text-align:left;background:#ffffff08;border:1px solid #ffffff08;border-radius:16px;align-items:center;gap:.65rem;padding:.8rem .95rem;display:inline-flex}.sidebar__link--active{background:#38bdf824;border-color:#3ea8ff33}:root[data-theme=light] .sidebar__link{background:#ffffffc7;border-color:#cbd5e1b8;box-shadow:0 4px 12px #0f172a0a}:root[data-theme=light] .sidebar__link--active{background:#2563eb1f;border-color:#2563eb33}.sidebar__account{flex-direction:column;gap:.55rem;margin-top:auto;display:flex}.sidebar__account-actions{grid-template-columns:42px 1fr;gap:.5rem;display:grid}.identity-chip{width:fit-content;color:var(--foreground);white-space:nowrap;background:#38bdf81f;border:1px solid #38bdf82e;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem .95rem;display:inline-flex}.identity-chip__avatar{width:28px;height:28px;color:var(--primary);background:#56b2ff24;border-radius:10px;flex:none;place-items:center;display:grid}.identity-chip__label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:.08rem;font-size:.68rem;font-weight:700;display:block}.identity-chip__email{color:var(--muted-foreground);margin-top:.12rem;font-size:.74rem}.identity-chip--sidebar{white-space:normal;background:#ffffff09;border:1px solid #ffffff0d;border-radius:14px;gap:.65rem;width:100%;padding:.72rem .8rem}:root[data-theme=light] .identity-chip--sidebar{background:#ffffffdb;border-color:#cbd5e1c7;box-shadow:0 4px 12px #0f172a0a}:root[data-theme=light] .identity-chip__avatar{background:#2563eb14}.identity-chip--sidebar strong,.identity-chip--sidebar span{display:block}.identity-chip--sidebar strong{word-break:break-word;font-size:.92rem;line-height:1.2}.identity-chip--sidebar span{color:var(--muted-foreground);font-size:.75rem}.app-shell{flex-direction:column;gap:1rem;width:100%;padding:1.75rem 2rem;display:flex}.topbar,.hero-panel{justify-content:space-between;gap:1rem;padding:1.4rem 1.5rem;display:flex}.workspace-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:1rem;padding:0 0 1.35rem;display:flex}.workspace-header h2{margin:0;font-size:clamp(2rem,3.2vw,2.7rem);line-height:1.02}.workspace-header p{color:var(--muted-foreground);margin:.35rem 0 0;font-size:.95rem}.page-view{flex-direction:column;gap:1rem;display:flex}.topbar h2,.hero-panel h2{margin:.35rem 0;font-size:clamp(1.5rem,3vw,2.3rem)}.topbar__actions,.hero-panel__badges,.inline-actions,.filter-group,.pagination{align-items:center;gap:.75rem;display:flex}.list-panel__actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.75rem;min-width:0;display:flex}.pagination{flex-wrap:nowrap}.pagination span{white-space:nowrap}.hero-panel__badges{flex-wrap:wrap;justify-content:flex-end}.hero-panel__badges span{border:1px solid var(--border);background:#ffffff0d;border-radius:999px;align-items:center;gap:.5rem;padding:.75rem .95rem;display:inline-flex}.stats-grid,.overview-grid,.job-grid,.queue-layout{gap:1rem;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid--split{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:1.2rem}.stat-card__label{color:var(--muted-foreground);font-size:.9rem;display:block}.stat-card__value{margin-top:.45rem;font-size:2rem;display:block}.stat-card--good{border-color:#14b8a647}.stat-card--warn{border-color:#f59e0b42}.stat-card--danger{border-color:#f8717147}.loading-panel{text-align:center;padding:2rem}.section-card{background:#0c1626c7;border-color:#ffffff12;padding:1.2rem;position:relative;overflow:visible;box-shadow:0 10px 24px #02061729,inset 0 1px #ffffff0a}@media (width<=1260px){.dashboard-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.stats-grid,.overview-grid,.insights-grid,.summary-grid,.security-grid,.job-grid,.queue-layout{grid-template-columns:1fr}}@media (width<=960px){.workspace-header,.topbar,.hero-panel,.section-card__header,.topbar__actions,.inline-actions,.filter-group,.card-top-row{flex-direction:column;align-items:stretch}.list-panel__actions,.pagination{flex-direction:row;align-items:center}.sidebar__account-actions{grid-template-columns:1fr}}@media (width<=720px){.app-shell,.sidebar{padding:1rem}.sidebar__brand,.sidebar__status,.section-card,.hero-panel,.stat-card,.loading-panel,.login-card{border-radius:22px}}.security-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.security-actions{margin-top:1rem}.security-stack{flex-direction:column;gap:1rem;display:flex}.security-panel{box-shadow:none;background:0 0;border:0;padding:0}.security-panel__nav{flex-wrap:wrap;gap:.65rem;margin-bottom:2rem;display:flex}.security-panel__tab{min-height:36px;color:var(--muted-foreground);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;justify-content:center;align-items:center;padding:.45rem .9rem;display:inline-flex}.security-panel__tab--active{color:var(--foreground);background:#38bdf81f;border-color:#38bdf838}:root[data-theme=light] .security-panel__tab{background:#ffffffdb;border-color:#cbd5e1cc}:root[data-theme=light] .security-panel__tab--active{background:#2563eb1a;border-color:#2563eb2e}.security-status-card{background:#ffffff08;border-radius:16px;gap:.85rem;padding:1rem;display:flex}:root[data-theme=light] .security-status-card,:root[data-theme=light] .mfa-action-card,:root[data-theme=light] .mfa-qr-card,:root[data-theme=light] .security-secret-box,:root[data-theme=light] .security-flow--mfa{background:#ffffffeb;border-color:#cbd5e1d1;box-shadow:0 8px 18px #0f172a0a}:root[data-theme=light] .security-status-card__icon{background:#2563eb14}.mfa-shell{gap:1rem;display:grid}.mfa-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.mfa-action-card{text-align:left;color:var(--foreground);background:#ffffff08;border:1px solid #ffffff0d;border-radius:16px;padding:.95rem 1rem}.mfa-action-card:hover{background:#38bdf80f;border-color:#38bdf82e}.mfa-action-card strong,.mfa-action-card span{display:block}.mfa-action-card strong{margin-bottom:.28rem;font-size:.92rem}.mfa-action-card span{color:var(--muted-foreground);font-size:.78rem;line-height:1.4}.mfa-action-card--active{background:#38bdf814;border-color:#38bdf838}.security-status-card__icon{width:32px;height:32px;color:var(--primary);background:#56b2ff1f;border-radius:10px;flex:none;place-items:center;display:grid}.security-status-card strong{display:block}.security-status-card p{color:var(--muted-foreground);margin:.22rem 0 0}.security-toolbar{flex-wrap:wrap;gap:.55rem;margin-top:.9rem;display:flex}.security-flow{border-top:1px solid #ffffff0d;margin-top:1rem;padding-top:1rem}.security-flow--mfa{background:#ffffff06;border:1px solid #ffffff0d;border-radius:18px;padding:1rem}.security-flow--mfa+.form-error,.mfa-shell+.form-error,.security-toolbar+.form-error{margin-top:1rem}.security-flow__intro strong{display:block}.security-flow__intro p,.security-flow__intro ol{color:var(--muted-foreground);margin:.4rem 0 0}.security-flow__intro ol{padding-left:1rem}.mfa-qr-card{background:#ffffff08;border:1px solid #ffffff0d;border-radius:14px;grid-template-columns:176px minmax(0,1fr);align-items:center;gap:1rem;margin-top:1rem;padding:1rem;display:grid}.mfa-qr-card__image{aspect-ratio:1;color:#334155;background:#fff;border-radius:12px;place-items:center;width:176px;display:grid;overflow:hidden}.mfa-qr-card__image img{width:100%;height:100%;display:block}.mfa-qr-card__image span{color:#334155;text-align:center;padding:.75rem;font-size:.78rem}.mfa-qr-card__copy strong{display:block}.mfa-qr-card__copy p{color:var(--muted-foreground);margin:.35rem 0 0}.security-secret-box{background:#ffffff08;border-radius:14px;margin-top:.9rem;padding:.9rem 1rem}.security-secret-box__top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.security-secret-box span{color:var(--muted-foreground);font-size:.78rem;display:block}.security-secret-box strong{word-break:break-word;margin-top:.24rem;display:block}.security-secret-box__feedback{color:var(--muted-foreground);margin-top:.4rem;font-size:.74rem;display:block}.security-inline-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.security-inline-form--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.stack-form{flex-direction:column;gap:.85rem;margin-top:1rem;display:flex}.stack-form--compact{gap:.75rem}.stack-form--spaced{margin-top:1.25rem}.secondary-button--icon{width:36px;min-width:36px;padding:0}.spinning-icon{transform-origin:50%;will-change:transform;animation:.7s linear infinite spinning-icon}@keyframes spinning-icon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{color:var(--muted-foreground);background:#ffffff08;border:1px dashed #ffffff14;border-radius:16px;padding:1rem}.revoke-form{grid-template-columns:1fr auto;align-items:end;gap:1rem;display:grid}details summary{cursor:pointer}.login-page{place-items:center;min-height:100vh;padding:2rem;display:grid}.login-page--clean{padding:2rem}.login-badge{width:fit-content;color:var(--primary);letter-spacing:.08em;text-transform:uppercase;background:#38bdf81a;border-radius:999px;align-items:center;padding:.42rem .72rem;font-size:.74rem;font-weight:800;display:inline-flex}.login-card{flex-direction:column;justify-content:center;display:flex}.login-card--clean{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#08101ce6;border:1px solid #ffffff0f;border-radius:24px;width:min(460px,100vw - 2rem);padding:2rem;box-shadow:0 24px 60px #0206174d}.login-card__top--clean{flex-direction:column;gap:.8rem;display:flex}.login-card__top--clean h1{margin:0;font-size:2.2rem;line-height:1.02}.login-card__top--clean p{color:var(--muted-foreground);max-width:34ch;margin:0;font-size:.96rem;line-height:1.55}.login-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.login-form{flex-direction:column;gap:0;margin-top:1.75rem;display:flex}.login-form--clean{gap:0}.login-fields{flex-direction:column;gap:1.2rem;display:flex}.login-form label,.revoke-form label,.stack-form label,.security-inline-form label{flex-direction:column;gap:.7rem;display:flex}.login-form span,.revoke-form span{color:var(--foreground);font-size:.9rem;font-weight:600}.login-form input,.filter-group input,.revoke-form input,.stack-form input,.admin-select{width:100%;color:var(--foreground);background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;padding:.95rem 1rem;transition:border-color .14s,background-color .14s}.admin-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted-foreground) 50%), linear-gradient(135deg, var(--muted-foreground) 50%, transparent 50%);background-position:calc(100% - 1.35rem),calc(100% - 1rem);background-repeat:no-repeat;background-size:.38rem .38rem,.38rem .38rem;border-radius:999px;padding-right:2.85rem}.admin-select option{color:#f8fafc;background:#111827}.password-field{align-items:center;display:flex;position:relative}.password-field input{padding-right:3rem}.password-field__toggle{width:2.2rem;height:2.2rem;color:var(--muted-foreground);background:0 0;border-radius:8px;place-items:center;display:grid;position:absolute;right:.45rem}.password-field__toggle:hover{color:var(--foreground);background:#38bdf81a}:root[data-theme=light] .login-form input,:root[data-theme=light] .filter-group input,:root[data-theme=light] .revoke-form input,:root[data-theme=light] .stack-form input,:root[data-theme=light] .admin-select{background:#f8fafceb;border-color:#cbd5e1e6}:root[data-theme=light] .admin-select option{color:#0f172a;background:#fff}.login-form input:focus,.filter-group input:focus,.revoke-form input:focus{border-color:var(--primary);background:#ffffff0d;outline:2px solid #38bdf81f}:root[data-theme=light] .stack-form input:focus,:root[data-theme=light] .login-form input:focus,:root[data-theme=light] .filter-group input:focus,:root[data-theme=light] .revoke-form input:focus,:root[data-theme=light] .admin-select:focus{background:#fff}.primary-button,.secondary-button,.danger-button,.theme-button{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:.55rem;min-height:38px;padding:.4rem .75rem;font-size:.875rem;font-weight:600;display:inline-flex}.login-form .primary-button,.login-actions .secondary-button,.login-actions .primary-button{border-radius:12px;min-height:44px}.login-submit{margin-top:3.5rem}.login-submit .primary-button{width:100%}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.55;cursor:not-allowed}.primary-button{background:linear-gradient(135deg, var(--primary), var(--primary-strong));color:#fff;box-shadow:0 8px 18px #2563eb33}.secondary-button,.theme-button{color:var(--foreground);background:#ffffff0a;border:1px solid #ffffff0f}.secondary-button:hover,.theme-button:hover{background:#38bdf81f;border-color:#38bdf838}.theme-button{width:42px;padding:0}:root[data-theme=light] .secondary-button,:root[data-theme=light] .theme-button{background:#ffffffdb;border-color:#cbd5e1d1;box-shadow:0 4px 12px #0f172a0a}.danger-button{color:#fff;background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 8px 18px #b91c1c2e}.form-error{color:#fecaca;background:#7f1d1d2e;border:1px solid #f8717142;border-radius:14px;padding:.9rem 1rem}.form-success{color:#ccfbf1;background:#065f462e;border:1px solid #14b8a642;border-radius:14px;padding:.9rem 1rem}.login-otp-panel{background:#ffffff06;border:1px solid #ffffff0f;border-radius:14px;padding:1rem 1.05rem}.login-otp-panel strong{font-size:.95rem;display:block}.login-otp-panel p{color:var(--muted-foreground);margin:.35rem 0 0;font-size:.92rem;line-height:1.5}.login-form .form-error{margin-top:1rem}:root[data-theme=light] .form-error{color:#991b1b;background:#fee2e2f0}@media (width<=760px){.security-panel__nav{grid-template-columns:1fr 1fr;display:grid}.mfa-actions-grid,.mfa-qr-card{grid-template-columns:1fr}.mfa-qr-card__image{width:min(100%,220px)}}@media (width<=720px){.login-page{padding:1rem}.login-actions{grid-template-columns:1fr}}.record-card{background:#0b1524b8;border:1px solid #ffffff12;border-radius:20px;padding:0;overflow:hidden}.list-surface{min-width:0}.list-surface+.list-surface{margin-top:1rem}.list-surface--compact-top{margin-top:1.15rem}.list-surface--form{margin-bottom:1.15rem}.records-list{flex-direction:column;gap:.85rem;display:flex}.record-card[open]{background:#0d1828e0;border-color:#60a5fa2e}.record-card__summary{cursor:pointer;grid-template-columns:minmax(220px,1.1fr) minmax(420px,1.35fr) auto;align-items:center;gap:1.1rem;padding:1rem 1.1rem;list-style:none;display:grid}.record-card__summary::-webkit-details-marker{display:none}.record-card__summary::marker{content:""}.record-card__glance{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;min-width:0;display:grid}.record-card__identity{min-width:0}.record-card__identity h3{margin:0;font-size:1.02rem;line-height:1.2}.record-card__identity p{color:var(--muted-foreground);margin:.36rem 0 0;font-size:.82rem;line-height:1.45}.record-card__summary-label{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.22rem;font-size:.64rem;display:block}.record-card__summary-line{color:var(--muted-foreground);margin-top:.32rem;font-size:.78rem;line-height:1.35;display:block}.record-glance{min-width:0;padding:.1rem .05rem}.record-glance span{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.14rem;font-size:.64rem;display:block}.record-glance strong{color:var(--foreground);font-size:.9rem;font-weight:700;line-height:1.2;display:block}.record-glance small{color:var(--muted-foreground);margin-top:.2rem;font-size:.75rem;line-height:1.35;display:block}.record-card__meta{min-width:42px;color:var(--muted-foreground);flex-direction:row;justify-content:center;align-items:center;gap:.5rem;font-size:.76rem;display:flex}.record-card__meta small{color:var(--muted-foreground)}.record-card__details{opacity:0;border-top:1px solid #0000;grid-template-columns:1fr;gap:0;max-height:0;padding:0 1.2rem;transition:max-height .22s,opacity .18s,padding-top .22s,border-top-color .22s;display:grid;overflow:hidden}.record-card[open] .record-card__details{opacity:1;border-top-color:#ffffff0f;max-height:1200px;padding:.15rem 1.1rem 1rem}.record-card__detail-block{background:0 0;border:0;border-bottom:1px solid #ffffff0f;border-radius:0;padding:.85rem 0}.record-card__detail-block--wide{grid-column:auto}.record-card__detail-block:last-child{border-bottom:0;padding-bottom:0}.record-card__detail-block h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 .55rem;font-size:.78rem;font-weight:800}.record-card__detail-list{gap:0;display:grid}.record-card__detail-row{border-bottom:1px dashed #ffffff0f;grid-template-columns:minmax(0,1fr) minmax(160px,auto);align-items:start;gap:1rem;padding:.8rem 0;display:grid}.record-card__detail-list .record-card__detail-row:first-child{padding-top:0}.record-card__detail-row:last-child{border-bottom:0;padding-bottom:0}.record-card__detail-row strong,.record-card__detail-row span{display:block}.record-card__detail-row strong{color:var(--foreground)}.record-card__detail-row span{color:var(--muted-foreground);font-size:.78rem;line-height:1.35}.institutional-documents{gap:1rem;display:grid}.institutional-documents__topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.institutional-toolbar,.institutional-upload,.institutional-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.institutional-schedule-toolbar{justify-content:flex-end;margin-bottom:.8rem;display:flex}.institutional-toolbar{margin-bottom:0}.institutional-toolbar .security-panel__tab{gap:.45rem}.institutional-upload{align-items:flex-end}.institutional-upload__copy{gap:.25rem;min-width:min(100%,340px);margin-right:auto;display:grid}.institutional-upload__copy strong{font-size:.92rem}.institutional-upload__copy span{color:var(--muted-foreground);font-size:.78rem;line-height:1.35}.institutional-file-picker{min-width:min(100%,260px);min-height:38px;color:var(--foreground);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;padding:.55rem .85rem;font-size:.82rem;font-weight:700;display:inline-flex}.institutional-file-picker input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.institutional-file-picker span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.institutional-upload__error{max-width:260px;color:var(--danger);font-size:.78rem;font-weight:700;line-height:1.25}.institutional-review-actions,.institutional-day-nav{align-items:center;gap:.6rem;display:flex}.institutional-day-nav{justify-content:center;margin-bottom:1rem}.institutional-day-nav strong{text-align:center;min-width:120px;font-size:.95rem}.institutional-calendar-list,.institutional-buildings{gap:.85rem}.institutional-schedule-shell{gap:.9rem;display:grid}.institutional-date-card__summary,.institutional-room-summary{grid-template-columns:minmax(220px,.7fr) minmax(0,1fr)}.institutional-event-stack{gap:.35rem;min-width:0;display:grid}.institutional-event-stack span{color:var(--foreground);font-size:.84rem;line-height:1.35}.institutional-building{gap:.7rem;display:grid}.institutional-building__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.institutional-building__header h3{margin:0;font-size:1rem}.institutional-building__header span{color:var(--muted-foreground);font-size:.78rem;font-weight:700}.institutional-schedule-table{border:1px solid #ffffff0f;border-radius:12px;display:grid;overflow:hidden}.institutional-schedule-table__head,.institutional-schedule-table__row{grid-template-columns:minmax(92px,.6fr) minmax(92px,.5fr) minmax(70px,.35fr) minmax(170px,.9fr) minmax(88px,.45fr);align-items:center;gap:.75rem;display:grid}.institutional-schedule-table__head{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;background:#ffffff0a;padding:.7rem .85rem;font-size:.72rem;font-weight:800}.institutional-schedule-table__row{border-top:1px solid #ffffff0f;padding:.78rem .85rem}.institutional-schedule-table__row strong,.institutional-schedule-table__row span,.institutional-schedule-table__row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.institutional-schedule-table__row span,.institutional-schedule-table__row small{color:var(--muted-foreground);line-height:1.35}.institutional-documents__stats{margin-top:0}.curricula-shell,.curriculum-review{gap:1rem;display:grid}.curricula-toolbar{align-items:center;gap:.65rem;margin-bottom:0}.curriculum-status{color:var(--foreground);background:#94a3b81f;border-radius:999px;justify-self:start;padding:.2rem .55rem;font-size:.72rem;font-weight:800}.curriculum-status--published{color:#86efac;background:#22c55e24}.curriculum-status--archived{color:var(--muted-foreground);background:#94a3b829}.curriculum-review__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.curriculum-review__header h3{margin:.2rem 0 0;font-size:1.05rem}.curriculum-review__header p{color:var(--muted-foreground);margin:.25rem 0 0;font-size:.82rem;font-weight:700}.curriculum-review__actions{justify-content:flex-end}.curriculum-review__stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem;display:grid}.curriculum-stat{background:#ffffff09;border:1px solid #ffffff0f;border-radius:12px;gap:.25rem;padding:.75rem;display:grid}.curriculum-stat span{color:var(--muted-foreground);font-size:.72rem;font-weight:800}.curriculum-stat strong{font-size:.95rem}.curriculum-warnings{color:var(--foreground);background:#f59e0b1a;border:1px solid #f59e0b2e;border-radius:12px;gap:.35rem;padding:.75rem;font-size:.8rem;font-weight:700;display:grid}.curriculum-period-board{grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;gap:.65rem;padding:0;display:grid;overflow-x:auto}.curriculum-period-column{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;grid-template-rows:auto 1fr;min-width:150px;display:grid;overflow:hidden}.curriculum-period-column header{background:#ffffff0a;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.curriculum-period-column header strong{font-size:.9rem}.curriculum-period-column header span{color:var(--muted-foreground);font-size:.72rem;font-weight:800}.curriculum-period-column__items{align-content:start;gap:.45rem;padding:.55rem;display:grid}.curriculum-component-card{background:#38bdf812;border:1px solid #38bdf81f;border-radius:10px;gap:.22rem;min-width:0;padding:.55rem;display:grid}.curriculum-component-card strong{color:var(--foreground);font-size:.78rem}.curriculum-component-card strong,.curriculum-component-card span,.curriculum-component-card small{overflow-wrap:anywhere;min-width:0}.curriculum-component-card span{color:var(--muted-foreground);font-size:.68rem;font-weight:700;line-height:1.25}.curriculum-component-card small{width:fit-content;max-width:100%;color:var(--foreground);background:#38bdf81f;border-radius:999px;padding:.18rem .45rem;font-size:.68rem;font-weight:700;line-height:1.25}.institutional-calendar-view .assessment-calendar__cell{cursor:pointer;text-align:left;min-height:154px;max-height:154px;padding:.5rem;overflow:hidden}.institutional-calendar-view .assessment-calendar__entry{min-height:40px;padding:.28rem .42rem}.institutional-calendar-view .assessment-calendar__events{gap:.32rem;overflow:hidden}.institutional-calendar-view__more{color:var(--muted-foreground);font-size:.7rem;font-weight:800;line-height:1;display:block}.institutional-calendar-view .assessment-calendar__entry-title{white-space:nowrap;font-size:.72rem;line-height:1.15;display:block}.institutional-calendar-view .assessment-calendar__entry-time{font-size:.64rem;line-height:1.1}.institutional-day-details{gap:.7rem;display:grid}.institutional-event-card{justify-content:space-between;align-items:flex-start;gap:1rem;padding:.95rem 1rem;display:flex}.institutional-event-card h3{margin:.2rem 0 0;font-size:.95rem;line-height:1.35}.institutional-event-card small{color:var(--muted-foreground);white-space:nowrap}.institutional-schedule-board{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;display:grid}.institutional-room-column{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;min-width:0;overflow:hidden}.institutional-room-column header{color:var(--foreground);background:#ffffff0a;padding:.65rem .75rem;font-size:.8rem;font-weight:800}.institutional-room-column__items{gap:.45rem;padding:.55rem;display:grid}.institutional-room-slot{background:#38bdf812;border:1px solid #38bdf81f;border-radius:10px;gap:.22rem;min-width:0;padding:.55rem;display:grid}.institutional-room-slot span,.institutional-room-slot strong,.institutional-room-slot small{overflow-wrap:anywhere;min-width:0}.institutional-room-slot span,.institutional-room-slot small{color:var(--muted-foreground);font-size:.68rem}.institutional-room-slot strong{color:var(--foreground);font-size:.78rem}.institutional-room-slot__groups{width:fit-content;max-width:100%;color:var(--foreground);overflow-wrap:anywhere;background:#38bdf81f;border-radius:999px;padding:.18rem .45rem;font-size:.68rem;font-weight:800;line-height:1.25}.institutional-menu{min-width:170px;position:relative}.institutional-menu summary{min-height:36px;color:var(--foreground);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;justify-content:space-between;align-items:center;gap:.8rem;padding:.45rem .85rem;font-size:.85rem;font-weight:700;list-style:none;display:flex}.institutional-menu summary span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.institutional-menu summary::-webkit-details-marker{display:none}.institutional-menu summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;transform:rotate(45deg)translateY(-2px)}.institutional-menu__panel{z-index:20;background:#0f172afa;border:1px solid #ffffff14;border-radius:12px;gap:.25rem;width:max-content;min-width:100%;max-width:min(280px,90vw);padding:.35rem;display:grid;position:absolute;top:calc(100% + .45rem);right:0;box-shadow:0 18px 40px #00000047}.institutional-menu__item{width:100%;min-height:34px;color:var(--muted-foreground);text-align:left;border-radius:9px;padding:.45rem .65rem}.institutional-menu__item:hover,.institutional-menu__item--active{color:var(--foreground);background:#38bdf81f}.institutional-menu__empty{color:var(--muted-foreground);padding:.55rem .65rem;font-size:.78rem}.institutional-modal{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020617ad;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.institutional-modal__surface{background:#0f172af5;border:1px solid #ffffff14;border-radius:18px;gap:1rem;width:min(720px,100%);max-height:min(78vh,720px);padding:1rem;display:grid;overflow:hidden;box-shadow:0 24px 60px #00000057}.institutional-modal__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.institutional-modal__header h3{margin:.2rem 0 0;font-size:1.05rem}.institutional-modal .institutional-day-details{max-height:58vh;padding-right:.15rem;overflow:auto}:root[data-theme=light] .institutional-upload{border-top-color:#cbd5e1c7}:root[data-theme=light] .institutional-file-picker,:root[data-theme=light] .institutional-schedule-table{background:#f8fafceb;border-color:#cbd5e1c7}:root[data-theme=light] .institutional-schedule-table__head{background:#f1f5f9f5}:root[data-theme=light] .institutional-schedule-table__row{border-top-color:#cbd5e1b8}:root[data-theme=light] .institutional-room-column,:root[data-theme=light] .institutional-menu summary,:root[data-theme=light] .curriculum-stat,:root[data-theme=light] .curriculum-period-column{background:#f8fafceb;border-color:#cbd5e1c7}:root[data-theme=light] .curriculum-status--published{color:#166534}:root[data-theme=light] .institutional-room-column header,:root[data-theme=light] .curriculum-period-column header{background:#f1f5f9f5}:root[data-theme=light] .curriculum-component-card{background:#2563eb14;border-color:#2563eb1f}:root[data-theme=light] .curriculum-component-card strong{color:var(--foreground)}:root[data-theme=light] .institutional-room-slot{background:#2563eb14;border-color:#2563eb1f}:root[data-theme=light] .institutional-menu__panel{background:#fffffffa;border-color:#cbd5e1d1;box-shadow:0 18px 40px #0f172a24}:root[data-theme=light] .institutional-modal{background:#0f172a47}:root[data-theme=light] .institutional-modal__surface{background:#fffffffa;border-color:#cbd5e1cc;box-shadow:0 24px 60px #0f172a2e}.record-card__detail-row small{color:var(--muted-foreground);font-size:.74rem;line-height:1.35;display:block}.record-card__detail-meta{text-align:right;align-self:center}.record-card__toggle-icon{background:#ffffff0a;border:1px solid #ffffff0d;border-radius:999px;place-items:center;width:30px;height:30px;display:grid}.record-card__chevron{justify-content:center;align-items:center;transition:transform .18s;display:inline-flex}.record-card[open] .record-card__chevron{transform:rotate(180deg)}:root[data-theme=light] .record-card{background:#fffffff5;border-color:#cbd5e1e6;box-shadow:0 10px 24px #0f172a0d}:root[data-theme=light] .record-card[open]{background:#fffffffa;border-color:#60a5fa42}:root[data-theme=light] .record-card__detail-block,:root[data-theme=light] .record-card__detail-row{border-bottom-color:#cbd5e1b8}:root[data-theme=light] .record-card__toggle-icon{background:#f8fafcf5;border-color:#cbd5e1e6}.student-record-card .record-card__summary{grid-template-columns:minmax(220px,1.1fr) minmax(420px,1.35fr) auto;gap:1.5rem;padding:1.05rem 1.2rem}.student-record-card__identity h3{font-size:1.08rem}.student-record-card__glance{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:stretch}.student-record-card__glance-item{text-align:center;width:100%;max-width:none}.student-record-card__glance .record-glance{text-align:center}.student-record-card__details{gap:0}.student-record-card__overview{padding-top:.95rem}.student-record-card__detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.student-record-card__detail-item{background:#ffffff09;border:1px solid #ffffff0f;border-radius:16px;grid-template-columns:auto 1fr;align-items:start;gap:.18rem .7rem;min-width:0;padding:.9rem .95rem;display:grid}.student-record-card__detail-item--wide{grid-column:span 2}.student-record-card__detail-icon{color:#7dd3fc;background:#38bdf81a;border:1px solid #38bdf824;border-radius:12px;grid-row:span 2;place-items:center;width:2rem;height:2rem;display:grid}.student-record-card__detail-item .record-card__summary-label{align-self:end;margin-bottom:.35rem}.student-record-card__detail-item strong{overflow-wrap:anywhere;grid-column:2;font-size:.94rem;line-height:1.35;display:block}.student-record-card__action-block{padding-bottom:0}.student-record-card__action-row--end{justify-content:flex-end;padding-top:.25rem}.student-record-card__action-row{justify-content:space-between;align-items:center;gap:1rem;padding:.15rem 0 0;display:flex}.student-record-card__action-row h4{margin:0 0 .25rem}.student-record-card__open-button{flex:none}.student-record-card__open-button--right{margin-left:auto}:root[data-theme=light] .student-record-card__detail-item{background:#f8fafceb;border-color:#cbd5e1d1}:root[data-theme=light] .student-record-card__detail-icon{color:#2563eb;background:#2563eb14;border-color:#2563eb24}.admin-users-panel .record-card__identity h3,.admin-users-panel .record-glance strong,.admin-users-panel .record-card__detail-row strong{color:var(--foreground)!important}.admin-users-panel .record-card__summary-label,.admin-users-panel .record-glance span,.admin-users-panel .record-card__detail-block h4,.admin-users-panel .record-card__detail-row span{color:var(--muted-foreground)!important}.admin-users-panel .record-card__summary,.admin-users-panel .record-card__summary *{color:inherit}.admin-users-panel .record-card__summary .record-card__summary-label,.admin-users-panel .record-card__summary .record-glance span{color:var(--muted-foreground)!important}.admin-users-panel .record-card__summary .record-card__identity h3,.admin-users-panel .record-card__summary .record-glance strong,.admin-users-panel .record-card__details .record-card__detail-row strong{color:var(--foreground)!important}.admin-users-panel__control-button{justify-self:start;min-width:0}.admin-users-panel__control-button:hover{transform:translateY(-1px)}.admin-users-panel__control-button:disabled{transform:none}.admin-users-panel .stack-form{margin-bottom:1rem}.admin-record-card__summary{grid-template-columns:minmax(260px,1.1fr) minmax(320px,1fr) auto;gap:1.2rem;padding:1.05rem 1.15rem}.admin-record-card__identity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;display:grid}.admin-record-card__title .record-card__summary-label{margin-bottom:.22rem;display:block}.admin-record-card__icon,.admin-record-card__panel-icon,.subject-record-card__icon,.subject-record-card__panel-icon{color:#7dd3fc;background:#38bdf81a;border:1px solid #38bdf824;border-radius:12px;place-items:center;width:2rem;height:2rem;display:grid}.admin-record-card__glance,.subject-record-card__glance{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-record-card__glance .record-glance,.subject-record-card__glance .record-glance{text-align:center}.admin-record-card__details,.subject-record-card__details{gap:.85rem}.admin-record-card__panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding-top:.55rem;display:grid}.admin-record-card__panel,.subject-record-card__panel{background:#ffffff09;border:1px solid #ffffff0f;border-radius:16px;grid-template-columns:auto 1fr;align-items:start;gap:.75rem;min-width:0;padding:.95rem;display:grid}.admin-record-card__panel--action{grid-template-columns:auto 1fr auto;align-items:center}.admin-record-card__panel strong,.subject-record-card__panel strong{overflow-wrap:anywhere;margin-top:.2rem;font-size:.94rem;line-height:1.3;display:block}.subject-record-card__panel small{color:var(--muted-foreground);margin-top:.28rem;font-size:.78rem;line-height:1.45;display:block}.subject-record-card__summary{grid-template-columns:minmax(280px,1.15fr) minmax(320px,1fr) auto;gap:1.2rem;padding:1.05rem 1.15rem}.subject-record-card__identity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;display:grid}.subject-record-card__panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:.35rem;display:grid}.assessment-panel{gap:1rem;display:grid}.assessment-calendar,.assessment-calendar__months,.assessment-calendar__month{min-width:0}.assessment-calendar__month-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.assessment-calendar__month-header h3{text-transform:capitalize;margin:0;font-size:1.15rem;line-height:1.2}.assessment-calendar__month-nav{flex:none;align-items:center;gap:.65rem;display:flex}.assessment-calendar__month-counter{color:var(--muted-foreground);white-space:nowrap;font-size:.82rem}.assessment-calendar__weekdays,.assessment-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.assessment-calendar__weekdays{gap:.45rem;margin-bottom:.45rem}.assessment-calendar__weekdays span{color:var(--muted-foreground);letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:800}.assessment-calendar__grid{gap:.45rem}.assessment-calendar__cell{background:#ffffff08;border:1px solid #ffffff0f;border-radius:14px;flex-direction:column;gap:.55rem;min-width:0;min-height:118px;padding:.7rem;display:flex}.assessment-calendar__cell--blank{background:0 0;border-color:#0000}.assessment-calendar__cell--active{background:#38bdf812;border-color:#38bdf82e}.assessment-calendar__cell-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.assessment-calendar__cell-day{font-size:.82rem;font-weight:800}.assessment-calendar__cell-count{min-width:1.35rem;height:1.35rem;color:var(--foreground);background:#38bdf82e;border-radius:999px;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:inline-flex}.assessment-calendar__events{flex-direction:column;gap:.4rem;min-width:0;display:flex}.assessment-calendar__entry{width:100%;min-width:0;color:var(--foreground);text-align:left;background:#ffffff0f;border:1px solid #ffffff12;border-radius:10px;padding:.45rem .5rem}.assessment-calendar__entry:hover{background:#38bdf81f;border-color:#38bdf838}.assessment-calendar__entry-time,.assessment-calendar__entry-title,.assessment-calendar__cell-empty{display:block}.assessment-calendar__entry-time{color:var(--muted-foreground);font-size:.68rem;font-weight:800}.assessment-calendar__entry-title{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.76rem;font-weight:700;line-height:1.25;overflow:hidden}.assessment-calendar__cell-empty{color:var(--muted-foreground);margin-top:auto;font-size:.72rem}.assessment-calendar__stats{margin-top:0}:root[data-theme=light] .admin-record-card__icon,:root[data-theme=light] .admin-record-card__panel-icon,:root[data-theme=light] .subject-record-card__icon,:root[data-theme=light] .subject-record-card__panel-icon{color:#2563eb;background:#2563eb14;border-color:#2563eb24}:root[data-theme=light] .admin-record-card__panel,:root[data-theme=light] .subject-record-card__panel,:root[data-theme=light] .assessment-calendar__cell{background:#f8fafceb;border-color:#cbd5e1c7}:root[data-theme=light] .assessment-calendar__cell--blank{background:0 0;border-color:#0000}:root[data-theme=light] .assessment-calendar__cell--active{background:#2563eb14;border-color:#2563eb29}:root[data-theme=light] .assessment-calendar__entry{background:#ffffffdb;border-color:#cbd5e1d1}@media (width<=960px){.record-card__details{grid-template-columns:1fr}.record-card__summary{grid-template-columns:1fr;align-items:start}.student-record-card__summary{grid-template-columns:1fr;gap:.85rem}.record-card__glance{justify-content:flex-start}.student-record-card__glance{justify-items:start}.student-record-card__glance-item{text-align:left;max-width:none}.student-record-card__detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-record-card__action-row,.admin-record-card__summary,.subject-record-card__summary,.institutional-date-card__summary,.institutional-room-summary,.admin-record-card__panel-grid,.subject-record-card__panel-grid{grid-template-columns:1fr}.assessment-calendar__cell{min-height:104px;padding:.55rem}.institutional-schedule-table{overflow-x:auto}.institutional-schedule-table__head,.institutional-schedule-table__row{min-width:760px}.student-record-card__flat-row,.student-record-card__flat-row--subject{grid-template-columns:1fr}.student-record-card__flat-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.record-card__summary{gap:.9rem;padding:1rem}.record-card__glance{grid-template-columns:1fr;gap:.4rem}.record-card__detail-row{grid-template-columns:1fr;gap:.3rem}.record-card__detail-meta{text-align:left}.record-card[open] .record-card__details{padding:.95rem 1rem 1rem}.admin-record-card__identity{grid-template-columns:1fr}.record-card__meta{align-items:flex-start;min-width:0}.student-record-card__detail-grid{grid-template-columns:1fr}.student-record-card__detail-item--wide{grid-column:auto}.assessment-calendar__month-header{flex-direction:column;align-items:flex-start}.assessment-calendar__weekdays,.assessment-calendar__grid{min-width:680px}.assessment-calendar__month{padding-bottom:.25rem;overflow-x:auto}.institutional-upload,.institutional-review-actions,.institutional-building__header,.curricula-toolbar{flex-direction:column;align-items:stretch}.curricula-toolbar{justify-content:stretch}.curricula-toolbar .institutional-menu,.institutional-file-picker{width:100%}.student-record-card__flat-stats,.student-record-card__assessment-item{grid-template-columns:1fr}}.overview-stack{flex-direction:column;gap:1rem;display:flex}.insight-banner{background:#ffffff08;border-radius:18px;padding:.95rem 1rem;box-shadow:0 10px 24px #02061724}.insight-banner strong{font-size:1rem;display:block}.insight-banner p{color:var(--muted-foreground);margin:.35rem 0 0}.overview-board{flex-direction:column;gap:1rem;display:flex}.summary-grid{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.summary-grid--equal{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{background:#0c1626c7;border:1px solid #ffffff12;border-radius:18px;padding:.95rem 1rem;position:relative;overflow:visible;box-shadow:0 10px 26px #0206172e}.summary-card--highlight{background:linear-gradient(135deg,#2258a02e,#0e74901f),#0c1626d1}.summary-card__label{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.65rem;font-size:.76rem;font-weight:800;display:inline-block}.summary-card__icon{width:1.85rem;height:1.85rem;color:var(--primary);background:#ffffff0d;border-radius:10px;place-items:center;display:grid}.summary-card__label-row{align-items:baseline;gap:.45rem;width:auto;margin-top:.85rem;display:inline-flex}.summary-card__label-row .info-hint{align-self:center;transform:translateY(1px)}.summary-card__label-row span{margin-top:0;line-height:1.25}.summary-card__label-row .info-hint__icon{background:#ffffff0d;border-color:#ffffff14;width:14px;height:14px}.summary-card__label-row .info-hint__tooltip{width:min(220px,100vw - 40px);inset:auto auto calc(100% + 8px) 0}.summary-card:hover,.summary-card:focus-within,.section-card:hover,.section-card:focus-within{z-index:12}.summary-card strong{margin-top:.2rem;font-size:1.5rem;display:block}.summary-card p{color:var(--muted-foreground);margin:.45rem 0 0}:root[data-theme=light] .summary-card,:root[data-theme=light] .section-card,:root[data-theme=light] .quick-stat{background:#fffffff0;border-color:#cbd5e1d1;box-shadow:0 12px 24px #0f172a14}:root[data-theme=light] .summary-card__icon{color:var(--primary);background:#2563eb14}:root[data-theme=light] .summary-card__label-row .info-hint__icon{background:#2563eb14;border-color:#2563eb29}.overview-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.overview-home-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:1rem;display:grid}.overview-home-grid--single{grid-template-columns:1fr}.overview-home-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-card .section-card__body{min-height:0}.overview-card--tall .section-card__body{min-height:320px}.overview-card--medium .section-card__body{min-height:260px}.overview-empty-copy{width:100%;color:var(--muted-foreground);text-align:center;align-self:center;margin:auto 0;font-size:.9rem;line-height:1.5}.content-card__header{margin-bottom:.9rem}.content-card__header h3{margin:0;font-size:1.28rem;line-height:1.2}.content-card__header p{color:var(--muted-foreground);margin:.3rem 0 0;font-size:.84rem;line-height:1.45}.line-chart-card{flex-direction:column;gap:1rem;min-width:0;min-height:320px;display:flex}.line-chart-card__head strong{font-size:2rem;line-height:1;display:block}.line-chart-card__head span{color:var(--muted-foreground);font-size:.9rem}.line-chart-card__svg{width:100%;height:240px;display:block}.line-chart-card__labels{grid-template-columns:repeat(auto-fit,minmax(36px,1fr));gap:.5rem;min-width:0;display:grid}.line-chart-card__labels span{color:var(--muted-foreground);text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.donut-card{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:1.25rem;width:100%;min-height:320px;padding-top:1rem;padding-bottom:.35rem;display:flex}.donut-card__chart{aspect-ratio:1;border-radius:999px;place-items:center;width:min(100%,240px);display:grid}.donut-card__center{aspect-ratio:1;background:var(--panel-solid);text-align:center;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.38rem;width:66%;display:flex}.donut-card__center strong{font-size:2rem;line-height:.95;display:block}.donut-card__center span{color:var(--muted-foreground);margin-top:.12rem;font-size:.82rem;line-height:1}.donut-card__legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;max-width:420px;margin-top:auto;padding-top:.35rem;display:grid}.donut-card__legend div,.risk-distribution__legend div{background:#ffffff08;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.8rem .9rem;display:grid}.donut-card__legend label,.risk-distribution__legend label{color:var(--muted-foreground)}.dot{border-radius:999px;width:10px;height:10px;display:inline-block}.dot--primary{background:#38bdf8}.dot--muted{background:#94a3b8}.dot--danger{background:#f87171}.dot--warn{background:#f59e0b}.dot--success{background:#14b8a6}.subject-bars{flex-direction:column;justify-content:center;gap:.85rem;min-height:220px;display:flex}.subject-bars__row{flex-direction:column;gap:.45rem;display:flex}.subject-bars__meta{justify-content:space-between;align-items:center;gap:1rem;display:flex}.subject-bars__meta span{color:var(--muted-foreground);font-size:.82rem}.subject-bars__track{background:#ffffff0f;border-radius:999px;height:10px;overflow:hidden}.subject-bars__fill{background:linear-gradient(90deg,#60a5fa 0%,#38bdf8 100%);border-radius:999px;height:100%}.risk-distribution{flex-direction:column;justify-content:center;gap:1rem;min-height:220px;display:flex}.risk-distribution__track{background:#ffffff0d;border-radius:999px;height:16px;display:flex;overflow:hidden}.risk-distribution__fill{height:100%}.risk-distribution__fill--high{background:#f87171}.risk-distribution__fill--medium{background:#f59e0b}.risk-distribution__fill--low{background:#14b8a6}.risk-distribution__legend{flex-direction:column;gap:.7rem;display:flex}.highlight-note{background:#0c1626c7;border:1px solid #ffffff12;border-radius:18px;padding:1rem}.highlight-note strong{font-size:1rem;display:block}.highlight-note p{color:var(--muted-foreground);margin:.45rem 0 0}:root[data-theme=light] .highlight-note{background:#fffffff0;border-color:#cbd5e1d1}.overview-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.quick-stat{background:#0c1626c7;border:1px solid #ffffff12;border-radius:16px;flex-direction:column;justify-content:space-between;gap:.55rem;min-height:120px;padding:.95rem 1rem;display:flex}.quick-stat span{color:var(--muted-foreground);font-size:.86rem;line-height:1.35}.quick-stat strong{font-size:1.35rem;line-height:1}.overview-risk-card,.overview-assessments-card{min-height:260px}.student-details-page{flex-direction:column;gap:1rem;display:flex}.student-details-section-header p{color:var(--muted-foreground);margin:.3rem 0 0}.student-details-section{flex-direction:column;gap:.9rem;display:flex}.student-details-section-header h4{margin:0;font-size:1rem}.student-details-tab-row.security-panel__nav{margin-bottom:.15rem}.student-details-overview .summary-grid{margin-top:0;margin-bottom:.6rem}.student-details-overview .overview-card{border-color:#ffffff12;box-shadow:0 10px 26px #0206172e}.student-details-overview .overview-card .section-card__body{min-height:0}.student-details-data-section .section-card__body{min-height:260px}.student-details-data-grid{flex-direction:column;flex:1;gap:.7rem;min-height:0;display:flex}.quick-stat.student-details-data-card{background:#0c1626c7;border:1px solid #ffffff12;flex:1;justify-content:space-between;align-items:flex-start;gap:.6rem;min-height:0;padding:1rem;box-shadow:0 10px 26px #0206172e}.quick-stat.student-details-data-card>span{color:var(--muted-foreground);margin-top:.05rem;margin-bottom:0;font-size:.8rem;line-height:1.2;display:block}.student-details-data-card strong{font-size:1.15rem;line-height:1.15;display:block}:root[data-theme=light] .quick-stat.student-details-data-card{background:#fffffff0;border-color:#cbd5e1d1;box-shadow:0 12px 24px #0f172a14}.student-details-usage-row .section-card__body{min-height:0}.student-details-usage-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.student-details-usage-grid .quick-stat{border-color:#ffffff12;min-height:92px;padding:.85rem .95rem}:root[data-theme=light] .student-details-overview .overview-card{border-color:#cbd5e1d1;box-shadow:0 12px 24px #0f172a14}:root[data-theme=light] .student-course-card{background:#fffffff0;border-color:#cbd5e1d1;box-shadow:0 12px 24px #0f172a14}:root[data-theme=light] .student-course-card__code{color:#1d4ed8;background:#2563eb14;border-color:#2563eb24}:root[data-theme=light] .student-course-card__title-icon{color:#2563eb;background:#2563eb14;border-color:#2563eb24}:root[data-theme=light] .student-course-card__toggle{background:#2563eb0f;border-color:#cbd5e1d1}:root[data-theme=light] .student-course-card__overview,:root[data-theme=light] .student-course-card__assessments{background:#f8fafceb;border-color:#cbd5e1c7}:root[data-theme=light] .student-course-card__assessment-date{background:#ffffffe6;border-color:#cbd5e1c7}:root[data-theme=light] .student-course-card__score{color:#0f766e}:root[data-theme=light] .student-course-card__score--empty{color:#475569}:root[data-theme=light] .student-course-card__risk--safe{color:#0f766e}:root[data-theme=light] .student-course-card__risk--warn{color:#b45309}:root[data-theme=light] .student-course-card__risk--danger{color:#b91c1c}:root[data-theme=light] .student-course-card__risk--neutral{color:#475569}:root[data-theme=light] .student-details-usage-grid .quick-stat{border-color:#cbd5e1d1}.student-details-list{flex-direction:column;gap:.8rem;display:flex}.student-details-list--subjects,.student-details-list--devices{margin-top:.1rem}.student-course-list{flex-direction:column;gap:.9rem;display:flex}.student-course-card{background:#0c1626c7;border:1px solid #ffffff12;border-radius:18px;padding:1rem 1.05rem;box-shadow:0 10px 26px #0206172e}.student-course-card__header{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1.15fr) minmax(420px,1fr);align-items:center;gap:.85rem;padding:0;display:grid}.student-course-card__identity{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;min-width:0;display:grid}.student-course-card__title-block{min-width:0}.student-course-card__title-row{flex-wrap:wrap;align-items:center;gap:.55rem;min-width:0;display:flex}.student-course-card__title-block strong{min-width:0;font-size:1.04rem;line-height:1.2;display:block}.student-course-card__title-icon{color:#93c5fd;background:#2563eb1f;border:1px solid #2563eb29;border-radius:12px;flex:none;place-items:center;width:2rem;height:2rem;display:inline-grid}.student-course-card__title-block span{color:var(--muted-foreground);margin-top:.22rem;font-size:.82rem;display:block}.student-course-card__code{color:#bfdbfe;letter-spacing:.04em;background:#2563eb24;border:1px solid #2563eb2e;border-radius:999px;align-items:center;width:fit-content;min-height:1.85rem;padding:.25rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.student-course-card__glance{grid-template-columns:repeat(4,minmax(0,1fr)) auto auto;align-items:center;gap:.7rem;display:grid}.student-course-card__glance-item{text-align:center;min-width:0}.student-course-card__glance-item span{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;display:block}.student-course-card__glance-item strong{margin-top:.28rem;font-size:.9rem;line-height:1.18;display:block}.student-course-card__risk{border-radius:999px;justify-content:center;align-items:center;min-height:1.9rem;padding:.3rem .75rem;font-size:.76rem;font-weight:700;display:inline-flex}.student-course-card__risk--safe{color:#99f6e4;background:#14b8a61f;border:1px solid #14b8a62e}.student-course-card__risk--warn{color:#fde68a;background:#f59e0b24;border:1px solid #f59e0b38}.student-course-card__risk--danger{color:#fecaca;background:#ef444424;border:1px solid #ef444438}.student-course-card__risk--neutral{color:#cbd5e1;background:#94a3b824;border:1px solid #94a3b82e}.student-course-card__toggle{width:1.95rem;height:1.95rem;color:var(--muted-foreground);background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;place-items:center;transition:transform .18s;display:inline-grid}.student-course-card__toggle--open{transform:rotate(180deg)}.student-course-card__summary{border-top:1px solid #ffffff12;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.85rem;padding-top:.85rem;display:grid}.student-course-card__summary-cell span{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;display:block}.student-course-card__summary-cell strong{margin-top:.3rem;font-size:.92rem;line-height:1.18;display:block}.student-course-card__body{grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr);gap:.9rem;margin-top:.9rem;display:grid}.student-course-card__overview,.student-course-card__assessments{background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;min-width:0;padding:.95rem 1rem}.student-course-card__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.student-course-card__stat span{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;display:block}.student-course-card__stat strong{margin-top:.3rem;font-size:.95rem;display:block}.student-course-card__progress{margin-top:.9rem}.student-course-card__progress-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.student-course-card__progress-head span,.student-course-card__section-title{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;display:block}.student-course-card__progress-track{background:#ffffff0f;border-radius:999px;height:12px;margin-top:.7rem;overflow:hidden}.student-course-card__progress-fill{border-radius:999px;height:100%}.student-course-card__progress-fill--safe{background:linear-gradient(90deg,#14b8a6,#2dd4bf)}.student-course-card__progress-fill--warn{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.student-course-card__progress-fill--danger{background:linear-gradient(90deg,#f97316,#ef4444)}.student-course-card__progress-fill--neutral{background:linear-gradient(90deg,#64748b,#94a3b8)}.student-course-card__progress-note{color:var(--muted-foreground);margin:.55rem 0 0;font-size:.84rem;line-height:1.45}.student-course-card__section-title{margin-bottom:.45rem}.student-course-card__assessment-list{flex-direction:column;gap:0;margin-top:.35rem;display:flex}.student-course-card__assessment{border-top:1px dashed #ffffff14;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem 0;display:grid}.student-course-card__assessment:first-child{border-top:0;padding-top:0}.student-course-card__assessment-date{min-width:3rem;color:var(--muted-foreground);font-size:.76rem;font-weight:700}.student-course-card__assessment-copy span{color:var(--foreground);font-size:.84rem;font-weight:600;line-height:1.3;display:block}.student-course-card__assessment-meta{flex-wrap:wrap;gap:.3rem .45rem;margin-top:.18rem;display:flex}.student-course-card__assessment-meta small{min-height:1.35rem;color:var(--muted-foreground);letter-spacing:.03em;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:999px;align-items:center;padding:.12rem .44rem;font-size:.66rem;font-weight:700;display:inline-flex}.student-course-card__assessment-state--done{color:#99f6e4;background:#14b8a61f;border-color:#14b8a62e}.student-course-card__assessment-state--pending{color:#fde68a;background:#f59e0b1f;border-color:#f59e0b2e}.student-course-card__assessment-result{flex-direction:column;align-items:flex-end;display:flex}.student-course-card__score{color:#99f6e4;background:#14b8a61f;border:1px solid #14b8a62e;border-radius:999px;justify-content:center;align-items:center;min-width:4.7rem;min-height:1.8rem;padding:.16rem .65rem;font-size:.82rem;display:inline-flex}.student-course-card__score--empty{color:#cbd5e1;background:#94a3b81f;border-color:#94a3b82e}.student-course-card__empty-note{font-size:.9rem;display:block}.student-details-row{background:#ffffff08;border:1px solid #ffffff0f;border-radius:18px;grid-template-columns:minmax(220px,1.2fr) minmax(280px,1fr);gap:1rem;padding:1rem;display:grid}.student-details-row__main,.student-details-row__notes{min-width:0}.student-details-row__main strong{font-size:1.02rem;line-height:1.28;display:block}.student-details-row__main span{color:var(--muted-foreground);margin-top:.35rem;font-size:.82rem;display:block}.student-details-row__meta span{color:var(--muted-foreground);font-size:.8rem;line-height:1.4;display:block}.student-details-row__meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.student-details-row__meta>div{text-align:center}.student-details-row__meta strong{margin-top:.25rem;font-size:.86rem;line-height:1.35;display:block}.student-details-empty{color:var(--muted-foreground);background:#ffffff08;border:1px dashed #ffffff14;border-radius:18px;padding:1rem}:root[data-theme=light] .student-details-row,:root[data-theme=light] .student-details-empty{background:#ffffffdb;border-color:#cbd5e1c7}.assessment-details-page{flex-direction:column;gap:1rem;display:flex}.assessment-details-grid{align-items:stretch}.assessment-details-kv{flex-direction:column;gap:.2rem;display:flex}.assessment-details-kv__row{border-bottom:1px dashed #ffffff14;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.72rem 0;display:grid}.assessment-details-kv__row:last-child{border-bottom:0;padding-bottom:0}.assessment-details-kv__row span{color:var(--muted-foreground);font-size:.82rem;line-height:1.4}.assessment-details-kv__row strong{text-align:right;font-size:.92rem;line-height:1.3}:root[data-theme=light] .assessment-details-kv__row{border-bottom-color:#cbd5e1d1}@media (width<=960px){.student-course-card__header{grid-template-columns:1fr}.student-course-card__glance{grid-template-columns:repeat(3,minmax(0,1fr))}.student-details-row,.student-course-card__body{grid-template-columns:1fr}.student-details-row__meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.student-course-card__glance,.student-course-card__summary,.student-course-card__stats,.student-details-row__meta{grid-template-columns:1fr}}@media (width<=860px){.assessment-details-kv__row{grid-template-columns:1fr}.assessment-details-kv__row strong{text-align:left}}
