/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:"Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.flex-shrink,.shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-all{-webkit-user-select:all;user-select:all}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}:root{color-scheme:light;--modal-frame-inset-x: clamp(1.125rem, 6vw, 2rem);--modal-frame-inset-top: clamp(1.75rem, 9vh, 3.25rem);--modal-frame-inset-bottom: var(--modal-frame-inset-top);--modal-safe-top: max(var(--modal-frame-inset-top), env(safe-area-inset-top, 0px));--modal-safe-right: max(var(--modal-frame-inset-x), env(safe-area-inset-right, 0px));--modal-safe-bottom: max(var(--modal-frame-inset-top), env(safe-area-inset-bottom, 0px));--modal-safe-left: max(var(--modal-frame-inset-x), env(safe-area-inset-left, 0px));--bg: #f1f5f9;--bg-elevated: #ffffff;--surface: #ffffff;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--text-secondary: #475569;--muted: #64748b;--accent: #0369a1;--accent-soft: #e0f2fe;--accent-hover: #075985;--danger: #b91c1c;--danger-bg: #fef2f2;--ok: #047857;--ok-bg: #ecfdf5;--warn-bg: #fffbeb;--shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 4px 12px rgba(15, 23, 42, .04);--shadow-card: 0 4px 24px rgba(15, 23, 42, .06);--radius: 14px;--radius-sm: 10px;--admin-nav-text: #292524;--admin-nav-text-muted: #78716c;--admin-nav-hover: #fdf6e3;--admin-nav-active-bg: #fcf0d4;--admin-nav-active-text: #1c1917;--admin-nav-active-border: #c9a227;--admin-nav-panel-bg: #fdf6e3;--admin-nav-panel-border: rgba(180, 140, 40, .14);--admin-nav-panel-shadow: 0 22px 44px rgba(120, 90, 30, .14), 0 8px 18px rgba(120, 90, 30, .09), 0 2px 4px rgba(28, 25, 23, .05);--admin-nav-elev-hover: 0 10px 22px rgba(120, 90, 30, .13), 0 4px 10px rgba(120, 90, 30, .08);--admin-nav-elev-active: 0 14px 28px rgba(120, 90, 30, .16), 0 6px 14px rgba(120, 90, 30, .09), 0 0 0 1px rgba(255, 248, 220, .8) inset;--admin-nav-item-radius: 12px;--admin-nav-rail-bg: linear-gradient(180deg, #f8efd4 0%, #edd9a0 100%);--admin-nav-rail-border: rgba(180, 140, 40, .22);--admin-nav-root-edu: #0f766e;--admin-nav-root-criteria: #b91c1c;--admin-nav-root-setting: #92400e;--admin-nav-grade-mam-non: #be123c;--admin-nav-grade-tieu-hoc: #047857;--admin-nav-grade-thcs: #1d4ed8;--admin-nav-grade-thpt: #6d28d9;--book-paper: #fdf8ec;--book-paper-warm: #faf0d4;--gold-cup-accent: #d4af37;--gold-cup-deep: #b8860b;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;line-height:1.5;font-size:14.5px}@media (min-width: 1440px){:root{font-size:15.5px}}@media (min-width: 1680px){:root{font-size:16px}}@media (min-width: 1920px){:root{font-size:16.5px}}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(165deg,#e2e8f0,#f8fafc 38%,#f1f5f9);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}.admin-app{min-height:100vh}.app-shell{max-width:1680px;margin:0 auto;padding:1.5rem 1.25rem 4rem}@media (min-width: 1920px){.app-shell{max-width:1840px}}@media (max-width: 1280px){.app-shell{padding-left:1rem;padding-right:1rem}}@media (max-width: 960px){.app-shell{padding:1.1rem .85rem 3rem}}@media (max-width: 720px){.app-shell{padding:.95rem .7rem 2.65rem}}.admin-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}.admin-topbar__brand{display:flex;flex-direction:column;gap:.2rem}.admin-topbar__title{font-size:1.2rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.admin-topbar__subtitle{font-size:.82rem;color:var(--muted)}.admin-topbar__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:.95rem;box-shadow:var(--shadow-card)}@media (min-width: 1440px){.card{padding:1.15rem 1.35rem}}@media (min-width: 1680px){.card{padding:1.25rem 1.5rem}}@media (max-width: 720px){.card{padding:.85rem;border-radius:12px}.card h1,.card h2,.card .card__title{font-size:1rem;margin-bottom:.55rem;letter-spacing:.03em}.card__lead{font-size:.88rem}}.card h1,.card h2,.card .card__title{margin:0 0 .65rem;font-size:1.1rem;font-weight:700;color:var(--text);letter-spacing:.04em;text-transform:uppercase}@media (min-width: 1440px){.card h1,.card h2,.card .card__title{font-size:1.15rem}}@media (min-width: 1680px){.card h1,.card h2,.card .card__title{font-size:1.2rem}}.card__lead{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary);line-height:1.55}.row{display:flex;flex-wrap:wrap;gap:.6rem .85rem;align-items:center}@media (max-width: 960px){.row{gap:.5rem .7rem}}@media (max-width: 720px){.row{gap:.45rem .6rem}}@media (min-width: 1440px){.row{gap:.75rem 1rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);font-weight:500;font-size:.88rem;transition:background .15s,border-color .15s,box-shadow .15s}.btn:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn-ghost{background:transparent;border-color:transparent;color:var(--accent)}.btn-ghost:hover:not(:disabled){background:var(--accent-soft)}.btn--sm{padding:.28rem .55rem;font-size:.76rem;min-height:1.75rem}.btn-google{background:#fff;border:1px solid var(--border-strong);color:#334155;width:100%;justify-content:center;padding:.65rem 1rem}.btn-google:hover:not(:disabled){background:#f8fafc;box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}.field label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.field input{padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#fff;color:var(--text)}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border)}.table-wrap>table.table--auto-col,.table-wrap table.table--auto-col{width:max-content;min-width:100%;max-width:none;table-layout:auto}.table-wrap table.table--auto-col th,.table-wrap table.table--auto-col td{white-space:nowrap}.table-wrap table.table--auto-col .input-inline,.table-wrap table.table--auto-col .select-control{width:100%;min-width:0;max-width:none;min-width:9rem}.table-wrap table.table--auto-col th.dash-col-gmail,.table-wrap table.table--auto-col td.dash-col-gmail{width:1%;min-width:0;max-width:none}.table-wrap table.table--auto-col .dash-email-input-wrap{display:inline-block;width:calc(var(--dash-gmail-ch, 18) * 1.08ch + 4rem);max-width:none;min-width:0;vertical-align:middle}.table-wrap table.table--auto-col .dash-email-combo-input{display:block;width:100%;max-width:none;min-width:0}.th-dash-actions{min-width:11rem}.dash-table-wrap table{min-width:100%}.dash-table-wrap .input-inline,.dash-table-wrap .select-control{width:100%;max-width:none;min-width:0}@media (min-width: 1200px){.dash-table-wrap table{table-layout:auto}}.dash-table-wrap .dash-email-input-wrap,.dash-table-wrap .dash-email-input-wrap .dash-email-combo-input{max-width:none;width:100%}.dash-table-wrap .dash-email-input-wrap .dash-email-combo-input{min-width:0}table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}th,td{border-bottom:1px solid var(--border);padding:.65rem .75rem;text-align:left;vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc}@media (max-width: 960px){table{font-size:.86rem}th,td{padding:.55rem .6rem}}@media (max-width: 720px){table{font-size:.84rem}th,td{padding:.5rem .55rem}th{font-size:.7rem}}@media (min-width: 1440px){table{font-size:.95rem}th,td{padding:.7rem .8rem}}@media (min-width: 1680px){table{font-size:.98rem}th,td{padding:.75rem .9rem}}tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fafbfc}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#f1f5f9;border:1px solid var(--border);color:var(--text-secondary)}.badge-ok{background:var(--ok-bg);border-color:#a7f3d0;color:var(--ok)}.badge-off{background:#f8fafc;color:var(--muted)}.badge-role{background:var(--accent-soft);border-color:#bae6fd;color:var(--accent-hover)}.err{color:var(--danger);font-size:.88rem;padding:.65rem .85rem;background:var(--danger-bg);border-radius:var(--radius-sm);border:1px solid #fecaca}.ok{color:var(--ok);font-size:.88rem;padding:.65rem .85rem;background:var(--ok-bg);border-radius:var(--radius-sm);border:1px solid #a7f3d0}.callout{padding:1rem 1.15rem;border-radius:var(--radius-sm);border:1px solid #fde68a;background:var(--warn-bg);font-size:.88rem;color:#854d0e;line-height:1.55;margin-bottom:1rem}.callout strong{color:#713f12}.callout--info{border-color:#bae6fd;background:var(--accent-soft);color:var(--accent-hover)}.callout--info strong{color:#0c4a6e}.view-only-badge{display:inline-flex;align-items:center;gap:.3rem;margin-left:.55rem;padding:.12rem .45rem;border-radius:999px;border:1px solid #fcd34d;background:#fef3c7a6;color:#92400e;font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:none;vertical-align:middle;white-space:nowrap;cursor:help}.view-only-badge i{font-size:.62rem;opacity:.85}.participant-unified-toolbar .view-only-badge,.thcs-report-command-bar__title .view-only-badge{margin-left:0}.thcs-page-toolbar .view-only-badge{margin-left:auto;flex-shrink:0}.year-block{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px dashed var(--border)}.year-block__head{margin-bottom:.45rem}.dash-year-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;width:100%;justify-content:flex-start}.dash-year-toolbar .field-inline{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.4rem .5rem;flex:0 1 auto;min-width:0;max-width:min(100%,20rem);font-size:.72rem}.dash-year-toolbar .field-inline>span{flex:0 0 auto;margin:0;white-space:nowrap}.dash-year-toolbar .field-inline .input-inline{min-width:0;flex:1 1 6rem;max-width:14rem}.dash-year-toolbar .btn{flex:0 0 auto;align-self:center}.dash-year-toolbar--add-block{margin-bottom:.65rem}.admin-nav-perm-panel{margin:.75rem 0 1rem;padding:.75rem .85rem;border:1px solid var(--border, #d8e2f0);border-radius:10px;background:var(--surface-elevated, #f8fafc);max-height:min(52vh,28rem);overflow:auto}.admin-nav-perm-panel__title{font-size:.78rem;font-weight:700;color:var(--accent, #1e40af);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem}.admin-nav-perm-panel__target{font-size:.8rem;color:var(--muted, #64748b);margin:0 0 .55rem}.admin-nav-perm-tree{font-size:.8rem}.admin-nav-perm-tree__head,.admin-nav-perm-tree__row{display:grid;grid-template-columns:minmax(12rem,1fr) 4.5rem 8.5rem;gap:0;align-items:stretch}.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row{grid-template-columns:minmax(10rem,1fr) 3.25rem 3.5rem 3.5rem}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--with-portal .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--with-portal .admin-nav-perm-tree__row{grid-template-columns:minmax(9rem,1fr) 3.25rem 3.5rem 3.5rem 3.5rem}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--compact .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--compact .admin-nav-perm-tree__row{grid-template-columns:minmax(8rem,1fr) 3.1rem 3.35rem 3.35rem}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--compact.admin-nav-perm-tree--with-portal .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--compact.admin-nav-perm-tree--with-portal .admin-nav-perm-tree__row{grid-template-columns:minmax(7.5rem,1fr) 3.1rem 3.35rem 3.35rem 3.35rem}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--compact.admin-nav-perm-tree--scope-lock .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--compact.admin-nav-perm-tree--scope-lock .admin-nav-perm-tree__row{grid-template-columns:minmax(9rem,1fr) 2.85rem 3.1rem 3.1rem 2.85rem}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--compact.admin-nav-perm-tree--scope-lock.admin-nav-perm-tree--scope-super .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--compact.admin-nav-perm-tree--scope-lock.admin-nav-perm-tree--scope-super .admin-nav-perm-tree__row{grid-template-columns:minmax(9rem,1fr) 2.85rem 3.1rem 3.1rem 2.85rem 3.25rem}.admin-nav-perm-tree--scope-lock .admin-nav-perm-tree__col-scope{font-weight:600;color:var(--accent, #1e40af);font-size:.68rem;text-transform:uppercase;text-align:center;justify-content:center;border-right:1px solid #d1d5db}.admin-nav-perm-tree--scope-lock .admin-nav-perm-tree__scope-cell{display:flex;align-items:center;justify-content:center;padding:.28rem .35rem;min-height:1.75rem;border-right:1px solid #d1d5db}.admin-nav-perm-tree--scope-lock .admin-nav-perm-tree__col-scope--pending{color:#b45309}.admin-nav-perm-tree--scope-lock .admin-nav-perm-tree__col-scope--active{color:#15803d}.admin-nav-perm-tree--scope-lock .admin-nav-perm-tree__col-scope--completed{color:#475569}.admin-nav-perm-tree--scope-lock .admin-nav-perm-tree__col-scope--locked{color:#b91c1c}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--with-portal{min-width:28.5rem}.admin-nav-perm-tree__head>span,.admin-nav-perm-tree__row>.admin-nav-perm-tree__label,.admin-nav-perm-tree__row>.admin-nav-perm-tree__access,.admin-nav-perm-tree__row>.admin-nav-perm-tree__mode,.admin-nav-perm-tree__row>.admin-nav-perm-tree__view,.admin-nav-perm-tree__row>.admin-nav-perm-tree__edit,.admin-nav-perm-tree__row>.admin-nav-perm-tree__startup{display:flex;align-items:center;padding:.32rem .55rem;min-height:2rem}.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head>span,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row>.admin-nav-perm-tree__label,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row>.admin-nav-perm-tree__access,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row>.admin-nav-perm-tree__view,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row>.admin-nav-perm-tree__edit,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row>.admin-nav-perm-tree__startup{padding:.28rem .35rem;min-height:1.75rem}.admin-nav-perm-tree__head .admin-nav-perm-tree__col-menu,.admin-nav-perm-tree__row>.admin-nav-perm-tree__label{border-right:1px solid #d1d5db}.admin-nav-perm-tree__label-inner{display:inline-flex;align-items:center;gap:.4rem;min-width:0;width:100%}.admin-nav-perm-tree__label-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-nav-perm-tree .admin-console__nav-index.admin-nav-perm-tree__index{min-width:1.85rem;min-height:1.85rem;padding:0 .34rem;font-size:.64rem;font-weight:900;flex-shrink:0}.admin-nav-perm-tree__head .admin-nav-perm-tree__col-access,.admin-nav-perm-tree__row>.admin-nav-perm-tree__access{border-right:1px solid #d1d5db;justify-content:center}.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head .admin-nav-perm-tree__col-view,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head .admin-nav-perm-tree__col-edit,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head .admin-nav-perm-tree__col-hide,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head .admin-nav-perm-tree__col-startup,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row>.admin-nav-perm-tree__view,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row>.admin-nav-perm-tree__edit,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row>.admin-nav-perm-tree__hide,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row>.admin-nav-perm-tree__startup{border-right:1px solid #d1d5db;justify-content:center}.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head .admin-nav-perm-tree__col-view,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head .admin-nav-perm-tree__col-edit,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head .admin-nav-perm-tree__col-hide,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head .admin-nav-perm-tree__col-startup,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head .admin-nav-perm-tree__col-access{font-weight:600;color:var(--accent, #1e40af);font-size:.68rem;text-transform:uppercase;text-align:center;padding-inline:.25rem;white-space:nowrap}.admin-nav-perm-tree__view,.admin-nav-perm-tree__edit,.admin-nav-perm-tree__hide,.admin-nav-perm-tree__startup{display:flex;align-items:center;justify-content:center;cursor:pointer}.admin-nav-perm-tree__perm--off{opacity:.4;pointer-events:none}.admin-nav-perm-tree__head{position:sticky;top:0;z-index:5;background:#fff;font-weight:600;color:var(--accent, #1e40af);font-size:.72rem;text-transform:uppercase;border-bottom:2px solid #cbd5e1;margin-top:0;margin-bottom:.25rem;box-shadow:0 4px 8px #0f172a12}.admin-nav-perm-tree__head>span{background:#fff}.admin-nav-perm-tree__section-title{font-weight:700;color:#334155;margin:.45rem 0 .15rem;font-size:.75rem}.admin-nav-perm-tree__row{cursor:pointer;transition:background-color .12s ease}.admin-nav-perm-tree__row--stripe-red{border-bottom:2px solid #fecaca}.admin-nav-perm-tree__row--stripe-black{border-bottom:2px solid #cbd5e1}.admin-nav-perm-tree__row--on{background:#3b82f60d}.admin-nav-perm-tree__row--on.admin-nav-perm-tree__row--focus{background:#bfdbfe8c}.admin-nav-perm-tree__row--focus{background:#fef9c3b8;box-shadow:inset 0 0 0 1.5px #3b82f659}.admin-nav-perm-tree__row--focus .admin-nav-perm-tree__label{font-weight:600;color:#1e3a8a}.admin-nav-perm-tree__row--all{font-weight:600}.admin-nav-perm-tree__access{justify-content:center}.admin-nav-perm-tree__mode{display:flex;gap:.65rem;flex-wrap:wrap}.admin-nav-perm-tree__mode label{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer}.admin-nav-perm-tree__mode--off{opacity:.45;pointer-events:none}.admin-nav-perm-tree__hint{margin:.55rem 0 0;font-size:.72rem;color:var(--muted, #64748b);line-height:1.4}.admin-nav-perm-tree__empty{margin:.5rem 0;padding:.65rem .75rem;font-size:.78rem;color:#64748b;line-height:1.45;border:1px dashed rgba(15,23,42,.12);border-radius:8px;background:#f8fafc}.admin-nav-perm-tree__empty--err{color:#b91c1c;border-color:#b91c1c33;background:#fef2f2}.admin-nav-perm-tree--compact .admin-nav-perm-tree__hint{display:none}.admin-nav-perm-tree--with-portal .admin-nav-perm-tree__head>.admin-nav-perm-tree__col-startup,.admin-nav-perm-tree--with-portal .admin-nav-perm-tree__row>.admin-nav-perm-tree__startup{border-right:none}.admin-nav-perm-tree--startup .admin-nav-perm-tree__head,.admin-nav-perm-tree--startup .admin-nav-perm-tree__row{grid-template-columns:minmax(0,1fr) 4.5rem}.admin-nav-perm-tree__head--with-save,.admin-nav-perm-tree--startup .admin-nav-perm-tree__head--with-save{grid-template-columns:minmax(0,1fr) 4.5rem auto}.admin-nav-perm-tree__head-save{display:flex;align-items:center;justify-content:flex-end;padding-right:.15rem}.admin-nav-perm-tree__head .admin-nav-perm-tree__col-startup,.admin-nav-perm-tree__row>.admin-nav-perm-tree__startup{justify-self:center;text-align:center}.admin-nav-perm-tree__startup{display:flex;align-items:center;justify-content:center}.admin-system-settings{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:0}.admin-system-settings__tree.grant-tree-panel{flex:1 1 auto;min-height:0;max-height:none;padding:0 .5rem .35rem}.admin-catalog--hub-fixed .admin-system-settings__tree{flex:1 1 auto;min-height:0;max-height:none;height:100%}.admin-catalog--hub-fixed .admin-system-settings__tree .admin-nav-perm-tree{min-height:100%;display:flex;flex-direction:column}.admin-catalog--hub-fixed .admin-system-settings__tree .admin-nav-perm-tree__hint{margin-top:auto;flex-shrink:0}.table-wrap--school-profile{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}#dash-schools.admin-ref-block,.admin-catalog--hub-fixed #dash-schools{display:flex;flex-direction:column;min-height:0;overflow:hidden}#dash-schools .school-table-query{flex-shrink:0}.admin-catalog--hub-fixed #dash-schools .table-wrap--school-profile{flex:1 1 auto;min-height:0}.admin-catalog--hub-fixed #dash-schools .table-wrap--school-profile thead th{position:sticky;top:0;z-index:2;background:#fff}#dash-wards.admin-ref-block,.admin-catalog--hub-fixed #dash-wards{display:flex;flex-direction:column;min-height:0;overflow:hidden}#dash-wards .school-table-query{flex-shrink:0}.admin-catalog--hub-fixed #dash-wards .table-wrap--school-profile{flex:1 1 auto;min-height:0}.admin-catalog--hub-fixed #dash-wards .table-wrap--school-profile thead th{position:sticky;top:0;z-index:2;background:#fff}#dash-audit.admin-ref-block,.admin-catalog--hub-fixed #dash-audit{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}#dash-guide.admin-ref-block,.admin-catalog--hub-fixed #dash-guide{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding:0;border:0;background:transparent}.project-guide{--guide-accent: #2563eb;--guide-accent-soft: #eff6ff;--guide-ink: #0f172a;--guide-muted: #64748b;--guide-surface: #ffffff;--guide-border: #e2e8f0;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;border-radius:1rem;overflow:hidden;border:1px solid rgb(148 163 184 / .28);background:#f1f5f9;box-shadow:0 4px 24px #0f172a0f}.project-guide__scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.project-guide__progress{position:sticky;top:0;z-index:5;height:3px;background:#e2e8f0e6}.project-guide__progress-bar{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#06b6d4);border-radius:0 2px 2px 0;transition:width .12s ease-out}.project-guide__hero{position:relative;color:var(--guide-ink);overflow:hidden;border-bottom:1px solid var(--guide-border)}.project-guide__hero-bg{position:absolute;inset:0;background:linear-gradient(165deg,#fff,#f8fafc,#eff6ff 70%,#e0f2fe)}.project-guide__hero-bg:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgb(148 163 184 / .06) 1px,transparent 1px),linear-gradient(90deg,rgb(148 163 184 / .06) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to bottom,rgb(0 0 0 / .5),transparent 85%)}.project-guide__hero-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 8%,rgb(59 130 246 / .12),transparent 38%),radial-gradient(circle at 8% 92%,rgb(6 182 212 / .08),transparent 42%);pointer-events:none}.project-guide__hero-inner{position:relative;z-index:1;padding:1.35rem 1.5rem}.project-guide__hero-top{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.project-guide__badge{display:inline-block;padding:.22rem .7rem;border-radius:999px;background:linear-gradient(135deg,#dbeafe,#e0f2fe);border:1px solid #93c5fd;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#1d4ed8}.project-guide__meta{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;color:var(--guide-muted)}.project-guide__hero-title{margin:.6rem 0 0;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:800;letter-spacing:-.025em;color:var(--guide-ink);line-height:1.2}.project-guide__hero-sub{margin:.3rem 0 0;font-size:.9rem;font-weight:600;color:#334155}.project-guide__hero-lead{margin:.65rem 0 0;max-width:54rem;font-size:.84rem;line-height:1.65;color:var(--guide-muted)}.project-guide__outcomes{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.5rem;margin-top:.85rem}.project-guide__outcome{display:flex;gap:.55rem;padding:.55rem .65rem;border-radius:.65rem;background:#ffffffe0;border:1px solid rgb(226 232 240 / .95)}.project-guide__outcome-icon{flex-shrink:0;width:1.85rem;height:1.85rem;display:grid;place-items:center;border-radius:.45rem;background:linear-gradient(145deg,#eff6ff,#dbeafe);color:#2563eb;font-size:.82rem}.project-guide__outcome strong{display:block;font-size:.78rem;color:var(--guide-ink)}.project-guide__outcome p{margin:.12rem 0 0;font-size:.7rem;line-height:1.4;color:var(--guide-muted)}.project-guide__stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.55rem;margin-top:1rem}.project-guide__stat{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;border-radius:.75rem;background:var(--guide-surface);border:1px solid var(--guide-border);box-shadow:0 1px 3px #0f172a0a;font-size:.68rem;color:var(--guide-muted)}.project-guide__stat-icon{flex-shrink:0;width:2rem;height:2rem;display:grid;place-items:center;border-radius:.55rem;font-size:.85rem}.project-guide__stat--blue .project-guide__stat-icon{background:#eff6ff;color:#2563eb}.project-guide__stat--rose .project-guide__stat-icon{background:#fff1f2;color:#e11d48}.project-guide__stat--emerald .project-guide__stat-icon{background:#ecfdf5;color:#059669}.project-guide__stat--violet .project-guide__stat-icon{background:#f5f3ff;color:#7c3aed}.project-guide__stat--sky .project-guide__stat-icon{background:#f0f9ff;color:#0284c7}.project-guide__stat--amber .project-guide__stat-icon{background:#fffbeb;color:#d97706}.project-guide__stat strong{display:block;font-size:1rem;font-weight:800;color:var(--guide-ink);line-height:1.2}.project-guide__principles{margin-top:1rem;padding:.85rem;border-radius:.85rem;background:#ffffffb8;border:1px solid rgb(226 232 240 / .9);backdrop-filter:blur(6px)}.project-guide__principles-label{display:flex;align-items:center;gap:.4rem;margin:0 0 .55rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#475569}.project-guide__principles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem}.project-guide__principle{display:flex;gap:.55rem;padding:.55rem .65rem;border-radius:.65rem;background:#fff;border:1px solid var(--guide-border)}.project-guide__principle-icon{flex-shrink:0;width:1.85rem;height:1.85rem;display:grid;place-items:center;border-radius:.45rem;font-size:.8rem}.project-guide__principle--blue .project-guide__principle-icon{background:#eff6ff;color:#2563eb}.project-guide__principle--indigo .project-guide__principle-icon{background:#eef2ff;color:#4f46e5}.project-guide__principle--emerald .project-guide__principle-icon{background:#ecfdf5;color:#059669}.project-guide__principle--amber .project-guide__principle-icon{background:#fffbeb;color:#d97706}.project-guide__principle strong{display:block;font-size:.78rem;color:var(--guide-ink);margin-bottom:.12rem}.project-guide__principle p{margin:0;font-size:.72rem;line-height:1.45;color:var(--guide-muted)}.project-guide__hero-actions{display:flex;flex-wrap:wrap;gap:.45rem}.project-guide__btn{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .75rem;border-radius:.55rem;border:1px solid var(--guide-border);background:#fff;color:#334155;font-size:.76rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.project-guide__btn:hover{background:#f8fafc;border-color:#cbd5e1;color:var(--guide-ink)}.project-guide__btn--primary{background:linear-gradient(135deg,#2563eb,#0284c7);border-color:#2563eb;color:#fff;box-shadow:0 2px 8px #2563eb40}.project-guide__btn--primary:hover{background:linear-gradient(135deg,#1d4ed8,#0369a1);color:#fff}.project-guide__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.85rem}.project-guide__search{display:flex;align-items:center;gap:.45rem;flex:1 1 14rem;min-width:min(100%,14rem);padding:.42rem .75rem;border-radius:.65rem;background:#fff;border:1px solid #cbd5e1;color:var(--guide-ink);box-shadow:0 1px 2px #0f172a0a}.project-guide__search:focus-within{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f61f}.project-guide__search i{color:#94a3b8}.project-guide__search input{flex:1;min-width:0;border:0;background:transparent;color:var(--guide-ink);font-size:.8rem;outline:none}.project-guide__search input::placeholder{color:#94a3b8}.project-guide__search-clear{border:0;background:transparent;color:#64748b;cursor:pointer;padding:.15rem}.project-guide__chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.project-guide__chip{padding:.22rem .6rem;border-radius:999px;border:1px solid #cbd5e1;background:#ffffffd9;color:#475569;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s}.project-guide__chip:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.project-guide__layout{display:grid;grid-template-columns:minmax(10rem,13rem) minmax(0,1fr);align-items:start;gap:0}.project-guide__nav{position:sticky;top:3px;z-index:2;display:flex;flex-direction:column;gap:.15rem;padding:.75rem .55rem;border-right:1px solid var(--guide-border);background:#fffffffa;backdrop-filter:blur(8px);max-height:calc(100dvh - 4rem);overflow-y:auto}.project-guide__nav-title{margin:0 0 .35rem .45rem;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.project-guide__nav-empty{margin:.35rem;font-size:.72rem;color:#64748b}.project-guide__nav-btn{display:flex;align-items:center;gap:.4rem;width:100%;padding:.42rem .5rem;border:0;border-radius:.55rem;background:transparent;color:#475569;font-size:.74rem;font-weight:600;text-align:left;cursor:pointer;transition:background .12s,color .12s}.project-guide__nav-num{flex-shrink:0;width:1.35rem;font-size:.62rem;font-weight:800;color:#94a3b8;font-variant-numeric:tabular-nums}.project-guide__nav-btn i{width:.9rem;text-align:center;font-size:.72rem;opacity:.7}.project-guide__nav-btn:hover{background:#f1f5f9;color:var(--guide-ink)}.project-guide__nav-btn--on{background:var(--guide-accent-soft);color:var(--guide-accent);box-shadow:inset 3px 0 0 var(--guide-accent)}.project-guide__nav-btn--on .project-guide__nav-num{color:var(--guide-accent)}.project-guide__body{padding:1.15rem 1.25rem 1.5rem;min-width:0;background:radial-gradient(circle at 50% 0%,rgb(239 246 255 / .5),transparent 55%),#fafbfc}.project-guide__section{margin-bottom:1.75rem;padding:1rem 1rem 1.35rem;border-radius:.85rem;border:1px solid var(--guide-border);background:var(--guide-surface);box-shadow:0 1px 4px #0f172a0a;scroll-margin-top:.75rem}.project-guide__section:last-of-type{margin-bottom:0}.project-guide__section-head{display:flex;gap:.65rem;align-items:flex-start;margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:1px solid #f1f5f9}.project-guide__section-num{flex-shrink:0;font-size:1.65rem;font-weight:900;line-height:1;color:#e2e8f0;letter-spacing:-.04em;user-select:none}.project-guide__section-icon{flex-shrink:0;width:2.35rem;height:2.35rem;display:grid;place-items:center;border-radius:.65rem;background:linear-gradient(145deg,#eff6ff,#dbeafe);color:#2563eb;font-size:.95rem;border:1px solid #bfdbfe}.project-guide__section-kicker{margin:0 0 .15rem;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.project-guide__section-head h3{margin:0;font-size:1.08rem;font-weight:800;color:var(--guide-ink);line-height:1.3}.project-guide__section-sub{margin:.2rem 0 0;font-size:.82rem;color:#64748b}.project-guide__para{margin:0 0 .65rem;font-size:.86rem;line-height:1.6;color:#334155}.project-guide__bullets{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}.project-guide__bullets li{display:flex;gap:.5rem;align-items:flex-start;font-size:.84rem;line-height:1.5;color:#334155}.project-guide__bullets i{color:#059669;margin-top:.15rem}.project-guide__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.65rem;margin-top:.75rem}.project-guide__card{padding:.75rem .85rem;border-radius:.75rem;border:1px solid var(--guide-border);background:#fff;transition:box-shadow .15s,transform .15s}.project-guide__card:hover{box-shadow:0 4px 12px #0f172a0f;transform:translateY(-1px)}.project-guide__card--blue{border-top:3px solid #3b82f6}.project-guide__card--indigo{border-top:3px solid #6366f1}.project-guide__card--emerald{border-top:3px solid #10b981}.project-guide__card--amber{border-top:3px solid #f59e0b}.project-guide__card--violet{border-top:3px solid #8b5cf6}.project-guide__card--rose{border-top:3px solid #f43f5e}.project-guide__card--sky{border-top:3px solid #0ea5e9}.project-guide__card-icon{display:inline-grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:.45rem;margin-bottom:.4rem;background:var(--guide-accent-soft);color:var(--guide-accent)}.project-guide__card--emerald .project-guide__card-icon{background:#ecfdf5;color:#059669}.project-guide__card--amber .project-guide__card-icon{background:#fffbeb;color:#d97706}.project-guide__card--violet .project-guide__card-icon{background:#f5f3ff;color:#7c3aed}.project-guide__card--rose .project-guide__card-icon{background:#fff1f2;color:#e11d48}.project-guide__card--sky .project-guide__card-icon{background:#f0f9ff;color:#0284c7}.project-guide__card--indigo .project-guide__card-icon{background:#eef2ff;color:#4f46e5}.project-guide__card strong{display:block;font-size:.82rem;margin-bottom:.25rem}.project-guide__card p{margin:0;font-size:.76rem;line-height:1.45;color:#64748b}.project-guide__modules{display:grid;gap:.75rem;margin-top:.85rem}.project-guide__module{padding:.85rem 1rem;border-radius:.85rem;border:1px solid var(--guide-border);background:#fff;border-left-width:4px}.project-guide__module--indigo{border-left-color:#6366f1}.project-guide__module--violet{border-left-color:#8b5cf6}.project-guide__module--sky{border-left-color:#0ea5e9}.project-guide__module--emerald{border-left-color:#10b981}.project-guide__module--slate{border-left-color:#64748b}.project-guide__module-index{flex-shrink:0;width:1.65rem;height:1.65rem;display:grid;place-items:center;border-radius:999px;border:2px solid #2563eb;color:#2563eb;background:#eff6ff;font-size:.72rem;font-weight:800}.project-guide__module-head{display:flex;gap:.65rem;align-items:flex-start}.project-guide__module-icon{flex-shrink:0;width:2rem;height:2rem;display:grid;place-items:center;border-radius:.5rem;background:#eff6ff;color:#2563eb}.project-guide__module-head h4{margin:0;font-size:.95rem}.project-guide__module-head p{margin:.15rem 0 0;font-size:.78rem;color:#64748b}.project-guide__module-benefits{margin:.65rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem .75rem;font-size:.74rem;color:#475569}.project-guide__module-benefits i{color:#059669;margin-right:.2rem}.project-guide__steps{margin:.75rem 0 0;padding:0;list-style:none;display:grid;gap:.65rem}.project-guide__steps>li{display:flex;gap:.65rem;align-items:flex-start}.project-guide__step-num{flex-shrink:0;width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;font-size:.72rem;font-weight:800}.project-guide__steps strong{display:block;font-size:.84rem;margin-bottom:.15rem}.project-guide__steps p,.project-guide__steps--compact li span{margin:0;font-size:.78rem;line-height:1.5;color:#64748b}.project-guide__steps--compact li{display:block;padding-left:.5rem;border-left:2px solid #e2e8f0}.project-guide__module-links,.project-guide__links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.project-guide__link-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:.5rem;border:1px solid #cbd5e1;background:#f8fafc;color:#1d4ed8;font-size:.74rem;font-weight:600;text-decoration:none}.project-guide__link-btn:hover{background:#eff6ff;border-color:#93c5fd}.project-guide__link-btn--primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.project-guide__link-btn--primary:hover{background:#1e40af;color:#fff}.project-guide__callout{display:flex;gap:.65rem;margin-top:.85rem;padding:.75rem .9rem;border-radius:.65rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;font-size:.82rem;line-height:1.5;color:#92400e}.project-guide__callout i{margin-top:.1rem;color:#d97706}.project-guide__callout p{margin:0}.project-guide__foot{padding-top:1rem;text-align:center;font-size:.78rem;color:#64748b}.project-guide__foot-muted{margin-top:.35rem;font-size:.72rem;opacity:.85}.project-guide--present{position:fixed;inset:.75rem;z-index:1300;max-height:none;height:auto;border-radius:1rem;box-shadow:0 32px 80px #0f172a59}.project-guide--present .project-guide__scroll{max-height:calc(100dvh - 1.5rem)}.project-guide--present .project-guide__hero-inner{padding:1.75rem 2rem}.project-guide--present .project-guide__nav{display:none}.project-guide--present .project-guide__layout{grid-template-columns:1fr}.project-guide--present .project-guide__body{padding:1.25rem 2rem 2rem}.project-guide--present .project-guide__slide{padding:1.35rem 1.5rem}.project-guide--present .project-guide__slide-title{font-size:1.15rem}.project-guide--present .project-guide__slide-headline{font-size:.95rem}.project-guide__pitch{margin-bottom:1.1rem;padding:1rem 1.15rem;border-radius:.9rem;border:1px solid #bfdbfe;background:linear-gradient(145deg,#eff6ff,#fff 55%,#f0fdf4)}.project-guide__pitch-badge{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1d4ed8;margin-bottom:.4rem}.project-guide__pitch-title{margin:0 0 .45rem;font-size:1.05rem;font-weight:800;color:#0f172a;line-height:1.35}.project-guide__pitch-lead{margin:0 0 .75rem;font-size:.8rem;color:#334155;line-height:1.55}.project-guide__pitch-outcomes{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.5rem}.project-guide__pitch-outcome{padding:.5rem .55rem;border-radius:.6rem;background:#ffffffd9;border:1px solid #e2e8f0}.project-guide__pitch-outcome-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin-bottom:.25rem;border-radius:.45rem;background:#eff6ff;color:#2563eb;font-size:.72rem}.project-guide__pitch-outcome strong{display:block;font-size:.72rem;color:#0f172a;margin-bottom:.12rem}.project-guide__pitch-outcome p{margin:0;font-size:.68rem;color:#64748b;line-height:1.4}.project-guide__present-tips{margin-top:1rem;padding-top:.75rem;border-top:1px dashed #e2e8f0}.project-guide__present-tips-title{margin:0 0 .5rem;font-size:.82rem;font-weight:700;color:#334155}.project-guide__deck{margin-top:1rem}.project-guide__deck-head{margin-bottom:.85rem}.project-guide__deck-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:#1e40af;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe}.project-guide__deck-lead{margin:.45rem 0 0;font-size:.78rem;color:#64748b;line-height:1.45}.project-guide__deck-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.project-guide__slide{position:relative;padding:1rem 1.1rem 1rem 1.15rem;border-radius:.85rem;border:1px solid #e2e8f0;background:#fff;box-shadow:0 4px 18px #0f172a0d;overflow:hidden}.project-guide__slide:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--slide-accent, #3b82f6)}.project-guide__slide--blue{--slide-accent: #3b82f6}.project-guide__slide--indigo{--slide-accent: #6366f1}.project-guide__slide--emerald{--slide-accent: #10b981}.project-guide__slide--amber{--slide-accent: #f59e0b}.project-guide__slide--violet{--slide-accent: #8b5cf6}.project-guide__slide--rose{--slide-accent: #f43f5e}.project-guide__slide--slate{--slide-accent: #64748b}.project-guide__slide-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;margin-bottom:.45rem}.project-guide__slide-no{font-size:.68rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.06em;color:#94a3b8}.project-guide__slide-act{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--slide-accent, #3b82f6)}.project-guide__slide-time{margin-left:auto;font-size:.68rem;font-weight:600;font-variant-numeric:tabular-nums;color:#64748b;padding:.12rem .45rem;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0}.project-guide__slide-title{margin:0 0 .35rem;font-size:1rem;font-weight:800;color:#0f172a;line-height:1.3}.project-guide__slide-headline{margin:0 0 .55rem;font-size:.82rem;font-weight:600;color:#334155;line-height:1.45}.project-guide__slide-points{margin:0;padding-left:1.1rem;font-size:.78rem;color:#475569;line-height:1.5}.project-guide__slide-points li+li{margin-top:.28rem}.project-guide__slide-note{display:flex;gap:.45rem;align-items:flex-start;margin-top:.65rem;padding:.5rem .6rem;border-radius:.55rem;font-size:.74rem;line-height:1.45;color:#5b21b6;background:linear-gradient(135deg,#faf5ff,#f5f3ff);border:1px solid #e9d5ff}.project-guide__slide-note i{flex-shrink:0;margin-top:.1rem;opacity:.85}.project-guide__compare-wrap{overflow-x:auto;margin-top:.75rem;border-radius:.75rem;border:1px solid #e2e8f0;background:#fff}.project-guide__compare{width:100%;border-collapse:collapse;font-size:.78rem}.project-guide__compare th,.project-guide__compare td{padding:.55rem .65rem;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:top}.project-guide__compare th{background:linear-gradient(180deg,#f8fafc,#f1f5f9);font-weight:700;color:#334155}.project-guide__compare-before{color:#94a3b8;background:#f8fafc99}.project-guide__compare-after{color:#047857;font-weight:600;background:#ecfdf580}.project-guide__roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.65rem;margin-top:.75rem}.project-guide__role{padding:.85rem;border-radius:.75rem;border:1px solid var(--guide-border);background:#fff;border-top:3px solid var(--guide-accent)}.project-guide__role--blue{border-top-color:#3b82f6}.project-guide__role--indigo{border-top-color:#6366f1}.project-guide__role--emerald{border-top-color:#10b981}.project-guide__role--amber{border-top-color:#f59e0b}.project-guide__role header{display:flex;gap:.55rem;align-items:flex-start;margin-bottom:.5rem}.project-guide__role-icon{width:2rem;height:2rem;display:grid;place-items:center;border-radius:.5rem;background:var(--guide-accent-soft);color:var(--guide-accent)}.project-guide__role h4{margin:0;font-size:.88rem}.project-guide__role header p{margin:.15rem 0 0;font-size:.72rem;color:#64748b}.project-guide__role ul{margin:0;padding:0;list-style:none;font-size:.74rem;color:#475569}.project-guide__role li{margin-bottom:.3rem}.project-guide__role li i{font-size:.55rem;margin-right:.25rem;color:#64748b}.project-guide__timeline{margin:.75rem 0 0;padding:0;list-style:none;border-left:2px solid #cbd5e1}.project-guide__timeline li{position:relative;padding:0 0 .85rem 1rem;margin-left:.35rem}.project-guide__timeline li:before{content:"";position:absolute;left:-.45rem;top:.35rem;width:.55rem;height:.55rem;border-radius:999px;background:#1d4ed8;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1}.project-guide__timeline strong{display:block;font-size:.82rem;margin-bottom:.15rem}.project-guide__timeline p{margin:0;font-size:.76rem;line-height:1.5;color:#64748b}.project-guide__faq{display:grid;gap:.4rem;margin-top:.65rem}.project-guide__faq-item{border:1px solid #e2e8f0;border-radius:.65rem;background:#fff;overflow:hidden}.project-guide__faq-item.is-open{border-color:#93c5fd;box-shadow:0 4px 14px #1d4ed814}.project-guide__faq-q{display:flex;align-items:center;justify-content:space-between;gap:.65rem;width:100%;padding:.65rem .85rem;border:0;background:transparent;font-size:.82rem;font-weight:700;text-align:left;color:#0f172a;cursor:pointer}.project-guide__faq-a{padding:0 .85rem .75rem;font-size:.78rem;line-height:1.55;color:#475569}.admin-console__main:has(#dash-guide) .admin-dash-panel__title{display:none}.admin-catalog--hub-fixed:has(#dash-guide){--catalog-hub-height: min( calc(100dvh - 8rem) , 920px)}@media print{.project-guide__nav,.project-guide__toolbar,.project-guide__hero-actions,.project-guide__chips,.project-guide__progress{display:none!important}.project-guide__layout{grid-template-columns:1fr!important}.project-guide__section{break-inside:avoid}}@media (max-width: 900px){.project-guide__layout{grid-template-columns:1fr}.project-guide__nav{position:static;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;border-right:0;border-bottom:1px solid #e2e8f0;padding:.45rem;max-height:none}.project-guide__nav-btn{flex-shrink:0;width:auto;white-space:nowrap}.project-guide__nav-btn span{font-size:.7rem}}.admin-audit-log__command{flex-shrink:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.4rem;margin-bottom:.45rem;padding:.38rem .5rem;border:1px solid rgba(15,23,42,.08);border-radius:10px;background:#f8fafcf2;container-type:inline-size;container-name:audit-cmd}.admin-audit-log__command-scroll{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin}.admin-audit-log__command:not(.admin-audit-log__command--wide) .admin-audit-log__command-scroll{overflow-x:visible;flex:1 1 auto;min-width:0}.admin-audit-log__command:not(.admin-audit-log__command--wide) .admin-audit-log__command-search{flex:1 1 auto;min-width:0;justify-content:flex-end}.admin-audit-log__search-input--menu{width:100%;max-width:none;min-width:0}.admin-audit-log__cmd-menu{position:relative;flex-shrink:0;margin-left:auto}.admin-audit-log__command--wide .admin-audit-log__cmd-menu{display:none}.admin-audit-log__cmd-menu-trigger{position:relative;display:inline-flex;align-items:center;gap:.28rem;min-width:2rem;padding-inline:.45rem}.admin-audit-log__cmd-menu-trigger--on{color:#0369a1;background:#e0f2fea6}.admin-audit-log__cmd-menu-label{font-size:.72rem;font-weight:600}.admin-audit-log__cmd-menu-panel{z-index:120;display:flex;flex-direction:column;gap:.65rem;min-width:min(18rem,calc(100vw - 1.5rem));max-width:calc(100vw - 1.5rem);max-height:min(70vh,28rem);overflow:auto;padding:.65rem .75rem;border-radius:10px;border:1px solid rgba(15,23,42,.1);background:#fff;box-shadow:0 10px 28px #0f172a1f}.admin-audit-log__cmd-menu-section{display:flex;flex-direction:column;gap:.55rem}.admin-audit-log__cmd-menu-section--restore{padding-top:.55rem;border-top:1px solid rgba(15,23,42,.08)}.admin-audit-log__cmd-menu-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.45rem;padding-top:.55rem;border-top:1px solid rgba(15,23,42,.08)}.admin-audit-log__cmd-menu-foot .admin-audit-log__count{flex:1 1 auto;min-width:0;white-space:normal}.admin-audit-cmd-modal{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:var(--modal-safe-top) var(--modal-safe-right) var(--modal-safe-bottom) var(--modal-safe-left);box-sizing:border-box}.admin-audit-cmd-modal__backdrop{position:absolute;inset:0;border:none;background:#0f172a73;cursor:pointer}.admin-audit-cmd-modal__dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(22rem,100%);max-width:calc(100vw - var(--modal-safe-left) - var(--modal-safe-right));max-height:calc(100dvh - var(--modal-safe-top) - var(--modal-safe-bottom));overflow:hidden;border-radius:12px;border:1px solid rgba(15,23,42,.1);background:#fff;box-shadow:0 16px 40px #0f172a2e}.admin-audit-cmd-modal__head{display:flex;align-items:center;gap:.45rem;flex-shrink:0;padding:.65rem .75rem;border-bottom:1px solid rgba(15,23,42,.08);background:#f8fafc}.admin-audit-cmd-modal__title{flex:1 1 auto;min-width:0;margin:0;font-size:.88rem;font-weight:700;color:#0f172a}.admin-audit-cmd-modal__close{flex-shrink:0;border:none;background:transparent;color:#64748b;font-size:1rem;cursor:pointer;padding:.25rem;border-radius:8px}.admin-audit-cmd-modal__close:hover{background:#e2e8f0;color:#0f172a}.admin-audit-cmd-modal__body{flex:1 1 auto;min-height:0;overflow:auto;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.65rem}.admin-audit-cmd-modal__body .admin-audit-log__cmd-menu-foot{margin-top:auto}.admin-audit-log__command:not(.admin-audit-log__command--wide) .admin-audit-log__cmd-menu{display:block}.admin-audit-log__filters-inline,.admin-audit-log__restore-inline{display:none}.admin-audit-log__cmd-sep{flex-shrink:0;width:1px;height:1.15rem;margin:0 .1rem;background:#0f172a1f}.admin-audit-log__restore-inline{align-items:center;gap:.28rem}.admin-audit-log__restore-mark{display:inline-flex;align-items:center;justify-content:center;color:#0284c7;font-size:.72rem;flex-shrink:0}.admin-audit-log__restore-mini{min-width:0;padding-inline:.45rem;font-size:.72rem}.admin-audit-log__restore-badge{padding:.1rem .4rem;border-radius:999px;font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums;color:#0369a1;background:#e0f2fef2;border:1px solid rgba(56,189,248,.35);white-space:nowrap}.admin-audit-log__restore-badge--done{color:#047857;background:#ecfdf5f2;border-color:#34d39966}.admin-audit-log__command--wide .admin-audit-log__filters-inline{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0}.admin-audit-log__command--wide .admin-audit-log__filter-pop{display:none}.admin-audit-log__command--wide .admin-audit-log__search-input{flex:0 1 12rem;min-width:7rem;max-width:14rem}.admin-audit-log__command--wide .admin-audit-log__restore-inline{display:inline-flex}.admin-audit-log__command--wide .admin-audit-log__restore-pop{display:none}.admin-audit-log__command--wide .admin-audit-log__command-scroll{overflow-x:auto}.admin-audit-log__restore-pop{position:relative;flex-shrink:0}.admin-audit-log__restore-trigger{position:relative;min-width:2rem;padding-inline:.45rem}.admin-audit-log__restore-dot{position:absolute;top:.15rem;right:.15rem;width:.38rem;height:.38rem;border-radius:999px;background:#0ea5e9;border:1.5px solid #fff}.admin-audit-log__restore-dot--done{background:#10b981}.admin-audit-log__restore-panel{z-index:120;display:flex;flex-direction:column;gap:.55rem;min-width:14rem;padding:.65rem .75rem;border-radius:10px;border:1px solid rgba(15,23,42,.1);background:#fff;box-shadow:0 10px 28px #0f172a1f}.admin-audit-log__restore-panel-title{margin:0;font-size:.78rem;font-weight:700;color:#0f172a}.admin-audit-log__restore-panel-field{display:flex;flex-direction:column;gap:.25rem;font-size:.72rem;color:#64748b}.admin-audit-log__restore-panel-field .admin-audit-log__input--date{max-width:none;width:100%}.admin-audit-log__restore-panel-actions{display:flex;gap:.35rem}.admin-audit-log__restore-panel-actions .btn{flex:1 1 0}.admin-audit-log__restore-panel-note{margin:0;font-size:.72rem;font-weight:600;color:#0369a1}.admin-audit-log__restore-panel-note--done{color:#047857}.admin-audit-log__command-tabs{display:inline-flex;flex-shrink:0;gap:.25rem}.admin-audit-log__command-search{display:flex;align-items:center;gap:.3rem;flex:1 1 8rem;min-width:6rem}.admin-audit-log__command--wide .admin-audit-log__command-search{flex:0 0 auto;min-width:0}.admin-audit-log__search-input{flex:1 1 auto;min-width:5.5rem;width:100%;max-width:none}.admin-audit-log__filter-pop{position:relative;flex-shrink:0}.admin-audit-log__filter-trigger{position:relative;min-width:2rem;padding-inline:.45rem}.admin-audit-log__filter-trigger--on{color:#0369a1;background:#e0f2fea6}.admin-audit-log__filter-badge{position:absolute;top:.05rem;right:.05rem;min-width:.85rem;height:.85rem;padding:0 .15rem;border-radius:999px;font-size:.58rem;font-weight:800;line-height:.85rem;text-align:center;color:#fff;background:#0284c7;border:1.5px solid #fff}.admin-audit-log__filter-panel{z-index:120;display:flex;flex-direction:column;gap:.55rem;min-width:15rem;padding:.65rem .75rem;border-radius:10px;border:1px solid rgba(15,23,42,.1);background:#fff;box-shadow:0 10px 28px #0f172a1f}.admin-audit-log__filter-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.admin-audit-log__filter-panel-title{margin:0;font-size:.78rem;font-weight:700;color:#0f172a}.admin-audit-log__filter-reset{border:none;background:transparent;padding:0;font-size:.72rem;font-weight:600;color:#64748b;cursor:pointer}.admin-audit-log__filter-reset:hover{color:#0f172a;text-decoration:underline}.admin-audit-log__filter-field{display:flex;flex-direction:column;gap:.25rem;margin:0;font-size:.72rem;color:#64748b}.admin-audit-log__filter-select{width:100%;min-width:0;max-width:none}.admin-audit-log__filter-dates{display:flex;align-items:center;gap:.25rem}.admin-audit-log__filter-dates .admin-audit-log__input--date{flex:1 1 0;min-width:0;max-width:none}.admin-audit-log__filter-check{margin-top:.15rem}.admin-audit-log__command-meta{display:inline-flex;flex-shrink:0;align-items:center;gap:.35rem;margin-left:auto}.admin-audit-log__count-online{font-weight:700;color:#047857}.admin-audit-log__count-sep{margin:0 .15rem;color:#94a3b8}.admin-audit-log__row--online{background:#ecfdf58c}.admin-audit-log__row--online:hover{background:#ecfdf5d9}.admin-audit-log__email-btn{border:none;background:transparent;padding:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-audit-log__email-btn:hover{color:#047857;text-decoration:underline}.admin-audit-log__date-sep{font-size:.75rem;color:#94a3b8;flex-shrink:0}.admin-audit-log__input--grow{flex:1 1 8rem;min-width:6rem;max-width:none}.admin-audit-log__select--sm{min-width:6.5rem;max-width:8.5rem;flex-shrink:0}.admin-audit-log__mode-tab{border:1px solid rgba(15,23,42,.12);border-radius:999px;padding:.28rem .65rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#fff;color:#64748b;cursor:pointer;white-space:nowrap}.admin-audit-log__mode-tab--on{background:#0f172a;border-color:#0f172a;color:#fff}.admin-audit-log__check{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:#475569;white-space:nowrap}.admin-audit-log__filters{display:flex;flex-wrap:wrap;gap:.35rem;flex:1 1 20rem;min-width:0}.admin-audit-log__input{flex-shrink:1;min-width:5rem;max-width:10rem}.admin-audit-log__input--email,.admin-audit-log__input--ip{display:none}.admin-audit-log__input--date{max-width:8.2rem;flex-shrink:0}.admin-audit-log__select{min-width:8.5rem;max-width:11rem}.admin-audit-log__meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.admin-audit-log__count{font-size:.78rem;color:#64748b;white-space:nowrap}.admin-catalog--hub-fixed #dash-audit .table-wrap--audit-log{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.admin-audit-log__table{width:100%;font-size:.78rem}.admin-audit-log__table th{white-space:nowrap}.admin-audit-log__time{white-space:nowrap;font-variant-numeric:tabular-nums}.admin-audit-log__email{min-width:11rem;max-width:18rem;vertical-align:middle}.admin-account-identity{display:inline-flex;align-items:center;gap:.55rem;min-width:0;max-width:100%}.admin-account-identity--compact{gap:.45rem}.admin-account-identity--clickable{cursor:pointer}.admin-account-identity-btn{display:inline-flex;align-items:center;text-align:left;white-space:normal}.admin-account-identity-btn:hover .admin-account-identity__name{color:#047857;text-decoration:underline}.admin-account-identity__avatar{flex-shrink:0;width:2rem;height:2rem;border-radius:999px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#1e3a8a,#2563eb 55%,#60a5fa);color:#fff;font-size:.72rem;font-weight:800;box-shadow:0 3px 10px #2563eb47,inset 0 1px #ffffff59}.admin-account-identity--compact .admin-account-identity__avatar{width:1.75rem;height:1.75rem;font-size:.66rem}.admin-account-identity__avatar-img{width:100%;height:100%;object-fit:cover;display:block}.admin-account-identity__avatar-fallback{line-height:1}.admin-account-identity__text{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:.05rem}.admin-account-identity__name{font-weight:700;font-size:.78rem;color:#0f172a;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-account-identity__email{font-size:.68rem;font-weight:500;color:#64748b;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-account-identity--profile{cursor:default}.admin-account-identity__name-btn,.admin-account-identity__email-btn{display:block;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-account-identity__name-btn{font-weight:700;font-size:.78rem;color:#0f172a}.admin-account-identity__email-btn{font-size:.68rem;font-weight:500;color:#64748b}.admin-account-identity__name-btn:hover:not(:disabled),.admin-account-identity__email-btn:hover:not(:disabled){color:#1d4ed8;text-decoration:underline}.admin-account-identity__name-btn:disabled,.admin-account-identity__email-btn:disabled{cursor:default}.admin-account-identity__filter-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border:1px solid #e2e8f0;border-radius:.35rem;background:#fff;color:#64748b;cursor:pointer}.admin-account-identity__filter-btn:hover{background:#f1f5f9;color:#1d4ed8}.account-email-link{border:0;padding:0;background:none;color:#2563eb;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.account-profile-link{border:0;padding:0;background:none;font:inherit;text-align:left;cursor:pointer}.account-profile-link--name{font-weight:700;color:inherit}.account-profile-link--name:hover{color:#2563eb;text-decoration:underline;text-underline-offset:2px}.account-email-link:hover{color:#1d4ed8;text-decoration:underline}.account-email-link--inline{display:inline}.account-email-link--grant{color:inherit;font-weight:600}.acct-profile-modal.admin-record-modal{z-index:12100;align-items:center;justify-content:center;padding:max(1.5rem,env(safe-area-inset-top,0px)) max(1.25rem,env(safe-area-inset-right,0px)) max(3.5rem,env(safe-area-inset-bottom,0px)) max(1.25rem,env(safe-area-inset-left,0px))}.acct-profile-modal__dialog{position:relative;width:min(52rem,calc(100vw - 2.5rem));max-height:min(calc(100dvh - 6rem),40rem);display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid rgb(148 163 184 / .35);border-radius:1rem;background:#f8fafc;box-shadow:0 24px 60px #0f172a38,0 0 0 1px #fff9 inset}.acct-profile-modal__cover{display:none}.acct-profile-hero{position:relative;z-index:1;display:flex;gap:.85rem;align-items:center;padding:1rem 1.1rem .85rem;background:linear-gradient(155deg,#0f172a,#1e3a8a 52%,#1d4ed8)}.acct-profile-modal__close{position:absolute;top:.55rem;right:.55rem;z-index:3;width:2rem;height:2rem;border:0;border-radius:999px;background:#ffffffeb;color:#334155;cursor:pointer;box-shadow:0 4px 14px #0f172a26}.acct-profile-modal__close:hover{background:#fff;color:#0f172a}.acct-profile-hero__avatar{flex-shrink:0;width:4.5rem;height:4.5rem;border-radius:999px;overflow:hidden;border:3px solid #fff;background:linear-gradient(145deg,#1e40af,#3b82f6);color:#fff;display:grid;place-items:center;font-size:1.05rem;font-weight:800;box-shadow:0 8px 24px #0f172a47}.acct-profile-hero__avatar img{width:100%;height:100%;object-fit:cover}.acct-profile-hero__text{flex:1;min-width:0;padding-bottom:.15rem}.acct-profile-hero__text h2{margin:0;font-size:1.28rem;font-weight:800;color:#fff;letter-spacing:-.02em;text-shadow:0 1px 2px rgb(0 0 0 / .2)}.acct-profile-hero__email{display:inline-flex;align-items:center;gap:.4rem;margin-top:.35rem;padding:.22rem .55rem;border:0;border-radius:999px;background:#ffffff29;color:#e2e8f0;font-size:.76rem;cursor:pointer;max-width:100%}.acct-profile-hero__email span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-profile-hero__email:hover{background:#ffffff3d;color:#fff}.acct-profile-hero__badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.acct-profile-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.14rem .5rem;border-radius:999px;font-size:.64rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}.acct-profile-pill--gold{background:#fef3c7;color:#92400e}.acct-profile-pill--blue{background:#dbeafe;color:#1d4ed8}.acct-profile-pill--green{background:#dcfce7;color:#166534}.acct-profile-pill--red{background:#fee2e2;color:#b91c1c}.acct-profile-modal__state{display:flex;align-items:center;gap:.5rem;padding:1rem 1.1rem;font-size:.82rem;color:#64748b}.acct-profile-modal__err{margin:0;padding:.65rem 1.1rem;color:#b91c1c;font-size:.82rem}.acct-profile-modal__body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:.65rem 1rem 1rem}.acct-profile-modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.acct-profile-card{border-radius:.75rem;border:1px solid #e2e8f0;background:#fff;overflow:hidden;box-shadow:0 1px 3px #0f172a0d}.acct-profile-card__head{display:flex;align-items:center;gap:.45rem;padding:.55rem .7rem;border-bottom:1px solid #f1f5f9}.acct-profile-card__head h3{margin:0;flex:1;font-size:.76rem;font-weight:800;color:#334155;text-transform:uppercase;letter-spacing:.04em}.acct-profile-card__icon{width:1.65rem;height:1.65rem;border-radius:.45rem;display:grid;place-items:center;font-size:.72rem;color:#fff}.acct-profile-card--google .acct-profile-card__icon{background:linear-gradient(145deg,#ea4335,#fbbc04)}.acct-profile-card--server .acct-profile-card__icon{background:linear-gradient(145deg,#475569,#64748b)}.acct-profile-card--social .acct-profile-card__icon{background:linear-gradient(145deg,#059669,#34d399)}.acct-profile-card--grant .acct-profile-card__icon{background:linear-gradient(145deg,#7c3aed,#a78bfa)}.acct-profile-card__count{font-size:.64rem;font-weight:700;color:#94a3b8;background:#f1f5f9;padding:.1rem .4rem;border-radius:999px}.acct-profile-card__rows{padding:.35rem .45rem .5rem}.acct-profile-card__empty{margin:0;padding:.55rem .7rem .75rem;font-size:.74rem;color:#94a3b8;font-style:italic}.acct-profile-row{display:grid;grid-template-columns:1.35rem minmax(4.2rem,5rem) minmax(0,1fr) auto;align-items:center;gap:.35rem;padding:.28rem .35rem;border-radius:.45rem}.acct-profile-row:hover{background:#f8fafc}.acct-profile-row__icon{flex-shrink:0;width:1.35rem;height:1.35rem;border-radius:.35rem;background:#f1f5f9;color:#64748b;display:grid;place-items:center;font-size:.62rem}.acct-profile-row__main{display:contents}.acct-profile-row__label{font-size:.68rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-profile-row__value{min-width:0;font-size:.76rem;font-weight:600;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-profile-row__value--success{color:#15803d}.acct-profile-row__value--warn{color:#b45309}.acct-profile-row__value--muted{color:#64748b;font-weight:500}.acct-profile-row__link{min-width:0;font-size:.76rem;font-weight:600;color:#2563eb;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-profile-row__link:hover{text-decoration:underline}.acct-profile-copy{flex-shrink:0;width:1.45rem;height:1.45rem;border:1px solid #e2e8f0;border-radius:.35rem;background:#fff;color:#64748b;cursor:pointer;font-size:.62rem}.acct-profile-copy:hover{color:#2563eb;border-color:#bfdbfe}.acct-profile-copy--ok{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}.acct-profile-grants{list-style:none;margin:.65rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.acct-profile-grants__item{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .55rem;padding:.45rem .65rem;border-radius:.55rem;border:1px solid #e2e8f0;background:#fff;font-size:.76rem}.acct-profile-grants__school{font-weight:700;color:#0f172a}.acct-profile-grants__meta{color:#64748b}.acct-profile-grants__off{margin-left:auto;padding:.08rem .4rem;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:.64rem;font-weight:700}.acct-profile-modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:.45rem;flex-shrink:0;padding:.65rem 1rem .85rem;border-top:1px solid #e2e8f0;background:#fff}.acct-profile-contact{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.45rem;flex-shrink:0;padding:.55rem .75rem;background:#fff;border-bottom:1px solid #e2e8f0}.acct-profile-contact--muted{display:flex;align-items:center;gap:.45rem;padding:.55rem .85rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.74rem;color:#64748b}.acct-profile-contact__btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.35rem;padding:.35rem .55rem;border:1px solid #e2e8f0;border-radius:.55rem;background:#fff;color:#334155;font-size:.74rem;font-weight:700;cursor:pointer}.acct-profile-contact__btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.acct-profile-contact__btn:disabled{opacity:.55;cursor:not-allowed}.acct-profile-contact__btn--msg{background:linear-gradient(145deg,#059669,#10b981);border-color:#059669;color:#fff;box-shadow:0 4px 12px #10b98147}.acct-profile-contact__btn--msg:hover:not(:disabled){background:linear-gradient(145deg,#047857,#059669);border-color:#047857;color:#fff}.acct-profile-modal__contact-err{margin:0;padding:.45rem .85rem;font-size:.76rem;color:#b91c1c;background:#fef2f2;border-bottom:1px solid #fecaca}.acct-profile-popover{position:fixed;z-index:12050;width:min(19rem,calc(100vw - 1.25rem));padding:0;border:1px solid rgb(148 163 184 / .35);border-radius:.85rem;background:#fff;overflow:hidden;box-shadow:0 18px 48px #0f172a33}.acct-profile-popover--above{transform:translateY(-100%)}.acct-profile-popover--centered{transform:none;max-height:calc(100dvh - 1rem);overflow-y:auto}.acct-profile-popover__shine{height:3.2rem;background:linear-gradient(125deg,#1e3a8a,#2563eb 55%,#38bdf8)}.acct-profile-popover__head{display:flex;gap:.6rem;align-items:flex-start;margin-top:-1.6rem;padding:0 .75rem .55rem}.acct-profile-popover__avatar{flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:999px;overflow:hidden;border:2px solid #fff;background:linear-gradient(145deg,#1e40af,#3b82f6);color:#fff;display:grid;place-items:center;font-size:.72rem;font-weight:800;box-shadow:0 4px 14px #0f172a33}.acct-profile-popover__avatar img{width:100%;height:100%;object-fit:cover}.acct-profile-popover__head strong{display:block;font-size:.88rem;color:#0f172a}.acct-profile-popover__email{margin:.12rem 0 0;font-size:.7rem;color:#64748b}.acct-profile-popover__head .acct-profile-hero__badges{margin-top:.35rem}.acct-profile-popover__rows{padding:0 .45rem .35rem}.acct-profile-popover__rows .acct-profile-row__label{width:4.2rem}.acct-profile-popover__loading{margin:0;padding:1rem .75rem;font-size:.78rem;color:#64748b;display:flex;align-items:center;gap:.45rem}.acct-profile-popover__more{width:calc(100% - 1rem);margin:0 .5rem .55rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}@media (max-width: 720px){.acct-profile-modal.admin-record-modal{align-items:flex-end;padding:1rem max(.65rem,env(safe-area-inset-right,0px)) max(2.75rem,env(safe-area-inset-bottom,0px)) max(.65rem,env(safe-area-inset-left,0px))}.acct-profile-modal .admin-record-modal__dialog{max-height:min(calc(100dvh - 4rem),calc(100vh - 4rem))}.acct-profile-modal__dialog{width:100%;max-width:100%;max-height:min(calc(100dvh - 4rem),calc(100vh - 4rem));border-radius:1rem;border-left:0;border-right:0}.acct-profile-modal__grid{grid-template-columns:1fr;gap:.45rem}.acct-profile-hero{flex-direction:row;align-items:center;gap:.65rem;padding:.75rem 2.6rem .65rem .75rem}.acct-profile-hero__avatar{width:3.15rem;height:3.15rem;font-size:.82rem;border-width:2px}.acct-profile-hero__text h2{font-size:1.02rem;line-height:1.25}.acct-profile-hero__email{margin-top:.2rem;padding:.15rem .45rem;font-size:.68rem;max-width:100%}.acct-profile-hero__badges{margin-top:.3rem;gap:.25rem}.acct-profile-pill{font-size:.58rem;padding:.1rem .38rem}.acct-profile-card__head{padding:.4rem .55rem}.acct-profile-card__head h3{font-size:.68rem}.acct-profile-card__rows{padding:.2rem .3rem .35rem}.acct-profile-row{grid-template-columns:minmax(3.6rem,4rem) minmax(0,1fr) auto;gap:.28rem;padding:.2rem .25rem}.acct-profile-row__icon{display:none}.acct-profile-row__label{font-size:.62rem}.acct-profile-row__value,.acct-profile-row__link{font-size:.72rem}.acct-profile-modal__footer{position:static;z-index:auto;padding:.5rem .65rem calc(.65rem + env(safe-area-inset-bottom,0px));box-shadow:none}.acct-profile-modal__body{padding:.45rem .55rem .75rem}.acct-profile-contact{grid-template-columns:1fr 1fr 1fr;gap:.35rem;padding:.45rem .55rem}.acct-profile-contact__btn span{display:none}.acct-profile-contact__btn--msg span{display:inline}.acct-profile-contact__btn{min-height:2.1rem;padding:.3rem;font-size:.68rem}.acct-profile-grants__item{padding:.38rem .5rem;font-size:.72rem}.acct-profile-popover{width:min(17rem,calc(100vw - 1rem))}.acct-profile-popover__rows .acct-profile-row{grid-template-columns:minmax(3.4rem,3.8rem) minmax(0,1fr) auto}}@media (max-width: 380px){.acct-profile-modal__footer .acct-profile-modal__copy-btn span{display:none}}.admin-account-identity--system .admin-account-identity__avatar{background:linear-gradient(145deg,#94a3b8,#64748b);box-shadow:inset 0 1px #ffffff40}.admin-account-identity--system .admin-account-identity__name{color:#475569;font-weight:600}.admin-account-identity--system .admin-account-identity__email{color:#94a3b8;font-style:italic}.admin-audit-detail-modal__meta-line .admin-account-identity{vertical-align:middle}.admin-audit-detail-modal__meta-line .admin-account-identity__name{font-size:.84rem}.admin-audit-detail-modal__meta-line .admin-account-identity__avatar{width:2.15rem;height:2.15rem}.admin-audit-log__summary{min-width:10rem;max-width:22rem}.admin-audit-log__device{max-width:14rem;font-size:.72rem;color:#64748b}.admin-audit-log__badge{display:inline-block;padding:.12rem .4rem;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#e2e8f0;color:#334155}.admin-audit-log__badge--create{background:#dcfce7;color:#166534}.admin-audit-log__badge--update{background:#dbeafe;color:#1d4ed8}.admin-audit-log__badge--delete{background:#fee2e2;color:#b91c1c}.admin-audit-log__row--open{background:#f8fafc}.admin-audit-log__detail-row td{padding:0!important;border-bottom:1px solid #e2e8f0}.admin-audit-log__detail{padding:.65rem .85rem .85rem;background:#f8fafc}.admin-audit-log__detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.45rem 1rem;margin:0 0 .55rem}.admin-audit-log__detail-grid dt{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.admin-audit-log__detail-grid dd{margin:.1rem 0 0;font-size:.78rem;color:#0f172a}.admin-audit-log__ua{word-break:break-word;font-size:.72rem;color:#64748b}.admin-audit-log__json{margin:0;padding:.55rem .65rem;border-radius:8px;background:#0f172a;color:#e2e8f0;font-size:.72rem;line-height:1.45;overflow:auto;max-height:12rem}.admin-audit-log__empty{text-align:center;color:#64748b;padding:1.5rem!important}.admin-audit-log__pager{flex-shrink:0;padding-top:.55rem}.advanced-pager{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;font-size:.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.advanced-pager::-webkit-scrollbar{display:none}.advanced-pager__meta{display:flex;align-items:baseline;gap:.35rem;color:#475569;flex-shrink:0;white-space:nowrap}.advanced-pager__range{color:#64748b;font-size:.72rem}.advanced-pager__nav{display:flex;align-items:center;gap:.2rem;flex-shrink:0}.advanced-pager__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border:1px solid #cbd5e1;border-radius:.45rem;background:#fff;color:#334155;cursor:pointer}.advanced-pager__icon-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.advanced-pager__icon-btn:disabled{opacity:.45;cursor:not-allowed}.advanced-pager__jump{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0;margin:0 .1rem}.advanced-pager__jump-input{width:3.2rem;padding:.28rem .4rem;border:1px solid #cbd5e1;border-radius:.4rem;text-align:center;font-size:.8rem}.advanced-pager__jump-of{color:#64748b;white-space:nowrap}.advanced-pager__side{display:flex;align-items:center;gap:.35rem;flex-shrink:0;margin-left:auto}.advanced-pager__chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.72rem;cursor:pointer;white-space:nowrap;max-width:9rem;overflow:hidden;text-overflow:ellipsis}.advanced-pager__chip:hover{background:#dbeafe}.advanced-pager__manage-btn{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;white-space:nowrap}.advanced-pager-modal__dialog{width:min(32rem,calc(100vw - 2rem));max-height:min(90vh,42rem);overflow:auto}.advanced-pager-modal__header{padding:1rem 1.1rem .5rem;border-bottom:1px solid #e2e8f0}.advanced-pager-modal__header h2{margin:0;font-size:1.05rem}.advanced-pager-modal__sub{margin:.35rem 0 0;font-size:.78rem;color:#64748b}.advanced-pager-modal__body{padding:.85rem 1.1rem 1rem;display:flex;flex-direction:column;gap:.85rem}.advanced-pager-modal__section h3{margin:0 0 .4rem;font-size:.82rem;color:#334155}.advanced-pager-modal__row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.advanced-pager-modal__input{padding:.35rem .55rem;border:1px solid #cbd5e1;border-radius:.4rem;font-size:.82rem;min-width:5rem}.advanced-pager-modal__input--sm{width:4.5rem;min-width:0}.advanced-pager-modal__input--wide{flex:1;min-width:10rem}.advanced-pager-modal__sep{color:#64748b}.advanced-pager-modal__quick{display:flex;flex-wrap:wrap;gap:.4rem}.advanced-pager-modal__hint{margin:0 0 .35rem;font-size:.72rem;color:#64748b}.advanced-pager-modal__error{margin:0;color:#b91c1c;font-size:.78rem}.advanced-pager-modal__preview{margin:0;padding:.55rem .65rem;border-radius:.45rem;background:#f8fafc;font-size:.76rem;color:#475569;line-height:1.45}.advanced-pager-modal__footer{display:flex;justify-content:flex-end;padding:.65rem 1.1rem 1rem;border-top:1px solid #e2e8f0}@media (max-width: 900px){.advanced-pager{gap:.3rem;font-size:.74rem}.advanced-pager__meta strong{font-size:.72rem;font-weight:600}.advanced-pager__icon-btn{width:1.75rem;height:1.75rem;border-radius:.38rem;font-size:.68rem}.advanced-pager__jump-input{width:2.35rem;padding:.2rem .25rem;font-size:.72rem}.advanced-pager__jump-of{font-size:.68rem}.advanced-pager__manage-label{display:none}.advanced-pager__manage-btn{padding:.28rem .45rem;min-width:1.75rem;justify-content:center}.advanced-pager__chip{max-width:4.5rem;padding:.18rem .4rem;font-size:.66rem}}@media (max-width: 420px){.advanced-pager__meta{display:none}}.admin-audit-log__summary-btn{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.admin-audit-log__summary-btn:hover{color:#1d4ed8;text-decoration:underline}.admin-audit-log__batch-badge{display:inline-block;margin-right:.35rem;padding:.08rem .35rem;border-radius:999px;font-size:.62rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#1e40af;background:#dbeafe;vertical-align:middle}.admin-audit-log__row--batch .admin-audit-log__summary-btn{font-weight:500}.admin-audit-detail-modal__tag--batch{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.admin-audit-detail-modal__dialog{width:min(52rem,calc(100vw - 1.25rem));max-height:min(92vh,52rem);overflow:hidden;display:flex;flex-direction:column;padding:0;border-radius:14px;box-shadow:0 24px 48px #0f172a2e}.admin-audit-detail-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:.35rem}.admin-audit-detail-modal__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem .85rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#f8fafc,#fff)}.admin-audit-detail-modal__hero-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.45rem}.admin-audit-detail-modal__tag--muted{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.admin-audit-detail-modal__title{margin:0;font-size:1.02rem;font-weight:700;line-height:1.35;color:#0f172a}.admin-audit-detail-modal__meta-line{margin:.35rem 0 0;font-size:.82rem;color:#334155}.admin-audit-detail-modal__loc-inline{margin:.3rem 0 0;font-size:.76rem;color:#64748b}.admin-audit-detail-modal__hero-btn{flex-shrink:0;align-self:center;font-size:.78rem;white-space:nowrap}.admin-audit-detail-modal__meta-sep{margin:0 .35rem;opacity:.55}.admin-audit-detail-modal__close{flex-shrink:0}.admin-audit-detail-modal__loc-card{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem .85rem;align-items:center;margin:.85rem 1.15rem 0;padding:.75rem .85rem;border:1px solid #dbeafe;border-radius:10px;background:#f0f9ff}.admin-audit-detail-modal__loc-icon{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#dbeafe;color:#1d4ed8;font-size:.9rem}.admin-audit-detail-modal__loc-label{margin:0;font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.admin-audit-detail-modal__loc-line{margin:.15rem 0 0;font-size:.82rem;font-weight:600;line-height:1.4;color:#0f172a}.admin-audit-detail-modal__loc-sub{margin:.2rem 0 0;font-size:.74rem;color:#475569}.admin-audit-detail-modal__loc-btn{white-space:nowrap;font-size:.78rem;display:inline-flex;align-items:center;gap:.35rem}.admin-audit-detail-modal__highlights,.admin-audit-detail-modal__section{margin:.75rem 1.15rem 0}.admin-audit-detail-modal__section-title{margin:0 0 .5rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;display:flex;align-items:center;gap:.35rem}.admin-audit-detail-modal__section-title i{color:#f59e0b;font-size:.68rem}.admin-audit-detail-modal__highlight-list{margin:0;padding:.55rem .75rem .55rem 1.85rem;border-radius:8px;background:#fffbeb;border:1px solid #fde68a;font-size:.8rem;line-height:1.45;color:#78350f}.admin-audit-detail-modal__highlight-list li+li{margin-top:.25rem}.admin-audit-detail-modal__change-list{list-style:none;margin:0;padding:0}.admin-audit-detail-modal__diff-wrap{border:1px solid #cbd5e1;border-radius:8px;overflow:auto;max-height:none;background:#fff}.admin-audit-detail-modal__diff-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.8rem;line-height:1.45}.admin-audit-detail-modal__diff-table thead th{position:sticky;top:0;z-index:1;padding:.45rem .65rem;text-align:left;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9;border-bottom:2px solid #cbd5e1;white-space:nowrap}.admin-audit-detail-modal__diff-table thead th:nth-child(1){width:34%}.admin-audit-detail-modal__diff-table thead th:nth-child(2),.admin-audit-detail-modal__diff-table thead th:nth-child(3){width:24%}.admin-audit-detail-modal__diff-table thead th:nth-child(4){width:18%}.admin-audit-detail-modal__diff-open-col{text-align:center;white-space:nowrap}.admin-audit-detail-modal__diff-open{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;color:#1d4ed8;text-decoration:none}.admin-audit-detail-modal__diff-open:hover{text-decoration:underline}.admin-audit-detail-modal__diff-table tbody td{padding:.55rem .65rem;vertical-align:top;border-bottom:1px solid #e2e8f0;word-break:break-word}.admin-audit-detail-modal__diff-table tbody tr:last-child td{border-bottom:none}.admin-audit-detail-modal__diff-label{font-weight:600;color:#334155;background:#f8fafc;border-right:1px solid #e2e8f0}.admin-audit-detail-modal__diff-before{color:#9a3412;background:#fff7ed;border-right:1px solid #fed7aa}.admin-audit-detail-modal__diff-after{color:#166534;font-weight:600;background:#f0fdf4}.admin-audit-detail-modal__diff-row--on td{box-shadow:inset 3px 0 #f59e0b}.admin-audit-detail-modal__diff-row--on .admin-audit-detail-modal__diff-before{background:#ffedd5}.admin-audit-detail-modal__diff-row--on .admin-audit-detail-modal__diff-after{background:#dcfce7}.admin-audit-detail-modal__diff-label .admin-audit-detail-modal__change-hint{display:block;margin-top:.15rem;font-weight:400}.admin-audit-detail-modal__change{border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden}.admin-audit-detail-modal__change--on{border-color:#fcd34d;box-shadow:0 1px #fbbf2426}.admin-audit-detail-modal__change-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .65rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.admin-audit-detail-modal__change-label{font-size:.78rem;font-weight:700;color:#334155}.admin-audit-detail-modal__change-hint{font-size:.68rem;color:#64748b}.admin-audit-detail-modal__change-cols{display:grid;grid-template-columns:1fr auto 1fr;gap:.35rem;padding:.5rem .55rem .6rem;align-items:stretch}.admin-audit-detail-modal__change-col p{margin:.25rem 0 0;font-size:.78rem;line-height:1.45;word-break:break-word;color:#0f172a}.admin-audit-detail-modal__change-tag{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.1rem .35rem;border-radius:4px}.admin-audit-detail-modal__change-col--before .admin-audit-detail-modal__change-tag{background:#ffedd5;color:#9a3412}.admin-audit-detail-modal__change-col--after .admin-audit-detail-modal__change-tag{background:#dcfce7;color:#166534}.admin-audit-detail-modal__change-col--before p{color:#9a3412}.admin-audit-detail-modal__change-col--after p{color:#166534;font-weight:600}.admin-audit-detail-modal__change-arrow{display:flex;align-items:center;color:#94a3b8;font-size:.75rem;padding-top:1rem}.admin-audit-detail-modal__empty{margin:0;font-size:.78rem;color:#64748b}.admin-audit-detail-modal__raw{margin:.65rem 1.15rem 0;font-size:.72rem;color:#64748b}.admin-audit-detail-modal__raw summary{cursor:pointer;user-select:none;display:flex;align-items:center;gap:.35rem}.admin-audit-detail-modal__raw pre{margin:.35rem 0 0;padding:.55rem;border-radius:8px;background:#1e293b;color:#e2e8f0;overflow:auto;max-height:8rem;font-size:.68rem;line-height:1.4}.admin-audit-detail-modal__foot{display:flex;justify-content:flex-end;margin-top:auto;padding:.65rem 1.15rem .85rem;border-top:1px solid #e2e8f0}.admin-audit-detail-modal__cell-links{margin:.75rem 1.15rem 0}.admin-audit-detail-modal__cell-link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.admin-audit-detail-modal__cell-link{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.1rem .5rem;align-items:center;padding:.5rem .65rem;border:1px solid #bfdbfe;border-radius:8px;background:#fff;color:#1e3a8a;text-decoration:none;transition:background .15s,border-color .15s}.admin-audit-detail-modal__cell-link:hover{background:#eff6ff;border-color:#60a5fa}.admin-audit-detail-modal__cell-link-label{font-size:.8rem;font-weight:700;grid-column:1}.admin-audit-detail-modal__cell-link-sub{font-size:.76rem;color:#15803d;font-weight:600;grid-column:1}.admin-audit-detail-modal__cell-link i{grid-column:2;grid-row:1 / span 2;color:#64748b}td.thcs-audit-focus,.thcs-audit-focus{outline:2px solid #2563eb!important;outline-offset:2px;box-shadow:0 0 0 4px #2563eb40;animation:thcs-audit-focus-pulse .9s ease-in-out 3}@keyframes thcs-audit-focus-pulse{0%,to{box-shadow:0 0 0 4px #2563eb40}50%{box-shadow:0 0 0 7px #2563eb1f}}@media (max-width: 640px){.admin-audit-detail-modal__loc-card{grid-template-columns:auto 1fr}.admin-audit-detail-modal__loc-btn{grid-column:1 / -1;justify-self:stretch;text-align:center}.admin-audit-detail-modal__diff-table thead th:nth-child(1),.admin-audit-detail-modal__diff-table thead th:nth-child(2),.admin-audit-detail-modal__diff-table thead th:nth-child(3){width:auto}.admin-audit-detail-modal__diff-wrap{overflow-x:auto}.admin-audit-detail-modal__diff-table{min-width:28rem}}.school-grade-inline__warn{margin:.5rem 0 0;font-size:.82rem;color:#b45309}.grade-picker,.ref-picker{position:relative;min-width:8rem}.school-command-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .55rem;margin-bottom:.75rem;padding:.45rem .55rem;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid var(--border, #e2e8f0);border-radius:10px;box-shadow:0 1px 2px #0f172a0a}.school-command-bar--single{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:thin}.school-command-bar--filtered{border-color:#93c5fd;box-shadow:0 0 0 1px #3b82f61f}.school-command-bar--loading .school-command-bar__search{opacity:.92}.school-command-bar__search{flex:1 1 12rem;min-width:10rem;display:flex;align-items:center;gap:.35rem;min-height:2.15rem;padding:0 .5rem 0 .65rem;background:#fff;border:1px solid #cbd5e1;border-radius:8px;transition:border-color .15s,box-shadow .15s}.school-command-bar__search:focus-within{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f624}.school-command-bar__search-icon{color:#64748b;font-size:.82rem;flex-shrink:0}.school-command-bar__search-input{flex:1;min-width:4rem;border:none;background:transparent;font:inherit;font-size:.84rem;outline:none}.school-command-bar__scope{flex-shrink:0;display:inline-flex;align-items:center;gap:.2rem;padding:.12rem .4rem;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.school-command-bar__icon-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#475569;cursor:pointer;position:relative}.school-command-bar__icon-btn:hover:not(:disabled){background:#f1f5f9;border-color:#e2e8f0;color:#0f172a}.school-command-bar__icon-btn:disabled{opacity:.35;cursor:not-allowed}.school-command-bar__icon-btn--reset{color:#2563eb}.school-command-bar__filter-badge{position:absolute;top:-.2rem;right:-.15rem;min-width:.95rem;height:.95rem;padding:0 .2rem;border-radius:999px;background:#2563eb;color:#fff;font-size:.62rem;font-weight:700;line-height:.95rem;text-align:center}.school-command-bar__filters-inline{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.school-command-bar__filter{width:6.75rem;min-width:6.75rem;flex-shrink:0}.school-command-bar__filter-input{width:100%;min-height:2.15rem;padding:.28rem .5rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit;font-size:.8rem}.school-command-bar__meta{display:flex;align-items:baseline;gap:.35rem;flex-shrink:0;padding:0 .25rem;white-space:nowrap;font-size:.78rem;color:#64748b}.school-command-bar__total{font-weight:700;font-size:.88rem;color:#0f172a;font-variant-numeric:tabular-nums}.school-command-bar__range{color:#64748b;font-variant-numeric:tabular-nums}.school-command-bar__range:before{content:"·";margin-right:.35rem;color:#cbd5e1}.school-command-bar__meta-loading{color:#64748b;font-size:.78rem}.school-command-bar__pager-inline{display:flex;align-items:center;gap:.15rem;flex-shrink:0;padding-left:.15rem;border-left:1px solid #e2e8f0}.school-command-bar__page-jump{display:inline-flex;align-items:center;gap:.2rem;margin:0 .1rem}.school-command-bar__page-input{width:2.75rem;min-height:1.85rem;padding:.15rem .35rem;border:1px solid #cbd5e1;border-radius:6px;font:inherit;font-size:.8rem;text-align:center;font-variant-numeric:tabular-nums}.school-command-bar__page-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.school-command-bar__page-of{font-size:.75rem;color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap}.school-command-bar__add{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;margin-left:.15rem;padding-inline:.75rem;min-height:2.15rem;border-radius:8px;white-space:nowrap}@media (max-width: 1100px){.school-command-bar--single{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.school-command-bar__search{flex:0 0 auto;min-width:8rem;max-width:14rem}}@media (max-width: 640px){.school-command-bar__filter{width:5.5rem;min-width:5.5rem}}.school-table-query{margin-bottom:.45rem;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:#fff;flex-shrink:0;overflow:visible}.school-table-query--active{border-color:#93c5fd;box-shadow:0 0 0 1px #3b82f61a}.school-table-query--loading{opacity:.94}.school-table-query__bar{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem;padding:.4rem .5rem;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:thin}.school-table-query__search{flex:1 1 10rem;min-width:8rem;display:flex;align-items:center;gap:.35rem;min-height:2rem;padding:0 .45rem;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px}.school-table-query__search:focus-within{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 2px #3b82f61f}.school-table-query__search>i{color:#64748b;font-size:.8rem;flex-shrink:0}.school-table-query__search input{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:.82rem;outline:none}.school-table-query__quick-filters{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.school-table-query__picker{width:6.25rem;min-width:6.25rem;min-height:2rem;padding:.25rem .45rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit;font-size:.78rem}.school-table-query__toggle{flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem;min-height:2rem;padding:0 .55rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit;font-size:.76rem;font-weight:600;color:#475569;cursor:pointer;white-space:nowrap;position:relative}.school-table-query__toggle:hover{background:#f8fafc;border-color:#94a3b8}.school-table-query__toggle--on{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.school-table-query__toggle--has:after{content:"";position:absolute;top:.2rem;right:.2rem;width:.4rem;height:.4rem;border-radius:999px;background:#f59e0b}.school-table-query__toggle-dot{width:.45rem;height:.45rem;border-radius:999px;background:#f59e0b}.school-table-query__meta{flex-shrink:0;display:flex;align-items:baseline;gap:.3rem;font-size:.76rem;color:#64748b;white-space:nowrap;padding:0 .15rem}.school-table-query__meta strong{font-size:.86rem;color:#0f172a;font-variant-numeric:tabular-nums}.school-table-query__range{font-variant-numeric:tabular-nums}.school-table-query__range:before{content:"·";margin-right:.25rem;color:#cbd5e1}.school-table-query__pager{display:flex;align-items:center;gap:.1rem;flex-shrink:0;border-left:1px solid #e2e8f0;padding-left:.35rem}.school-table-query__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#475569;cursor:pointer;flex-shrink:0}.school-table-query__icon-btn:hover:not(:disabled){background:#f1f5f9;border-color:#e2e8f0}.school-table-query__icon-btn:disabled{opacity:.35;cursor:not-allowed}.school-table-query__icon-btn--reset{color:#2563eb}.school-table-query__page-jump{display:inline-flex;align-items:center;gap:.15rem;font-size:.72rem;color:#64748b}.school-table-query__page-input{width:2.25rem;min-height:1.75rem;padding:.1rem .25rem;border:1px solid #cbd5e1;border-radius:6px;font:inherit;font-size:.76rem;text-align:center}.school-table-query__add{flex-shrink:0;min-height:2rem;padding-inline:.65rem;white-space:nowrap}.school-table-query__drawer{padding:.45rem .5rem .55rem;border-top:1px solid #e2e8f0;background:#f8fafc}.school-table-query__drawer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.35rem .5rem;margin-bottom:.45rem}.school-table-query__field{display:flex;flex-direction:column;gap:.15rem;min-width:0}.school-table-query__field>span{font-size:.68rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.school-table-query__input{width:100%;min-height:1.9rem;padding:.25rem .45rem;border:1px solid #cbd5e1;border-radius:7px;background:#fff;font:inherit;font-size:.8rem}.school-table-query__drawer-audit{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.school-table-query__drawer-audit-label{font-size:.72rem;font-weight:700;color:#92400e;white-space:nowrap}.school-table-query__gaps{display:flex;flex-wrap:wrap;gap:.3rem;flex:1;min-width:0}.school-table-query__gap{display:inline-flex;padding:.2rem .5rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font:inherit;font-size:.72rem;color:#475569;cursor:pointer}.school-table-query__gap:hover{border-color:#cbd5e1}.school-table-query__gap--on{border-color:#f59e0b;background:#fffbeb;color:#92400e;font-weight:600}@media (max-width: 640px){.school-table-query__bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}}.admin-record-modal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:var(--modal-safe-top) var(--modal-safe-right) var(--modal-safe-bottom) var(--modal-safe-left);box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain}.admin-record-modal__backdrop{position:absolute;inset:0;border:none;background:#0f172a73;cursor:pointer}.admin-record-modal__dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(920px,100%);max-width:calc(100vw - var(--modal-safe-left) - var(--modal-safe-right));max-height:calc(100dvh - var(--modal-safe-top) - var(--modal-safe-bottom));background:#fff;border-radius:14px;box-shadow:0 24px 48px #0f172a33;overflow:hidden}.admin-record-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.admin-record-modal__title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.admin-record-modal__subtitle{margin:.25rem 0 0;font-size:.82rem;color:#64748b;line-height:1.4}.admin-record-modal__close{border:none;background:transparent;color:#64748b;font-size:1.1rem;cursor:pointer;padding:.35rem;border-radius:8px}.admin-record-modal__close:hover{background:#e2e8f0;color:#0f172a}.admin-record-modal__body{flex:1;overflow:auto;padding:1rem 1.15rem}.admin-record-modal__err{margin-bottom:.75rem}.admin-record-modal__footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.85rem 1.15rem;border-top:1px solid #e2e8f0;background:#f8fafc}.admin-record-window-backdrop{position:fixed;inset:0;z-index:5200;pointer-events:none;background:transparent!important;overflow:visible}.admin-record-window.app-window{position:fixed;display:flex;flex-direction:column;margin:0;width:auto;max-width:100vw;max-height:100dvh;min-width:0;min-height:0;background:#fff;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 20px 48px #0f172a38;overflow:hidden;pointer-events:auto;z-index:5201}.admin-record-window-backdrop--over-config-host,:root[data-academic-hub-config-host] .admin-record-window-backdrop{z-index:5420!important}.admin-record-window--over-config-host.app-window,:root[data-academic-hub-config-host] .admin-record-window.app-window{z-index:5421!important}:root[data-academic-hub-config-host] .school-filter-dialog{z-index:5280!important}.admin-record-window__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;background:#f8fafc;cursor:move;user-select:none;flex-shrink:0}.admin-record-window__head-text{min-width:0;flex:1}.admin-record-window .admin-record-modal__title,.school-data-hub.admin-record-modal .admin-record-modal__title{font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.92rem;color:#991b1b}.admin-record-window .admin-record-modal__subtitle{margin:.2rem 0 0;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;color:#b91c1c;line-height:1.35}.school-data-hub.admin-record-modal .admin-record-modal__subtitle{margin:.25rem 0 0;font-size:.82rem;font-weight:500;text-transform:none;letter-spacing:normal;color:#64748b;line-height:1.4}.admin-record-window__tools{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.admin-record-window__tool{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer}.admin-record-window__tool:hover:not(:disabled){background:#e2e8f0;color:#0f172a}.admin-record-window__tool:disabled{opacity:.45;cursor:default}.admin-record-window .school-data-hub__tabs{flex-shrink:0}.admin-record-window .admin-record-modal__body{flex:1 1 auto;min-height:0;max-height:none}.admin-record-window .admin-record-modal__footer{flex-shrink:0}.admin-record-window .school-data-hub__tab,.school-data-hub.admin-record-modal .school-data-hub__tab{font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:#991b1b}.admin-record-window .school-data-hub__tab i,.school-data-hub.admin-record-modal .school-data-hub__tab i{color:#b91c1c}.admin-record-window .school-data-hub__tab--on,.school-data-hub.admin-record-modal .school-data-hub__tab--on{background:#fef2f2;border-color:#fca5a5;color:#7f1d1d}.admin-record-window .school-data-hub__tab--on i,.school-data-hub.admin-record-modal .school-data-hub__tab--on i{color:#991b1b}.admin-record-window .app-window__resize--n,.admin-record-window .app-window__resize--s{height:8px}.admin-record-window .app-window__resize--e,.admin-record-window .app-window__resize--w{width:8px}.admin-record-window .app-window__resize--ne,.admin-record-window .app-window__resize--nw,.admin-record-window .app-window__resize--se,.admin-record-window .app-window__resize--sw{width:14px;height:14px}.acct-profile-modal .admin-record-modal__dialog{display:flex;flex-direction:column;overflow:hidden;max-height:min(calc(100dvh - 6rem),40rem)}.acct-profile-modal .acct-profile-hero,.acct-profile-modal .acct-profile-contact,.acct-profile-modal .acct-profile-contact--muted,.acct-profile-modal .acct-profile-modal__state,.acct-profile-modal .acct-profile-modal__err,.acct-profile-modal .acct-profile-modal__contact-err{flex-shrink:0}.school-form-field__req{color:#dc2626;font-weight:800}.school-form-input{width:100%;min-height:2.15rem;padding:.35rem .6rem;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit;font-size:.86rem;transition:border-color .15s,box-shadow .15s}.school-form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f624}.school-form-field--invalid .school-form-input{border-color:#f87171;box-shadow:0 0 0 2px #f8717133}.school-form-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.school-form-field--wide{grid-column:1 / -1}.school-form-field__head{display:flex;align-items:center;gap:.35rem}.school-form-field__label{font-size:.78rem;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.03em}.school-form-field__tip{color:#64748b;font-size:.75rem;cursor:help}.school-form-field__hint{margin:0;font-size:.72rem;color:#64748b;line-height:1.35}.school-form-field__alert{margin:0;font-size:.72rem;line-height:1.35;display:flex;align-items:flex-start;gap:.3rem}.school-form-field__alert--err{color:#b91c1c}.school-form-field__alert--warn{color:#b45309}.school-record-form__guide{display:flex;gap:.65rem;padding:.65rem .75rem;margin-bottom:.85rem;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:10px;font-size:.8rem;color:#334155}.school-record-form__guide i{color:#2563eb;margin-top:.15rem}.school-record-form__guide p{margin:.2rem 0 0;color:#64748b;line-height:1.4}.school-record-form__section{margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid #e2e8f0}.school-record-form__section--required{border-bottom-color:#fecaca;background:linear-gradient(180deg,#fff,#fffbfb);padding:.75rem;border-radius:10px;border:1px solid #fecaca}.school-record-form__section-title{margin:0 0 .55rem;font-size:.82rem;font-weight:800;color:#1e293b;text-transform:uppercase;letter-spacing:.04em}.school-record-form__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.55rem .75rem}.ward-edit-modal__dialog{width:min(920px,96vw)}.ward-edit-modal__tabs{flex-shrink:0;padding:0 1rem;border-bottom:1px solid var(--border, #e2e8f0)}.ward-officials-panel__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.ward-officials-panel__title{margin:0 0 .25rem;font-size:1rem;font-weight:600}.ward-officials-panel__hint{margin:0;font-size:.85rem;color:var(--muted, #64748b);max-width:42rem;line-height:1.45}.ward-officials-panel__err{margin:0 0 .75rem}.ward-officials-panel__editor{margin-bottom:1rem;padding:.85rem 1rem;border:1px solid #dbeafe;border-radius:10px;background:#f8fafc}.ward-officials-panel__editor-title{margin:0 0 .65rem;font-size:.92rem;font-weight:600}.ward-officials-panel__editor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.5rem .75rem}.ward-officials-panel__field{display:flex;flex-direction:column;gap:.2rem;font-size:.82rem}.ward-officials-panel__field--wide{grid-column:1 / -1}.ward-officials-panel__field--check{grid-column:1 / -1;flex-direction:row;align-items:center;gap:.45rem}.ward-officials-panel__editor-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.ward-officials-panel__table-wrap{overflow:auto;border:1px solid var(--border, #e2e8f0);border-radius:8px}.ward-officials-panel__table{width:100%;border-collapse:collapse;font-size:.84rem}.ward-officials-panel__table th,.ward-officials-panel__table td{padding:.45rem .55rem;border-bottom:1px solid #eef2f7;text-align:left;vertical-align:top}.ward-officials-panel__table thead th{background:#f8fafc;font-weight:600;white-space:nowrap}.ward-officials-panel__actions{white-space:nowrap}.ward-officials-panel__primary-badge{display:inline-block;padding:.1rem .4rem;border-radius:4px;background:#fef3c7;color:#92400e;font-size:.75rem;font-weight:600}.ward-officials-panel__empty{margin:0;padding:1.25rem;text-align:center;color:var(--muted, #64748b);font-size:.88rem}.ward-officials-panel__quick{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-bottom:.65rem;padding:.5rem .65rem;border-radius:8px;background:#fef2f2;border:1px solid #fecaca}.ward-officials-panel__quick-label{font-size:.8rem;font-weight:600;color:#991b1b}.ward-officials-panel__toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;margin-bottom:.65rem}.ward-officials-panel__filter{display:flex;flex-direction:column;gap:.15rem;font-size:.78rem;min-width:10rem}.ward-officials-panel__filter--check{flex-direction:row;align-items:center;min-width:auto;padding-bottom:.2rem}.ward-officials-panel__count{margin-left:auto;font-size:.78rem;color:var(--muted, #64748b)}.ward-officials-panel__status{font-size:.72rem;font-weight:600;padding:.1rem .35rem;border-radius:4px}.ward-officials-panel__status--active{background:#dcfce7;color:#166534}.ward-officials-panel__status--acting{background:#fef3c7;color:#92400e}.ward-officials-panel__status--former{background:#f1f5f9;color:#64748b}.ward-officials-panel__row--former td{opacity:.72}.ward-edit-modal__ok{margin:0 0 .65rem;padding:.45rem .65rem;border-radius:8px;background:#ecfdf5;color:#047857;font-size:.85rem}.ward-edit-modal__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.ward-edit-modal__footer-hint{font-size:.78rem;color:var(--muted, #64748b)}.ward-edit-modal__footer-actions{display:flex;gap:.5rem;margin-left:auto}.ward-audit-panel__summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.ward-audit-panel__score{padding:.55rem .75rem;border-radius:8px;font-size:.88rem;font-weight:600}.ward-audit-panel__score--ok{background:#ecfdf5;color:#047857}.ward-audit-panel__score--warn{background:#fffbeb;color:#b45309}.ward-audit-panel__score--err{background:#fef2f2;color:#b91c1c}.ward-audit-panel__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.85rem}.ward-audit-panel__section{margin-bottom:1rem}.ward-audit-panel__title{margin:0 0 .5rem;font-size:.92rem;font-weight:600}.ward-audit-panel__roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.4rem}.ward-audit-panel__role{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.45rem .55rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font:inherit;text-align:left;cursor:pointer}.ward-audit-panel__role--ok{border-color:#86efac;background:#f0fdf4}.ward-audit-panel__role--miss-req{border-color:#fca5a5;background:#fef2f2}.ward-audit-panel__role--miss{border-color:#fde68a;background:#fffbeb}.ward-audit-panel__role-label{font-size:.75rem;font-weight:600;line-height:1.25}.ward-audit-panel__role-count{font-size:.72rem;color:#64748b}.ward-audit-panel__list{margin:0;padding:0;list-style:none}.ward-audit-panel__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;border-bottom:1px solid #eef2f7;font-size:.84rem}.ward-audit-panel__item--error{color:#b91c1c}.ward-audit-panel__item--warn{color:#b45309}.ward-audit-panel__item--info{color:#475569}.ward-audit-panel__empty{margin:0;font-size:.85rem;color:var(--muted, #64748b)}.school-data-hub__officials-divider{margin:1rem 0;border:none;border-top:1px solid #e2e8f0}.school-data-hub__officials-import-title{margin:0 0 .5rem;font-size:.92rem;font-weight:600}.school-data-hub__officials-pick{padding:.65rem .75rem;border-radius:8px;background:#f8fafc;border:1px dashed #cbd5e1;margin-bottom:.5rem}.school-data-hub__officials-direct{margin-bottom:.5rem}.ward-audit-panel__empty--ok{color:#047857}.school-filter-dialog{position:fixed;inset:0;z-index:1150;display:flex;align-items:flex-start;justify-content:center;padding:4.5rem 1rem 1rem}.school-filter-dialog__backdrop{position:absolute;inset:0;border:none;background:#0f172a59;cursor:pointer}.school-filter-dialog__panel{position:relative;z-index:1;width:min(720px,100%);max-height:min(78vh,680px);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 20px 40px #0f172a2e;overflow:hidden}.school-filter-dialog__header{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.school-filter-dialog__header h2{margin:0;font-size:1rem;font-weight:800;text-transform:uppercase;color:#b91c1c;letter-spacing:.02em}.school-filter-dialog__header p{margin:.2rem 0 0;font-size:.78rem;color:#64748b}.school-filter-dialog__close{border:none;background:transparent;color:#64748b;font-size:1.1rem;cursor:pointer;padding:.35rem;border-radius:8px}.school-filter-dialog__body{flex:1;overflow:auto;padding:.75rem 1rem}.school-filter-dialog__section{margin-bottom:.85rem}.school-filter-dialog__section h3{margin:0 0 .45rem;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#475569}.school-filter-dialog__section--audit{padding:.55rem;background:#fffbeb;border-radius:10px;border:1px solid #fde68a}.school-filter-dialog__hint{margin:0 0 .4rem;font-size:.74rem;color:#92400e}.school-filter-dialog__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.4rem .55rem}.school-filter-dialog__grid--2{grid-template-columns:1fr 1fr}.school-filter-dialog__field{display:flex;flex-direction:column;gap:.15rem;min-width:0}.school-filter-dialog__field>span{font-size:.68rem;font-weight:700;color:#64748b;text-transform:uppercase}.school-filter-dialog__gaps{display:flex;flex-wrap:wrap;gap:.3rem}.school-filter-dialog__gap{padding:.25rem .55rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font:inherit;font-size:.72rem;cursor:pointer}.school-filter-dialog__gap--on{border-color:#f59e0b;background:#fff;color:#92400e;font-weight:700}.school-filter-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;border-top:1px solid #e2e8f0;background:#f8fafc}.school-filter-dialog__footer-meta{font-size:.78rem;color:#64748b}.school-filter-dialog__footer-actions{display:flex;gap:.4rem}.school-data-hub__dialog{width:min(960px,100%);max-height:min(880px,calc(100dvh - var(--modal-safe-top) - var(--modal-safe-bottom)))}.school-data-hub__tabs{display:flex;flex-wrap:wrap;gap:.25rem;padding:.45rem 1rem;border-bottom:1px solid #e2e8f0;background:#fff}.school-data-hub__tab{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid transparent;border-radius:8px;background:transparent;font:inherit;font-size:.78rem;font-weight:600;color:#64748b;cursor:pointer}.school-data-hub__tab--on{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.school-data-hub__body{background:#fafbfc}.school-data-hub__err{margin-bottom:.65rem}.school-data-hub__import-guide{padding:.65rem .75rem;margin-bottom:.65rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;font-size:.8rem;color:#334155}.school-data-hub__import-guide p{margin:.25rem 0}.school-data-hub__import-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.65rem}.school-data-hub__import-summary{display:flex;gap:.75rem;margin-bottom:.45rem;font-size:.82rem;font-weight:700}.school-data-hub__import-ok{color:#15803d}.school-data-hub__import-bad{color:#b91c1c}.school-data-hub__import-table-wrap{max-height:16rem;overflow:auto;border:1px solid #e2e8f0;border-radius:8px}.school-data-hub__import-table{width:100%;font-size:.78rem;border-collapse:collapse}.school-data-hub__import-table th,.school-data-hub__import-table td{padding:.35rem .5rem;border-bottom:1px solid #e2e8f0;text-align:left}.school-data-hub__import-table tr.is-err{background:#fef2f2}.school-data-hub__import-table tr.is-ok{background:#f0fdf4}.school-data-hub__bulk-hint{font-size:.78rem;color:#64748b;margin:0 0 .55rem}.school-data-hub__scope{border:1px solid #e2e8f0;border-radius:10px;padding:.55rem .75rem;margin-bottom:.65rem;display:flex;flex-direction:column;gap:.35rem;font-size:.82rem}.school-data-hub__scope legend{font-weight:700;font-size:.76rem;text-transform:uppercase;color:#475569}.school-data-hub__bulk-fields{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin-bottom:.65rem}.school-data-hub__bulk-check{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem}.school-data-hub__bulk-value{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.45rem;max-width:24rem}.school-data-hub__bulk-value>span{font-size:.72rem;font-weight:700;color:#64748b}.school-data-hub__bulk--danger .school-data-hub__danger-banner{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem .75rem;margin-bottom:.65rem;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;font-size:.82rem}.school-data-hub__delete-list{margin:0 0 .65rem 1.1rem;font-size:.8rem;color:#475569}.school-table-query__toggle-badge{min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:#2563eb;color:#fff;font-size:.65rem;font-weight:800;line-height:1.1rem;text-align:center}.school-table-query__sel{flex-shrink:0;font-size:.72rem;font-weight:700;color:#1d4ed8;white-space:nowrap}.school-col-check{width:2.25rem;min-width:2.25rem;text-align:center}.school-col-check input{margin:0;cursor:pointer}.ref-picker__panel,.grade-picker__panel{position:absolute;z-index:40;top:calc(100% + 2px);left:0;right:0;min-width:14rem;max-height:16rem;overflow:auto;background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.ref-picker__opt,.grade-picker__opt{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.45rem .65rem;border:none;background:transparent;text-align:left;font:inherit;cursor:pointer}.ref-picker__opt:hover,.ref-picker__opt--on,.grade-picker__opt:hover,.grade-picker__opt--on{background:#3b82f614}.ref-picker__slug,.grade-picker__slug{font-size:.72rem;color:var(--muted, #64748b)}.ref-picker__hint,.grade-picker__hint{padding:.5rem .65rem;font-size:.78rem;color:var(--muted, #64748b)}.grade-picker__create{border-top:1px solid var(--border, #e2e8f0);padding:.45rem .55rem}.grade-picker__create-form{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.grade-picker__create-form .input-inline{flex:1 1 6rem;min-width:5rem}.school-row--new-hint{font-weight:400;color:var(--muted, #64748b);font-size:.82rem}.table--school-profile{min-width:96rem}.table--ward-profile{min-width:108rem}.table--school-profile:not(.table--school-profile--full){min-width:0;width:100%}.table--school-profile:not(.table--school-profile--full) .school-col--extra{display:none}.table--school-profile:not(.table--school-profile--full) .school-col-name{min-width:7rem;max-width:12rem}.table--school-profile:not(.table--school-profile--full) th,.table--school-profile:not(.table--school-profile--full) td{max-width:9rem}.table--school-profile th,.table--school-profile td{max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.table--school-profile .school-col-name{min-width:8.5rem;max-width:14rem}.school-col-name__inner{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;vertical-align:middle}.school-col-name__inner .school-name-btn{flex:1 1 auto;min-width:0;max-width:none}.table--school-profile .school-col-slug{min-width:8rem;max-width:11rem}.table--school-profile .ref-col-slug code{font-size:.78rem}.school-cell-link{display:inline-block;max-width:100%;border:none;background:transparent;padding:0;margin:0;font:inherit;color:#1e40af;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-cell-link:hover{color:#2563eb;text-decoration:underline}.school-cell-link--static{cursor:default;pointer-events:none}.school-cell-link--static:hover{color:#1e40af;text-decoration:none}.school-cell-link--slug{display:inline-flex;align-items:center;gap:.35rem;color:inherit}.school-cell-link--slug:hover code{color:#2563eb}.school-cell-link--slug code{font-size:.78rem}.school-name-btn{border:none;background:transparent;padding:0;margin:0;font:inherit;font-weight:600;color:#0f172a;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-name-btn:hover{color:#2563eb;text-decoration:underline}.school-gap-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;padding:0 .25rem;border-radius:999px;border:none;background:#fef3c7;color:#b45309;font-size:.68rem;font-weight:800;flex-shrink:0;cursor:pointer}.school-gap-badge:hover{background:#fde68a}.school-slug-cell__ok{color:#16a34a;font-size:.72rem;flex-shrink:0}.school-row--incomplete td{background-color:#fefbeb8c}.school-table-query__chips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.45rem .65rem .55rem;border-top:1px solid #e2e8f0}.school-table-query__chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:600;cursor:pointer}.school-table-query__chip:hover{background:#dbeafe}.school-table-query__chip i{font-size:.65rem;opacity:.75}.school-table-query__chip--reset{background:#fff;border-color:#cbd5e1;color:#64748b}.school-table-query__chip--reset:hover{background:#f8fafc;color:#334155}.school-table-query__export{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.35rem .75rem!important;font-size:.76rem!important;font-weight:800;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:1px solid rgba(180,140,40,.35)!important;border-radius:999px;background:linear-gradient(135deg,#fdf8ec,#fde68a 55%,#f5d76e);color:#1c1917;box-shadow:0 2px 8px #785a1e1f}.school-table-query__export:hover:not(:disabled){background:linear-gradient(135deg,#fffbeb,#fde68a,#f5d76e);border-color:#b48c2873!important;box-shadow:0 8px 20px #785a1e29;transform:translateY(-1px)}.school-export-dialog{position:fixed;inset:0;z-index:1160;display:flex;align-items:flex-start;justify-content:center;padding:4.5rem 1rem 1rem}.school-export-dialog__backdrop{position:absolute;inset:0;border:none;background:#0f172a59;cursor:pointer}.school-export-dialog__panel{position:relative;z-index:1;width:min(520px,100%);max-height:min(82vh,640px);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 20px 40px #0f172a2e;overflow:hidden}.school-export-dialog__header{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.school-export-dialog__header h2{margin:0;font-size:1rem;font-weight:800}.school-export-dialog__header p{margin:.2rem 0 0;font-size:.78rem;color:#64748b}.school-export-dialog__close{border:none;background:transparent;color:#64748b;font-size:1.1rem;cursor:pointer}.school-export-dialog__body{padding:.85rem 1rem 1rem;overflow:auto}.school-export-dialog__err{margin:0 0 .65rem}.school-export-dialog__section+.school-export-dialog__section{margin-top:1rem}.school-export-dialog__section h3{margin:0 0 .5rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.school-export-dialog__scopes{display:flex;flex-direction:column;gap:.4rem}.school-export-dialog__scope{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.1rem .55rem;align-items:start;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;background:#fff}.school-export-dialog__scope--on{border-color:#93c5fd;background:#eff6ff}.school-export-dialog__scope--off{opacity:.45;cursor:not-allowed}.school-export-dialog__scope input{margin-top:.15rem}.school-export-dialog__scope-label{font-size:.82rem;font-weight:700;color:#0f172a}.school-export-dialog__scope-hint{grid-column:2;font-size:.72rem;color:#64748b}.school-export-dialog__formats{position:static!important;width:100%;box-shadow:none!important}.school-export-dialog__pending{margin:.55rem 0 0;font-size:.78rem;color:#64748b}.school-export-dialog__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem 1rem;border-top:1px solid #e2e8f0;background:#f8fafc}.school-export-dialog__footer-meta{font-size:.72rem;color:#64748b}.thcs-flex-export-dialog__section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem;margin-bottom:.45rem}.thcs-flex-export-dialog__section-head h3{margin:0}.thcs-flex-export-dialog__quick{display:flex;flex-wrap:wrap;gap:.25rem}.thcs-flex-export-dialog__checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.35rem .75rem}.thcs-flex-export-dialog__check,.thcs-flex-export-dialog__format{display:flex;align-items:center;gap:.45rem;padding:.4rem .55rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:.82rem}.thcs-flex-export-dialog__check:has(input:checked),.thcs-flex-export-dialog__format:has(input:checked){border-color:#f59e0b;background:#fffbeb}.thcs-flex-export-dialog__formats{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.45rem}.thcs-flex-export-backdrop{z-index:12040;display:block;align-items:stretch;justify-content:flex-start;padding:0;overflow:hidden;background:#0f172a1a;backdrop-filter:none}.thcs-flex-export-backdrop.user-account-modal-backdrop--pinned{background:#0f172a0a}.thcs-flex-export-window .user-account-modal__titlebar{background:linear-gradient(180deg,#fffbeb,#fef9c3);color:#dc2626;border-bottom:1px solid #fde68a}.thcs-flex-export-window .app-window__title{font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#dc2626}.thcs-flex-export-window .user-account-modal__titlebar-btn{color:#991b1b}.thcs-flex-export-window .user-account-modal__titlebar-btn:hover{background:#dc26261a}.menu-dropdown__item--flex-export .menu-dropdown__item-label{color:#dc2626;font-weight:800}.thcs-flex-export-window.app-window{position:fixed;display:flex;flex-direction:column;margin:0;z-index:12041;max-width:100vw;max-height:100dvh;min-width:0;min-height:0;background:#fff;border-radius:12px;border:1px solid var(--border-strong, #cbd5e1);box-shadow:0 24px 64px #0f172a47;overflow:hidden;opacity:1;filter:none}.thcs-flex-export-window.app-window--pinned{box-shadow:0 14px 40px #0369a147}.thcs-flex-export-window .app-window__resize--n,.thcs-flex-export-window .app-window__resize--s{height:10px}.thcs-flex-export-window .app-window__resize--e,.thcs-flex-export-window .app-window__resize--w{width:10px}.thcs-flex-export-window .app-window__resize--ne,.thcs-flex-export-window .app-window__resize--nw,.thcs-flex-export-window .app-window__resize--se,.thcs-flex-export-window .app-window__resize--sw{width:16px;height:16px}.thcs-flex-export-window__body{flex:1;min-height:0;overflow:auto;padding:.65rem .85rem .75rem}.thcs-flex-export-window__hint{margin:0 0 .55rem;font-size:.78rem;color:#334155;line-height:1.45;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.4rem .55rem}.thcs-flex-export-window__err{margin:0 0 .55rem}.thcs-flex-export-window__section+.thcs-flex-export-window__section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.thcs-flex-export-window__section h3{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569}.thcs-flex-export-window__loading{margin:0 0 .5rem;padding:.45rem .6rem;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:.8rem}.thcs-flex-export-window__school-tag{margin-left:.35rem;font-size:.68rem;font-weight:600;color:#94a3b8}.thcs-flex-export-window__pack-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.45rem}.thcs-flex-export-window__pack-kicker{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin-right:.1rem}.thcs-flex-export-window__pack-pill{display:inline-flex;align-items:center;padding:.22rem .55rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-size:.78rem;font-weight:600;color:#334155;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.thcs-flex-export-window__pack-pill input{position:absolute;opacity:0;pointer-events:none}.thcs-flex-export-window__pack-pill--on{border-color:#f59e0b;background:#fffbeb;color:#92400e}.thcs-flex-export-window__filters{display:flex;flex-wrap:wrap;gap:.45rem .65rem;align-items:center;margin-bottom:.45rem}.thcs-flex-export-window__search{flex:1 1 12rem;min-width:0;padding:.38rem .55rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.82rem}.thcs-flex-export-window__filter-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:#475569;white-space:nowrap}.thcs-flex-export-window__schools{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.35rem .55rem;min-height:14rem;max-height:min(22rem,42vh);overflow:auto;padding-right:.15rem}.thcs-flex-export-dialog__check--school span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thcs-flex-export-window__empty{margin:0;font-size:.78rem;color:#94a3b8;grid-column:1 / -1}.thcs-flex-export-window__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.45rem}.thcs-flex-export-window__meta{flex:1 1 100%;font-size:.72rem;color:#64748b}@media (min-width: 640px){.thcs-flex-export-window__meta{flex:1 1 auto}}.thcs-flex-export-progress{margin:0 0 .75rem;padding:.65rem .75rem;border-radius:10px;border:1px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff,#f8fafc)}.thcs-flex-export-window--running .thcs-flex-export-window__body{min-height:0;padding-top:.65rem;padding-bottom:.65rem}.thcs-flex-export-progress--running{margin:0;padding:.75rem .85rem .7rem;display:flex;flex-direction:column;border-color:#93c5fd;box-shadow:inset 0 0 0 1px #fff9}.thcs-flex-export-progress__hero{display:flex;align-items:center;gap:.45rem;margin-bottom:.5rem}.thcs-flex-export-progress__hero i{font-size:1.35rem;color:#2563eb}.thcs-flex-export-progress__hero h3{margin:0;font-size:1rem;color:#0f172a}.thcs-flex-export-progress__controls{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.thcs-flex-export-progress__cancel{color:#b91c1c!important}.thcs-flex-export-progress__bar-fill--paused{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.thcs-flex-export-progress--running .thcs-flex-export-progress__bar{height:12px}.thcs-flex-export-window__meta--running{flex:1 1 100%;font-style:italic;color:#2563eb}.thcs-flex-export-progress__phases{display:flex;flex-wrap:wrap;gap:.35rem .5rem;margin-bottom:.5rem}.thcs-flex-export-progress__phase{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;color:#64748b;background:#fff;border:1px solid #e2e8f0}.thcs-flex-export-progress__phase--active{color:#1d4ed8;border-color:#93c5fd;background:#dbeafe}.thcs-flex-export-progress__phase--done{color:#15803d;border-color:#86efac;background:#f0fdf4}.thcs-flex-export-progress__bar{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-bottom:.4rem}.thcs-flex-export-progress__bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#38bdf8);transition:width .25s ease}.thcs-flex-export-progress__meta{margin:0;font-size:.78rem;color:#334155}.thcs-flex-export-progress__label{margin:.25rem 0 0;font-size:.76rem;color:#475569}.thcs-flex-export-result{display:flex;flex-direction:column;gap:.65rem}.thcs-flex-export-result__banner{display:flex;gap:.65rem;align-items:flex-start;padding:.65rem .75rem;border-radius:10px;border:1px solid #e2e8f0}.thcs-flex-export-result__banner i{font-size:1.25rem;margin-top:.1rem}.thcs-flex-export-result__banner p{margin:.2rem 0 0;font-size:.8rem;color:#475569}.thcs-flex-export-result__banner--success{background:#f0fdf4;border-color:#86efac;color:#166534}.thcs-flex-export-result__banner--partial{background:#fffbeb;border-color:#fcd34d;color:#92400e}.thcs-flex-export-result__banner--failed,.thcs-flex-export-result__banner--cancelled{background:#fef2f2;border-color:#fecaca;color:#991b1b}.thcs-flex-export-result__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0}.thcs-flex-export-result__stats dt{margin:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.thcs-flex-export-result__stats dd{margin:.15rem 0 0;font-size:.92rem;font-weight:700;color:#0f172a}.thcs-flex-export-result__ok{color:#15803d!important}.thcs-flex-export-result__fail{color:#b91c1c!important}.thcs-flex-export-result__block{padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:8px;background:#fafafa}.thcs-flex-export-result__block--fail{background:#fff5f5;border-color:#fecaca}.thcs-flex-export-result__block h4{margin:0 0 .35rem;font-size:.8rem;color:#334155}.thcs-flex-export-result__file code{font-size:.82rem;word-break:break-all}.thcs-flex-export-result__size{font-size:.78rem;color:#64748b}.thcs-flex-export-result__hint{margin:.25rem 0 0;font-size:.76rem;color:#475569;line-height:1.45}.thcs-flex-export-result__tree,.thcs-flex-export-result__fail-list,.thcs-flex-export-result__ok-list{margin:.25rem 0 0;padding-left:1.1rem;font-size:.76rem;color:#334155}.thcs-flex-export-result__tree ul{margin:.2rem 0 .35rem;padding-left:1rem}.thcs-flex-export-result__tree code,.thcs-flex-export-result__ok-list code{font-size:.72rem;word-break:break-all}.thcs-flex-export-result__more{color:#94a3b8;font-style:italic}.thcs-flex-export-result__fail-list li+li{margin-top:.25rem}.thcs-flex-export-result details summary{cursor:pointer;font-size:.78rem;font-weight:600;color:#334155}.thcs-flex-export-window__section--save{margin-bottom:.35rem}.thcs-flex-export-dialog__save-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.thcs-flex-export-dialog__save-select{flex:1 1 10rem;min-width:0;max-width:100%;padding:.32rem .45rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.78rem;color:#0f172a;background:#fff}.thcs-flex-export-dialog__save-clear{min-width:2rem;padding-inline:.45rem!important;color:#64748b!important}.thcs-flex-export-dialog__save-note{margin:.3rem 0 0;font-size:.72rem;color:#64748b;line-height:1.4}.thcs-flex-export-dialog__save-note code{font-size:.7rem;word-break:break-all}.thcs-flex-export-dialog__save-note .fa-circle-check{color:#16a34a;margin-right:.15rem}.thcs-flex-export-dialog__remember-save-inline{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:#64748b;cursor:pointer;white-space:nowrap}.thcs-flex-export-result__location{display:flex;gap:.55rem;align-items:flex-start;margin-top:.45rem;padding:.5rem .6rem;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;font-size:.76rem;color:#475569}.thcs-flex-export-result__location i{margin-top:.1rem;color:#2563eb}.thcs-flex-export-result__location strong{display:block;font-size:.8rem;color:#0f172a;margin-bottom:.15rem}.thcs-flex-export-result__location p{margin:0;line-height:1.45}.thcs-flex-export-result__location--picker{background:#f0fdf4;border-color:#86efac}.thcs-flex-export-result__location--picker i{color:#16a34a}.thcs-flex-export-result__location--drive{background:#eff6ff;border-color:#93c5fd}.thcs-flex-export-result__location--drive i{color:#2563eb}.thcs-flex-export-result__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.thcs-flex-export-result__action-msg{margin:.45rem 0 0;padding:.4rem .55rem;border-radius:6px;background:#eff6ff;border:1px solid #bfdbfe;font-size:.76rem;color:#1e40af}.thcs-flex-export-result__hint--ok{color:#15803d}.table--school-profile .school-col-actions,.table--school-profile .th-dash-actions.school-col-actions{min-width:7.5rem;max-width:9rem}.school-profile-cell--empty{color:#94a3b8}.school-profile-link{color:#2563eb;font-weight:600;font-size:.82rem;text-decoration:none}.school-profile-link:hover{text-decoration:underline}.school-profile-edit-row td{white-space:normal;max-width:none;padding:0!important;background:#f8fafc;border-top:none}.school-profile-edit{padding:.75rem .85rem .85rem;border-top:2px solid #dbeafe}.school-profile-edit__section+.school-profile-edit__section{margin-top:.75rem;padding-top:.65rem;border-top:1px dashed #e2e8f0}.school-profile-edit__section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.45rem}.school-profile-edit__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.5rem .65rem}.school-profile-edit__field{display:flex;flex-direction:column;gap:.2rem;min-width:0}.school-profile-edit__field--wide{grid-column:1 / -1}.school-profile-edit__field>span{font-size:.72rem;font-weight:600;color:#64748b}.dash-col-menu-summary{font-size:.78rem;line-height:1.35;max-width:14rem}.dash-grant-row--editing-menu{outline:2px solid rgba(59,130,246,.45);outline-offset:-2px}.grant-console{display:grid;grid-template-columns:minmax(14rem,22rem) minmax(0,1fr);gap:1rem;align-items:start}@media (max-width: 960px){.grant-console:not(.grant-scope-console--cols-3){grid-template-columns:1fr}}.grant-console__card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.85rem}.grant-console__tabs{display:inline-flex;border:1px solid #e2e8f0;border-radius:7px;overflow:hidden;background:#f8fafc}.grant-console__tab{border:none;background:transparent;color:#64748b;padding:.3rem .7rem;font-size:.74rem;font-weight:600;cursor:pointer;min-height:1.625rem}.grant-console__tab--on{background:#2563eb;color:#fff}.grant-toolbar__mode{display:inline-flex;flex-wrap:nowrap;align-items:stretch;gap:.3rem;flex-shrink:0}.grant-console__session-open{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;min-height:1.625rem;min-width:2.5rem;padding:.28rem .6rem;border:1px solid #dbeafe;border-radius:7px;background:#f8fafc;color:#1d4ed8;font-size:.68rem;font-weight:650;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.grant-console__session-open:not(:disabled):active{transform:scale(.98)}.grant-console__session-open:not(:disabled):hover{background:#dbeafe;border-color:#60a5fa}.grant-console__session-open:disabled{opacity:.42;cursor:not-allowed}.grant-console__session-open i{font-size:.85rem}.setting-dash-head{margin-bottom:.85rem}.setting-dash-head__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700;color:#0f172a}.setting-dash-head__lead{margin:0;font-size:.9rem;color:var(--muted, #64748b);max-width:42rem}.setting-dash-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;padding:.35rem;background:#f1f5f9;border-radius:10px;border:1px solid #e2e8f0}.setting-dash-tabs__btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid transparent;background:transparent;color:#475569;padding:.45rem .85rem;font-size:.82rem;font-weight:600;border-radius:8px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em}.setting-dash-tabs__btn i{font-size:.85em;opacity:.85}.setting-dash-tabs__btn:hover{background:#fff;color:#1e40af}.setting-dash-tabs__btn--on{background:#fff;color:#1d4ed8;border-color:#bfdbfe;box-shadow:0 1px 2px #0f172a0f}.admin-settings{display:grid;grid-template-columns:minmax(11rem,15rem) minmax(0,1fr);gap:1.25rem;align-items:start}@media (max-width: 900px){.admin-settings{grid-template-columns:1fr}}.admin-settings__sidebar{position:sticky;top:.75rem;display:flex;flex-direction:column;gap:.5rem}.admin-settings__sidebar-kicker{margin:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;padding:0 .35rem}.admin-settings__nav{display:flex;flex-direction:column;gap:.25rem;padding:.35rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}@media (max-width: 900px){.admin-settings__nav{flex-direction:row;flex-wrap:wrap}}.admin-settings__nav-item{display:flex;align-items:center;gap:.45rem;width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:8px;padding:.45rem .55rem;cursor:pointer;color:#334155;font-size:.82rem;font-weight:600}.admin-settings__nav-item i{width:1.1rem;text-align:center;color:#64748b;font-size:.8rem}.admin-settings__nav-item--on i{color:#2563eb}.admin-settings__nav-item:hover{background:#fff;border-color:#e2e8f0}.admin-settings__nav-item--on{background:#fff;border-color:#bfdbfe;box-shadow:0 1px 3px #2563eb14}.admin-settings__nav-icon{width:1.65rem;height:1.65rem;border-radius:8px;background:#eff6ff;color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.8rem}.admin-settings__nav-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.admin-settings__nav-label{font-size:.82rem;font-weight:700}.admin-settings__nav-desc{font-size:.68rem;color:#64748b;font-weight:600}.admin-settings__main{min-width:0}.admin-settings__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid #e2e8f0}.admin-settings__title{margin:0 0 .65rem;font-size:1.1rem;font-weight:700;color:#0f172a}.admin-settings__desc{margin:0;font-size:.88rem;color:#64748b;max-width:40rem;line-height:1.45}.admin-settings__method{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .55rem;border-radius:6px;white-space:nowrap}.admin-settings__method--lookup{background:#ede9fe;color:#5b21b6}.admin-settings__method--compact{background:#ecfdf5;color:#047857}.admin-settings__method--server{background:#fff7ed;color:#c2410c}.admin-settings__method--config{background:#f0f9ff;color:#0369a1}.admin-settings__method--tree{background:#fef3c7;color:#b45309}.admin-settings-surface{border:1px solid #c7d8f0;border-radius:12px;background:#fff;padding:.85rem}.admin-settings-surface:has(.grant-console--hub-fixed){overflow:hidden}.admin-settings-surface .grant-console:not(.grant-console--hub-fixed){min-height:min(70vh,40rem)}.grant-console__card-head--inline{margin-bottom:.65rem;justify-content:flex-end}.admin-settings-form{max-width:36rem;padding:1rem 1.1rem;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.admin-settings-form__row{flex-wrap:wrap;gap:.65rem;align-items:flex-end}.admin-catalog{display:grid;grid-template-columns:minmax(8.5rem,11rem) minmax(0,1fr);gap:.85rem;align-items:start}.admin-catalog--hub-fixed{--catalog-hub-height: min(72vh, calc(100dvh - 10.5rem) );align-items:stretch;height:var(--catalog-hub-height);min-height:20rem;max-height:var(--catalog-hub-height);overflow:hidden}.admin-catalog--no-tabs{display:flex;flex-direction:column;grid-template-columns:minmax(0,1fr)}.admin-catalog--no-tabs .admin-catalog__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.admin-catalog--hub-fixed .admin-catalog__tabs{min-height:0;overflow-y:auto;overscroll-behavior:contain}.admin-catalog--hub-fixed .admin-catalog__body{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.admin-catalog--hub-fixed .admin-ref-block,.admin-catalog--hub-fixed .portal-inline{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;overflow:hidden}.admin-catalog--hub-fixed .ref-toolbar-compact{flex-shrink:0;margin-bottom:.55rem}.admin-catalog--hub-fixed .table-wrap{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.admin-catalog--hub-fixed .table-wrap table thead th{position:sticky;top:0;z-index:2}.admin-edu-surface .admin-catalog--hub-fixed{overflow:hidden}@media (max-width: 959px){.admin-catalog--hub-fixed{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);--catalog-hub-height: min(82vh, calc(100dvh - 7.5rem) );height:var(--catalog-hub-height);min-height:24rem;max-height:var(--catalog-hub-height);gap:.45rem}.admin-catalog--hub-fixed .admin-catalog__tabs--strip,.admin-catalog--hub-fixed .admin-catalog__tabs{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;gap:.28rem;padding-bottom:.35rem;margin-bottom:.15rem;border-bottom:1px solid #e2e8f0;max-height:none}.admin-catalog--hub-fixed .admin-catalog__tab{width:auto;flex:0 0 auto;white-space:nowrap;padding:.32rem .62rem;font-size:.72rem;box-shadow:none}.admin-catalog--hub-fixed .admin-catalog__tab--on{box-shadow:inset 0 -2px #2563eb;padding-left:.62rem}.admin-catalog--hub-fixed .admin-catalog__tab .admin-console__nav-index{display:none}.admin-catalog--hub-fixed .admin-catalog__body{min-height:0}}.admin-catalog__tabs{display:flex;flex-direction:column;flex-wrap:nowrap;gap:.2rem;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}.admin-catalog__tab{display:flex;align-items:center;gap:.35rem;width:100%;box-sizing:border-box;text-align:left;border:none;background:transparent;padding:.42rem .58rem;font-size:.78rem;font-weight:600;color:#475569;cursor:pointer;border-radius:calc(var(--admin-nav-item-radius, 10px) - 2px);text-transform:uppercase;letter-spacing:.04em}.admin-catalog__tab:hover{background:#f1f5f9}.admin-catalog__tab--on{color:#1d4ed8;background:#eff6ff;box-shadow:inset 3px 0 #2563eb;padding-left:calc(.58rem - 3px)}.admin-ref-block{padding:0;border:none;background:transparent}.admin-portals-settings{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;overflow:hidden}.admin-portals-settings--hub-fixed{--portals-hub-height: min(72vh, calc(100dvh - 10.5rem) );height:var(--portals-hub-height);min-height:20rem;max-height:var(--portals-hub-height)}.portals-hub{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;max-width:1180px;margin:0 auto;width:100%}.portals-hub__card{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;border:1.5px solid var(--admin-edu-frame, #475569);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:var(--admin-edu-shadow, 0 8px 24px rgba(15, 23, 42, .08))}.portals-hub__hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;padding:.85rem 1.25rem;border-bottom:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#f8fafc,#eef2ff 55%,#ecfdf5)}.portals-hub__hero-title{margin:0;font-size:.92rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#0f172a}.portals-hub__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;flex:1 1 auto;min-height:0;overflow:hidden}.portals-hub__pane{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.portals-hub__pane--admin{border-right:1px solid rgba(15,23,42,.08)}.portals-hub__pane-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;padding:.75rem 1rem;border-bottom:1px solid rgba(15,23,42,.06);background:#f8fafceb}.portals-hub__pane-head--user{border-top:3px solid #2563eb}.portals-hub__pane-head--admin{border-top:3px solid #0f766e}.portals-hub__pane-title{margin:0;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0f172a}.portals-hub__pane-sub{margin:.2rem 0 0;font-size:.75rem;color:#64748b}.portals-hub__scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:.35rem .5rem .65rem}.portals-hub__pane-footer{flex-shrink:0;padding:.65rem 1rem;border-top:1px solid rgba(15,23,42,.06);display:flex;justify-content:flex-end;background:#fafafa}.portals-hub .admin-nav-perm-tree--embedded{border:none;box-shadow:none;background:transparent}.portals-hub .admin-nav-perm-tree--embedded .admin-nav-perm-tree__head{display:none}.portals-hub .admin-nav-perm-tree--embedded .admin-nav-perm-tree__row{max-width:100%;grid-template-columns:minmax(0,1fr) 3rem}.portals-hub__col-labels{display:grid;grid-template-columns:minmax(0,1fr) 3rem;gap:0;padding:.35rem .55rem .2rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;border-bottom:1px solid rgba(15,23,42,.08);margin-bottom:.15rem}.portals-hub__col-labels span:last-child{text-align:center}.portals-hub .admin-nav-perm-tree--embedded .admin-nav-perm-tree__hint{margin:.35rem .5rem 0;padding:.55rem .65rem;font-size:.76rem;line-height:1.4;border-radius:8px;background:#f1f5f9d9}@media (max-width: 960px){.admin-portals-settings--hub-fixed{--portals-hub-height: min(82vh, calc(100dvh - 7.5rem) );min-height:24rem}.portals-hub__grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.portals-hub__pane--admin{border-right:none;border-bottom:1px solid rgba(15,23,42,.08)}}.admin-console__main:has(#dash-portals-hub){display:flex;flex-direction:column;overflow:hidden;padding-bottom:.35rem}.admin-console__main:has(#dash-portals-hub) .admin-dash-panel.admin-edu-surface{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;width:100%;max-width:100%;overflow:hidden}.admin-console__main:has(#dash-portals-hub) .admin-dash-panel__title{flex-shrink:0;margin-bottom:.5rem}.admin-portals-settings__block-title{margin:0 0 .65rem;font-size:.95rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--admin-nav-text)}.admin-portals-settings__block{margin-top:.25rem}.admin-menu-catalog{margin-bottom:0;border:1.5px solid var(--admin-edu-frame, #475569);border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:var(--admin-edu-shadow, 0 8px 24px rgba(15, 23, 42, .08));overflow:hidden;min-width:0;max-width:100%;width:100%}.admin-menu-catalog--fill{display:flex;flex-direction:column;height:min(82vh,calc(100dvh - 7.5rem));max-height:min(82vh,calc(100dvh - 7.5rem));min-height:24rem}.admin-menu-catalog__tree-head{display:flex;align-items:center;gap:.4rem;padding:.45rem .55rem 0;flex-shrink:0}.admin-menu-catalog__tree-head .admin-menu-catalog__search{flex:1 1 auto;min-width:0;margin:0}.admin-menu-catalog__reload{flex-shrink:0;padding:.35rem .55rem}.admin-menu-catalog__hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(90deg,#eff6ff,#f8fafc 55%,#fff)}.admin-menu-catalog__title{margin:0 0 .25rem;font-size:.95rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1e3a8a}.admin-menu-catalog__lead{margin:0;font-size:.78rem;color:#64748b;max-width:42rem}.admin-menu-catalog__hero-actions{display:flex;flex-wrap:wrap;gap:.4rem}.admin-menu-catalog__err{margin:.65rem 1rem 0}.admin-menu-catalog--fill .admin-menu-catalog__grid{flex:1 1 auto;min-height:0}.admin-menu-catalog__grid{display:grid;grid-template-columns:minmax(11rem,15rem) minmax(0,1fr);gap:0;min-height:0;overflow:hidden}.admin-menu-catalog__grid--tree{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (min-width: 960px){.admin-menu-catalog__grid--tree{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(78vh,820px)}.admin-menu-catalog__tree-col .menu-tree{padding:.35rem .5rem .75rem}}@media (max-width: 959px){.admin-menu-catalog__grid--tree{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(14rem,42vh) minmax(16rem,auto)}.admin-menu-catalog__tree-col{border-right:none;border-bottom:1px solid #e2e8f0}}.admin-menu-catalog--fill.admin-menu-catalog--tree-layout{width:100%;max-width:none;margin:0}.admin-menu-catalog__tree-col{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid #e2e8f0;background:#f8fafc}.admin-menu-catalog__tree-col .admin-menu-catalog__search{margin:0;flex-shrink:0}.admin-menu-catalog__tree-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.menu-tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .55rem .4rem;flex-shrink:0}.menu-tree-toolbar__hint{font-size:.68rem;color:#64748b}.menu-tree{list-style:none;margin:0;padding:.2rem .35rem .55rem;overflow-y:auto;flex:1 1 auto;min-height:0}.menu-tree-node{list-style:none}.menu-tree-children{list-style:none;margin:0;padding:0}.menu-tree-row{display:flex;align-items:center;gap:.28rem;margin-bottom:.14rem;border-radius:8px;border:1px solid transparent;background:#fff;min-height:2.2rem}.menu-tree-row--on{border-color:#93c5fd;background:#eff6ff;box-shadow:inset 3px 0 #2563eb}.menu-tree-row--off{opacity:.55}.menu-tree-row--dragging{opacity:.45}.menu-tree-row--drop-before,.menu-tree-row--drop-after{border-color:#38bdf8}.menu-tree-row--drop-child{outline:2px dashed #22c55e;outline-offset:-2px}.menu-tree-row__grip{flex-shrink:0;margin-left:.15rem}.dash-dnd-handle--off{opacity:.35;cursor:not-allowed}.menu-tree-row__fold,.menu-tree-row__fold-spacer{flex-shrink:0;width:1.25rem;display:inline-flex;align-items:center;justify-content:center}.menu-tree-row__fold{border:none;background:transparent;padding:0;cursor:pointer;color:#64748b}.menu-tree-row__main{flex:1 1 auto;min-width:0;max-width:100%;display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .45rem;border:none;background:transparent;text-align:left;padding:.35rem .15rem;cursor:pointer;font:inherit;overflow:hidden}.menu-tree-row__icon{color:#475569;font-size:.8rem}.menu-tree-row__index{flex-shrink:0;font-size:.72rem;font-weight:700;color:#2563eb;min-width:2.1rem}.menu-tree-row__label{font-size:.82rem;font-weight:600;color:#0f172a}.menu-tree-row__key{font-size:.65rem;font-family:ui-monospace,Consolas,monospace;color:#64748b}.menu-tree-row__badges{flex-shrink:0;display:flex;gap:.2rem}.menu-tree-row__acts{flex-shrink:0;display:flex;gap:.1rem;padding-right:.2rem}.menu-tree-row__act{border:none;background:#f1f5f9;border-radius:6px;width:1.55rem;height:1.55rem;cursor:pointer;color:#334155}.menu-tree-row__act:hover{background:#e2e8f0}.menu-tree-row__act--danger{color:#b91c1c}.menu-tree-row__act--danger:hover{background:#fee2e2}.menu-tree-drop-line{height:3px;margin:.08rem .25rem;border-radius:2px;background:linear-gradient(90deg,#2563eb,#38bdf8)}.menu-tree-drop-line--child{margin-bottom:.2rem}.menu-tree-empty,.menu-tree-foot{font-size:.72rem;color:#64748b;padding:.5rem .65rem;margin:0}.menu-tree-foot code{font-size:.68rem}.admin-menu-catalog__list-panel{display:flex;flex-direction:column;border-right:1px solid #e2e8f0;background:#f8fafc;min-height:0}.admin-menu-catalog__search{margin:.55rem;flex-shrink:0}.admin-menu-catalog__list{list-style:none;margin:0;padding:.25rem .35rem .55rem;overflow-y:auto;flex:1 1 auto;min-height:0}.admin-menu-catalog__list-empty{padding:.75rem .5rem;font-size:.78rem;color:#94a3b8}.admin-menu-catalog__list-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left;border:1px solid transparent;border-radius:8px;padding:.42rem .48rem;margin-bottom:.2rem;background:transparent;cursor:pointer;font:inherit}.admin-menu-catalog__list-item:hover{background:#fff;border-color:#cbd5e1}.admin-menu-catalog__list-item--on{background:#eff6ff;border-color:#93c5fd;box-shadow:inset 3px 0 #2563eb}.admin-menu-catalog__list-item--off{opacity:.55}.admin-menu-catalog__list-key{font-size:.68rem;font-family:ui-monospace,Consolas,monospace;color:#475569}.admin-menu-catalog__list-label{font-size:.76rem;font-weight:600;color:#0f172a}.admin-menu-catalog__badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0f766e;background:#ccfbf1;padding:.08rem .35rem;border-radius:4px}.admin-menu-catalog__badge--sys{color:#1d4ed8;background:#dbeafe}.admin-menu-catalog__badge--gen{color:#0f766e;background:#ccfbf1}.admin-menu-catalog__badge--off{color:#b45309;background:#fef3c7}.admin-menu-catalog__generated-hint{margin:0 1rem .5rem;padding:.5rem .65rem;border-radius:8px;background:#fffbeb;border:1px solid #fde68a}.admin-menu-catalog__editor{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;padding:0}.admin-menu-catalog__scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:.65rem 1rem .5rem}.admin-menu-catalog__section{margin:0 0 .65rem;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.admin-menu-catalog__section--link{border-color:#93c5fd;background:linear-gradient(180deg,#f0f9ff,#fff)}.admin-menu-catalog__section--position{border-color:#86efac;background:linear-gradient(180deg,#f0fdf4,#fff)}.admin-menu-catalog__pos-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;padding-top:.45rem;border-top:1px dashed #cbd5e1}.admin-menu-catalog__pos-tools-label{font-size:.72rem;color:#475569;margin-right:.25rem}.admin-menu-catalog__section>legend{padding:0 .35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#1e3a8a}.admin-menu-catalog__section-hint{margin:0 0 .45rem;font-size:.74rem;color:#64748b;line-height:1.4}.admin-menu-catalog__field--full{grid-column:1 / -1}.admin-menu-catalog__preview{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;margin-top:.45rem;padding:.4rem .5rem;border-radius:8px;background:#f1f5f9;border:1px dashed #cbd5e1}.admin-menu-catalog__preview-label{font-size:.68rem;font-weight:700;text-transform:uppercase;color:#475569}.admin-menu-catalog__preview-value{font-size:.78rem;color:#0f172a;word-break:break-all}.admin-menu-catalog__examples{margin:.45rem 0 0;font-size:.7rem;color:#64748b;line-height:1.45}.admin-menu-catalog__list-link{font-size:.65rem;color:#0369a1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-menu-catalog__editor-title{flex-shrink:0;margin:0;padding:.55rem 1rem .45rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#334155;border-bottom:1px solid #e2e8f0;background:#f8fafc}.admin-menu-catalog__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .65rem}.admin-menu-catalog__field{display:flex;flex-direction:column;gap:.2rem;min-width:0}.admin-menu-catalog__field--sm{max-width:6rem}.admin-menu-catalog__field>span{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.admin-menu-catalog__placements{grid-column:1 / -1;border:1px solid #e2e8f0;border-radius:8px;padding:.45rem .55rem;margin:0}.admin-menu-catalog__placements legend{font-size:.65rem;font-weight:600;text-transform:uppercase;color:#64748b;padding:0 .25rem}.admin-menu-catalog__chk{display:inline-flex;align-items:center;gap:.35rem;margin-right:.75rem;font-size:.78rem}.admin-menu-catalog__editor-actions{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:.55rem 1rem .65rem;border-top:1px solid #e2e8f0;background:#f8fafc}.admin-menu-versions{border-top:1px solid #e2e8f0;flex-shrink:0;background:#f8fafc}.admin-menu-versions__toggle{display:flex;align-items:center;gap:.45rem;width:100%;padding:.55rem .85rem;border:none;background:transparent;font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1e40af;cursor:pointer;text-align:left}.admin-menu-versions__toggle:hover{background:#eff6ff}.admin-menu-versions__count{margin-left:auto;font-size:.68rem;font-weight:700;color:#64748b;background:#e2e8f0;padding:.1rem .4rem;border-radius:999px}.admin-menu-versions__body{padding:0 .85rem .75rem;max-height:min(28vh,16rem);overflow-y:auto}.admin-menu-versions__hint{margin:0 0 .5rem;font-size:.72rem;color:#64748b;line-height:1.45}.admin-menu-versions__save{display:flex;gap:.4rem;margin-bottom:.55rem}.admin-menu-versions__save .input-control{flex:1 1 auto;min-width:0}.admin-menu-versions__err{margin-bottom:.45rem;font-size:.75rem}.admin-menu-versions__empty{margin:0;font-size:.74rem;color:#94a3b8}.admin-menu-versions__list{list-style:none;margin:0;padding:0}.admin-menu-versions__row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.45rem 0;border-bottom:1px solid #e2e8f0}.admin-menu-versions__row:last-child{border-bottom:none}.admin-menu-versions__meta{display:flex;flex-direction:column;gap:.12rem;min-width:0}.admin-menu-versions__no{font-size:.72rem;font-weight:800;color:#2563eb}.admin-menu-versions__label{font-size:.78rem;font-weight:600;color:#0f172a}.admin-menu-versions__sub{font-size:.68rem;color:#64748b}.admin-menu-versions__restore{flex-shrink:0}.admin-menu-versions__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem;flex-shrink:0}.admin-menu-versions__edit-input{font-size:.78rem;padding:.25rem .45rem}.admin-menu-catalog__root-nav-hint{margin:0 0 .4rem;font-size:.72rem;color:#1e40af}.admin-menu-catalog__root-nav-warn{margin:0 0 .4rem;font-size:.72rem;color:#b45309;font-weight:600}.admin-menu-catalog__autofill-hint{margin:0 1rem .5rem;padding:.45rem .6rem;font-size:.72rem;color:#1e40af;background:#eff6ff;border-radius:.35rem;border-left:3px solid #2563eb;line-height:1.45}.admin-menu-catalog__hint{margin:0;font-size:.72rem;color:#64748b}@media (max-width: 900px){.admin-menu-catalog__grid{grid-template-columns:1fr}.admin-menu-catalog__list-panel{border-right:none;border-bottom:1px solid #e2e8f0;max-height:12rem}}.admin-years{display:grid;grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);gap:1rem;align-items:start;border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:.85rem;min-height:18rem}.admin-years--hub-fixed{--years-hub-height: min(72vh, calc(100dvh - 10.5rem) );align-items:stretch;height:var(--years-hub-height);min-height:20rem;max-height:var(--years-hub-height);overflow:hidden}.admin-years--hub-fixed .admin-years__rail{min-height:0;height:100%;overflow:hidden}.admin-years--hub-fixed .admin-years__add-row,.admin-years--hub-fixed .admin-years__meta{flex-shrink:0}.admin-years--hub-fixed .admin-years__list{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}.admin-years--hub-fixed .admin-years__detail{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.admin-years--hub-fixed .admin-years__bar,.admin-years--hub-fixed .admin-years__heading{flex-shrink:0}.admin-years--hub-fixed .admin-years__sessions{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.admin-years--hub-fixed .admin-years__sessions .ref-toolbar-compact{flex-shrink:0;margin-bottom:.55rem}.admin-years--hub-fixed .admin-years__sessions .table-wrap,.admin-years--hub-fixed .table-wrap--sessions{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.admin-years--hub-fixed .table-wrap table thead th{position:sticky;top:0;z-index:2}.admin-edu-surface .admin-years--hub-fixed{overflow:hidden}@media (max-width: 800px){.admin-years{grid-template-columns:1fr}.admin-years--hub-fixed{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);--years-hub-height: min(82vh, calc(100dvh - 7.5rem) );height:var(--years-hub-height);min-height:24rem;max-height:var(--years-hub-height);gap:.45rem}.admin-years--hub-fixed .admin-years__rail{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.35rem;max-height:none;height:auto;flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch;border-right:none;border-bottom:1px solid #e2e8f0;padding-right:0;padding-bottom:.45rem}.admin-years--hub-fixed .admin-years__add-row{flex:0 0 auto;min-width:7.5rem}.admin-years--hub-fixed .admin-years__meta{flex:0 0 auto;white-space:nowrap;font-size:.72rem}.admin-years--hub-fixed .admin-years__list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.28rem;max-height:none;overflow:visible;flex:1 1 auto;min-width:0}.admin-years--hub-fixed .admin-years__item{width:auto;flex:0 0 auto;white-space:nowrap;padding:.32rem .55rem;font-size:.78rem}.admin-years--hub-fixed .admin-years__detail{min-height:0}}@media (max-width: 800px){.admin-years__rail{border-right:none;border-bottom:1px solid #e2e8f0;padding-right:0;padding-bottom:.85rem}}.admin-years__rail{border-right:1px solid #e2e8f0;padding-right:.85rem;display:flex;flex-direction:column;gap:.65rem}.admin-years__add{display:flex;flex-direction:column;gap:.45rem}.field-inline--stack{flex-direction:column;align-items:stretch;gap:.2rem}.field-inline--stack>span{font-size:.72rem;font-weight:600;color:#64748b}.btn--block{width:100%;justify-content:center}.admin-years__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;max-height:min(50vh,22rem);overflow-y:auto}.admin-years__item{width:100%;text-align:left;border:1px solid transparent;background:#f8fafc;border-radius:8px;padding:.45rem .55rem;cursor:pointer;display:flex;flex-direction:column;gap:.1rem}.admin-years__item--on{background:#eff6ff;border-color:#93c5fd}.admin-years__item-label{font-size:.82rem;font-weight:700;color:#1e293b}.admin-years__item-code{font-size:.68rem;color:#64748b}.admin-years__empty,.admin-years__placeholder{margin:0;font-size:.88rem;color:#64748b}.admin-years__detail{min-width:0}.admin-years__detail-title{margin:0 0 .75rem;font-size:1.05rem}.admin-years__add-row{display:flex;gap:.35rem}.admin-years__add-row .input-inline{flex:1;min-width:0}.admin-years__meta{margin:0;font-size:.8rem;color:#64748b}.admin-years__bar{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem;margin-bottom:.55rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:.08rem}.admin-years__bar>*{flex-shrink:0}.admin-years__bar .input-inline{max-width:8rem}.admin-years__bar-label{flex:1;min-width:10rem;max-width:18rem}.admin-years__heading{margin:0 0 .65rem;font-size:1rem;font-weight:700}.ref-toolbar-compact{display:flex;flex-wrap:nowrap;align-items:center;gap:.28rem .35rem;margin-bottom:.55rem;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:.1rem}.ref-toolbar-compact>*{flex-shrink:0}.ref-toolbar-compact__search{flex:0 0 7rem;min-width:5.5rem;max-width:9rem}.ref-toolbar-compact__add{width:7rem;min-width:0}.ref-toolbar-compact__add--slug{width:5rem}.ref-toolbar-compact__sel{max-width:9rem;font-size:.8rem;padding:.35rem .5rem}.ref-toolbar-compact .ref-data-pager{margin:0;padding:0;border:none;background:transparent;gap:.35rem}.ref-data-muted{font-size:.85rem;color:var(--muted, #64748b)}.ref-data-actions{white-space:nowrap}.ref-data-actions .btn+.btn{margin-left:.15rem}.ref-data-row--editing{background:#f8fafc}.portal-inline{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:.45rem;padding:.65rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.portal-inline>*{flex-shrink:0}.portal-inline__field{flex:1;min-width:14rem;display:flex;flex-direction:column;gap:.2rem}.portal-inline__label{font-size:.72rem;font-weight:600;color:#64748b}.portal-inline .select-control{width:100%;max-width:28rem}.grant-console--compact{gap:.65rem}.grant-console--compact .grant-directory{padding:.55rem}.grant-console--hub-fixed{--grant-hub-height: min(72vh, calc(100dvh - 10.5rem) );align-items:stretch;gap:.85rem;height:var(--grant-hub-height);min-height:20rem;max-height:var(--grant-hub-height);overflow:hidden}@media (min-width: 960px){.grant-console--hub-fixed{grid-template-columns:minmax(14rem,22rem) minmax(0,1fr)}}.grant-console--hub-fixed .grant-directory{max-height:none;height:100%;min-height:0;overflow:hidden}.grant-console--hub-fixed .grant-directory__pager{flex-shrink:0}.grant-console--hub-fixed .grant-console__main{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.grant-console--hub-fixed .grant-toolbar{flex-shrink:0;margin-bottom:.45rem}.grant-scope-panel{flex-shrink:0;margin-bottom:.45rem;padding:.5rem .55rem;border:1.5px solid var(--admin-edu-line, #64748b);border-radius:10px;background:linear-gradient(180deg,#f8fafc,#fff);box-shadow:0 1px 3px #0f172a0d}.grant-scope-panel__head{margin:0 0 .4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#1e3a8a}.grant-scope-panel__grid{display:flex;flex-wrap:wrap;gap:.45rem}.grant-scope-panel__grid .field-inline{margin:0}.grant-profile-slot{flex-shrink:0;margin-bottom:.45rem}.grant-profile-panel{padding:.55rem .65rem;border:1px solid #cbd5e1;border-radius:10px;background:linear-gradient(180deg,#f8fafc,#fff);box-shadow:0 1px 2px #0f172a0a}.grant-profile-panel--collapsible>summary{list-style:none;cursor:pointer;user-select:none}.grant-profile-panel--collapsible>summary::-webkit-details-marker{display:none}.grant-profile-panel__summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .75rem}.grant-profile-panel__summary-main{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;min-width:0}.grant-profile-panel__summary:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.62rem;color:#64748b;margin-right:.35rem;transition:transform .15s ease}.grant-profile-panel--collapsible[open]>.grant-profile-panel__summary:before{transform:rotate(90deg)}.grant-profile-panel__preview{font-size:.78rem;font-weight:500;color:#334155;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grant-profile-panel__body{padding-top:.5rem;margin-top:.45rem;border-top:1px solid #e2e8f0}.grant-profile-panel__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem .75rem;margin-bottom:.45rem}.grant-profile-panel__title{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a}.grant-profile-panel__meta{font-size:.68rem;color:#64748b}.grant-profile-panel__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem .55rem;align-items:end}.grant-profile-field--readonly{gap:.15rem}.grant-profile-field__static{display:block;min-height:2rem;padding:.32rem .45rem;font-size:.8rem;line-height:1.35;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grant-profile-field__textarea{width:100%;min-height:3.25rem;padding:.32rem .45rem;font-size:.8rem;resize:vertical}.grant-profile-field{display:flex;flex-direction:column;gap:.2rem;min-width:0}.grant-profile-field--full{grid-column:1 / -1}.grant-profile-field__label{font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#475569}.grant-profile-field__input{width:100%;min-height:2rem;padding:.32rem .45rem;font-size:.8rem}.grant-profile-panel__action{display:flex;align-items:flex-end;padding-bottom:.05rem}@media (max-width: 900px){.grant-profile-panel__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grant-profile-panel__action{grid-column:1 / -1;justify-content:flex-end}}.grant-console--hub-fixed .grant-profile-slot{flex-shrink:0;margin-bottom:.15rem}.grant-console--hub-fixed .grant-profile-panel{padding:.35rem .45rem;border-radius:8px}.grant-console--hub-fixed .grant-profile-panel__body{padding-top:.35rem;margin-top:.3rem}.grant-console--hub-fixed .grant-profile-panel__grid{gap:.28rem .4rem}.grant-console--hub-fixed .grant-profile-field{gap:.12rem}.grant-console--hub-fixed .grant-profile-field__label{font-size:.58rem}.grant-console--hub-fixed .grant-profile-field__static,.grant-console--hub-fixed .grant-profile-field__input{min-height:1.65rem;padding:.2rem .38rem;font-size:.74rem}.grant-console--hub-fixed .grant-profile-field__textarea{min-height:2.1rem;padding:.22rem .38rem;font-size:.74rem}.grant-console--hub-fixed .grant-profile-panel__preview{font-size:.72rem;max-width:10rem}.grant-console--hub-fixed .grant-profile-panel__meta{font-size:.62rem}.grant-console--hub-fixed .grant-profile-panel__action .btn{font-size:.72rem;padding:.22rem .55rem}.grant-console--hub-fixed .grant-console__split{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.45rem;overflow:hidden}@media (min-width: 960px){.grant-console--hub-fixed .grant-console__split:has(.grant-console__split-profile){flex-direction:row;align-items:stretch;gap:.65rem}.grant-console--hub-fixed .grant-console__split-profile{flex:0 0 36%;width:36%;max-width:36%;min-width:0;min-height:0;margin-bottom:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.grant-console--hub-fixed .grant-profile-panel__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grant-console--hub-fixed .grant-console__split:has(.grant-console__split-profile) .grant-console__editor-body{flex:1 1 0;min-width:0;max-width:none}.grant-console--hub-fixed .grant-console__split-profile .grant-profile-panel{min-height:0}}.grant-console--hub-fixed .grant-console__editor-body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:.25rem}.grant-console--hub-fixed .grant-scope-details{flex-shrink:0;margin-bottom:0}.grant-console--hub-fixed .grant-chips,.grant-console--hub-fixed .grant-chips__meta{flex-shrink:0}.grant-console--hub-fixed .grant-tree-panel--scroll{flex:1 1 auto;min-height:0;min-width:0;max-height:none;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;margin-bottom:0;padding:0 .55rem .55rem;-webkit-overflow-scrolling:touch}.grant-console--hub-fixed .grant-tree-panel--scroll .admin-nav-perm-tree{padding-right:.15rem;width:max-content;min-width:100%}.grant-console--hub-fixed .grant-tree-panel--scroll .grant-scope-matrix__grid-fit.admin-nav-perm-tree{width:100%;min-width:0;max-width:none}.grant-console--hub-fixed .grant-tree-panel--scroll .admin-nav-perm-tree__head{top:0;margin-left:-.55rem;margin-right:-.55rem;padding-left:.55rem;padding-right:.55rem;border-top-left-radius:8px;border-top-right-radius:8px}.grant-console--hub-fixed .admin-nav-perm-tree__hint{display:none}.admin-edu-surface .grant-console--hub-fixed{overflow:hidden}@media (max-width: 959px){.grant-console--hub-fixed:not(.grant-scope-console--modal){grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(14rem,42vh) minmax(16rem,auto);--grant-hub-height: min(82vh, calc(100dvh - 7.5rem) );height:var(--grant-hub-height);min-height:24rem;max-height:var(--grant-hub-height);gap:0}.grant-console--hub-fixed .grant-directory{height:auto;max-height:none;min-height:0;border-radius:0;border-bottom:1px solid #e2e8f0}.grant-console--hub-fixed .grant-console__main{min-height:0;border-radius:0}.grant-console--hub-fixed .grant-tree-panel--scroll{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.grant-console--hub-fixed .grant-tree-panel--scroll .admin-nav-perm-tree{min-width:28.5rem;width:max-content;padding-right:.35rem}.grant-console--hub-fixed .grant-tree-panel--scroll .grant-scope-matrix__grid-fit.admin-nav-perm-tree{min-width:0;width:100%;max-width:none}.admin-nav-perm-tree__head,.admin-nav-perm-tree__row{grid-template-columns:minmax(0,1fr) 3.25rem 6.75rem}.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols .admin-nav-perm-tree__row{grid-template-columns:minmax(8rem,1fr) 3.1rem 3.35rem 3.35rem}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--with-portal .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--with-portal .admin-nav-perm-tree__row{grid-template-columns:minmax(8rem,1fr) 3.1rem 3.35rem 3.35rem 3.35rem}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope-unified.grant-scope-matrix__grid-fit{grid-template-columns:1.85rem minmax(7rem,max-content) 3.75rem 3.25rem 3.25rem 3.25rem minmax(0,1fr)}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope.grant-scope-matrix__grid-fit{grid-template-columns:minmax(7rem,max-content) 3.75rem 3.25rem 3.25rem 3.25rem minmax(0,1fr)}@supports not (grid-template-columns: subgrid){.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row{grid-template-columns:1.85rem minmax(7rem,10.5rem) 3.75rem 3.25rem 3.25rem 3.25rem minmax(0,1fr)}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__row{grid-template-columns:minmax(7rem,10.5rem) 3.75rem 3.25rem 3.25rem 3.25rem minmax(0,1fr)}}.admin-nav-perm-tree__head .admin-nav-perm-tree__col-menu,.admin-nav-perm-tree__row>.admin-nav-perm-tree__label{min-width:0;overflow-wrap:anywhere;word-break:break-word}.admin-nav-perm-tree__head .admin-nav-perm-tree__col-menu{font-size:.68rem;line-height:1.25}.admin-nav-perm-tree__head .admin-nav-perm-tree__col-access,.admin-nav-perm-tree__head .admin-nav-perm-tree__col-view,.admin-nav-perm-tree__head .admin-nav-perm-tree__col-edit,.admin-nav-perm-tree__head .admin-nav-perm-tree__col-hide,.admin-nav-perm-tree__head .admin-nav-perm-tree__col-startup,.admin-nav-perm-tree__head .admin-nav-perm-tree__col-mode{font-size:.62rem;padding-inline:.15rem;text-align:center}.admin-nav-perm-tree__mode{gap:.35rem;font-size:.72rem}.grant-toolbar__grow{display:none}.grant-toolbar__email{max-width:100%;flex:1 1 auto;min-width:0}.grant-toolbar__actions{flex-wrap:nowrap;justify-content:flex-end}}.grant-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;margin-bottom:.55rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.grant-toolbar>*{flex-shrink:0}.grant-toolbar__grow{flex:1 1 .35rem;min-width:.35rem}.grant-toolbar__email{display:inline-flex;align-items:center;gap:.35rem;max-width:min(100%,20rem);padding:.2rem .45rem;background:#f1f5f9;border-radius:6px;font-size:.78rem}.grant-toolbar__email-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grant-toolbar__input{flex:1;min-width:10rem;max-width:16rem}.grant-toolbar__actions{display:flex;flex-wrap:wrap;gap:.35rem}.grant-console__hint{margin:0 0 .5rem;font-size:.82rem;color:#64748b}.grant-console__hint--sm{font-size:.78rem}.grant-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.grant-chips__meta{margin:0 0 .5rem;font-size:.8rem;color:#64748b}.grant-chip{display:inline-flex;align-items:stretch;max-width:100%;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;overflow:hidden}.grant-chip--on{border-color:#93c5fd;background:#eff6ff}.grant-chip--off{opacity:.72}.grant-chip__btn{border:none;background:transparent;padding:.3rem .5rem;cursor:pointer;text-align:left;font-size:.76rem;color:#334155;max-width:22rem}.grant-chip__label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grant-chip__dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#94a3b8;margin-left:.25rem}.grant-chip__del{border:none;border-left:1px solid #e2e8f0;background:transparent;padding:0 .4rem;color:#94a3b8;cursor:pointer}.grant-chip__del:hover{color:#dc2626;background:#fef2f2}.grant-scope-details{margin-bottom:.5rem;font-size:.82rem}.grant-scope-details summary{cursor:pointer;font-weight:600;color:#475569;padding:.25rem 0}.grant-scope-details__grid{display:flex;flex-wrap:wrap;gap:.45rem;padding:.45rem 0 .25rem}.grant-scope-details__grid .field-inline{margin:0}.grant-tree-panel{border:1px solid #e2e8f0;border-radius:8px;padding:0 .5rem .5rem;max-height:min(55vh,28rem);overflow:auto}.grant-tree-panel .admin-nav-perm-tree__head{margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem;padding-right:.5rem;border-top-left-radius:7px;border-top-right-radius:7px}.admin-settings-surface{padding:.65rem}.admin-console__nav-menu-group-label{display:flex;align-items:center;gap:.4rem;padding:.35rem .55rem .2rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;cursor:default;user-select:none}.admin-dash-panel{width:100%;max-width:none}.admin-dash-panel__title{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;margin:0 0 .75rem;font-size:1.1rem;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.04em}.admin-edu-surface{--admin-edu-frame: #475569;--admin-edu-line: #64748b;--admin-edu-grid: #94a3b8;--admin-edu-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .08), 0 0 0 1px rgba(15, 23, 42, .03);--admin-edu-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .85)}.admin-edu-surface .admin-years,.admin-edu-surface .admin-catalog,.admin-edu-surface .admin-settings-surface{border:1.5px solid var(--admin-edu-frame);border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);padding:.9rem 1rem;box-shadow:var(--admin-edu-shadow)}.admin-edu-surface .admin-catalog{gap:1rem}.admin-edu-surface .admin-catalog__tabs,.admin-edu-surface .admin-catalog__body,.admin-edu-surface .admin-ref-block,.admin-edu-surface .grant-console,.admin-edu-surface .grant-console__main,.admin-edu-surface .grant-toolbar,.admin-edu-surface .ref-toolbar-compact,.admin-edu-surface .admin-nav-perm-tree,.admin-edu-surface .grant-scope-details,.admin-edu-surface .grant-hub__focus,.admin-edu-surface .grant-hub__editor{border:none;box-shadow:none;background:transparent}.admin-edu-surface .admin-catalog__tabs{padding:0;gap:.2rem}.admin-edu-surface .admin-ref-block{padding:0}.admin-edu-surface .ref-toolbar-compact{margin-bottom:.55rem;padding:0}.admin-edu-surface .grant-toolbar{border-bottom:1.5px solid var(--admin-edu-line);padding-bottom:.55rem;margin-bottom:.65rem;border-radius:0}.admin-edu-surface .admin-catalog__tab{display:flex;align-items:center;gap:.35rem}.admin-edu-surface .admin-catalog__tab .admin-console__nav-index{min-width:2.4rem;min-height:2.4rem;font-size:.62rem}.admin-edu-surface .admin-years__rail{border-right:1.5px solid var(--admin-edu-line);padding-right:.85rem}.admin-edu-surface .grant-directory{border:1.5px solid var(--admin-edu-line);border-radius:10px;box-shadow:0 1px 2px #0f172a0d,0 4px 14px #0f172a12;background:linear-gradient(180deg,#f8fafc,#fff 55%)}.admin-edu-surface .grant-directory__item,.admin-edu-surface .admin-years__item{border-color:transparent}.admin-edu-surface .grant-directory__item--active{border-color:#3b82f6;border-width:1px}.admin-edu-surface .grant-tree-panel{border:1.5px solid var(--admin-edu-line);border-radius:10px;padding:0 .55rem .55rem;background:#fff;box-shadow:0 1px 2px #0f172a0d,0 6px 18px #0f172a0f}.admin-edu-surface .grant-tree-panel .admin-nav-perm-tree__head{margin-left:-.55rem;margin-right:-.55rem;padding-left:.55rem;padding-right:.55rem;border-top-left-radius:9px;border-top-right-radius:9px}.admin-edu-surface .admin-nav-perm-tree__head{border-bottom:2px solid #cbd5e1;background:#fff}.admin-edu-surface .admin-nav-perm-tree__head>span{background:#fff}.admin-edu-surface .admin-nav-perm-tree__head .admin-nav-perm-tree__col-menu,.admin-edu-surface .admin-nav-perm-tree__head .admin-nav-perm-tree__col-access,.admin-edu-surface .admin-nav-perm-tree__head .admin-nav-perm-tree__col-view,.admin-edu-surface .admin-nav-perm-tree__head .admin-nav-perm-tree__col-edit,.admin-edu-surface .admin-nav-perm-tree__head .admin-nav-perm-tree__col-startup,.admin-edu-surface .admin-nav-perm-tree__row>.admin-nav-perm-tree__label,.admin-edu-surface .admin-nav-perm-tree__row>.admin-nav-perm-tree__access,.admin-edu-surface .admin-nav-perm-tree__row>.admin-nav-perm-tree__view,.admin-edu-surface .admin-nav-perm-tree__row>.admin-nav-perm-tree__edit,.admin-edu-surface .admin-nav-perm-tree__row>.admin-nav-perm-tree__startup{border-right-color:#d1d5db}.admin-edu-surface .admin-nav-perm-tree__section{border:none}.admin-edu-surface .admin-nav-perm-tree__section-title{color:#334155;border-bottom:1px solid var(--admin-edu-grid);padding-bottom:.2rem;margin-bottom:.15rem}.admin-edu-surface .admin-nav-perm-tree__row--stripe-red{border-bottom-color:#fecaca;border-bottom-width:2px}.admin-edu-surface .admin-nav-perm-tree__row--stripe-black{border-bottom-color:#cbd5e1;border-bottom-width:2px}.admin-edu-surface .admin-nav-perm-tree__row--focus{background:#fef9c3b8;box-shadow:inset 0 0 0 1.5px #3b82f659}.admin-edu-surface .admin-nav-perm-tree__row--focus .admin-nav-perm-tree__label{color:#1e3a8a}.admin-edu-surface .table-wrap,.admin-edu-surface .dash-table-wrap{border:1.5px solid var(--admin-edu-line);border-radius:10px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;background:#fff;box-shadow:0 1px 2px #0f172a0d,0 6px 20px #0f172a12}.admin-edu-surface .table-wrap table th,.admin-edu-surface .table-wrap table td,.admin-edu-surface .dash-table-wrap th,.admin-edu-surface .dash-table-wrap td{border-color:var(--admin-edu-grid)!important;border-width:1px!important}.admin-edu-surface .table-wrap table thead th,.admin-edu-surface .dash-table-wrap th{border-bottom:1.5px solid var(--admin-edu-line)!important;background:linear-gradient(180deg,#f1f5f9,#e8eef4);color:#334155;box-shadow:var(--admin-edu-shadow-inset)}.admin-edu-surface .table-wrap table tr:last-child td,.admin-edu-surface .dash-table-wrap tr:last-child td{border-bottom:1px solid var(--admin-edu-grid)!important}.admin-edu-surface .admin-catalog--hub-fixed .table-wrap{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.admin-edu-surface .admin-catalog--hub-fixed .table-wrap table thead th{position:sticky;top:0;z-index:2}.admin-edu-surface .admin-years--hub-fixed .table-wrap,.admin-edu-surface .admin-years--hub-fixed .table-wrap--sessions{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.admin-edu-surface .admin-years--hub-fixed .table-wrap table thead th{position:sticky;top:0;z-index:2}.admin-edu-surface .academic-hub--hub-fixed .table-wrap--sessions,.admin-edu-surface .academic-hub--hub-fixed .academic-hub__table-wrap{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;overflow:auto;overflow-x:auto;overscroll-behavior:contain;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.admin-edu-surface .academic-hub--hub-fixed .table-wrap--sessions table thead th,.admin-edu-surface .academic-hub--hub-fixed .academic-hub__table-wrap thead th{position:sticky;top:0;z-index:2}.admin-edu-surface .admin-catalog__tab:hover{background:#f1f5f9;box-shadow:inset 0 0 0 1px #64748b40}.admin-edu-surface .admin-catalog__tab--on{border:none;margin:0;padding-left:calc(.58rem - 3px);background:linear-gradient(90deg,#eff6ff,#f8fafc);box-shadow:inset 3px 0 #2563eb,inset 0 0 0 1px #2563eb1f}.admin-edu-surface .admin-years__item--on{border-color:#3b82f6;box-shadow:0 1px 4px #2563eb26}.admin-edu-surface .grant-directory__item--active{border-color:#3b82f6;box-shadow:0 1px 4px #2563eb1f}.admin-edu-surface .input-inline,.admin-edu-surface .select-control{border:1px solid var(--admin-edu-grid)!important;box-shadow:inset 0 1px 2px #0f172a0a}.admin-edu-surface .input-inline:focus,.admin-edu-surface .select-control:focus{border-color:#3b82f6!important;box-shadow:inset 0 1px 2px #0f172a0a,0 0 0 3px #3b82f62e}.grant-console__main{min-width:0}.grant-directory{border:1px solid #e8eef4;border-radius:10px;background:#fafbfd;padding:.5rem .55rem;display:flex;flex-direction:column;gap:.4rem;max-height:min(72vh,36rem)}.grant-directory__toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:.3rem;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:1px}.grant-directory__toolbar>*:not(.grant-directory__search-field){flex-shrink:0}.grant-directory__toolbar .grant-directory__title{flex-shrink:0;white-space:nowrap;font-size:.7rem;letter-spacing:.04em}.grant-directory__toolbar .grant-directory__total{flex-shrink:0;white-space:nowrap;font-size:.68rem;font-weight:600;padding:.08rem .35rem;border-radius:4px}.grant-directory__toolbar .grant-directory__year-select{flex-shrink:0;font-size:.68rem;font-weight:500;color:#475569;white-space:nowrap;height:1.625rem;min-width:0;max-width:7rem;padding:0 1.15rem 0 .35rem;background:#f1f5f9;border:1px solid #e8eef4;border-radius:4px;cursor:pointer}.grant-directory__search-field{flex:1 0 5rem;min-width:5rem;display:flex;align-items:center;gap:.3rem;height:1.625rem;padding:0 .4rem;border:1.5px solid #94a3b8;border-radius:6px;background:#fff;transition:border-color .12s ease,box-shadow .12s ease}.grant-directory__search-field:focus-within{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb24}.grant-directory__search-field>i{flex-shrink:0;font-size:.62rem;color:#94a3b8;pointer-events:none}.grant-directory__search-field .grant-directory__search{flex:1;min-width:0;width:100%;height:100%;margin:0;padding:0;border:none;outline:none;box-shadow:none;background:transparent;font-size:.74rem;line-height:1.25;color:var(--text);-webkit-appearance:none;appearance:none}.grant-directory__search-field .grant-directory__search::placeholder{color:#a8b4c4;font-weight:400}.grant-directory__search-field .grant-directory__search::-webkit-search-cancel-button{-webkit-appearance:none;height:.65rem;width:.65rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M2 2l8 8M10 2L2 10'/%3E%3C/svg%3E") center/contain no-repeat;cursor:pointer}.grant-directory__toolbar .grant-directory__search-field{flex:1 0 5.5rem;min-width:5.5rem}.grant-matrix-toolbar .grant-session-access-matrix__title,.grant-matrix-toolbar .participant-scope-school-matrix__title{flex-shrink:0;white-space:nowrap;font-size:.7rem;font-weight:650;text-transform:uppercase;letter-spacing:.03em;color:#64748b}.grant-matrix-toolbar{margin-bottom:.35rem}.grant-directory__toolbar .grant-directory__export--excel{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:1.625rem;padding:.28rem .7rem;border:1px solid #14532d;border-radius:999px;background:linear-gradient(180deg,#4ade80,#22c55e 42%,#15803d);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 1px 0 rgba(0,0,0,.12);box-shadow:inset 0 1px #ffffff47;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}.grant-directory__toolbar .grant-directory__export--excel:not(:disabled):hover{background:linear-gradient(180deg,#86efac,#34d399 42%,#16a34a);border-color:#166534}.grant-directory__toolbar .grant-directory__export--excel:not(:disabled):active{transform:scale(.98);box-shadow:inset 0 1px 2px #00000026}.grant-directory__toolbar .grant-directory__export--excel:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.15)}.grant-directory__export{white-space:nowrap;font-size:.68rem;padding-inline:.35rem}.grant-directory__head-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.3rem;margin-left:auto}.grant-directory__title{margin:0;font-size:.7rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:#334155}.grant-directory__total{font-size:.68rem;font-weight:600;color:#0f766e;background:#ecfdf5;border:1px solid #d1fae5;padding:.06rem .32rem;border-radius:4px}.grant-directory__search{width:100%}.grant-directory__ok{margin:0;font-size:.68rem;color:#047857;line-height:1.35}.grant-directory__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem;flex-wrap:wrap}.grant-directory__list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:.25rem;min-height:8rem}.grant-directory__item{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;text-align:left;border:1px solid transparent;border-radius:8px;padding:.45rem .5rem;background:#fff;cursor:pointer;transition:background .12s ease,border-color .12s ease}.grant-directory__item:hover{border-color:#93c5fd;background:#eff6ff}.grant-directory__item--active{border-color:#2563eb;background:#dbeafe;box-shadow:0 0 0 1px #2563eb33}.grant-directory__list--matrix{gap:0;min-height:0;margin:0;padding:0;list-style:none;border:1px solid #94a3b8;border-radius:8px;background:#fff;overflow:hidden}.grant-directory__list--matrix>li{list-style:none;margin:0;padding:0}.grant-directory__list--matrix .grant-directory__item{display:grid;grid-template-columns:1.15rem minmax(0,1fr);align-items:start;gap:.35rem;width:100%;border-radius:0;border:none;border-bottom:1px solid #94a3b8;padding:.38rem .42rem;box-shadow:none;background:#fff}.grant-directory__list--matrix .grant-directory__item--stripe-red,.grant-directory__list--matrix .grant-directory__item--stripe-black{border-bottom:1px solid #94a3b8}.grant-directory__list--matrix .grant-directory__item--stripe-black{background:#fafbfd}.grant-directory__list--matrix .grant-directory__item:last-child{border-bottom:none}.grant-directory__list--matrix .grant-directory__item:hover{background:#f8fafc}.grant-directory__list--matrix .grant-directory__item--active{background:#bfdbfe8c;box-shadow:inset 3px 0 #2563eb;border-bottom-color:#93c5fd}.admin-edu-surface .grant-directory__list--matrix .grant-directory__item{border:none!important;border-radius:0!important;box-shadow:none!important;border-bottom:1px solid #94a3b8!important}.admin-edu-surface .grant-directory__list--matrix .grant-directory__item--active{border:none!important;border-bottom:1px solid #93c5fd!important;box-shadow:inset 3px 0 #2563eb!important}.grant-directory-matrix__head{display:grid;grid-template-columns:1.15rem minmax(0,1fr) auto;align-items:center;gap:.35rem;padding:.32rem .42rem;border:1px solid #94a3b8;border-bottom:1px solid #64748b;border-radius:8px 8px 0 0;background:#eff6ff;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569}.grant-directory-matrix__head+.grant-directory__list--matrix{border-top:none;border-radius:0 0 8px 8px}.grant-directory-matrix__head--session{grid-template-columns:1.15rem 1.65rem minmax(0,1fr) auto}.grant-directory__list--matrix-session .grant-directory__item--matrix-session{grid-template-columns:1.15rem 1.65rem minmax(0,1fr) auto;align-items:center}.grant-directory__list--matrix-session .grant-scope-school-table__group{grid-column:unset;width:100%}.grant-directory__item-stt{flex-shrink:0;font-size:.72rem;font-weight:600;color:#64748b;min-width:1.35rem}.participant-scope-session-dir .grant-directory__item-body{flex-direction:row;align-items:baseline;gap:.35rem}.participant-scope-session-dir .grant-directory__item-body .grant-directory__item-main,.participant-scope-session-dir .grant-directory__item-body .grant-directory__item-meta{width:auto}.grant-directory__list--matrix-session .grant-directory__item-main{min-width:0;font-size:.74rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grant-directory__list--matrix-session .grant-directory__item-meta{flex-shrink:0;font-size:.68rem;font-weight:500;color:#64748b;white-space:nowrap;padding-left:.35rem;border-left:1px solid #cbd5e1}.grant-directory-matrix__col--meta{text-align:right;padding-left:.35rem;border-left:1px solid #cbd5e1}.grant-scope-col--session .grant-directory-matrix__head+.grant-directory__list--matrix{flex:1 1 auto;min-height:0;overflow:auto}.grant-directory__row-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0}.grant-directory__pick{display:inline-flex;align-items:center;justify-content:center;width:.95rem;height:.95rem;border:1px solid #94a3b8;border-radius:2px;background:#fff;color:transparent;font-size:.58rem;line-height:1}.grant-directory__pick--on{background:#2563eb;border-color:#1d4ed8;color:#fff}.grant-directory__item-body{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%}.grant-scope-context-rail{display:flex;flex-wrap:nowrap;align-items:center;gap:.22rem;margin-bottom:.35rem;padding:.32rem .42rem;border:1px solid #bfdbfe;border-radius:8px;background:linear-gradient(90deg,#eff6ff,#f8fafc);font-size:.72rem;line-height:1.3;min-width:0;overflow:hidden}.grant-scope-matrix-hub--modal>.grant-scope-context-rail{flex-shrink:0;margin:0 0 .4rem}.grant-scope-modal .admin-modal__hbc-header{justify-content:flex-start;align-items:center;gap:.35rem;flex-wrap:wrap;padding-right:5.5rem}.grant-scope-modal .card-admin-modal__head-row{display:flex;align-items:center;gap:.55rem;flex:1 1 auto;min-width:0;flex-wrap:nowrap}.grant-scope-modal .card-admin-modal__head-extra{flex:1 1 auto;min-width:0;overflow:hidden}.grant-scope-modal .card-admin-modal__title{flex-shrink:0;white-space:nowrap;margin:0}.grant-scope-modal .card-admin-modal__drag-hint{margin-left:auto;margin-right:.25rem}.grant-scope-context-rail--compact{margin:0;padding:0;border:none;border-radius:0;background:transparent;gap:.2rem .28rem;font-size:.68rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.grant-scope-context-rail--compact::-webkit-scrollbar{display:none}.grant-scope-context-rail--compact .grant-scope-context-rail__chip,.grant-scope-context-rail--compact .grant-scope-context-rail__chip-wrap .grant-scope-context-rail__chip{padding:.1rem .3rem;flex:0 0 auto;min-width:0;max-width:min(14rem,42vw)}.grant-scope-context-rail--compact .grant-scope-context-rail__sep{font-size:.52rem;flex-shrink:0}.grant-scope-context-rail__chip-wrap{flex:0 0 auto;min-width:0;max-width:min(14rem,42vw)}.grant-scope-context-rail__chip--menu{cursor:pointer;font:inherit;width:100%;max-width:100%}.grant-scope-context-rail__chip--menu:hover{border-color:#93c5fd}.grant-scope-context-rail__chip--open{border-color:#2563eb;box-shadow:0 0 0 1px #bfdbfe}.grant-scope-context-rail__chip-chev{flex-shrink:0;font-size:.52rem;opacity:.65}.grant-scope-context-rail__popover-list--scroll{max-height:min(16rem,50vh);overflow:auto}@media (max-width: 768px){.grant-scope-modal .admin-modal__hbc-header{flex-wrap:nowrap;padding-right:2.75rem}.grant-scope-modal .card-admin-modal__head-row{flex-wrap:nowrap;gap:.35rem}.grant-scope-modal .card-admin-modal__title{font-size:.82rem;max-width:5.5rem;overflow:hidden;text-overflow:ellipsis}.grant-scope-modal .card-admin-modal__drag-hint{display:none}}.grant-scope-context-rail__chip{display:inline-flex;align-items:center;gap:.22rem;flex:0 1 auto;min-width:0;padding:.12rem .38rem;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-weight:500}.grant-scope-context-rail__chip i{flex-shrink:0;font-size:.68rem}.grant-scope-context-rail__chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grant-scope-context-rail__chip--on{border-color:#93c5fd;background:#dbeafe;color:#1e40af;font-weight:600}.grant-scope-context-rail__chip--gmail.grant-scope-context-rail__chip--on{box-shadow:inset 3px 0 #2563eb}.grant-scope-context-rail__chip--year.grant-scope-context-rail__chip--on{box-shadow:inset 3px 0 #0ea5e9}.grant-scope-context-rail__chip--session.grant-scope-context-rail__chip--on{box-shadow:inset 3px 0 #7c3aed}.grant-scope-context-rail__sep{flex-shrink:0;font-size:.58rem;color:#94a3b8}.grant-directory__email{font-size:.76rem;font-weight:600;color:#0f172a;word-break:break-all}.grant-directory__meta{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%}.grant-directory__perm-line{font-size:.68rem;font-weight:600;color:#1d4ed8;line-height:1.3}.grant-directory__perm-line--muted{color:#64748b;font-weight:500}.grant-directory__badges{display:flex;flex-wrap:wrap;gap:.2rem}.grant-directory__badge{font-size:.62rem;font-weight:600;padding:.08rem .35rem;border-radius:4px;background:#e2e8f0;color:#334155}.grant-directory__badge--all{background:#dbeafe;color:#1e40af}.grant-directory__badge--edit{background:#dcfce7;color:#166534}.grant-directory__badge--view{background:#f1f5f9;color:#475569}.grant-directory__badge--user{background:#ede9fe;color:#5b21b6}.grant-directory__badge--count{background:#e2e8f0;color:#475569}.grant-directory__badge--muted{background:#fef3c7;color:#92400e}.grant-directory__pager{display:flex;align-items:center;justify-content:center;gap:.35rem}.grant-directory__pager-label{font-size:.72rem;color:#64748b}.grant-directory__hint,.grant-directory__err{margin:0;font-size:.72rem;color:#64748b;line-height:1.4}.grant-directory__foot{margin:0;font-size:.68rem;color:#64748b;line-height:1.45}.grant-directory__err{color:#b91c1c}.grant-console__overview{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.grant-overview{flex:1 1 auto;min-height:0;overflow:hidden;overscroll-behavior:contain;padding:.2rem .1rem .35rem;display:flex;flex-direction:column;gap:.3rem}.grant-overview--loading,.grant-overview--empty{align-items:center;justify-content:center;min-height:12rem;overflow:auto}.grant-overview__loading{margin:0;font-size:.85rem;color:#64748b;display:flex;align-items:center;gap:.5rem}.grant-overview__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .45rem;flex-shrink:0}.grant-overview__toolbar-main{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .4rem;min-width:0;flex:1 1 auto}.grant-overview__title{margin:0;font-size:.82rem;font-weight:700;color:#0f172a;white-space:nowrap}.grant-overview__head-actions{display:flex;flex-wrap:nowrap;gap:.25rem;flex-shrink:0}.grant-overview__head-actions .btn--sm{min-width:1.75rem;padding-inline:.4rem}.grant-overview__clear{padding-inline:.35rem!important}.grant-overview__err{margin:0;font-size:.72rem;color:#b91c1c;flex-shrink:0}.grant-overview__kpis{display:flex;flex-wrap:wrap;gap:.25rem;flex-shrink:0}.grant-overview__kpi{display:inline-flex;flex-direction:row;align-items:baseline;gap:.25rem;padding:.12rem .4rem;border:1px solid #e2e8f0;border-radius:999px;background:#fff;cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease}.grant-overview__kpi:hover{border-color:#93c5fd;background:#f8fafc}.grant-overview__kpi--active{border-color:#2563eb;box-shadow:0 0 0 1px #2563eb33;background:#eff6ff}.grant-overview__kpi-val{font-size:.82rem;font-weight:800;color:#0f172a;line-height:1}.grant-overview__kpi-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:#64748b;line-height:1}.grant-overview__kpi--edit .grant-overview__kpi-val{color:#15803d}.grant-overview__kpi--view .grant-overview__kpi-val{color:#1d4ed8}.grant-overview__kpi--warn .grant-overview__kpi-val{color:#b45309}.grant-overview__charts-fold{flex-shrink:0;border:1px solid #e2e8f0;border-radius:8px;background:#fafbfc}.grant-overview__charts-toggle{display:flex;align-items:center;gap:.35rem;padding:.2rem .45rem;font-size:.68rem;font-weight:600;color:#475569;cursor:pointer;list-style:none;user-select:none}.grant-overview__charts-toggle::-webkit-details-marker{display:none}.grant-overview__charts-toggle:before{content:"▸";font-size:.65rem;color:#64748b;transition:transform .12s ease}.grant-overview__charts-fold[open]>.grant-overview__charts-toggle:before{transform:rotate(90deg)}.grant-overview__charts-hint{font-weight:500;color:#94a3b8;font-size:.62rem}.grant-overview__charts{display:grid;grid-template-columns:minmax(5.5rem,.55fr) minmax(0,1fr);gap:.35rem;padding:0 .35rem .3rem}@media (max-width: 900px){.grant-overview__charts{grid-template-columns:minmax(0,1fr)}}.grant-overview__chart-card{border:1px solid #e2e8f0;border-radius:6px;background:#fff;padding:.2rem .35rem .15rem;min-height:0}.grant-overview__chart-card--wide{min-width:0}.grant-overview__chart-title{margin:0;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;line-height:1.2}.grant-overview__chart-empty{margin:1.25rem 0;text-align:center;font-size:.72rem;color:#94a3b8}.grant-overview__table-section{border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:.3rem .35rem;min-height:0;flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden}.grant-overview__filter-tag{font-size:.62rem;font-weight:600;padding:.08rem .35rem;border-radius:999px;background:#dbeafe;color:#1e40af;white-space:nowrap}.grant-overview__count{font-size:.62rem;font-weight:600;color:#64748b;white-space:nowrap}.grant-overview__table-search{max-width:9rem;min-width:6rem;font-size:.72rem;padding:.15rem .4rem!important;height:1.55rem}.grant-overview__table-wrap{flex:1 1 auto;min-height:6rem;overflow:auto}.grant-overview__table{width:100%;border-collapse:collapse;font-size:.72rem}.grant-overview__table th{position:sticky;top:0;z-index:1;background:#f1f5f9;text-align:left;padding:.28rem .4rem;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#475569;border-bottom:1px solid #e2e8f0}.grant-overview__table td{padding:.28rem .4rem;border-bottom:1px solid #f1f5f9;vertical-align:top}.grant-overview__row{cursor:pointer;transition:background .1s ease}.grant-overview__row:hover{background:#eff6ff}.grant-overview__row:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.grant-overview__cell-email{font-weight:600;color:#0f172a;word-break:break-all;max-width:12rem}.grant-overview__perm-line{display:block;font-size:.68rem;color:#1d4ed8;margin-bottom:.15rem}.grant-overview__type{display:inline-block;font-size:.62rem;font-weight:600;padding:.1rem .35rem;border-radius:4px;background:#f1f5f9;color:#475569}.grant-overview__type--all_edit{background:#dcfce7;color:#166534}.grant-overview__type--all_view{background:#dbeafe;color:#1e40af}.grant-overview__type--mixed_edit{background:#d1fae5;color:#047857}.grant-overview__type--mixed_view{background:#f1f5f9;color:#475569}.grant-overview__inactive{font-size:.65rem;color:#b45309}.grant-overview__cell-muted{font-size:.68rem;color:#64748b;white-space:nowrap}.grant-overview__table-empty{text-align:center;color:#94a3b8;padding:1.5rem!important}.grant-hub__details{border-bottom:1px solid #e2e8f0}.grant-hub__details summary{padding:.5rem 1rem;font-size:.78rem;font-weight:600;color:#334155;cursor:pointer}.grant-hub__focus--compact{padding:.65rem 0;background:transparent;border:none}.grant-matrix__loading{padding:1.5rem;text-align:center;color:#64748b;font-size:.85rem}.grant-hub__workspace{display:grid;grid-template-columns:minmax(14rem,26rem) minmax(0,1fr);gap:1rem;align-items:start}.grant-hub__workspace--stacked{display:flex;flex-direction:column;gap:.85rem}.grant-hub__scope-section--compact{max-height:11rem}@media (max-width: 900px){.grant-hub__workspace{grid-template-columns:1fr}}.grant-hub__scope-section{border:1px solid #c7d8f0;border-radius:12px;background:#f8fafc;padding:.65rem .75rem;max-height:min(70vh,32rem);overflow:auto}.grant-hub__section-head{margin-bottom:.5rem}.grant-hub__section-title{margin:0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#1e40af}.grant-hub__section-hint{margin:.2rem 0 0;font-size:.72rem;color:#64748b}.grant-scope-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.grant-scope-list>li{display:flex;align-items:stretch;gap:.25rem}.grant-scope-list__item{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;border:1px solid #e2e8f0;border-radius:8px;padding:.45rem .55rem;background:#fff;cursor:pointer;transition:border-color .12s,background .12s}.grant-scope-list__item:hover{border-color:#93c5fd;background:#eff6ff}.grant-scope-list__item--on{border-color:#2563eb;background:#dbeafe;box-shadow:0 0 0 1px #2563eb44}.grant-scope-list__item--off{opacity:.65}.grant-scope-list__label{font-size:.74rem;line-height:1.35;color:#0f172a;word-break:break-word}.grant-scope-list__badge{font-size:.65rem;font-weight:600;padding:.06rem .35rem;border-radius:4px;background:#dcfce7;color:#166534}.grant-scope-list__badge--off{background:#fee2e2;color:#991b1b}.grant-scope-list__del{align-self:center;flex-shrink:0}.grant-scope-list__empty,.grant-scope-list__loading{margin:0;font-size:.78rem;color:#64748b;line-height:1.45}.grant-hub__editor--tree{min-height:12rem}.grant-hub__menu-panel--primary{max-height:min(72vh,42rem);min-height:18rem;padding:.65rem .85rem 1rem;overflow:auto}.grant-hub__user-hint{margin:0 1rem 1rem;font-size:.8rem;color:#64748b;line-height:1.45}.ref-data-hint{margin:0 0 .5rem;font-size:.74rem;color:#64748b;line-height:1.4}.ref-data-hint--inline{margin-top:.35rem}.ref-data-toolbar{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-end;margin-bottom:.5rem}.ref-data-toolbar__search{flex:1 1 12rem;min-width:10rem}.ref-data-toolbar__filter{margin:0;min-width:8rem}.ref-data-pager{display:flex;flex-wrap:nowrap;align-items:center;gap:.28rem .45rem;margin:0;font-size:.74rem;color:#64748b}.ref-data-pager--inline{flex-shrink:0}.ref-data-pager__meta--compact{display:none}.ref-data-pager__nav{display:flex;align-items:center;gap:.2rem;flex-shrink:0}.ref-data-pager__nav .btn--sm{padding:.12rem .38rem;font-size:.72rem;min-height:1.45rem}.ref-data-pager__label{white-space:nowrap;font-size:.72rem;font-variant-numeric:tabular-nums}@media (max-width: 720px){.ref-toolbar-compact .ref-data-pager__meta--full{display:inline}.ref-toolbar-compact .ref-data-pager__meta--compact{display:none}}@media (max-width: 640px){.table--ref-data{font-size:.78rem}.table--ref-data th,.table--ref-data td{padding:.32rem .42rem}.table--ref-data .ref-col-slug{display:none}.table--ref-data .th-dash-actions{white-space:nowrap}.ref-data-actions .btn--sm{padding:.12rem .32rem;font-size:.68rem}.table-wrap--sessions .kind-cell__icon{display:none}.admin-years__bar .input-inline{max-width:6.5rem}.admin-years__bar-label{min-width:6rem;max-width:9rem}}.ref-data-row--editing td{background:#eff6ff}.grant-hub{display:flex;flex-direction:column;gap:1.1rem}.grant-hub__focus{padding:1rem 1.1rem;border-radius:12px;background:linear-gradient(135deg,#f0f7ff,#f8fafc 55%,#eef2ff);border:1px solid #c7d8f0}.grant-hub__gmail-label{display:flex;flex-direction:column;gap:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a;max-width:36rem}.grant-hub__gmail-label .gmail-suggest-wrap{font-size:1rem;font-weight:500;text-transform:none;letter-spacing:normal}.grant-hub__focus-hint{margin:.5rem 0 0;font-size:.8rem;color:#64748b;line-height:1.45}.grant-hub__placeholder{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:2.5rem 1rem;color:#94a3b8;text-align:center;border:1px dashed #cbd5e1;border-radius:12px;background:#fafbfc}.grant-hub__placeholder i{font-size:2rem;opacity:.65}.grant-hub__editor{border:1px solid #c7d8f0;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}.grant-hub__editor-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem 1rem;background:linear-gradient(90deg,#1e40af,#2563eb);color:#fff}.grant-hub__editor-sub{flex:1 1 100%;margin:0;font-size:.74rem;font-weight:500;opacity:.92;line-height:1.35}.grant-hub__editor-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-left:auto}.grant-hub__editor-title{margin:0;font-size:.88rem;font-weight:700}.grant-hub__editor-head .btn{font-size:.78rem}.grant-hub__scope-row{display:flex;flex-wrap:wrap;gap:.5rem .75rem;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.grant-hub__scope-row .field-inline{margin:0;min-width:8rem}.grant-hub__menu-panel{padding:.5rem .75rem .75rem;max-height:min(42vh,22rem);overflow:auto}.grant-hub__extras{display:flex;flex-wrap:wrap;gap:.5rem .85rem;padding:0 1rem .65rem;border-bottom:1px solid #e2e8f0}.grant-hub__chk{flex-direction:row!important;align-items:center;gap:.35rem}.grant-hub__matrix-section{border:1px solid #cbd5e1;border-radius:12px;background:#fff;overflow:hidden}.grant-hub__matrix-title{margin:0;padding:.6rem 1rem;font-size:.82rem;font-weight:700;color:#0f172a;background:#f1f5f9;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:.5rem}.grant-hub__matrix-count{font-weight:600;font-size:.72rem;color:#64748b;background:#e2e8f0;padding:.12rem .45rem;border-radius:999px}.grant-matrix--empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;color:#64748b;text-align:center;font-size:.85rem}.grant-matrix--empty i{font-size:1.75rem;color:#94a3b8}.grant-matrix__scroll{overflow:auto;max-height:min(50vh,26rem)}.grant-matrix__table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.76rem}.grant-matrix__head-section th{background:#1e293b;color:#e2e8f0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.35rem .4rem;border:1px solid #334155;text-align:center}.grant-matrix__corner{text-align:left!important;padding-left:.65rem!important}.grant-matrix__group{background:#334155!important}.grant-matrix__head-cols th{background:#f1f5f9;color:#334155;font-weight:600;padding:.35rem .3rem;border:1px solid #e2e8f0;vertical-align:bottom}.grant-matrix__sticky{position:sticky;left:0;z-index:2;background:#fff;box-shadow:2px 0 4px #0f172a0f}.grant-matrix__col-idx{left:0;min-width:2rem;text-align:center}.grant-matrix__col-scope{left:2rem;min-width:5.5rem;max-width:8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grant-matrix__col-session{left:auto;min-width:7rem}.grant-matrix__head-cols .grant-matrix__col-scope:nth-child(2){left:2rem}.grant-matrix__head-cols .grant-matrix__col-scope:nth-child(3){left:7.5rem}.grant-matrix__head-cols .grant-matrix__col-scope:nth-child(4){left:13rem}.grant-matrix__head-cols .grant-matrix__col-scope:nth-child(5){left:18.5rem}.grant-matrix__head-cols .grant-matrix__col-status{left:26rem;min-width:2.5rem}.grant-matrix__row .grant-matrix__sticky:nth-child(1){left:0}.grant-matrix__row .grant-matrix__sticky:nth-child(2){left:2rem}.grant-matrix__row .grant-matrix__sticky:nth-child(3){left:7.5rem}.grant-matrix__row .grant-matrix__sticky:nth-child(4){left:13rem}.grant-matrix__row .grant-matrix__sticky:nth-child(5){left:18.5rem}.grant-matrix__row .grant-matrix__sticky:nth-child(6){left:26rem}.grant-matrix__menu-col{min-width:2.1rem;max-width:3.2rem;padding:.2rem!important}.grant-matrix__menu-col-label{display:block;writing-mode:vertical-rl;transform:rotate(180deg);max-height:5.5rem;overflow:hidden;font-size:.62rem;line-height:1.15;margin:0 auto}.grant-matrix__row{cursor:pointer;transition:background .12s ease}.grant-matrix__row:hover td{background:#f8fafc}.grant-matrix__row--selected td{background:#eff6ff!important}.grant-matrix__row--off{opacity:.55}.grant-matrix__row td{border:1px solid #f1f5f9;padding:.3rem .35rem;vertical-align:middle}.grant-matrix__perm-td{text-align:center;padding:.15rem!important}.grant-matrix__cell{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:4px;font-size:.62rem}.grant-matrix__cell--inline{vertical-align:middle;margin:0 .1rem}.grant-matrix__cell--none{background:#f1f5f9;color:#cbd5e1}.grant-matrix__cell-dot{width:.35rem;height:.35rem;border-radius:50%;background:#cbd5e1}.grant-matrix__cell--view{background:#dbeafe;color:#1d4ed8}.grant-matrix__cell--edit{background:#dcfce7;color:#15803d}.grant-matrix__all-cell{text-align:center;font-weight:600;color:#1e40af;background:#eff6ff!important;font-size:.78rem}.grant-matrix__badge{display:inline-block;padding:.1rem .35rem;border-radius:4px;font-size:.68rem;background:#fee2e2;color:#991b1b}.grant-matrix__badge--on{background:#dcfce7;color:#166534}.grant-matrix__col-actions{min-width:3.5rem;text-align:center}.grant-matrix__legend{margin:0;padding:.45rem .85rem;font-size:.72rem;color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0}.year-block__head.dash-year-toolbar{margin-bottom:.35rem}.dash-year-loading{display:flex;align-items:center;gap:.35rem;padding:.65rem 0;color:var(--muted)}.dash-year-loading__dots{display:flex;align-items:center;gap:.35rem}.dash-year-loading__dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);opacity:.35;animation:dash-year-dot .9s ease-in-out infinite}.dash-year-loading__dot:nth-child(2){animation-delay:.15s}.dash-year-loading__dot:nth-child(3){animation-delay:.3s}@keyframes dash-year-dot{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.year-block__toolbar{margin-bottom:.55rem}.table-wrap--sessions .cell-check{width:2.25rem;text-align:center;vertical-align:middle}.table-wrap--sessions .cell-check input{margin:0;cursor:pointer}#dash-schools,#dash-members,#dash-academic,#dash-years,#participant-toolbar,#participant-grid,#thcs-grid,#thcs-summary-grid,#thcs-toolbar,#thcs-select{scroll-margin-top:5.75rem}.year-block:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0}.kind-cell{display:flex;align-items:center;gap:.65rem}.kind-cell__icon{width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.kind-cell__icon--kscl{background:#e0f2fe;color:#0369a1}.kind-cell__icon--hsg{background:#fef3c7;color:#b45309}.kind-cell__icon--gvg{background:#ede9fe;color:#5b21b6}.kind-cell__text{font-weight:500;color:var(--text)}.login-page{max-width:1320px;margin:0 auto;padding:0 1.25rem 3rem}.login-password-modal{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#0f172a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.login-password-modal__inner{width:100%;max-width:460px}.login-password-modal__card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-strong);box-shadow:var(--shadow-card);background:#fff}.login-password-modal__card--narrow{max-width:360px;margin:0 auto}.login-password-modal__header{position:relative;display:flex;align-items:center;justify-content:center;padding:.55rem 2.75rem .55rem 1rem;background:linear-gradient(90deg,#fef3c7,#fde68a);color:#dc2626;border-bottom:1px solid rgba(220,38,38,.12);box-shadow:0 2px 10px #0f172a0f}.login-password-modal__header--static{padding:.55rem 1rem}.login-password-modal__brand{display:flex;align-items:center;gap:.5rem;min-width:0;max-width:100%}.login-password-modal__logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}.login-password-modal__inst-text{display:flex;flex-direction:column;text-align:center;min-width:0}.login-password-modal__inst-title{font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#dc2626;line-height:1.25}.login-password-modal__inst-sub{font-size:.75rem;font-weight:600;color:#dc2626;line-height:1.25}.login-password-modal__header-close{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.65);background:#ffffff59;color:#b91c1c;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}.login-password-modal__header-close:hover{background:#ffffff8c;transform:translateY(-50%) translateY(-1px)}.login-password-modal__body{padding:1.25rem 1.35rem 1.35rem;color:#111827;background:#fff}.login-password-modal__body--solo{padding:1.5rem 1.25rem;text-align:center}.login-password-modal__muted{margin:0;color:#6b7280;font-size:.9375rem}.login-password-modal__google{width:100%;justify-content:center}.login-password-modal__divider{display:flex;align-items:center;gap:.75rem;margin:1.1rem 0;color:#6b7280;font-size:.8125rem}.login-password-modal__divider:before,.login-password-modal__divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.login-password-modal .login-password-modal__field{margin-bottom:1rem}.login-password-modal .login-password-modal__field label{font-size:.9375rem;font-weight:500;color:#374151}.login-password-modal .login-password-modal__field input{width:100%;box-sizing:border-box;padding:.75rem .85rem;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:1rem}.login-password-modal .login-password-modal__field input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.login-password-modal__pwd-wrap{position:relative;width:100%}.login-password-modal__pwd-wrap input{padding-right:2.75rem}.login-password-modal__pwd-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border:none;border-radius:8px;background:transparent;color:#6b7280;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem}.login-password-modal__pwd-toggle:hover{color:#2563eb;background:#2563eb14}.login-password-modal__checks{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:.25rem 0 .75rem;font-size:.875rem;color:#374151}.login-password-modal__check{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none}.login-password-modal__check input{width:1rem;height:1rem;accent-color:#2563eb}.login-password-modal__actions--split{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin-top:.35rem}.login-password-modal__btn-exit{border:1px solid #e5e7eb;background:#fff;color:#475569;font-size:.875rem;font-weight:500;padding:.55rem .75rem;border-radius:8px}.login-password-modal__btn-exit:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.login-password-modal__actions--split .login-password-modal__submit{flex:1;min-width:8rem;width:auto}.login-password-modal .btn-google{border-color:#e5e7eb;color:#374151;font-size:.9375rem;font-weight:500;border-radius:8px;padding:.7rem 1rem}.login-password-modal .btn-primary.login-password-modal__submit{border-radius:8px;font-size:1rem;font-weight:600;padding:.7rem 1rem}.login-password-modal__err{margin:0 0 .75rem}.login-password-modal__actions{margin-top:.25rem}.login-password-modal__submit{width:100%;justify-content:center}.login-institution-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 -1.25rem 1.25rem;padding:.65rem 1.25rem;background:linear-gradient(90deg,#fef3c7,#fde68a);color:#dc2626;box-shadow:0 2px 10px #0f172a14;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.login-institution-bar__left{display:flex;align-items:center;gap:.75rem;min-width:0}.login-institution-bar__logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}.login-institution-bar__text{display:flex;flex-direction:column;text-align:left;min-width:0}.login-institution-bar__title{font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#dc2626;line-height:1.25}.login-institution-bar__sub{font-size:.75rem;font-weight:600;color:#dc2626;line-height:1.25}.login-institution-bar__close{flex-shrink:0;border:none;background:#ffffff59;border-radius:999px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#b91c1c;border:1px solid rgba(255,255,255,.65);transition:background .15s,transform .15s}.login-institution-bar__close:hover{background:#ffffff8c;transform:translateY(-1px)}.login-card{max-width:420px;margin:2rem auto}.login-divider{display:flex;align-items:center;gap:.75rem;margin:1.1rem 0;color:var(--muted);font-size:.8rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.input-inline{max-width:220px;padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#fff}@media (min-width: 1440px){.input-inline{max-width:320px}}@media (min-width: 1680px){.input-inline{max-width:380px}}.field-inline .input-inline,.field-inline .select-control{width:min(100%,24rem);max-width:24rem}.field-inline .dash-email-input-wrap--toolbar{width:100%;min-width:calc(var(--dash-gmail-ch, 18) * 1.08ch + 4rem);max-width:min(48rem,100%);align-self:flex-start}@media (min-width: 1440px){.field-inline .input-inline,.field-inline .select-control{width:min(100%,30rem);max-width:30rem}.field-inline .dash-email-input-wrap--toolbar{max-width:min(52rem,100%)}}@media (min-width: 1680px){.field-inline .input-inline,.field-inline .select-control{width:min(100%,36rem);max-width:36rem}.field-inline .dash-email-input-wrap--toolbar{max-width:min(56rem,100%)}}@media (max-width: 960px){.field-inline{flex:1 1 14rem;min-width:10.5rem}.field-inline .input-inline,.field-inline .select-control{width:100%;max-width:none;min-width:0}.field-inline .dash-email-input-wrap--toolbar{width:100%;max-width:100%;min-width:min(100%,calc(var(--dash-gmail-ch, 18) * 1.08ch + 4rem))}}@media (max-width: 720px){.field-inline{flex:1 1 100%;min-width:0}}.school-grid{display:grid;gap:.5rem;margin-top:.75rem}.school-pill{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem}.data-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem}.field-inline{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;color:var(--text-secondary)}.field-inline>span{text-transform:uppercase;letter-spacing:.04em}.select-control{min-width:220px;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#fff;color:var(--text)}.select-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dash-access-card .input-inline,.dash-access-card .select-control{border-width:1.5px;border-color:#94a3b8}.dash-access-card .input-inline:focus,.dash-access-card .select-control:focus{border-color:var(--accent);border-width:1.5px}.dash-access-card .table-wrap{border-width:1.5px;border-color:#94a3b8}.dash-access-card table th,.dash-access-card table td{border-bottom:1px solid #cbd5e1}.dash-access-card table th{border-bottom:1.5px solid #94a3b8}.dash-access-card tr:last-child td{border-bottom:1px solid #cbd5e1}.dash-ref-data-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:1rem}@media (max-width: 960px){.dash-ref-data-pair{grid-template-columns:1fr}}.dash-ref-data-pair>.dash-access-card{min-width:0;margin-bottom:0}.dash-ref-data-pair .dash-ref-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin-bottom:.75rem}.dash-ref-data-pair .dash-ref-toolbar .field-inline{flex:1 1 6.5rem;min-width:0}.dash-ref-data-pair .dash-ref-toolbar .field-inline .input-inline,.dash-ref-data-pair .dash-ref-toolbar .field-inline .select-control{width:100%;min-width:0;max-width:none}.dash-ref-data-pair .table-wrap table.table--ref-data{width:100%;max-width:100%;min-width:0;table-layout:fixed}.dash-ref-data-pair .table-wrap table.table--ref-data th,.dash-ref-data-pair .table-wrap table.table--ref-data td{white-space:normal;vertical-align:middle}.dash-ref-data-pair .table-wrap table.table--ref-data th.dash-dnd-col,.dash-ref-data-pair .table-wrap table.table--ref-data td.dash-dnd-col{width:2.25rem;white-space:nowrap}.dash-ref-data-pair .table-wrap table.table--ref-data th:nth-child(2),.dash-ref-data-pair .table-wrap table.table--ref-data td:nth-child(2){width:36%}.dash-ref-data-pair .table-wrap table.table--ref-data th:nth-child(3),.dash-ref-data-pair .table-wrap table.table--ref-data td:nth-child(3){width:24%}.dash-ref-data-pair .table-wrap table.table--ref-data th.th-dash-actions,.dash-ref-data-pair .table-wrap table.table--ref-data td:last-child{width:auto;white-space:nowrap}.dash-ref-data-pair .table-wrap table.table--ref-data .input-inline,.dash-ref-data-pair .table-wrap table.table--ref-data .select-control{min-width:0;width:100%;max-width:100%}.dash-ref-data-pair .table-wrap table.table--ref-data code{font-size:.8rem;word-break:break-all}.table-scroll{overflow:auto;max-height:min(70vh,720px);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}#participant-grid.table-scroll.participant-grid-scroll{max-height:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}#participant-grid.participant-grid-scroll{flex:1 1 0;min-height:0;min-width:0;width:100%;max-width:100%;height:auto;max-height:100%;box-sizing:border-box;overflow:scroll;overflow-x:scroll;overflow-y:scroll;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-width:auto;overscroll-behavior:contain}#participant-grid.participant-grid-scroll::-webkit-scrollbar{width:16px;height:16px}#participant-grid.participant-grid-scroll::-webkit-scrollbar-track{background:#e2e8f0}#participant-grid.participant-grid-scroll::-webkit-scrollbar-thumb{background:#64748b;border-radius:8px;border:3px solid #e2e8f0;min-height:48px;min-width:48px}#participant-grid.participant-grid-scroll::-webkit-scrollbar-thumb:hover{background:#475569}#participant-grid.participant-grid-scroll::-webkit-scrollbar-corner{background:#cbd5e1}.data-grid.thcs-criteria-grid--entry{min-width:0}#participant-grid .data-grid thead .thcs-th-pro{padding:0;vertical-align:middle;background:#e8f0fe;overflow:visible;position:sticky;top:0;z-index:5}#participant-grid .data-grid thead .thcs-th-pro .th-narrow .thcs-th-inner{min-height:1.85rem}.data-grid{width:max-content;min-width:100%;max-width:none;font-size:.82rem;border-collapse:collapse;table-layout:auto}.data-grid th,.data-grid td{border:1px solid #c6c6c6;vertical-align:middle}.data-grid td{white-space:nowrap}.data-grid td:not(.td-check):not(.td-actions):not(.td-readonly):not(.participant-grid-empty){padding:0}.data-grid .td-actions{padding:.12rem .3rem}.data-grid .participant-grid-empty{white-space:normal;padding:.65rem .75rem}.data-grid thead th{position:sticky;top:0;z-index:3;white-space:nowrap;padding:.28rem .4rem;background:#e7e6e6;box-shadow:inset 0 -1px #b4b4b4;font-weight:600;font-size:.78rem;color:#323130;text-transform:none;letter-spacing:0}.data-grid__th{position:relative;padding-right:.35rem}.data-grid__th--resizable{padding-right:.85rem;overflow:visible}.data-grid__th-label{display:inline-block;padding-right:.15rem}.data-grid__col-resize{position:absolute;top:0;right:-4px;width:12px;margin:0;padding:0;border:0;border-radius:0;background:transparent;cursor:col-resize;z-index:30;min-height:100%;touch-action:none;pointer-events:auto;user-select:none}.data-grid__col-resize:hover{background:var(--accent-soft)}.data-grid-autofit{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.data-grid-autofit--compact .data-grid-autofit__label{display:none}.data-grid-autofit__toggle{display:inline-flex;align-items:center;gap:.28rem;font-size:.78rem;color:var(--text-secondary);cursor:pointer;user-select:none;white-space:nowrap}.data-grid-autofit__toggle--compact{font-size:.72rem}.data-grid-autofit__toggle input{margin:0;accent-color:var(--accent)}.data-grid.data-grid--autofit-rows tbody tr{height:auto}.data-grid.data-grid--autofit-rows tbody td{height:auto;vertical-align:top}.data-grid.data-grid--autofit-rows .thcs-td-content,.data-grid.data-grid--autofit-rows .thcs-td-group{line-height:1.35}.data-grid .cell-input{display:block;box-sizing:border-box;font-size:.82rem;line-height:1.4;color:var(--text);margin:0;padding:.16rem .38rem;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-height:1.45rem;width:max-content;min-width:100%;max-width:none}@supports (field-sizing: content){.data-grid .cell-input{field-sizing:content;width:auto;min-width:100%}}.data-grid .cell-input:hover:not(:focus){background:#ffffff73!important}.data-grid .cell-input:focus{outline:none!important;border:none!important;background:#ffffffeb!important;box-shadow:none!important}.data-grid .cell-input--narrow{text-align:center}.data-grid .cell-input--score{text-align:right}.data-grid .cell-input--date{text-align:left}.th-narrow{min-width:2.75rem}.th-check,.td-check{min-width:2.25rem;width:2.25rem;text-align:center;padding-left:.25rem;padding-right:.25rem}.td-check input{margin:0;cursor:pointer}.data-grid .th-check,.data-grid .td-check{padding:.15rem .2rem}.th-actions{min-width:4.5rem;width:5.5rem;text-align:center;vertical-align:middle}.th-actions .thcs-th-inner--solo{justify-content:center;padding-right:.35rem}.th-actions .thcs-th-title{font-size:.78rem;font-weight:600;white-space:nowrap}.td-actions{white-space:nowrap}.td-readonly{color:var(--text-secondary);font-weight:600;padding:.18rem .42rem;white-space:nowrap;font-size:.82rem}.thcs-page{--text-secondary: #334155;--muted: #475569}.thcs-page .thcs-field-compact,.thcs-page .thcs-page-badge,.thcs-page .thcs-chip,.thcs-page .thcs-chip--muted,.thcs-page .thcs-grid-hint{color:#334155}.thcs-page .data-grid.thcs-criteria-grid{color:#0f172a}.thcs-page .data-grid.thcs-criteria-grid thead th,.thcs-page .data-grid.thcs-criteria-grid .thcs-th-title,.thcs-page .data-grid.thcs-criteria-grid .data-grid__th-label{color:#0f172a;font-weight:700}.thcs-page .data-grid.thcs-criteria-grid .td-readonly,.thcs-page .data-grid.thcs-criteria-grid .cell-input,.thcs-page .data-grid.thcs-criteria-grid .thcs-content-input{color:#0f172a;font-weight:500}.thcs-page .data-grid.thcs-criteria-grid .thcs-td-group,.thcs-page .data-grid.thcs-criteria-grid .thcs-td-group .thcs-content-input{font-weight:700}.data-grid.thcs-criteria-grid--entry thead .thcs-col-score-h .thcs-th-title,.data-grid.thcs-criteria-grid tr.data-grid__row--totals .thcs-td-content strong{text-transform:uppercase}.thcs-page .data-grid.thcs-criteria-grid--entry thead .thcs-col-phong .thcs-th-title{color:#b91c1c}.thcs-page .data-grid.thcs-criteria-grid--entry .thcs-score-cell.thcs-col-phong .cell-input{color:#b91c1c;font-weight:700}.thcs-page .data-grid.thcs-criteria-grid--entry .thcs-score-cell.thcs-col-tu .cell-input{color:#0f172a;font-weight:700}.thcs-page .data-grid.thcs-criteria-grid--matrix[data-thcs-summary-view=phong] tbody td.cell-input--score.td-readonly:not(.thcs-td-dual-score){color:#b91c1c;font-weight:700}.thcs-page .data-grid.thcs-criteria-grid--matrix[data-thcs-summary-view=tu] tbody td.cell-input--score.td-readonly:not(.thcs-td-dual-score),.thcs-page .data-grid.thcs-criteria-grid--matrix[data-thcs-summary-view=both] tbody td.thcs-td-content,.thcs-page .data-grid.thcs-criteria-grid--matrix tbody td.th-narrow.td-readonly{color:#0f172a;font-weight:500}.thcs-page .data-grid.thcs-criteria-grid tr.data-grid__row--totals td{color:#0f172a;font-weight:800}.cell-input{width:100%;min-width:4.5rem;max-width:11rem;padding:.35rem .45rem;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);font-size:.82rem}.cell-input:focus{outline:none;border-color:var(--accent);background:#fff}.cell-input--narrow{max-width:3.5rem;min-width:2.5rem}.cell-input--score{width:100%;min-width:3.25rem;max-width:5.5rem;text-align:center;font-variant-numeric:tabular-nums}.cell-input--date{max-width:9.5rem}@media (hover: none) and (pointer: coarse),(max-width: 960px){#root input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=file]):not([type=image]):not([type=range]):not([type=color]),#root select,#root textarea{font-size:16px}.admin-console{touch-action:manipulation}}.btn-icon{padding:.35rem .45rem;min-width:auto}.paste-box{margin-bottom:1rem;padding:1rem;background:#f8fafc;border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.paste-textarea{width:100%;padding:.65rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);font-family:ui-monospace,monospace;font-size:.8rem;resize:vertical}body.participant-data-fullscreen .admin-console__main{padding:.35rem .85rem 1rem}body.participant-data-fullscreen #participant-grid.participant-grid-scroll{flex:1 1 0;min-height:0;max-height:100%}body.participant-data-fullscreen .admin-console__header{padding-block:.35rem}body.participant-data-fullscreen .admin-console__subbar{padding-block:.25rem}body.participant-data-fullscreen .page-hero{margin-bottom:.25rem;padding-block:.35rem}body.participant-data-fullscreen .page-hero__desc{display:none}.participant-data-card--grid{padding:.55rem .72rem;margin-bottom:.45rem;overflow:visible}.participant-unified-toolbar__callout{margin-bottom:.45rem}.participant-unified-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:.18rem .26rem;margin-bottom:.35rem;padding:.06rem 0;overflow-x:auto;overflow-y:visible;position:relative;z-index:30;scrollbar-width:thin}.participant-unified-toolbar>*{flex-shrink:0}.participant-toolbar-field{display:inline-flex;align-items:center;gap:.22rem;margin:0;font-size:.72rem;font-weight:600;color:var(--text-secondary)}.participant-toolbar-field__label{display:none}.participant-toolbar-field .select-control{min-width:7.5rem;max-width:11rem;padding:.2rem .42rem;font-size:.78rem;font-weight:500}.participant-toolbar-field--session .select-control{min-width:9.5rem;max-width:17rem}.participant-toolbar-field--school .select-control{min-width:8rem;max-width:13rem}.participant-grouped-picker{min-width:9.5rem}.participant-grouped-picker--wide{min-width:11rem}.participant-toolbar-field--session .participant-grouped-picker{min-width:11rem;max-width:20rem}.participant-toolbar-field--school .participant-grouped-picker{min-width:9rem;max-width:16rem}.participant-grouped-picker__input{width:100%;cursor:text}.participant-grouped-picker__panel{min-width:100%;max-height:18rem}.participant-grouped-picker__panel--wide{min-width:18rem;max-width:min(28rem,92vw);max-height:22rem}.participant-grouped-picker__group-title{position:sticky;top:0;z-index:1;padding:.35rem .65rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted, #64748b);background:#f8fafc;border-bottom:1px solid var(--border, #e2e8f0)}.participant-grouped-picker__count{border-top:1px solid var(--border, #e2e8f0)}.participant-unified-toolbar--single{flex-wrap:nowrap;margin-bottom:.28rem}.participant-scope-pill-wrap{position:relative;flex-shrink:0}.participant-scope-pill{display:inline-flex;align-items:center;gap:.28rem;max-width:18rem;min-height:1.65rem;padding:.18rem .55rem .18rem .42rem;font:inherit;font-size:.78rem;font-weight:600;color:var(--text-secondary);background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:999px;cursor:pointer;white-space:nowrap}.participant-scope-pill--session{background:linear-gradient(180deg,#fffbeb,#fff);border-color:#fcd34d}.participant-scope-pill--school{background:linear-gradient(180deg,#eff6ff,#fff);border-color:#93c5fd}.participant-scope-pill--phien-thi{background:linear-gradient(180deg,#fef2f2,#fff);border-color:#fca5a5}.participant-scope-pill--rows{background:linear-gradient(180deg,#f0fdf4,#fff);border-color:#86efac}.participant-scope-pill__tag{flex-shrink:0;padding:.06rem .38rem;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#ffffffd9;border:1px solid rgba(148,163,184,.35);border-radius:999px}.participant-scope-pill--session .participant-scope-pill__tag{color:#92400e;border-color:#fcd34d}.participant-scope-pill--school .participant-scope-pill__tag{color:#1d4ed8;border-color:#93c5fd}.participant-scope-pill--phien-thi .participant-scope-pill__tag{color:#b91c1c;border-color:#fca5a5}.participant-scope-pill--rows .participant-scope-pill__tag{color:#15803d;border-color:#86efac}.participant-scope-pill__icon{flex-shrink:0;font-size:.72rem;color:#64748b}.participant-scope-pill--session .participant-scope-pill__icon{color:#d97706}.participant-scope-pill--school .participant-scope-pill__icon{color:#2563eb}.participant-scope-pill--phien-thi .participant-scope-pill__icon{color:#dc2626}.participant-scope-pill--rows .participant-scope-pill__icon{color:#16a34a}.participant-scope-pill__multi-hint{flex-shrink:0;font-size:.68rem;color:#2563eb}.participant-scope-pill__badge{flex-shrink:0;min-width:1.1rem;padding:.04rem .32rem;font-size:.68rem;font-weight:800;line-height:1.2;color:#fff;text-align:center;background:#2563eb;border-radius:999px}.participant-scope-pill:hover:not(:disabled){border-color:#93c5fd}.participant-scope-pill--open{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.participant-scope-pill:disabled{opacity:.55;cursor:not-allowed}.participant-scope-pill__text{overflow:hidden;text-overflow:ellipsis}.participant-scope-pill__chev{font-size:.62rem;color:var(--muted, #64748b)}.participant-scope-unified-pill{display:inline-flex;align-items:center;gap:.32rem;max-width:min(36rem,92vw);min-height:1.65rem;padding:.18rem .55rem .18rem .42rem;font:inherit;font-size:.78rem;font-weight:600;color:var(--text-secondary);background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #cbd5e1;border-radius:999px;cursor:pointer;white-space:nowrap}.participant-scope-unified-pill:hover:not(:disabled){border-color:#3b82f6}.participant-scope-unified-pill--open{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.participant-scope-unified-pill:disabled{opacity:.55;cursor:not-allowed}.participant-scope-unified-pill__part{display:inline-flex;align-items:center;gap:.22rem;min-width:0}.participant-scope-unified-pill__part--session .participant-scope-pill__tag{color:#92400e;border-color:#fcd34d}.participant-scope-unified-pill__part--school .participant-scope-pill__tag{color:#1d4ed8;border-color:#93c5fd}.participant-scope-unified-pill__text{overflow:hidden;text-overflow:ellipsis;max-width:11rem}.participant-scope-unified-pill__sep{color:#94a3b8;font-weight:400;padding:0 .05rem}.participant-scope-tabs{display:flex;gap:0;border-bottom:2px solid #e2e8f0;background:linear-gradient(180deg,#f8fafc,#f1f5f9);flex-shrink:0}.participant-scope-tabs__btn{flex:1 1 50%;display:inline-flex;align-items:center;justify-content:center;gap:.42rem;padding:.52rem .55rem;font:inherit;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.participant-scope-tabs__lbl{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;line-height:1.15;color:#b91c1c;text-shadow:0 1px 0 rgba(255,255,255,.95),0 2px 3px rgba(185,28,28,.28)}.participant-scope-tabs__icon{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:9px;font-size:.88rem;flex-shrink:0;box-shadow:0 2px #ffffffa6 inset,0 3px 8px #0f172a29}.participant-scope-tabs__icon--session{background:linear-gradient(145deg,#fde68a,#f59e0b 55%,#d97706);color:#78350f}.participant-scope-tabs__icon--school{background:linear-gradient(145deg,#bfdbfe,#3b82f6 55%,#1d4ed8);color:#fff;text-shadow:0 1px 1px rgba(30,64,175,.45)}.participant-scope-tabs__btn:hover:not(:disabled){background:#ffffffb8}.participant-scope-tabs__btn:hover:not(:disabled) .participant-scope-tabs__lbl{color:#991b1b}.participant-scope-tabs__btn--on{background:#fff;border-bottom-color:#b91c1c;box-shadow:0 -2px 10px #b91c1c14}.participant-scope-tabs__btn--on .participant-scope-tabs__lbl{color:#991b1b;text-shadow:0 1px 0 rgba(255,255,255,1),0 2px 4px rgba(153,27,27,.35),0 0 1px rgba(127,29,29,.5)}.participant-scope-tabs__btn--on .participant-scope-tabs__icon{transform:translateY(-1px);box-shadow:0 2px #ffffffbf inset,0 4px 10px #0f172a38}.participant-scope-tabs__btn:not(.participant-scope-tabs__btn--on) .participant-scope-tabs__lbl{opacity:.88}.participant-scope-tabs__btn:not(.participant-scope-tabs__btn--on) .participant-scope-tabs__icon{opacity:.92;filter:saturate(.88)}.participant-scope-tabs__btn:disabled{opacity:.45;cursor:not-allowed}.participant-scope-popover--unified{min-width:18rem}.participant-scope-popover{position:absolute;z-index:50;top:calc(100% + 4px);left:0;display:flex;flex-direction:column;min-width:16rem;max-width:min(22rem,92vw);background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:10px;box-shadow:0 10px 28px #0f172a24}.participant-scope-popover--portal{position:fixed;top:auto;left:auto;display:flex;flex-direction:column;overflow:hidden;max-width:min(420px,calc(100vw - 16px))}.participant-scope-popover--session{max-height:20rem}.participant-scope-popover--school{min-width:18rem;max-height:24rem}.participant-scope-popover__head{padding:.42rem .55rem .28rem;font-size:.72rem;font-weight:700;color:#1d4ed8;border-bottom:1px solid var(--border, #e2e8f0);background:#eff6ff}.participant-scope-popover__search{display:flex;align-items:center;gap:.4rem;padding:.45rem .55rem;border-bottom:1px solid var(--border, #e2e8f0);color:var(--muted, #64748b)}.participant-scope-popover__search-input{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:.82rem;outline:none}.participant-scope-popover__bulk{display:flex;flex-wrap:wrap;gap:.35rem .55rem;padding:.35rem .55rem;border-bottom:1px solid var(--border, #e2e8f0)}.participant-scope-popover__link{padding:0;font:inherit;font-size:.76rem;font-weight:600;color:#2563eb;background:none;border:none;cursor:pointer}.participant-scope-popover__link:hover{text-decoration:underline}.participant-scope-popover__list{overflow:auto;min-height:0;flex:1 1 auto}.participant-scope-popover__list--checks{padding:.15rem 0}.participant-scope-popover__list--menu{padding:.28rem;display:flex;flex-direction:column;gap:.12rem}.participant-scope-popover--pill-menu{min-width:12rem;height:auto!important;max-height:min(20rem,70vh)}.participant-scope-popover--pill-menu .participant-scope-popover__list--menu{flex:0 0 auto;overflow:visible}.participant-scope-popover--phien-thi .participant-scope-popover__head{color:#b91c1c;background:#fef2f2;border-bottom-color:#fecaca}.participant-scope-popover--rows .participant-scope-popover__head{color:#15803d;background:#f0fdf4;border-bottom-color:#bbf7d0}.participant-scope-popover__menu-item{display:flex;align-items:center;gap:.45rem;width:100%;padding:.42rem .5rem;border:1px solid transparent;border-radius:8px;background:#fff;font:inherit;font-size:.78rem;font-weight:600;color:#0f172a;text-align:left;cursor:pointer}.participant-scope-popover__menu-item:hover:not(:disabled):not(.participant-scope-popover__menu-item--disabled){background:#f8fafc;border-color:#e2e8f0}.participant-scope-popover__menu-item--on{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.participant-scope-popover__menu-item--disabled,.participant-scope-popover__menu-item:disabled{opacity:.5;cursor:not-allowed}.participant-scope-popover__menu-icon{flex-shrink:0;width:1.35rem;height:1.35rem;display:grid;place-items:center;border-radius:6px;background:#f1f5f9;color:#475569;font-size:.72rem}.participant-scope-popover__menu-item--on .participant-scope-popover__menu-icon{background:#dbeafe;color:#1d4ed8}.participant-scope-popover__menu-label{flex:1 1 auto;min-width:0}.participant-scope-popover__menu-check{flex-shrink:0;font-size:.72rem;color:#2563eb}.participant-scope-popover__group+.participant-scope-popover__group{border-top:1px solid var(--border, #e2e8f0)}.participant-scope-check-row{display:flex;align-items:center;gap:.45rem;padding:.35rem .65rem;font-size:.82rem;cursor:pointer}.participant-scope-check-row:hover{background:#3b82f60f}.participant-scope-check-row input{margin:0;flex-shrink:0}.participant-scope-popover__footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;border-top:1px solid var(--border, #e2e8f0)}.participant-toolbar-sep{width:1px;align-self:stretch;min-height:1.35rem;margin:0 .08rem;background:var(--border);flex-shrink:0}.participant-btn-compact{padding:.2rem .45rem!important;font-size:.78rem!important;line-height:1.2;min-height:1.55rem}.participant-btn-save,.thcs-entry-save-btn{flex-shrink:0;padding:.28rem .62rem!important;font-size:.76rem!important;line-height:1.2;min-height:1.85rem;min-width:5.5rem;font-weight:800!important;letter-spacing:.05em;text-transform:uppercase;box-sizing:border-box;background:linear-gradient(180deg,#3b82f6,#2563eb 58%,#1d4ed8)!important;border-color:#1d4ed8!important;color:#fff!important;box-shadow:0 1px #ffffff3d inset,0 2px 7px #2563eb66,0 1px 2px #0f172a24;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}.participant-btn-save:hover:not(:disabled),.thcs-entry-save-btn:hover:not(:disabled){background:linear-gradient(180deg,#60a5fa,#3b82f6 55%,#2563eb)!important;border-color:#2563eb!important;box-shadow:0 1px #ffffff4d inset,0 4px 14px #2563eb7a,0 2px 4px #0f172a29;transform:translateY(-1px)}.participant-btn-save:active:not(:disabled),.thcs-entry-save-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #1d4ed859 inset,0 1px 4px #2563eb4d}.participant-btn-save .participant-save-dirty-badge{min-width:1rem;height:1rem;margin-left:.28rem;padding:0 .22rem;font-size:.62rem}.participant-save-dirty-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;margin-left:.35rem;padding:0 .3rem;border-radius:999px;background:#ffffffeb;color:#1d4ed8;font-size:.68rem;font-weight:800;letter-spacing:0;text-transform:none;line-height:1;box-shadow:0 0 0 1px #1d4ed840}.participant-btn-icon{padding:.2rem .42rem!important;min-width:1.55rem;min-height:1.55rem}.participant-chip{display:inline-flex;align-items:center;padding:.12rem .38rem;font-size:.72rem;font-weight:600;line-height:1.2;color:var(--text-secondary);background:var(--surface-2, #f4f5f7);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap}.participant-chip--muted{font-weight:500;color:var(--muted);background:transparent;border-color:transparent;max-width:8rem;overflow:hidden;text-overflow:ellipsis}.participant-chip--warn{color:#92400e;background:#fef3c7;border-color:#fcd34d}.participant-unified-toolbar__search{flex:1 1 5rem;min-width:4.5rem;max-width:11rem;margin-left:.15rem}.participant-unified-toolbar .participant-grid-search-wrap{flex:1 1 8.5rem;min-width:6.25rem;max-width:100%;gap:.22rem;padding:.06rem .42rem .06rem .48rem;min-height:1.85rem;box-sizing:border-box}.participant-unified-toolbar .participant-grid-search{font-size:.76rem;padding:.18rem .08rem;min-height:1.55rem}.participant-unified-toolbar .participant-grid-search-wrap__icon{font-size:.74rem}.participant-unified-toolbar .participant-grid-search-wrap__clear{min-width:1.25rem;min-height:1.25rem;padding:0;font-size:.9rem;line-height:1}.participant-unified-toolbar .participant-row-select-action{min-width:5.5rem;max-width:7.5rem;min-height:1.85rem;padding:.28rem .45rem;font-size:.76rem;box-sizing:border-box}.participant-unified-toolbar .menu-dropdown{position:relative;z-index:35}.participant-unified-toolbar .menu-dropdown__panel{z-index:120}.participant-unified-toolbar .menu-dropdown__panel--grow.thcs-floating-panel,.thcs-grid-grow__panel.thcs-floating-panel{z-index:1400;min-width:min(22rem,calc(100vw - 1.5rem))}.participant-data-card--grid{position:relative;z-index:1}.participant-unified-toolbar{position:relative;z-index:50}.participant-export-word-host{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px}.participant-unified-toolbar .thcs-btn-icon{min-width:1.85rem;padding:.2rem .35rem}.participant-grid-fieldset{border:0;margin:0;padding:0;min-width:min-content;width:max-content;display:block}.participant-data-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.35rem}.participant-data-card__title{margin:0;font-size:1.05rem}.participant-help-details{font-size:.78rem;color:var(--muted)}.participant-help-details summary{cursor:pointer;font-weight:600;color:var(--accent);list-style:none}.participant-help-details summary::-webkit-details-marker{display:none}.participant-help-details__body{margin:.5rem 0 0;max-width:42rem;font-size:.8rem;color:var(--text-secondary);line-height:1.45}.arch-details{margin-top:.65rem;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;background:#f8fafc}.arch-details__summary{cursor:pointer;font-weight:600;font-size:.88rem;color:var(--accent)}.arch-details__list{margin:.5rem 0 0;padding-left:1.15rem;font-size:.86rem;color:var(--text-secondary);line-height:1.55}.arch-details__list li{margin-bottom:.35rem}.participant-data-card__hint{font-size:.82rem;color:var(--muted)}.participant-menubar{display:none}.participant-menubar__primary{display:flex;flex-wrap:wrap;gap:.3rem .4rem;align-items:center}.participant-menubar__primary>.btn{padding-block:.28rem}.participant-row-count{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;padding:0 .15rem 0 .35rem;border-left:1px solid var(--border);margin-left:.15rem}.participant-row-count strong{color:var(--text);font-weight:700}.participant-menubar__menus{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.menu-dropdown{position:relative}.menu-dropdown__trigger{min-width:5.5rem;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.menu-dropdown__panel{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:12.5rem;padding:.35rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-card)}.menu-dropdown__panel.thcs-floating-panel{position:fixed;right:auto;top:0;z-index:1200}.menu-dropdown__item{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.45rem .55rem;border:none;border-radius:8px;background:transparent;font:inherit;font-size:.84rem;color:var(--text);cursor:pointer}.menu-dropdown__item:hover:not(:disabled){background:#f1f5f9}.menu-dropdown__item:disabled{opacity:.45;cursor:not-allowed}.menu-dropdown--gold .menu-dropdown__trigger--gold{display:inline-flex;align-items:center;gap:.35rem;min-height:1.85rem;padding:.28rem .62rem!important;font-size:.76rem!important;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#1c1917;background:linear-gradient(135deg,#fdf8ec,#fde68a 55%,#f5d76e);border:1px solid rgba(180,140,40,.32)!important;border-radius:10px;box-shadow:0 3px #785a1e0f,0 5px 14px #785a1e1f;transition:background .2s ease,box-shadow .2s ease,transform .18s ease,border-color .2s ease}.menu-dropdown--gold .menu-dropdown__trigger--gold.btn-ghost{background:linear-gradient(135deg,#fdf8ec,#fde68a 55%,#f5d76e);color:#1c1917}.menu-dropdown--gold.menu-dropdown--open .menu-dropdown__trigger--gold,.menu-dropdown--gold .menu-dropdown__trigger--gold:hover:not(:disabled){background:linear-gradient(135deg,#fffbeb,#fde68a,#f5d76e);border-color:#b48c2873!important;box-shadow:0 8px 20px #785a1e29,0 3px 8px #785a1e1a;transform:translateY(-1px)}.menu-dropdown--gold .menu-dropdown__trigger--gold:disabled{opacity:.5;transform:none;box-shadow:none}.menu-dropdown__panel--gold{display:flex;flex-direction:column;gap:.48rem;min-width:11.5rem;padding:.6rem!important;background:linear-gradient(180deg,#ead9a8,#dfc98a)!important;border:2px solid rgba(180,140,40,.28)!important;border-radius:14px!important;box-shadow:0 22px 44px #785a1e29,0 8px 18px #785a1e1a!important}.menu-dropdown__panel--gold .menu-dropdown__item{margin:0;gap:.55rem;min-height:2.35rem;padding:.48rem .62rem;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1c1917;background:#fff;border:1px solid rgba(180,140,40,.28);border-radius:10px;box-shadow:0 3px 10px #785a1e1a;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.menu-dropdown__panel--gold .menu-dropdown__item+.menu-dropdown__item{margin-top:0}.menu-dropdown__panel--gold .menu-dropdown__item:hover:not(:disabled){background:#fff8e8;border-color:#b48c286b;box-shadow:0 5px 14px #785a1e24;transform:translateY(-1px)}.menu-dropdown__item-icon{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;border-radius:7px;flex-shrink:0;background:linear-gradient(145deg,#3730a3,#6366f1);box-shadow:0 3px 8px #1c191724,inset 0 1px #ffffff73}.menu-dropdown__item-icon:has(.fa-file-excel){background:linear-gradient(145deg,#047857,#10b981)}.menu-dropdown__item-icon:has(.fa-file-word){background:linear-gradient(145deg,#1e40af,#3b82f6)}.menu-dropdown__item-icon:has(.fa-file-pdf){background:linear-gradient(145deg,#be123c,#f43f5e)}.menu-dropdown__item-icon:has(.fa-file-powerpoint){background:linear-gradient(145deg,#b45309,#f59e0b)}.menu-dropdown__item-icon i{font-size:.74rem;color:#fff;width:auto}.menu-dropdown__item-label{flex:1;min-width:0}.menu-dropdown__panel--grow{left:0;right:auto;min-width:20rem;max-width:min(26rem,calc(100vw - 2rem));padding:.65rem .75rem}.participant-grow-panel__label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.35rem}.participant-grow-panel__hint{font-size:.78rem;color:var(--text-secondary);margin:.2rem 0 .45rem;line-height:1.35}.participant-grow-panel__row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.participant-grow-panel__num{width:4.5rem;padding:.35rem .45rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;font-size:.88rem}.participant-grow-panel__select{width:100%;margin-bottom:.45rem;padding:.32rem .45rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;font-size:.8rem;background:#fff;color:var(--text)}.participant-grow-panel__hint--tight{margin-top:.55rem;margin-bottom:0}.participant-ctx-menu{min-width:11.5rem;padding:.35rem 0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;box-shadow:0 6px 20px #0f172a1f}.participant-ctx-menu__hint{padding:.25rem .65rem .4rem;font-size:.72rem;color:var(--text-secondary);line-height:1.35}.participant-ctx-menu__hint--sep{padding-top:.45rem;margin-top:.15rem;border-top:1px solid var(--border)}.participant-ctx-menu__field{display:flex;align-items:center;gap:.45rem;padding:.35rem .65rem .45rem;font-size:.78rem;color:var(--text-secondary)}.participant-ctx-menu__field label{flex:0 0 auto;white-space:nowrap}.participant-ctx-menu__input{width:4rem;min-width:0;padding:.2rem .35rem;border:1px solid var(--border-strong);border-radius:6px;font:inherit;font-size:.82rem}.participant-ctx-menu__item{display:block;width:100%;margin:0;padding:.4rem .75rem;border:0;border-radius:0;background:transparent;font:inherit;font-size:.82rem;text-align:left;color:var(--text);cursor:pointer}.participant-ctx-menu__item:hover:not(:disabled){background:var(--accent-soft)}.participant-ctx-menu__item:disabled{opacity:.45;cursor:not-allowed}.data-grid thead th.data-grid__th,.data-grid__th--extra{cursor:pointer}.data-grid th.data-grid__col-sel,.data-grid td.data-grid__col-sel{box-shadow:none;background:#107c4117!important}.data-grid td.data-grid__cell-sel:not(.td-check):not(.td-actions){box-shadow:none;background:#107c411f!important}.data-grid td.data-grid__cell-sel .cell-input:not(:focus){background:transparent!important}.data-grid td.data-grid__cell-active:not(.td-check):not(.td-actions){outline:2px solid rgba(3,105,161,.85);outline-offset:-2px;z-index:1}.participant-grow-panel__sep{height:1px;margin:.65rem 0;background:var(--border)}.participant-grid-search-wrap{display:inline-flex;align-items:center;gap:.35rem;flex:1 1 9.33rem;min-width:6.75rem;max-width:min(24rem,100%);padding:.1rem .35rem .1rem .4rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#f8fafc}@media (max-width: 720px){.participant-grid-search-wrap{flex:1 1 9.33rem;max-width:min(24rem,100%)}.records-command-bar .participant-grid-search-wrap,.participant-unified-toolbar .participant-grid-search-wrap,.thcs-unified-toolbar .participant-grid-search-wrap{flex:0 0 auto;min-width:6.75rem;max-width:11.5rem;min-height:1.85rem;padding:.06rem .42rem .06rem .48rem;box-sizing:border-box}}.participant-grid-search{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:.84rem;padding:.32rem .15rem;outline:none;color:var(--text)}.participant-grid-search:focus{outline:none}.participant-grid-search-wrap__icon{color:var(--muted);font-size:.82rem;flex-shrink:0}.participant-grid-search-wrap__clear{flex-shrink:0;padding:.22rem .4rem!important;font-size:.76rem!important}.participant-row-select-action-wrap{display:inline-flex;align-items:center}.participant-row-select-action{font:inherit;font-size:.8rem;padding:.26rem .45rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;color:var(--text);min-width:9.5rem;max-width:14rem;cursor:pointer}.participant-row-select-action:disabled{opacity:.5;cursor:not-allowed}.data-grid tbody tr:nth-child(2n) td{background:#f8fafcb8}.data-grid tbody tr:hover td{background:#e2e8f08c}.data-grid tbody tr.participant-grid-row--sbd-dup-partial td{background:#fef3c7!important}.data-grid tbody tr.participant-grid-row--sbd-dup-partial:hover td{background:#fde68a!important}.data-grid tbody tr.participant-grid-row--sbd-dup-exact td{background:#fee2e2!important}.data-grid tbody tr.participant-grid-row--sbd-dup-exact:hover td{background:#fecaca!important}.data-grid tbody tr.participant-grid-row--sbd-dup-partial td[data-col-key=sbd],.data-grid tbody tr.participant-grid-row--sbd-dup-exact td[data-col-key=sbd]{box-shadow:inset 0 0 0 2px #d97706}.data-grid tbody tr.participant-grid-row--sbd-dup-exact td[data-col-key=sbd]{box-shadow:inset 0 0 0 2px #dc2626}.participant-grid-sbd-dup-hint{margin-top:.15rem;padding:.12rem .3rem;font-size:.68rem;line-height:1.3;color:#78350f;background:#fffbebf2;border-radius:3px;white-space:normal;max-width:14rem}.participant-grid-sbd-dup-hint--exact{color:#991b1b;background:#fef2f2f2}.data-grid tbody tr.participant-grid-row--school-error td{background:#fff7ed!important}.data-grid tbody tr.participant-grid-row--school-error:hover td{background:#ffedd5!important}.data-grid tbody tr.participant-grid-row--school-fuzzy td{background:#fffbeb!important}.data-grid tbody tr.participant-grid-row--school-blocked td{background:#fef2f2!important}.data-grid tbody tr.participant-grid-row--school-error td[data-col-key=truong],.data-grid tbody tr.participant-grid-row--school-fuzzy td[data-col-key=truong],.data-grid tbody tr.participant-grid-row--school-blocked td[data-col-key=truong]{box-shadow:inset 3px 0 #ea580c}.data-grid tbody tr.participant-grid-row--school-blocked td[data-col-key=truong]{box-shadow:inset 3px 0 #dc2626}.participant-grid-school-hint{margin-top:.15rem;padding:.12rem .3rem;font-size:.68rem;line-height:1.3;color:#9a3412;background:#fff7edf2;border-radius:3px;white-space:normal;max-width:16rem}.participant-grid-school-hint--fuzzy{color:#78350f;background:#fffbebf2}.participant-grid-school-hint--no_write,.participant-grid-school-hint--no_edit{color:#991b1b;background:#fef2f2f2}.participant-btn--quality-warn{color:#9a3412;border-color:#fdba74;background:#fff7ed}.participant-quality-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.participant-quality-panel{width:min(32rem,100%);max-height:min(85vh,40rem);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 20px 50px #0f172a40;padding:1rem 1.15rem}.participant-quality-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.participant-quality-panel__head h2{margin:0;font-size:1.05rem}.participant-quality-panel__lead{margin:0 0 .75rem;font-size:.9rem;line-height:1.45}.participant-quality-panel__ok{margin:.5rem 0;color:#166534;font-size:.92rem}.participant-quality-stat{width:100%;border-collapse:collapse;font-size:.88rem;margin-bottom:.75rem}.participant-quality-stat td{padding:.35rem .5rem;border-bottom:1px solid #e2e8f0}.participant-quality-stat__count{text-align:right;width:4rem}.participant-quality-stat--danger td{color:#991b1b}.participant-quality-stat--warn td{color:#92400e}.participant-quality-panel__hint{margin:.35rem 0;font-size:.85rem;line-height:1.4}.participant-quality-panel__hint--danger{color:#991b1b}.participant-quality-panel__foot{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;justify-content:flex-end}.participant-chip--danger{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.data-grid tbody tr td:focus-within:not(.td-check):not(.td-actions):not(.participant-grid-empty){background:#ffffffe0!important}.participant-file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.op-progress{margin:.35rem 0 .65rem;padding:.55rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:linear-gradient(180deg,#f8fafc,#fff)}.op-progress__head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.35rem}.op-progress__title{font-size:.82rem;font-weight:700;color:var(--text)}.op-progress__pct{font-size:.78rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.op-progress__track{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.op-progress__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0%,#0284c7 100%);transition:width .18s ease-out}.op-progress__detail{margin-top:.35rem;font-size:.78rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.op-progress__step{font-weight:600;color:var(--text)}.op-progress__sep{color:var(--border-strong)}.participant-data-loading-inline{margin:0 0 .35rem;font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.participant-context-loader{max-width:22rem;margin:2.5rem auto;padding:2rem 1.75rem;text-align:center;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-strong);box-shadow:var(--shadow-card)}.participant-context-loader__spinner{width:2.75rem;height:2.75rem;margin:0 auto 1.25rem;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:participant-context-spin .75s linear infinite}@keyframes participant-context-spin{to{transform:rotate(360deg)}}.participant-context-loader__lines{display:flex;gap:.4rem;justify-content:center;margin-top:.25rem}.participant-context-loader__line{height:3px;width:2.25rem;border-radius:2px;background:linear-gradient(90deg,var(--border),var(--accent-soft));opacity:.45;animation:participant-context-pulse 1.1s ease-in-out infinite}.participant-context-loader__line:nth-child(2){animation-delay:.12s}.participant-context-loader__line:nth-child(3){animation-delay:.24s}@keyframes participant-context-pulse{0%,to{opacity:.35;transform:scaleX(.88)}50%{opacity:1;transform:scaleX(1)}}.participant-add-rows{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.35rem .45rem}.participant-add-rows__count{width:3.25rem;padding:.45rem .4rem;text-align:center;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#fff;font-weight:600;font-variant-numeric:tabular-nums}.participant-add-rows__count:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.participant-add-rows__inline-label{flex:0 0 auto;font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.participant-grid-shell{position:relative;flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.participant-data-opstrip--overlay{position:absolute;top:0;left:0;right:0;z-index:12;margin:0;padding:.22rem .55rem;min-height:1.55rem;align-items:center;gap:.45rem;border-radius:0;border-top:none;border-right:none;border-bottom:1px solid #7dd3fc;pointer-events:none;box-shadow:0 1px 4px #0f172a14}.participant-data-opstrip--overlay .participant-data-opstrip__spinner{width:.85rem;height:.85rem;margin-top:0;border-width:2px}.participant-data-opstrip__line{flex:1;min-width:0;font-size:.76rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.participant-data-opstrip--overlay .participant-data-opstrip__bar-wrap{margin:0;width:4.5rem;height:.28rem;flex-shrink:0}.participant-data-opstrip__pct{font-size:.72rem;font-weight:700;color:#0369a1;flex-shrink:0;min-width:2rem;text-align:right}.participant-data-opstrip{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.75rem;padding:.65rem 1rem;border-radius:var(--radius-sm);border:1px solid #7dd3fc;border-left:4px solid var(--accent);background:linear-gradient(90deg,#e0f2fe,#f8fafc 55%);color:#0c4a6e;box-shadow:0 1px 3px #0f172a0f}.participant-data-opstrip__spinner{width:1.25rem;height:1.25rem;margin-top:.1rem;border:2.5px solid #bae6fd;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;animation:participant-data-opstrip-spin .75s linear infinite}@keyframes participant-data-opstrip-spin{to{transform:rotate(360deg)}}.participant-data-opstrip__body{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.65rem 1rem}.participant-data-opstrip__texts{flex:1;min-width:12rem}.participant-data-opstrip__actions{display:flex;flex-direction:column;gap:.35rem;flex-shrink:0}.participant-data-opstrip__abort{white-space:nowrap;border-color:#7dd3fc!important;color:#0c4a6e!important}.participant-data-opstrip__phase{font-size:.95rem;font-weight:700;letter-spacing:.01em}.participant-data-opstrip__detail{margin-top:.2rem;font-size:.82rem;font-weight:500;color:#075985;line-height:1.4}.participant-data-opstrip__bar-wrap{margin-top:.45rem;height:.4rem;border-radius:999px;background:#cbd5e1;overflow:hidden}.participant-data-opstrip__bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#38bdf8);transition:width .12s ease-out}.participant-data-opstrip__fraction{margin-top:.25rem;font-size:.78rem;font-weight:600;color:#0369a1}.dash-dnd-col{width:2rem;min-width:2rem;padding-left:.25rem;padding-right:.25rem}.dash-dnd-cell{width:2rem;min-width:2rem;vertical-align:middle;text-align:center}.dash-dnd-handle{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-sm);color:var(--muted, #64748b);cursor:grab;-webkit-user-select:none;user-select:none}.dash-dnd-handle:hover{background:#0f172a0f;color:var(--text-secondary, #334155)}.dash-dnd-handle:active{cursor:grabbing}.thcs-page~.participant-data-toast,body.participant-data-fullscreen .participant-data-toast{margin-bottom:.25rem;padding:.35rem .55rem;font-size:.82rem}.participant-data-toast{margin-top:0;margin-bottom:.75rem;animation:participant-data-toast-in .2s ease-out}.participant-data-toast--ok{border-color:#86efac;box-shadow:0 2px 8px #16653414}.participant-save-bg-banner{background:#e0f2fef2;border:1px solid #7dd3fc;color:#0c4a6e}.participant-save-job-host{position:fixed;z-index:12050;width:min(420px,calc(100vw - 2rem));padding:.75rem .85rem;border-radius:12px;border:1px solid #93c5fd;background:#fffffff7;box-shadow:0 12px 32px #0f172a2e;animation:participant-data-toast-in .2s ease-out;touch-action:none;user-select:none;transform:translateZ(0);transition:left .2s ease-out,top .2s ease-out,box-shadow .15s ease-out,opacity .15s ease-out}.participant-save-job-host--dragging{will-change:transform;transition:none;box-shadow:0 16px 40px #0f172a47;opacity:.96;cursor:grabbing}.participant-save-job-host--snapping{will-change:left,top}.participant-save-job-host--compact{width:min(300px,calc(100vw - 2rem));padding:.55rem .65rem}.participant-save-job-host--micro{width:auto;min-width:0;padding:.35rem .4rem .45rem;display:flex;flex-direction:column;align-items:center;gap:.2rem;border-radius:14px}.participant-save-job-host__drag-handle{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.75rem;margin:0;padding:0;border:none;border-radius:6px;background:#f1f5f9;color:#64748b;cursor:grab;flex-shrink:0}.participant-save-job-host__drag-handle:hover{background:#e2e8f0;color:#334155}.participant-save-job-host--dragging .participant-save-job-host__drag-handle{cursor:grabbing}.participant-save-job-host__micro-grip-btn{align-self:stretch;display:flex;align-items:center;justify-content:center;width:100%;height:1.1rem;margin:0;padding:0;border:none;border-radius:6px;background:#f1f5f9;color:#94a3b8;cursor:grab;font-size:.65rem}.participant-save-job-host__micro-grip-btn:hover{background:#e2e8f0;color:#475569}.participant-save-job-host__micro-btn{position:relative;display:flex;align-items:center;justify-content:center;width:3.35rem;height:3.35rem;margin:0;padding:0;border:none;border-radius:999px;background:#eff6ff;color:#1d4ed8;cursor:pointer;box-shadow:inset 0 0 0 1px #bfdbfe}.participant-save-job-host__micro-btn:hover{background:#dbeafe}.participant-save-job-host__micro-btn--notice{width:2.75rem;height:2.75rem;font-size:1.1rem}.participant-save-job-host__micro-pct{position:relative;z-index:1;font-size:.72rem;font-weight:700;line-height:1}.participant-save-job-host__micro-caption{font-size:.65rem;color:#64748b;line-height:1}.participant-save-job-host__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.participant-save-job-host__ring-track{fill:none;stroke:#dbeafe;stroke-width:3.5}.participant-save-job-host__ring-fill{fill:none;stroke:#2563eb;stroke-width:3.5;stroke-linecap:round;transition:stroke-dashoffset .15s ease}.participant-save-job-host--running{border-color:#60a5fa}.participant-save-job-host--done{border-color:#86efac;background:#ecfdf5fa}.participant-save-job-host--warn{border-color:#fcd34d;background:#fffbebfa}.participant-save-job-host--info{border-color:#7dd3fc;background:#e0f2fefa}.participant-save-job-host--error{border-color:#fca5a5;background:#fef2f2fa}.participant-save-job-host__head{display:flex;align-items:flex-start;gap:.55rem}.participant-save-job-host__icon{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:#eff6ff;color:#2563eb;flex-shrink:0}.participant-save-job-host__titles{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.participant-save-job-host__titles strong{font-size:.9rem;line-height:1.25}.participant-save-job-host__meta{font-size:.75rem;color:#64748b}.participant-save-job-host__actions{display:flex;gap:.15rem;flex-shrink:0}.participant-save-job-host__detail{margin:.45rem 0 0;font-size:.78rem;line-height:1.35;color:#334155}.participant-save-job-host__hint{margin:.45rem 0 0;font-size:.74rem;color:#64748b}.participant-save-job-host__hint kbd{display:inline-block;padding:.05rem .3rem;border-radius:4px;border:1px solid #cbd5e1;background:#f8fafc;font-size:.68rem;font-family:inherit}.participant-save-job-host__bar-wrap{position:relative;margin-top:.5rem;height:.45rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.participant-save-job-host__bar-wrap--min{margin-top:.35rem}.participant-save-job-host__bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#38bdf8);transition:width .15s ease}.participant-save-job-host__pct{position:absolute;right:0;top:calc(100% + .2rem);font-size:.72rem;color:#64748b}.participant-save-job-host__foot{display:flex;gap:.35rem;margin-top:.55rem;flex-wrap:wrap}@keyframes participant-data-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.participant-ward-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:#f8fafc;font-size:.82rem;align-self:flex-end}.participant-ward-pill__lab{font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.participant-ward-pill__val{font-weight:600;color:var(--text)}.dash-toast{border:1px solid #86efac}.participant-page-boot{min-height:42vh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem}.table-scroll--drop{outline:2px dashed var(--accent);outline-offset:2px;background:var(--accent-soft)}.admin-console{min-height:100vh;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;width:100%;max-width:none;overflow:visible;background:linear-gradient(165deg,#f0f9ff,#f8fafc 35%,#eef2f7);--admin-sticky-offset: 3.35rem}.admin-console__header{position:sticky;top:0;z-index:200;overflow:visible;flex-shrink:0;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(14,165,233,.12);box-shadow:0 4px 20px #0f172a0a}.admin-console__header-lead{display:flex;align-items:center;min-width:0;flex-shrink:1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.admin-console__header-brand-link{position:relative;text-decoration:none!important;color:inherit;border-radius:8px;transition:background .15s ease}.admin-console__header-emblem-btn,.admin-console__header-brand-text-btn{border:0;background:transparent;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;border-radius:8px;transition:background .15s ease}.admin-console__header-emblem-btn{display:flex;align-items:center;flex-shrink:0}.admin-console__header-brand-text-btn{min-width:0;text-align:center}.admin-console__header-emblem-btn:hover,.admin-console__header-emblem-btn:focus-visible,.admin-console__header-brand-text-btn:hover,.admin-console__header-brand-text-btn:focus-visible{background:#fee2e273;outline:none}.admin-console__header-emblem-btn:active,.admin-console__header-brand-text-btn:active{background:#fecaca59}.admin-console__header-lead .login-password-modal__brand{min-width:0}.admin-console__header-lead .login-password-modal__inst-text{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.admin-console__header-lead .login-password-modal__inst-title,.admin-console__header-lead .login-password-modal__inst-sub{display:block;max-width:100%;text-align:center}@media (max-width: 960px){.admin-console__header{background:linear-gradient(90deg,#fffbeb,#fef3c7 28%,#fffffff7)}.admin-console__header-row{padding-left:.35rem;gap:.2rem}.admin-console__header-lead{flex:1;font-size:clamp(13px,2.8vw,16px)}.admin-console__header-lead .login-password-modal__brand{flex:1;min-width:0;justify-content:flex-start;gap:.28rem}.admin-console__header-lead .login-password-modal__logo{width:clamp(28px,8vw,40px);height:clamp(28px,8vw,40px)}.admin-console__header-lead .login-password-modal__inst-title{font-size:clamp(.62rem,2.4vw + .28rem,.9rem);line-height:1.2}.admin-console__header-lead .login-password-modal__inst-sub{font-size:clamp(.54rem,2vw + .22rem,.75rem);line-height:1.2}}.admin-console__header-row{display:flex;align-items:center;gap:.65rem;flex-wrap:nowrap;padding:.55rem 1rem .55rem .85rem;width:100%;max-width:none;margin:0}.admin-console__menu-btn{flex-shrink:0}.admin-console__btn-logout{border:1px solid #e5e7eb;background:#f8fafc;color:#2563eb;font:inherit;font-size:.875rem;font-weight:600;padding:.4rem 1rem;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s}.admin-console__btn-logout:hover{background:#eff6ff;border-color:#bfdbfe}.admin-console__nav{display:flex;align-items:center;flex:1;min-width:0;padding:0 .5rem}.admin-console__nav--desktop{justify-content:center;container-type:inline-size;container-name:admin-top-nav;overflow:visible}@media (min-width: 961px){.admin-console__nav--desktop .admin-console__nav-rail{padding:.3rem .48rem;box-shadow:inset 0 1px #ffffffbf,inset 0 -1px #785a3214,0 4px 14px #1c191712}.admin-console__nav--desktop .admin-console__nav-rail-cell{padding:0 .3rem}.admin-console__nav--desktop .admin-console__nav-rail-cell--sep:before{top:.28rem;bottom:.28rem}.admin-console__nav--desktop .admin-console__navlink{min-height:2.5rem;padding:.24rem .72rem .24rem .56rem;gap:.46rem;font-size:.78rem;box-shadow:0 2px #1c19170a,0 3px 10px #1c19170f}.admin-console__nav--desktop .admin-console__navlink:before{width:4px}.admin-console__nav--desktop .admin-console__navlink-icon{width:1.9rem;height:1.9rem;font-size:.86rem;border-radius:8px;box-shadow:0 2px 6px #1c191729,inset 0 1px #ffffff4d}.admin-console__nav--desktop .admin-console__navlink-icon i{font-size:.86rem}.admin-console__nav--desktop .admin-console__navlink-copy{gap:.02rem}.admin-console__nav--desktop .admin-console__navlink-kicker{font-size:.54rem;letter-spacing:.08em}.admin-console__nav--desktop .admin-console__navlink-title{font-size:.72rem;letter-spacing:.05em}.admin-console__nav--desktop .admin-console__nav-chevron-wrap{width:1.05rem;height:1.05rem;margin-left:.06rem}.admin-console__nav--desktop .admin-console__nav-badge{top:-.28rem;right:-.28rem;min-width:.95rem;height:.95rem;font-size:.58rem}.admin-console__nav--desktop .admin-console__nav-setting-panel{top:calc(100% + .42rem);padding:.42rem;gap:.38rem;min-width:10rem;max-width:min(15rem,calc(100vw - 1.5rem));border-radius:12px;border-width:1.5px}.admin-console__nav--desktop .admin-console__nav-setting-panel--criteria,.admin-console__nav--desktop .admin-console__nav-setting-panel--menu{min-width:11rem;max-width:min(15.5rem,calc(100vw - 1.5rem))}.admin-console__nav--desktop .admin-console__nav-panel-hint{margin:0 0 .18rem;padding:0 .42rem .22rem;font-size:.62rem}.admin-console__nav--desktop .admin-console__nav-panel-hint i{font-size:.66rem}.admin-console__nav--desktop .admin-console__nav-setting-flyout,.admin-console__nav--desktop .admin-console__nav-criteria-flyout,.admin-console__nav--desktop .admin-console__nav-phien-thi-flyout{gap:.38rem}.admin-console__nav--desktop .admin-console__nav-flyout-row{border-radius:9px}.admin-console__nav--desktop .admin-console__nav-flyout-row--grade:hover,.admin-console__nav--desktop .admin-console__nav-flyout-row--grade:focus-within{transform:translateY(-1px)}.admin-console__nav--desktop .admin-console__nav-menu-item--flyout-trigger{min-height:2.15rem;padding:.34rem .48rem;font-size:.72rem;border-radius:9px}.admin-console__nav--desktop .admin-console__nav-index{min-width:2.05rem;min-height:2.05rem;padding:0 .38rem;font-size:.72rem;font-weight:900;border-width:2px;box-shadow:0 0 0 1px #dc262673,0 1px 5px #785a1e1f}.admin-console__nav--desktop .admin-console__nav-menu-label{letter-spacing:.03em}.admin-console__nav--desktop .admin-console__nav-grade-badge{font-size:.54rem;padding:.1rem .3rem}.admin-console__nav--desktop .admin-console__nav-menu-item--grade-trigger .admin-console__nav-menu-icon{width:1.3rem;height:1.3rem;font-size:.68rem}.admin-console__nav--desktop .admin-console__nav-flyout-chevron{font-size:.5rem}.admin-console__nav--desktop .admin-console__nav-flyout-sub{min-width:10.5rem;padding:.42rem;gap:.34rem;border-radius:11px;border-width:1.5px;top:-.1rem}.admin-console__nav--desktop .admin-console__nav-flyout-sub--grade{border-left-width:4px;padding-left:.42rem}.admin-console__nav--desktop .admin-console__nav-flyout-sub-head{gap:.28rem;padding:.22rem .36rem .28rem;margin-bottom:.08rem;border-radius:7px}.admin-console__nav--desktop .admin-console__nav-flyout-sub-head-title{font-size:.68rem}.admin-console__nav--desktop .admin-console__nav-menu-item,.admin-console__nav--desktop .admin-console__nav-setting-item{gap:.4rem;padding:.34rem .48rem;border-radius:8px;font-size:.72rem;letter-spacing:.04em}.admin-console__nav--desktop .admin-console__nav-menu-item--flyout-leaf{min-height:2rem;padding:.34rem .48rem;font-size:.72rem}.admin-console__nav--desktop .admin-console__nav-menu-item--flyout-leaf:hover,.admin-console__nav--desktop .admin-console__nav-menu-item--flyout-leaf.admin-console__nav-menu-item--active{transform:none}.admin-console__nav--desktop .admin-console__nav-menu-icon{width:1.35rem;height:1.35rem;font-size:.72rem;border-radius:7px}.admin-console__nav--desktop .admin-console__nav-menu-item i,.admin-console__nav--desktop .admin-console__nav-setting-item i{font-size:.72rem}.admin-console__nav--desktop .admin-console__nav-criteria-config{margin-top:.35rem;padding-top:.32rem}.admin-console__nav--desktop .admin-console__nav-criteria-config-btn{gap:.4rem;padding:.34rem .48rem!important}.admin-console__nav--desktop .admin-console__nav-criteria-config-btn .admin-console__nav-menu-icon{width:1.45rem;height:1.45rem;font-size:.72rem;border-radius:7px}.admin-console__nav--desktop .admin-console__nav-criteria-config__lbl{font-size:.68rem}}.admin-console__nav-rail{display:inline-flex;align-items:stretch;gap:0;padding:.45rem .6rem;border-radius:calc(var(--admin-nav-item-radius) + 6px);background:var(--admin-nav-rail-bg);border:1px solid var(--admin-nav-rail-border);box-shadow:inset 0 1px #ffffffbf,inset 0 -1px #785a3214,0 6px 18px #1c191714;overflow:visible;max-width:100%}.admin-console__nav-rail-cell{display:flex;align-items:stretch;position:relative;padding:0 .42rem;flex:0 0 auto;overflow:visible}.admin-console__nav-rail-cell:first-child{padding-left:0}.admin-console__nav-rail-cell:last-child{padding-right:0}.admin-console__nav-rail-cell--sep:before{content:"";position:absolute;left:0;top:.45rem;bottom:.45rem;width:1px;background:linear-gradient(180deg,transparent 0%,rgba(15,23,42,.18) 12%,rgba(15,23,42,.18) 88%,transparent 100%);pointer-events:none}.admin-console__nav-rail .admin-console__nav-group{display:flex;align-items:stretch}.admin-console__navlink{position:relative;display:inline-flex;align-items:center;gap:.62rem;min-height:3.15rem;padding:.42rem 1rem .42rem .72rem;border-radius:var(--admin-nav-item-radius);font-size:.8125rem;font-weight:600;color:var(--admin-nav-text);text-decoration:none;border:1px solid rgba(28,25,23,.07);background:var(--book-paper);box-shadow:0 3px #1c19170d,0 5px 14px #1c191712;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .18s ease;white-space:nowrap;letter-spacing:normal;text-transform:none;overflow:hidden}.admin-console__navlink:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--book-spine, #57534e);box-shadow:inset -1px 0 #0000001f}.admin-console__navlink--root-edu-hb{--book-spine: #0f766e;background:linear-gradient(135deg,#fdf8ec,#ecfdf5 45%,#d1fae5)}.admin-console__navlink--root-criteria{--book-spine: #b91c1c;background:linear-gradient(135deg,#fdf8ec,#fee2e2 48%,#fecaca)}.admin-console__navlink--root-setting{--book-spine: #b8860b;background:linear-gradient(135deg,#fffbeb,#fde68a,#f5d76e)}.admin-console__navlink--root-danh-muc{--book-spine: #047857;background:linear-gradient(135deg,#fdf8ec,#d1fae5 45%,#a7f3d0)}.admin-console__navlink:hover{background:var(--admin-nav-hover);border-color:#1c19171a;box-shadow:var(--admin-nav-elev-hover);transform:translateY(-2px)}.admin-console__navlink--active,.admin-console__navlink--open{background:var(--admin-nav-active-bg);border-color:#1c19171a;box-shadow:var(--admin-nav-elev-active);transform:translateY(-3px)}.admin-console__navlink--open{z-index:2}.admin-console__navlink-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:10px;flex-shrink:0;font-size:1.05rem;color:#fff;box-shadow:0 3px 8px #1c19172e,inset 0 1px #ffffff52;transition:transform .18s ease,box-shadow .18s ease}.admin-console__navlink-icon i{display:block;line-height:1;font-size:1.05rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.admin-console__navlink-icon--edu-hb{background:linear-gradient(145deg,#115e59,#0d9488 42%,#14b8a6)}.admin-console__navlink-icon--criteria{background:linear-gradient(180deg,#f87171,#dc2626 52%,#b91c1c);color:#fff}.admin-console__navlink-icon--setting{background:linear-gradient(145deg,#78350f,#b45309 42%,#d97706)}.admin-console__navlink-icon--danh-muc{background:linear-gradient(145deg,#065f46,#059669 42%,#34d399)}.admin-console__navlink-icon--social{background:linear-gradient(145deg,#312e81,#4338ca 42%,#6366f1)}.admin-console__nav-badge{position:absolute;top:-.35rem;right:-.35rem;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.62rem;font-weight:700;line-height:1;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 2px 6px #ef444473}.admin-console__nav-drawer-badge{margin-left:auto;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:700;display:inline-grid;place-items:center}.admin-console__navlink--active .admin-console__navlink-icon,.admin-console__navlink--open .admin-console__navlink-icon,.admin-console__navlink:hover .admin-console__navlink-icon{transform:translateY(-1px);box-shadow:0 5px 14px #1c191733,inset 0 1px #ffffff61}.admin-console__navlink-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.05rem;min-width:0;line-height:1.15}.admin-console__navlink-kicker{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8}.admin-console__navlink-title{font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0f172a}.admin-console__navlink--root-edu-hb.admin-console__navlink--active .admin-console__navlink-title,.admin-console__navlink--root-edu-hb.admin-console__navlink--open .admin-console__navlink-title{color:#0f766e}.admin-console__navlink--root-criteria .admin-console__navlink-title{color:#b91c1c;font-weight:800;text-shadow:0 1px 0 rgba(255,255,255,.95),0 2px 3px rgba(185,28,28,.28)}.admin-console__navlink--root-criteria.admin-console__navlink--active .admin-console__navlink-title,.admin-console__navlink--root-criteria.admin-console__navlink--open .admin-console__navlink-title{color:#991b1b;text-shadow:0 1px 0 rgba(255,255,255,1),0 2px 4px rgba(153,27,27,.35)}.admin-console__navlink--root-setting.admin-console__navlink--active .admin-console__navlink-title,.admin-console__navlink--root-setting.admin-console__navlink--open .admin-console__navlink-title{color:#334155}.admin-console__navlink--root-edu-hb.admin-console__navlink--active .admin-console__navlink-kicker,.admin-console__navlink--root-edu-hb.admin-console__navlink--open .admin-console__navlink-kicker{color:#0d9488}.admin-console__navlink--root-criteria.admin-console__navlink--active .admin-console__navlink-kicker,.admin-console__navlink--root-criteria.admin-console__navlink--open .admin-console__navlink-kicker{color:#dc2626}.admin-console__navlink--root-setting.admin-console__navlink--active .admin-console__navlink-kicker,.admin-console__navlink--root-setting.admin-console__navlink--open .admin-console__navlink-kicker{color:#64748b}.admin-console__navlink--root-danh-muc.admin-console__navlink--active .admin-console__navlink-title,.admin-console__navlink--root-danh-muc.admin-console__navlink--open .admin-console__navlink-title{color:#047857}.admin-console__navlink--root-danh-muc.admin-console__navlink--active .admin-console__navlink-kicker,.admin-console__navlink--root-danh-muc.admin-console__navlink--open .admin-console__navlink-kicker{color:#059669}.admin-console__nav-chevron-wrap{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;margin-left:.1rem;border-radius:999px;background:#0f172a0a;flex-shrink:0;transition:background .2s ease}.admin-console__navlink--active .admin-console__nav-chevron-wrap,.admin-console__navlink--open .admin-console__nav-chevron-wrap{background:#0f172a12}.admin-console__nav-chevron{font-size:.5rem;color:#64748b;transition:transform .2s ease,color .2s ease}.admin-console__navlink--active .admin-console__nav-chevron,.admin-console__navlink--open .admin-console__nav-chevron{color:#334155}.admin-console__nav-group{position:relative;overflow:visible}.admin-console__nav-flyout-row:hover,.admin-console__nav-flyout-row:focus-within{z-index:75}.admin-console__nav-setting{position:relative;overflow:visible;display:inline-flex;flex-shrink:0}.admin-console__navlink--trigger{cursor:pointer;font:inherit}.admin-console__nav-setting-panel{position:absolute;top:calc(100% + .55rem);left:50%;transform:translate(-50%);width:max-content;min-width:11rem;max-width:min(16.5rem,calc(100vw - 1.5rem));padding:.65rem;background:linear-gradient(180deg,#ead9a8,#dfc98a);border:2px solid rgba(180,140,40,.28);border-radius:16px;box-shadow:var(--admin-nav-panel-shadow);z-index:260;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.55rem;overflow:visible}.admin-console__nav-setting-panel--criteria,.admin-console__nav-setting-panel--menu{min-width:12.5rem;max-width:min(17rem,calc(100vw - 1.5rem))}.admin-console__nav-setting-panel:before{content:"";position:absolute;top:-.5rem;left:0;right:0;height:.55rem}.admin-console__nav--desktop .admin-console__nav-setting-panel:after{content:"";position:absolute;top:-.35rem;bottom:-.35rem;left:100%;width:14rem;pointer-events:auto}.admin-console__nav-setting-panel--root-edu-hb{border-top:3px solid var(--admin-nav-root-edu)}.admin-console__nav-setting-panel--root-criteria,.admin-console__nav-setting-panel--criteria{border-top:3px solid var(--admin-nav-root-criteria)}.admin-console__nav-setting-panel--root-setting,.admin-console__nav-setting-panel--menu{border-top:3px solid var(--admin-nav-root-setting)}.admin-console__nav-panel-hint{display:flex;align-items:center;gap:.4rem;margin:0 0 .28rem;padding:0 .55rem .35rem;font-size:.68rem;font-weight:600;line-height:1.35;letter-spacing:.01em;text-transform:none;color:#94a3b8;background:transparent;border:none;border-radius:0}.admin-console__nav-panel-hint i{font-size:.72rem;color:#cbd5e1}.admin-console__nav-setting-flyout{display:flex;flex-direction:column;gap:.55rem;overflow:visible}.admin-console__nav-setting-panel>.admin-console__nav-menu-item,.admin-console__nav-setting-panel>button.admin-console__nav-menu-item,.admin-console__nav-setting-flyout>.admin-console__nav-flyout-row,.admin-console__nav-criteria-flyout>.admin-console__nav-flyout-row,.admin-console__nav-phien-thi-flyout>.admin-console__nav-flyout-row{background:#fff;border:1px solid rgba(180,140,40,.3);box-shadow:0 4px 12px #785a1e1f,inset 0 1px #ffffffe6}.admin-console__nav-setting-panel .admin-console__nav-menu-item+.admin-console__nav-menu-item,.admin-console__nav-setting-panel .admin-console__nav-setting-item+.admin-console__nav-setting-item,.admin-console__nav-setting-panel>button+button{margin-top:0}.admin-console__nav--desktop .admin-console__nav-flyout-sub .admin-console__nav-menu-item{width:100%}.admin-console__nav-setting-flyout--drawer .admin-console__nav-flyout-row{display:flex;flex-direction:column;gap:1px}.admin-console__nav-setting-flyout--drawer .admin-console__nav-menu-item--flyout-trigger{cursor:pointer;width:100%}.admin-console__nav-setting-flyout--drawer .admin-console__nav-flyout-sub{position:static;display:none;flex-direction:column;flex-wrap:nowrap;gap:1px;padding:.15rem 0 .2rem .55rem;margin:0 0 0 .35rem;min-width:0;background:transparent;border:none;border-left:2px solid var(--admin-nav-panel-border);border-radius:0;box-shadow:none}.admin-console__nav-setting-flyout--drawer .admin-console__nav-flyout-row--open>.admin-console__nav-flyout-sub{display:flex}.admin-console__nav-setting-flyout--drawer .admin-console__nav-menu-item--flyout-leaf{width:100%;min-width:0;font-size:.74rem;padding:.42rem .58rem}.admin-console__nav-index{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:2.65rem;min-height:2.65rem;padding:0 .52rem;font-size:.76rem;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.02em;line-height:1;color:#dc2626;background:#fff;border:2.5px solid #ffffff;border-radius:999px;box-shadow:0 0 0 1.5px #dc262680,0 2px 8px #785a1e24}.admin-console__nav-menu-label{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.04em}.admin-console__nav-menu-item[style*=--nav-h] .admin-console__nav-menu-label{color:hsl(var(--nav-h),58%,34%);text-shadow:0 1px 3px hsla(var(--nav-h),70%,45%,.28);font-weight:800}.admin-console__nav-menu-item[style*=--nav-h] .admin-console__nav-menu-icon--hue{box-shadow:0 3px 10px hsla(var(--nav-h),72%,42%,.38),inset 0 1px #ffffff7a}.admin-console__nav-criteria-flyout{display:flex;flex-direction:column;gap:.55rem;overflow:visible}.admin-console__nav-criteria-flyout>.admin-console__nav-flyout-row+.admin-console__nav-flyout-row,.admin-console__nav-setting-flyout>.admin-console__nav-flyout-row+.admin-console__nav-flyout-row{margin-top:0}.admin-console__nav-flyout-row{position:relative;border-radius:11px;border:1px solid rgba(180,140,40,.3);background:#fff;box-shadow:0 4px 12px #785a1e1f,inset 0 1px #ffffffe6;transition:background .2s ease,box-shadow .2s ease,transform .18s ease,border-color .2s ease;overflow:visible}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-flyout-row,.admin-console__nav-setting-flyout--drawer .admin-console__nav-flyout-row,.admin-console__nav-phien-thi-flyout--drawer .admin-console__nav-flyout-row{overflow:hidden}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-flyout-row:after,.admin-console__nav-setting-flyout--drawer .admin-console__nav-flyout-row:after,.admin-console__nav-phien-thi-flyout--drawer .admin-console__nav-flyout-row:after{display:none}.admin-console__nav-flyout-row--grade:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grade-accent, #6366f1);box-shadow:inset -1px 0 #0000001a}.admin-console__nav-flyout-row--grade-mam-non{--grade-accent: var(--admin-nav-grade-mam-non);--grade-paper: linear-gradient(135deg, #fdf8ec 0%, #ffe4e6 100%)}.admin-console__nav-flyout-row--grade-tieu-hoc{--grade-accent: var(--admin-nav-grade-tieu-hoc);--grade-paper: linear-gradient(135deg, #fdf8ec 0%, #d1fae5 100%)}.admin-console__nav-flyout-row--grade-thcs{--grade-accent: var(--admin-nav-grade-thcs);--grade-paper: linear-gradient(135deg, #fdf8ec 0%, #dbeafe 100%)}.admin-console__nav-flyout-row--grade-thpt{--grade-accent: var(--admin-nav-grade-thpt);--grade-paper: linear-gradient(135deg, #fdf8ec 0%, #ede9fe 100%)}.admin-console__nav-flyout-row--grade-mam-non,.admin-console__nav-flyout-row--grade-tieu-hoc,.admin-console__nav-flyout-row--grade-thcs,.admin-console__nav-flyout-row--grade-thpt{background:#fff}.admin-console__nav-flyout-row--grade:hover,.admin-console__nav-flyout-row--grade:focus-within{background:#fffefb;border-color:var(--grade-accent, rgba(180, 140, 40, .45));box-shadow:var(--admin-nav-elev-hover);transform:translateY(-2px);z-index:75}.admin-console__nav-menu-item--flyout-trigger{cursor:default;justify-content:flex-start;min-height:2.75rem;padding:.52rem .65rem;font-size:.78rem;font-weight:700;border-radius:11px;background:transparent;border:none;box-shadow:none}.admin-console__nav-flyout-row .admin-console__nav-menu-item--flyout-trigger:hover,.admin-console__nav-flyout-row:hover>.admin-console__nav-menu-item--flyout-trigger,.admin-console__nav-flyout-row:focus-within>.admin-console__nav-menu-item--flyout-trigger{background:transparent;box-shadow:none}.admin-console__nav-menu-item--grade-trigger .admin-console__nav-menu-icon{width:1.55rem;height:1.55rem;font-size:.78rem}.admin-console__nav-grade-badge{flex-shrink:0;font-size:.58rem;font-weight:800;letter-spacing:.06em;padding:.14rem .38rem;border-radius:999px;background:#e2e8f0;color:#475569;margin-left:.15rem}.admin-console__nav-flyout-row--grade-mam-non .admin-console__nav-grade-badge{background:#ffe4e6;color:#be123c}.admin-console__nav-flyout-row--grade-tieu-hoc .admin-console__nav-grade-badge{background:#d1fae5;color:#047857}.admin-console__nav-flyout-row--grade-thcs .admin-console__nav-grade-badge{background:#dbeafe;color:#1d4ed8}.admin-console__nav-flyout-row--grade-thpt .admin-console__nav-grade-badge{background:#ede9fe;color:#6d28d9}.admin-console__nav-menu-item--flyout-trigger:hover{color:#1c1917}.admin-console__nav-flyout-chevron{margin-left:auto;font-size:.55rem;color:var(--admin-nav-text-muted);flex-shrink:0}.admin-console__nav-flyout-sub{position:absolute;left:100%;top:-.15rem;min-width:12.5rem;padding:.6rem;margin-left:.08rem;background:linear-gradient(180deg,#dfc98a,#d4bc78);border:2px solid rgba(146,64,14,.22);border-radius:14px;box-shadow:0 18px 36px #785a1e2e,0 6px 14px #785a1e1f;z-index:80;display:none;flex-direction:column;gap:.48rem}.admin-console__nav-flyout-row:after{content:"";position:absolute;top:0;right:-.65rem;width:.7rem;height:100%;pointer-events:auto}.admin-console__nav-flyout-sub--grade{border-left-width:5px;border-left-style:solid;border-left-color:var(--grade-accent, #6366f1);padding-left:.55rem}.admin-console__nav-flyout-sub--grade-mam-non{--grade-accent: var(--admin-nav-grade-mam-non);background:linear-gradient(165deg,#fff1f2,#ffe4e6 48%,#fecdd3);border-color:#be123c61;box-shadow:0 18px 36px #be123c29,0 6px 14px #be123c1a}.admin-console__nav-flyout-sub--grade-tieu-hoc{--grade-accent: var(--admin-nav-grade-tieu-hoc);background:linear-gradient(165deg,#ecfdf5,#d1fae5 48%,#a7f3d0);border-color:#04785757;box-shadow:0 18px 36px #04785724,0 6px 14px #04785717}.admin-console__nav-flyout-sub--grade-thcs{--grade-accent: var(--admin-nav-grade-thcs);background:linear-gradient(165deg,#eff6ff,#dbeafe 48%,#bfdbfe);border-color:#1d4ed857;box-shadow:0 18px 36px #1d4ed824,0 6px 14px #1d4ed817}.admin-console__nav-flyout-sub--grade-thpt{--grade-accent: var(--admin-nav-grade-thpt);background:linear-gradient(165deg,#f5f3ff,#ede9fe 48%,#ddd6fe);border-color:#6d28d957;box-shadow:0 18px 36px #6d28d924,0 6px 14px #6d28d917}.admin-console__nav-flyout-sub-head{display:flex;align-items:center;gap:.38rem;padding:.32rem .48rem .42rem;margin-bottom:.12rem;border-bottom:1px solid rgba(15,23,42,.1);border-radius:9px;background:#ffffff9e;pointer-events:none;user-select:none}.admin-console__nav-flyout-sub--grade-mam-non .admin-console__nav-flyout-sub-head{background:#ffffffb8;border-bottom-color:#be123c38}.admin-console__nav-flyout-sub--grade-tieu-hoc .admin-console__nav-flyout-sub-head{background:#ffffffb8;border-bottom-color:#04785738}.admin-console__nav-flyout-sub--grade-thcs .admin-console__nav-flyout-sub-head{background:#ffffffb8;border-bottom-color:#1d4ed838}.admin-console__nav-flyout-sub--grade-thpt .admin-console__nav-flyout-sub-head{background:#ffffffb8;border-bottom-color:#6d28d938}.admin-console__nav-flyout-sub-head-title{flex:1 1 auto;min-width:0;font-size:.74rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#1c1917;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-console__nav-flyout-sub--grade-mam-non .admin-console__nav-flyout-sub-head-title{color:#9f1239}.admin-console__nav-flyout-sub--grade-tieu-hoc .admin-console__nav-flyout-sub-head-title{color:#047857}.admin-console__nav-flyout-sub--grade-thcs .admin-console__nav-flyout-sub-head-title{color:#1d4ed8}.admin-console__nav-flyout-sub--grade-thpt .admin-console__nav-flyout-sub-head-title{color:#6d28d9}.admin-console__nav-flyout-sub--grade-mam-non .admin-console__nav-grade-badge{background:#fecdd3;color:#9f1239}.admin-console__nav-flyout-sub--grade-tieu-hoc .admin-console__nav-grade-badge{background:#a7f3d0;color:#047857}.admin-console__nav-flyout-sub--grade-thcs .admin-console__nav-grade-badge{background:#bfdbfe;color:#1d4ed8}.admin-console__nav-flyout-sub--grade-thpt .admin-console__nav-grade-badge{background:#ddd6fe;color:#6d28d9}.admin-console__nav-flyout-sub--grade-mam-non .admin-console__nav-menu-item--flyout-leaf:hover{background:#fff1f2;border-color:#be123c6b}.admin-console__nav-flyout-sub--grade-tieu-hoc .admin-console__nav-menu-item--flyout-leaf:hover{background:#ecfdf5;border-color:#04785766}.admin-console__nav-flyout-sub--grade-thcs .admin-console__nav-menu-item--flyout-leaf:hover{background:#eff6ff;border-color:#1d4ed866}.admin-console__nav-flyout-sub--grade-thpt .admin-console__nav-menu-item--flyout-leaf:hover{background:#f5f3ff;border-color:#6d28d966}.admin-console__nav-flyout-sub--grade-mam-non .admin-console__nav-menu-item--flyout-leaf.admin-console__nav-menu-item--active{background:linear-gradient(90deg,#ffe4e6,#fff);border-color:var(--admin-nav-grade-mam-non);box-shadow:inset 4px 0 0 var(--admin-nav-grade-mam-non)}.admin-console__nav-flyout-sub--grade-tieu-hoc .admin-console__nav-menu-item--flyout-leaf.admin-console__nav-menu-item--active{background:linear-gradient(90deg,#d1fae5,#fff);border-color:var(--admin-nav-grade-tieu-hoc);box-shadow:inset 4px 0 0 var(--admin-nav-grade-tieu-hoc)}.admin-console__nav-flyout-sub--grade-thcs .admin-console__nav-menu-item--flyout-leaf.admin-console__nav-menu-item--active{background:linear-gradient(90deg,#dbeafe,#fff);border-color:var(--admin-nav-grade-thcs);box-shadow:inset 4px 0 0 var(--admin-nav-grade-thcs)}.admin-console__nav-flyout-sub--grade-thpt .admin-console__nav-menu-item--flyout-leaf.admin-console__nav-menu-item--active{background:linear-gradient(90deg,#ede9fe,#fff);border-color:var(--admin-nav-grade-thpt);box-shadow:inset 4px 0 0 var(--admin-nav-grade-thpt)}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-flyout-sub-head{padding:.15rem .35rem .35rem;margin-bottom:.08rem;border-bottom-color:#0f172a1a}.admin-console__nav-flyout-sub:before{content:"";position:absolute;left:-.85rem;top:-.35rem;bottom:-.35rem;width:.9rem;pointer-events:auto}.admin-console__nav-flyout-row:hover>.admin-console__nav-flyout-sub,.admin-console__nav-flyout-row:focus-within>.admin-console__nav-flyout-sub,.admin-console__nav-flyout-row--hover>.admin-console__nav-flyout-sub{display:flex}.admin-console__nav-menu-item--flyout-leaf{cursor:pointer;min-height:2.45rem;padding:.48rem .62rem;font-size:.78rem;background:#fff;border:1px solid rgba(180,140,40,.28);box-shadow:0 3px 10px #785a1e1a}.admin-console__nav-flyout-sub .admin-console__nav-menu-item--flyout-leaf+.admin-console__nav-menu-item--flyout-leaf{margin-top:0}.admin-console__nav-menu-item--flyout-leaf:hover{background:#fff8e8;border-color:#b48c286b;box-shadow:0 5px 14px #785a1e24;transform:translateY(-1px)}.admin-console__nav-menu-item--flyout-leaf.admin-console__nav-menu-item--active{background:linear-gradient(90deg,#fef3c7,#fff);border-color:var(--admin-nav-active-border);box-shadow:inset 4px 0 0 var(--admin-nav-active-border),0 5px 14px #b48c2829;transform:translateY(-1px)}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-flyout-row{display:flex;flex-direction:column;gap:1px}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-menu-item--flyout-trigger{cursor:pointer;width:100%}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-flyout-sub{position:static;display:none;flex-direction:column;flex-wrap:nowrap;gap:1px;padding:.15rem 0 .2rem .55rem;margin:0 0 0 .35rem;min-width:0;background:transparent;border:none;border-left:3px solid var(--admin-nav-panel-border);border-radius:0;box-shadow:none}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-flyout-sub--grade-mam-non{border-left-color:var(--admin-nav-grade-mam-non);background:#fff1f273}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-flyout-sub--grade-tieu-hoc{border-left-color:var(--admin-nav-grade-tieu-hoc);background:#ecfdf573}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-flyout-sub--grade-thcs{border-left-color:var(--admin-nav-grade-thcs);background:#eff6ff73}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-flyout-sub--grade-thpt{border-left-color:var(--admin-nav-grade-thpt);background:#f5f3ff73}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-flyout-row--open>.admin-console__nav-flyout-sub{display:flex}.admin-console__nav-criteria-flyout--drawer .admin-console__nav-menu-item--flyout-leaf{width:100%;min-width:0;font-size:.74rem;padding:.42rem .58rem}.admin-console__nav-phien-thi-flyout{display:flex;flex-direction:column;gap:.55rem;overflow:visible}.admin-console__nav-phien-thi-flyout--drawer .admin-console__nav-flyout-row{display:flex;flex-direction:column;gap:1px}.admin-console__nav-phien-thi-flyout--drawer .admin-console__nav-menu-item--flyout-trigger{cursor:pointer;width:100%}.admin-console__nav-phien-thi-flyout--drawer .admin-console__nav-flyout-sub{position:static;display:none;flex-direction:column;flex-wrap:nowrap;gap:1px;padding:.15rem 0 .2rem .55rem;margin:0 0 0 .35rem;min-width:0;background:transparent;border:none;border-left:3px solid #0891b2;border-radius:0;box-shadow:none}.admin-console__nav-phien-thi-flyout--drawer .admin-console__nav-flyout-row--open>.admin-console__nav-flyout-sub{display:flex}.admin-console__nav-phien-thi-flyout--drawer .admin-console__nav-menu-item--flyout-leaf{width:100%;min-width:0;font-size:.74rem;padding:.42rem .58rem}.admin-console__nav-phien-thi-flyout--drawer .admin-console__nav-flyout-sub-head{background:#ffffffb8;border-bottom-color:#0891b238}.admin-console__nav-menu-block+.admin-console__nav-menu-block{margin-top:.2rem;padding-top:.15rem;border-top:1px solid var(--admin-nav-panel-border)}.admin-console__nav-menu-section{padding:.28rem .58rem .12rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--admin-nav-muted, #64748b);user-select:none}.admin-console__nav-menu-item,.admin-console__nav-setting-item{display:flex;align-items:center;gap:.55rem;width:100%;box-sizing:border-box;text-align:left;border:1px solid transparent;background:transparent;padding:.48rem .62rem;border-radius:10px;font:inherit;font-size:.76rem;font-weight:700;color:var(--admin-nav-text);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;margin:0;white-space:nowrap}.admin-console__nav-menu-item i,.admin-console__nav-setting-item i{width:1rem;text-align:center;font-size:.76rem;color:var(--admin-nav-text-muted);flex-shrink:0}.admin-console__nav-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:8px;flex-shrink:0;font-size:.88rem;line-height:1;box-shadow:0 2px 6px #1c191724,inset 0 1px #ffffff6b}.admin-console__nav-menu-icon i{width:auto;font-size:inherit;color:inherit;display:block;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.admin-console__nav-menu-icon--blue{background:linear-gradient(145deg,#1e40af,#3b82f6);color:#fff}.admin-console__nav-menu-icon--indigo{background:linear-gradient(145deg,#3730a3,#6366f1);color:#fff}.admin-console__nav-menu-icon--teal{background:linear-gradient(145deg,#0f766e,#14b8a6);color:#fff}.admin-console__nav-menu-icon--emerald{background:linear-gradient(145deg,#047857,#10b981);color:#fff}.admin-console__nav-menu-icon--amber{background:linear-gradient(145deg,#b45309,#f59e0b);color:#fff}.admin-console__nav-menu-icon--violet{background:linear-gradient(145deg,#5b21b6,#8b5cf6);color:#fff}.admin-console__nav-menu-icon--rose{background:linear-gradient(145deg,#be123c,#f43f5e);color:#fff}.admin-console__nav-menu-icon--cyan{background:linear-gradient(145deg,#0e7490,#06b6d4);color:#fff}.admin-console__nav-menu-icon--orange{background:linear-gradient(145deg,#c2410c,#f97316);color:#fff}.admin-console__nav-menu-icon--lime{background:linear-gradient(145deg,#4d7c0f,#84cc16);color:#fff}.admin-console__nav-menu-icon--pink{background:linear-gradient(145deg,#be185d,#ec4899);color:#fff}.admin-console__nav-menu-icon--sky{background:linear-gradient(145deg,#0369a1,#0ea5e9);color:#fff}.admin-console__nav-menu-icon--fuchsia{background:linear-gradient(145deg,#a21caf,#d946ef);color:#fff}.admin-console__nav-menu-icon--slate{background:linear-gradient(145deg,#334155,#64748b);color:#fff}.admin-console__nav-flyout-sub--setting{background:linear-gradient(165deg,#fffbeb,#fef3c7 48%,#fde68a);border:1px solid rgba(180,83,9,.28);box-shadow:0 8px 24px #78350f1f}.admin-console__nav-flyout-sub--setting .admin-console__nav-flyout-sub-head{background:#ffffffb8;border:1px solid rgba(180,83,9,.22)}.admin-console__nav-flyout-sub--setting .admin-console__nav-flyout-sub-head-title{color:#92400e}.admin-console__nav-menu-item:hover .admin-console__nav-menu-icon,.admin-console__nav-setting-item:hover .admin-console__nav-menu-icon{filter:brightness(.96)}.admin-console__nav-setting-panel>.admin-console__nav-menu-item:hover,.admin-console__nav-setting-panel>button.admin-console__nav-menu-item:hover,.admin-console__nav-flyout-sub .admin-console__nav-menu-item:hover,.admin-console__nav-menu-item:hover,.admin-console__nav-setting-item:hover{background:#fff8e8;border-color:#b48c286b;color:var(--admin-nav-text);box-shadow:0 5px 14px #785a1e24;transform:translateY(-1px)}.admin-console__nav-menu-item:hover i,.admin-console__nav-setting-item:hover i{color:var(--admin-nav-active-text)}.admin-console__nav-menu-item--active,.admin-console__nav-setting-item--active{background:linear-gradient(90deg,#fef3c7,#fdf8ec);color:#92400e;box-shadow:inset 4px 0 0 var(--admin-nav-active-border),0 5px 14px #b48c281f;font-weight:800;transform:translateY(-1px)}.admin-console__nav-menu-item--active i,.admin-console__nav-setting-item--active i{color:var(--admin-nav-active-text)}.admin-console__nav-menu-item--active:hover,.admin-console__nav-setting-item--active:hover{background:var(--admin-nav-active-bg);color:var(--admin-nav-active-text)}.admin-console__nav-menu-item[data-nav-depth="2"],.admin-console__nav-setting-item[data-nav-depth="2"]{padding-left:1.2rem;font-size:.76rem}.admin-console__nav-menu-item[data-nav-depth="3"],.admin-console__nav-setting-item[data-nav-depth="3"]{padding-left:1.65rem;font-size:.74rem}.admin-console__nav--desktop .admin-console__navlink--trigger{font-weight:600}.admin-console__nav-group--drawer{width:100%}.admin-console__nav-group-head{width:100%;justify-content:space-between;border-radius:var(--admin-nav-item-radius);text-transform:uppercase;letter-spacing:.04em}.admin-console__nav-group--drawer .admin-console__navlink--drawer-root{width:100%;padding:.62rem .72rem;gap:.72rem;border-radius:14px;background:linear-gradient(180deg,#fffdf8,#faf6ee);border:1px solid rgba(180,140,40,.16);box-shadow:0 2px 8px #785a1e0f}.admin-console__nav-group--drawer .admin-console__navlink--drawer-root:hover,.admin-console__nav-group--drawer .admin-console__navlink--drawer-root.admin-console__navlink--open{background:var(--admin-nav-active-bg);border-color:#b48c2847;box-shadow:var(--admin-nav-elev-active)}.admin-console__nav-group--drawer .admin-console__navlink-icon{width:2.85rem;height:2.85rem;border-radius:12px;font-size:1.12rem}.admin-console__nav-group--drawer .admin-console__navlink-title{font-size:.92rem;font-weight:800;letter-spacing:.05em}.admin-console__nav-group--drawer .admin-console__navlink-kicker{font-size:.68rem;font-weight:700;color:#94a3b8;letter-spacing:.08em}.admin-console__nav-group--drawer .admin-console__nav-chevron-wrap{width:1.65rem;height:1.65rem;border-radius:999px;background:#ffffffd9;border:1px solid rgba(180,140,40,.2);box-shadow:inset 0 1px #ffffffe6}.admin-console__nav-group-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.admin-console__nav-group-sub--open{grid-template-rows:1fr}.admin-console__nav-group-sub-inner{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:1px;padding:.2rem 0 .15rem .55rem;margin-left:.35rem;border-left:2px solid var(--admin-nav-panel-border)}.admin-console__nav-group--drawer .admin-console__nav-menu-item{border-radius:calc(var(--admin-nav-item-radius) - 2px);white-space:normal}.admin-console__header-right{display:flex;align-items:center;gap:.35rem;margin-left:auto;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.admin-console__header-toolbar{display:none;align-items:center;justify-content:flex-end;gap:.4rem;flex:0 0 auto;min-width:0;padding-left:.25rem}.admin-console__ghost-link{display:none;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:999px;font-size:.82rem;font-weight:600;color:#64748b;text-decoration:none;border:1px solid var(--border);background:#fff}.admin-console__ghost-link:hover{border-color:var(--accent);color:var(--accent)}.admin-console__subbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;border-top:1px solid rgba(226,232,240,.9);padding:.35rem 1rem .45rem;width:100%;max-width:none;margin:0}.admin-console__jumps{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.78rem}.admin-console__jumps-label{font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-right:.15rem}.admin-console__jumps a{color:var(--accent);font-weight:600;text-decoration:none;padding:.2rem .5rem;border-radius:999px;border:1px solid transparent}.admin-console__jumps a:hover{background:var(--accent-soft);border-color:#38bdf859;text-decoration:none}.admin-console__main{flex:1 1 auto;width:100%;max-width:none;margin:0;padding:.65rem 1rem 2.25rem;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto}.admin-console__main :is(.table-wrap,.dash-table-wrap,.table-scroll,.table-wrapper,[class$=__table-wrap],[class$=__table-scroll]){max-width:100%;min-width:0;box-sizing:border-box;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.admin-console__main:has(.thcs-route-shell){display:flex;flex-direction:column;overflow:hidden;padding-bottom:.35rem}.admin-console__main:has(.card-app){display:flex;flex-direction:column;overflow:hidden;padding-bottom:.35rem;position:relative;z-index:0}.admin-console__main:has(.card-app) .card-app{flex:1 1 auto;min-height:0;height:auto;max-height:none}.admin-console__main:has(.social-app--chat-fill){display:flex;flex-direction:column;overflow:hidden;padding:0;min-height:0}.admin-console__main:has(.participant-data-card--grid:not(.thcs-page)){display:flex;flex-direction:column;overflow:hidden;padding-bottom:.35rem}.admin-console__main:has(.grant-console--hub-fixed){display:flex;flex-direction:column;overflow:hidden;padding-bottom:.35rem}.admin-console__main:has(.grant-console--hub-fixed) .admin-dash-panel.admin-edu-surface{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;width:100%;max-width:100%;overflow:hidden}.admin-console__main:has(.grant-console--hub-fixed) .admin-dash-panel__title{flex-shrink:0;margin-bottom:.5rem}.admin-console__main:has(.grant-console--hub-fixed) .admin-settings-surface{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-console__main:has(.grant-console--hub-fixed) .grant-console--hub-fixed{flex:1 1 auto;min-height:0;height:auto;max-height:none}@media (max-width: 959px){.admin-console__main:has(.grant-console--hub-fixed) .grant-console--hub-fixed{--grant-hub-height: min(82vh, calc(100dvh - 7.5rem) );height:var(--grant-hub-height);min-height:24rem;max-height:var(--grant-hub-height)}}.admin-console__main:has(#dash-menu-catalog){display:flex;flex-direction:column;overflow:hidden;padding-bottom:.35rem}.admin-console__main:has(#dash-menu-catalog) .admin-dash-panel.admin-edu-surface{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;width:100%;max-width:100%;overflow:hidden}.admin-console__main:has(#dash-menu-catalog) .admin-dash-panel__title{flex-shrink:0;margin-bottom:.5rem}.admin-console__main:has(#dash-menu-catalog) .admin-settings-surface{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-console__main:has(#dash-menu-catalog) .admin-menu-catalog--fill{flex:1 1 auto;min-height:0;height:auto;max-height:none}.admin-console__main:has(.admin-catalog--hub-fixed){display:flex;flex-direction:column;overflow:hidden;padding-bottom:.35rem}.admin-console__main:has(.admin-catalog--hub-fixed) .admin-dash-panel.admin-edu-surface{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;width:100%;max-width:100%;overflow:hidden}.admin-console__main:has(.admin-catalog--hub-fixed) .admin-dash-panel__title{flex-shrink:0;margin-bottom:.5rem}.admin-console__main:has(.admin-catalog--hub-fixed) .admin-catalog--hub-fixed{flex:1 1 auto;min-height:0;height:auto;max-height:none}@media (max-width: 959px){.admin-console__main:has(.admin-catalog--hub-fixed) .admin-catalog--hub-fixed{--catalog-hub-height: min(82vh, calc(100dvh - 7.5rem) );height:var(--catalog-hub-height);min-height:24rem;max-height:var(--catalog-hub-height)}}.admin-console__main:has(.admin-years--hub-fixed){display:flex;flex-direction:column;overflow:hidden;padding-bottom:.35rem}.admin-console__main:has(.admin-years--hub-fixed) .admin-dash-panel.admin-edu-surface{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;width:100%;max-width:100%;overflow:hidden}.admin-console__main:has(.admin-years--hub-fixed) .admin-dash-panel__title{flex-shrink:0;margin-bottom:.5rem}.admin-console__main:has(.admin-years--hub-fixed) .admin-years--hub-fixed{flex:1 1 auto;min-height:0;height:auto;max-height:none}.admin-console__main:has(.academic-hub--hub-fixed){display:flex;flex-direction:column;min-height:0;overflow:hidden;overflow-y:hidden;overscroll-behavior:none;padding-bottom:.35rem}.admin-console__main:has(.academic-hub--hub-fixed) .admin-dash-panel.admin-edu-surface{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;width:100%;max-width:100%;overflow:hidden}.admin-console__main:has(.academic-hub--hub-fixed) .admin-dash-panel__title{flex-shrink:0;margin-bottom:.5rem}.admin-console__main:has(.academic-hub--hub-fixed) .academic-hub--hub-fixed{flex:1 1 auto;min-height:0;height:auto;max-height:none;overflow:hidden;display:flex;flex-direction:column}.academic-hub__panel--sessions>.table-wrap--sessions{flex:1 1 auto;min-height:0}@media (max-width: 959px){html:has(.academic-hub--hub-fixed),body:has(.academic-hub--hub-fixed){overflow:hidden!important;overscroll-behavior:none!important;width:100%;max-width:100%;height:100%;max-height:100dvh;position:fixed;inset:0;touch-action:pan-y pinch-zoom}#root:has(.academic-hub--hub-fixed){overflow:hidden;height:100%;max-height:100dvh}.admin-console:has(.academic-hub--hub-fixed){height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:pan-y pinch-zoom}.admin-console:has(.academic-hub--hub-fixed) .admin-console__header{max-width:100%;overflow-x:clip;flex-shrink:0}.admin-console__main:has(.academic-hub--hub-fixed){flex:1 1 auto;min-height:0;height:auto;overflow:hidden!important;overflow-y:hidden!important;overflow-x:clip!important;overscroll-behavior:none!important;padding-bottom:0!important;padding-left:max(.45rem,env(safe-area-inset-left,0px));padding-right:max(.45rem,env(safe-area-inset-right,0px));touch-action:pan-y pinch-zoom}.admin-console__main:has(.academic-hub--hub-fixed) .admin-dash-panel.admin-edu-surface{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;width:100%;max-width:100%;min-width:0;overflow:hidden!important;overflow-x:clip!important;box-sizing:border-box;touch-action:pan-y pinch-zoom}.admin-console__main:has(.academic-hub--hub-fixed) .admin-dash-panel__title{flex-shrink:0;font-size:.92rem;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.admin-console__main:has(.academic-hub--hub-fixed) .academic-hub--hub-fixed{flex:1 1 auto;min-height:0!important;max-height:none!important;width:100%;max-width:100%;min-width:0;overflow:hidden!important;overflow-x:clip!important;box-sizing:border-box;touch-action:pan-y pinch-zoom;padding-left:.55rem;padding-right:.55rem}}@media (max-width: 959px){.admin-console__main:has(.admin-years--hub-fixed) .admin-years--hub-fixed{--years-hub-height: min(82vh, calc(100dvh - 7.5rem) );height:var(--years-hub-height);min-height:24rem;max-height:var(--years-hub-height)}}.participant-data-card--grid:not(.thcs-page){display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:visible;margin-bottom:0;padding:.22rem 0 .38rem}.participant-data-card--grid:not(.thcs-page)>.participant-unified-toolbar{flex:0 0 auto;margin-bottom:.22rem;padding-bottom:0}.participant-data-card--grid:not(.thcs-page)>.participant-grid-shell{flex:1 1 0;min-height:0}.participant-data-card--grid:not(.thcs-page)>.participant-grid-shell>#participant-grid.participant-grid-scroll{flex:1 1 0;min-height:0;max-height:100%;margin-top:0;border-top-left-radius:0;border-top-right-radius:0;border-top:none}body.participant-data-fullscreen .participant-data-card--grid:not(.thcs-page)>.participant-grid-shell>#participant-grid.participant-grid-scroll{flex:1 1 0;min-height:0;max-height:100%}#participant-grid .data-grid thead th{position:sticky;top:0;z-index:5;background:#e8f0fe;box-shadow:none;border-top:1px solid #b4b4b4;border-bottom:1px solid #b4b4b4}#participant-grid .data-grid thead th:before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:#e8f0fe;box-shadow:0 1px #b4b4b4;pointer-events:none}#participant-grid .data-grid thead th:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#b4b4b4;pointer-events:none}.admin-console__drawer-backdrop,.admin-console__drawer{display:none}@media (min-width: 961px){.admin-console .admin-icon-btn.admin-console__menu-btn{display:none}.admin-console__header{background:linear-gradient(90deg,#fffbeb,#fef3c7 18%,#fffffff5 52%,#ffffffeb)}.admin-console__ghost-link{display:inline-flex}}@media (max-width: 1280px) and (min-width: 961px){.admin-console__header-row{flex-wrap:nowrap}.admin-console__header-lead{flex:0 1 auto;min-width:0;max-width:11rem}.admin-console__header-lead .login-password-modal__inst-sub{display:none}.admin-console__nav--desktop{flex:1 1 auto;min-width:0;justify-content:center}.admin-console__nav--desktop .admin-console__nav-rail{padding:.26rem .42rem;align-items:center;box-shadow:inset 0 1px #ffffffbf,inset 0 -1px #785a3214,0 3px 10px #1c19170f}.admin-console__nav--desktop .admin-console__nav-rail-cell{padding:0 .18rem}.admin-console__nav--desktop .admin-console__nav-rail-cell:first-child{padding-left:.1rem}.admin-console__nav--desktop .admin-console__nav-rail-cell:last-child{padding-right:.1rem}.admin-console__nav--desktop .admin-console__navlink{min-height:2.35rem;padding:.22rem .5rem .22rem .44rem;gap:.36rem;font-size:.74rem;box-shadow:0 1px 3px #1c191712}.admin-console__nav--desktop .admin-console__navlink:hover,.admin-console__nav--desktop .admin-console__navlink--active,.admin-console__nav--desktop .admin-console__navlink--open{transform:none;box-shadow:0 2px 8px #785a1e1c,inset 0 0 0 1px #ffffff8c}.admin-console__nav--desktop .admin-console__navlink--active .admin-console__navlink-icon,.admin-console__nav--desktop .admin-console__navlink--open .admin-console__navlink-icon,.admin-console__nav--desktop .admin-console__navlink:hover .admin-console__navlink-icon{transform:none}.admin-console__nav--desktop .admin-console__navlink-icon{width:1.75rem;height:1.75rem;font-size:.78rem}.admin-console__nav--desktop .admin-console__navlink-icon i{font-size:.78rem}.admin-console__nav--desktop .admin-console__navlink-kicker{font-size:.52rem}.admin-console__nav--desktop .admin-console__navlink-title{font-size:.68rem}.admin-console__nav--desktop .admin-console__nav-chevron-wrap{width:1rem;height:1rem}.admin-console__nav--desktop .admin-console__nav-rail-cell:first-child .admin-console__nav-setting-panel{left:0;transform:none}.admin-console__nav--desktop .admin-console__nav-rail-cell:last-child .admin-console__nav-setting-panel{left:auto;right:0;transform:none}}@media (max-width: 1120px) and (min-width: 961px){.admin-console__nav--desktop .admin-console__navlink-kicker{display:none}.admin-console__nav--desktop .admin-console__navlink{padding:.2rem .42rem .2rem .38rem}.admin-console__header-lead .login-password-modal__inst-title{font-size:.72rem}}@container admin-top-nav (max-width: 880px){.admin-console__nav--desktop .admin-console__navlink-kicker{display:none}.admin-console__nav--desktop .admin-console__nav-chevron-wrap{width:.95rem;margin-left:.08rem}}@media (max-width: 960px){.admin-console__nav--desktop,.admin-console__header-right{display:none}.admin-console__header-toolbar{display:flex}.admin-console__drawer-backdrop{display:block;position:fixed;inset:0;z-index:198;background:#0f172a59;border:none;cursor:pointer;animation:admin-fade-in .2s ease}.admin-console__drawer{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:min(18rem,88vw);z-index:199;background:#fff;border-right:1px solid var(--border-strong);box-shadow:8px 0 32px #0f172a1f;transform:translate(-102%);transition:transform .22s ease}.admin-console__drawer--open{transform:translate(0)}.admin-console__drawer-head{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-weight:700}.admin-console__drawer-title{font-size:.9rem;letter-spacing:-.02em;color:var(--admin-nav-text);font-weight:700}.admin-console__drawer-actions{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.admin-console__drawer-act{width:100%;border-radius:10px;padding:.55rem .75rem;font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid #e5e7eb;background:#fff;color:#2563eb}.admin-console__drawer-act:hover{background:#f8fafc}.admin-console__drawer-act--logout{border-radius:999px;background:#f8fafc;font-weight:600}.admin-console__drawer-nav{display:flex;flex-direction:column;padding:.5rem .55rem;gap:.45rem;flex:1;min-height:0;overflow-y:auto}.admin-console__drawer-nav .admin-console__navlink{border-radius:var(--admin-nav-item-radius);justify-content:flex-start;width:100%;text-transform:none;letter-spacing:normal;padding:.48rem .65rem}.admin-console__drawer-nav .admin-console__navlink--drawer-root{text-transform:none;letter-spacing:normal;padding:.62rem .72rem}.admin-console__drawer-nav .admin-console__navlink--active{background:var(--admin-nav-active-bg);color:var(--admin-nav-active-text);border-color:#3b82f62e}.admin-console__drawer-foot{padding:.75rem;border-top:1px solid var(--border)}.admin-console__drawer-foot-link{display:flex;align-items:center;gap:.5rem;font-size:.86rem;font-weight:600;color:var(--accent);text-decoration:none}html,body,#root{max-width:100%;overflow-x:clip}body{overscroll-behavior-x:none}.admin-console{overflow-x:clip;max-width:100%;width:100%}.admin-console__main,.admin-dash-panel,.admin-edu-surface{max-width:100%;min-width:0;overflow-x:clip}.admin-console__main:has(.academic-hub--hub-fixed){overflow-x:clip!important;overscroll-behavior-x:none}.admin-console--drawer-open,.admin-console--drawer-open .admin-console__main{overflow:hidden}.admin-console--drawer-open .admin-console__main :is([class*=-command-bar],[class*=command-bar],[class*=unified-toolbar],[class*=__toolbar],[class*=toolbar-nav],[class*=toolbar-wrap],.card-command-wrap,.card-command,.kscl-toolbar-nav,.thcs-page-toolbar-wrap,.participant-scope-pill-wrap,.academic-hub__bar,.academic-hub__bar-row){z-index:1!important;pointer-events:none}body.admin-console-drawer-open :is(.participant-scope-popover--portal,.menu-dropdown__panel.thcs-floating-panel,.thcs-school-scope__panel.thcs-floating-panel,.thcs-grid-grow__panel.thcs-floating-panel){visibility:hidden!important;pointer-events:none!important}.admin-console__main :is(.card-app,.social-app,.grant-console,.admin-catalog,.admin-years,.academic-hub,.academic-hub--hub-fixed,.admin-settings-surface,.admin-menu-catalog,.admin-portals-settings,.portals-hub,.eval-studio,.thcs-route-shell,.thcs-report-scroll,.kscl-report-dashboard,.project-guide,.records-scope-card,.records-session-page,.records-session-hub,.participant-data-card,.participant-data-inner,.ward-officials-panel,.participant-scope-admin-hub,.school-table-query,.grant-scope-console,.admin-audit-log,.user-account-settings,.thcs-chamdiem-grade){max-width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden}.admin-console__main :is(.table-wrap,.dash-table-wrap,.table-scroll,.table-wrapper,.card-grid-scroll,.project-guide__scroll,.portals-hub__scroll,.admin-menu-catalog__scroll,.grant-matrix__scroll,.grant-overview__table-wrap,.ward-officials-panel__table-wrap,.eval-studio__table-wrap,.academic-hub__table-wrap,.academic-hub-transfer__table-wrap,.records-session-hub__table-wrap,.records-summary-grid__scroll,.scope-lock-panel__table-wrap,.grant-scope-matrix__table-wrap,.user-account-sessions__table-wrap,.thcs-report-table-wrap,.thcs-chamdiem-grade__scroll,.thcs-matrix-mobile__scroll,.kscl-framed-scroll,.kscl-methodology-table-wrap,.table-wrap--sessions,[class$=__table-wrap],[class$=__table-scroll]){overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-width:100%;min-width:0}.participant-unified-toolbar,.records-command-bar,.thcs-unified-toolbar,.thcs-report-command-bar,.thcs-grid-chrome,.school-command-bar,.school-command-bar--single,.academic-hub__bar-row,.dash-year-toolbar,.ref-toolbar-compact,.grant-toolbar,.grant-directory__toolbar,.grant-overview__toolbar,.admin-audit-log__command-scroll,.project-guide__nav,.kscl-toolbar-nav,.card-command--primary,.social-page__toolbar,.social-zalo__toolbar,.thcs-chamdiem-grade__toolbar,.participant-scope-admin-hub__toolbar,.participant-scope-school-matrix__toolbar,.grant-session-access-matrix__toolbar,.ward-officials-panel__toolbar,.year-block__toolbar,.dash-ref-toolbar,.user-account-settings__toolbar{overscroll-behavior-x:contain}}@keyframes admin-fade-in{0%{opacity:0}to{opacity:1}}.admin-breadcrumb{font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;min-width:0}.admin-breadcrumb a{color:var(--accent);font-weight:600}.admin-breadcrumb__sep{color:#cbd5e1;-webkit-user-select:none;user-select:none}.admin-breadcrumb__muted{color:var(--text-secondary)}.admin-breadcrumb__current{font-weight:700;color:var(--text)}.admin-user-menu{position:relative}.admin-user-trigger{display:flex;align-items:center;gap:.45rem;padding:.35rem .55rem .35rem .35rem;border-radius:999px;border:1px solid var(--border);background:#fff;font:inherit;cursor:pointer;max-width:16rem;box-shadow:var(--shadow)}.admin-user-trigger:hover{border-color:var(--accent)}.admin-user-trigger__avatar{width:2rem;height:2rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.85rem}.admin-user-trigger__email{font-size:.78rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-trigger__caret{display:inline-flex;margin-left:.15rem;font-size:.65rem;color:var(--muted)}.admin-user-menu__icon{display:inline-flex;width:1.1rem;justify-content:center;flex-shrink:0}.admin-user-menu__panel{position:absolute;right:0;top:calc(100% + 6px);min-width:15rem;padding:.35rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);z-index:50}.admin-user-menu__item{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;padding:.5rem .6rem;border:none;border-radius:8px;background:transparent;font:inherit;font-size:.84rem;color:var(--text);cursor:pointer;text-decoration:none}.admin-user-menu__item:hover{background:#f1f5f9}.admin-user-menu__item--danger{color:var(--danger)}.app-modal-layer{z-index:5000}.admin-modal-backdrop{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:var(--modal-safe-top) var(--modal-safe-right) var(--modal-safe-bottom) var(--modal-safe-left);box-sizing:border-box;background:#0f172a73;overflow-y:auto}.admin-modal-backdrop--hbc{align-items:center;padding:var(--modal-safe-top) var(--modal-safe-right) var(--modal-safe-bottom) var(--modal-safe-left);background:#0f172a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.admin-modal{width:100%;max-width:min(420px,calc(100vw - var(--modal-safe-left) - var(--modal-safe-right)));max-height:calc(100dvh - var(--modal-safe-top) - var(--modal-safe-bottom));margin:0;padding:1.25rem 1.35rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-strong);box-shadow:var(--shadow-card)}.admin-modal--hbc{margin-top:0;padding:0;max-width:440px;overflow:hidden;border-color:var(--border-strong);background:#fff}.admin-modal__hbc-header{position:relative;display:flex;align-items:center;justify-content:center;padding:.55rem 2.75rem .55rem 1rem;background:linear-gradient(90deg,#fef3c7,#fde68a);color:#dc2626;border-bottom:1px solid rgba(220,38,38,.12);box-shadow:0 2px 10px #0f172a0f}.admin-modal__hbc-brand{display:flex;align-items:center;gap:.5rem;min-width:0;max-width:100%}.admin-modal__hbc-logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}.admin-modal__hbc-inst-text{display:flex;flex-direction:column;text-align:center;min-width:0}.admin-modal__hbc-inst-title{font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#dc2626;line-height:1.25}.admin-modal__hbc-inst-sub{font-size:.75rem;font-weight:600;color:#dc2626;line-height:1.25}.admin-modal__hbc-close{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.65);background:#ffffff59;color:#b91c1c;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}.admin-modal__hbc-close:hover{background:#ffffff8c;transform:translateY(-50%) translateY(-1px)}.admin-modal__hbc-body{padding:1.1rem 1.25rem .25rem;background:#fff;color:var(--text)}.admin-modal__hbc-title{margin:0 0 .75rem;font-size:1.05rem;font-weight:700;color:#b91c1c;text-transform:uppercase;letter-spacing:.04em}.admin-modal--hbc .admin-modal__lead,.admin-modal--hbc .admin-modal__field label{color:var(--text-secondary)}.admin-modal--hbc .admin-modal__pwd-wrap input{background:#fff;border:1px solid var(--border-strong);color:var(--text)}.admin-modal--hbc .admin-modal__pwd-wrap input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.admin-modal--hbc .admin-modal__pwd-toggle{color:var(--muted)}.admin-modal--hbc .admin-modal__pwd-toggle:hover{color:var(--text);background:#f1f5f9}.admin-modal__hbc-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;padding:.85rem 1.1rem 1.1rem;background:#f8fafc;border-top:1px solid var(--border)}.btn-hbc-cancel{display:inline-flex;align-items:center;gap:.4rem;background:#fff;color:var(--text);border:1px solid var(--border-strong)}.btn-hbc-cancel:hover{background:#f1f5f9}.btn-hbc-confirm{display:inline-flex;align-items:center;gap:.4rem}.admin-modal__title{margin:0 0 .65rem;font-size:1.05rem;font-weight:700}.admin-modal__lead{margin:0 0 1rem;font-size:.88rem;color:var(--text-secondary);line-height:1.55}.admin-modal__field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.85rem}.admin-modal__field label{font-size:.78rem;font-weight:600;color:var(--text-secondary)}.admin-modal__field>input{padding:.55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#fff}.admin-modal__field>input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.admin-modal__pwd-wrap{position:relative;display:flex;align-items:stretch}.admin-modal__pwd-wrap input{width:100%;padding:.55rem 2.5rem .55rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#fff;box-sizing:border-box}.admin-modal__pwd-wrap input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.admin-modal__pwd-toggle{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);width:2.1rem;height:2.1rem;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem}.admin-modal__pwd-toggle:hover{color:var(--text);background:#f1f5f9}.admin-modal__msg{margin:0 0 .75rem;font-size:.86rem}.admin-modal__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;margin-top:.25rem}.participant-grid-empty{padding:1.25rem 1rem;text-align:center;color:var(--muted);font-size:.88rem;background:#f8fafc}.participant-grid-virtual-spacer td{padding:0!important;border:none!important;background:transparent!important;line-height:0;pointer-events:none}.admin-icon-btn{width:2.35rem;height:2.35rem;border-radius:10px;border:1px solid var(--border);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer}.admin-icon-btn:hover{border-color:var(--accent);color:var(--accent)}.admin-app--boot{display:flex;align-items:center;justify-content:center;min-height:100vh}.admin-app--boot-inline{min-height:12rem;width:100%}.admin-console__main--mod-shell{display:flex;flex-direction:column;padding:0;overflow:hidden}.edu-hb-mod-frame{display:flex;flex:1;flex-direction:column;width:100%;min-height:calc(100vh - var(--admin-header-h, 3.25rem));background:var(--surface, #fff)}.edu-hb-mod-frame__iframe{flex:1;width:100%;min-height:calc(100vh - var(--admin-header-h, 3.25rem));border:0;display:block}.edu-hb-mod-frame--missing{align-items:center;justify-content:center;padding:2rem;color:var(--muted, #64748b)}.admin-boot-card{text-align:center;padding:2rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);color:var(--muted)}.admin-boot-spinner{width:2.25rem;height:2.25rem;margin:0 auto 1rem;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:admin-spin .75s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}.page-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.55rem .85rem;margin-bottom:.75rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.page-hero__title{margin:0;font-size:1.22rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.page-hero__desc{margin:.25rem 0 0;font-size:.86rem;color:var(--muted);max-width:40rem;line-height:1.45}.page-hero__actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.page-hero__pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:#f1f5f9;border:1px solid var(--border);color:var(--text-secondary)}.page-hero__pill--super{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.page-hero__pill--muted{font-weight:500;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reports-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;margin-bottom:1rem}.reports-kpi{background:linear-gradient(165deg,#fff,#f8fafc);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.1rem;box-shadow:var(--shadow)}.reports-kpi--accent{border-color:#38bdf873;background:linear-gradient(165deg,#f0f9ff,#fff)}.reports-kpi__label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.35rem}.reports-kpi__value{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums}.reports-kpi__hint{display:block;margin-top:.25rem;font-size:.78rem;color:var(--text-secondary)}.dash-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.65rem}.dash-toolbar__meta{margin-left:auto;font-size:.78rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}@media (max-width: 720px){.dash-toolbar__meta{margin-left:0;width:100%}}.dash-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.dash-table-wrap table{width:100%;border-collapse:collapse;font-size:.86rem}.dash-table-wrap th,.dash-table-wrap td{padding:.5rem .65rem;text-align:left;border-bottom:1px solid var(--border)}.dash-table-wrap th{background:#f8fafc;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.dash-table-wrap tr:last-child td{border-bottom:none}.dash-table-wrap .cell-check{width:2.25rem;text-align:center}.edu-hb-end-user-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#0f172a2e;font-family:inherit;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}.edu-hb-end-user-modal--inline{position:relative;inset:auto;z-index:1;background:transparent;padding:0;margin-bottom:1rem}.edu-hb-end-user-modal__inner{width:100%;max-width:460px}.edu-hb-end-user-modal--inline .edu-hb-end-user-modal__inner{max-width:640px;margin:0 auto}.edu-hb-end-user-modal__card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-strong);box-shadow:var(--shadow-card);background:#fff}.edu-hb-end-user-modal__header{display:flex;align-items:center;justify-content:center;padding:.55rem 1rem;background:linear-gradient(90deg,#fef3c7,#fde68a);color:#dc2626;border-bottom:1px solid rgba(220,38,38,.12);box-shadow:0 2px 10px #0f172a0f}.edu-hb-end-user-modal__brand{display:flex;align-items:center;gap:.5rem;min-width:0;max-width:100%}.edu-hb-end-user-modal__logo{width:40px;height:40px;object-fit:contain;flex-shrink:0}.edu-hb-end-user-modal__inst-text{display:flex;flex-direction:column;text-align:center;min-width:0}.edu-hb-end-user-modal__inst-title{font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#dc2626;line-height:1.25}.edu-hb-end-user-modal__inst-sub{font-size:.75rem;font-weight:600;color:#dc2626;line-height:1.25}.edu-hb-end-user-modal__body{padding:1.35rem 1.35rem 1.5rem;color:#111827;background:#fff;text-align:center}.edu-hb-end-user-modal__title{margin:0 0 .85rem;font-size:1.05rem;font-weight:700;color:#0f172a;line-height:1.35}.edu-hb-end-user-modal__content{text-align:left;font-size:.9375rem;color:#374151}.edu-hb-end-user-modal__content p{margin:0 0 .75rem}.edu-hb-end-user-modal__content p:last-child{margin-bottom:0}.edu-hb-end-user-modal__lead{font-size:.9375rem;color:#111827}.edu-hb-end-user-modal__muted{margin:.5rem 0 0;font-size:.9rem;color:#6b7280}.edu-hb-end-user-modal__account{margin:1rem 0 0;font-size:.875rem;color:#64748b}.edu-hb-end-user-modal__details{margin-top:1rem;text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;background:#f8fafc;font-size:.8125rem}.edu-hb-end-user-modal__details-sum{cursor:pointer;font-weight:600;color:var(--text-secondary)}.edu-hb-end-user-modal__details-body{margin-top:.65rem;color:var(--muted)}.edu-hb-end-user-modal__details-body code{font-size:.78rem}.edu-hb-end-user-modal__actions{margin-top:1.25rem;display:flex;justify-content:center}.edu-hb-end-user-modal__btn-primary{min-width:12rem;justify-content:center}.dash-email-input-wrap{position:relative;display:inline-block;box-sizing:border-box;width:calc(var(--dash-gmail-ch, 18) * 1.08ch + 4rem);min-width:9rem;max-width:100%;vertical-align:middle}.dash-email-input-wrap--grid .dash-email-combo-input{position:relative;width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding-right:2.35rem;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%231e293b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:.82rem}.dash-email-input-wrap--grid .dash-email-combo-input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:2rem;height:100%;margin:0;padding:0;cursor:pointer}.dash-email-input-wrap--toolbar .dash-email-combo-input{position:relative;width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding-right:2.35rem;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%231e293b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:.82rem}.dash-email-input-wrap--toolbar:has(.dash-email-clear-btn) .dash-email-combo-input{padding-right:4.35rem}.dash-email-input-wrap--toolbar .dash-email-combo-input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:2rem;height:100%;margin:0;padding:0;cursor:pointer}.dash-email-suffix{position:absolute;right:2.35rem;top:50%;z-index:4;display:flex;align-items:center;gap:.05rem;transform:translateY(-50%);pointer-events:none}.dash-email-clear-btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:#475569;font-size:.72rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.dash-email-clear-btn:hover{background:#e2e8f0;color:#0f172a}.dash-email-clear-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.thcs-route-shell{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;overflow:hidden}.thcs-route-shell>.thcs-page{flex:1 1 auto;min-height:0;max-height:none}.thcs-page.participant-data-card--grid,.thcs-page-toolbar-wrap{padding:.32rem .45rem .38rem;margin-bottom:.3rem;overflow:visible}.thcs-page.participant-data-card--grid{display:flex;flex-direction:column;min-height:0;overflow:hidden;margin-bottom:0}.thcs-page.participant-data-card--grid>.thcs-unified-toolbar,.thcs-page.participant-data-card--grid>.thcs-grid-chrome{flex:0 0 auto;margin-bottom:0}.thcs-page.participant-data-card--grid>.thcs-unified-toolbar{padding-bottom:.55rem;margin-bottom:.4rem;border-bottom:1px solid var(--border)}.thcs-page.participant-data-card--grid>.table-scroll.thcs-page-table,.thcs-page.participant-data-card--grid>#thcs-grid.table-scroll.thcs-page-table,.thcs-page.participant-data-card--grid>#thcs-summary-grid.table-scroll.thcs-page-table,.thcs-page.participant-data-card--grid>#thcs-summary-grid.thcs-matrix-mobile__scroll{flex:1 1 auto;min-height:10rem;max-height:none;margin-top:0;overflow:auto;overscroll-behavior:contain;isolation:isolate;border-top-left-radius:0;border-top-right-radius:0}.thcs-page.participant-data-card--grid>#thcs-summary-grid.table-scroll,.thcs-page.participant-data-card--grid>#thcs-summary-grid.thcs-matrix-mobile__scroll{margin-top:.15rem;border-top:1px solid var(--border);scrollbar-gutter:stable}.table-scroll.thcs-grid-footer-sticky,.thcs-matrix-mobile__scroll.thcs-grid-footer-sticky{--thcs-footer-fill: #e8f5e9;--thcs-footer-line: #b8b8b8;--thcs-footer-bleed: 6px;--thcs-footer-bleed-bottom: 12px}#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin{position:sticky;bottom:-1px;z-index:3;background-color:var(--thcs-footer-fill);box-shadow:0 var(--thcs-footer-bleed-bottom) 0 0 var(--thcs-footer-fill)}#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td{position:relative;z-index:1;border:none!important;background-color:var(--thcs-footer-fill)!important;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 1px 0 0 0 var(--thcs-footer-line),inset 0 1px 0 0 var(--thcs-footer-line),var(--thcs-footer-bleed) 0 0 0 var(--thcs-footer-fill),calc(var(--thcs-footer-bleed) * -1) 0 0 0 var(--thcs-footer-fill),0 var(--thcs-footer-bleed) 0 0 var(--thcs-footer-fill),0 calc(var(--thcs-footer-bleed) * -1) 0 0 var(--thcs-footer-fill)}#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td:last-child,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td:last-child{box-shadow:inset 1px 0 0 0 var(--thcs-footer-line),inset -1px 0 0 0 var(--thcs-footer-line),inset 0 1px 0 0 var(--thcs-footer-line),var(--thcs-footer-bleed) 0 0 0 var(--thcs-footer-fill),calc(var(--thcs-footer-bleed) * -1) 0 0 0 var(--thcs-footer-fill),0 var(--thcs-footer-bleed) 0 0 var(--thcs-footer-fill),0 calc(var(--thcs-footer-bleed) * -1) 0 0 var(--thcs-footer-fill)}#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr:last-child td,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr:last-child td{box-shadow:inset 1px 0 0 0 var(--thcs-footer-line),inset 0 1px 0 0 var(--thcs-footer-line),inset 0 -1px 0 0 var(--thcs-footer-line),var(--thcs-footer-bleed) 0 0 0 var(--thcs-footer-fill),calc(var(--thcs-footer-bleed) * -1) 0 0 0 var(--thcs-footer-fill),0 var(--thcs-footer-bleed-bottom) 0 0 var(--thcs-footer-fill),0 calc(var(--thcs-footer-bleed) * -1) 0 0 var(--thcs-footer-fill)}#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr:last-child td:last-child,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr:last-child td:last-child{box-shadow:inset 1px 0 0 0 var(--thcs-footer-line),inset -1px 0 0 0 var(--thcs-footer-line),inset 0 1px 0 0 var(--thcs-footer-line),inset 0 -1px 0 0 var(--thcs-footer-line),var(--thcs-footer-bleed) 0 0 0 var(--thcs-footer-fill),calc(var(--thcs-footer-bleed) * -1) 0 0 0 var(--thcs-footer-fill),0 var(--thcs-footer-bleed-bottom) 0 0 var(--thcs-footer-fill),0 calc(var(--thcs-footer-bleed) * -1) 0 0 var(--thcs-footer-fill)}#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td.thcs-row-sel,#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td.data-grid__col-sel,#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td.thcs-td-dual-score,#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td.thcs-td-total,#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td.thcs-td-content,#thcs-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr .thcs-dual-score__line,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td.thcs-td-dual-score,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td.thcs-td-total,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr td.thcs-td-content,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr .thcs-dual-score__line,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr .thcs-matrix-mobile__score-block,#thcs-summary-grid.thcs-grid-footer-sticky table tfoot.thcs-grid-footer-pin tr .thcs-matrix-mobile__score-row{background-color:var(--thcs-footer-fill)!important}.thcs-grid-footer-pin-toggle--active{color:#0369a1;background:#e0f2fe;border-color:#7dd3fc}#thcs-summary-grid.table-scroll .data-grid.thcs-criteria-grid--matrix{width:max-content;min-width:100%}#thcs-summary-grid .data-grid.thcs-criteria-grid--matrix thead .thcs-th-pro{position:sticky;top:0;background-clip:padding-box}#thcs-summary-grid .data-grid.thcs-criteria-grid--matrix thead .thcs-th-pro:before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:#e8f0fe;box-shadow:0 1px #b4b4b4;pointer-events:none}#thcs-summary-grid .data-grid.thcs-criteria-grid--matrix thead .thcs-th-pro:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#b4b4b4;pointer-events:none}.thcs-unified-toolbar .menu-dropdown{flex-shrink:0}.thcs-floating-panel{position:fixed;top:0;left:0;z-index:1600;margin:0;max-width:min(calc(100vw - 1rem),26rem)}.thcs-grid-chrome{display:flex;flex-wrap:wrap;align-items:center;gap:.22rem .32rem;margin-bottom:.2rem;overflow:visible;position:relative;z-index:25}.thcs-grid-chrome__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.22rem .32rem;flex:0 1 auto;min-width:0;overflow:visible}.thcs-grid-chrome__actions>*{flex-shrink:0}.thcs-grid-chrome .thcs-school-scope,.thcs-grid-chrome .menu-dropdown{position:relative;z-index:1}.thcs-page-toolbar{position:relative;z-index:25;overflow:visible}.thcs-page-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .35rem;margin-bottom:.22rem}.thcs-page-toolbar-wrap .thcs-page-toolbar{margin-bottom:0}.thcs-field-compact{display:inline-flex;align-items:center;gap:.28rem;margin:0;font-size:.72rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.thcs-field-compact>span{text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.thcs-unified-toolbar .thcs-field-compact--inline>span{text-transform:uppercase;letter-spacing:.04em}.thcs-field-compact .select-control{min-width:6.5rem;max-width:14rem;padding:.18rem .4rem;font-size:.8rem;font-weight:500}.thcs-field-compact--chk{gap:.22rem;cursor:pointer}.thcs-field-compact--chk input{margin:0}.thcs-page-badge{font-size:.72rem;color:var(--muted);padding:0 .15rem}.thcs-toolbar-sep{width:1px;align-self:stretch;min-height:1.25rem;margin:0 .1rem;background:var(--border);flex-shrink:0}.thcs-unified-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:.18rem .26rem;margin-bottom:.22rem;padding:.06rem 0;overflow-x:auto;overflow-y:visible;position:relative;z-index:25;scrollbar-width:thin}.thcs-unified-toolbar>*{flex-shrink:0}.thcs-unified-toolbar__search{flex:1 1 5.5rem;min-width:4.5rem;max-width:11rem;margin-left:auto}.thcs-unified-toolbar .participant-grid-search-wrap{gap:.22rem;padding:.06rem .42rem .06rem .48rem;min-height:1.85rem;box-sizing:border-box}.thcs-unified-toolbar .participant-grid-search{font-size:.76rem;padding:.18rem .08rem;min-height:1.55rem}.thcs-unified-toolbar .participant-grid-search-wrap__icon{font-size:.74rem}.thcs-unified-toolbar .thcs-field-compact--inline .select-control{min-width:5.5rem;max-width:10rem}.thcs-field-compact--inline{gap:.15rem}.thcs-field-compact--inline>span{display:none}.data-grid.thcs-criteria-grid--matrix thead .thcs-th-title{text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.thcs-unified-toolbar .thcs-school-scope .menu-dropdown__trigger,.thcs-unified-toolbar .menu-dropdown__trigger.thcs-btn-compact{text-transform:uppercase;letter-spacing:.03em}.thcs-grade-block-dropdown{position:relative;display:inline-flex}.thcs-entry-save-group{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.thcs-entry-unsaved-badge{padding:.12rem .38rem!important;font-size:.72rem!important;font-weight:700!important;min-height:1.55rem;display:inline-flex;align-items:center}.thcs-entry-save-btn i{font-size:.78rem;margin-right:.12rem}.thcs-entry-grid-loading{padding:2rem 1rem;text-align:center;color:var(--muted);font-size:.88rem}.thcs-grade-block-badge,.thcs-grade-block-dropdown__trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.14rem .5rem;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.15;color:#dc2626;background:linear-gradient(180deg,#fff5f5,#fee2e2);border:2px solid #f87171;border-radius:var(--radius-sm);white-space:nowrap;box-shadow:0 1px 4px #dc262626}.thcs-grade-block-dropdown__trigger{cursor:pointer;font:inherit}.thcs-grade-block-dropdown__trigger:hover{background:linear-gradient(180deg,#fee2e2,#fecaca)}.thcs-grade-block-dropdown__caret{font-size:.62rem;opacity:.85}.thcs-grade-block-dropdown__panel{z-index:200;min-width:11.5rem;padding:.45rem;display:flex;flex-direction:column;gap:.35rem;background:linear-gradient(180deg,#dfc98a,#d4bc78);border:2px solid rgba(146,64,14,.22);border-radius:12px;box-shadow:0 12px 28px #785a1e33}.thcs-grade-block-dropdown__panel--tieu-hoc{border-left:4px solid var(--admin-nav-grade-tieu-hoc)}.thcs-grade-block-dropdown__panel--thcs{border-left:4px solid var(--admin-nav-grade-thcs)}.thcs-grade-block-dropdown__panel--mam-non{border-left:4px solid var(--admin-nav-grade-mam-non)}.thcs-grade-block-dropdown__panel--thpt{border-left:4px solid var(--admin-nav-grade-thpt)}.thcs-grade-block-dropdown__head{display:flex;align-items:center;gap:.35rem;padding:.1rem .25rem .25rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#1e293b;border-bottom:1px solid rgba(15,23,42,.12)}.thcs-grade-block-dropdown__item{display:flex;align-items:center;gap:.35rem;width:100%;min-height:2.1rem;padding:.38rem .5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;text-align:left;color:inherit;background:#fff;border:1px solid rgba(180,140,40,.28);border-radius:8px;box-shadow:0 2px 8px #785a1e1a;cursor:pointer}.thcs-grade-block-dropdown__item:hover{background:#fff8e8;transform:translateY(-1px)}.thcs-grade-block-dropdown__item--active{background:linear-gradient(90deg,#fef3c7,#fff);border-color:var(--admin-nav-active-border);box-shadow:inset 3px 0 0 var(--admin-nav-active-border)}.thcs-chip{display:inline-flex;align-items:center;gap:.28rem;padding:.12rem .38rem;font-size:.72rem;font-weight:600;line-height:1.2;color:var(--text-secondary);background:linear-gradient(135deg,#fdf8ec,#faf0d4);border:1px solid rgba(180,140,40,.22);border-radius:var(--radius-sm);white-space:nowrap;box-shadow:0 2px 8px #785a1e14}.thcs-chip strong{display:inline-flex;align-items:center;justify-content:center;min-width:1.55rem;min-height:1.55rem;padding:0 .32rem;font-size:.62rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;color:#dc2626;background:#fff;border:2px solid #ffffff;border-radius:999px;box-shadow:0 0 0 1.5px #dc262680,0 2px 6px #785a1e1f}.thcs-chip--muted{font-weight:500;color:var(--muted);background:transparent;border-color:transparent;padding-left:.1rem;padding-right:.1rem}.thcs-chip--warn{color:#b45309;background:#fffbeb;border-color:#fcd34d}.thcs-btn-icon{padding:.2rem .42rem!important;min-width:1.55rem;min-height:1.55rem}.thcs-unified-toolbar .data-grid-autofit{gap:.12rem}.thcs-unified-toolbar .data-grid-autofit__toggle--compact span{font-size:.72rem}.thcs-toolbar-help-panel{min-width:min(16rem,calc(100vw - 1.5rem));max-width:min(22rem,calc(100vw - 1rem));padding:.55rem .65rem;border-radius:var(--radius);border:1px solid var(--border);background:#fff;box-shadow:0 8px 24px #0000001f}.thcs-toolbar-help-panel__title{font-size:.78rem;font-weight:700;margin-bottom:.35rem;color:var(--text)}.thcs-toolbar-help-panel__body{font-size:.76rem;color:var(--text-secondary);line-height:1.45}.thcs-toolbar-help-list{margin:0;padding-left:1.1rem}.thcs-toolbar-help-list li+li{margin-top:.28rem}.thcs-toolbar-help-section{margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--border)}.thcs-toolbar-help-section__title{margin:0 0 .4rem;font-size:.8rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.35rem}.thcs-toolbar-help-section__lead{margin:0 0 .45rem;font-size:.74rem;line-height:1.45;color:var(--text-secondary)}.thcs-toolbar-help-list--nested{margin-top:.25rem;padding-left:1rem}.thcs-toolbar-help-badge{display:inline-block;margin-right:.25rem;padding:.05rem .4rem;font-size:.68rem;font-weight:700;border-radius:4px;vertical-align:middle}.thcs-toolbar-help-badge--danger{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.thcs-toolbar-help-badge--warn{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.thcs-toolbar-help-panel--window{z-index:6050}.thcs-toolbar-help-panel__guide{margin:.55rem 0 0;padding-top:.45rem;border-top:1px solid var(--border)}.thcs-toolbar-help-panel__guide-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.76rem;font-weight:600;color:#2563eb;text-decoration:none}.thcs-toolbar-help-panel__guide-link:hover{text-decoration:underline}.thcs-td-dual-score{padding:.12rem .28rem!important;vertical-align:middle;line-height:1.25;white-space:normal}.thcs-dual-score__line{display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.78rem;font-variant-numeric:tabular-nums}.thcs-dual-score__line+.thcs-dual-score__line{margin-top:.1rem;padding-top:.08rem;border-top:1.5px solid rgba(148,163,184,.95)}.thcs-dual-score__tag{flex:1 1 auto;min-width:0;font-size:.66rem;font-weight:700;letter-spacing:.01em;color:inherit;text-align:left;line-height:1.15}.thcs-dual-score__val{flex:0 0 auto;text-align:right;font-variant-numeric:tabular-nums;color:inherit}.thcs-dual-score__line--tu .thcs-dual-score__tag,.thcs-dual-score__line--tu .thcs-dual-score__val{color:#0f172a;font-weight:700}.thcs-dual-score__line--phong .thcs-dual-score__tag,.thcs-dual-score__line--phong .thcs-dual-score__val{color:#b91c1c;font-weight:700}.thcs-dual-score__line--max .thcs-dual-score__tag,.thcs-dual-score__line--max .thcs-dual-score__val{color:#92400e;font-weight:700}.data-grid.thcs-criteria-grid--matrix .thcs-dual-score__tag,.thcs-matrix-mobile__score-tag{text-transform:uppercase}.thcs-dual-score__tag--abridge .thcs-dual-score__tag-short,.thcs-th-sub--abridge .thcs-th-sub-short{display:none}@container thcs-matrix-dual (max-width: 6.75rem){.thcs-dual-score__tag--abridge .thcs-dual-score__tag-long{display:none}.thcs-dual-score__tag--abridge .thcs-dual-score__tag-short{display:inline}}@container thcs-matrix-th-school (max-width: 7.25rem){.thcs-th-sub--abridge .thcs-th-sub-long{display:none}.thcs-th-sub--abridge .thcs-th-sub-short{display:block}}.thcs-matrix-mobile .thcs-th-sub--abridge .thcs-th-sub-long{display:none}.thcs-matrix-mobile .thcs-th-sub--abridge .thcs-th-sub-short{display:block}.thcs-th-sub{display:block;width:100%;max-width:100%;font-size:.58rem;font-weight:700;color:#334155;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;text-transform:uppercase}.thcs-max-cell,.thcs-score-cell{position:relative;padding:0!important;vertical-align:top}.data-grid.thcs-criteria-grid tbody td.thcs-score-cell>.cell-input,.data-grid.thcs-criteria-grid tbody td.thcs-max-cell>.cell-input,.data-grid.thcs-criteria-grid tbody td.thcs-text-cell>.cell-input,.data-grid.thcs-criteria-grid tbody td.thcs-text-cell>.thcs-content-input,.data-grid.thcs-criteria-grid tbody td.thcs-td-extra>.cell-input{display:block;width:100%;min-height:100%;height:100%;box-sizing:border-box}.data-grid.thcs-criteria-grid tbody td.thcs-text-cell[rowspan]>.thcs-content-input{min-height:100%}.thcs-criteria-grid td.data-grid__cell-active{outline:2px solid rgba(3,105,161,.85);outline-offset:-2px}.thcs-criteria-grid td.data-grid__cell-sel:not(.td-check){background:#107c411f!important}.thcs-cell-confirm--bulk{min-width:14rem}.thcs-confirm-backdrop{position:fixed;inset:0;z-index:1395;background:#0f172a47}.thcs-confirm-backdrop--peek{background:#0f172a24}body.thcs-bulk-clear-open .thcs-criteria-grid td.data-grid__cell-sel:not(.td-check){outline:2px solid rgba(16,124,65,.95);outline-offset:-2px;background:#107c4133!important;position:relative;z-index:2}.thcs-cell-confirm--viewport{z-index:1400;min-width:min(20rem,calc(100vw - 2rem));max-width:min(28rem,calc(100vw - 2rem));max-height:min(88vh,36rem);overflow:auto}.thcs-cell-confirm__hint--sub{margin-top:.35rem;font-size:.74rem;color:var(--text-secondary)}.thcs-bulk-clear-preview-wrap{margin:.35rem 0 .25rem}.thcs-bulk-clear-preview__caption{margin:0 0 .25rem;font-size:.74rem;font-weight:600;color:var(--text-secondary)}.thcs-bulk-clear-preview{max-height:11.5rem;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fafc}.thcs-bulk-clear-preview__table{width:100%;border-collapse:collapse;font-size:.76rem;line-height:1.3}.thcs-bulk-clear-preview__table th{position:sticky;top:0;padding:.28rem .4rem;text-align:left;font-weight:600;background:#e8f0fe;border-bottom:1px solid var(--border);white-space:nowrap}.thcs-bulk-clear-preview__table td{padding:.22rem .4rem;border-bottom:1px solid #e2e8f0;vertical-align:top}.thcs-bulk-clear-preview__table tr.is-empty td{color:var(--muted)}.thcs-bulk-clear-preview__val{max-width:14rem;word-break:break-word;font-variant-numeric:tabular-nums}.thcs-bulk-clear-preview__more{margin:.25rem 0 0;font-size:.72rem;color:var(--text-secondary)}.thcs-cell-confirm__hint{margin:0 0 .45rem;font-size:.8rem;line-height:1.35;color:var(--text-secondary)}.thcs-text-cell{padding:0!important;vertical-align:top}.thcs-content-input{min-height:2.5rem;resize:vertical;line-height:1.35;border:none;width:100%}.thcs-cell-confirm{z-index:1300;min-width:11rem;max-width:16rem;padding:.45rem .55rem;border-radius:var(--radius);border:1px solid var(--border);background:#fff;box-shadow:0 10px 28px #00000024}.thcs-cell-confirm__title{font-size:.72rem;font-weight:700;color:var(--text-secondary);margin-bottom:.25rem}.thcs-cell-confirm__diff{display:flex;align-items:center;justify-content:center;gap:.35rem;margin:0 0 .35rem;font-size:.95rem;font-variant-numeric:tabular-nums}.thcs-cell-confirm__old{color:var(--muted);text-decoration:line-through}.thcs-cell-confirm__new{font-weight:700;color:var(--accent, #1d4ed8)}.thcs-cell-confirm__arrow{font-size:.7rem;color:var(--muted)}.thcs-cell-confirm__actions{display:flex;justify-content:flex-end;gap:.25rem}.thcs-toolbar-undo{display:inline-flex;align-items:center;gap:.3rem .45rem;padding:.1rem .42rem;border-radius:var(--radius-sm);background:#ecfdf5;border:1px solid #a7f3d0;font-size:.7rem;line-height:1.25;color:#065f46;max-width:min(32rem,48vw);min-width:0;flex-shrink:1}.thcs-toolbar-undo>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.thcs-toolbar-undo__btn{flex-shrink:0;padding:.06rem .32rem;font-size:.68rem}.thcs-grid-chrome__actions>.thcs-toolbar-undo{flex-shrink:1}.thcs-grid-chrome__trail{display:inline-flex;align-items:center;gap:.22rem;margin-left:auto;flex:0 0 auto;min-width:0;padding-left:.15rem}.thcs-grid-chrome.thcs-unified-toolbar{flex-wrap:nowrap}.thcs-unified-toolbar .thcs-grid-chrome__actions{flex-wrap:nowrap;flex-shrink:0}.thcs-unified-toolbar .thcs-chip--muted{max-width:8.5rem;overflow:hidden;text-overflow:ellipsis}.thcs-grid-chrome.thcs-unified-toolbar .thcs-grid-chrome__trail .thcs-toolbar-undo{flex-shrink:1;max-width:min(34rem,42vw)}.thcs-restore-modal-backdrop{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:var(--modal-safe-top) var(--modal-safe-right) var(--modal-safe-bottom) var(--modal-safe-left);box-sizing:border-box;background:#0f172a73}.thcs-restore-modal{width:min(28rem,100%);max-width:calc(100vw - var(--modal-safe-left) - var(--modal-safe-right));max-height:calc(100dvh - var(--modal-safe-top) - var(--modal-safe-bottom));overflow:auto;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);box-shadow:var(--shadow-card)}.thcs-restore-modal--wide{width:min(36rem,100%);max-height:calc(100dvh - var(--modal-safe-top) - var(--modal-safe-bottom))}.thcs-restore-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.85rem 1rem .5rem;border-bottom:1px solid var(--border)}.thcs-restore-modal__title{margin:0;font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.45rem}.thcs-restore-modal__close{flex-shrink:0;border:none;background:transparent;padding:.2rem .35rem;cursor:pointer;color:var(--text-secondary);border-radius:4px}.thcs-restore-modal__close:hover{background:#f1f5f9}.thcs-restore-modal__body{padding:.75rem 1rem}.thcs-restore-modal__lead{margin:0 0 .65rem;font-size:.86rem;line-height:1.45}.thcs-restore-modal__box{margin-bottom:.55rem;padding:.5rem .6rem;border-radius:var(--radius-sm);font-size:.8rem;line-height:1.4}.thcs-restore-modal__box--warn{background:#fff7ed;border:1px solid #fed7aa}.thcs-restore-modal__box--safe{background:#f0fdf4;border:1px solid #bbf7d0}.thcs-restore-modal__box--muted{background:#f8fafc;border:1px solid var(--border)}.thcs-restore-modal__box-title{margin:0 0 .25rem;font-weight:700;font-size:.78rem}.thcs-restore-modal__hint{margin:0;color:var(--text-secondary)}.thcs-restore-modal__list{margin:0;padding-left:1.1rem}.thcs-restore-modal__fieldset{margin:.65rem 0 0;padding:.5rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm)}.thcs-restore-modal__legend{padding:0 .25rem;font-size:.78rem;font-weight:700}.thcs-restore-modal__check{display:flex;align-items:flex-start;gap:.4rem;margin:.35rem 0 0;font-size:.8rem;line-height:1.35;cursor:pointer}.thcs-restore-modal__check input{margin-top:.15rem;flex-shrink:0}.thcs-restore-modal__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;padding:.55rem 1rem .85rem;border-top:1px solid var(--border)}.thcs-restore-modal__back{margin-right:auto}.thcs-restore-modal__tabs{display:flex;gap:.15rem;padding:.35rem 1rem 0;border-bottom:1px solid var(--border)}.thcs-restore-modal__tab{border:none;background:transparent;padding:.35rem .65rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer}.thcs-restore-modal__tab--active{color:var(--primary);background:#eff6ff;box-shadow:inset 0 -2px 0 var(--primary)}.thcs-restore-modal__lead--compact{font-size:.8rem;margin-bottom:.5rem}.thcs-restore-modal__action-msg{margin:0 0 .5rem;font-size:.8rem;color:var(--primary)}.thcs-restore-modal__action-msg--err{color:#b91c1c}.thcs-form-field{display:block;margin-bottom:.55rem}.thcs-form-field__label{display:block;font-size:.78rem;font-weight:600;margin-bottom:.2rem}.thcs-form-field__textarea{resize:vertical;min-height:4rem;width:100%}.thcs-backup-list{display:flex;flex-direction:column;gap:.45rem;max-height:16rem;overflow:auto}.thcs-backup-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.35rem;padding:.5rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem}.thcs-backup-row--active{border-color:#93c5fd;background:#f8fafc}.thcs-backup-row__title{margin:0;font-size:.85rem;font-weight:700;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.thcs-backup-row__badge{font-size:.68rem;font-weight:700;padding:.1rem .35rem;border-radius:999px;background:#dbeafe;color:#1d4ed8}.thcs-backup-row__meta{margin:.15rem 0 0;color:var(--text-secondary);font-size:.75rem}.thcs-backup-row__note{margin:.25rem 0 0;font-size:.75rem;line-height:1.35}.thcs-backup-row__actions{display:flex;flex-wrap:wrap;gap:.2rem}.thcs-backup-row__delete{color:#b91c1c!important}.thcs-grid-chrome.thcs-unified-toolbar .thcs-grid-chrome__actions{flex-wrap:nowrap}.thcs-grid-chrome.thcs-unified-toolbar .thcs-grid-search{flex:1 1 4.5rem;min-width:3.5rem;max-width:10rem;margin-left:0}.thcs-btn-compact{padding:.2rem .45rem!important;font-size:.78rem!important;line-height:1.2;min-height:1.55rem}.thcs-btn-compact.menu-dropdown__trigger{min-width:0}.thcs-grid-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .55rem;margin-bottom:.4rem}.thcs-grid-chrome .thcs-grid-search{flex:1 1 7rem;min-width:5.5rem;max-width:16rem;flex-shrink:1;padding:.12rem .35rem;min-height:1.55rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff}.thcs-grid-chrome .participant-grid-search{font-size:.8rem}.thcs-grid-chrome .thcs-btn-compact,.thcs-grid-chrome .thcs-grid-meta{flex-shrink:0}.thcs-grid-meta{font-size:.72rem!important;border:none!important;margin:0!important;padding:0!important;flex-shrink:0}body.participant-data-fullscreen .thcs-page #thcs-grid.table-scroll,body.participant-data-fullscreen .thcs-page .thcs-page-table{max-height:calc(100vh - 7.25rem);min-height:min(420px,calc(100vh - 7.25rem))}@media (max-width: 900px){.thcs-grid-chrome .thcs-grid-search,.thcs-grid-chrome .participant-grid-search-wrap{flex:0 0 auto;min-width:6.75rem;max-width:11.5rem;min-height:1.85rem;padding:.06rem .42rem .06rem .48rem;box-sizing:border-box}.thcs-grid-chrome .participant-grid-search{font-size:.76rem!important;padding:.18rem .08rem;min-height:1.55rem}}.thcs-grid-tools__chk{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.thcs-grid-hint{font-size:.76rem;color:var(--muted);margin-left:auto;white-space:nowrap}@media (max-width: 900px){.thcs-grid-hint{margin-left:0;flex:0 0 auto}}.data-grid.thcs-criteria-grid{width:auto;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.data-grid.thcs-criteria-grid th,.data-grid.thcs-criteria-grid td{min-width:0;overflow:visible;box-sizing:border-box}.data-grid.thcs-criteria-grid thead th{overflow:visible}.data-grid.thcs-criteria-grid .thcs-th-title{overflow:hidden}.data-grid.thcs-criteria-grid .cell-input:not(.thcs-content-input){overflow:hidden}.data-grid.thcs-criteria-grid td.td-wrap,.data-grid.thcs-criteria-grid .thcs-td-content,.data-grid.thcs-criteria-grid .thcs-td-group{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.data-grid.thcs-criteria-grid .cell-input{width:100%;min-width:0;max-width:none}.data-grid.thcs-criteria-grid .th-narrow,.data-grid.thcs-criteria-grid td.th-narrow{min-width:0}.data-grid.thcs-criteria-grid .cell-input--score{max-width:none;min-width:0}.data-grid.thcs-criteria-grid thead .thcs-th-pro{padding:0;vertical-align:middle;background:#e8f0fe;position:sticky;top:0;z-index:5;overflow:visible;box-shadow:none;border-top:1px solid #b4b4b4;border-bottom:1px solid #b4b4b4}.data-grid.thcs-criteria-grid thead .thcs-row-sel-h{position:sticky;top:0;z-index:6;background:#e8f0fe;box-shadow:none;border-top:1px solid #b4b4b4;border-bottom:1px solid #b4b4b4}.thcs-th-inner{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.2rem;padding:.28rem 1.1rem .28rem .22rem;min-height:2.15rem;width:100%;max-width:100%;box-sizing:border-box;pointer-events:none;overflow:hidden}.thcs-th-inner>*{pointer-events:auto}.thcs-th-center{flex:1 1 0;min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.06rem;overflow:hidden}.thcs-th-actions{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:.06rem;flex-shrink:0;margin-left:auto}.data-grid.thcs-criteria-grid thead .data-grid__col-resize{z-index:25}.thcs-row-sel,.thcs-row-sel-h{width:2.25rem;min-width:2.25rem;max-width:2.25rem;text-align:center;padding:.15rem!important;vertical-align:middle}.thcs-row-selected td{background:#eff6ff!important}.thcs-td-extra .cell-input{width:100%;min-width:4rem}.data-grid.thcs-criteria-grid thead th.thcs-th-extra,.data-grid.thcs-criteria-grid tbody td.thcs-td-extra{min-width:5.5rem}.data-grid.thcs-criteria-grid tr.thcs-row-extra td.thcs-td-extra{position:relative;z-index:1;vertical-align:top}.data-grid.thcs-criteria-grid tr.thcs-row-extra td.thcs-score-cell,.data-grid.thcs-criteria-grid tr.thcs-row-extra td.thcs-max-cell{background:#fff;padding:0!important;vertical-align:middle}.data-grid.thcs-criteria-grid tr.thcs-row-extra td.thcs-max-cell.td-readonly{text-align:center;font-variant-numeric:tabular-nums;color:var(--text)}.thcs-ctx-menu{position:fixed;z-index:1300;min-width:11rem;padding:.3rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-card)}.thcs-ctx-menu button{display:block;width:100%;text-align:left;padding:.4rem .55rem;border:none;background:transparent;font:inherit;font-size:.82rem;cursor:pointer;border-radius:4px}.thcs-ctx-menu button:hover{background:#f1f5f9}.thcs-grid-grow__danger{margin-top:.35rem;color:var(--danger)}.thcs-th-drag{display:inline-flex;flex:0 0 1rem;width:1rem;align-items:center;justify-content:center;padding:0;cursor:grab;opacity:.45}.thcs-th-title{display:block;width:100%;max-width:100%;min-width:0;font-weight:600;font-size:.78rem;cursor:pointer;user-select:none;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.data-grid.thcs-criteria-grid thead .thcs-th-pro{min-width:3.5rem}.data-grid.thcs-criteria-grid--matrix thead .thcs-th-pro.data-grid__th{padding:0;vertical-align:middle}.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-school{min-width:0;container-type:inline-size;container-name:thcs-matrix-th-school}.data-grid.thcs-criteria-grid--matrix thead .th-narrow.thcs-th-pro{min-width:0}.data-grid.thcs-criteria-grid:not(.thcs-criteria-grid--matrix) thead .thcs-col-stt.thcs-th-pro{min-width:0}.data-grid.thcs-criteria-grid:not(.thcs-criteria-grid--matrix) thead .thcs-col-stt .thcs-th-inner{align-items:center;overflow:hidden;padding-right:1.1rem}.data-grid.thcs-criteria-grid:not(.thcs-criteria-grid--matrix) thead .thcs-col-stt .thcs-th-center{flex:1 1 0;min-width:0;overflow:hidden}.data-grid.thcs-criteria-grid:not(.thcs-criteria-grid--matrix) thead .thcs-col-stt .thcs-th-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.data-grid.thcs-criteria-grid:not(.thcs-criteria-grid--matrix) thead .thcs-th-pro:not(.th-narrow):not(.thcs-col-stt){min-width:6.75rem}.data-grid.thcs-criteria-grid:not(.thcs-criteria-grid--matrix) thead .thcs-col-score-h .thcs-th-inner{align-items:center;overflow:visible;padding-right:.85rem}.data-grid.thcs-criteria-grid:not(.thcs-criteria-grid--matrix) thead .thcs-col-score-h .thcs-th-center{flex:1 1 auto;min-width:2.75rem;overflow:visible}.data-grid.thcs-criteria-grid:not(.thcs-criteria-grid--matrix) thead .thcs-col-score-h .thcs-th-title{white-space:normal;overflow:visible;text-overflow:unset;word-break:keep-all;line-height:1.2;hyphens:none}.data-grid.thcs-criteria-grid:not(.thcs-criteria-grid--matrix) thead .thcs-col-score-h.thcs-th-pro{min-width:6rem;max-width:6.75rem}.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-max.thcs-th-pro{min-width:0}.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-school .thcs-th-inner{min-height:2.35rem;overflow:visible}.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-school .thcs-th-center{overflow:visible}.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-school .thcs-th-title{white-space:nowrap;overflow:visible;text-overflow:clip;word-break:keep-all;overflow-wrap:normal;line-height:1.15;hyphens:none}.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-max .thcs-th-inner,.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-content .thcs-th-inner,.data-grid.thcs-criteria-grid--matrix thead .th-narrow .thcs-th-inner,.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-max .thcs-th-center,.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-content .thcs-th-center,.data-grid.thcs-criteria-grid--matrix thead .th-narrow .thcs-th-center{overflow:visible}.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-max .thcs-th-title,.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-content .thcs-th-title,.data-grid.thcs-criteria-grid--matrix thead .th-narrow .thcs-th-title{white-space:nowrap;overflow:visible;text-overflow:clip;word-break:keep-all}.data-grid.thcs-criteria-grid--matrix thead .thcs-matrix-th-max .thcs-th-title{word-break:keep-all}.data-grid.thcs-criteria-grid--matrix .thcs-td-content{max-width:none;font-size:.78rem;line-height:1.3}.data-grid.thcs-criteria-grid--matrix td.cell-input--score,.data-grid.thcs-criteria-grid--matrix .td-readonly.cell-input--score{text-align:center;white-space:nowrap}.data-grid.thcs-criteria-grid--matrix td.cell-input--score.thcs-td-dual-score,.data-grid.thcs-criteria-grid--matrix .td-readonly.cell-input--score.thcs-td-dual-score{container-type:inline-size;container-name:thcs-matrix-dual;white-space:normal;overflow:hidden;vertical-align:middle;min-width:0;max-width:none}.data-grid.thcs-criteria-grid--matrix .thcs-td-dual-score .thcs-dual-score__line{flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.08rem .35rem}.data-grid.thcs-criteria-grid--matrix .thcs-td-dual-score .thcs-dual-score__tag{flex:1 1 auto;min-width:0;max-width:100%;white-space:normal;word-break:break-word;overflow-wrap:anywhere;text-align:left}.data-grid.thcs-criteria-grid--matrix .thcs-td-dual-score .thcs-dual-score__val{flex:0 0 auto;margin-left:auto;text-align:right}@container thcs-matrix-dual (max-width: 4.75rem){.thcs-dual-score__line{flex-direction:column;align-items:stretch;gap:.08rem}.thcs-dual-score__tag,.thcs-dual-score__val{width:100%;margin-left:0;text-align:center}}.data-grid.thcs-criteria-grid--matrix{border-collapse:collapse}.data-grid.thcs-criteria-grid--matrix th,.data-grid.thcs-criteria-grid--matrix td{border:1px solid #b0b0b0}.thcs-matrix-chrome{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-bottom:.45rem}.thcs-page.participant-data-card--grid>.thcs-matrix-mobile{flex:1 1 auto;min-height:10rem;margin-top:.15rem}.thcs-matrix-mobile{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;overflow:hidden}.thcs-matrix-mobile__hint{flex:0 0 auto;margin:0;padding:.38rem .55rem;font-size:.72rem;color:#64748b;background:#f8fafc;border-bottom:1px solid var(--border)}.thcs-matrix-mobile__hint i{margin-right:.35rem;color:#94a3b8}.thcs-matrix-mobile__scroll{flex:1 1 auto;min-height:14rem;max-height:calc(100dvh - 11.5rem);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;isolation:isolate}.thcs-matrix-mobile__table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:fixed;font-size:.78rem;line-height:1.3}.thcs-matrix-mobile__table th,.thcs-matrix-mobile__table td{border:1px solid #b8c2ce;padding:.38rem .42rem;vertical-align:middle;background:#fff}.thcs-matrix-mobile__table thead th{position:sticky;top:0;z-index:1;background:#e8f0fe;font-weight:700;text-align:center;box-shadow:0 1px #b4b4b4}.thcs-matrix-mobile__th--tt,.thcs-matrix-mobile__td--tt{width:2.1rem;min-width:2.1rem;max-width:2.1rem;text-align:center}.thcs-matrix-mobile__th--content,.thcs-matrix-mobile__td--content{width:12.5rem;min-width:12.5rem;text-align:left;white-space:normal;word-break:break-word;vertical-align:top}.thcs-matrix-mobile__th--max,.thcs-matrix-mobile__td--max{width:2.85rem;min-width:2.85rem;max-width:2.85rem;text-align:center;font-variant-numeric:tabular-nums}.thcs-matrix-mobile__th--school,.thcs-matrix-mobile__td--school{width:4.25rem;min-width:4.25rem;text-align:center}.thcs-matrix-mobile__table[data-thcs-summary-view=both] .thcs-matrix-mobile__th--school,.thcs-matrix-mobile__table[data-thcs-summary-view=both] .thcs-matrix-mobile__td--school{width:5.5rem;min-width:5.5rem}.thcs-matrix-mobile__school-name{display:block;font-size:.64rem;line-height:1.2;word-break:break-word}.thcs-matrix-mobile__school-sub{text-transform:uppercase;display:block;margin-top:.15rem;font-size:.58rem;font-weight:600;color:#64748b}.thcs-matrix-mobile__td--score{padding:.28rem .32rem;vertical-align:middle}.thcs-matrix-mobile__score-block{display:flex;flex-direction:column;gap:.22rem}.thcs-matrix-mobile__score-row{display:grid;grid-template-columns:1.1rem 1fr;gap:.2rem;align-items:center;font-size:.72rem;font-variant-numeric:tabular-nums}.thcs-matrix-mobile__score-row+.thcs-matrix-mobile__score-row{padding-top:.22rem;border-top:1px solid #cbd5e1}.thcs-matrix-mobile__score-row--max .thcs-matrix-mobile__score-tag,.thcs-matrix-mobile__score-row--max .thcs-matrix-mobile__score-val{color:#92400e;font-weight:700}.thcs-matrix-mobile__score-row--max .thcs-matrix-mobile__score-val{text-align:right}.thcs-matrix-mobile__score-row--tu .thcs-matrix-mobile__score-val{color:#0f172a;font-weight:700;text-align:right}.thcs-matrix-mobile__score-row--phong .thcs-matrix-mobile__score-tag,.thcs-matrix-mobile__score-row--phong .thcs-matrix-mobile__score-val{color:#b91c1c;font-weight:700}.thcs-matrix-mobile__score-row--phong .thcs-matrix-mobile__score-val{text-align:right}.thcs-matrix-mobile__score-tag{font-size:.62rem;font-weight:700;color:#475569}.thcs-matrix-mobile__score-single{display:block;font-weight:700;font-variant-numeric:tabular-nums}.thcs-matrix-mobile__row--section td{background:#f1f5f9}.thcs-matrix-mobile__row--totals td{background:#e8f5e9;font-weight:700;border:1px solid #b8b8b8}.thcs-matrix-mobile__empty{padding:1.25rem .75rem!important;text-align:center;color:var(--text-secondary)}@media (max-width: 768px){.thcs-page.participant-data-card--grid{padding:.28rem .22rem .32rem}.thcs-matrix-mobile__scroll{max-height:calc(100dvh - 10.5rem)}}.thcs-th-drag--spacer{flex:0 0 1rem;width:1rem;opacity:0;pointer-events:none}.thcs-th-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.28rem;height:1.28rem;min-width:1.28rem;min-height:1.28rem;padding:0;border:none;border-radius:4px;background:transparent;color:#475569;cursor:pointer;flex-shrink:0}.thcs-th-icon-btn:hover{background:#ffffffd9;color:var(--accent)}.thcs-th-filter-btn--on{background:#dbeafe;color:var(--accent-hover)}.thcs-th--filtered{box-shadow:inset 0 -2px 0 var(--accent)}.thcs-col-filter{position:fixed;z-index:500;width:min(18rem,calc(100vw - 1.5rem));padding:.65rem .75rem .55rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-card)}.thcs-col-filter__title{font-size:.82rem;font-weight:600;color:var(--text);margin-bottom:.45rem}.thcs-col-filter__search{width:100%;margin-bottom:.5rem}.thcs-col-filter__foot{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.35rem}.thcs-col-width-panel{width:min(20rem,calc(100vw - 1.5rem))}.thcs-col-width-panel__hint{padding:0 0 .45rem;font-size:.78rem;color:var(--text-secondary);line-height:1.35}.thcs-col-width-panel__target{margin:0 0 .45rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:.55rem .85rem}.thcs-col-width-panel__target-legend{font-size:.72rem;font-weight:600;color:var(--text-secondary);padding:0 .25rem}.thcs-col-width-panel__target-opt{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;cursor:pointer}.thcs-col-width-panel__tools{padding-bottom:.45rem}.thcs-col-width-panel__rows{max-height:min(54vh,520px);overflow:auto;padding-bottom:.35rem}.thcs-col-width-panel__row{display:grid;grid-template-columns:1fr 5.8rem;gap:.5rem;align-items:center;padding:.28rem 0}.thcs-col-width-panel__row-label{min-width:0}.thcs-col-width-panel__row-name{font-weight:600;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thcs-col-width-panel__row-meta{font-size:.72rem;color:var(--muted)}.thcs-col-width-panel__input{width:100%}.dg-col-width-modal-backdrop{z-index:6000}.dg-col-width-modal.app-window{position:fixed;display:flex;flex-direction:column;margin:0;z-index:6001;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-strong);box-shadow:0 24px 64px #0f172a38;overflow:hidden}.table-grid-help-modal-backdrop{z-index:6020}.table-grid-help-modal-backdrop--stacked{z-index:6100}.table-grid-help-modal.app-window{position:fixed;display:flex;flex-direction:column;margin:0;z-index:6021;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-strong);box-shadow:0 24px 64px #0f172a38;overflow:hidden}.table-grid-help-modal--stacked{z-index:6101}.table-grid-help-modal__title-icon{margin-right:.35rem;opacity:.85}.table-grid-help-modal__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.5rem;padding:.65rem .85rem .75rem;overflow:hidden}.table-grid-help-modal__hint{flex:0 0 auto;margin:0;font-size:.74rem;color:var(--text-secondary);line-height:1.4}.table-grid-help-modal__content{flex:1 1 auto;min-height:0;overflow:auto;font-size:.78rem;color:var(--text-secondary);line-height:1.45}.table-grid-help-modal__foot{flex:0 0 auto;display:flex;justify-content:flex-end;gap:.5rem;padding:.55rem .85rem;border-top:1px solid var(--border)}.table-grid-help-modal .thcs-toolbar-help-panel__guide{flex:0 0 auto;margin:0}.dg-col-width-modal__count{font-weight:500;opacity:.88}.dg-col-width-modal__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}.dg-col-width-modal__controls{flex-shrink:0;padding:.55rem .85rem .4rem}.dg-col-width-modal__hint{margin:0 0 .35rem;font-size:.74rem;color:var(--text-secondary);line-height:1.45}.dg-col-width-modal__hint--sub{margin-bottom:.45rem;font-size:.72rem}.dg-col-width-modal__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.4rem}.dg-col-width-modal__search{display:flex;align-items:center;gap:.4rem;flex:1 1 8rem;min-width:min(100%,8rem);padding:.35rem .55rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.dg-col-width-modal__search input{flex:1;min-width:0;border:0;background:transparent;font-size:.8rem;outline:none}.dg-col-width-modal__rows{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:.35rem .85rem .55rem;border-top:1px solid var(--border);background:#fafbfc}.dg-col-width-modal__empty{margin:.5rem 0;font-size:.78rem;color:var(--muted);text-align:center}.dg-col-width-modal__foot{display:flex;justify-content:flex-end;gap:.45rem;flex-shrink:0;padding:.5rem .85rem .65rem;border-top:1px solid var(--border);background:#fafbfc}.dg-col-width-modal .thcs-col-width-panel__target{margin-bottom:0}@media (max-width: 420px){.dg-col-width-modal .thcs-col-width-panel__row{grid-template-columns:1fr;align-items:stretch}.dg-col-width-modal .thcs-col-width-panel__row-name{white-space:normal}}.thcs-school-scope{position:relative}.thcs-school-scope__panel{width:min(16rem,calc(100vw - 1.5rem));max-height:min(52vh,360px);display:flex;flex-direction:column;padding:.4rem;gap:.3rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-card)}.thcs-school-scope__panel:not(.thcs-floating-panel){position:absolute;left:0;top:calc(100% + 6px);z-index:60}.thcs-school-scope__toolbar{display:flex;align-items:center;gap:.35rem}.thcs-school-scope__search{flex:1 1 auto;display:flex;align-items:center;gap:.3rem;min-height:1.65rem;padding:0 .45rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-size:.78rem}.thcs-school-scope__search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.thcs-school-scope__search>i{color:var(--muted);font-size:.72rem}.thcs-school-scope__search input{flex:1 1 auto;min-width:0;border:0;background:transparent;padding:.2rem 0;font-size:inherit;outline:none}.thcs-school-scope__search-clear{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;line-height:1;font-size:1rem}.thcs-school-scope__count{flex-shrink:0;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.thcs-school-scope__quick{display:flex;align-items:center;gap:.2rem;flex-wrap:wrap}.thcs-school-scope__quick-btn{padding:.12rem .35rem!important;font-size:.72rem!important;min-height:0!important}.thcs-school-scope__chk-all{margin-left:auto;display:inline-flex;align-items:center}.thcs-school-scope__list{list-style:none;margin:0;padding:0;overflow:auto;flex:1 1 auto;min-height:4.5rem;max-height:min(40vh,260px);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafbfc}.thcs-school-scope__row{display:flex;align-items:center;gap:.4rem;padding:.28rem .45rem;font-size:.78rem;cursor:pointer;border-bottom:1px solid var(--border);line-height:1.25}.thcs-school-scope__row:hover{background:#f1f5f9}.thcs-school-scope__row--on{background:#eef6ff}.thcs-school-scope__row input{flex-shrink:0;margin:0}.thcs-school-scope__row span{flex:1 1 auto;min-width:0}.thcs-school-scope__empty{padding:.45rem .55rem;color:var(--muted);font-size:.76rem}.thcs-school-scope__foot{display:flex;justify-content:flex-end;gap:.35rem;padding-top:.15rem}.thcs-school-scope__foot .btn{padding:.2rem .55rem;font-size:.78rem}.thcs-school-scope__table-wrap{overflow:auto;flex:1 1 auto;min-height:8rem;max-height:min(50vh,360px);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafbfc}.thcs-school-scope__table{width:100%;border-collapse:collapse;font-size:.84rem}.thcs-school-scope__table thead th{position:sticky;top:0;z-index:1;background:#eef2f7;border-bottom:1px solid var(--border-strong);padding:.4rem .55rem;text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.thcs-school-scope__th-chk,.thcs-school-scope__td-chk{width:2.25rem;text-align:center;vertical-align:middle}.thcs-school-scope__td-name{padding:.35rem .55rem;border-bottom:1px solid var(--border)}.thcs-school-scope__row--on .thcs-school-scope__td-name{font-weight:600}.thcs-school-scope__table tbody tr:hover .thcs-school-scope__td-name{background:#f1f5f9}.thcs-entry-school-select{position:relative}.thcs-entry-school-select__trigger{display:inline-flex;align-items:center;gap:.35rem;min-width:8.5rem;max-width:14rem;justify-content:space-between}.thcs-entry-school-select__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.thcs-entry-school-select__panel{width:min(15rem,calc(100vw - 1.5rem));max-height:min(48vh,300px);display:flex;flex-direction:column;padding:.35rem;gap:.3rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-card)}.thcs-entry-school-select__search{display:flex;align-items:center;gap:.3rem;min-height:1.65rem;padding:0 .45rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-size:.78rem}.thcs-entry-school-select__search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.thcs-entry-school-select__search>i{color:var(--muted);font-size:.72rem}.thcs-entry-school-select__search input{flex:1 1 auto;min-width:0;border:0;background:transparent;padding:.2rem 0;font-size:inherit;outline:none}.thcs-entry-school-select__search-clear{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:0;line-height:1;font-size:1rem}.thcs-entry-school-select__list{list-style:none;margin:0;padding:0;overflow:auto;flex:1 1 auto;min-height:4rem;max-height:min(40vh,240px);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafbfc}.thcs-entry-school-select__pick{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);background:transparent;padding:.32rem .5rem;font-size:.78rem;line-height:1.25;cursor:pointer;color:inherit}.thcs-entry-school-select__pick--active{background:#eef6ff;font-weight:600}.thcs-entry-school-select__empty{padding:.45rem .5rem;color:var(--muted);font-size:.76rem}.thcs-entry-school-select__table-wrap{overflow:auto;flex:1 1 auto;min-height:6rem;max-height:min(48vh,320px);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fafbfc}.thcs-entry-school-select__table{width:100%;border-collapse:collapse;font-size:.84rem}.thcs-entry-school-select__table thead th{position:sticky;top:0;z-index:1;background:#eef2f7;border-bottom:1px solid var(--border-strong);padding:.38rem .55rem;text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}.thcs-entry-school-select__th-stt,.thcs-entry-school-select__td-stt{width:3rem;text-align:center;vertical-align:middle;color:var(--muted)}.thcs-entry-school-select__td-name{padding:0;border-bottom:1px solid var(--border)}.thcs-entry-school-select__pick{display:block;width:100%;padding:.42rem .65rem;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.thcs-entry-school-select__pick:hover{background:#f1f5f9}.thcs-entry-school-select__row--active .thcs-entry-school-select__pick{background:var(--primary);color:#fff;font-weight:600}.thcs-entry-school-select__empty{padding:.65rem;color:var(--muted);font-size:.82rem}.data-grid.thcs-criteria-grid--entry .thcs-col-school-h .thcs-th-title,.data-grid.thcs-criteria-grid--entry .thcs-col-school{font-size:.78rem;white-space:nowrap}.data-grid.thcs-criteria-grid--entry .thcs-col-school{color:var(--text-secondary);font-weight:600;vertical-align:top}.thcs-th-label{display:inline-flex;align-items:center;gap:.2rem;cursor:pointer;user-select:none}.thcs-th-grip{opacity:.35;font-size:.65rem}.data-grid__th:hover .thcs-th-grip{opacity:.75}.thcs-th-sort{font-size:.62rem;opacity:.85;margin:0;line-height:1}.thcs-th-sort--idle{opacity:.35}.data-grid.thcs-criteria-grid--entry tbody .thcs-row-sel,.data-grid.thcs-criteria-grid--entry tbody .thcs-td-stt,.data-grid.thcs-criteria-grid--entry tfoot .thcs-row-sel,.data-grid.thcs-criteria-grid--entry tfoot .thcs-td-stt{position:static;left:auto;box-shadow:none}.data-grid.thcs-criteria-grid--entry thead .thcs-row-sel-h,.data-grid.thcs-criteria-grid--entry thead .thcs-col-stt{left:auto;box-shadow:none}.data-grid.thcs-criteria-grid .data-grid__col-sel{background:#e0f2fe8c!important}.data-grid.thcs-criteria-grid .td-readonly{padding:.16rem .38rem;white-space:normal;vertical-align:top}.data-grid.thcs-criteria-grid .thcs-td-content,.data-grid.thcs-criteria-grid .thcs-td-group{white-space:pre-wrap;line-height:1.35;font-size:.8rem;vertical-align:top;color:#0f172a}.data-grid.thcs-criteria-grid .thcs-td-group{font-weight:600}.data-grid.thcs-criteria-grid .thcs-td-content .thcs-content-input,.data-grid.thcs-criteria-grid .thcs-td-group .thcs-content-input{overflow:visible;white-space:pre-wrap;text-overflow:clip;resize:none;min-height:2.2rem}.data-grid.thcs-criteria-grid td.thcs-td-stt[rowspan]{vertical-align:middle;text-align:center}.data-grid.thcs-criteria-grid td.thcs-td-group[rowspan]{vertical-align:middle}.data-grid.thcs-criteria-grid .thcs-td-stt .cell-input--narrow{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;text-align:center;overflow:hidden;text-overflow:ellipsis}.data-grid.thcs-criteria-grid .thcs-td-stt.td-readonly{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-grid.thcs-criteria-grid tr.data-grid__row--section td{background:#f3f2f1}.data-grid.thcs-criteria-grid--matrix tbody tr:not(.data-grid__row--totals){cursor:pointer}.data-grid.thcs-criteria-grid--matrix tbody tr.thcs-matrix-row-focus td{background:#dbeafe!important;box-shadow:inset 0 0 0 1px #60a5fa}.data-grid.thcs-criteria-grid--matrix tbody tr.thcs-matrix-row-focus.data-grid__row--section td{background:#bfdbfe!important}.data-grid.thcs-criteria-grid tr.data-grid__row--totals td{background:#e8f5e9;font-weight:700;overflow:visible;border:1px solid #b8b8b8}.data-grid.thcs-criteria-grid .data-grid__col-resize{background:#0078d40f}.data-grid.thcs-criteria-grid .data-grid__col-resize:hover,.data-grid.thcs-criteria-grid .data-grid__col-resize:active{background:#0078d438}.data-grid.thcs-criteria-grid--matrix thead .thcs-th-center .data-grid__th-label,.data-grid.thcs-criteria-grid--matrix thead .thcs-th-sub{overflow:visible;text-overflow:clip}.thcs-report-preview{padding:.75rem;background:#fff;font-family:Times New Roman,Times,serif;font-size:11pt}.thcs-report-preview table{border-collapse:collapse;width:100%;margin:8px 0}.thcs-report-preview th,.thcs-report-preview td{border:1px solid #000;padding:3px 5px;vertical-align:top}.thcs-report-preview .thcs-official-table{border:none;border-collapse:collapse}.thcs-report-preview .thcs-official-table th,.thcs-report-preview .thcs-official-table td{border:1px solid #000}.thcs-report-preview th{white-space:normal;line-height:1.2;text-align:center;font-weight:700;vertical-align:middle;background:#fff}.thcs-report-preview .thcs-official-table .th-content{font-size:10pt}.thcs-report-preview .thcs-official-table .th-max{font-size:12pt;white-space:nowrap}.thcs-report-preview .thcs-official-table .th-stt{width:5%;font-size:12pt}.thcs-report-preview .thcs-official-table .th-tu,.thcs-report-preview .thcs-official-table .th-phong{width:10%;line-height:1.15;font-size:12pt}.thcs-report-preview .thcs-official-table .thcs-official-group{width:8%}.thcs-report-preview .thcs-official-table .thcs-official-content{width:38%}.thcs-report-preview tr.totals td{background:#e8f5e9;font-weight:700}.thcs-report-preview .thcs-doc-header{text-align:center;margin-bottom:12px}.thcs-report-preview .thcs-official-table .th-stt,.thcs-report-preview .thcs-official-table .thcs-official-group,.thcs-report-preview .thcs-official-table .th-max-sub,.thcs-report-preview .thcs-official-table .th-max-stt{vertical-align:middle;text-align:center}.thcs-report-preview .thcs-official-content{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.thcs-report-preview .thcs-doc-letterhead,.thcs-report-preview .thcs-doc-letterhead td{border:none!important}.thcs-report-preview .thcs-doc-letterhead__motto-line{font-size:12pt;font-weight:700;white-space:nowrap;line-height:1.2}.thcs-report-preview .thcs-doc-letterhead__line2-wrap{margin-top:2px}.thcs-report-preview .thcs-doc-letterhead__rule-table{border-collapse:collapse;border:none;margin:2px auto 0}.thcs-report-preview .thcs-doc-letterhead__rule-line{border:none;border-top:1px solid #000;height:0;padding:0}.thcs-report-preview .thcs-export-school-spacer{height:48px;border-top:2px dashed #cbd5e1;margin:24px 0}.thcs-report-preview .thcs-export-school-section{padding-top:24px}.thcs-word-host{position:fixed;left:-9999px;top:0;width:900px;visibility:hidden;pointer-events:none}.thcs-page--report{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden;margin-bottom:0}.thcs-page--report.participant-data-card{padding:0;background:#f1f5f9;border:none;box-shadow:none}.thcs-report-dash{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:0;overflow:hidden}.thcs-report-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:0 0 1.25rem;--thcs-report-border: #475569;--thcs-report-border-mid: #64748b;--thcs-report-border-cell: #94a3b8;--text-secondary: #334155;--muted: #475569;color:#0f172a}.thcs-report-scroll .thcs-report-command-bar__lbl,.thcs-report-scroll .thcs-report-command-bar__field-lbl,.thcs-report-scroll .thcs-report-command-bar__stat,.thcs-report-scroll .thcs-report-command-bar__chip,.thcs-report-scroll .thcs-report-kpi__value-sub,.thcs-report-scroll .thcs-report-kpi__label,.thcs-report-scroll .thcs-report-kpi__hint,.thcs-report-scroll .thcs-report-chart-card__sub,.thcs-report-scroll .thcs-report-table-section__sub,.thcs-report-scroll .thcs-report-progress__sub,.thcs-report-scroll .thcs-report-progress__sort,.thcs-report-scroll .thcs-report-deadline__sub,.thcs-report-scroll .thcs-report-deadline__milestones,.thcs-report-scroll .thcs-report-podium__rank,.thcs-report-scroll .thcs-report-podium__score span,.thcs-report-scroll .thcs-report-detail-card__max,.thcs-report-scroll .thcs-report-meter__lbl,.thcs-report-scroll .thcs-report-meter__val,.thcs-report-scroll .thcs-report-table__sub,.thcs-report-scroll .thcs-report-table__time,.thcs-report-scroll .thcs-report-table__note,.thcs-report-scroll .thcs-report-extras__sub,.thcs-report-scroll .thcs-report-extras__list--compact,.thcs-report-scroll .thcs-report-extras__muted,.thcs-report-scroll .thcs-report-empty,.thcs-report-scroll .thcs-report-empty__hint,.thcs-report-scroll .thcs-report-progress__empty-chart{color:#334155}.thcs-report-scroll .thcs-report-seg__btn{color:#1e293b}.thcs-report-scroll .thcs-report-command-bar__stat strong,.thcs-report-scroll .thcs-report-table tbody td,.thcs-report-scroll .thcs-report-table tbody th{color:#0f172a}.thcs-report-scroll .thcs-report-table__row--muted td,.thcs-report-scroll .thcs-report-table__row--muted th{opacity:1;color:#475569}.thcs-report-scroll .thcs-progress-status--not_started{color:#475569;border:1px solid #94a3b8}.thcs-report-scroll .recharts-cartesian-axis-tick text,.thcs-report-scroll .recharts-polar-angle-axis-tick text{fill:#1e293b;font-weight:600}.thcs-report-scroll .recharts-legend-item-text{color:#1e293b!important;font-weight:600!important}.thcs-report-scroll .recharts-tooltip-wrapper{color:#0f172a}.thcs-report-command-bar{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem .45rem;padding:.45rem .75rem;background:linear-gradient(180deg,#f8fafc,#fff);border-bottom:2px solid var(--thcs-report-border-mid, #64748b);box-shadow:0 2px 6px #0f172a0f;flex:0 0 auto;z-index:1;box-shadow:0 1px #0f172a0a;overflow-x:auto;overflow-y:visible;scrollbar-width:thin}.thcs-report-command-bar>*{flex-shrink:0}.thcs-report-command-bar__title{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;color:#0c4a6e;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}.thcs-report-command-bar__title i{color:#0284c7;font-size:.85rem}.thcs-report-command-bar__title strong{font-weight:800}.thcs-report-command-bar__sep{width:1px;height:1.35rem;background:#cbd5e1;flex-shrink:0}.thcs-report-command-bar__ctl{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.thcs-report-command-bar__lbl{font-size:.68rem;font-weight:700;color:#334155;white-space:nowrap}.thcs-report-command-bar__select{min-width:0;max-width:7.5rem;padding:.15rem .35rem!important;font-size:.75rem!important;height:1.65rem}.thcs-report-command-bar__select--school{max-width:10.5rem}.thcs-report-command-bar__ctl--mode .thcs-report-command-bar__select{max-width:6.5rem}.thcs-report-seg{display:inline-flex;border:2px solid #64748b;border-radius:6px;overflow:hidden;flex-shrink:0;background:#f1f5f9}.thcs-report-seg__btn{border:none;background:transparent;padding:.2rem .45rem;font-size:.68rem;font-weight:700;color:#1e293b;cursor:pointer;line-height:1.3;transition:background .15s,color .15s}.thcs-report-seg__btn:hover{background:#e2e8f0}.thcs-report-seg__btn--active{background:#0369a1;color:#fff}.thcs-report-seg__btn+.thcs-report-seg__btn{border-left:1px solid #cbd5e1}.thcs-report-seg__btn--active+.thcs-report-seg__btn,.thcs-report-seg__btn+.thcs-report-seg__btn--active{border-left-color:#0369a1}.thcs-report-view-level{display:inline-flex;flex-wrap:nowrap;border:2px solid #3b82f6;border-radius:6px;overflow:hidden;flex-shrink:0;background:#eff6ff}.thcs-report-view-level__btn{border:none;background:transparent;padding:.22rem .42rem;font-size:.65rem;font-weight:700;color:#1e40af;cursor:pointer;white-space:nowrap;line-height:1.25;transition:background .14s,color .14s}.thcs-report-view-level__btn:hover{background:#dbeafe}.thcs-report-view-level__btn--active{background:#0369a1;color:#fff}.thcs-report-view-level__btn+.thcs-report-view-level__btn{border-left:1px solid #93c5fd}.thcs-report-command-bar__field{display:inline-flex;align-items:center;gap:.28rem;flex-shrink:0}.thcs-report-command-bar__field-lbl{font-size:.65rem;font-weight:700;color:#334155;white-space:nowrap}.thcs-report-command-bar__scope-hint{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;color:#0369a1;white-space:nowrap}.thcs-report-table-section--highlight{border:1px solid #93c5fd;box-shadow:0 2px 8px #2563eb14}.thcs-report-all-grades__head{padding:.55rem .75rem;border-bottom:1px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff,#f0fdfa 55%,#fdf2f8)}.thcs-report-all-grades__head.thcs-chamdiem-panel__head--inline .thcs-report-table-section__title{font-size:.88rem;text-transform:uppercase;letter-spacing:.03em;color:#1e40af;line-height:1.35}.thcs-report-table-section--all-grades .table-scroll.thcs-report-table-wrap--all-grades{max-height:9.35rem;overflow-y:auto;scrollbar-width:thin}.thcs-report-table-section--all-grades .thcs-report-table td.thcs-report-table__name{font-weight:800;text-transform:uppercase;letter-spacing:.03em}.thcs-report-phong-rank{margin-bottom:.65rem}.thcs-report-phong-rank__head{padding:.55rem .75rem;border-bottom:1px solid #bfdbfe;background:linear-gradient(135deg,#eff6ff,#f0fdfa 55%,#fdf2f8)}.thcs-report-phong-rank__head.thcs-chamdiem-panel__head--inline .thcs-report-table-section__title{color:#1e40af;font-size:.88rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.35}.thcs-report-phong-rank__empty{margin:0;padding:.65rem .75rem;font-size:.82rem;color:#64748b}.thcs-report-phong-rank__block--solo{border:none;border-radius:0;box-shadow:none}.thcs-report-phong-rank.thcs-report-table-section{border:1px solid #93c5fd;box-shadow:0 2px 8px #2563eb14}.thcs-report-phong-rank__groups{display:flex;flex-direction:column;gap:.55rem;padding:0 .65rem .65rem}.thcs-report-phong-rank__block{border:1px solid #cbd5e1;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 1px 3px #0f172a0d}.thcs-report-phong-rank__block--mam-non{border-color:#fbcfe8}.thcs-report-phong-rank__block--tieu-hoc{border-color:#bae6fd}.thcs-report-phong-rank__block--thcs{border-color:#a7f3d0}.thcs-report-phong-rank__grade{margin:0;padding:.45rem .65rem;font-size:.82rem;font-weight:800;color:#1e293b;background:linear-gradient(180deg,#f1f5f9,#f8fafc);border-bottom:1px solid #e2e8f0;text-transform:uppercase;letter-spacing:.04em}.thcs-report-phong-rank__grade--mam-non{background:linear-gradient(180deg,#fdf2f8,#fff);color:#9d174d;border-bottom-color:#fbcfe8}.thcs-report-phong-rank__grade--tieu-hoc{background:linear-gradient(180deg,#eff6ff,#fff);color:#0369a1;border-bottom-color:#bae6fd}.thcs-report-phong-rank__grade--thcs{background:linear-gradient(180deg,#ecfdf5,#fff);color:#047857;border-bottom-color:#a7f3d0}.thcs-report-phong-rank__col-rank{width:2.75rem;text-align:center}.thcs-report-phong-rank__col-badge{width:7.25rem;text-align:center;white-space:nowrap;padding-top:.35rem!important;padding-bottom:.35rem!important}.thcs-report-phong-rank .thcs-report-table thead th:nth-child(2){background:linear-gradient(180deg,#dbeafe,#e2e8f0);color:#1e3a8a;font-weight:800;letter-spacing:.04em}.thcs-report-phong-rank .thcs-report-table tbody tr:hover{background:#e0f2fe}.thcs-report-phong-rank .thcs-report-table th:first-child,.thcs-report-phong-rank .thcs-report-table td:first-child,.thcs-report-phong-rank .thcs-report-table th:nth-child(2),.thcs-report-phong-rank .thcs-report-table td:nth-child(2){text-align:center}.thcs-report-phong-rank .thcs-report-table th:nth-child(3),.thcs-report-phong-rank .thcs-report-table td:nth-child(3){text-align:left}.thcs-report-phong-rank .thcs-report-table tbody tr{cursor:default}.thcs-report-phong-rank__row--podium td{font-weight:600}.thcs-report-phong-rank__row--r1{background:linear-gradient(90deg,#fffbeb,#fff 35% 100%)!important;box-shadow:inset 4px 0 #eab308}.thcs-report-phong-rank__row--r1:hover{background:linear-gradient(90deg,#fef3c7,#fffbeb 40%,#fff)!important}.thcs-report-phong-rank__row--r2{background:linear-gradient(90deg,#f8fafc,#fff 35% 100%)!important;box-shadow:inset 4px 0 #94a3b8}.thcs-report-phong-rank__row--r2:hover{background:linear-gradient(90deg,#f1f5f9,#f8fafc 40%,#fff)!important}.thcs-report-phong-rank__row--r3{background:linear-gradient(90deg,#fff7ed,#fff 35% 100%)!important;box-shadow:inset 4px 0 #ea580c}.thcs-report-phong-rank__row--r3:hover{background:linear-gradient(90deg,#ffedd5,#fff7ed 40%,#fff)!important}.thcs-rank-badge{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;gap:.4rem;min-width:5.5rem;padding:.28rem .55rem .28rem .35rem;border-radius:12px;font-size:.7rem;font-weight:800;line-height:1.1;vertical-align:middle;isolation:isolate;border:2px solid rgba(255,255,255,.65);transition:transform .15s ease,box-shadow .15s ease}.thcs-rank-badge:hover{transform:translateY(-1px) scale(1.03)}.thcs-rank-badge__shine{position:absolute;inset:0;border-radius:inherit;opacity:.55;pointer-events:none;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.55) 42%,transparent 58%)}.thcs-rank-badge__icon-wrap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.65rem;height:1.65rem;border-radius:50%;background:#ffffff59;box-shadow:inset 0 1px 2px #fffc,0 2px 4px #0f172a1f}.thcs-rank-badge__icon-wrap i{font-size:.95rem;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.thcs-rank-badge__text{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;min-width:0}.thcs-rank-badge__label{letter-spacing:.03em;text-transform:uppercase;font-size:.72rem;line-height:1}.thcs-rank-badge__sub{font-size:.52rem;font-weight:900;letter-spacing:.12em;opacity:.85;line-height:1}.thcs-rank-badge--1{color:#78350f;background:linear-gradient(145deg,#fff7c2,#fde047 38%,#f59e0b 72%,#d97706);box-shadow:0 0 0 1px #d9770659,0 4px 14px #eab3088c,0 0 20px #facc1559;text-shadow:0 1px 0 rgba(255,255,255,.45)}.thcs-rank-badge--1 .thcs-rank-badge__icon-wrap{background:linear-gradient(180deg,#fffbeb,#fcd34d)}.thcs-rank-badge--1 .thcs-rank-badge__icon-wrap i{color:#b45309;font-size:1.05rem}@media (prefers-reduced-motion: no-preference){.thcs-rank-badge--1{animation:thcs-rank-badge-glow-gold 2.8s ease-in-out infinite}}@keyframes thcs-rank-badge-glow-gold{0%,to{box-shadow:0 0 0 1px #d9770659,0 4px 14px #eab30880,0 0 16px #facc154d}50%{box-shadow:0 0 0 1px #d9770673,0 6px 18px #eab308a6,0 0 28px #facc1580}}.thcs-rank-badge--2{color:#1e293b;background:linear-gradient(145deg,#fff,#e2e8f0 40%,#94a3b8 85%,#64748b);box-shadow:0 0 0 1px #64748b66,0 4px 12px #47556959,inset 0 1px #ffffffe6;text-shadow:0 1px 0 rgba(255,255,255,.6)}.thcs-rank-badge--2 .thcs-rank-badge__icon-wrap{background:linear-gradient(180deg,#fff,#cbd5e1)}.thcs-rank-badge--2 .thcs-rank-badge__icon-wrap i{color:#475569;font-size:1rem}.thcs-rank-badge--3{color:#7c2d12;background:linear-gradient(145deg,#ffedd5,#fdba74 42%,#f97316 78%,#c2410c);box-shadow:0 0 0 1px #c2410c59,0 4px 12px #ea580c73,0 0 14px #fb923c40;text-shadow:0 1px 0 rgba(255,255,255,.35)}.thcs-rank-badge--3 .thcs-rank-badge__icon-wrap{background:linear-gradient(180deg,#fff7ed,#fdba74)}.thcs-rank-badge--3 .thcs-rank-badge__icon-wrap i{color:#c2410c;font-size:1rem}.thcs-rank-badge--top{color:#1e40af;background:linear-gradient(135deg,#eff6ff,#93c5fd 55%,#3b82f6);border-color:#ffffffbf;box-shadow:0 0 0 1px #3b82f640,0 3px 10px #2563eb47}.thcs-rank-badge--top .thcs-rank-badge__icon-wrap{background:#ffffff80}.thcs-rank-badge--top .thcs-rank-badge__icon-wrap i{color:#1d4ed8}.thcs-rank-badge--top .thcs-rank-badge__label{font-size:.8rem}.thcs-rank-badge--rest{color:#334155;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a14}.thcs-rank-badge--rest .thcs-rank-badge__icon-wrap{width:1.45rem;height:1.45rem;background:#fff}.thcs-rank-badge--rest .thcs-rank-badge__icon-wrap i{color:#475569;font-size:.78rem}.thcs-rank-badge--rest .thcs-rank-badge__label{text-transform:none;font-size:.78rem;font-weight:900}.thcs-report-phong-rank__score{font-variant-numeric:tabular-nums;font-weight:600}.thcs-report-phong-rank__score--tu{color:#0369a1}.thcs-report-phong-rank__score--phong{color:#7c3aed}.thcs-page .data-grid.thcs-criteria-grid--entry .thcs-entry-score--over-max{background:#fef2f2!important;box-shadow:inset 0 0 0 2px #f87171}.thcs-page .data-grid.thcs-criteria-grid--entry .thcs-entry-score--over-max .cell-input{color:#b91c1c;font-weight:700}.thcs-page .data-grid.thcs-criteria-grid--entry .thcs-entry-score--suspicious-max{background:#fffbeb!important;box-shadow:inset 0 0 0 2px #fbbf24}.thcs-page .data-grid.thcs-criteria-grid--entry .thcs-entry-score--suspicious-max .cell-input{color:#b45309;font-weight:700}.thcs-report-phong-rank__score--bonus-tu{color:#0369a1}.thcs-report-phong-rank__score--bonus-phong{color:#b45309}.thcs-report-phong-rank__score--max{color:#0f172a;font-weight:500}.thcs-report-table--detail .thcs-report-table__content{max-width:16rem;white-space:pre-wrap;font-size:.72rem;line-height:1.35;vertical-align:top}.thcs-report-table--detail .thcs-report-table__school-col{font-size:.68rem;max-width:5.5rem}.thcs-report-table--detail .thcs-report-table__score-cell{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.thcs-report-command-bar__pill{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .45rem;border-radius:999px;border:2px solid #94a3b8;background:#fff;font-size:.68rem;font-weight:700;color:#475569;cursor:pointer;flex-shrink:0;white-space:nowrap}.thcs-report-command-bar__pill:has(input:checked){border-color:#7dd3fc;background:#f0f9ff;color:#0369a1}.thcs-report-command-bar__pill input{margin:0;accent-color:#0284c7}.thcs-report-command-bar__meta{display:inline-flex;flex-wrap:nowrap;gap:.2rem;flex-shrink:0}.thcs-report-command-bar__chip{padding:.12rem .4rem;border-radius:4px;background:#f1f5f9;border:2px solid #94a3b8;font-size:.65rem;font-weight:700;color:#334155;white-space:nowrap}.thcs-report-command-bar__spacer{flex:1 1 .5rem;min-width:.25rem}.thcs-report-command-bar__icon-btn{flex-shrink:0}.thcs-report-command-bar__stat{font-size:.72rem;color:#334155;white-space:nowrap;flex-shrink:0}.thcs-report-command-bar__stat strong{color:#0f172a;font-size:.82rem}.thcs-report-command-bar__stat-sub{margin-left:.1rem}.thcs-report-command-bar__stat-dot{color:#059669;font-size:.68rem}.thcs-report-command-bar__export{flex-shrink:0;white-space:nowrap}.thcs-report-command-bar .menu-dropdown{flex-shrink:0}@media (max-width: 720px){.thcs-report-command-bar__lbl{display:none}.thcs-report-command-bar__select--school{max-width:8rem}}.thcs-report-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem;padding:.75rem 1rem 0}.thcs-report-kpi{background:#fff;border-radius:var(--radius);border:2px solid #64748b;border-top:4px solid #0369a1;padding:.55rem .65rem;box-shadow:0 2px 6px #0f172a14}.thcs-report-kpi__label{margin:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#334155}.thcs-report-kpi__value{margin:.15rem 0 0;font-size:1.15rem;font-weight:800;color:#0f172a;line-height:1.2}.thcs-report-kpi__hint{margin:.2rem 0 0;font-size:.68rem;color:#334155}.thcs-report-grid{display:grid;gap:.65rem;padding:.65rem 1rem 0}.thcs-report-grid--2{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.thcs-report-chart-card{background:#fff;border:2px solid #475569;border-radius:var(--radius);box-shadow:0 2px 8px #0f172a1a;overflow:hidden}.thcs-report-chart-card--wide{margin:0 1rem}.thcs-report-chart-card__head{padding:.55rem .75rem .35rem;border-bottom:2px solid #64748b;background:linear-gradient(180deg,#f1f5f9,#fff)}.thcs-report-chart-card__title{margin:0;font-size:.88rem;font-weight:800;color:#0f172a;text-transform:uppercase;letter-spacing:.04em}.thcs-report-chart-card__sub{margin:.15rem 0 0;font-size:.72rem;color:#334155}.thcs-report-chart-card__body{padding:.35rem .5rem .65rem}.thcs-report-empty{margin:1.5rem 1rem;padding:2rem 1rem;text-align:center;background:#f8fafc;border-radius:var(--radius);border:2px dashed #64748b;color:#334155;box-shadow:inset 0 0 0 1px #cbd5e1}.thcs-report-empty i{font-size:2rem;color:#475569;margin-bottom:.5rem}.thcs-report-empty__hint{font-size:.8rem;margin-top:.35rem}.thcs-report-table-section--risk{border-color:#dc2626;border-width:2px}.thcs-report-empty--banner{margin:.65rem 1rem 0;padding:.65rem .85rem;text-align:left;border:2px solid #3b82f6;background:#eff6ff;color:#1e3a5f;box-shadow:0 2px 6px #2563eb1a;display:flex;align-items:flex-start;gap:.55rem}.thcs-report-empty--banner i{font-size:1rem;color:#2563eb;margin:.15rem 0 0;flex-shrink:0}.thcs-report-empty--banner p{margin:0;font-size:.8125rem;line-height:1.45}.thcs-report-table-section{margin:.75rem 1rem 0;background:#fff;border:2px solid #475569;border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 4px #0f172a0f}.thcs-report-table-section__head{padding:.55rem .75rem;border-bottom:2px solid #475569;background:linear-gradient(180deg,#f8fafc,#fff)}.thcs-report-table-section__title{margin:0;font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;line-height:1.35;overflow-wrap:break-word;word-break:break-word}.thcs-report-table-section__sub{margin:.15rem 0 0;font-size:.72rem;color:#334155}.thcs-report-table-wrap{max-height:22rem}.thcs-report-table,.thcs-report-heatmap{width:100%;border-collapse:collapse;font-size:.78rem;border:2px solid #475569;background:#fff}.thcs-report-heatmap{font-size:.72rem}.thcs-report-table th,.thcs-report-table td,.thcs-report-heatmap th,.thcs-report-heatmap td{padding:.4rem .55rem;border:1px solid #94a3b8;border-bottom-color:#64748b;text-align:right;color:#0f172a}.thcs-report-heatmap th,.thcs-report-heatmap td{padding:.3rem .35rem;text-align:center}.thcs-report-table th:first-child,.thcs-report-table td:first-child,.thcs-report-table th:nth-child(2),.thcs-report-table td:nth-child(2){text-align:left}.thcs-report-table thead th,.thcs-report-heatmap thead th{background:#e2e8f0;font-weight:800;color:#0f172a;border-bottom:2px solid #475569;position:sticky;top:0;z-index:2}.thcs-report-table tbody tr:nth-child(2n),.thcs-report-heatmap tbody tr:nth-child(2n){background:#f8fafc}.thcs-report-heatmap tbody tr:nth-child(2n) .thcs-report-heatmap__school{background:#f8fafc}.thcs-report-table tbody tr{cursor:pointer}.thcs-report-table tbody tr:hover{background:#f0f9ff}.thcs-report-table__row--active{background:#e0f2fe!important}.thcs-report-table__rank{font-weight:800;color:#0369a1}.thcs-report-table__name{font-weight:600;max-width:14rem}.thcs-report-gap-pos{color:#0284c7;font-weight:600}.thcs-report-gap-neg{color:#7c3aed;font-weight:600}.thcs-report-detail{margin:.75rem 1rem;padding:.65rem .75rem;background:#fff;border:2px solid #475569;border-radius:var(--radius);box-shadow:0 2px 8px #0f172a14}.thcs-report-detail__title{margin:0 0 .55rem;padding-bottom:.4rem;font-size:.9rem;font-weight:800;border-bottom:2px solid #64748b;text-transform:uppercase;letter-spacing:.04em}.thcs-report-detail__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.5rem}.thcs-report-detail-card{padding:.5rem .55rem;border:2px solid #94a3b8;border-radius:var(--radius-sm);background:#fff;box-shadow:0 1px 4px #0f172a0f}.thcs-report-detail-card__label{margin:0;font-size:.75rem;font-weight:700;line-height:1.3}.thcs-report-detail-card__max{margin:.15rem 0 .35rem;font-size:.68rem;color:#334155}.thcs-report-meter{display:grid;grid-template-columns:3.2rem 1fr auto;align-items:center;gap:.35rem;margin-top:.25rem;font-size:.68rem}.thcs-report-meter__lbl{font-weight:700;color:#334155}.thcs-report-meter__track{height:.45rem;background:#e2e8f0;border:1px solid #94a3b8;border-radius:999px;overflow:hidden}.thcs-report-meter__fill{height:100%;border-radius:999px;transition:width .35s ease}.thcs-report-meter__fill--tu{background:linear-gradient(90deg,#0284c7,#38bdf8)}.thcs-report-meter__fill--phong{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.thcs-report-meter__val{font-weight:600;white-space:nowrap}.thcs-report-print-section{margin:.75rem 1rem 0}.thcs-report-print-toggle{display:flex;align-items:center;gap:.45rem;width:100%;padding:.55rem .85rem;border:2px solid #64748b;border-radius:999px;background:#fff;box-shadow:0 1px 4px #0f172a0f;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;color:#0369a1;text-transform:uppercase;letter-spacing:.04em;text-align:left}.thcs-report-print-toggle__label{flex:1 1 auto;min-width:0;line-height:1.3}.thcs-report-print-toggle:hover{background:#f0f9ff}.thcs-report-print-section .thcs-report-preview{margin-top:.5rem;border:2px solid #475569;border-radius:var(--radius);max-height:28rem;box-shadow:0 2px 8px #0f172a14}.thcs-report-insights{margin:.65rem 1rem 0;padding:.55rem .65rem;background:#fff;border:2px solid #64748b;border-radius:var(--radius);border-left:5px solid #0284c7;box-shadow:0 2px 6px #0f172a0f}.thcs-report-insights__item{margin:.3rem 0 0;font-size:.78rem;line-height:1.4;color:#1e293b;display:flex;align-items:flex-start;gap:.4rem}.thcs-report-insights__item:first-child{margin-top:0}.thcs-report-insights__item--success{color:#047857}.thcs-report-insights__item--warn{color:#b45309}.thcs-report-insights__item--info{color:#334155}.thcs-report-insights__item i{margin-top:.1rem;flex-shrink:0}.thcs-report-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.65rem 1rem 0}.thcs-report-podium__card{background:#fff;border:2px solid #64748b;border-radius:var(--radius);padding:.55rem .6rem;text-align:center;cursor:pointer;transition:box-shadow .15s,transform .15s;box-shadow:0 2px 6px #0f172a14}.thcs-report-podium__card:hover{box-shadow:0 4px 12px #0f172a14;transform:translateY(-1px)}.thcs-report-podium__card--1{border-top:3px solid #eab308;order:2}.thcs-report-podium__card--2{border-top:3px solid #94a3b8;order:1}.thcs-report-podium__card--3{border-top:3px solid #d97706;order:3}.thcs-report-podium__medal{font-size:1.35rem;line-height:1}.thcs-report-podium__rank{margin:.2rem 0 0;font-size:.68rem;font-weight:700;color:#334155}.thcs-report-podium__name{margin:.15rem 0;font-size:.78rem;font-weight:800;line-height:1.25}.thcs-report-podium__score{margin:0;font-size:.85rem;font-weight:800;color:#0369a1}.thcs-report-podium__score span{font-size:.72rem;font-weight:600;color:#334155}.thcs-report-heatmap-section{margin:.75rem 1rem 0;background:#fff;border:2px solid #64748b;border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 4px #0f172a0f}.thcs-report-heatmap-section .thcs-report-table-section__head{border-bottom:2px solid #64748b}.thcs-report-heatmap-wrap{max-height:20rem}.thcs-report-heatmap__school{text-align:left!important;font-weight:600;min-width:8rem;max-width:11rem;position:sticky;left:0;background:#fff;z-index:1;border-right:2px solid #64748b!important;cursor:pointer}.thcs-report-heatmap tbody td{cursor:pointer;font-weight:600}.thcs-report-detail__title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem}.thcs-report-detail__back-all{font-size:.72rem!important}@media (max-width: 720px){.thcs-report-podium{grid-template-columns:1fr}.thcs-report-podium__card--1,.thcs-report-podium__card--2,.thcs-report-podium__card--3{order:unset}}.thcs-report-progress{margin:.85rem 1rem 0;padding:.85rem 1rem 1rem;background:#fff;border:2px solid #475569;border-radius:var(--radius);box-shadow:0 2px 10px #0f172a1a}.thcs-report-progress .thcs-report-table-section{border:2px solid #64748b;margin-top:.65rem;box-shadow:0 1px 4px #0f172a0d}.thcs-report-progress .thcs-report-table-section:first-of-type{margin-top:0}.thcs-report-progress__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.65rem}.thcs-report-progress__title{margin:0;font-size:1rem;font-weight:800;color:#0c4a6e;display:flex;align-items:center;gap:.4rem;text-transform:uppercase;letter-spacing:.04em}.thcs-report-progress__title i{color:#0284c7}.thcs-report-progress__sub{margin:.2rem 0 0;font-size:.72rem;color:#334155;max-width:42rem}.thcs-report-progress__sort{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;color:#334155}.thcs-report-progress__sort .select-control{min-width:11rem;font-size:.75rem!important}.thcs-report-kpi-grid--progress{padding:0}.thcs-report-insights--progress{margin:.5rem 0 .75rem}.thcs-report-progress__empty-chart{margin:1.5rem .5rem;padding:2rem 1rem;text-align:center;font-size:.8rem;font-weight:600;color:#334155;background:#f8fafc;border:2px dashed #64748b;border-radius:var(--radius);box-shadow:inset 0 0 0 1px #cbd5e1}.thcs-report-table--progress{font-size:.68rem}.thcs-report-table--progress th,.thcs-report-table--progress td{white-space:nowrap}.thcs-report-table__time{font-variant-numeric:tabular-nums;font-size:.65rem;line-height:1.35;color:#334155}.thcs-report-table__sub{display:block;font-size:.58rem;font-weight:600;color:#475569}.thcs-report-table__row--muted{opacity:1}.thcs-report-table__row--muted td,.thcs-report-table__row--muted th{color:#475569}.thcs-progress-status{display:inline-block;padding:.1rem .4rem;border-radius:999px;font-size:.6rem;font-weight:800;white-space:nowrap}.thcs-progress-status--not_started{background:#f1f5f9;color:#475569;border:1px solid #94a3b8}.thcs-progress-status--in_progress{background:#e0f2fe;color:#0369a1}.thcs-progress-status--tu_done,.thcs-progress-status--phong_done{background:#fef3c7;color:#b45309}.thcs-progress-status--complete{background:#d1fae5;color:#047857}.thcs-progress-status--stale{background:#fee2e2;color:#b91c1c}.thcs-progress-status--overdue{background:#fecaca;color:#991b1b;font-weight:800}.thcs-report-deadline{margin-bottom:.65rem;padding:.55rem .75rem;border-radius:var(--radius);border:2px solid #38bdf8;background:linear-gradient(90deg,#f0f9ff,#fff);font-size:.78rem;box-shadow:0 1px 4px #0f172a0f}.thcs-report-deadline--soon{border-color:#f59e0b;border-width:2px;background:linear-gradient(90deg,#fffbeb,#fff)}.thcs-report-deadline--over{border-color:#ef4444;border-width:2px;background:linear-gradient(90deg,#fef2f2,#fff)}.thcs-report-deadline__main{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-weight:700;color:#0c4a6e}.thcs-report-deadline__main i{color:#0284c7}.thcs-report-deadline__sub{font-weight:600;color:#334155}.thcs-report-deadline__milestones{margin:.4rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.68rem;color:#334155}.thcs-report-deadline__milestone--over{color:#b91c1c;font-weight:700}.thcs-report-progress__actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;flex-shrink:0}.thcs-report-kpi__value-sub{font-size:.72rem;font-weight:600;color:#334155}.thcs-risk-badge{display:inline-block;padding:.08rem .35rem;border-radius:4px;font-size:.62rem;font-weight:800;text-transform:uppercase}.thcs-risk-badge--low{background:#d1fae5;color:#047857}.thcs-risk-badge--medium{background:#fef3c7;color:#b45309}.thcs-risk-badge--high{background:#fed7aa;color:#c2410c}.thcs-risk-badge--critical{background:#fecaca;color:#991b1b}.thcs-report-table__warn{color:#dc2626;font-weight:700}.thcs-report-table__note{white-space:normal;max-width:14rem;font-size:.65rem;color:#334155}.thcs-report-extras{margin:.85rem 1rem 0;padding:.85rem 1rem;background:#fff;border:2px solid #475569;border-radius:var(--radius);box-shadow:0 2px 8px #0f172a14}.thcs-report-extras__head{margin-bottom:.65rem}.thcs-report-extras__title{margin:0;font-size:.95rem;font-weight:800;color:#0c4a6e;display:flex;align-items:center;gap:.4rem;text-transform:uppercase;letter-spacing:.04em}.thcs-report-extras__sub{margin:.2rem 0 0;font-size:.72rem;color:#334155}.thcs-report-extras__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.65rem}.thcs-report-extras__card{border:2px solid #94a3b8;border-radius:var(--radius);padding:.55rem .65rem;background:#fff;box-shadow:0 1px 4px #0f172a0d}.thcs-report-extras__card--wide{grid-column:1 / -1}.thcs-report-extras__card-title{margin:0 0 .4rem;font-size:.78rem;font-weight:800;color:#334155}.thcs-report-extras__list{margin:0;padding:0;list-style:none}.thcs-report-extras__list--compact{margin-top:.45rem;font-size:.68rem;color:#334155}.thcs-report-extras__list--compact li{margin-bottom:.2rem}.thcs-report-extras__link{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;width:100%;text-align:left;border:none;background:transparent;padding:.25rem 0;font:inherit;cursor:pointer;border-radius:4px}.thcs-report-extras__link:hover{background:#e0f2fe}.thcs-report-extras__muted{font-size:.65rem;color:#475569}.thcs-report-table--compact{font-size:.68rem}.admin-user-trigger--avatar-only{padding:0;gap:0;border:none;background:transparent;box-shadow:none;max-width:none}.admin-user-trigger--avatar-only:hover{border:none}.admin-user-trigger--avatar-only .admin-user-trigger__avatar{width:2.35rem;height:2.35rem;font-size:.9rem;border:2px solid var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.admin-user-menu__header{display:flex;flex-direction:column;align-items:center;gap:.12rem;text-align:center;background:var(--accent-soft);margin:-.25rem -.25rem .2rem;padding:.42rem .5rem .38rem;border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:1px solid rgba(3,105,161,.12)}.admin-user-menu__header-title{font-size:.78rem;font-weight:700;color:var(--accent-hover)}.admin-user-menu__header-email{font-size:.68rem;font-weight:500;color:var(--accent);word-break:break-all;line-height:1.25}.admin-user-menu__panel.thcs-floating-panel{max-width:min(15rem,calc(100vw - 1rem));min-width:13.25rem;padding:.25rem}.admin-user-menu__panel .admin-user-menu__item{padding:.38rem .48rem;font-size:.78rem;gap:.45rem;border-radius:6px}.admin-user-menu__panel .admin-user-menu__icon{width:.95rem;font-size:.72rem;color:var(--accent)}.admin-user-menu__divider{height:1px;background:var(--border);margin:.25rem .35rem}.admin-user-trigger__avatar-img{width:100%;height:100%;border-radius:999px;object-fit:cover}.admin-user-trigger--drawer{width:100%;max-width:none;justify-content:flex-start;border-radius:10px}.admin-console__drawer-actions .admin-user-menu{width:100%}.user-account-modal-backdrop{align-items:center;justify-content:center;padding:var(--modal-safe-top) var(--modal-safe-right) var(--modal-safe-bottom) var(--modal-safe-left);box-sizing:border-box;overflow:auto}.user-account-modal-backdrop--pinned{background:#0f172a14}.user-account-modal.app-window{position:fixed;display:flex;flex-direction:column;margin:0;max-width:100vw;max-height:100dvh;min-width:0;min-height:0;background:#fff;border-radius:12px;box-shadow:0 10px 32px #0f172a38;overflow:hidden}.app-window.app-window--maximized{left:0!important;top:0!important;width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;min-width:0!important;min-height:44px!important;border-radius:0!important;margin:0!important}.app-window:not(.app-window--minimized){max-width:100vw;max-height:100dvh}.app-window--pinned{z-index:1;box-shadow:0 14px 40px #0369a147}.app-window__titlebar{cursor:move;user-select:none;flex-shrink:0}.app-window__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-window__tools{flex-shrink:0}.app-window__tool--active{background:#ffffff38}.app-window__tool:disabled{opacity:.45;cursor:default}.app-window__body{flex:1 1 auto;min-height:0;max-height:none}.app-window__footer{flex-shrink:0}.app-window__resize{position:absolute;z-index:3}.app-window__resize--n,.app-window__resize--s{left:10px;right:10px;height:6px}.app-window__resize--n{top:0;cursor:ns-resize}.app-window__resize--s{bottom:0;cursor:ns-resize}.app-window__resize--e,.app-window__resize--w{top:10px;bottom:10px;width:6px}.app-window__resize--e{right:0;cursor:ew-resize}.app-window__resize--w{left:0;cursor:ew-resize}.app-window__resize--ne,.app-window__resize--nw,.app-window__resize--se,.app-window__resize--sw{width:12px;height:12px}.app-window__resize--ne{top:0;right:0;cursor:nesw-resize}.app-window__resize--nw{top:0;left:0;cursor:nwse-resize}.app-window__resize--se{right:0;bottom:0;cursor:nwse-resize}.app-window__resize--sw{left:0;bottom:0;cursor:nesw-resize}.user-account-modal__titlebar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.42rem .65rem;background:var(--accent);color:#fff;font-size:.8rem;font-weight:600;min-height:2.1rem}.user-account-modal__titlebar-tools{display:flex;align-items:center;gap:.25rem}.user-account-modal__titlebar-btn{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border:none;border-radius:4px;background:transparent;color:inherit;cursor:pointer}.user-account-modal__titlebar-btn:hover{background:#ffffff26}.user-account-modal__body{padding:.75rem .85rem .4rem;overflow:auto}.user-account-modal__footer{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem .75rem;border-top:1px solid var(--border)}.user-account-panel__heading{margin:0 0 .6rem;font-size:.86rem;font-weight:700}.user-account-panel__lead,.user-account-panel__muted{font-size:.84rem;color:var(--text-secondary)}.user-account-panel__msg{margin:.5rem 0 0;font-size:.82rem}.user-account-panel__actions{margin-top:1rem}.user-account-profile__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 0;border-bottom:1px dashed #e2e8f0}.user-account-profile__row--field{flex-direction:column;align-items:stretch}.user-account-profile__label{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:600;color:var(--text)}.user-account-profile__label .fa-circle-dot{font-size:.35rem;color:#94a3b8}.user-account-profile__link{border:none;background:none;color:var(--accent);font:inherit;font-size:.84rem;cursor:pointer;text-decoration:underline}.user-account-profile__hint{font-size:.78rem;color:var(--muted)}.user-account-profile__input,.user-account-profile__textarea{width:100%;font:inherit;font-size:.84rem;border:1px solid var(--border-strong);border-radius:6px;padding:.45rem .55rem}.user-account-profile__input:read-only{background:#f8fafc;color:var(--text);cursor:default}.user-account-profile__textarea{resize:vertical;min-height:4.5rem}.user-account-settings__toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.user-account-settings__search{flex:1 1 12rem;font:inherit;font-size:.82rem;border:1px solid var(--border-strong);border-radius:6px;padding:.4rem .55rem}.user-account-settings__collapse{font:inherit;font-size:.78rem;border:1px solid var(--border);border-radius:6px;background:#f8fafc;padding:.35rem .6rem;cursor:pointer}.user-account-settings__section{border:1px solid var(--border);border-radius:6px;margin-bottom:.5rem;overflow:hidden}.user-account-settings__section-head{display:flex;align-items:center;gap:.45rem;width:100%;text-align:left;padding:.55rem .65rem;border:none;background:#f8fafc;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.user-account-settings__list{list-style:none;margin:0;padding:.35rem .65rem .55rem 1.5rem}.user-account-settings__item{display:flex;justify-content:space-between;gap:.75rem;padding:.3rem 0;font-size:.82rem}.user-account-settings__value{color:var(--muted);font-size:.78rem}.user-account-settings__note{margin:.75rem 0 0;font-size:.75rem;color:var(--muted)}.user-account-sessions__tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--border-strong);margin-bottom:.75rem}.user-account-sessions__tab{border:none;background:transparent;font:inherit;font-size:.82rem;padding:.5rem .85rem;cursor:pointer;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px}.user-account-sessions__tab--active{color:var(--accent);font-weight:700;border-bottom-color:var(--accent)}.user-account-sessions__table-wrap{overflow:auto;max-height:min(46vh,17rem)}.user-account-sessions__table{width:100%;border-collapse:collapse;font-size:.76rem}.user-account-sessions__table th,.user-account-sessions__table td{padding:.45rem .5rem;border-bottom:1px solid #e2e8f0;text-align:left;white-space:nowrap}.user-account-sessions__table th{background:#f8fafc;font-weight:700;position:sticky;top:0}.user-account-sessions__table tbody tr:nth-child(2n){background:#fafbfc}.user-account-sessions__empty{text-align:center;color:var(--muted);padding:1.5rem!important}.user-account-sessions__in-use{color:var(--muted);font-size:.75rem}.user-account-sessions__revoke{border:none;background:none;color:var(--accent);font:inherit;font-size:.76rem;cursor:pointer;text-decoration:underline}.user-account-sessions__footnote,.user-account-sessions__conn{margin:.65rem 0 0;font-size:.72rem;color:var(--muted)}.user-account-sessions__conn{text-align:right}.user-account-trial-backdrop{align-items:center}.user-account-trial{width:min(20rem,calc(100vw - 2rem));background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 12px 40px #0f172a40}.user-account-trial__body{padding:1.25rem 1.1rem;font-size:.88rem}.user-account-trial__actions{padding:0 1.1rem 1rem}@media (max-width: 960px){.admin-edu-surface input,.admin-edu-surface select,.admin-edu-surface textarea,.admin-edu-surface .select-control,.admin-edu-surface .input-inline,.admin-edu-surface .cell-input,.admin-modal input,.admin-modal select,.admin-modal textarea,.user-account-modal input,.user-account-modal select,.user-account-modal textarea,.user-account-profile__input,.user-account-profile__textarea,.user-account-settings__search,.admin-record-modal input,.admin-record-modal select,.admin-record-modal textarea,.admin-audit-log__search-input,.admin-audit-log__filter-select,.admin-audit-log__input--date,.grant-console input,.grant-console select,.grant-console textarea,.participant-scope-popover__search-input{font-size:16px!important;line-height:1.35}.admin-edu-surface .records-command-bar .participant-grid-search,.admin-edu-surface .participant-unified-toolbar .participant-grid-search,.admin-edu-surface .thcs-unified-toolbar .participant-grid-search,.admin-edu-surface .records-command-bar .participant-row-select-action.select-control,.admin-edu-surface .participant-unified-toolbar .participant-row-select-action.select-control,.admin-edu-surface .thcs-unified-toolbar .participant-row-select-action.select-control{font-size:.76rem!important;line-height:1.2}.admin-edu-surface .select-control.participant-row-select-action{min-width:5.5rem!important;min-height:1.85rem;padding:.28rem .45rem!important;box-sizing:border-box}.admin-console__main{padding-left:.35rem;padding-right:.35rem;padding-bottom:max(.35rem,env(safe-area-inset-bottom,0px))}.admin-modal--hbc{max-width:min(440px,calc(100vw - var(--modal-safe-left) - var(--modal-safe-right)));max-height:calc(100dvh - var(--modal-safe-top) - var(--modal-safe-bottom));margin:0;overflow:auto}}@media (max-width: 720px){:root{--modal-frame-inset-x: clamp(1.25rem, 7.5vw, 2.25rem);--modal-frame-inset-top: clamp(2rem, 11vh, 3.5rem);--modal-frame-inset-bottom: var(--modal-frame-inset-top)}.user-account-modal .app-window__resize{display:none}.user-account-modal__body{padding:.65rem .75rem .35rem}.user-account-sessions__table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-audit-cmd-modal__dialog{width:min(24rem,100%)}.admin-audit-log__detail-col{position:sticky;left:0;z-index:1;background:inherit;white-space:nowrap}.admin-audit-log__table th:nth-child(2),.admin-audit-log__table td:nth-child(2){white-space:nowrap}}@media (max-width: 959px){.grant-console--hub-fixed:not(.grant-scope-console--modal){grid-template-rows:minmax(9.5rem,32dvh) minmax(0,1fr);--grant-hub-height: calc(100dvh - var(--admin-sticky-offset, 3.35rem) - .5rem);height:var(--grant-hub-height);min-height:0;max-height:var(--grant-hub-height)}.admin-console__main:has(.grant-console--hub-fixed:not(.grant-scope-console--modal)) .grant-console--hub-fixed:not(.grant-scope-console--modal){--grant-hub-height: calc(100dvh - var(--admin-sticky-offset, 3.35rem) - .5rem);height:var(--grant-hub-height);min-height:0;max-height:var(--grant-hub-height)}.grant-console--hub-fixed .grant-console__main{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.grant-console--hub-fixed .grant-console__split-profile{max-height:min(42dvh,22rem);overflow:auto;-webkit-overflow-scrolling:touch}.grant-console--hub-fixed .grant-console__editor-body{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.grant-toolbar{flex-wrap:wrap;gap:.35rem}.grant-toolbar .field-inline{min-width:0;flex:1 1 8rem}}.thcs-chamdiem-panel{margin:.75rem 1rem 0;padding:0;background:#fff;border:2px solid #475569;border-radius:12px;box-shadow:0 2px 8px #0f172a1a;overflow:hidden}.thcs-chamdiem-panel--all-grades .thcs-chamdiem-panel__head{padding:.55rem .75rem;border-bottom:2px solid #475569;background:linear-gradient(135deg,#eff6ff,#f0fdfa 55%,#fdf2f8)}.thcs-chamdiem-panel__head--inline{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;min-height:2.35rem;overflow:visible}.thcs-chamdiem-panel__head--inline .thcs-chamdiem-panel__title,.thcs-chamdiem-panel__head--inline .thcs-report-table-section__title{flex:0 1 auto;font-size:.88rem;margin:0;line-height:1.35;padding-block:.12rem;overflow:visible;overflow-wrap:break-word;word-break:break-word}.thcs-chamdiem-panel__head--inline .thcs-chamdiem-panel__title{margin-right:.15rem}.thcs-chamdiem-panel__head--inline .thcs-chamdiem-panel__grade-filter{flex:1 1 auto;min-width:0}.thcs-chamdiem-panel__head--inline>.thcs-report-excel-btn{flex:0 0 auto;margin-left:auto}.thcs-chamdiem-panel__head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;width:100%}.thcs-chamdiem-panel__title-text{min-width:0;overflow-wrap:break-word;word-break:break-word}.thcs-chamdiem-panel__tab-short{display:none}.thcs-chamdiem-panel__tab-long{display:inline}.thcs-chamdiem-panel__title{margin:0;font-size:1.02rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:.5rem;color:#1e40af;line-height:1.35}.thcs-chamdiem-panel__grade-filter{display:flex;flex-wrap:wrap;gap:.3rem;margin:0}.thcs-chamdiem-panel__grade-chip-short{display:none}.thcs-chamdiem-panel__grade-chip{border:1px solid #cbd5e1;background:#fff;color:#475569;border-radius:999px;padding:.28rem .62rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;line-height:1.3;min-height:1.75rem;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.thcs-chamdiem-panel__grade-chip:hover{background:#f8fafc;border-color:#94a3b8}.thcs-chamdiem-panel__grade-chip--active{background:#0284c7;border-color:#0284c7;color:#fff}.thcs-chamdiem-panel__grade-chip--mam-non.thcs-chamdiem-panel__grade-chip--active{background:#db2777;border-color:#db2777}.thcs-chamdiem-panel__grade-chip--tieu-hoc.thcs-chamdiem-panel__grade-chip--active{background:#0284c7;border-color:#0284c7}.thcs-chamdiem-panel__grade-chip--thcs.thcs-chamdiem-panel__grade-chip--active{background:#059669;border-color:#059669}.thcs-chamdiem-panel__tabs{display:flex;flex-wrap:nowrap;gap:.35rem;width:100%}.thcs-chamdiem-panel--all-grades .thcs-chamdiem-panel__tab{flex:1 1 0;justify-content:center;min-width:0;padding:.38rem .5rem;font-size:.76rem}.thcs-chamdiem-panel__tab{border:1px solid #93c5fd;background:#fff;color:#1d4ed8;border-radius:8px;padding:.42rem .85rem;font-size:.8rem;font-weight:700;line-height:1.3;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.thcs-chamdiem-panel__tab:hover{background:#eff6ff;border-color:#60a5fa}.thcs-chamdiem-panel__tab--active{background:#0284c7;border-color:#0284c7;color:#fff}.thcs-chamdiem-panel__subtitle{margin:0;padding:.55rem 1.1rem;font-weight:700;font-size:.78rem;color:#0369a1;text-transform:uppercase;letter-spacing:.05em;background:#f0f9ff;border-bottom:2px solid #64748b}.thcs-chamdiem-panel__loading{margin:0;padding:1rem 1.1rem;color:#64748b;font-size:.88rem}.thcs-chamdiem-panel__grades{display:flex;flex-direction:column;gap:.5rem;padding:.5rem .65rem .65rem;background:#f8fafc}.thcs-chamdiem-grade{border:2px solid #64748b;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 4px #0f172a0f;border-left:5px solid var(--chamdiem-border, #0284c7)}.thcs-chamdiem-grade__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;padding:.35rem .55rem;background:var(--chamdiem-head-bg, linear-gradient(90deg, #eff6ff 0%, #fff 72%));border-bottom:1px solid #94a3b8}.thcs-chamdiem-grade__toolbar-info{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;min-width:0;flex:0 1 auto}.thcs-chamdiem-grade__badge{display:inline-block;padding:.12rem .45rem;border-radius:999px;background:var(--chamdiem-badge-bg, #e0f2fe);color:var(--chamdiem-badge-text, #0369a1);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;line-height:1.3;white-space:nowrap}.thcs-chamdiem-grade__title{margin:0;font-size:.76rem;font-weight:800;color:#1e293b;line-height:1.25;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.thcs-chamdiem-grade__meta{margin:0;font-size:.68rem;color:#64748b;white-space:nowrap}.thcs-chamdiem-grade__toolbar .thcs-chamdiem-grade__tabs{flex:0 0 auto;width:auto;min-width:0;padding:0;background:transparent}.thcs-chamdiem-grade__toolbar .thcs-chamdiem-panel__tab{flex:0 0 auto;justify-content:center;min-width:0;padding:.28rem .62rem;font-size:.68rem;border-radius:6px;gap:.3rem;white-space:nowrap}.thcs-chamdiem-grade__toolbar .thcs-chamdiem-panel__tab i{font-size:.72rem}.thcs-chamdiem-grade__toolbar>.thcs-report-excel-btn{flex:0 0 auto;margin-left:auto}.thcs-chamdiem-grade--compact-head .thcs-chamdiem-grade__toolbar-info{flex:0 0 auto}.thcs-chamdiem-grade__head{padding:.65rem .9rem .55rem;background:var(--chamdiem-head-bg, linear-gradient(90deg, #eff6ff 0%, #fff 72%));border-bottom:2px solid #94a3b8}.thcs-chamdiem-grade__tabs{padding:.45rem .75rem 0;background:#fff}.thcs-chamdiem-grade__scroll{max-height:min(48vh,380px)}.thcs-chamdiem-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.79rem;font-variant-numeric:tabular-nums}.thcs-chamdiem-table th,.thcs-chamdiem-table td{border-right:1px solid #94a3b8;border-bottom:1px solid #64748b;padding:.4rem .48rem;text-align:center;vertical-align:middle}.thcs-chamdiem-table thead th{background:linear-gradient(180deg,#dbeafe,#eff6ff);color:#1e3a8a;font-weight:700;position:sticky;top:0;z-index:2;line-height:1.25}.thcs-chamdiem-table__school-col{min-width:10.5rem;max-width:14rem;text-align:left!important;background:linear-gradient(180deg,#dbeafe,#eff6ff)!important;color:#1e40af}.thcs-chamdiem-table__school{text-align:left!important;font-weight:700;font-size:.77rem;background:inherit;white-space:normal;line-height:1.3;min-width:10.5rem;max-width:14rem;color:#0f172a}.thcs-chamdiem-table__tc-col{min-width:4.8rem;max-width:6.2rem;white-space:normal;vertical-align:bottom;padding:.45rem .35rem!important}.thcs-chamdiem-table__tc-stt{display:block;font-size:.72rem;font-weight:800;color:#0284c7;margin-bottom:.12rem}.thcs-chamdiem-table__tc-desc{display:block;font-size:.67rem;font-weight:600;line-height:1.2;color:#334155;white-space:normal;word-break:break-word}.thcs-chamdiem-table__tc-max{display:block;margin-top:.18rem;font-size:.64rem;font-weight:700;color:#b45309}.thcs-chamdiem-table__school-max-col{min-width:5.5rem;max-width:7.5rem;background:#fef9c3!important;color:#854d0e;font-size:.62rem;font-weight:700;line-height:1.25;white-space:normal;word-break:break-word;vertical-align:middle}.thcs-chamdiem-table__school-max{background:#fffbeb;font-weight:700;color:#92400e}.thcs-chamdiem-table__total-col,.thcs-chamdiem-table__grand-col{min-width:4.2rem;background:#e0f2fe!important;color:#0c4a6e}.thcs-chamdiem-table__bonus-col{min-width:4rem;background:#fff7ed!important;color:#9a3412}.thcs-chamdiem-table__rank-col{min-width:3rem;background:#f0fdf4!important;color:#166534}.thcs-chamdiem-table__score{color:#0f172a}.thcs-chamdiem-table__total{background:#f8fafc;font-weight:700}.thcs-chamdiem-table__bonus{color:#dc2626;font-weight:700;background:#fff7ed}.thcs-chamdiem-table__grand{background:#eff6ff;font-weight:800}.thcs-chamdiem-table__grand strong{color:#0369a1}.thcs-chamdiem-table__rank{font-weight:800;color:#475569}.thcs-chamdiem-table__rank--1{background:#fef9c3;color:#a16207}.thcs-chamdiem-table__rank--2{background:#f1f5f9;color:#475569}.thcs-chamdiem-table__rank--3{background:#ffedd5;color:#c2410c}.thcs-chamdiem-table__row--top1 .thcs-chamdiem-table__school{background:#fffbeb}.thcs-chamdiem-table__row--top2 .thcs-chamdiem-table__school{background:#f8fafc}.thcs-chamdiem-table__row--top3 .thcs-chamdiem-table__school{background:#fff7ed}.thcs-chamdiem-table__empty{text-align:center!important;color:#64748b;padding:1.25rem!important;white-space:normal}.thcs-chamdiem-table tbody tr:nth-child(2n) td:not(.thcs-chamdiem-table__school){background:#fafafa}.thcs-chamdiem-table tbody tr:nth-child(2n) .thcs-chamdiem-table__school{background:#f1f5f9}.thcs-chamdiem-table tbody tr:hover td{background:#e0f2fe}.thcs-chamdiem-table tbody tr:hover .thcs-chamdiem-table__school{background:#dbeafe}.thcs-report-grade-label{text-transform:uppercase;letter-spacing:.03em}.thcs-page--report .thcs-report-extras__card-title,.thcs-page--report .thcs-report-kpi__label,.thcs-page--report .thcs-chamdiem-panel__tab,.thcs-page--report .thcs-chamdiem-grade__title,.thcs-page--report .thcs-report-print-toggle__label{text-transform:uppercase;letter-spacing:.04em}.thcs-page--report .thcs-report-table thead th{text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.school-export-dialog__panel--wide{width:min(720px,100%);max-height:min(88vh,780px)}.thcs-report-export-dialog{z-index:1180}.thcs-report-export-dialog__header h2{display:flex;align-items:center;gap:.45rem;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}.thcs-report-export-dialog__body{padding-top:.65rem}.thcs-report-export-dialog__content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.thcs-report-export-dialog__content-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.55rem .65rem;border:2px solid #cbd5e1;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.thcs-report-export-dialog__content-card:hover:not(:disabled){border-color:#93c5fd;background:#f8fafc}.thcs-report-export-dialog__content-card--on{border-color:#0284c7;background:linear-gradient(180deg,#eff6ff,#fff);box-shadow:0 2px 8px #0284c71f}.thcs-report-export-dialog__content-card i{color:#0284c7;font-size:.95rem}.thcs-report-export-dialog__content-label{font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#0f172a}.thcs-report-export-dialog__content-hint{font-size:.68rem;color:#64748b;line-height:1.35}.school-export-dialog__scopes--row{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.thcs-report-export-dialog__pick{margin-top:.55rem}.thcs-report-export-dialog__search{width:100%;margin-bottom:.4rem}.thcs-report-export-dialog__checklist{max-height:9rem;overflow:auto;border:1px solid #e2e8f0;border-radius:8px;padding:.35rem .5rem;background:#f8fafc}.thcs-report-export-dialog__checklist--groups{max-height:7rem}.thcs-report-export-dialog__check,.thcs-report-export-dialog__check-all{display:flex;align-items:center;gap:.4rem;font-size:.75rem;padding:.15rem 0;cursor:pointer}.thcs-report-export-dialog__check-all{font-weight:700;border-bottom:1px solid #e2e8f0;margin-bottom:.25rem;padding-bottom:.35rem}.thcs-report-export-dialog__chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.thcs-report-export-dialog__chip{border:2px solid #cbd5e1;background:#fff;border-radius:999px;padding:.28rem .65rem;font-size:.72rem;font-weight:800;cursor:pointer}.thcs-report-export-dialog__chip--on{border-color:#0284c7;background:#0284c7;color:#fff}.thcs-report-export-dialog__formats{display:flex;flex-wrap:wrap;gap:.4rem}.thcs-report-export-dialog__format{display:inline-flex;align-items:center;gap:.35rem;border:2px solid #cbd5e1;border-radius:8px;padding:.4rem .75rem;font-size:.78rem;font-weight:700;background:#fff;cursor:pointer}.thcs-report-export-dialog__format--on{border-color:#059669;background:#ecfdf5;color:#047857}.thcs-report-export-dialog__plan{display:flex;align-items:flex-start;gap:.45rem;margin-top:.85rem;padding:.55rem .65rem;border-radius:8px;background:linear-gradient(90deg,#ecfdf5,#eff6ff);border:1px solid #a7f3d0;font-size:.75rem;color:#0f172a}.thcs-report-export-dialog__plan i{color:#059669;margin-top:.1rem}.thcs-report-export-dialog__footer{flex-wrap:wrap;gap:.5rem}.thcs-report-export-dialog__actions{display:flex;gap:.45rem;align-items:center}@media (max-width: 560px){.thcs-report-export-dialog__content-grid{grid-template-columns:1fr}}.thcs-report-excel-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex:0 0 auto;width:auto;max-width:max-content;align-self:flex-start;flex-shrink:0;padding:.32rem .62rem;border:2px solid #047857;border-radius:8px;background:linear-gradient(180deg,#34d399,#059669 55%,#047857);color:#fff;font-weight:800;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;line-height:1;box-shadow:0 2px 8px #05966959;cursor:pointer;transition:transform .12s,box-shadow .12s,filter .12s}.thcs-report-excel-btn:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 3px 12px #05966973;transform:translateY(-1px)}.thcs-report-excel-btn:active:not(:disabled){transform:translateY(0)}.thcs-report-excel-btn:disabled{opacity:.45;cursor:not-allowed}.thcs-report-excel-btn i{font-size:.85rem}.thcs-report-excel-btn--hero{padding:.42rem .95rem;font-size:.76rem;border-radius:9px;min-height:2.1rem}.thcs-report-excel-btn--compact{padding:.26rem .5rem;font-size:.62rem}.thcs-report-table-section__head--actions{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.thcs-report-table-section__head-main{flex:1;min-width:0}.thcs-chamdiem-panel__head-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}@media (max-width: 720px){.thcs-chamdiem-panel{margin-left:.5rem;margin-right:.5rem}.thcs-chamdiem-panel--all-grades .thcs-chamdiem-panel__head,.thcs-report-phong-rank__head,.thcs-report-all-grades__head{padding:.5rem .5rem .45rem;gap:.35rem}.thcs-chamdiem-panel__head--inline .thcs-chamdiem-panel__title,.thcs-chamdiem-panel__head--inline .thcs-report-table-section__title{flex:1 1 100%;font-size:.72rem;letter-spacing:.02em;line-height:1.35;margin-right:0;padding-block:.15rem;display:block;white-space:normal}.thcs-chamdiem-panel__head--inline{position:relative;padding-top:.5rem;padding-right:3.35rem;padding-bottom:.45rem;min-height:0;align-items:flex-start}.thcs-chamdiem-panel__head--inline>.thcs-report-excel-btn{position:absolute;top:.5rem;right:.5rem;margin-left:0}.thcs-chamdiem-panel__title i,.thcs-chamdiem-panel__grade-chip-long{display:none}.thcs-chamdiem-panel__grade-chip-short{display:inline}.thcs-chamdiem-panel__head--inline .thcs-chamdiem-panel__grade-filter{flex:1 1 100%}.thcs-chamdiem-panel__subtitle--desktop,.thcs-chamdiem-panel__tab-long{display:none}.thcs-chamdiem-panel__tab-short{display:inline}.thcs-chamdiem-panel__grades{padding:.35rem .4rem .5rem;gap:.4rem}.thcs-chamdiem-grade__toolbar{padding:.3rem .4rem;gap:.25rem}.thcs-chamdiem-grade__toolbar-info{flex:1 1 100%;gap:.25rem .35rem}.thcs-chamdiem-grade--compact-head .thcs-chamdiem-grade__toolbar-info{flex:1 1 auto}.thcs-chamdiem-grade__title{font-size:.64rem}.thcs-chamdiem-grade__meta{font-size:.62rem}.thcs-chamdiem-grade__toolbar .thcs-chamdiem-grade__tabs{flex:1 1 100%;width:100%}.thcs-chamdiem-grade__toolbar .thcs-chamdiem-panel__tab{flex:1 1 0;padding:.28rem .3rem;font-size:.64rem}.thcs-chamdiem-grade__toolbar .thcs-chamdiem-panel__tab i{font-size:.68rem}.thcs-chamdiem-grade__toolbar>.thcs-report-excel-btn{margin-left:0}.thcs-chamdiem-panel__grade-chip{padding:.26rem .5rem;font-size:.64rem;line-height:1.3;min-height:1.65rem}.thcs-chamdiem-panel__grade-filter{gap:.28rem}.thcs-chamdiem-grade__scroll{max-height:min(38vh,320px)}.thcs-report-print-section{margin:.45rem .5rem 0}.thcs-report-print-toggle{padding:.38rem .65rem;font-size:.68rem;letter-spacing:.03em;gap:.35rem}.thcs-report-print-section .thcs-report-preview{max-height:min(42vh,360px)}}.thcs-chamdiem-grade__head--actions{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.thcs-report-extras__card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.thcs-report-extras__card-head .thcs-report-extras__card-title{margin:0}.thcs-report-export-dialog__quick{display:flex;flex-wrap:wrap;gap:.35rem}.thcs-report-export-dialog__quick-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;font-size:.72rem;font-weight:700;color:#334155;cursor:pointer}.thcs-report-export-dialog__quick-btn:hover:not(:disabled){border-color:#059669;background:#ecfdf5;color:#047857}.thcs-report-export-dialog__view-modes{display:flex;flex-wrap:wrap;gap:.35rem}.thcs-report-export-dialog__view-mode{padding:.35rem .75rem;border:2px solid #cbd5e1;border-radius:8px;background:#fff;font-size:.75rem;font-weight:700;cursor:pointer}.thcs-report-export-dialog__view-mode--on{border-color:#0284c7;background:#eff6ff;color:#1d4ed8}.thcs-report-export-dialog__submit{min-width:10rem;font-size:.74rem}.thcs-report-export-dialog__submit--format{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:10rem;padding:.42rem .95rem;border:2px solid #0284c7;border-radius:9px;background:linear-gradient(180deg,#38bdf8,#0284c7);color:#fff;font-weight:800;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;box-shadow:0 2px 8px #0284c759}.thcs-report-export-dialog__submit--format:hover:not(:disabled){filter:brightness(1.06)}.thcs-report-command-bar__export.menu-dropdown__trigger--gold{text-transform:uppercase;letter-spacing:.06em}@media (max-width: 720px){.thcs-report-export-dialog.school-export-dialog{padding:var(--modal-safe-top) var(--modal-safe-right) var(--modal-safe-bottom) var(--modal-safe-left);align-items:stretch}.thcs-report-export-dialog .school-export-dialog__panel--wide{width:100%;max-width:calc(100vw - var(--modal-safe-left) - var(--modal-safe-right));max-height:calc(100dvh - var(--modal-safe-top) - var(--modal-safe-bottom));border-radius:12px}.thcs-report-export-dialog__footer{flex-direction:column;align-items:stretch}.thcs-report-export-dialog__actions{width:100%;flex-direction:column-reverse}.thcs-report-export-dialog__actions .btn,.thcs-report-export-dialog__submit{width:100%;justify-content:center}.thcs-report-table-section__head--actions{flex-direction:row;flex-wrap:wrap;align-items:flex-start}}.admin-header-quick-btn{flex-shrink:0}body.admin-theme-tth-dark{color-scheme:dark;--bg: #2d2723;--bg-elevated: #3b332f;--surface: #3b332f;--border: #554c47;--border-strong: #6b615b;--text: #f4ece6;--text-secondary: #d0c5bd;--muted: #d0c5bd;--accent: #ffca63;--accent-soft: #4a4038;--accent-hover: #ffd98a;--danger-bg: #4a2c2c;--ok-bg: #2a4038;--warn-bg: #4a4030;--shadow: 0 1px 3px rgba(0, 0, 0, .2), 0 4px 12px rgba(0, 0, 0, .15);--shadow-card: 0 4px 24px rgba(0, 0, 0, .2);--admin-nav-text: #f4ece6;--admin-nav-text-muted: #d0c5bd;--admin-nav-hover: #4a4038;--admin-nav-active-bg: #554c47;--admin-nav-active-text: #ffca63;--admin-nav-active-border: #ffca63;--admin-nav-panel-bg: #3b332f;--admin-nav-panel-border: rgba(255, 202, 99, .18)}body.admin-theme-tth-dark .admin-console{background:var(--bg);color:var(--text)}body.admin-theme-tth-dark .admin-console__header{background:linear-gradient(90deg,#8a5a18,#c4842a 42%,#3b332f);border-bottom-color:#554c47}body.admin-theme-tth-dark .admin-icon-btn{background:#ffffffeb;border-color:#ffca6359;color:#3b332f}body.admin-theme-tth-dark .admin-icon-btn:hover{border-color:#ffca63;color:#8a5a18}body.admin-theme-tth-dark .admin-console__main{background:var(--bg)}body.admin-theme-tth-dark .admin-console__drawer{background:var(--surface);border-right-color:var(--border)}body.admin-theme-tth-dark .login-password-modal__inst-title,body.admin-theme-tth-dark .login-password-modal__inst-sub{color:#fff}.admin-share-modal{width:100%;max-width:min(640px,calc(100vw - 2rem));max-height:calc(100dvh - var(--modal-safe-top) - var(--modal-safe-bottom));padding:0;overflow:hidden;border-radius:var(--radius);background:#fff;border:1px solid var(--border-strong);box-shadow:var(--shadow-card)}.admin-share-modal .login-password-modal__header{border-radius:var(--radius) var(--radius) 0 0}.admin-share-modal__body{padding:16px;overflow:auto;max-height:min(78vh,760px)}.admin-share-platforms{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;margin-bottom:1rem}.admin-share-platform-btn{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;color:#0f172a;font-size:.8rem;font-weight:500;min-height:85px}.admin-share-platform-btn:hover{border-color:var(--platform-color, #0ea5e9);background:#f8fafc;transform:translateY(-2px)}.admin-share-platform-btn i{font-size:1.5rem;color:var(--platform-color, #0ea5e9)}.admin-share-platform-btn__brand{width:28px;height:28px;object-fit:contain;flex-shrink:0}.admin-share-link-section label{font-weight:600;font-size:.875rem;display:block;margin-bottom:.35rem}.admin-share-link-input{display:flex;gap:.5rem}.admin-share-link-input input{flex:1;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:.875rem}.admin-share-copy-btn{padding:.5rem 1rem;background:#0ea5e9;color:#fff;border:0;border-radius:10px;cursor:pointer}.admin-share-backdrop--float,.admin-share-qr-backdrop--float{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--modal-safe-top) 16px 16px;box-sizing:border-box;background:transparent!important;pointer-events:none;overflow:visible}.admin-share-backdrop--float{z-index:5200;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.admin-share-backdrop--float .admin-share-modal{pointer-events:auto;box-shadow:0 16px 40px #0f172a38,0 2px 8px #0f172a1f}.admin-share-backdrop--paired-qr{align-items:flex-start;justify-content:flex-start;padding-left:max(16px,2.5vw);padding-top:calc(var(--modal-safe-top) + 12px)}.admin-share-qr-backdrop--float{z-index:5300}.admin-share-qr-backdrop--float .admin-share-qr-modal{pointer-events:auto}.admin-share-qr-backdrop--paired-share{align-items:flex-start;justify-content:flex-end;padding-right:max(16px,2.5vw);padding-top:calc(var(--modal-safe-top) + 12px)}@media (max-width: 900px){.admin-share-backdrop--paired-qr{justify-content:center;padding-left:16px}.admin-share-qr-backdrop--paired-share{justify-content:center;align-items:flex-end;padding-right:16px;padding-top:min(52vh,420px)}}@media (max-width: 768px){.admin-share-backdrop--mobile{align-items:flex-end;justify-content:center;padding:0 0 calc(8px + env(safe-area-inset-bottom,0px))}.admin-share-backdrop--mobile .admin-share-modal{width:100%;max-width:100%;max-height:min(88dvh,780px);border-radius:16px 16px 0 0}.admin-share-backdrop--mobile.admin-share-backdrop--paired-qr{align-items:flex-start;padding:calc(var(--modal-safe-top) + 6px) 8px 0}.admin-share-backdrop--mobile.admin-share-backdrop--paired-qr .admin-share-modal{max-height:min(46dvh,420px);border-radius:14px}.admin-share-qr-backdrop--mobile{align-items:flex-end;justify-content:center;padding:0 8px calc(8px + env(safe-area-inset-bottom,0px))}.admin-share-qr-backdrop--mobile .admin-share-qr-modal{width:min(100%,400px);max-height:min(88dvh,720px);resize:none}.admin-share-qr-backdrop--mobile.admin-share-qr-backdrop--paired-share{align-items:flex-start;padding-top:min(48dvh,400px)}.admin-share-qr-backdrop--mobile.admin-share-qr-backdrop--paired-share .admin-share-qr-modal{max-height:min(46dvh,400px)}.admin-share-platforms{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.55rem}.admin-share-platform-btn{min-height:76px;padding:.55rem;font-size:.72rem}.admin-record-window--mobile{border-radius:12px}.admin-record-window--mobile .app-window__resize{display:none}.admin-record-window--mobile .school-data-hub__tabs{gap:.15rem;padding:.35rem .5rem;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.admin-record-window--mobile .school-data-hub__tab{flex-shrink:0;font-size:.68rem;padding:.3rem .5rem}.admin-record-window--mobile .admin-record-modal__body{padding:.75rem}.admin-record-window--mobile .admin-record-modal__footer{flex-direction:column;align-items:stretch;gap:.5rem}.admin-record-window--mobile .ward-edit-modal__footer-actions{justify-content:stretch}.admin-record-window--mobile .ward-edit-modal__footer-actions .btn{flex:1}}.admin-share-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:5500;padding:10px 16px;border-radius:999px;background:#0f172a;color:#fff;font-size:.86rem}.admin-share-qr-backdrop{position:fixed;inset:0;z-index:5300}.admin-share-qr-backdrop--float{padding:var(--modal-safe-top) 8px 8px;overflow-y:visible}.admin-share-qr-backdrop.admin-modal-backdrop{align-items:center;justify-content:center}.admin-share-qr-modal{position:relative;width:min(92vw,400px);min-width:280px;min-height:240px;max-height:92vh;resize:both;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:2px solid #dc3545;border-radius:14px;box-shadow:0 8px 40px #dc35452e,0 2px 12px #0000002e}.admin-share-qr-modal__head-wrap{position:relative;cursor:move}.admin-share-qr-modal__brand-head.login-password-modal__header{border-radius:16px 16px 0 0;margin:0}.admin-share-qr-modal__head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#dc3545;color:#fff;font-weight:700;font-size:.92rem;cursor:grab;user-select:none;flex-shrink:0;border-radius:12px 12px 0 0}.admin-share-qr-modal__drag-hint{margin-left:auto;font-size:.72rem;opacity:.85;font-weight:500;white-space:nowrap}.admin-share-qr-modal__head button{border:0;background:#fff3;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;flex-shrink:0}.admin-share-qr-modal__body{flex:1;padding:14px;overflow:auto;overflow-x:hidden}.admin-share-qr-modal__qr-wrap{text-align:center;margin-bottom:10px}.admin-share-qr-modal__qr-frame{position:relative;display:inline-block;width:100%}.admin-share-qr-modal__qr-frame>img{width:100%;max-width:100%;border-radius:12px;border:3px solid #dc3545;background:#fff;display:block}.admin-share-qr-modal__logo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.admin-share-qr-modal__logo-inner{width:56px;height:56px;border-radius:22%;background:#fffffff2;border:2px solid rgba(220,53,69,.55);box-shadow:0 2px 10px #0003;display:flex;align-items:center;justify-content:center}.admin-share-qr-modal__logo-inner img{max-width:70%;max-height:70%;object-fit:contain}.admin-share-qr-modal__url{display:inline-block;margin:8px 0 0;color:#dc3545;font-size:.82rem;word-break:break-all;text-decoration:none}.admin-share-qr-modal__actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px}.admin-share-qr-modal__actions button,.admin-share-qr-modal__save{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:1 1 auto;min-width:0;padding:7px 12px;border-radius:999px;border:1.5px solid #dee2e6;background:#f8f9fa;font-size:.82rem;font-weight:500;cursor:pointer;text-decoration:none;color:inherit}.admin-share-qr-modal__actions button.is-share{border-color:#dc3545;background:#dc35451a;color:#dc3545}.admin-qr-contact{display:flex;flex-direction:column;gap:8px}.admin-qr-contact__card{padding:10px 12px;border-radius:10px;border:1.5px solid rgba(220,53,69,.25);background:#f8f9fa}.admin-qr-contact__role{font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.admin-qr-contact__name{font-weight:700;font-size:.82rem;margin:4px 0 6px;line-height:1.35}.admin-qr-contact__sub{font-weight:400;font-size:.7rem;color:#6c757d}.admin-share-qr-modal__resize-hint{margin:8px 0 0;text-align:center;font-size:.68rem;color:#adb5bd;opacity:.85}.admin-qr-contact__row{display:flex;align-items:flex-start;gap:7px;padding:3px 0;font-size:.78rem}.admin-qr-contact__row a{color:#0d6efd;word-break:break-word;text-decoration:none}.admin-qr-contact__row--brand{align-items:center}.admin-qr-contact__icon-img{flex-shrink:0;width:18px;height:18px;object-fit:contain}.admin-qr-contact__row--brand a{line-height:1.35}.admin-qr-contact__label{font-weight:600;color:#334155}.open-in-browser{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(165deg,#f8fafc,#eef2f7)}.open-in-browser__card{width:min(520px,100%);background:#fff;border:1px solid #dbe4ef;border-radius:14px;box-shadow:0 12px 40px #0f172a1a;padding:1.25rem 1.35rem 1.35rem}.open-in-browser__head{display:flex;align-items:center;gap:12px;margin-bottom:1rem}.open-in-browser__logo{border-radius:10px}.open-in-browser__title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.open-in-browser__sub{margin:2px 0 0;font-size:.82rem;color:#64748b}.open-in-browser__alert{display:flex;gap:10px;padding:12px;border-radius:10px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;margin-bottom:1rem}.open-in-browser__alert i{margin-top:2px;font-size:1.1rem}.open-in-browser__alert p{margin:6px 0 0;font-size:.86rem;font-weight:400;line-height:1.45}.open-in-browser__steps{margin:0 0 1rem;padding-left:1.2rem;font-size:.88rem;color:#334155;line-height:1.5}.open-in-browser__steps li+li{margin-top:6px}.open-in-browser__actions{display:flex;flex-wrap:wrap;gap:8px}.open-in-browser__btn-main{flex:1 1 200px}.open-in-browser__url{margin:12px 0 0;font-size:.78rem;color:#64748b;word-break:break-all;line-height:1.35}.login-password-modal__inapp{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;font-size:.86rem}.login-password-modal__inapp p{margin:0 0 8px;line-height:1.4}.login-password-modal__inapp .btn{width:100%}.eval-ctx-bar{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem}.eval-ctx-bar--compact .eval-ctx-field{gap:.15rem}.eval-ctx-field{display:inline-flex;align-items:center;gap:.25rem;margin:0}.eval-ctx-label{font-size:.68rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.eval-ctx-select{min-width:6.5rem;max-width:11rem;font-size:.72rem;padding:.12rem .35rem;height:1.65rem}.eval-ctx-bar--compact .eval-ctx-select{min-width:5.5rem;max-width:9rem}.eval-ctx-config-btn{padding:.1rem .45rem!important;min-height:1.65rem;font-size:.72rem;gap:.25rem}.eval-studio{display:flex;flex-direction:column;gap:.65rem;min-height:min(70vh,calc(100dvh - 11rem));min-width:0;max-width:100%;width:100%;overflow:hidden}.eval-studio__loading{font-size:.88rem;color:var(--text-secondary)}.eval-studio__bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .65rem;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#f8fafc}.eval-studio__year{flex:1 1 10rem;min-width:8rem;max-width:16rem;margin:0}.eval-studio__year .select-control{width:100%;font-size:.85rem}.eval-studio__more{position:relative}.eval-studio__more-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:11rem;padding:.35rem;border-radius:var(--radius-sm);background:#fff;border:1px solid #e2e8f0;box-shadow:0 8px 24px #0f172a1f;display:flex;flex-direction:column;gap:.15rem}.eval-studio__more-menu button{text-align:left;padding:.4rem .55rem;border:none;border-radius:4px;background:transparent;font-size:.82rem;cursor:pointer}.eval-studio__more-menu button:hover:not(:disabled){background:#f1f5f9}.eval-studio__years-link{margin-left:auto;font-size:.78rem;font-weight:600;color:var(--link, #0369a1);text-decoration:none;white-space:nowrap}.eval-studio__body{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem;flex:1 1 auto;min-height:0}.eval-studio--editing .eval-studio__body{grid-template-columns:minmax(0,1.2fr) minmax(14rem,22rem)}.eval-studio__table-wrap{border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;overflow:auto;min-height:12rem;max-height:min(58vh,calc(100dvh - 14rem))}.eval-studio__table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.84rem}.eval-studio__table thead th{position:sticky;top:0;z-index:1;text-align:left;padding:.45rem .6rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.eval-studio__table tbody td{padding:.35rem .55rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.eval-studio__table tbody tr{cursor:pointer}.eval-studio__table tbody tr:hover{background:#f8fafc}.eval-studio__row--on{background:#ecfdf5!important}.eval-studio__td-empty{text-align:center;color:var(--text-secondary);padding:1.25rem!important}.eval-studio__grades{font-size:.78rem;color:#64748b}.eval-studio__th-actions,.eval-studio__td-actions{width:1%;min-width:7rem;white-space:nowrap;text-align:right;vertical-align:middle}.eval-pill{display:inline-block;font-size:.68rem;font-weight:700;padding:.12rem .4rem;border-radius:4px;text-transform:uppercase}.eval-pill--open{background:#dcfce7;color:#166534}.eval-pill--draft{background:#fef9c3;color:#854d0e}.eval-pill--closed{background:#f1f5f9;color:#475569}.eval-studio__panel{border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;padding:.75rem;overflow:auto;max-height:min(58vh,calc(100dvh - 14rem))}.eval-studio__panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem}.eval-studio__panel-head h3{margin:0;font-size:.95rem}.eval-studio__field{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.55rem;font-size:.8rem}.eval-studio__field>span{font-weight:600;color:#64748b}.eval-studio__chips{display:flex;flex-wrap:wrap;gap:.35rem}.eval-studio__chip{padding:.28rem .55rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;font-size:.78rem;cursor:pointer}.eval-studio__chip--on{background:#0d9488;border-color:#0d9488;color:#fff}.eval-studio__save{width:100%;margin-top:.35rem}.eval-studio__links{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem;padding-top:.55rem;border-top:1px dashed #e2e8f0}.eval-studio__inactive{font-size:.8rem;color:var(--text-secondary)}.eval-studio__empty{margin:0}.eval-config-modal-backdrop{position:fixed;inset:0;background:#0f172a73;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem}.eval-config-modal{background:#fff;border-radius:var(--radius-md);padding:1.1rem 1.25rem;max-width:28rem;width:100%;box-shadow:0 20px 50px #0000002e}.eval-config-modal h3{margin:0 0 .75rem;font-size:1rem}.eval-config-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}@media (max-width: 900px){.eval-studio--editing .eval-studio__body{grid-template-columns:1fr}.eval-studio__panel{max-height:none}.eval-studio__table-wrap{max-height:none;-webkit-overflow-scrolling:touch}.eval-studio__table{min-width:34rem}}.years-studio{display:flex;flex-direction:column;gap:.65rem;min-height:min(72vh,calc(100dvh - 10.5rem))}.years-studio__top{display:flex;flex-direction:column;gap:.5rem;padding:.55rem .65rem;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#f8fafc}.years-studio__chips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.years-studio__chip{padding:.35rem .7rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap}.years-studio__chip--on{background:#0369a1;border-color:#0369a1;color:#fff}.years-studio__top-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;justify-content:space-between}.years-studio__add{display:flex;flex-wrap:wrap;gap:.35rem;flex:1 1 auto;align-items:center}.years-studio__add-code{width:7rem;font-size:.82rem}.years-studio__add-label{flex:1 1 8rem;min-width:8rem;max-width:14rem;font-size:.82rem}.years-studio__eval-link{font-size:.78rem;font-weight:600;white-space:nowrap}.years-studio__main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;padding:.65rem .75rem;overflow:hidden}.years-studio__edit{display:flex;flex-wrap:wrap;gap:.4rem;align-items:flex-end;margin-bottom:.65rem;padding-bottom:.55rem;border-bottom:1px solid #f1f5f9}.years-studio__edit-field{display:flex;flex-direction:column;gap:.15rem;font-size:.72rem;font-weight:600;color:#64748b}.years-studio__edit-field--grow{flex:1 1 10rem;min-width:8rem}.years-studio__edit-field .input-control{font-size:.84rem}.years-studio__title{margin:0 0 .5rem;font-size:1rem}.years-studio__sessions{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.years-studio__sessions-label{margin:0 0 .4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.years-studio__sessions .table-wrap,.years-studio__sessions .table-wrap--sessions{flex:1 1 auto;min-height:0;overflow:auto}.years-studio__hint{font-size:.82rem;color:var(--text-secondary)}@media (max-width: 640px){.years-studio__add{width:100%}.years-studio__add-code,.years-studio__add-label{width:100%;max-width:none}.years-studio__eval-link{width:100%}}.admin-console__nav-criteria-config{margin-top:.5rem;padding-top:.45rem;border-top:1px solid rgba(0,0,0,.08)}.admin-console__nav-criteria-config-btn{width:100%;justify-content:flex-start;gap:.55rem;padding:.52rem .62rem!important;background:linear-gradient(165deg,#fffbeb,#fef3c7 52%,#fde68a)!important;border:1px solid rgba(180,83,9,.3)!important;box-shadow:0 3px 10px #78350f1a,inset 0 1px #ffffffa6!important;color:inherit!important;transform:none!important}.admin-console__nav-criteria-config-btn .admin-console__nav-menu-icon{width:2rem;height:2rem;font-size:.95rem;border-radius:9px;box-shadow:0 2px 7px #1e40af38,inset 0 1px #ffffff73}.admin-console__nav-criteria-config-btn:hover{background:linear-gradient(165deg,#fffef5,#fde68a 45%,#fcd34d)!important;border-color:#b91c1c59!important;box-shadow:0 5px 14px #991b1b1f,inset 0 1px #fffc!important}.admin-console__nav-criteria-config-btn:hover .admin-console__nav-menu-icon{filter:brightness(1.04)}.admin-console__nav-criteria-config__lbl{flex:1 1 auto;min-width:0;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;line-height:1.2;color:#b91c1c;text-shadow:0 1px 0 rgba(255,255,255,.95),0 2px 3px rgba(185,28,28,.3);white-space:normal}.admin-console__nav-criteria-config-btn:hover .admin-console__nav-criteria-config__lbl{color:#991b1b;text-shadow:0 1px 0 rgba(255,255,255,1),0 2px 4px rgba(153,27,27,.35)}.academic-hub-catalog__body{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;gap:.55rem}.academic-hub-catalog__tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem;padding-bottom:.55rem;border-bottom:1px solid #e2e8f0}.academic-hub-catalog__tab{appearance:none;border:1px solid #cbd5e1;background:#f8fafc;color:#475569;font-size:.76rem;font-weight:700;padding:.32rem .65rem;border-radius:999px;cursor:pointer}.academic-hub-catalog__tab--on{background:#0f766e;border-color:#0f766e;color:#fff}.academic-hub-catalog__panel{display:flex;flex-direction:column;gap:.55rem;min-width:0;flex:1;min-height:0}.academic-hub-catalog__toolbar,.academic-hub-catalog__add-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.academic-hub-catalog__lead{margin:0;flex:1 1 12rem;font-size:.78rem;color:#64748b;line-height:1.45}.academic-hub-catalog__search{width:min(100%,16rem)}.academic-hub-catalog__table-wrap{overflow:auto;flex:1;min-height:0;border:1px solid #cbd5e1;border-radius:var(--radius-sm);background:#fff}.academic-hub-catalog__table{width:100%;border-collapse:collapse;font-size:.78rem;table-layout:auto}.academic-hub-catalog__table th,.academic-hub-catalog__table td{padding:.38rem .55rem;border:1px solid #cbd5e1;text-align:left;vertical-align:middle;white-space:nowrap}.academic-hub-catalog__table thead th{position:sticky;top:0;z-index:1;background:#f1f5f9;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;border-bottom:2px solid #94a3b8}.academic-hub-catalog__th-actions{width:7.5rem;text-align:right!important}.academic-hub-catalog__empty{text-align:center;color:#94a3b8;padding:1.25rem .5rem!important}.academic-hub{display:flex;flex-direction:column;gap:.4rem;width:100%;max-width:100%;min-width:0;min-height:min(74vh,calc(100dvh - 10rem));box-sizing:border-box;overflow:hidden;overflow-x:clip}.admin-edu-surface .academic-hub--hub-fixed{border:1.5px solid var(--admin-edu-frame);border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);padding:.75rem .85rem;box-shadow:var(--admin-edu-shadow)}.academic-hub__guide-body{padding:0;min-width:0;overflow-wrap:anywhere}.academic-hub__guide-perm{margin:.5rem 0 0;padding:.45rem .55rem;border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:.78rem;line-height:1.4}.academic-hub__guide-section{margin-top:.55rem}.academic-hub__guide-heading{margin:0 0 .35rem;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#475569}.academic-hub__guide-list{margin:0;display:grid;gap:.35rem}@media (min-width: 720px){.academic-hub__guide-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem}}.academic-hub__guide-item{margin:0;padding:.35rem .45rem;border-radius:var(--radius-sm);background:#ffffffb8;border:1px solid rgba(226,232,240,.9)}.academic-hub__guide-item dt{margin:0;font-weight:700;color:#0f172a;font-size:.78rem}.academic-hub__guide-item dd{margin:.12rem 0 0;color:#64748b;line-height:1.4;font-size:.76rem}.academic-hub__guide-foot{margin:.55rem 0 0;padding:.55rem .65rem;border-radius:var(--radius-sm);background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:.78rem;line-height:1.45}.academic-hub__guide-foot-gap{margin:.45rem 0 0}.academic-hub__guide-blocks{display:flex;flex-direction:column;gap:.5rem}.academic-hub__guide-block{padding:.5rem .6rem;border-radius:var(--radius-sm);background:#fff;border:1px solid #e2e8f0}.academic-hub__guide-block-title{margin:0 0 .28rem;font-size:.8rem;font-weight:800;color:#991b1b;text-transform:uppercase;letter-spacing:.03em}.academic-hub__guide-block-role{margin:0 0 .35rem;font-size:.76rem;color:#475569;line-height:1.45}.academic-hub__guide-steps{margin:0;padding-left:1.15rem;font-size:.76rem;color:#334155;line-height:1.5}.academic-hub__guide-steps li+li{margin-top:.2rem}.academic-hub__guide-steps--foot{margin-top:.35rem}.academic-hub__guide-block-note{margin:.35rem 0 0;padding:.35rem .45rem;font-size:.72rem;color:#92400e;background:#fffbeb;border-radius:4px;border:1px solid #fde68a}.academic-hub__bar{flex-shrink:0;width:100%;max-width:100%;min-width:0;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#f8fafc;container-type:inline-size;container-name:academic-hub-bar;overflow:hidden}.academic-hub__bar-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem .45rem;padding:.35rem .45rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;min-width:0}.academic-hub__zone{display:flex;flex-wrap:nowrap;align-items:center;gap:.28rem;flex:0 0 auto;flex-shrink:0;min-width:min-content}.academic-hub__zone--years{flex:0 0 auto}.academic-hub__zone--mode{flex:0 0 auto;padding:.1rem;border-radius:var(--radius-sm);background:#e2e8f0}.academic-hub__zone--ctx{flex:0 0 auto;min-width:min-content;overflow:visible}.academic-hub__zone--ctx.academic-hub__zone--sessions{flex:0 0 auto}.academic-hub__zone--actions{flex:0 0 auto;margin-left:0}.academic-hub__session-mount{display:flex;flex:0 0 auto;align-items:center;min-width:min-content;width:auto}.academic-hub__session-mount[hidden]{display:none!important}.academic-hub__inline-tools{display:flex;flex-wrap:nowrap;align-items:center;gap:.28rem .35rem;width:auto;min-width:min-content;flex-shrink:0}.academic-hub__inline-tools>*{flex-shrink:0}.academic-hub__inline-tools .ref-data-pager{margin:0;padding:0;border:none;background:transparent;gap:.25rem;flex-shrink:0;white-space:nowrap}.academic-hub__inline-search{flex:0 0 auto;width:6.25rem;min-width:5rem;max-width:8rem;font-size:.74rem;padding:.18rem .38rem;min-height:1.5rem}.academic-hub__inline-add{font-size:.74rem;padding:.18rem .38rem;min-height:1.5rem;flex-shrink:0}.academic-hub__inline-add--name{flex:0 0 auto;width:5.5rem;min-width:4.5rem;max-width:8rem}.academic-hub__inline-add--grid{flex:0 0 auto;width:4.75rem;min-width:4rem;max-width:7rem}.academic-hub__act{flex-shrink:0;white-space:nowrap;padding:.2rem .45rem!important;min-height:1.55rem;gap:.25rem}.academic-hub__seg-long{display:none}.academic-hub__seg-short{display:inline}.academic-hub__act--transfer{gap:.35rem!important}.academic-hub__act--transfer .academic-hub__act-icon{font-size:.72rem;color:#b91c1c;flex-shrink:0}.academic-hub__act-text--transfer{font-size:.7rem!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c!important}.academic-hub__act-dual{display:inline-flex;align-items:center;gap:.12rem;font-size:.68rem;color:#2563eb}.academic-hub__act--transfer .academic-hub__act-dual i{opacity:.92}.academic-hub__act-text{font-size:.72rem;white-space:nowrap}.academic-hub__act-text--opt{display:inline}.academic-hub__act--catalog{gap:.35rem!important;padding:.22rem .5rem .22rem .38rem!important}.academic-hub__act-icon--catalog{display:inline-flex;align-items:center;justify-content:center;width:1.38rem;height:1.38rem;border-radius:8px;background:linear-gradient(165deg,#fff,#eff6ff 48%,#dbeafe);color:#2563eb;font-size:.72rem;flex-shrink:0;box-shadow:0 1px 2px #2563eb38,0 4px 10px #2563eb29;border:1px solid rgba(147,197,253,.55)}.academic-hub__act-text--catalog{font-weight:700;color:#2563eb;letter-spacing:.01em}.academic-hub__act--catalog:hover .academic-hub__act-icon--catalog{box-shadow:0 2px 4px #2563eb42,0 6px 14px #2563eb33}.working-ctx-toolbar-actions{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.academic-hub__act--config,.academic-hub-config-btn--toolbar{gap:.35rem!important;padding:.22rem .5rem .22rem .38rem!important;min-height:1.65rem}.academic-hub-config-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:1.38rem;height:1.38rem;border-radius:8px;background:linear-gradient(165deg,#eff6ff,#dbeafe 48%,#bfdbfe);color:#2563eb;font-size:.72rem;flex-shrink:0;box-shadow:0 1px 2px #2563eb38,0 4px 10px #3b82f62e;border:1px solid rgba(147,197,253,.55)}.academic-hub__act-text--config,.academic-hub-config-btn__text{font-weight:700;color:#2563eb;letter-spacing:.01em;font-size:.72rem;white-space:nowrap}.academic-hub__act--config:hover .academic-hub-config-btn__icon,.academic-hub-config-btn--toolbar:hover .academic-hub-config-btn__icon{box-shadow:0 2px 4px #2563eb47,0 6px 14px #3b82f638}.eval-ctx-config-btn .academic-hub-config-btn__icon{width:1.28rem;height:1.28rem;font-size:.68rem}.academic-hub__act--time{gap:.35rem!important;padding:.22rem .5rem .22rem .38rem!important}.working-ctx-time-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:1.38rem;height:1.38rem;border-radius:8px;background:linear-gradient(165deg,#fffbeb,#fef3c7 48%,#fde68a);color:#b45309;font-size:.72rem;flex-shrink:0;box-shadow:0 1px 2px #b4530938,0 4px 10px #d977062e;border:1px solid rgba(251,191,36,.55)}.academic-hub__act-text--time,.working-ctx-time-btn__text{font-weight:700;color:#b45309;letter-spacing:.01em;font-size:.72rem;white-space:nowrap}.academic-hub__act--time:hover .working-ctx-time-btn__icon{box-shadow:0 2px 4px #b4530947,0 6px 14px #d9770638}.working-ctx-time-btn--toolbar{gap:.35rem}.working-ctx-time-btn__save{font-size:.72rem;color:#b45309;opacity:.85}.entity-picker-app-window-backdrop{z-index:6200}.entity-picker-app-window-backdrop--stacked{z-index:6300}.entity-picker-app-window.app-window{z-index:6201;max-width:none;max-height:none}.entity-picker-app-window--stacked{z-index:6301}.entity-picker-app-window__toolbar{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .65rem;border-bottom:1px solid var(--border);background:#f8fafc}.entity-picker-app-window__search{flex:1 1 12rem;min-width:8rem}.entity-picker-app-window__sort{flex:0 0 auto;min-width:7.5rem}.entity-picker-app-window__quick{display:flex;flex-wrap:wrap;gap:.25rem}.entity-picker-app-window__filters{flex-shrink:0;padding:.45rem .65rem;border-bottom:1px dashed var(--border)}.entity-picker-app-window__filters-label{display:block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.35rem}.entity-picker-app-window__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.35rem .5rem .5rem}.entity-picker-app-window__group{margin-bottom:.35rem}.entity-picker-app-window__group-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .15rem;position:sticky;top:0;z-index:1;background:#f8fafcf5;border-bottom:1px solid var(--border)}.entity-picker-app-window__group-toggle{display:inline-flex;align-items:center;gap:.35rem;border:none;background:transparent;font-size:.78rem;font-weight:800;color:#0369a1;cursor:pointer;padding:.15rem 0}.entity-picker-app-window__group-count{font-weight:600;opacity:.75}.entity-picker-app-window__group-body{padding:.15rem 0 .35rem .65rem}.entity-picker-app-window__row{display:flex;align-items:flex-start;gap:.45rem;padding:.28rem .15rem;font-size:.8rem;cursor:pointer}.entity-picker-app-window__row-label{flex:1;line-height:1.35}.entity-picker-app-window__row-meta{display:inline-block;margin-left:.35rem;font-size:.68rem;color:var(--muted)}.entity-picker-app-window__empty{padding:1rem;text-align:center;color:var(--muted);font-size:.84rem}.entity-picker-app-window__count{font-size:.78rem;color:var(--muted)}.entity-picker-app-window__foot-actions{display:flex;gap:.4rem}.working-ctx-picker-launch{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .55rem;border-radius:.45rem;background:#f8fafc;border:1px solid var(--border)}.working-ctx-picker-launch__summary{margin:0;flex:1 1 10rem;font-size:.82rem;font-weight:600;line-height:1.35}.working-ctx-picker-launch__btn{flex-shrink:0}@container academic-hub-bar (max-width: 480px){.academic-hub__act-text--opt,.academic-hub__act-text--narrow-hide{display:none}.academic-hub__act-text--catalog,.academic-hub__act-text--time{display:inline}}@media (max-width: 959px){.academic-hub__act-text--catalog{display:inline!important;font-size:.74rem}.academic-hub__act-icon--catalog{width:1.42rem;height:1.42rem;font-size:.74rem}}.academic-hub__vdiv{width:1px;height:1.15rem;background:#cbd5e1;flex-shrink:0}.academic-hub__chip{padding:.18rem .5rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;font-size:.76rem;line-height:1.25;cursor:pointer;white-space:nowrap}.academic-hub__chip--on{border-color:#4f46e5;background:#eef2ff;color:#3730a3;font-weight:600}.academic-hub__seg{display:inline-flex;align-items:center;gap:.28rem;padding:.22rem .5rem;border:none;border-radius:4px;background:transparent;font-size:.74rem;line-height:1.2;cursor:pointer;color:#475569;white-space:nowrap}.academic-hub__seg i{font-size:.68rem;opacity:.85}.academic-hub__seg--on{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 2px #0f172a12}.eval-studio__more-menu--end{right:0;left:auto}.academic-hub__panel{display:flex;flex-direction:column;gap:.35rem;flex:1 1 auto;min-height:0;min-width:0;max-width:100%;overflow:hidden}.academic-hub__panel--sessions .table-wrap--sessions{margin-top:0;flex:1 1 auto;min-height:0;min-width:0;max-width:100%;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.academic-hub__inline-tools .ref-data-pager__meta--full,.academic-hub__inline-tools .ref-data-pager__meta--compact{display:none!important}.ref-data-pager--minimal .ref-data-pager__nav .btn--sm{min-width:1.4rem;padding:.1rem .28rem}.ref-data-pager--minimal .ref-data-pager__label{font-size:.7rem;min-width:2.2rem;text-align:center}.admin-form-modal__title{color:#b91c1c!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.05em}.admin-form-modal__subtitle{margin:0 0 .75rem;font-size:.82rem;color:#64748b;line-height:1.45}.admin-form-modal__footer--split{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.45rem;flex-wrap:wrap}.admin-form-modal__footer-end{display:flex;gap:.45rem;margin-left:auto}.admin-form-modal__form{display:flex;flex-direction:column;gap:.75rem}.admin-form-modal__row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(7.5rem,1fr);gap:.65rem;align-items:end}@media (max-width: 420px){.admin-form-modal__row{grid-template-columns:1fr}}.admin-form-modal__field{display:flex;flex-direction:column;gap:.28rem;min-width:0}.admin-form-modal__field--grow{grid-column:span 1}.admin-form-modal__field--full{width:100%}.admin-form-modal__field>span{font-size:.78rem;font-weight:600;color:#475569}.admin-form-modal__body .input-control,.admin-form-modal__body .select-control,.card-admin-modal.admin-form-modal .admin-modal__hbc-body .input-control,.card-admin-modal.admin-form-modal .admin-modal__hbc-body .select-control{width:100%;min-width:0;max-width:none;box-sizing:border-box;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid #cbd5e1;background:#fff;font:inherit;color:var(--text);box-shadow:inset 0 1px 2px #0f172a0a}.admin-form-modal__body .input-control:focus,.admin-form-modal__body .select-control:focus,.card-admin-modal.admin-form-modal .admin-modal__hbc-body .input-control:focus,.card-admin-modal.admin-form-modal .admin-modal__hbc-body .select-control:focus{outline:none;border-color:#3b82f6;box-shadow:inset 0 1px 2px #0f172a0a,0 0 0 3px #3b82f629}.admin-form-modal__note{margin:0;padding:.5rem .65rem;font-size:.78rem;line-height:1.45;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--radius-sm)}.admin-form-modal__links{display:flex;flex-wrap:wrap;gap:.35rem;padding-top:.15rem}.admin-action-modal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.admin-action-modal__item{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;padding:.6rem .7rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;font:inherit;color:#0f172a;transition:background .12s,border-color .12s,box-shadow .12s}.admin-action-modal__item:hover:not(:disabled){background:#f8fafc;border-color:#93c5fd;box-shadow:0 1px 3px #2563eb14}.admin-action-modal__item:disabled{opacity:.5;cursor:not-allowed}.admin-action-modal__item--danger .admin-action-modal__label{color:#b91c1c}.admin-action-modal__icon{flex-shrink:0;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#eff6ff;color:#2563eb;font-size:.85rem}.admin-action-modal__item--danger .admin-action-modal__icon{background:#fef2f2;color:#dc2626}.admin-action-modal__item-text{display:flex;flex-direction:column;gap:.12rem;min-width:0;flex:1}.admin-action-modal__label{font-size:.86rem;font-weight:600;line-height:1.25}.admin-action-modal__hint{font-size:.74rem;color:#64748b;line-height:1.35}.admin-form-modal__body .eval-studio__chips,.card-admin-modal.admin-form-modal .admin-modal__hbc-body .eval-studio__chips{display:flex;flex-wrap:wrap;gap:.35rem}.admin-action-modal__chev{flex-shrink:0;font-size:.65rem;color:#94a3b8;opacity:.85}.academic-hub-transfer__notice{margin:0 0 .65rem;padding:.55rem .7rem;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;font-size:.78rem;color:#64748b;line-height:1.45}.academic-hub-transfer__stats{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .75rem}.academic-hub-transfer__stat{padding:.14rem .5rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;font-size:.68rem;font-weight:700;color:#475569}.academic-hub-transfer__tabs{margin-bottom:.85rem}.academic-hub-transfer__table-wrap{max-height:min(62vh,30rem);overflow:auto;-webkit-overflow-scrolling:touch;border:2px solid #94a3b8;border-radius:12px;background:#fff;max-width:100%}.academic-hub-transfer__table{width:100%;border-collapse:separate;border-spacing:0;min-width:38rem;table-layout:fixed}.academic-hub-transfer__table th,.academic-hub-transfer__table td{border:1px solid #cbd5e1;vertical-align:middle}.academic-hub-transfer__th{padding:.5rem .35rem;background:#f1f5f9;text-align:center;min-width:4.75rem;min-height:4.75rem;overflow:hidden;word-break:break-word;overflow-wrap:anywhere}.academic-hub-transfer__th--corner{width:9.5rem;min-width:9.5rem;text-align:left;padding:.55rem .65rem;background:linear-gradient(135deg,#fef2f2,#f8fafc)}.academic-hub-transfer__th--corner span{display:block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c;line-height:1.25}.academic-hub-transfer__th-sep{color:#94a3b8!important;font-weight:500!important;font-size:.62rem!important;margin:.08rem 0}.academic-hub-transfer__th-label{display:block;margin-top:.2rem;font-size:.72rem;font-weight:700;color:#0f172a}.academic-hub-transfer__th-hint{display:block;margin-top:.12rem;font-size:.6rem;font-weight:400;color:#64748b;line-height:1.3;word-break:break-word;overflow-wrap:anywhere;hyphens:auto}.academic-hub-transfer__row-head{width:9.5rem;min-width:9.5rem;padding:.55rem .65rem;background:#fff;text-align:left}.academic-hub-transfer__section-title{display:block;margin:0;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#b91c1c;line-height:1.25}.academic-hub-transfer__scope-badge{display:inline-flex;margin-top:.2rem;padding:.08rem .45rem;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;font-size:.68rem;font-weight:700}.academic-hub-transfer__section-hint{display:block;margin-top:.25rem;font-size:.66rem;color:#64748b;line-height:1.35;font-weight:400;word-break:break-word;overflow-wrap:anywhere}.academic-hub-transfer__td{padding:0;background:#fafafa;min-width:4.75rem;height:5.25rem}.academic-hub-transfer__cell-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;width:100%;height:100%;min-height:5.25rem;padding:.45rem .3rem;border:none;background:transparent;cursor:pointer;font:inherit;transition:background .12s,box-shadow .12s}.academic-hub-transfer__cell-btn:hover:not(:disabled){background:#eff6ff;box-shadow:inset 0 0 0 2px #93c5fd}.academic-hub-transfer__cell-btn:disabled{opacity:.45;cursor:not-allowed}.academic-hub-transfer__matrix-dl{font-size:.62rem;color:#64748b}.academic-hub-transfer__import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.academic-hub-transfer__import-card{min-height:5.5rem;height:100%}@media (max-width: 560px){.academic-hub-transfer__import-grid{grid-template-columns:1fr}}.academic-hub-transfer__action-chev{flex-shrink:0;font-size:.72rem;color:#64748b}.academic-hub-transfer__busy{margin:.65rem 0 0;font-size:.8rem;color:#2563eb;font-weight:600}.admin-action-modal__icon--excel{background:#dcfce7;color:#16a34a}.admin-action-modal__icon--word{background:#dbeafe;color:#2563eb}.admin-action-modal__icon--pdf{background:#fee2e2;color:#dc2626}.admin-action-modal__icon--md{background:#f1f5f9;color:#475569}.admin-action-modal__icon--json{background:#ede9fe;color:#7c3aed}.admin-action-modal__icon--js{background:#fef9c3;color:#ca8a04}.admin-console__nav-flyout-row--phien-thi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#0891b2;border-radius:11px 0 0 11px}.admin-console__nav-flyout-sub--phien-thi{min-width:13.5rem}.records-session-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .65rem;padding:.35rem;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc}.records-session-tabs__tab{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .85rem;border-radius:10px;border:1px solid transparent;background:transparent;color:#991b1b;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;transition:background .12s,border-color .12s,box-shadow .12s}.records-session-tabs__tab:hover{background:#fff;border-color:#fecaca}.records-session-tabs__tab--on{background:#fef2f2;border-color:#fca5a5;box-shadow:0 2px 6px #b91c1c1a}.records-session-page__card{padding:1.1rem 1.25rem}.records-session-page__title{margin:0 0 .55rem;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c}.records-session-page__lead{margin:0 0 .5rem;font-size:.86rem;line-height:1.5;color:#334155}.records-scope-card{padding:.65rem .75rem .85rem;display:flex;flex-direction:column;gap:.35rem;min-height:0;overflow:hidden;position:relative}.records-scope-card--booting>:not(.records-scope-card__boot){visibility:hidden;max-height:0;overflow:hidden;pointer-events:none}.records-scope-card__boot{position:absolute;inset:0;z-index:2;min-height:12rem;background:#ffffffeb}.records-scope-toolbar{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.22rem;flex:0 0 auto;min-width:0;border-bottom:none;padding-bottom:0;margin-bottom:0}.records-scope-toolbar__meta{font-size:.72rem;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-scope-toolbar__meta-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:8.5rem}.records-command-bar{flex-wrap:nowrap;align-items:center;gap:.18rem .24rem;margin-bottom:.35rem;padding:.28rem .35rem;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:linear-gradient(180deg,#f8fafc,#fff);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%;max-width:100%;min-width:0;box-sizing:border-box;justify-content:flex-start;position:relative}.records-command-bar .records-scope-toolbar{width:auto;max-width:none;flex:0 0 auto}.records-command-bar>.participant-unified-toolbar__search,.records-command-bar>.participant-grid-search-wrap{flex:1 1 8.5rem;min-width:6.5rem;max-width:100%}@media (max-width: 900px){.records-command-bar,.records-command-bar__segment,:is(.participant-unified-toolbar,.thcs-unified-toolbar,.thcs-grid-chrome,.thcs-report-command-bar,.school-command-bar,.school-command-bar--single,.school-table-query__bar,.academic-hub__bar-row,.grant-toolbar,.grant-directory__toolbar,.grant-overview__toolbar,.ref-toolbar-compact,.ref-data-toolbar,.dash-year-toolbar,.ward-officials-panel__toolbar,.participant-scope-admin-hub__toolbar,.participant-scope-school-matrix__toolbar,.grant-session-access-matrix__toolbar,.year-block__toolbar,.thcs-chamdiem-grade__toolbar,.card-command--primary,.social-page__toolbar,.social-zalo__toolbar,.admin-years__bar,.kscl-toolbar-nav,.menu-tree-toolbar,.admin-audit-log__command-scroll){flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}.records-scope-toolbar__meta-text{max-width:10rem;white-space:nowrap}.records-command-bar .participant-scope-pill{max-width:none}.records-command-bar .participant-scope-pill__text{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-command-bar .participant-unified-toolbar__search,.records-command-bar .participant-grid-search-wrap{flex:0 0 auto;min-width:6.75rem;max-width:11.5rem}.records-command-bar .participant-row-select-action.select-control{min-width:5.5rem!important;max-width:7.5rem;min-height:1.85rem;padding:.28rem .45rem!important;font-size:.76rem!important;line-height:1.2;box-sizing:border-box}.records-command-bar .participant-grid-search{font-size:.76rem!important;line-height:1.2;padding:.18rem .08rem;min-height:1.55rem}.records-command-bar .participant-grid-search-wrap{gap:.22rem;padding:.06rem .42rem .06rem .48rem;min-height:1.85rem;box-sizing:border-box}.records-command-bar .participant-grid-search-wrap__icon{font-size:.74rem}.grant-toolbar__actions,.advanced-pager{flex-wrap:nowrap}}.records-session-hub{display:flex;flex-direction:column;gap:.55rem;min-height:0;min-width:0;max-width:100%;width:100%;overflow-x:hidden}.records-session-hub--kscl-report{flex:1 1 0;min-height:0;min-width:0;overflow:hidden}.records-command-bar__segment{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.18rem .24rem;flex:0 0 auto;flex-shrink:0;min-width:0}.records-summary-grid{display:flex;flex-direction:column;gap:.55rem;min-height:0}.records-summary-grid__scroll{margin-top:0}.records-summary-grid__table thead th{background:linear-gradient(180deg,#f0f7ff,#dbeafe);color:#1e40af}.records-summary-page__body{display:flex;flex-direction:column;gap:.75rem;min-height:0}.records-summary-view-tabs{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.records-summary-view-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .65rem;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;font-size:.76rem;font-weight:600;color:#475569;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.records-summary-view-tab:hover{background:#eff6ff;border-color:#93c5fd}.records-summary-view-tab--active{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#1d4ed8;color:#fff;box-shadow:0 2px 8px #2563eb47}.records-summary-dashboard{display:flex;flex-direction:column;gap:.65rem}.records-summary-dashboard__scope{margin:0;font-size:.78rem}.records-summary-dashboard__kpi{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.5rem}.records-summary-kpi{background:#fff;border:1px solid #e2e8f0;border-top:3px solid #2563eb;border-radius:var(--radius-md);padding:.5rem .55rem;box-shadow:0 1px 4px #0f172a0f}.records-summary-kpi--skeleton .records-summary-kpi__value{opacity:.45}.records-summary-kpi__icon{font-size:.95rem;margin-bottom:.15rem}.records-summary-kpi__value{font-size:1.15rem;font-weight:800;line-height:1.15;color:#0f172a}.records-summary-kpi__label{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;margin-top:.12rem}.records-summary-kpi__sub{font-size:.62rem;color:#94a3b8;margin-top:.08rem}.records-summary-insights{border:1px solid #bfdbfe;border-radius:var(--radius-md);background:linear-gradient(180deg,#f8fbff,#fff);overflow:hidden}.records-summary-insights__head{display:flex;align-items:center;gap:.45rem;padding:.45rem .75rem;background:#eff6ff;border-bottom:1px solid #bfdbfe;font-weight:700;font-size:.8rem;color:#1e40af;text-transform:uppercase;letter-spacing:.04em}.records-summary-insights__body{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:.65rem;padding:.65rem .75rem}@media (max-width: 768px){.records-summary-insights__body{grid-template-columns:1fr}}.records-summary-metrics-table{width:100%;border-collapse:collapse;font-size:.78rem}.records-summary-metrics-table th,.records-summary-metrics-table td{border:1px solid #e2e8f0;padding:.3rem .45rem}.records-summary-metrics-table th{background:#f1f5f9;text-align:left}.records-summary-metrics-table td:last-child{font-weight:700;text-align:right}.records-summary-insights__cards{display:flex;flex-direction:column;gap:.4rem}.records-summary-insight-card{padding:.45rem .55rem;border-left:3px solid #3b82f6;background:#fff;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.78rem;line-height:1.45;color:#334155;box-shadow:0 1px 2px #0f172a0a}.records-summary-tier-badge,.records-summary-tier-chip{display:inline-block;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.records-summary-tier--xs,.records-summary-tier-chip.records-summary-tier--xs{background:#d1fae5;color:#065f46}.records-summary-tier--gioi,.records-summary-tier-chip.records-summary-tier--gioi{background:#dbeafe;color:#1e40af}.records-summary-tier--kha,.records-summary-tier-chip.records-summary-tier--kha{background:#fef3c7;color:#92400e}.records-summary-tier--tb,.records-summary-tier-chip.records-summary-tier--tb{background:#f1f5f9;color:#475569}.records-summary-tier-chip{text-align:center;padding:.45rem .65rem;border-radius:var(--radius-md);min-width:72px}.records-summary-tier-chip__n{display:block;font-size:1.1rem;font-weight:800}.records-summary-tier-chip__l{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase}.records-summary-grid__scroll--pro{box-shadow:0 2px 12px #0f172a14}.records-summary-score-cell{position:relative}.records-summary-score-cell__inner{display:flex;flex-direction:column;gap:.12rem;align-items:flex-end}.records-summary-score-bar{display:block;width:100%;max-width:64px;height:3px;background:#ffffff8c;border-radius:2px;overflow:hidden}.records-summary-score-bar__fill{display:block;height:100%;background:#0f172a59;border-radius:2px}.records-summary-rank-cell{font-variant-numeric:tabular-nums}.records-summary-rank-medal{margin-right:.2rem}.records-summary-row--top1{background:linear-gradient(90deg,rgba(254,243,199,.45) 0%,transparent 100%)}.records-summary-row--top2{background:linear-gradient(90deg,rgba(241,245,249,.7) 0%,transparent 100%)}.records-summary-row--top3{background:linear-gradient(90deg,rgba(255,237,213,.4) 0%,transparent 100%)}.records-summary-row--totals{background:#fff7ed!important}.records-summary-total-note{font-size:.68rem;font-weight:400;color:#64748b;margin-left:.25rem}.records-summary-toggle--on{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.records-summary-virtual-chip{font-size:.72rem}.records-summary-charts{display:flex;flex-direction:column;gap:.75rem}.records-summary-charts__tier-row{display:flex;flex-wrap:wrap;gap:.45rem}.records-summary-charts__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.65rem}.records-summary-chart-box{border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;padding:.55rem .65rem;box-shadow:0 1px 4px #0f172a0d}.records-summary-chart-box__head h4{margin:0 0 .2rem;font-size:.82rem;color:#1e40af}.records-summary-chart-box__head p{margin:0 0 .35rem;font-size:.72rem;color:#64748b}.records-summary-chart-box__plot{min-height:200px}.records-summary-top-schools__title,.records-summary-ward__title{margin:0 0 .45rem;font-size:.88rem;color:#1e3a5f}.records-summary-ward__lead{margin:0 0 .5rem;font-size:.78rem;line-height:1.45}.records-summary-charts__lazy-hint{font-size:.78rem;text-align:center;padding:1rem}.records-summary-ward-empty{margin:0;padding:.75rem;text-align:center}.records-summary-data-filter-banner{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 .65rem;padding:.55rem .75rem;border-radius:.45rem;border:1px solid color-mix(in srgb,var(--primary, #2563eb) 35%,var(--border));background:color-mix(in srgb,var(--primary, #2563eb) 8%,transparent);font-size:.82rem;line-height:1.45;color:var(--text)}.records-summary-filter-bar{position:sticky;top:0;z-index:12;display:flex;flex-direction:column;gap:.45rem;padding:.55rem .65rem;border:1px solid #bfdbfe;border-radius:var(--radius-md);background:linear-gradient(180deg,#f8fbff,#fff);box-shadow:0 2px 8px #0f172a0f}.records-summary-filter-bar__row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .55rem}.records-summary-filter-bar__field{display:flex;flex-direction:column;gap:.12rem;font-size:.72rem}.records-summary-filter-bar__label{font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.62rem}.records-summary-filter-bar__num{width:4.5rem}.records-summary-filter-bar__chip{font-size:.72rem}.records-summary-filter-bar__tiers{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.records-summary-filter-bar__hint{font-size:.72rem}.records-summary-filter-tier{padding:.18rem .55rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;font-size:.72rem;font-weight:600;cursor:pointer}.records-summary-filter-tier--on{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.records-summary-detail{display:flex;flex-direction:column;gap:.75rem}.records-summary-detail__lead{margin:0;font-size:.8rem}.records-summary-detail__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.65rem}.records-summary-detail-block{border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;padding:.55rem .65rem;min-width:0}.records-summary-detail-block__title{margin:0 0 .45rem;font-size:.82rem;color:#1e40af}.records-summary-detail-table{font-size:.76rem}.records-summary-detail-table-wrap--tall{max-height:min(52vh,640px);overflow:auto}.records-summary-forecast-list{display:flex;flex-direction:column;gap:.4rem}.records-summary-forecast{padding:.45rem .55rem;border-radius:var(--radius-sm);font-size:.78rem;line-height:1.45}.records-summary-forecast strong{display:block;margin-bottom:.15rem}.records-summary-forecast p{margin:0}.records-summary-forecast--info{background:#eff6ff;border-left:3px solid #3b82f6}.records-summary-forecast--warn{background:#fffbeb;border-left:3px solid #f59e0b}.records-summary-forecast--success{background:#ecfdf5;border-left:3px solid #10b981}.records-summary-forecast-note{margin:.45rem 0 0;font-size:.68rem}.records-summary-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.45rem .55rem;background:#f1f5f9;border-radius:var(--radius-md);font-size:.8rem}.records-summary-breadcrumb__link{border:none;background:none;color:#2563eb;font-weight:600;cursor:pointer;padding:0}.records-summary-breadcrumb__sep{font-size:.65rem;color:#94a3b8}.records-summary-breadcrumb__current{font-weight:700;color:#0f172a}.records-summary-breadcrumb__open{margin-left:auto}.records-summary-school-link{display:inline-flex;align-items:center;gap:.25rem;border:none;background:none;padding:0;color:#2563eb;font-weight:600;cursor:pointer;text-align:left;max-width:100%}.records-summary-school-link:hover{text-decoration:underline}.records-summary-ward-link,.records-summary-student-link{display:inline-flex;align-items:center;gap:.25rem;border:none;background:none;padding:0;color:#7c3aed;font-weight:600;cursor:pointer;text-align:left}.records-summary-ward-link:hover,.records-summary-student-link:hover{text-decoration:underline}.records-summary-tier-link{cursor:pointer;border:none;font:inherit}.records-summary-tier-link:hover{filter:brightness(.95);box-shadow:0 0 0 1px #2563eb40}.records-eco-trail{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .65rem;border:1px solid #c7d2fe;border-radius:var(--radius-md);background:linear-gradient(180deg,#eef2ff,#fff)}.records-eco-trail__hub{display:flex;flex-wrap:wrap;gap:.35rem}.records-eco-trail__hub-link{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .55rem;border-radius:999px;border:1px solid #cbd5e1;background:#fff;font-size:.72rem;font-weight:700;color:#1e40af;text-decoration:none}.records-eco-trail__hub-link:hover{background:#eff6ff;border-color:#93c5fd}.records-eco-trail__session{font-size:.72rem;display:inline-flex;align-items:center;gap:.3rem}.records-eco-trail__crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem;list-style:none;margin:0;padding:0}.records-eco-trail__crumb{display:inline-flex;align-items:center;gap:.2rem}.records-eco-trail__sep{font-size:.55rem;color:#94a3b8}.records-eco-trail__btn{display:inline-flex;align-items:center;gap:.28rem;padding:.18rem .45rem;border:1px solid #bfdbfe;border-radius:999px;background:#fff;font-size:.72rem;font-weight:600;color:#1d4ed8;cursor:pointer}.records-eco-trail__btn:hover{background:#dbeafe}.records-eco-trail__hint{margin:0;font-size:.68rem}.records-summary-insights__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.records-eco-action{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .55rem;border:1px dashed #93c5fd;border-radius:var(--radius-sm);background:#f8fafc;font-size:.72rem;font-weight:600;color:#1e40af;cursor:pointer}.records-eco-action:hover{background:#eff6ff}.records-eco-action--accent{border-color:#c4b5fd;color:#5b21b6}.records-summary-school-link__icon{font-size:.62rem;opacity:.65}.records-summary-school-cell--active{background:#eff6ff!important}.records-summary-section-title{margin:.25rem 0 0;font-size:.88rem;color:#1e3a5f}.records-summary-overview-actions{display:flex;justify-content:center;padding:.25rem 0 .5rem}.records-summary-row--more-cell{text-align:center;font-size:.78rem;color:#64748b;background:#f8fafc}.records-summary-rankings{display:flex;flex-direction:column;gap:.65rem}.records-summary-rankings__nav{display:flex;flex-wrap:wrap;gap:.3rem}.records-summary-rankings__nav-btn{padding:.28rem .6rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;font-size:.74rem;font-weight:600;cursor:pointer}.records-summary-rankings__nav-btn--on{background:#1e40af;border-color:#1e40af;color:#fff}.records-summary-rankings__tier-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.45rem}.records-summary-rankings__tier-card{border:1px solid #e2e8f0;border-radius:var(--radius-md);padding:.45rem .55rem;background:#fff}.records-summary-rankings__tier-card-title{font-size:.68rem;font-weight:700;text-transform:uppercase;color:#64748b;margin-bottom:.35rem}.records-summary-rankings__tier-card-rows{display:flex;flex-wrap:wrap;gap:.3rem}.records-summary-rankings__rules{display:flex;flex-direction:column;gap:.4rem}.records-summary-rankings__subject-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.records-summary-rankings__subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.55rem}.records-summary-rankings--stacked{gap:1rem}.records-summary-rankings--stacked .records-summary-detail-block{margin:0}.records-summary-page--unified .records-summary-page__body{overflow-y:auto;max-height:calc(100vh - 11.5rem);padding-right:.15rem}.records-summary-unified{display:flex;flex-direction:column;gap:.55rem;min-width:0}.records-hub-rail--row{position:sticky;top:0;z-index:20;display:flex;flex-direction:row;align-items:stretch;gap:.55rem;margin-bottom:.15rem;padding:.5rem .65rem;border:1px solid #93c5fd;border-radius:var(--radius-md);background:linear-gradient(165deg,#eef5ff,#fff,#f8fafc);box-shadow:0 6px 10px -2px #2563eb1a,0 14px 28px -10px #2563eb33}.records-hub-rail__head{display:flex;align-items:center;gap:.45rem;flex-shrink:0;padding-right:.55rem;border-right:1px solid #bfdbfe;min-width:0;align-self:center}.records-hub-rail__head-icon{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;border-radius:.55rem;background:linear-gradient(145deg,#2563eb,#4f46e5 55%,#6366f1);color:#fff;font-size:1rem;box-shadow:0 4px 14px #2563eb61,inset 0 1px #ffffff59;flex-shrink:0}.records-hub-rail__title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#1e3a8a;line-height:1.2;white-space:nowrap}.records-hub-rail__subtitle{display:none}.records-hub-rail__nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;flex:1;min-width:0;align-items:stretch}.records-hub-rail__card{position:relative;padding:0;border:none;background:transparent;cursor:pointer;border-radius:.6rem;text-align:center;min-width:0}.records-hub-rail__card-float{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;height:100%;min-height:4.35rem;padding:.38rem .25rem .42rem;border:1px solid #e2e8f0;border-radius:.6rem;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 3px 6px #0f172a0f,0 10px 20px -8px #2563eb24;animation:records-hub-float 3.6s ease-in-out infinite;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.records-hub-rail__card:hover .records-hub-rail__card-float{transform:translateY(-3px);border-color:#93c5fd;box-shadow:0 8px 16px #0f172a17,0 16px 30px -10px #2563eb3d}.records-hub-rail__card--on .records-hub-rail__card-float{border-color:var(--hub-tone, #2563eb);border-width:2px;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--hub-tone, #2563eb) 10%,#fff));box-shadow:0 5px 10px #0f172a14,0 14px 28px -8px color-mix(in srgb,var(--hub-tone, #2563eb) 38%,transparent);animation:records-hub-float-active 2.8s ease-in-out infinite}@keyframes records-hub-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes records-hub-float-active{0%,to{transform:translateY(-2px)}50%{transform:translateY(-5px)}}.records-hub-rail__level{font-size:.58rem;font-weight:800;letter-spacing:.06em;color:#94a3b8;line-height:1}.records-hub-rail__icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:.55rem;background:linear-gradient(155deg,color-mix(in srgb,var(--hub-tone, #2563eb) 22%,#fff),#fff 70%);color:var(--hub-tone, #2563eb);font-size:1.12rem;box-shadow:inset 0 1px #fffffff2,0 3px 8px color-mix(in srgb,var(--hub-tone, #2563eb) 18%,transparent)}.records-hub-rail__label{font-size:.68rem;font-weight:800;color:#0f172a;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media (max-width: 1100px){.records-hub-rail--row{flex-wrap:wrap;gap:.4rem;padding:.45rem .5rem}.records-hub-rail__head{border-right:none;padding-right:0;width:100%}.records-hub-rail__nav{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;width:100%;gap:.45rem;padding-bottom:.2rem;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.records-hub-rail__card{min-width:4.6rem;flex:0 0 auto}.records-hub-rail__card-float{min-height:4.1rem;animation:none}.records-hub-rail__icon-wrap{width:2.1rem;height:2.1rem;font-size:1rem}}@media (max-width: 640px){.records-hub-rail__head-icon{width:1.85rem;height:1.85rem;font-size:.88rem}.records-hub-rail__title{font-size:.66rem}.records-hub-rail__card{min-width:4.25rem}.records-hub-rail__card-float{min-height:3.85rem;padding:.32rem .2rem .36rem}.records-hub-rail__icon-wrap{width:1.95rem;height:1.95rem;font-size:.95rem}.records-hub-rail__label{font-size:.6rem}}.records-summary-unified__rail,.records-hub-rail:not(.records-hub-rail--row){position:sticky;top:.25rem;display:flex;flex-direction:column;gap:.55rem;padding:.6rem .5rem;border:1px solid #93c5fd;border-radius:var(--radius-md);background:linear-gradient(165deg,#f0f7ff,#fff 42%,#f8fafc);box-shadow:0 4px 6px -1px #2563eb14,0 12px 28px -8px #2563eb2e}.records-summary-unified__intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:.55rem;align-items:stretch}@media (max-width: 1100px){.records-summary-unified__intro{grid-template-columns:1fr}}.records-coverage{padding:.5rem .6rem;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;box-shadow:0 4px 14px #0f172a0f}.records-coverage__head{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:800;color:#166534;margin-bottom:.3rem}.records-coverage__head--next{margin-top:.45rem;color:#b45309}.records-coverage__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.18rem}.records-coverage__list li{display:flex;align-items:flex-start;gap:.3rem;font-size:.64rem;line-height:1.35;color:#334155}.records-coverage__list--done li i{color:#16a34a;margin-top:.12rem;font-size:.55rem}.records-coverage__list--planned li i{color:#d97706;margin-top:.15rem;font-size:.35rem}.records-coverage__actions{margin-top:.45rem;padding-top:.35rem;border-top:1px dashed #e2e8f0}.records-summary-macro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:.55rem}@media (max-width: 900px){.records-summary-macro-grid{grid-template-columns:1fr}}.records-summary-advanced{padding:.5rem .6rem;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;box-shadow:0 4px 14px #0f172a0d}.records-summary-advanced__head{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:800;color:#1e40af;margin-bottom:.4rem}.records-summary-server-note{font-size:.72rem;margin-bottom:.45rem}.records-alerts__badge{margin-left:auto;font-size:.62rem;font-weight:800;padding:.1rem .35rem;border-radius:999px;background:#dbeafe;color:#1d4ed8}.records-alerts__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:220px;overflow-y:auto}.records-alerts__item{display:flex;gap:.4rem;align-items:flex-start;padding:.35rem .45rem;border-radius:var(--radius-sm);font-size:.7rem}.records-alerts__item strong{display:block;margin-bottom:.1rem}.records-alerts__item p{margin:0;font-size:.65rem}.records-alerts__item--warn{background:#fffbeb;border:1px solid #fde68a}.records-alerts__item--warn i{color:#d97706}.records-alerts__item--danger{background:#fef2f2;border:1px solid #fecaca}.records-alerts__item--danger i{color:#dc2626}.records-alerts__item--success{background:#ecfdf5;border:1px solid #a7f3d0}.records-alerts__item--success i{color:#059669}.records-alerts__item--info{background:#f8fafc;border:1px solid #e2e8f0}.records-compare__timeline{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.records-compare__chip{display:flex;flex-direction:column;gap:.08rem;padding:.3rem .45rem;border:1px solid #bfdbfe;border-radius:.45rem;background:#eff6ff;font-size:.65rem}.records-compare__table-wrap{overflow-x:auto;margin-bottom:.45rem}.records-compare__table{width:100%;border-collapse:collapse;font-size:.66rem}.records-compare__table th,.records-compare__table td{border:1px solid #e2e8f0;padding:.28rem .4rem;text-align:left}.records-compare__table th{background:#f8fafc}.records-compare__up{color:#059669;font-weight:700}.records-compare__down{color:#dc2626;font-weight:700}.records-compare__trends h4{margin:0 0 .3rem;font-size:.72rem}.records-compare__trends ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.records-compare__trend{display:flex;align-items:center;gap:.35rem;font-size:.68rem}.records-compare__trend--up{color:#059669}.records-compare__trend--down{color:#dc2626}.records-corr__matrix-wrap{overflow-x:auto;margin-bottom:.45rem}.records-corr__matrix{border-collapse:collapse;font-size:.68rem;min-width:100%}.records-corr__matrix th,.records-corr__matrix td{border:1px solid #e2e8f0;padding:.28rem .35rem;text-align:center}.records-corr__strong{background:#dbeafe;font-weight:800;color:#1d4ed8}.records-corr__mid{background:#eff6ff}.records-corr__regression h4{margin:0 0 .3rem;font-size:.72rem}.records-corr__regression ul{list-style:none;margin:0;padding:0;font-size:.68rem}.records-corr__regression li{margin-bottom:.35rem}.records-corr__r2{margin-left:.35rem;font-size:.62rem;color:#6366f1;font-weight:700}.records-summary-unified__scale-note{display:flex;gap:.35rem;padding:.4rem;border-radius:var(--radius-sm);background:#f1f5f9;font-size:.62rem;line-height:1.4;color:#475569}.records-summary-unified__scale-note p{margin:0}.records-summary-unified__main{display:flex;flex-direction:column;gap:.55rem;min-width:0}.records-summary-unified__pyramid{padding:.55rem .7rem;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:linear-gradient(135deg,#faf5ff,#eff6ff 55%,#ecfdf5)}.records-summary-unified__pyramid-title{display:flex;align-items:center;gap:.4rem;font-weight:800;font-size:.78rem;color:#312e81;margin-bottom:.35rem}.records-summary-unified__pyramid-flow{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .35rem;font-size:.72rem;font-weight:700;color:#1e40af;margin-bottom:.35rem}.records-summary-unified__pyramid-flow i{font-size:.55rem;color:#94a3b8}.records-summary-unified__pyramid p{margin:0;font-size:.72rem}.records-summary-hub-section{border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;overflow:hidden;scroll-margin-top:5.25rem}.records-summary-hub-section__head{border-bottom:1px solid #e2e8f0;background:#f8fafc}.records-summary-hub-section__toggle{display:grid;grid-template-columns:auto auto 1fr auto;gap:.45rem;align-items:center;width:100%;padding:.45rem .65rem;border:none;background:transparent;cursor:pointer;text-align:left}.records-summary-hub-section__level{font-size:.62rem;font-weight:800;letter-spacing:.06em;color:#6366f1;min-width:1.6rem}.records-summary-hub-section__icon{color:#2563eb;font-size:.9rem}.records-summary-hub-section__titles{display:flex;flex-direction:column;gap:.08rem;min-width:0}.records-summary-hub-section__label{font-size:.82rem;color:#0f172a}.records-summary-hub-section__desc{font-size:.68rem;line-height:1.3}.records-summary-hub-section__chev{color:#94a3b8;font-size:.72rem}.records-summary-hub-section__body{padding:.55rem .65rem .7rem;display:flex;flex-direction:column;gap:.55rem}#participant-grid .data-grid.thcs-criteria-grid thead .data-grid__col-resize{z-index:25}.records-session-hub__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.records-session-hub__actions{display:flex;align-items:center;gap:.35rem}.records-session-hub__meta{margin:0;font-size:.82rem}.records-session-hub__warn{margin:0;padding:.55rem .75rem}.records-session-hub__table-wrap{overflow:auto;border:1px solid #cbd5e1;border-radius:var(--radius-md);max-height:min(72vh,920px);background:#fff}.records-session-hub__table-wrap--wide{max-height:min(78vh,980px)}.records-session-hub__table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.8rem}.records-session-hub__table th,.records-session-hub__table td{border:1px solid #cbd5e1;padding:.35rem .5rem;white-space:nowrap}.records-session-hub__table th{position:sticky;top:0;z-index:1;background:#1e3a5f;color:#fff;font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.03em}.records-session-hub__table tbody tr:nth-child(2n){background:#f8fafc}.records-session-hub__table td.num,.records-session-hub__table th.num{text-align:center}.records-session-hub__foot{background:#fff7ed;font-weight:700}.participant-data-inner.participant-data-card--grid{border:none;box-shadow:none;padding:0;background:transparent;display:flex;flex-direction:column;flex:1 1 0;min-height:0;min-width:0;overflow:hidden}.participant-data-inner.participant-data-card--grid>.participant-grid-shell{flex:1 1 0;min-height:0;min-width:0}.admin-console__main:has(.records-session-page){display:flex;flex-direction:column;overflow:hidden;padding-bottom:.85rem;min-height:0}.records-session-page{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;overflow:hidden}.records-scope-card{flex:1 1 auto;min-height:0}.records-scope-card>.records-command-bar{flex:0 0 auto}.records-scope-page-body{flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.records-scope-page-body:has(.records-summary-page){overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.records-summary-page{flex:1 1 auto;min-height:min-content;min-width:0;overflow:visible}.records-summary-page__body{flex:1 1 auto;min-height:min-content;overflow:visible}.records-summary-page .records-summary-grid__scroll:not(.records-summary-grid__scroll--tall){max-height:none;overflow:visible}.records-summary-page .records-summary-grid__scroll--tall{max-height:min(68vh,880px);overflow:auto}.records-scope-card>:not(.records-command-bar):not(.records-scope-card__boot):not(.callout):not(.records-scope-page-body){flex:1 1 0;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.participant-grid-shell--drop{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.participant-grid-drop-overlay{position:absolute;inset:0;z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;pointer-events:none;background:#e0f2feb8;color:#0c4a6e;font-size:1rem;font-weight:700;text-align:center;padding:1rem}.participant-grid-drop-overlay i{font-size:2.2rem;opacity:.9}#participant-grid.participant-grid-scroll:empty,#participant-grid.participant-grid-scroll .participant-grid-empty{min-height:100%}.records-session-page__hint{margin:0;font-size:.8rem;line-height:1.45}.academic-hub__table-wrap{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid #e2e8f0;border-radius:var(--radius-md);background:#fff;-webkit-overflow-scrolling:touch}.academic-hub__table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:auto}.academic-hub__table tbody tr{cursor:default}.academic-hub__table tbody tr:nth-child(2n){background:#fafbfc}.academic-hub__table tbody tr:hover{background:#f1f5f9}.academic-hub__table thead th,.academic-hub__table tbody td{white-space:nowrap;border:1px solid #e2e8f0}.academic-hub__table thead th{padding:.38rem .55rem;border-bottom:1px solid #cbd5e1;background:#f8fafc}.academic-hub__table tbody td{padding:.32rem .55rem;vertical-align:middle}.academic-hub__table tbody td:first-child{font-size:.78rem;color:#64748b}.academic-hub__table tbody td:nth-child(2) strong{font-size:.84rem;font-weight:700;color:#0f172a}.academic-hub__table .eval-studio__th-actions,.academic-hub__table .eval-studio__td-actions{min-width:7.25rem}.academic-hub__table .eval-studio__grades{white-space:nowrap;font-size:.76rem}.academic-hub__table .ref-data-actions .btn--sm{padding:.14rem .34rem;min-height:1.45rem;font-size:.74rem}.academic-hub__row-actions{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.1rem;white-space:nowrap}.academic-hub__row-actions .btn--sm{padding:.14rem .34rem;min-height:1.45rem;font-size:.74rem}.academic-hub__hint{font-size:.76rem;color:var(--text-secondary)}.academic-hub__hint--inline{padding:.15rem .35rem}.academic-hub__empty{font-size:.82rem}.academic-hub__modal-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.academic-hub__modal-head h3{margin:0}.academic-hub__modal--wide{max-width:34rem}.academic-hub__modal-note{margin:.35rem 0 0;font-size:.78rem;color:var(--text-secondary)}.academic-hub__modal-actions--split{justify-content:space-between;align-items:center}.academic-hub__modal-actions-right{display:flex;gap:.5rem}.academic-hub__danger{color:#b91c1c!important}.academic-hub__panel--sessions .table-wrap--sessions{font-size:.82rem}.academic-hub__panel--sessions .table-wrap--sessions th,.academic-hub__panel--sessions .table-wrap--sessions td{padding:.32rem .5rem;vertical-align:middle;border:1px solid #cbd5e1;white-space:nowrap}.academic-hub__panel--sessions .table-wrap--sessions .kind-cell__text,.academic-hub__panel--sessions .table-wrap--sessions .ref-data-muted{white-space:nowrap}.academic-hub-session-form__hint{display:flex;align-items:center;gap:.35rem}.catalog-auto-hint{font-style:normal;font-weight:500;font-size:.72rem;color:#64748b}.academic-hub-session-form__auto-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.academic-hub-session-form__auto-code{padding:.28rem .45rem;border-radius:var(--radius-sm);background:#f1f5f9;border:1px solid #e2e8f0;font-size:.82rem}.academic-hub-picker{flex-shrink:0}.academic-hub-picker__trigger{display:inline-flex;align-items:center;gap:.28rem;max-width:14rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.academic-hub-picker__trigger-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-hub-picker__caret{font-size:.62rem;opacity:.75}.academic-hub-picker .thcs-school-scope__row{align-items:flex-start;padding:.38rem .5rem}.academic-hub-picker .thcs-school-scope__row input[type=checkbox]{margin-top:.12rem}.academic-hub-picker__row-text{display:flex;flex-direction:column;align-items:flex-start;gap:.14rem;flex:1 1 auto;min-width:0}.academic-hub-picker__row-label{display:block;width:100%;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;line-height:1.25;color:#b91c1c}.academic-hub-picker__row-hint{display:block;width:100%;font-size:.7rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.03em;line-height:1.3}.academic-hub-add-pop{position:relative;flex-shrink:0}.academic-hub-add-pop__trigger{display:inline-flex;align-items:center;gap:.22rem}.academic-hub-add-pop__caret{font-size:.58rem;opacity:.85}.academic-hub-add-pop__panel{width:min(14rem,calc(100vw - 1.5rem));display:flex;flex-direction:column;gap:.45rem;padding:.55rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-card)}.academic-hub-add-pop__field{display:flex;flex-direction:column;gap:.18rem;font-size:.72rem;font-weight:600;color:#475569}.academic-hub-add-pop__field .input-control{font-size:.8rem;padding:.32rem .45rem;min-height:1.65rem}.academic-hub-add-pop__foot{display:flex;justify-content:flex-end;gap:.35rem;margin-top:.15rem}@media (max-width: 959px){.academic-hub,.academic-hub--hub-fixed{width:100%;max-width:100%;min-width:0;min-height:0;overflow-x:clip;overscroll-behavior:none;box-sizing:border-box;touch-action:pan-y pinch-zoom}.academic-hub__bar,.academic-hub__panel,.academic-hub__table-wrap{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.academic-hub__bar{overflow-x:clip}.academic-hub__bar-row{width:100%;max-width:100%;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.academic-hub__zone--ctx{overflow:hidden;max-width:100%}.academic-hub__zone,.academic-hub__session-mount{min-width:0}.academic-hub__inline-tools{max-width:100%}.academic-hub__panel--sessions{overflow:hidden;width:100%;max-width:100%;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;touch-action:pan-y pinch-zoom}.academic-hub__panel--sessions>.table-wrap--sessions{flex:1 1 auto;min-height:0}.admin-edu-surface .academic-hub--hub-fixed .table-wrap--sessions,.academic-hub__panel--sessions .table-wrap--sessions{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:auto!important;overscroll-behavior:contain!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.academic-hub__panel--sessions .table--sessions{min-width:34rem}.academic-hub__panel--sessions .table--sessions .ref-data-actions{display:flex;flex-wrap:wrap;gap:.12rem;min-width:5.5rem}.academic-hub__panel--sessions .table--sessions .ref-data-actions .btn--sm{font-size:.68rem;padding:.18rem .38rem;min-height:1.55rem}.academic-hub__panel--sessions .kind-cell__text{max-width:12rem;overflow:hidden;text-overflow:ellipsis}.academic-hub-catalog__tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.35rem}.academic-hub-catalog__tab{flex:0 0 auto}.academic-hub-catalog__table-wrap{max-height:none}.academic-hub-picker__trigger{max-width:min(11rem,42vw)}.academic-hub-transfer__table{min-width:34rem}.records-scope-card,.records-session-hub,.records-session-page__card{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.records-session-hub__table-wrap,.records-session-hub__table-wrap--wide{max-width:100%;-webkit-overflow-scrolling:touch}.records-session-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.records-session-tabs__tab{flex:0 0 auto}.records-command-bar .records-scope-toolbar{width:auto;max-width:none;flex:0 0 auto}}.scope-entry-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.2;white-space:nowrap;border:1px solid transparent}.scope-entry-badge--ok{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.scope-entry-badge--warn{background:#fffbeb;color:#b45309;border-color:#fde68a}.scope-entry-badge--lock{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.scope-entry-badge--muted{background:#f1f5f9;color:#475569;border-color:#cbd5e1}.participant-scope-lock-banner{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.scope-lock-panel{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-size:.82rem}.scope-lock-panel--compact{margin-inline:.25rem}.scope-lock-panel__summary{cursor:pointer;font-weight:600;color:var(--text-muted, #64748b)}.scope-lock-panel__table-wrap{overflow-x:auto;margin-top:.5rem}.scope-lock-panel__table{width:100%;border-collapse:collapse;font-size:.82rem}.scope-lock-panel__table th,.scope-lock-panel__table td{padding:.35rem .5rem;border-bottom:1px solid #e2e8f0;text-align:left}.scope-lock-panel__actions{display:flex;flex-wrap:wrap;gap:.25rem}.scope-lock-panel__reopen{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.scope-lock-panel__reason{min-width:12rem;padding:.25rem .45rem;border:1px solid #cbd5e1;border-radius:.35rem;font-size:.82rem}.scope-manage-btn__text{white-space:nowrap}.scope-manage-modal-backdrop{position:fixed;inset:0;z-index:12000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem}.scope-manage-modal{width:min(920px,96vw);max-height:min(88vh,900px);overflow:auto;background:var(--surface, #fff);border-radius:.65rem;box-shadow:0 20px 50px #0003;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem}.scope-manage-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.scope-manage-modal__title{margin:0;font-size:1.15rem}.scope-manage-modal__sub{margin:.35rem 0 0;font-size:.85rem;color:#64748b}.scope-manage-modal__status-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.scope-manage-modal__year-pill{padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.scope-manage-modal__year-pill--active{background:#ecfdf5;color:#047857}.scope-manage-modal__year-pill--readonly,.scope-manage-modal__year-pill--archived{background:#fef2f2;color:#b91c1c}.scope-manage-modal__ok{color:#047857;font-size:.82rem;font-weight:600}.scope-manage-modal__blocked{color:#b91c1c;font-size:.82rem;font-weight:600}.scope-manage-modal__alert{padding:.65rem .75rem;border-radius:.45rem;font-size:.85rem}.scope-manage-modal__alert p{margin:.35rem 0 0}.scope-manage-modal__alert--danger{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.scope-manage-modal__alert--warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.scope-manage-modal__guide{font-size:.84rem;color:#475569}.scope-manage-modal__guide p{margin:0 0 .35rem}.scope-manage-modal__hint{color:#b45309}.scope-manage-modal__body{min-height:8rem}.scope-manage-modal__foot{display:flex;justify-content:flex-end;padding-top:.25rem;border-top:1px solid #e2e8f0}.scope-lock-panel--embedded .scope-lock-panel__table-wrap{margin-top:0}.grant-scope-bridge{margin:.65rem 0;padding:.75rem .85rem;border-radius:.5rem;border:1px solid #e2e8f0;background:#f8fafc;font-size:.84rem}.grant-scope-bridge--inline{margin-top:.75rem}.grant-scope-bridge__cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 720px){.grant-scope-bridge__cols{grid-template-columns:1fr}}.grant-scope-bridge__head{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem}.grant-scope-bridge__text{margin:0 0 .5rem;color:#475569}.grant-scope-bridge__link{display:inline-flex}.grant-scope-matrix-hub{margin-top:.65rem;border-top:1px solid #e2e8f0;padding-top:.55rem}.grant-scope-matrix-hub__head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem .75rem;margin-bottom:.45rem;font-size:.82rem;color:#475569}.grant-scope-matrix-hub__head>i{color:#64748b;margin-top:.15rem}.grant-scope-matrix-hub__head-text{flex:1 1 12rem;min-width:0}.grant-scope-matrix-hub__head-text strong{display:block;color:#0f172a;margin-bottom:.15rem}.grant-scope-matrix-hub__year{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem}.grant-scope-matrix-hub__year select{min-width:7rem}.grant-console--nested{min-height:14rem}.grant-console--nested .grant-directory{max-height:min(42vh,22rem)}.grant-scope-matrix-hub__matrices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;align-items:stretch;min-height:min(44vh,24rem)}.grant-scope-matrix-hub:not(.grant-scope-matrix-hub--modal) .grant-scope-matrix-hub__tabs{display:none}.grant-scope-matrix-hub:not(.grant-scope-matrix-hub--modal) .grant-scope-matrix-hub__school-toolbar{display:none}.grant-scope-matrix-hub__col{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.grant-scope-matrix-hub__col--lock .grant-scope-matrix-hub__lock-block,.grant-scope-matrix-hub__col .grant-session-access-matrix,.grant-scope-matrix-hub__col .participant-scope-school-matrix{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.grant-scope-matrix-hub__col .grant-scope-matrix__table-wrap{flex:1;min-height:0}.grant-scope-matrix-hub__col .grant-tree-panel--scroll{flex:1;min-height:0;max-height:none;overflow:hidden;display:flex;flex-direction:column}.grant-scope-matrix-hub__lock-block{border-top:none;border-left:1px dashed #e2e8f0;padding-top:0;padding-left:.5rem;min-width:0}.grant-scope-matrix-hub__lock-title{margin:0 0 .35rem;font-size:.76rem;font-weight:600;color:#64748b;text-transform:uppercase}.grant-session-access-matrix__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.grant-session-access-matrix__title{font-size:.76rem;font-weight:600;color:#64748b;text-transform:uppercase}.grant-session-access-matrix__search{min-width:9rem;max-width:12rem}.grant-session-access-matrix__inherit{color:#94a3b8;font-size:.7rem;margin-left:.2rem}.admin-nav-perm-tree__row--inherited .admin-nav-perm-tree__label-text{font-style:italic}.grant-scope-matrix__hint,.grant-scope-matrix__footnote{margin:.35rem 0 0;font-size:.72rem;color:#94a3b8}.grant-scope-matrix-hub__matrix-single,.grant-scope-unified-matrix{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.grant-scope-unified-matrix .grant-scope-matrix__table-wrap{flex:1;min-height:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.grant-scope-matrix__grid-fit{display:block;width:100%;min-width:0;box-sizing:border-box}.grant-scope-matrix__table-wrap>.grant-scope-matrix__grid-fit{min-width:0}.grant-scope-modal .grant-scope-col--school .grant-console__editor-body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.grant-scope-modal .grant-scope-col--school .grant-scope-matrix-hub__matrix-single{flex:1 1 auto;min-height:0;max-height:100%;overflow:hidden;display:flex;flex-direction:column}.grant-scope-modal .grant-scope-col--school .grant-scope-unified-matrix,.grant-scope-modal .grant-scope-col--school .grant-scope-unified-matrix.grant-tree-panel--scroll{flex:0 1 auto;min-height:0;max-height:100%;overflow:hidden;display:flex;flex-direction:column;padding:0;margin:0}.grant-scope-modal .grant-scope-col--school .grant-scope-matrix__table-wrap.table-wrap--school-profile{flex:1 1 auto;min-height:0;max-height:100%;height:auto;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:auto}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-console__editor-body,.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-scope-matrix-hub__matrix-single{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-scope-unified-matrix,.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-scope-unified-matrix.grant-tree-panel--scroll{flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-scope-matrix__table-wrap{flex:1 1 auto;min-height:0;max-height:100%;overflow-y:auto;overflow-x:auto;scrollbar-width:none}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-scope-matrix__table-wrap::-webkit-scrollbar{width:6px;height:6px}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-scope-matrix__table-wrap::-webkit-scrollbar-thumb{background:transparent;border-radius:99px}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-scope-matrix__table-wrap:hover,.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-scope-matrix__table-wrap:focus-within{scrollbar-width:thin}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-scope-matrix__table-wrap:hover::-webkit-scrollbar-thumb,.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school .grant-scope-matrix__table-wrap:focus-within::-webkit-scrollbar-thumb{background:#64748b73}.grant-scope-modal .grant-scope-col--school .grant-scope-matrix__table-wrap .admin-nav-perm-tree__head{position:sticky;top:0;z-index:2}.grant-console--hub-fixed .grant-scope-unified-matrix.grant-tree-panel--scroll{overflow:hidden;padding:0;margin-bottom:0}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope-unified.grant-scope-matrix__grid-fit,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope.grant-scope-matrix__grid-fit{display:grid;width:100%;min-width:0;box-sizing:border-box}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope-unified.grant-scope-matrix__grid-fit{grid-template-columns:1.85rem minmax(8rem,max-content) 4.15rem 3.4rem 3.4rem 3.4rem minmax(0,1fr)}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope.grant-scope-matrix__grid-fit{grid-template-columns:minmax(8rem,max-content) 4.15rem 3.4rem 3.4rem 3.4rem minmax(0,1fr)}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;width:auto}.admin-nav-perm-tree--grant-scope-unified>.grant-scope-matrix__hint,.admin-nav-perm-tree--grant-scope>.grant-scope-matrix__hint{grid-column:1 / -1}@supports not (grid-template-columns: subgrid){.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope-unified.grant-scope-matrix__grid-fit,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope.grant-scope-matrix__grid-fit{display:block}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row{grid-template-columns:1.85rem minmax(8rem,11.5rem) 4.15rem 3.4rem 3.4rem 3.4rem minmax(0,1fr);grid-column:auto;width:100%}.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__head,.admin-nav-perm-tree--split-cols.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__row{grid-template-columns:minmax(8rem,11.5rem) 4.15rem 3.4rem 3.4rem 3.4rem minmax(0,1fr);grid-column:auto;width:100%}}.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head .admin-nav-perm-tree__col-access,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head .admin-nav-perm-tree__col-view,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head .admin-nav-perm-tree__col-edit,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head .admin-nav-perm-tree__col-hide,.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__head .admin-nav-perm-tree__col-access,.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__head .admin-nav-perm-tree__col-view,.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__head .admin-nav-perm-tree__col-edit,.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__head .admin-nav-perm-tree__col-hide,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head .grant-scope-unified-matrix__grant-col{white-space:nowrap;padding-inline:.2rem;letter-spacing:.01em}.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head>span,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row>.grant-scope-school-table__col-stt,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row>.admin-nav-perm-tree__label,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row>.admin-nav-perm-tree__access,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row>.admin-nav-perm-tree__view,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row>.admin-nav-perm-tree__edit,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row>.admin-nav-perm-tree__hide{padding:.28rem .35rem;min-height:1.75rem}.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head .grant-scope-school-table__col-stt,.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row>.grant-scope-school-table__col-stt{border-right:1px solid #d1d5db}.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__label,.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__label{min-width:0}.grant-scope-unified-matrix__head-grant-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;padding:.32rem .2rem;min-height:2.85rem;box-sizing:border-box;border-right:1px solid #d1d5db}.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head .admin-nav-perm-tree__col-hide.grant-scope-unified-matrix__head-grant-cell{border-right:none}.grant-scope-unified-matrix__head-bulk{display:flex;align-items:center;justify-content:center;margin:0;padding:0;line-height:0;cursor:pointer}.grant-scope-unified-matrix__head-text{display:block;width:100%;font-weight:600;color:var(--accent, #1e40af);font-size:.62rem;text-transform:uppercase;letter-spacing:.02em;line-height:1.2;text-align:center;white-space:nowrap}.admin-nav-perm-tree__row--pending{opacity:.72}.admin-nav-perm-tree--grant-scope-unified .grant-scope-unified-matrix__head-bulk input{cursor:pointer;margin:0;flex-shrink:0}.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__label{padding-left:.4rem;padding-right:.25rem}.grant-scope-console--cols-3 .admin-nav-perm-tree--grant-scope-unified input[type=checkbox],.grant-scope-console--cols-3 .admin-nav-perm-tree--grant-scope-unified input[type=radio]{accent-color:#2563eb;width:.95rem;height:.95rem;cursor:pointer}.grant-scope-school-table__col-stt{display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:600;color:#64748b;padding-inline:.1rem}.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head .grant-scope-school-table__col-stt{font-size:.62rem;text-transform:uppercase;letter-spacing:.02em}.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__head .admin-nav-perm-tree__col-hide,.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__head .admin-nav-perm-tree__col-hide{border-right:none}.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row>.admin-nav-perm-tree__hide,.admin-nav-perm-tree--grant-scope .admin-nav-perm-tree__row>.admin-nav-perm-tree__hide{border-right:none}.grant-scope-school-table__group{display:flex;align-items:center;min-height:1.55rem;border-top:1px solid #e2e8f0}.admin-nav-perm-tree--grant-scope-unified .grant-scope-school-table__group,.admin-nav-perm-tree--grant-scope .grant-scope-school-table__group{grid-column:1 / -1;width:auto;box-sizing:border-box}.grant-scope-school-table__group--grade{background:linear-gradient(90deg,#eff6ff,#f8fafc);border-top-color:#bfdbfe;padding:.3rem .55rem}.grant-scope-school-table__group--grade .grant-scope-school-table__group-label{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1e40af}.grant-scope-school-table__group--ward{background:#f8fafc;padding:.24rem .55rem .24rem .95rem}.grant-scope-school-table__group--ward .grant-scope-school-table__group-label{font-size:.7rem;font-weight:600;color:#475569}.grant-scope-school-table__group--ward .grant-scope-school-table__group-label:before{content:"▸";margin-right:.35rem;color:#94a3b8;font-size:.62rem}.grant-scope-school-table__group-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table--grant-scope-matrix{min-width:52rem;width:100%}.table--grant-scope-matrix:not(.table--school-profile--full) .school-col-name{min-width:8rem;max-width:14rem}.grant-scope-modal .table-wrap--school-profile.table--grant-scope-wrap,.grant-scope-modal .grant-scope-matrix__table-wrap.table-wrap--school-profile{flex:1 1 auto;min-height:0;max-height:100%;overflow:auto}.grant-scope-modal .table--grant-scope-matrix thead th{position:sticky;top:0;z-index:2;background:#fff}.grant-scope-school-col-stt{width:2.25rem;min-width:2.25rem;max-width:2.5rem;text-align:center;padding-left:.45rem;padding-right:.35rem;font-size:.72rem;font-weight:600;color:#64748b}.grant-scope-school-col-perm{width:2.65rem;min-width:2.55rem;max-width:3rem;text-align:center;padding-left:.25rem;padding-right:.25rem}.grant-scope-school-perm{display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:1.35rem}.grant-scope-school-perm--off{opacity:.38}.grant-scope-school-name{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic;color:#0f172a}.table--grant-scope-matrix .grant-scope-school-table__group-row--grade td,.table--school-profile .grant-scope-school-table__group-row--grade td,.table--sessions .grant-scope-school-table__group-row--grade td{background:linear-gradient(90deg,#eff6ff,#f8fafc);border-top:1px solid #bfdbfe;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1e40af;padding:.32rem .75rem}.table--grant-scope-matrix .grant-scope-school-table__group-row--ward td,.table--school-profile .grant-scope-school-table__group-row--ward td{background:#f8fafc;border-top:1px solid #e2e8f0;font-size:.7rem;font-weight:600;color:#475569;padding:.26rem .75rem .26rem 1.05rem}.table--grant-scope-matrix .grant-scope-school-table__group-row--ward td:before,.table--school-profile .grant-scope-school-table__group-row--ward td:before{content:"▸ ";color:#94a3b8;font-size:.62rem}.table--grant-scope-matrix tbody tr.grant-scope-school-data-row--alt td{background:#fffbeb}.table--grant-scope-matrix tbody tr.grant-scope-school-data-row:hover td{background:#eff6ff}.table--grant-scope-matrix tbody tr.grant-scope-school-data-row--alt:hover td{background:#dbeafe}.table--grant-scope-matrix tbody tr.grant-scope-school-data-row--active td{background:#f0fdf4}.table--grant-scope-matrix tbody tr.grant-scope-school-data-row--active:hover td{background:#dcfce7}.table--grant-scope-matrix .school-col-name{padding-left:.55rem}.grant-scope-unified-matrix__lock-col:first-of-type,.admin-nav-perm-tree--grant-scope-unified .grant-scope-unified-matrix__lock-col.admin-nav-perm-tree__col-scope--pending{border-left:2px solid #cbd5e1}.admin-nav-perm-tree--grant-scope-unified .admin-nav-perm-tree__row .grant-scope-unified-matrix__lock-col:first-of-type{border-left:2px solid #e2e8f0}.grant-scope-unified-matrix__head .grant-scope-unified-matrix__lock-col.admin-nav-perm-tree__col-scope--pending{border-left:2px solid #94a3b8}.grant-scope-unified-matrix__title{font-size:.76rem;font-weight:700;text-transform:uppercase;color:#1e3a8a;letter-spacing:.03em}.admin-nav-perm-tree__row--scope-active .admin-nav-perm-tree__label-text{font-weight:600}.grant-scope-bridge__open{margin-top:.15rem}.grant-scope-bridge__hint{margin:.35rem 0 0;font-size:.75rem;color:#94a3b8}.grant-scope-modal.card-admin-modal--wide:not(.card-admin-modal--resizable){width:min(96vw,88rem);max-width:min(96vw,88rem)}.grant-scope-modal{--grant-stack-list-h: min(15.5rem, 33vh);--grant-stack-school-min: min(20vh, 9.5rem)}.grant-scope-modal.card-admin-modal--wide.card-admin-modal--resizable{resize:both;overflow:hidden}.grant-scope-modal.card-admin-modal--resizable.card-admin-modal--fullscreen{resize:both}.grant-scope-modal.card-admin-modal--resizable .card-admin-modal__body,.grant-scope-modal .card-admin-modal__body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.grant-scope-modal.card-admin-modal--resizable:after{content:"";position:absolute;right:3px;bottom:3px;width:14px;height:14px;pointer-events:none;opacity:.45;background:linear-gradient(135deg,transparent 0 42%,#94a3b8 42% 48%,transparent 48% 58%,#94a3b8 58% 64%,transparent 64% 74%,#94a3b8 74% 80%,transparent 80%)}.grant-scope-modal.card-admin-modal--resizable{position:relative}@media (min-width: 769px){.grant-scope-modal.card-admin-modal--wide.card-admin-modal--resizable{resize:both!important}}@media (max-width: 768px){.grant-scope-modal.card-admin-modal--wide.card-admin-modal--resizable:not(.card-admin-modal--fullscreen){resize:vertical!important;min-width:calc(100vw - .75rem);width:calc(100vw - .75rem);max-width:calc(100vw - .75rem);height:calc(100dvh - .75rem);max-height:calc(100dvh - .75rem)}}.grant-scope-modal .grant-scope-matrix-hub--modal{flex:1;min-height:0;min-width:0;width:100%;max-width:100%;display:flex;flex-direction:column;overflow:hidden;align-self:stretch}.grant-scope-modal .grant-scope-matrix-hub__body{width:100%;max-width:100%;min-width:0;box-sizing:border-box;align-self:stretch}.grant-scope-console--cols-3.grant-console--hub-fixed{display:grid!important;grid-template-columns:max-content max-content minmax(0,1fr);align-items:stretch;gap:.45rem;height:100%;min-height:0;max-height:none;overflow:hidden}.grant-scope-modal .card-admin-modal__body{container-type:inline-size;container-name:grant-scope-modal-body}.grant-scope-modal .grant-scope-console--cols-3.grant-console--hub-fixed{min-width:0;width:100%;max-width:100%;box-sizing:border-box}.grant-scope-modal .grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--layout-wide):not(.grant-scope-console--layout-medium){grid-template-columns:1fr!important;grid-template-rows:auto auto minmax(0,1fr)!important;overflow-y:auto!important;overflow-x:hidden!important;align-content:start;height:100%;min-height:0}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col{width:100%!important;max-width:none!important;min-width:0!important;height:auto!important}.grant-scope-modal .grant-scope-console--cols-3.grant-scope-console--layout-narrow .grant-scope-col,.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide):not(.grant-scope-console--layout-medium) .grant-scope-col{grid-column:1!important;grid-row:auto!important}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--gmail,.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--session{max-height:var(--grant-stack-list-h)!important}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--school{min-height:var(--grant-stack-school-min)!important;flex:1 1 0!important;max-height:none!important;overflow:hidden}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--gmail>.grant-directory,.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--session>.participant-scope-session-dir{width:100%!important;max-width:none!important;min-width:0!important}.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--gmail .grant-directory__email,.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--gmail .grant-directory__perm-line,.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--session .grant-directory__item-main,.grant-scope-modal .grant-scope-console--cols-3:not(.grant-scope-console--layout-wide) .grant-scope-col--session .grant-directory__item-meta{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.grant-scope-modal .grant-scope-console--cols-3.grant-scope-console--layout-wide.grant-console--hub-fixed{grid-template-columns:max-content max-content minmax(0,1fr)!important;grid-template-rows:none!important;overflow:hidden!important}.grant-scope-modal .grant-scope-console--layout-wide .grant-scope-col--gmail,.grant-scope-modal .grant-scope-console--layout-wide .grant-scope-col--session{width:max-content;min-width:min-content;max-width:min(22rem,38vw);height:100%}.grant-scope-modal .grant-scope-console--layout-wide .grant-scope-col--school{width:auto;min-width:0;height:100%}.grant-scope-console--cols-3.grant-scope-console--layout-medium.grant-console--hub-fixed{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;overflow-y:auto!important;overflow-x:hidden!important;align-content:start;height:100%;min-height:0;width:100%;max-width:100%}.grant-scope-console--layout-medium .grant-scope-col--gmail{grid-column:1;grid-row:1}.grant-scope-console--layout-medium .grant-scope-col--session{grid-column:2;grid-row:1}.grant-scope-console--layout-medium .grant-scope-col--school{grid-column:1 / -1;grid-row:2;min-height:min(36vh,18rem);height:auto!important}.grant-scope-console--layout-medium .grant-scope-col--gmail,.grant-scope-console--layout-medium .grant-scope-col--session{width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;max-height:min(15rem,34vh)!important}.grant-scope-console--layout-medium .grant-scope-col--gmail>.grant-directory,.grant-scope-console--layout-medium .grant-scope-col--session>.participant-scope-session-dir{width:100%!important;max-width:none!important;min-width:0!important}.grant-scope-console--cols-3.grant-scope-console--layout-narrow.grant-console--hub-fixed{grid-template-columns:1fr!important;grid-template-rows:auto auto minmax(0,1fr)!important;overflow-y:auto!important;overflow-x:hidden!important;align-content:start;height:100%;min-height:0;width:100%;max-width:100%}.grant-scope-console--layout-narrow .grant-scope-col--gmail,.grant-scope-console--layout-narrow .grant-scope-col--session,.grant-scope-console--layout-narrow .grant-scope-col--school{grid-column:1!important;grid-row:auto!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important}.grant-scope-console--layout-narrow .grant-scope-col--gmail,.grant-scope-console--layout-narrow .grant-scope-col--session{max-height:var(--grant-stack-list-h)!important}.grant-scope-console--layout-narrow .grant-scope-col--school{min-height:var(--grant-stack-school-min)!important;flex:1 1 0!important;max-height:none!important;overflow:hidden}.grant-scope-console--layout-narrow .grant-scope-col--gmail>.grant-directory,.grant-scope-console--layout-narrow .grant-scope-col--session>.participant-scope-session-dir{width:100%!important;max-width:none!important;min-width:0!important}.grant-scope-console--layout-medium .grant-scope-col--gmail .grant-directory__email,.grant-scope-console--layout-medium .grant-scope-col--gmail .grant-directory__perm-line,.grant-scope-console--layout-medium .grant-scope-col--session .grant-directory__item-main,.grant-scope-console--layout-medium .grant-scope-col--session .grant-directory__item-meta,.grant-scope-console--layout-narrow .grant-scope-col--gmail .grant-directory__email,.grant-scope-console--layout-narrow .grant-scope-col--gmail .grant-directory__perm-line,.grant-scope-console--layout-narrow .grant-scope-col--session .grant-directory__item-main,.grant-scope-console--layout-narrow .grant-scope-col--session .grant-directory__item-meta{white-space:normal;word-break:break-word;overflow-wrap:anywhere}@container grant-scope-modal-body (max-width: 1100px){.grant-scope-modal .grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--layout-wide){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;overflow-y:auto!important;overflow-x:hidden!important}}@container grant-scope-modal-body (max-width: 720px){.grant-scope-modal .grant-scope-console--cols-3.grant-console--hub-fixed{grid-template-columns:1fr!important;grid-template-rows:auto auto minmax(0,1fr)!important;overflow-y:auto!important;overflow-x:hidden!important}.grant-scope-modal .grant-scope-console--cols-3 .grant-scope-col{width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;grid-column:1!important;grid-row:auto!important}.grant-scope-modal .grant-scope-console--cols-3 .grant-scope-col--gmail,.grant-scope-modal .grant-scope-console--cols-3 .grant-scope-col--session{max-height:var(--grant-stack-list-h)!important}.grant-scope-modal .grant-scope-console--cols-3 .grant-scope-col--school{min-height:var(--grant-stack-school-min)!important}}.grant-scope-col{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dbe3ee;border-radius:10px;background:#fff;padding:.35rem .42rem .38rem;box-shadow:0 1px 2px #0f172a0a}.grant-scope-col--gmail,.grant-scope-col--session{width:max-content;min-width:min-content;max-width:min(22rem,38vw);flex-shrink:0}.grant-scope-col--school{flex:1 1 auto;min-width:0;width:auto}.grant-scope-col--gmail>.grant-directory,.grant-scope-col--session>.participant-scope-session-dir{flex:1;min-height:0;width:max-content;min-width:100%;max-width:min(22rem,38vw);max-height:none;height:auto;margin:0;padding:0;border:none;border-radius:0;box-shadow:none;background:transparent;overflow:hidden;display:flex;flex-direction:column}.grant-scope-col--gmail .grant-directory__email,.grant-scope-col--gmail .grant-directory__perm-line,.grant-scope-col--gmail .grant-directory__badges,.grant-scope-col--session .grant-directory__item-main,.grant-scope-col--session .grant-directory__item-meta{white-space:nowrap}.grant-scope-col--gmail .grant-directory__list,.grant-scope-col--session .grant-directory__list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.grant-scope-col--school.grant-scope-console__main{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding-bottom:.2rem}.grant-scope-col--school .grant-scope-matrix-hub__matrix-single{flex:1;min-height:0}.grant-scope-console--with-gmail.grant-console--hub-fixed .grant-directory__toolbar,.grant-scope-col .grant-directory__toolbar{flex-shrink:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}@media (max-width: 900px){.grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--modal){grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;height:100%}.grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--modal) .grant-scope-col--gmail,.grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--modal) .grant-scope-col--session{width:100%;max-width:none;min-height:0;max-height:min(11rem,26vh)}.grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--modal) .grant-scope-col--gmail>.grant-directory,.grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--modal) .grant-scope-col--session>.participant-scope-session-dir{width:100%;max-width:none}.grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--modal) .grant-scope-col--gmail .grant-directory__email,.grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--modal) .grant-scope-col--gmail .grant-directory__perm-line,.grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--modal) .grant-scope-col--session .grant-directory__item-main{white-space:normal;word-break:break-word}.grant-scope-console--cols-3.grant-console--hub-fixed:not(.grant-scope-console--modal) .grant-scope-col--school{min-height:0;max-height:none;flex:1 1 auto;width:100%}}@media (min-width: 901px) and (max-width: 1100px){.grant-scope-modal .grant-scope-console--cols-3.grant-console--hub-fixed{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:.4rem;overflow-y:auto;overflow-x:hidden;align-content:start;height:100%;min-height:0}.grant-scope-modal .grant-scope-col--gmail{grid-column:1;grid-row:1}.grant-scope-modal .grant-scope-col--session{grid-column:2;grid-row:1}.grant-scope-modal .grant-scope-col--school{grid-column:1 / -1;grid-row:2;min-height:min(42vh,22rem);height:auto}.grant-scope-modal .grant-scope-col--gmail,.grant-scope-modal .grant-scope-col--session{width:100%;max-width:none;min-width:0;max-height:min(13rem,32vh);height:auto}.grant-scope-modal .grant-scope-col--gmail>.grant-directory,.grant-scope-modal .grant-scope-col--session>.participant-scope-session-dir{width:100%;max-width:none;min-width:0}.grant-scope-modal .grant-scope-col--gmail .grant-directory__email,.grant-scope-modal .grant-scope-col--gmail .grant-directory__perm-line,.grant-scope-modal .grant-scope-col--session .grant-directory__item-main,.grant-scope-modal .grant-scope-col--session .grant-directory__item-meta{white-space:normal;word-break:break-word;overflow-wrap:anywhere}}@media (max-width: 900px){.grant-scope-modal .grant-scope-console--cols-3.grant-console--hub-fixed{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);gap:.4rem;overflow-y:auto;overflow-x:hidden;align-content:start;height:100%;min-height:0}.grant-scope-modal .grant-scope-col--gmail,.grant-scope-modal .grant-scope-col--session,.grant-scope-modal .grant-scope-col--school{grid-column:1;grid-row:auto;width:100%;max-width:none;min-width:0}.grant-scope-modal .grant-scope-col--gmail,.grant-scope-modal .grant-scope-col--session{max-height:var(--grant-stack-list-h);height:auto}.grant-scope-modal .grant-scope-col--school{min-height:var(--grant-stack-school-min);flex:1 1 0;max-height:none;height:auto}.grant-scope-modal .grant-scope-col--gmail>.grant-directory,.grant-scope-modal .grant-scope-col--session>.participant-scope-session-dir{width:100%;max-width:none;min-width:0}.grant-scope-modal .grant-scope-col .grant-directory__toolbar{flex-wrap:wrap;row-gap:.25rem;overflow-x:visible}.grant-scope-modal .grant-scope-col--gmail .grant-directory__email,.grant-scope-modal .grant-scope-col--gmail .grant-directory__perm-line,.grant-scope-modal .grant-scope-col--session .grant-directory__item-main,.grant-scope-modal .grant-scope-col--session .grant-directory__item-meta{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.grant-scope-modal .grant-directory__list--matrix .grant-directory__item{padding-right:.55rem}.grant-scope-modal .grant-directory__email,.grant-scope-modal .grant-directory__item-main{word-break:break-all}.grant-scope-modal .grant-directory-matrix__head--session,.grant-scope-modal .grant-directory__list--matrix-session .grant-directory__item--matrix-session{grid-template-columns:1.15rem 1.65rem minmax(0,1fr) minmax(3.5rem,auto)}.grant-scope-modal .grant-scope-matrix-hub__body{min-height:0;flex:1}.grant-scope-modal .grant-scope-console--modal.grant-console--hub-fixed{--grant-hub-height: 100%;height:100%;max-height:none;min-height:0;flex:1}.grant-scope-modal.card-admin-modal--wide.card-admin-modal--resizable:not(.card-admin-modal--fullscreen){width:100vw!important;max-width:100vw!important;min-width:0!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;resize:none!important}.grant-scope-modal.card-admin-modal--wide,.grant-scope-modal.card-admin-modal:not(.card-admin-modal--resizable){width:100vw!important;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}}@media (max-width: 640px){.grant-scope-modal .grant-scope-console--cols-3.grant-console--hub-fixed{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr)}.grant-scope-modal .grant-scope-col--gmail,.grant-scope-modal .grant-scope-col--session{max-height:min(14rem,30vh)}}@media (max-width: 480px){.grant-scope-modal{--grant-stack-list-h: min(14rem, 30vh);--grant-stack-school-min: min(18vh, 8.5rem)}.grant-scope-modal .grant-scope-col{padding:.28rem .32rem}.grant-scope-modal .grant-scope-col--gmail,.grant-scope-modal .grant-scope-col--session{max-height:var(--grant-stack-list-h)}.grant-scope-modal .grant-scope-col--school{min-height:var(--grant-stack-school-min)}}.grant-scope-console--with-gmail.grant-console--hub-fixed .grant-directory{max-height:none;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.grant-scope-console--with-gmail.grant-console--hub-fixed .grant-directory__list{flex:1;min-height:0;overflow:auto}.grant-scope-modal__alert{margin:0 0 .45rem;padding:.4rem .55rem;border-radius:8px;font-size:.78rem;line-height:1.35}.grant-scope-modal__alert--err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.grant-scope-modal__alert--ok{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.grant-scope-console--modal.grant-console--hub-fixed{flex:1;min-height:0!important;height:100%;max-height:none;--grant-hub-height: 100%}.grant-scope-console__main{min-width:0;min-height:0}.grant-scope-matrix-hub__school-toolbar{flex-shrink:0;margin-bottom:.35rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.grant-scope-matrix-hub__tabs{display:none;flex-shrink:0;gap:.35rem;margin-bottom:.4rem;border:1px solid #e2e8f0;border-radius:8px;padding:.2rem;background:#f8fafc}.grant-scope-matrix-hub__tab{flex:1 1 auto;border:none;background:transparent;color:#64748b;font-size:.74rem;font-weight:600;padding:.35rem .55rem;border-radius:6px;cursor:pointer;min-height:2rem}.grant-scope-matrix-hub__tab--on{background:#2563eb;color:#fff}.grant-scope-matrix__table-wrap{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.grant-scope-matrix__table-wrap .admin-nav-perm-tree__head{position:sticky;top:0;z-index:2;background:#eff6ff}.grant-scope-matrix-hub__matrices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;align-items:stretch;flex:1;min-height:0;overflow:hidden}@media (max-width: 1099px){.grant-scope-matrix-hub__tabs{display:flex}.grant-scope-matrix-hub__matrices{grid-template-columns:1fr}.grant-scope-matrix-hub__col--hidden-narrow{display:none!important}.grant-scope-matrix-hub__lock-block{border-left:none;padding-left:0}}@media (min-width: 1100px){.grant-scope-matrix-hub__col--hidden-narrow{display:flex!important}}.grant-scope-matrix-hub--modal{margin-top:0;border-top:none;padding-top:0}.grant-scope-matrix-hub__modal-bar{display:flex;justify-content:flex-end;margin-bottom:.45rem}.grant-scope-modal .grant-scope-matrix-hub__body{flex:1;min-height:0;width:100%;max-width:100%;min-width:0}.grant-scope-modal .grant-console--nested{min-height:min(58vh,32rem)}.grant-scope-modal .grant-console--nested .grant-directory{max-height:min(54vh,30rem)}.grant-scope-modal .grant-tree-panel--scroll{max-height:min(42vh,22rem)}@media (max-width: 640px){.grant-console__session-open{flex:1 1 auto;min-height:2.75rem;padding-inline:.85rem;font-size:.78rem}.grant-scope-modal .grant-console--nested{min-height:0;grid-template-columns:1fr}.grant-scope-modal .grant-console--nested .grant-directory{max-height:11.5rem}.grant-scope-modal .grant-tree-panel--scroll{max-height:none;overflow:auto}.grant-scope-matrix-hub__matrices{grid-template-columns:1fr;min-height:0}.grant-scope-matrix-hub__lock-block{border-left:none;border-top:1px dashed #e2e8f0;padding-left:0;padding-top:.45rem}.grant-scope-matrix-hub__modal-bar{position:sticky;top:0;z-index:2;background:#fff;padding:.25rem 0}}.participant-scope-admin-hub.grant-console--hub-fixed{min-height:min(58vh,32rem)}.participant-scope-admin-hub__toolbar{flex-wrap:wrap}.participant-scope-admin-hub__session-pill{display:block;font-size:.9rem;margin-bottom:.15rem}.participant-scope-admin-hub__hint-inline{font-size:.78rem;color:#64748b}.participant-scope-session-dir__year{flex-shrink:0;font-size:.68rem;font-weight:500;color:#64748b;white-space:nowrap;padding:.06rem .3rem;background:#f1f5f9;border:1px solid #e8eef4;border-radius:4px}.participant-scope-school-matrix__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.participant-scope-school-matrix__title{font-size:.78rem;font-weight:600;color:#64748b;text-transform:uppercase}.participant-scope-school-matrix__search{min-width:9rem;max-width:13rem}.participant-scope-school-matrix__warn{margin:0 0 .45rem;padding:.45rem .55rem;font-size:.8rem;background:#fff7ed;border:1px solid #fed7aa;border-radius:.35rem;color:#9a3412}.participant-scope-school-matrix__reopen{font-size:.68rem;padding:.15rem .35rem}.participant-scope-school-matrix__reopen-muted{color:#cbd5e1;font-size:.75rem}.academic-hub__panel--scope{padding:0;border:none;background:transparent}.academic-hub__panel--scope .participant-scope-admin-hub{margin:0}.scope-manage-btn-row{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem}.scope-manage-btn__hint{font-size:.75rem;color:#94a3b8}.working-ctx-chip{display:inline-flex;align-items:center;gap:.4rem;max-width:min(28rem,42vw);padding:.28rem .65rem;border-radius:999px;border:1px solid var(--border);background:linear-gradient(180deg,#fffbeb,#fef3c7);color:var(--admin-nav-text);font-size:.78rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.working-ctx-chip--loading{opacity:.75}.working-ctx-chip__icon{color:#b45309;flex-shrink:0}.working-ctx-chip__text{overflow:hidden;text-overflow:ellipsis}.working-ctx-chip__save{flex-shrink:0;color:#0369a1;font-size:.72rem}.working-ctx-chip__save--err{color:var(--danger)}@media (max-width: 960px){.working-ctx-chip{display:none}}.working-ctx-chip--btn{cursor:pointer;font:inherit;transition:box-shadow .15s ease,transform .12s ease}.working-ctx-chip--btn:hover{box-shadow:0 0 0 2px #b4530940}.working-ctx-chip--btn:active{transform:scale(.98)}.working-ctx-chip--empty{animation:working-ctx-pulse 2.4s ease-in-out infinite}.working-ctx-chip__caret{flex-shrink:0;font-size:.62rem;opacity:.65}@keyframes working-ctx-pulse{0%,to{box-shadow:0 0 #f59e0b00}50%{box-shadow:0 0 0 3px #f59e0b59}}.working-ctx-highlight{outline:3px solid #f59e0b;outline-offset:4px;border-radius:10px;transition:outline-color .3s ease}.working-ctx-shell{position:fixed;inset:0;z-index:5000;display:flex;justify-content:flex-end;align-items:stretch;background:#0f172a38;backdrop-filter:blur(2px);padding:0;overflow:hidden}.working-ctx-window{display:flex;flex-direction:column;width:min(100%,26.5rem);max-width:100%;height:100%;max-height:100dvh;background:#fff;border-left:1px solid var(--border-strong, #cbd5e1);box-shadow:-12px 0 40px #0f172a24;animation:working-ctx-slide-in .24s ease-out;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}@keyframes working-ctx-slide-in{0%{transform:translate(100%);opacity:.6}to{transform:translate(0);opacity:1}}@keyframes working-ctx-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.working-ctx-window__titlebar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem .55rem .85rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#f8fafc,#fff)}.working-ctx-window__titlebar-main{display:flex;align-items:center;gap:.5rem;min-width:0}.working-ctx-window__grip{width:.28rem;height:1.35rem;border-radius:999px;background:linear-gradient(180deg,#0369a1,#0ea5e9);flex-shrink:0}.working-ctx-window__title{margin:0;font-size:.95rem;font-weight:800;display:flex;align-items:center;gap:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.working-ctx-window__controls{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.working-ctx-window__ctrl{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-width:2rem;min-height:2rem;padding:0 .45rem;border:1px solid transparent;border-radius:.4rem;background:transparent;color:var(--text-secondary, #64748b);cursor:pointer;font-size:.95rem}.working-ctx-window__ctrl:hover{background:#f1f5f9;border-color:var(--border);color:var(--text)}.working-ctx-window__ctrl--help{color:#0369a1}.working-ctx-window__ctrl-label{font-size:.72rem;font-weight:700}.working-ctx-window__status{flex-shrink:0;margin:0;padding:.5rem .85rem;background:#fffbeb;border-bottom:1px solid #fde68a}.working-ctx-window__status-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#92400e}.working-ctx-window__status-value{margin:.2rem 0 0;font-size:.86rem;font-weight:600;line-height:1.35}.working-ctx-window__tabs{flex-shrink:0;border-bottom:1px solid var(--border);padding-bottom:0}.working-ctx-window__scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.working-ctx-window__foot{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem;border-top:1px solid var(--border);background:#f8fafc}.working-ctx-app-window-backdrop{z-index:6010}.working-ctx-app-window-backdrop--stacked{z-index:6100}.working-ctx-app-window.app-window,.working-ctx-help-app-window.app-window{position:fixed;display:flex;flex-direction:column;margin:0;z-index:6011;max-width:none;max-height:none;background:var(--surface, #fff);border-radius:var(--radius, .65rem);border:1px solid var(--border-strong);box-shadow:0 24px 64px #0f172a38;overflow:hidden}.working-ctx-help-app-window-backdrop{z-index:6020}.working-ctx-help-app-window-backdrop--stacked{z-index:6100}.working-ctx-help-app-window.app-window{z-index:6021}.working-ctx-help-app-window--stacked,.working-ctx-app-window--stacked{z-index:6101}.working-ctx-app-window__title-icon,.working-ctx-help-app-window .working-ctx-app-window__title-icon{margin-right:.35rem;opacity:.85}.working-ctx-app-window__header-extra{flex-shrink:0}.working-ctx-app-window__body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.35rem;padding:0;overflow:hidden}.working-ctx-app-window__hint{flex:0 0 auto;margin:0;padding:.45rem .75rem 0;font-size:.72rem;color:var(--text-secondary, #64748b);line-height:1.4}.working-ctx-app-window__foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem;border-top:1px solid var(--border);background:#f8fafc}.app-window--minimized{overflow:hidden;min-height:44px!important}.app-window--minimized .app-window__titlebar{border-bottom:none}.working-ctx-app-window__body .working-ctx-window__scroll{flex:1 1 auto;min-height:0;padding:0 .75rem .65rem}.academic-hub-config-app-window-backdrop{z-index:5180!important}.academic-hub-config-app-window.app-window{z-index:5181!important}.academic-hub-config-app-window__scroll{flex:1 1 auto;min-height:0;overflow:hidden;overscroll-behavior:contain;padding:0 .65rem .65rem;display:flex;flex-direction:column}.academic-hub-config-app-window__toast{margin:.45rem 0 .35rem;font-size:.82rem;flex-shrink:0}.academic-hub-config-app-window .academic-hub--floating{flex:1 1 auto;min-height:0;max-width:100%;display:flex;flex-direction:column;overflow:hidden;border:1.5px solid var(--admin-edu-frame, #cbd5e1);border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);padding:.75rem .85rem;box-shadow:var(--admin-edu-shadow, 0 1px 3px rgb(15 23 42 / .08));box-sizing:border-box}.academic-hub-config-app-window .academic-hub--floating .academic-hub__bar{position:sticky;top:0;z-index:3;flex-shrink:0;background:linear-gradient(180deg,#fff,#f8fafc)}.academic-hub-config-app-window .academic-hub--floating .academic-hub__panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.academic-hub-config-app-window .academic-hub--floating .academic-hub__panel--sessions,.academic-hub-config-app-window .academic-hub--floating .academic-hub__panel--rounds{min-height:0}.academic-hub-config-app-window .academic-hub--floating .table-wrap--sessions,.academic-hub-config-app-window .academic-hub--floating .academic-hub__table-wrap{flex:1 1 auto;min-height:0;min-width:0;max-width:100%;width:100%;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.academic-hub-config-app-window .academic-hub--floating .table-wrap--sessions table thead th,.academic-hub-config-app-window .academic-hub--floating .academic-hub__table-wrap thead th{position:sticky;top:0;z-index:2}.academic-hub-config-app-window .academic-hub--floating .academic-hub__empty,.academic-hub-config-app-window .academic-hub--floating .callout{flex-shrink:0}.academic-hub--floating{min-height:0;max-width:100%}.academic-hub--floating .academic-hub__bar{position:sticky;top:0;z-index:2}.academic-hub--floating .academic-hub__main{min-height:min(52vh,28rem)}.project-hub-launcher{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.35rem;max-width:min(100%,56vw);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;vertical-align:middle}.project-hub-launcher--toolbar{margin-right:.05rem}.project-hub-act-btn{gap:.35rem!important;padding:.22rem .5rem .22rem .38rem!important;min-height:1.65rem;flex:0 0 auto;border:none;background:transparent;cursor:pointer}.project-hub-act-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:1.38rem;height:1.38rem;border-radius:8px;font-size:.72rem;flex-shrink:0}.project-hub-act-btn__text{font-weight:700;letter-spacing:.01em;font-size:.72rem;white-space:nowrap}.project-hub-act-btn--toolbar:hover .project-hub-act-btn__icon,.project-hub-act-btn--hue:hover .project-hub-act-btn__icon{filter:brightness(.97);transform:translateY(-.5px)}.project-hub-act-btn--toolbar:active .project-hub-act-btn__icon,.project-hub-act-btn--hue:active .project-hub-act-btn__icon{transform:translateY(0)}.project-hub-functions-btn__icon{background:linear-gradient(165deg,#f5f3ff,#ede9fe 48%,#ddd6fe);color:#6d28d9;border:1px solid rgba(167,139,250,.55);box-shadow:0 1px 2px #6d28d933,0 4px 10px #7c3aed29}.project-hub-functions-btn__text,.academic-hub__act-text--functions{font-weight:700;color:#6d28d9;letter-spacing:.01em;font-size:.72rem;white-space:nowrap}.project-hub-functions-btn--toolbar:hover .project-hub-functions-btn__icon,.academic-hub__act--functions:hover .project-hub-functions-btn__icon{box-shadow:0 2px 4px #6d28d942,0 6px 14px #7c3aed33}.project-hub-functions-menu-backdrop{z-index:5170!important}.project-hub-functions-menu-app-window.app-window{z-index:5171!important}.project-hub-app-window-backdrop{z-index:5180}.project-hub-app-window.app-window{z-index:5181}.project-hub-functions-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;padding:.4rem .55rem .75rem}.project-hub-functions-matrix__cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.35rem;padding:.55rem .35rem .5rem;border:1.5px solid hsla(var(--nav-h, 220),42%,72%,.35);border-radius:14px;background:linear-gradient(165deg,hsla(var(--nav-h, 220),88%,97%,.98),hsla(var(--nav-h, 220),70%,92%,.92));cursor:pointer;font:inherit;text-align:center;min-height:5.5rem;position:relative;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.project-hub-functions-matrix__cell:hover{transform:translateY(-2px);box-shadow:0 8px 18px hsla(var(--nav-h, 220),45%,45%,.16);border-color:hsla(var(--nav-h, 220),52%,48%,.45)}.project-hub-functions-matrix__cell--active{outline:2px solid hsla(var(--nav-h, 220),58%,42%,.55);outline-offset:2px;box-shadow:0 6px 16px hsla(var(--nav-h, 220),48%,42%,.2)}.project-hub-functions-matrix__idx{position:absolute;top:.28rem;left:.32rem;font-size:.58rem;font-weight:800;color:hsl(var(--nav-h, 220),48%,38%);opacity:.72;line-height:1}.project-hub-functions-matrix__icon{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:12px;font-size:1.05rem;margin-top:.15rem;flex-shrink:0}.project-hub-functions-matrix__icon--time{background:linear-gradient(165deg,#fffbeb,#fef3c7 48%,#fde68a);color:#b45309;border:1px solid rgba(251,191,36,.55);box-shadow:0 2px 6px #b453092e,inset 0 1px #ffffffa6}.project-hub-functions-matrix__cell--time{--nav-h: 38}.project-hub-functions-matrix__label{font-size:.68rem;font-weight:800;letter-spacing:.02em;color:hsl(var(--nav-h, 220),42%,32%);line-height:1.15;max-width:100%;word-break:break-word}@media (max-width: 420px){.project-hub-functions-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-hub-embed{min-height:0;height:100%}.project-hub-embed--catalog{padding:.35rem .5rem .75rem}.project-hub-embed--card{overflow:auto;max-height:100%}.project-hub-embed--edu-user{overflow:hidden;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.project-hub-embed--edu-user .edu-hb-mod-frame{flex:1 1 auto;min-height:0;width:100%}.project-hub-embed--edu-user .edu-hb-mod-frame__iframe{flex:1 1 auto;min-height:0;height:100%;width:100%;border:0}.project-hub-password-form{padding:.5rem .75rem .25rem}.working-ctx-help-dialog__sections{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.65rem .85rem;overscroll-behavior:contain}.working-ctx-help-backdrop{display:none}.working-ctx-help-dialog{display:flex;flex-direction:column;width:min(100%,34rem);max-height:min(88dvh,640px);background:#fff;border-radius:var(--radius, .65rem);border:1px solid var(--border-strong);box-shadow:0 24px 64px #0f172a38;overflow:hidden}.working-ctx-help-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#eff6ff,#fff)}.working-ctx-help-dialog__title{margin:0;font-size:1rem;font-weight:800;display:flex;align-items:center;gap:.45rem;color:#0369a1}.working-ctx-help-dialog__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.75rem 1rem;overscroll-behavior:contain}.working-ctx-help-section{padding:.65rem 0;border-bottom:1px dashed var(--border)}.working-ctx-help-section:last-child{border-bottom:none}.working-ctx-help-section__title{margin:0 0 .4rem;font-size:.88rem;font-weight:800;display:flex;align-items:center;gap:.4rem}.working-ctx-help-section__body{font-size:.84rem;line-height:1.5;color:var(--text-secondary, #475569)}.working-ctx-help-section__body p{margin:0 0 .45rem}.working-ctx-help-section__body ul,.working-ctx-help-section__body ol{margin:.35rem 0 .5rem;padding-left:1.2rem}.working-ctx-help-section__body li{margin-bottom:.25rem}.working-ctx-help__tip{margin-top:.5rem!important;padding:.45rem .55rem;border-radius:.4rem;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af!important;font-size:.8rem!important}.working-ctx-help-dialog__foot{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;border-top:1px solid var(--border);background:#f8fafc;font-size:.78rem;color:var(--muted)}.working-ctx-help-dialog__foot p{margin:0;flex:1}@media (max-width: 640px){.working-ctx-shell{align-items:flex-end;justify-content:center}.working-ctx-window{width:100%;height:auto;max-height:min(92dvh,100%);border-left:none;border-top:1px solid var(--border-strong);border-radius:1rem 1rem 0 0;box-shadow:0 -8px 32px #0f172a2e;animation:working-ctx-sheet-up .26s ease-out}.working-ctx-window__titlebar{padding-top:.85rem;position:relative}.working-ctx-window__titlebar:before{content:"";position:absolute;top:.35rem;left:50%;transform:translate(-50%);width:2.5rem;height:.22rem;border-radius:999px;background:#cbd5e1}.working-ctx-window__ctrl-label{display:none}.working-ctx-help-dialog{width:100%;max-height:min(92dvh,100%);border-radius:1rem 1rem 0 0}.working-ctx-help-backdrop{align-items:flex-end}}@media (min-width: 641px){.working-ctx-shell:before{content:"Bấm vùng này để đóng — bảng bên trái vẫn hiển thị";position:absolute;left:1rem;bottom:1rem;max-width:14rem;padding:.4rem .6rem;border-radius:.4rem;background:#ffffffeb;border:1px solid var(--border);font-size:.72rem;color:var(--muted);pointer-events:none;opacity:.85}}.working-ctx-panel{max-width:min(42rem,96vw);width:100%}.working-ctx-panel--wide{max-width:min(52rem,96vw)}.working-ctx-panel__form--filter{padding-top:.5rem}.working-ctx-filter__intro{margin:0 0 .65rem;font-size:.82rem;color:var(--muted);line-height:1.45}.working-ctx-filter__block{display:flex;flex-direction:column;gap:.45rem;padding-bottom:.65rem;border-bottom:1px dashed var(--border)}.working-ctx-filter__block:last-of-type{border-bottom:none}.working-ctx-filter__block-title{margin:0;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text)}.working-ctx-filter__block-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.working-ctx-filter__mode{display:flex;flex-wrap:wrap;gap:.65rem 1rem}.working-ctx-filter__row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.working-ctx-filter__chips{display:flex;flex-wrap:wrap;gap:.35rem}.working-ctx-filter__chip{border:1px solid var(--border);border-radius:999px;padding:.15rem .55rem;font-size:.76rem;font-weight:700;background:var(--surface-2, var(--bg));cursor:pointer}.working-ctx-filter__chip--on{border-color:var(--primary, #2563eb);background:color-mix(in srgb,var(--primary, #2563eb) 14%,transparent);color:var(--primary, #2563eb)}.working-ctx-filter__search{width:100%}.working-ctx-filter__checklist{max-height:9rem;overflow-y:auto;display:flex;flex-direction:column;gap:.2rem;padding:.35rem;border:1px solid var(--border);border-radius:.4rem;background:var(--surface-2, rgba(0, 0, 0, .02))}.working-ctx-filter__checklist--schools{max-height:8rem}.working-ctx-filter__check{display:flex;align-items:flex-start;gap:.4rem;font-size:.8rem;cursor:pointer}.working-ctx-filter__quick{display:flex;flex-wrap:wrap;gap:.25rem}.btn--xs{padding:.1rem .35rem;font-size:.68rem}.working-ctx-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem .5rem}.working-ctx-panel__title{margin:0 0 .35rem;font-size:1.05rem;display:flex;align-items:center;gap:.45rem}.working-ctx-panel__lead{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.45}.working-ctx-panel__current{margin:.65rem 1.15rem;padding:.65rem .85rem;border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fde68a}.working-ctx-panel__current-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#92400e;margin-bottom:.25rem}.working-ctx-panel__current-value{margin:0;font-weight:600;font-size:.95rem}.working-ctx-panel__err{margin:.35rem 0 0;font-size:.82rem;color:var(--danger)}.working-ctx-panel__steps{padding:.5rem 1.15rem .75rem}.working-ctx-panel__steps-title{margin:0 0 .65rem;font-size:.88rem}.working-ctx-panel__step{display:flex;gap:.65rem;padding:.65rem 0;border-top:1px solid var(--border);font-size:.875rem}.working-ctx-panel__step--active{background:linear-gradient(90deg,rgba(254,243,199,.5),transparent);margin:0 -1.15rem;padding-left:1.15rem;padding-right:1.15rem}.working-ctx-panel__step-num{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:999px;background:#0369a1;color:#fff;font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.working-ctx-panel__step p{margin:.25rem 0 .5rem;color:var(--text-secondary);line-height:1.45}.working-ctx-panel__foot{padding:.65rem 1.15rem 1rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.working-ctx-panel__hint{margin:0;font-size:.78rem;color:var(--muted);flex:1;min-width:12rem}.working-ctx-panel__ok{margin:.35rem 0 0;font-size:.82rem;color:var(--success, #15803d)}.working-ctx-panel__tabs{display:flex;gap:.35rem;padding:.45rem .75rem .55rem}.working-ctx-panel__tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:.45rem;background:var(--surface-2, var(--bg));font-size:.82rem;font-weight:700;cursor:pointer;color:var(--text)}.working-ctx-panel__tab--active{border-color:var(--primary, #2563eb);background:color-mix(in srgb,var(--primary, #2563eb) 12%,transparent);color:var(--primary, #2563eb)}.working-ctx-panel__form{padding:.85rem 1.15rem 1rem;display:flex;flex-direction:column;gap:.75rem}.working-ctx-panel__field{display:flex;flex-direction:column;gap:.3rem}.working-ctx-panel__field-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.working-ctx-panel__select{width:100%;max-width:none}.working-ctx-panel__fieldset{margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:.45rem}.working-ctx-panel__radio{display:flex;align-items:center;gap:.45rem;font-size:.86rem;cursor:pointer}.working-ctx-panel__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.25rem}.working-ctx-panel__loading,.working-ctx-panel__empty,.working-ctx-panel__chip-muted{margin:0;font-size:.84rem;color:var(--muted)}.working-ctx-panel__chip-muted{padding:.35rem .55rem;border-radius:.35rem;background:var(--surface-2, rgba(0, 0, 0, .04))}.card-admin-modal-backdrop{z-index:5200}.card-admin-modal{max-width:min(440px,100vw);max-height:100dvh}.card-admin-modal--wide{max-width:min(920px,100vw)}.card-admin-modal--wide:not(.card-admin-modal--resizable) .card-admin-modal__body{max-height:min(78vh,800px)}.card-admin-modal--resizable{resize:both;overflow:hidden;min-height:44px;min-width:80px;max-width:100vw;max-height:100dvh;display:flex;flex-direction:column}.card-admin-modal--wide.card-admin-modal--resizable{min-width:80px}.card-admin-modal--resizable .card-admin-modal__body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.card-admin-modal--expanded.card-admin-modal--wide{height:min(88vh,920px);max-height:calc(100dvh - var(--modal-safe-top) - var(--modal-safe-bottom))}.card-admin-modal--fit{height:auto;max-height:min(88vh,920px)}.card-admin-modal--fit .card-admin-modal__body{max-height:none;overflow:auto;flex:0 1 auto}.card-admin-modal--resizable.card-admin-modal--fit{min-height:0}.card-admin-modal--expanded{height:auto;max-height:min(88vh,920px)}.card-admin-modal--expanded .card-admin-modal__body{max-height:min(85vh,880px);flex:1}.card-admin-modal__head{position:relative}.card-admin-modal__head-row{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1 1 auto}.card-admin-modal__head-extra{min-width:0}.card-admin-modal__head--drag{cursor:grab;user-select:none}.card-admin-modal__head--drag:active{cursor:grabbing}.card-admin-modal__drag-hint{margin-left:auto;margin-right:.5rem;font-size:.68rem;font-weight:500;color:#b91c1cbf;letter-spacing:0;text-transform:none;white-space:nowrap}.card-admin-modal__win-controls{position:absolute;right:2.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px}.card-admin-modal__win-btn{border:1px solid rgba(220,38,38,.35);background:#fff;color:#b91c1c;width:34px;height:34px;border-radius:8px;cursor:pointer;display:grid;place-items:center;font-size:.85rem;box-shadow:0 1px 4px #0f172a1f}.card-admin-modal__win-btn.is-expanded{background:#fef2f2;border-color:#f87171}.card-admin-modal__win-btn:hover{background:#fff;border-color:#dc262673}.card-admin-modal__title{margin:0;font-size:.92rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#dc2626;min-width:0}.card-admin-modal__body{overflow:auto;max-height:none}.card-admin-modal__foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.card-admin-modal--fullscreen{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;min-width:0!important;min-height:0!important;margin:0!important;border-radius:0!important;resize:none!important}.card-admin-modal--fullscreen .card-admin-modal__body{flex:1;min-height:0;max-height:none;overflow:auto}.card-admin-modal.admin-form-modal:not(.admin-form-modal--hub-window){max-width:min(26rem,calc(100vw - 2rem))}.card-admin-modal.admin-form-modal.card-admin-modal--wide:not(.admin-form-modal--hub-window){max-width:min(40rem,calc(100vw - 2rem))}.card-admin-modal.admin-form-modal.admin-form-modal--guide{max-width:min(44rem,calc(100vw - 2rem));max-height:min(88vh,calc(100dvh - 1.5rem));display:flex;flex-direction:column}.card-admin-modal.admin-form-modal.admin-form-modal--guide .card-admin-modal__body,.card-admin-modal.admin-form-modal.admin-form-modal--guide .admin-modal__hbc-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.card-admin-modal.admin-form-modal.admin-form-modal--academic-transfer{max-width:min(52rem,calc(100vw - 1rem))}.card-admin-modal.admin-form-modal.admin-form-modal--academic-transfer .card-admin-modal__body,.card-admin-modal.admin-form-modal.admin-form-modal--academic-transfer .admin-modal__hbc-body{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 640px){.card-admin-modal.admin-form-modal.admin-form-modal--academic-transfer{max-width:calc(100vw - .75rem)}.academic-hub-transfer__th-hint{font-size:.55rem;line-height:1.25}}.card-admin-modal.admin-form-modal.card-admin-modal--resizable{min-width:80px;min-height:44px;max-width:100vw;max-height:100dvh}@media (max-width: 520px){.card-admin-modal__drag-hint{display:none}}.card-admin-modal-backdrop:has(.grant-scope-modal){padding:0!important;align-items:center;justify-content:center}.grant-scope-modal.admin-modal--hbc,.grant-scope-modal.card-admin-modal.admin-form-modal.card-admin-modal--wide{max-width:100vw!important;max-height:100dvh!important}.grant-scope-modal.card-admin-modal.admin-form-modal.card-admin-modal--wide.card-admin-modal--resizable{width:min(94vw,88rem);height:min(68dvh,620px);max-width:100vw!important;max-height:100dvh!important;min-width:min(20rem,96vw);min-height:min(12rem,42dvh);resize:both;overflow:hidden}.grant-scope-modal.card-admin-modal--resizable .card-admin-modal__body{max-height:none!important}.grant-scope-modal.card-admin-modal--fullscreen{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;min-width:0!important;min-height:0!important;margin:0!important;border-radius:0!important;resize:none}@media (max-width: 900px){.grant-scope-modal.card-admin-modal.admin-form-modal.card-admin-modal--wide.card-admin-modal--resizable{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;min-width:0!important;margin:0!important;border-radius:0!important;resize:none!important}}.grant-scope-modal.card-admin-modal--fullscreen .card-admin-modal__body{flex:1;min-height:0;max-height:none!important;overflow:hidden}.card-admin-modal-backdrop:has(.grant-scope-modal.card-admin-modal--fullscreen){align-items:stretch!important;justify-content:stretch!important}.card-admin-modal-backdrop:has(.admin-form-modal--hub-window){padding:0!important;align-items:center;justify-content:center;z-index:5250}.card-admin-modal-backdrop:has(.admin-form-modal--hub-sub){z-index:5300}.admin-form-modal--hub-window.admin-modal--hbc,.admin-form-modal--hub-window.card-admin-modal.admin-form-modal,.admin-form-modal--hub-window.card-admin-modal.admin-form-modal.card-admin-modal--wide{max-width:100vw!important;max-height:100dvh!important}.admin-form-modal--hub-window.card-admin-modal--wide.card-admin-modal--resizable{width:min(94vw,44rem);height:min(76dvh,560px);max-width:100vw!important;max-height:100dvh!important;min-width:min(280px,94vw);min-height:min(220px,50dvh);resize:both;overflow:hidden}.admin-form-modal--hub-window.academic-hub-catalog-modal.card-admin-modal--wide.card-admin-modal--resizable{width:min(98vw,80rem);height:min(86dvh,820px);min-width:min(320px,98vw);min-height:min(280px,55dvh)}.admin-form-modal--hub-window.card-admin-modal--resizable .card-admin-modal__body,.admin-form-modal--hub-window.card-admin-modal--resizable .admin-modal__hbc-body{max-height:none!important;flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.admin-form-modal--hub-window.card-admin-modal--fullscreen,.admin-form-modal--hub-window.card-admin-modal--fullscreen.card-admin-modal--wide{width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;min-width:0!important;min-height:0!important;margin:0!important;border-radius:0!important;resize:none!important}.admin-form-modal--hub-window.card-admin-modal--fullscreen .card-admin-modal__body{flex:1;min-height:0;max-height:none!important;overflow:auto}.card-admin-modal-backdrop:has(.admin-form-modal--hub-window.card-admin-modal--fullscreen){align-items:stretch!important;justify-content:stretch!important}@media (max-width: 768px){.admin-form-modal--hub-window.card-admin-modal--wide.card-admin-modal--resizable:not(.card-admin-modal--fullscreen){width:calc(100vw - .35rem)!important;height:min(90dvh,calc(100dvh - .35rem))!important;max-width:100vw!important;max-height:100dvh!important;min-width:0!important;margin:0!important;border-radius:10px!important;resize:both}.admin-form-modal--hub-window .admin-form-modal__row{flex-direction:column}.admin-form-modal--hub-window .admin-form-modal__field{width:100%}.card-admin-modal__drag-hint{display:none}}.admin-form-modal--hub-window.academic-hub-catalog-modal.card-admin-modal--wide.card-admin-modal--resizable .academic-hub-catalog__body{display:flex;flex-direction:column;flex:1;min-height:0}.card-admin-modal-backdrop--over-config-host{z-index:5260!important}.card-admin-modal-backdrop--over-config-host:has(.admin-form-modal--hub-sub){z-index:5310!important}.thcs-floating-panel--over-config-host{z-index:5240!important}.admin-record-window-backdrop--over-config-host{z-index:5420!important}.admin-record-window--over-config-host.app-window{z-index:5421!important}:root[data-academic-hub-config-host] .card-admin-modal-backdrop--over-config-host{z-index:5320!important}:root[data-academic-hub-config-host] .card-admin-modal-backdrop--over-config-host:has(.admin-form-modal--hub-sub){z-index:5360!important}:root[data-academic-hub-config-host] .card-admin-modal-backdrop{z-index:5260!important}:root[data-academic-hub-config-host] .card-admin-modal-backdrop:has(.admin-form-modal--hub-sub){z-index:5310!important}:root[data-academic-hub-config-host] .thcs-floating-panel{z-index:5240!important}.edu-hb-user-react-stats{--edu-hb-user-stats-pad: 0;padding:0 0 16px;min-height:240px}.edu-hb-user-react-stats .records-summary-page__body{padding-top:8px}.edu-hb-user-stats-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 12px}.edu-hb-user-stats-msg{font-size:13px}.edu-hb-user-stats-error{margin:12px 0;padding:12px 14px;border-radius:10px}.edu-hb-react-stats-root{width:100%}.edu-hb-react-stats-root.edu-hb-react-active~.edu-hb-legacy-stats{display:none!important}.edu-hb-react-stats-root:not(.edu-hb-react-active){display:none}
