/*! tailwindcss v4.3.0 | 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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--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-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{.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}.relative{position:relative}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-11{height:calc(var(--spacing) * 11)}.h-\[var\(--input-height\)\]{height:var(--input-height)}.w-11{width:calc(var(--spacing) * 11)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-\[34rem\]{max-width:34rem}.shrink-0{flex-shrink:0}.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,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{appearance:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}.overflow-x-auto{overflow-x:auto}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[color\:var\(--border\)\]{border-color:var(--border)}.border-\[color\:var\(--danger\)\]{border-color:var(--danger)}.border-\[var\(--border\)\]{border-color:var(--border)}.bg-\[color\:var\(--bg-input\)\]{background-color:var(--bg-input)}.bg-\[var\(--accent-light\)\]{background-color:var(--accent-light)}.bg-\[var\(--bg-hover\)\]{background-color:var(--bg-hover)}.bg-\[var\(--bg-input\)\]{background-color:var(--bg-input)}.bg-\[var\(--bg-row\)\]{background-color:var(--bg-row)}.bg-\[var\(--bg-zebra\)\]{background-color:var(--bg-zebra)}.bg-\[url\(\'data\:image\/svg\+xml\;charset\=UTF-8\,\%3Csvg\%20xmlns\%3D\%22http\%3A\%2F\%2Fwww\.w3\.org\%2F2000\%2Fsvg\%22\%20width\%3D\%2212\%22\%20height\%3D\%2212\%22\%20viewBox\%3D\%220\%200\%2012\%2012\%22\%3E\%3Cpath\%20fill\%3D\%22\%239ca3af\%22\%20d\%3D\%22M6\%208L1\%203h10z\%22\%2F\%3E\%3C\%2Fsvg\%3E\'\)\]{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Cpath%20fill%3D%22%239ca3af%22%20d%3D%22M6%208L1%203h10z%22%2F%3E%3C%2Fsvg%3E)}.bg-\[right_12px_center\]{background-position:right 12px center}.bg-no-repeat{background-repeat:no-repeat}.object-cover{object-fit:cover}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-\[length\:var\(--font-size-sm\)\]{font-size:var(--font-size-sm)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-none{--tw-leading:1;line-height:1}.font-\[var\(--font-weight-bold\)\]{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-\[var\(--font-weight-medium\)\]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-\[var\(--font-weight-semibold\)\]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[color\:var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--danger\)\]{color:var(--danger)}.text-\[var\(--font-size-base\)\]{color:var(--font-size-base)}.text-\[var\(--font-size-lg\)\]{color:var(--font-size-lg)}.text-\[var\(--font-size-sm\)\]{color:var(--font-size-sm)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-white{color:var(--color-white)}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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))}.transition-\[var\(--transition-fast\)\]{transition-property:var(--transition-fast);transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-\[var\(--bg-hover\)\]:hover{background-color:var(--bg-hover)}.hover\:text-\[var\(--text-primary\)\]:hover{color:var(--text-primary)}}.focus\:border-\[color\:var\(--accent\)\]:focus{border-color:var(--accent)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:w-auto{width:auto}.sm\:min-w-\[7rem\]{min-width:7rem}.sm\:justify-end{justify-content:flex-end}}}:root{--font-family:"Inter", system-ui, -apple-system, sans-serif;--font-size-xs:10px;--font-size-sm:12px;--font-size-base:14px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:600;--line-height:1.5;--bg-primary:#000;--bg-surface:#000;--bg-sidebar:#000;--bg-zebra:#0d0d0d;--bg-row:#141414;--bg-input:#1a1a1a;--bg-hover:#1f1f1f;--text-primary:#e0e0e0;--text-muted:#9ca3af;--text-inverse:#fff;--text-on-accent:#fff;--button-secondary-bg:#242424;--button-secondary-hover:#303030;--button-secondary-border:#4a4a4a;--button-secondary-text:#e0e0e0;--sidebar-text:#e0e0e0;--sidebar-muted:#8b8b8b;--sidebar-hover:#151515;--sidebar-active:#03407857;--border:#2a2a2a;--border-focus:var(--accent);--accent:#034078;--accent-hover:#022f5a;--accent-light:#03407829;--danger:#ef4444;--danger-light:#ef444426;--success:#22c55e;--success-light:#22c55e26;--warning:#f59e0b;--warning-light:#f59e0b26;--info:#034078;--info-light:#03407829;--palette-light:#fff;--palette-semidark:#2a2d35;--palette-dark:#000;--palette-blue:#034078;--palette-green:#22c55e;--palette-purple:#8b5cf6;--palette-amber:#f59e0b;--palette-slate:#64748b;--spacing-unit:4px;--padding-page:20px;--padding-card:14px;--gap-table:8px;--section-gap:20px;--content-max-width:1440px;--border-width:1px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-dialog:0 8px 32px #0006;--shadow-none:none;--shadow-sm:0 1px 2px #00000026;--shadow-lg:0 14px 34px #0000002e;--sidebar-width:240px;--sidebar-collapsed-width:0px;--header-height:64px;--nav-item-height:42px;--stat-height:78px;--input-height:40px;--button-height:40px;--avatar-sm:32px;--avatar-md:40px;--avatar-lg:64px;--transition-fast:.15s ease;--transition-slow:.3s ease;--z-sidebar:40;--z-dialog:50;--z-dropdown:30;--z-tooltip:45;--z-toast:60}[data-theme=light]{--bg-primary:#fff;--bg-surface:#fff;--bg-sidebar:#034078;--bg-zebra:#f9fafb;--bg-row:#fff;--bg-hover:#f3f4f6;--text-primary:#111827;--text-muted:#6b7280;--text-inverse:#fff;--text-on-accent:#fff;--button-secondary-bg:#f1f5f9;--button-secondary-hover:#e2e8f0;--button-secondary-border:#94a3b8;--button-secondary-text:#1f2937;--sidebar-text:#fff;--sidebar-muted:#b9c7d8;--sidebar-hover:#ffffff1a;--sidebar-active:#ffffff24;--border:#e5e7eb;--bg-input:#fff;--shadow-dialog:0 8px 32px #0000001f;--shadow-sm:0 1px 2px #0000000d}[data-theme=semidark]{--bg-primary:#f0f1f4;--bg-surface:#fff;--bg-sidebar:#2a2d35;--bg-zebra:#f9fafb;--bg-row:#fff;--bg-input:#fff;--bg-hover:#e5e7eb;--text-primary:#1f2937;--text-muted:#6b7280;--text-inverse:#fff;--text-on-accent:#fff;--button-secondary-bg:#e9edf3;--button-secondary-hover:#d9dee8;--button-secondary-border:#9ca3af;--button-secondary-text:#1f2937;--sidebar-text:#fff;--sidebar-muted:#c5c7cc;--sidebar-hover:#ffffff1a;--sidebar-active:#ffffff24;--border:#d1d5db;--shadow-dialog:0 8px 32px #00000026;--shadow-sm:0 1px 2px #00000014}[data-theme=dark]{--bg-primary:#000;--bg-surface:#000;--bg-sidebar:#000;--bg-zebra:#0d0d0d;--bg-row:#141414;--bg-input:#1a1a1a;--bg-hover:#1f1f1f;--text-primary:#e0e0e0;--text-muted:#9ca3af;--text-inverse:#fff;--text-on-accent:#fff;--button-secondary-bg:#242424;--button-secondary-hover:#303030;--button-secondary-border:#4a4a4a;--button-secondary-text:#e0e0e0;--sidebar-text:#e0e0e0;--sidebar-muted:#858585;--sidebar-hover:#151515;--sidebar-active:#03407857;--border:#2a2a2a;--shadow-dialog:0 8px 32px #0006;--shadow-sm:0 1px 2px #00000026}[data-accent=blue]{--accent:#034078;--accent-hover:#022f5a;--accent-light:#03407829;--info:#034078;--info-light:#03407829}[data-accent=green]{--accent:#22c55e;--accent-hover:#16a34a;--accent-light:#22c55e26;--info:#22c55e;--info-light:#22c55e26}[data-accent=purple]{--accent:#8b5cf6;--accent-hover:#7c3aed;--accent-light:#8b5cf626;--info:#8b5cf6;--info-light:#8b5cf626}[data-accent=amber]{--accent:#f59e0b;--accent-hover:#d97706;--accent-light:#f59e0b26;--info:#f59e0b;--info-light:#f59e0b26}[data-accent=slate]{--accent:#64748b;--accent-hover:#475569;--accent-light:#64748b26;--info:#64748b;--info-light:#64748b26}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh}button,input,select,textarea{font:inherit}select{padding-left:12px;padding-right:36px}select option{padding:8px 12px}input:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);box-shadow:0 0 0 1000px var(--bg-input) inset;transition:background-color 9999s ease-out}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);box-shadow:0 0 0 1000px var(--bg-input) inset;transition:background-color 9999s ease-out}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);box-shadow:0 0 0 1000px var(--bg-input) inset;transition:background-color 9999s ease-out}input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-primary);caret-color:var(--text-primary);box-shadow:0 0 0 1000px var(--bg-input) inset;transition:background-color 9999s ease-out}input:autofill{color:var(--text-primary);caret-color:var(--text-primary);box-shadow:0 0 0 1000px var(--bg-input) inset}button{cursor:pointer}.required-marker{color:var(--danger);margin-left:3px}.ui-button{border:var(--border-width) solid transparent;border-radius:var(--radius-md);max-width:100%;font-weight:var(--font-weight-medium);white-space:nowrap;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);justify-content:center;align-items:center;line-height:1;display:inline-flex}.ui-button:disabled{cursor:not-allowed;opacity:.5}.ui-button--sm{min-width:88px;height:32px;font-size:var(--font-size-sm);gap:6px;padding:0 18px}.ui-button--md{min-width:120px;height:var(--button-height);font-size:var(--font-size-base);gap:9px;padding:0 24px}.ui-button--lg{min-width:144px;height:48px;font-size:var(--font-size-lg);gap:10px;padding:0 30px}.ui-button--primary{background:var(--accent);color:var(--text-on-accent)}.ui-button--primary:hover:not(:disabled){background:var(--accent-hover)}.ui-button--secondary{border-color:var(--button-secondary-border);background:var(--button-secondary-bg);color:var(--button-secondary-text)}.ui-button--secondary:hover:not(:disabled){background:var(--button-secondary-hover)}.ui-button--danger{background:var(--danger);color:#fff}.ui-button--danger:hover:not(:disabled){opacity:.9}.ui-button--ghost{color:var(--text-primary);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--bg-hover)}.ui-button>span{flex:none}.ui-button>svg:not(.animate-spin){display:none}.ui-back-button{width:var(--button-height);height:var(--button-height);border:var(--border-width) solid var(--button-secondary-border);border-radius:var(--radius-full);background:var(--button-secondary-bg);color:var(--button-secondary-text);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);flex:none;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.ui-back-button:hover{border-color:var(--accent);background:var(--button-secondary-hover);color:var(--text-primary)}.ui-back-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.date-picker{flex-direction:column;gap:6px;min-width:0;display:flex}.date-picker>label{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.date-picker__control{height:var(--input-height);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;display:flex;position:relative}.date-picker__control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.date-picker__control:has(input[aria-invalid=true]){border-color:var(--danger)}.date-picker--disabled{opacity:.55}.date-picker--disabled .date-picker__control{background:var(--bg-zebra)}.date-picker--disabled input,.date-picker--disabled button{cursor:not-allowed}.date-picker__control input{width:100%;min-width:0;height:100%;color:var(--text-primary);background:0 0;border:0;outline:0;padding:0 66px 0 12px}.date-picker__control input::placeholder{color:var(--text-muted)}.date-picker__trigger,.date-picker__input-clear{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.date-picker__trigger{right:5px}.date-picker__input-clear{right:33px}.date-picker__trigger:hover,.date-picker__input-clear:hover{background:var(--accent-light);color:var(--accent)}.date-picker__error{color:var(--danger);font-size:var(--font-size-sm)}.date-picker__popup{z-index:calc(var(--z-toast) + 10);border:1px solid var(--border);padding:14px;position:fixed}@supports (color:color-mix(in lab, red, red)){.date-picker__popup{border:1px solid color-mix(in srgb, var(--border) 82%, var(--accent))}}.date-picker__popup{background:var(--bg-surface);box-shadow:var(--shadow-dialog);color:var(--text-primary);border-radius:12px;animation:.14s ease-out date-picker-enter}.date-picker__header{grid-template-columns:34px 1fr 34px;align-items:center;gap:6px;margin-bottom:14px;display:grid}.date-picker__header>div{justify-content:center;gap:4px;display:flex}.date-picker__header button{width:34px;height:34px;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;display:grid}.date-picker__header button:hover{border-color:var(--border);background:var(--bg-hover);color:var(--accent)}.date-picker__header button:disabled,.date-picker__footer button:disabled{opacity:.28;cursor:not-allowed}.date-picker__header select{border-radius:var(--radius-sm);min-width:0;height:34px;color:var(--text-primary);text-align:center;background:0 0;border:0;outline:0;font-size:13px;font-weight:600}.date-picker__month-select{width:108px}.date-picker__year-picker{position:relative}.date-picker__header .date-picker__year-trigger{border-radius:var(--radius-sm);width:auto;min-width:70px;height:34px;color:var(--text-primary);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.date-picker__header .date-picker__year-trigger:hover,.date-picker__header .date-picker__year-trigger:focus{background:var(--bg-hover);border-color:#0000}.date-picker__header .date-picker__year-trigger--current{background:var(--accent-light);color:var(--accent)}.date-picker__year-menu{z-index:1;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:176px;max-height:220px;box-shadow:var(--shadow-dialog);grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.date-picker__year-menu button{border-radius:var(--radius-sm);width:100%;height:32px;font-size:12px;font-weight:500}.date-picker__year-option--current{background:var(--accent-light);color:var(--accent)}.date-picker__year-option--selected,.date-picker__year-option--selected:hover{background:var(--accent);color:var(--text-on-accent)}.date-picker__header select:hover,.date-picker__header select:focus{background:var(--bg-hover)}.date-picker__weekdays,.date-picker__days{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.date-picker__weekdays{margin-bottom:5px}.date-picker__weekdays span{height:27px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;place-items:center;font-size:10px;font-weight:600;display:grid}.date-picker__days button{aspect-ratio:1;color:var(--text-primary);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;font-size:12px;display:grid;position:relative}.date-picker__days button:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.date-picker__days button:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}}.date-picker__days button:hover{background:var(--accent-light);color:var(--accent);transform:translateY(-1px)}.date-picker__days .date-picker__day--outside{color:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.date-picker__days .date-picker__day--outside{color:color-mix(in srgb, var(--text-muted) 45%, transparent)}}.date-picker__days .date-picker__day--today{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600}.date-picker__days .date-picker__day--selected{border-color:var(--accent);background:var(--accent);box-shadow:0 5px 14px var(--accent)}@supports (color:color-mix(in lab, red, red)){.date-picker__days .date-picker__day--selected{box-shadow:0 5px 14px color-mix(in srgb, var(--accent) 28%, transparent)}}.date-picker__days .date-picker__day--selected{color:var(--text-on-accent);font-weight:600}.date-picker__days .date-picker__day--selected:hover{background:var(--accent-hover);color:var(--text-on-accent)}.date-picker__days .date-picker__day--disabled,.date-picker__days .date-picker__day--disabled:hover{color:var(--text-muted);background:0 0;border-color:#0000}@supports (color:color-mix(in lab, red, red)){.date-picker__days .date-picker__day--disabled,.date-picker__days .date-picker__day--disabled:hover{color:color-mix(in srgb, var(--text-muted) 28%, transparent)}}.date-picker__days .date-picker__day--disabled,.date-picker__days .date-picker__day--disabled:hover{cursor:not-allowed;transform:none}.date-picker__footer{border-top:1px solid var(--border);justify-content:space-between;margin-top:12px;padding-top:10px;display:flex}.date-picker__footer button{border-radius:var(--radius-sm);color:var(--accent);background:0 0;border:0;padding:5px 8px;font-size:11px;font-weight:600}.date-picker__footer button:hover{background:var(--accent-light)}.date-picker__footer .date-picker__clear{color:var(--danger)}.date-picker__footer .date-picker__clear:hover{background:var(--danger-light)}[data-theme=dark] .date-picker__popup{background:#080808;border-color:#202020}@keyframes date-picker-enter{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}#root{min-height:100vh}.time-picker{flex-direction:column;gap:6px;min-width:0;display:flex}.time-picker>label{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.time-picker__control{height:var(--input-height);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;display:flex;position:relative}.time-picker__control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.time-picker__control:has(input[aria-invalid=true]){border-color:var(--danger)}.time-picker--disabled{opacity:.55}.time-picker--disabled .time-picker__control{background:var(--bg-zebra)}.time-picker__control input{width:100%;min-width:0;height:100%;color:var(--text-primary);background:0 0;border:0;outline:0;padding:0 64px 0 12px}.time-picker__trigger,.time-picker__input-clear{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.time-picker__trigger{right:5px}.time-picker__input-clear{right:33px}.time-picker__trigger:hover,.time-picker__input-clear:hover{background:var(--accent-light);color:var(--accent)}.time-picker__error{color:var(--danger);font-size:var(--font-size-sm)}.time-picker__popup{z-index:calc(var(--z-toast) + 10);border:1px solid var(--border);padding:14px;position:fixed}@supports (color:color-mix(in lab, red, red)){.time-picker__popup{border:1px solid color-mix(in srgb, var(--border) 82%, var(--accent))}}.time-picker__popup{background:var(--bg-surface);box-shadow:var(--shadow-dialog);color:var(--text-primary);border-radius:14px;animation:.14s ease-out time-picker-enter}.time-picker__summary{justify-content:center;align-items:center;gap:6px;margin-bottom:12px;font-size:22px;font-weight:700;display:flex}.time-picker__summary-part{border:1px solid var(--border);background:var(--bg-input);min-width:48px;height:40px;color:var(--text-primary);font:inherit;border-radius:8px}.time-picker__summary-part--active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.time-picker__clock-face{background:radial-gradient(circle at center, var(--bg-surface) 0 9px, transparent 10px), var(--bg-zebra);border-radius:50%;width:220px;height:220px;margin:0 auto;position:relative}.time-picker__clock-dot{z-index:2;background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.time-picker__clock-hand{z-index:1;background:var(--accent);border-radius:999px;width:2px;height:72px;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.time-picker__clock-hand{background:color-mix(in srgb, var(--accent) 74%, transparent)}}.time-picker__clock-hand{transform-origin:50% 100%;transition:transform .12s ease-out}.time-picker__clock-option{z-index:3;width:36px;height:36px;color:var(--text-primary);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid;position:absolute;top:calc(50% - 18px);left:calc(50% - 18px)}.time-picker__clock-option:hover{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.time-picker__clock-option--selected{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.time-picker__periods{grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;display:grid}.time-picker__period{border:1px solid var(--border);background:var(--bg-input);height:34px;color:var(--text-primary);border-radius:8px;font-size:12px;font-weight:700}.time-picker__period--selected{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.time-picker__actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:12px;padding-top:10px;display:flex}.time-picker__actions button{min-width:72px;height:34px;color:var(--text-primary);background:0 0;border:0;border-radius:8px;font-size:12px;font-weight:600}.time-picker__actions button:hover{background:var(--bg-hover)}.time-picker__actions button:last-child{background:var(--accent);color:var(--text-on-accent)}.time-picker__actions button:last-child:hover{background:var(--accent-hover)}[data-theme=dark] .time-picker__popup{background:#080808;border-color:#202020}@keyframes time-picker-enter{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog-body--flush{padding:0!important}.app-dialog-overlay{justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.app-dialog-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;animation:.15s dialog-enter;position:absolute;inset:0}.app-dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);width:100%;max-height:calc(100vh - 48px);box-shadow:var(--shadow-dialog);flex-direction:column;animation:.15s dialog-enter;display:flex;position:relative;overflow:hidden}.app-dialog:has(.dropdown-panel){overflow:visible}.app-dialog:has(.dropdown-panel) .app-dialog__body{overflow:visible}.app-dialog--sm{max-width:28rem}.app-dialog--md{max-width:36rem}.app-dialog--lg{max-width:48rem}.app-dialog--xl{max-width:64rem}.app-dialog__header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 30px 6px;display:flex}.app-dialog__title{min-width:0;color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0;padding-top:2px;line-height:1.25}.app-dialog__close{border-radius:var(--radius-md);background:var(--bg-hover);border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-left:auto;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.app-dialog__close{background:color-mix(in srgb, var(--bg-hover) 55%, transparent)}}.app-dialog__close{color:var(--text-primary);transition:var(--transition-fast)}.app-dialog__close:hover{border-color:var(--border);background:var(--danger-light);color:var(--danger)}.app-dialog__close:focus-visible{box-shadow:0 0 0 3px var(--accent-light);outline:none}.app-dialog__body{padding:6px 30px 30px;overflow-y:auto}.confirm-dialog-shell{border-radius:18px;max-width:min(470px,100vw - 32px);overflow:hidden}.confirm-dialog{background:var(--bg-surface);position:relative}.confirm-dialog__close{border-radius:var(--radius-lg);width:34px;height:34px;color:var(--text-muted);transition:var(--transition-fast);z-index:1;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:16px;right:16px}.confirm-dialog__close:hover{background:var(--bg-hover);color:var(--text-primary)}.confirm-dialog__close:focus-visible{box-shadow:0 0 0 3px var(--accent-light);outline:none}.confirm-dialog__content{grid-template-columns:52px minmax(0,1fr);gap:16px;padding:30px 56px 26px 30px;display:grid}.confirm-dialog__icon{width:52px;height:52px;color:var(--accent);background:0 0;justify-content:center;align-items:center;display:inline-flex}.confirm-dialog__icon--danger{color:var(--danger)}.confirm-dialog__icon--success{color:var(--success)}.confirm-dialog__copy{min-width:0;padding-right:14px}.confirm-dialog__title{color:var(--text-primary);font-size:22px;font-weight:var(--font-weight-bold);margin:0;line-height:1.15}.confirm-dialog__message{max-width:320px;color:var(--text-muted);margin:7px 0 0;font-size:14px;line-height:1.5}.confirm-dialog__result{margin-top:22px}.confirm-dialog__footer{background:var(--bg-surface);justify-content:flex-end;align-items:center;gap:10px;min-height:64px;padding:8px 30px 18px;display:flex}.confirm-dialog__button,.confirm-dialog__button--primary{width:128px;min-width:128px;height:44px;padding-top:0;padding-bottom:0}@media (width<=720px){.app-dialog-overlay{padding:16px}.app-dialog{max-height:calc(100vh - 32px)}.app-dialog__header{padding:18px 20px 5px}.app-dialog__body{padding:6px 20px 20px}.confirm-dialog-shell{border-radius:16px}.confirm-dialog__close{top:16px;right:16px}.confirm-dialog__content{grid-template-columns:1fr;gap:14px;padding:30px 20px 22px}.confirm-dialog__icon{width:50px;height:50px}.confirm-dialog__copy{padding-right:30px}.confirm-dialog__title{font-size:21px}.confirm-dialog__message{margin-top:7px;font-size:14px;line-height:1.55}.confirm-dialog__footer{flex-direction:column-reverse;align-items:stretch;gap:12px;min-height:0;padding:14px 20px 20px}.confirm-dialog__button,.confirm-dialog__button--primary{width:100%;min-width:0}}@keyframes dialog-enter{0%{opacity:0}to{opacity:1}}.onboarding-shell{background:linear-gradient(135deg, var(--accent), transparent 38%), var(--bg-primary);min-height:100vh}@supports (color:color-mix(in lab, red, red)){.onboarding-shell{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, transparent), transparent 38%), var(--bg-primary)}}.onboarding-shell{padding:0 32px 28px}.onboarding-brand{z-index:20;background:var(--bg-primary);justify-content:space-between;align-items:center;width:100%;height:82px;margin:0 auto;padding:0 max(32px,50vw - 540px);display:flex;position:fixed;inset:0 0 auto}.onboarding-brand>div{align-items:center;gap:12px;display:flex}.onboarding-brand__mark,.onboarding-loading__mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.onboarding-brand strong,.onboarding-brand small{display:block}.onboarding-brand strong{font-size:16px}.onboarding-brand small{color:var(--text-muted);margin-top:1px;font-size:11px}.onboarding-brand__step{text-align:center;position:absolute;left:50%;transform:translate(-50%);display:block!important}.onboarding-brand__step span,.onboarding-brand__step strong{display:block}.onboarding-brand__step span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:500}.onboarding-brand__step strong{margin-top:2px;font-size:15px}.onboarding-brand__signout{min-width:86px}.onboarding-panel{width:min(920px,100%);min-height:0;margin:74px auto 0;padding:24px 0 4px;position:relative}.onboarding-step__heading{margin-bottom:30px}.onboarding-step__heading p{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.onboarding-step__heading h2{letter-spacing:-.025em;margin-top:5px;font-size:24px}.onboarding-step__heading span{color:var(--text-muted);margin-top:7px;font-size:13px;display:block}.onboarding-choice-heading{margin-bottom:10px;font-size:12px;font-weight:600}.onboarding-choice-heading--accent{margin-top:26px}.onboarding-theme-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.onboarding-theme-option{border:1px solid var(--border);background:var(--bg-primary);min-height:190px;color:var(--text-primary);text-align:left;border-radius:6px;padding:12px;position:relative}.onboarding-theme-option:hover,.onboarding-theme-option.selected{border-color:var(--accent)}.onboarding-theme-option>strong,.onboarding-theme-option>small{display:block}.onboarding-theme-option>strong{margin-top:11px;font-size:13px}.onboarding-theme-option>small{min-height:34px;color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.45}.onboarding-theme-preview{background:#fff;border:1px solid #d1d5db;border-radius:4px;height:86px;display:block;position:relative;overflow:hidden}.onboarding-theme-preview i{background:#034078;width:27%;position:absolute;inset:0 auto 0 0}.onboarding-theme-preview b,.onboarding-theme-preview em,.onboarding-theme-preview small{background:#e5e7eb;border-radius:2px;height:9px;position:absolute;left:34%;right:8%}.onboarding-theme-preview b{top:16px}.onboarding-theme-preview em{top:36px;right:30%}.onboarding-theme-preview small{top:56px}.onboarding-theme-preview--semidark{background:#f0f1f4;border-color:#c9ccd2}.onboarding-theme-preview--semidark i{background:#2a2d35}.onboarding-theme-preview--dark{background:#000;border-color:#333}.onboarding-theme-preview--dark i{background:#000;border-right:1px solid #333}.onboarding-theme-preview--dark b,.onboarding-theme-preview--dark em,.onboarding-theme-preview--dark small{background:#242424}.onboarding-theme-selected{background:var(--accent);color:#fff;border-radius:3px;align-items:center;gap:4px;padding:3px 6px;font-size:10px;display:inline-flex;position:absolute;top:18px;right:18px}.onboarding-accent-grid{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.onboarding-accent-option{border:1px solid var(--border);background:var(--bg-primary);min-height:44px;color:var(--text-primary);border-radius:5px;align-items:center;gap:8px;padding:0 10px;display:flex}.onboarding-accent-option:hover,.onboarding-accent-option.selected{border-color:var(--accent);background:var(--accent-light)}.onboarding-accent-option>span{border-radius:50%;flex:none;width:16px;height:16px}.onboarding-accent-option strong{text-align:left;flex:1;font-size:10px}.onboarding-framework-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.onboarding-framework{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);min-height:120px;color:var(--text-primary);text-align:left;flex-direction:column;align-items:flex-start;padding:18px;display:flex;position:relative}.onboarding-framework:hover,.onboarding-framework--selected{border-color:var(--accent);background:var(--accent-light)}.onboarding-framework>span{color:var(--accent);align-items:center;gap:4px;font-size:10px;font-weight:600;display:flex;position:absolute;top:12px;right:12px}.onboarding-framework>strong{padding-right:65px;font-size:14px}.onboarding-framework>small{color:var(--text-muted);margin-top:7px;font-size:11px;line-height:1.5}.onboarding-framework>em{color:var(--text-muted);margin-top:auto;padding-top:10px;font-size:10px;font-style:normal}.onboarding-education-heading{margin-top:26px}.onboarding-education-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.onboarding-education-level{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-height:108px;color:var(--text-primary);text-align:left;padding:16px 42px 14px 15px;position:relative}.onboarding-education-level:hover,.onboarding-education-level--selected{border-color:var(--accent);background:var(--accent-light)}.onboarding-education-level>strong,.onboarding-education-level>small{display:block}.onboarding-education-level>strong{font-size:13px}.onboarding-education-level>small{color:var(--text-muted);margin-top:6px;font-size:11px;line-height:1.45}.onboarding-education-level__check{border:1px solid var(--border);border-radius:var(--radius-sm);place-items:center;width:22px;height:22px;display:grid;position:absolute;top:14px;right:14px}.onboarding-education-level--selected .onboarding-education-level__check{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.onboarding-grade-preview{border-top:1px solid var(--border);margin-top:22px;padding:14px 0}.onboarding-grade-preview>span{color:var(--text-muted);text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:600;display:block}.onboarding-grade-preview>div{flex-wrap:wrap;gap:7px;display:flex}.onboarding-grade-preview strong{border-radius:var(--radius-full);background:var(--accent-light);color:var(--accent);padding:6px 9px;font-size:11px;font-weight:600}.onboarding-grade-preview small{color:var(--text-muted);font-size:12px}[data-theme=dark] .onboarding-theme-option,[data-theme=dark] .onboarding-accent-option,[data-theme=dark] .onboarding-module,[data-theme=dark] .onboarding-review,[data-theme=dark] .onboarding-terms{border-color:#1c1c1c}[data-theme=dark] .onboarding-theme-option:hover,[data-theme=dark] .onboarding-theme-option.selected,[data-theme=dark] .onboarding-accent-option:hover,[data-theme=dark] .onboarding-accent-option.selected,[data-theme=dark] .onboarding-module:hover,[data-theme=dark] .onboarding-module--selected{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark] .onboarding-theme-option:hover,[data-theme=dark] .onboarding-theme-option.selected,[data-theme=dark] .onboarding-accent-option:hover,[data-theme=dark] .onboarding-accent-option.selected,[data-theme=dark] .onboarding-module:hover,[data-theme=dark] .onboarding-module--selected{border-color:color-mix(in srgb, var(--accent) 72%, #1c1c1c)}}[data-theme=dark] .onboarding-theme-preview{border-color:#242424}.onboarding-grid{gap:18px 20px;display:grid}.onboarding-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-field{flex-direction:column;gap:6px;display:flex}.onboarding-field>span{color:var(--text-primary);font-size:12px;font-weight:500}.onboarding-field input,.onboarding-field select,.onboarding-terms input,.onboarding-grade input{border:1px solid var(--border);background:var(--bg-input);width:100%;height:40px;color:var(--text-primary);border-radius:5px;outline:0;padding:0 11px}.onboarding-field input:focus,.onboarding-field select:focus,.onboarding-terms input:focus,.onboarding-grade input:focus{border-color:var(--accent)}.onboarding-field .onboarding-input--error{border-color:var(--danger)}.onboarding-field .onboarding-input--error:focus{border-color:var(--danger);outline:1px solid var(--danger)}.onboarding-field__error{color:var(--danger);font-size:11px}.dropdown-field{flex-direction:column;gap:6px;display:flex;position:relative}.dropdown-control{width:100%;position:relative}.dropdown-field__label,.checkbox-group legend{color:var(--text-primary);font-size:12px;font-weight:500}.dropdown-trigger{border:1px solid var(--border);background:var(--bg-input);width:100%;height:40px;color:var(--text-primary);text-align:left;background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Cpath%20fill%3D%22%239ca3af%22%20d%3D%22M6%208L1%203h10z%22%2F%3E%3C%2Fsvg%3E);background-position:right 12px center;background-repeat:no-repeat;border-radius:5px;justify-content:space-between;align-items:center;padding:0 34px 0 11px;display:flex}.dropdown-trigger:focus{border-color:var(--accent);outline:0}.dropdown-trigger:disabled{opacity:.58;cursor:not-allowed}.dropdown-trigger--error{border-color:var(--danger)}.dropdown-trigger__placeholder{color:var(--text-muted)}.dropdown-panel{z-index:1000;border:1px solid var(--border);background:var(--bg-surface);width:100%;box-shadow:var(--shadow-lg);border-radius:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.dropdown-search{border-bottom:1px solid var(--border);color:var(--text-muted);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px;display:grid}.dropdown-search input{width:100%;height:30px;color:var(--text-primary);background:0 0;border:0;outline:0}.dropdown-search button{width:24px;height:24px;color:var(--text-muted);background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.dropdown-options{max-height:220px;padding:4px;overflow-y:auto}.dropdown-option{width:100%;min-height:34px;color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:4px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px;display:flex}.dropdown-option:hover,.dropdown-option--selected{background:var(--accent-light)}.dropdown-trigger__value,.dropdown-option__main{align-items:center;gap:9px;min-width:0;display:inline-flex}.dropdown-trigger__multi-value{align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.dropdown-trigger__selected-item{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.dropdown-trigger__selected-item+.dropdown-trigger__selected-item:before{content:",";color:var(--text-muted)}.dropdown-selected-tags{flex-wrap:wrap;gap:6px;max-height:140px;margin-top:6px;padding:2px 0;display:flex;overflow-y:auto}.dropdown-selected-tag{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd;border-radius:5px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;font-weight:500;line-height:1.3;display:inline-flex}.dropdown-selected-tag__remove{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:1px;transition:opacity .15s,background-color .15s;display:inline-flex}.dropdown-selected-tag__remove:hover{opacity:1;background-color:#0369a126}.dropdown-flag{object-fit:cover;width:22px;height:16px;box-shadow:0 0 0 1px var(--border);border-radius:2px;flex:0 0 22px}.dropdown-option__description{color:var(--text-muted)}.dropdown-option--check{grid-template-columns:20px 1fr;align-items:center;display:grid}.dropdown-option__check{border:1px solid var(--border);border-radius:3px;place-items:center;width:16px;height:16px;display:grid}.dropdown-option--selected .dropdown-option__check{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.dropdown-empty,.dropdown-field__error{color:var(--text-muted);padding:8px;font-size:11px}.dropdown-field__error{color:var(--danger);padding:0}.checkbox-group{border:0;flex-direction:column;gap:8px;padding:0;display:flex}.checkbox-group__options{gap:8px;display:grid}.checkbox-option{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);text-align:left;border-radius:6px;grid-template-columns:20px 1fr;align-items:start;gap:10px;padding:10px;display:grid}.checkbox-option:hover,.checkbox-option--checked{border-color:var(--accent);background:var(--accent-light)}.checkbox-option__box{border:1px solid var(--border);border-radius:3px;place-items:center;width:16px;height:16px;display:grid}.checkbox-option--checked .checkbox-option__box{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.checkbox-option small{color:var(--text-muted);margin-top:2px;display:block}.onboarding-phone{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);grid-template-columns:auto 1fr;align-items:center;height:40px;display:grid;overflow:hidden}.onboarding-phone:focus-within{border-color:var(--accent)}.onboarding-phone--error{border-color:var(--danger)}.onboarding-phone>span{border-right:1px solid var(--border);background:var(--bg-zebra);min-width:62px;height:100%;color:var(--text-primary);-webkit-user-select:none;user-select:none;place-items:center;padding:0 11px;font-size:13px;font-weight:600;display:grid}.onboarding-phone input{width:100%;min-width:0;height:100%;color:var(--text-primary);background:0 0;border:0;outline:0;padding:0 11px}.onboarding-field--compact{width:260px}.onboarding-logo-field{border:1px dashed var(--border);background:var(--bg-surface);cursor:pointer;min-height:92px;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);border-radius:8px;grid-column:1/-1;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid;position:relative}.onboarding-logo-field:hover,.onboarding-logo-field:focus-within,.onboarding-logo-field--dragging{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.onboarding-logo-field:hover,.onboarding-logo-field:focus-within,.onboarding-logo-field--dragging{background:color-mix(in srgb, var(--accent) 5%, var(--bg-surface))}}.onboarding-logo-field:focus-within,.onboarding-logo-field--dragging{box-shadow:0 0 0 3px var(--accent-light)}.onboarding-logo-field--error{border-color:var(--danger)}.onboarding-logo-field__preview{border:1px solid var(--border);background:var(--accent-light);width:64px;height:64px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:grid;overflow:hidden}.onboarding-logo-field__preview img{object-fit:cover;width:100%;height:100%}.onboarding-logo-field__preview--error{border-color:var(--danger)}.onboarding-logo-field__copy{min-width:0}.onboarding-logo-field__copy>strong,.onboarding-logo-field__copy>small{display:block}.onboarding-logo-field__copy>strong{font-size:13px}.onboarding-logo-field__copy>small{color:var(--text-muted);margin-top:4px;font-size:11px}.onboarding-logo-field__actions{justify-content:flex-end;align-items:center;gap:12px;display:inline-flex}.onboarding-logo-field__action{border-radius:var(--radius-md);background:var(--accent);min-width:124px;height:36px;color:var(--text-on-accent);justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.onboarding-logo-field__remove{color:var(--danger);transition:opacity var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.onboarding-logo-field__remove:hover{opacity:.78}.onboarding-logo-field input{opacity:0;width:1px;height:1px;position:absolute}.onboarding-inline-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.onboarding-calendar-year{margin-bottom:24px}.onboarding-operating-rules{grid-template-columns:1fr 180px 180px;align-items:end;gap:18px 20px;margin:-8px 0 24px;display:grid}.onboarding-weekday-options{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.onboarding-weekday-option{border:1px solid var(--border);background:var(--bg-input);height:36px;color:var(--text-secondary);border-radius:5px;font-size:12px;font-weight:600}.onboarding-weekday-option:hover{border-color:var(--accent);color:var(--accent)}.onboarding-weekday-option--selected{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.onboarding-calendar-notice{color:var(--text-muted);margin:-8px 0 12px;font-size:12px}.onboarding-terms{overflow:visible}.onboarding-terms--disabled{background:var(--bg-zebra);opacity:.68}.onboarding-terms__header,.onboarding-terms__row{grid-template-columns:1fr 1.2fr 1.2fr 82px 32px;align-items:center;gap:12px;padding:10px 12px;display:grid}.onboarding-terms__header{color:var(--text-muted);text-transform:uppercase;font-size:11px}.onboarding-terms__row+.onboarding-terms__row{margin-top:2px}.onboarding-term-status{background:var(--bg-zebra);width:max-content;max-width:100%;color:var(--text-muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.onboarding-term-status--current{background:var(--accent-light);color:var(--accent)}.onboarding-term-status--upcoming{background:var(--info)}@supports (color:color-mix(in lab, red, red)){.onboarding-term-status--upcoming{background:color-mix(in srgb, var(--info) 12%, transparent)}}.onboarding-term-status--upcoming{color:var(--info)}.onboarding-term-status--ended{background:var(--text-muted)}@supports (color:color-mix(in lab, red, red)){.onboarding-term-status--ended{background:color-mix(in srgb, var(--text-muted) 12%, transparent)}}.onboarding-term-status--ended{color:var(--text-muted)}.onboarding-term-status--needs-dates{background:var(--danger-light);color:var(--danger)}.onboarding-radio{align-items:center;gap:7px;font-size:12px;display:flex}.onboarding-radio input{width:auto;height:auto}.onboarding-term-remove{width:30px;height:30px;color:var(--danger);background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;display:grid}.onboarding-term-remove:hover{border-color:var(--danger);background:var(--danger-light)}.onboarding-term-remove:disabled{opacity:.3;cursor:not-allowed}.onboarding-add-term{color:var(--accent);background:0 0;border:0;align-items:center;gap:7px;margin-top:12px;font-size:12px;font-weight:600;display:inline-flex}.onboarding-add-term:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.55}.onboarding-grades{gap:9px;width:min(470px,100%);margin-top:22px;display:grid}.onboarding-grade{color:var(--text-muted);align-items:center;gap:9px;font-size:13px;display:grid}.onboarding-grade--readonly{grid-template-columns:minmax(0,1fr)}.onboarding-grade--editable{grid-template-columns:116px 90px 70px 92px 20px 32px}.onboarding-grade--readonly strong{border:1px solid var(--border);background:var(--bg-zebra);height:40px;color:var(--text-primary);border-radius:5px;align-items:center;padding:0 11px;font-size:13px;font-weight:500;display:flex}.onboarding-grade--editable>strong{color:var(--text-primary);font-size:12px;font-weight:600}.onboarding-grade__remove{width:32px;height:32px;color:var(--danger);background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.onboarding-grade__remove:hover{background:var(--danger-light)}.onboarding-add-grade{width:max-content;color:var(--accent);background:0 0;border:0;align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.onboarding-grades>small{color:var(--danger);font-size:11px}.onboarding-template-group{gap:8px;max-width:620px;display:grid}.onboarding-template-group>span{color:var(--text-primary);font-size:12px;font-weight:500}.onboarding-template-group>small{color:var(--danger);font-size:11px}.onboarding-template-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.onboarding-template-option{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-height:76px;color:var(--text-primary);text-align:left;gap:6px;padding:14px;display:grid;position:relative}.onboarding-template-option:hover,.onboarding-template-option--selected{border-color:var(--accent);background:var(--accent-light)}.onboarding-template-option--selected{padding-right:84px}.onboarding-template-option strong{font-size:13px}.onboarding-template-option small{color:var(--text-muted);font-size:11px;line-height:1.4}.onboarding-template-option>span{color:var(--accent);align-items:center;gap:4px;font-size:10px;font-weight:600;display:inline-flex;position:absolute;top:12px;right:12px}.onboarding-core-modules{border-left:3px solid var(--accent);background:var(--accent-light);align-items:center;gap:10px;margin-bottom:20px;padding:12px 14px;font-size:12px;display:flex}.onboarding-module-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.onboarding-module{text-align:left;border:1px solid var(--border);background:var(--bg-primary);min-height:92px;color:var(--text-primary);border-radius:6px;padding:16px 44px 14px 16px;display:grid;position:relative}.onboarding-module:hover,.onboarding-module--selected{border-color:var(--accent);background:var(--accent-light)}.onboarding-module strong{font-size:13px}.onboarding-module small{color:var(--text-muted);margin-top:5px;line-height:1.45}.onboarding-module__check{border:1px solid var(--border);border-radius:4px;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:15px;right:15px}.onboarding-module--selected .onboarding-module__check{border-color:var(--accent);background:var(--accent);color:#fff}.onboarding-review{border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(2,1fr);display:grid}.onboarding-review section{min-height:130px;padding:20px}.onboarding-review section:nth-child(2n){border-left:1px solid var(--border)}.onboarding-review section:nth-child(n+3){border-top:1px solid var(--border)}.onboarding-review h3{color:var(--text-muted);text-transform:uppercase;margin-bottom:12px;font-size:11px}.onboarding-review strong,.onboarding-review span{display:block}.onboarding-review strong{margin-bottom:7px;font-size:14px}.onboarding-review span{color:var(--text-muted);margin-top:3px;font-size:12px}.onboarding-error{color:var(--danger);margin-top:20px;font-size:12px}.onboarding-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;min-height:64px;margin-top:28px;padding-top:18px;display:flex}.onboarding-actions--complete{justify-content:flex-end}.onboarding-chevron{z-index:10;border:1px solid var(--border);background:var(--bg-surface);width:58px;height:58px;color:var(--text-primary);transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);border-radius:50%;place-items:center;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.onboarding-chevron--back{left:22px}.onboarding-chevron--next{right:22px}.onboarding-chevron:hover{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.onboarding-chevron--next{border-color:var(--accent);background:var(--accent);color:#fff}.onboarding-chevron--next:hover{background:var(--accent-hover);color:#fff}.onboarding-chevron:disabled{cursor:not-allowed;opacity:.5}.onboarding-footer{text-align:center;width:min(920px,100%);color:var(--text-muted);margin:48px auto 0;font-size:11px}.onboarding-loading{background:var(--bg-primary);min-height:100vh;color:var(--text-muted);place-content:center;justify-items:center;gap:14px;display:grid}.onboarding-waiting{text-align:center;background:var(--bg-primary);place-content:center;justify-items:center;gap:13px;min-height:100vh;padding:24px;display:grid}.onboarding-waiting p{color:var(--accent);text-transform:uppercase;margin-top:12px;font-size:12px;font-weight:600}.onboarding-waiting h1{max-width:540px;font-size:25px}.onboarding-waiting>span:not(.onboarding-brand__mark){max-width:500px;color:var(--text-muted);margin-bottom:10px;font-size:13px}@media (width<=760px){.onboarding-shell{padding:0 16px 20px}.onboarding-brand{padding:0 16px}.onboarding-panel{padding:18px 0}.onboarding-brand__step{text-align:right;margin-left:auto;margin-right:16px;position:static;transform:none}.onboarding-brand__step span{display:none}.onboarding-brand__step strong{font-size:12px}.onboarding-chevron{width:48px;height:48px;position:fixed}.onboarding-chevron--back{left:8px}.onboarding-chevron--next{right:8px}.onboarding-grid--two,.onboarding-grid--three,.onboarding-module-grid,.onboarding-review,.onboarding-template-options{grid-template-columns:1fr}.onboarding-logo-field{grid-template-columns:56px minmax(0,1fr);align-items:start}.onboarding-logo-field__preview{width:56px;height:56px}.onboarding-logo-field__actions{grid-column:1/-1;justify-content:stretch;width:100%}.onboarding-logo-field__action{flex:1;min-width:0}.onboarding-logo-field__remove{min-height:36px;padding:0 6px}.onboarding-theme-grid,.onboarding-framework-grid,.onboarding-education-grid{grid-template-columns:1fr}.onboarding-accent-grid{grid-template-columns:repeat(2,1fr)}.onboarding-review section:nth-child(2n){border-left:0}.onboarding-review section+section{border-top:1px solid var(--border)}.onboarding-terms{overflow-x:auto}.onboarding-terms__header,.onboarding-terms__row{min-width:680px}.onboarding-grades{width:100%}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background-color:var(--accent-light);color:var(--text-primary)}.bg-primary{background-color:var(--bg-primary)}.bg-surface{background-color:var(--bg-surface)}.bg-sidebar{background-color:var(--bg-sidebar)}.bg-zebra{background-color:var(--bg-zebra)}.bg-row{background-color:var(--bg-row)}.bg-input{background-color:var(--bg-input)}.bg-hover:hover{background-color:var(--bg-hover)}.text-primary{color:var(--text-primary)}.text-muted{color:var(--text-muted)}.text-inverse{color:var(--text-inverse)}.text-accent{color:var(--accent)}.border-default{border-color:var(--border)}.border-accent{border-color:var(--accent)}.admin-shell{background:var(--bg-primary);min-height:100vh;display:flex}.admin-sidebar{z-index:var(--z-sidebar);width:var(--sidebar-width);border-right:var(--border-width) solid var(--border);background:var(--bg-sidebar);color:var(--sidebar-text);transition:transform var(--transition-slow);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.admin-brand{min-height:92px;padding:0 var(--padding-page);flex-direction:column;justify-content:center;display:flex}.admin-brand__name{color:var(--sidebar-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.04em;line-height:1}.admin-brand__school{color:var(--sidebar-muted);font-size:var(--font-size-sm);margin-top:6px;line-height:1.25}.admin-nav{flex-direction:column;flex:1;gap:3px;padding:6px 12px 18px;display:flex;overflow-y:auto}.admin-nav__link{min-height:var(--nav-item-height);border-radius:var(--radius-sm);color:var(--sidebar-text);font-size:var(--font-size-base);transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);border-left:2px solid #0000;align-items:center;gap:12px;padding:0 14px;text-decoration:none;display:flex}.admin-nav__link:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.admin-nav__link--active{border-left-color:var(--accent);background:var(--sidebar-active);color:var(--sidebar-text)}.admin-nav__link--active:hover{background:var(--sidebar-active)}.admin-nav__badge{color:#fff;background-color:#ef4444;border-radius:9999px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:700;line-height:1}.admin-header__actions{position:relative}.admin-header__badge{color:#fff;text-align:center;pointer-events:none;background-color:#ef4444;border-radius:9999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:2px}.admin-sidebar__footer{padding:14px 16px}.admin-sidebar__sign-out-button{border-color:var(--danger);background:var(--danger);color:#fff;justify-content:center;width:100%}.admin-sidebar__sign-out-button:hover{border-color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.admin-sidebar__sign-out-button:hover{background:color-mix(in srgb, var(--danger) 88%, #000)}}.admin-sidebar__sign-out-button:hover{color:#fff}.admin-main{min-width:0;min-height:100vh;margin-left:var(--sidebar-width);flex-direction:column;flex:1;display:flex}.admin-header{z-index:var(--z-dropdown);min-height:var(--header-height);padding:0 var(--padding-page);border-bottom:var(--border-width) solid var(--border);background:var(--bg-surface);justify-content:space-between;align-items:center;gap:18px;display:flex;position:sticky;top:0}.admin-header__left,.admin-header__right,.admin-header__actions,.admin-header__profile{align-items:center;display:flex}.admin-header__left,.admin-header__right{gap:12px}.workspace-title{flex-direction:column;gap:2px;min-width:160px;display:flex}.workspace-title span{color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase}.workspace-title strong{color:var(--text-primary);font-size:var(--font-size-sm);line-height:1.2}.workspace-access-notice{border:1px solid var(--primary);margin:0 0 18px;padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.workspace-access-notice{border:1px solid color-mix(in srgb, var(--primary) 34%, var(--border))}}.workspace-access-notice{background:var(--primary);border-radius:6px}@supports (color:color-mix(in lab, red, red)){.workspace-access-notice{background:color-mix(in srgb, var(--primary) 8%, var(--bg-surface))}}.workspace-access-notice{color:var(--text-primary);font-size:var(--font-size-sm)}.admin-header__actions{gap:8px}.admin-header__profile{gap:10px;padding-left:10px}.admin-header__search{width:min(286px,30vw);position:relative}.admin-header__search input{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);width:100%;height:40px;color:var(--text-primary);padding:0 42px 0 16px}.admin-header__search svg{color:var(--text-muted);position:absolute;top:50%;right:14px;transform:translateY(-50%)}.admin-icon-button,.admin-menu-button{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-primary);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.admin-icon-button:hover,.admin-menu-button:hover{background:var(--bg-hover)}.admin-menu-button{display:none}.admin-year-select,.admin-workspace-select select{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);height:40px;color:var(--text-primary);padding:0 32px 0 12px}.admin-year-select--readonly{background:var(--bg-surface);min-width:132px;color:var(--text-muted);cursor:default;align-items:center;padding-right:12px;display:inline-flex}.admin-workspace-select select{min-width:180px;max-width:230px}.admin-header__profile-copy{min-width:104px}.admin-header__profile-name{color:var(--text-primary);font-weight:var(--font-weight-medium);line-height:1.25}.admin-header__profile-role{color:var(--text-muted);font-size:var(--font-size-sm);margin-top:3px}.admin-profile-menu{position:relative}.admin-profile-menu__trigger{text-align:left;background:0 0;border:0}.admin-profile-menu__dropdown{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:230px;box-shadow:var(--shadow-dialog);padding:8px;position:absolute;top:calc(100% + 12px);right:0}.admin-profile-menu__label{color:var(--text-muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;padding:8px 10px}.admin-profile-menu__item{border-radius:var(--radius-sm);width:100%;min-height:38px;color:var(--text-primary);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;display:flex}.admin-profile-menu__item:hover,.admin-profile-menu__item--active{background:var(--bg-hover)}.admin-profile-menu__divider{height:var(--border-width);background:var(--border);margin:7px 0}.admin-content{padding:var(--padding-page);background:var(--bg-primary);flex:1}.admin-content__inner{width:100%;max-width:var(--content-max-width);margin:0 auto}.mobile-sidebar-backdrop{z-index:calc(var(--z-sidebar) - 1);background:#0000008c;display:none;position:fixed;inset:0}.page-header{margin-bottom:var(--section-gap);justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.page-header__main{align-items:flex-start;gap:12px;min-width:0;display:flex}.page-header--with-back .page-header__main{align-items:center}.page-header__breadcrumbs{color:var(--text-muted);font-size:var(--font-size-sm);align-items:center;gap:5px;margin-bottom:6px;display:flex}.page-header__breadcrumb{align-items:center;gap:5px;display:inline-flex}.page-header__title{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;margin:0;line-height:1.2}.page-header__title-row{align-items:center;gap:7px;display:inline-flex;position:relative}.page-header__info{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:.58;transition:background var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);background:0 0;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.page-header__info:hover,.page-header__info:focus,.page-header__info:focus-visible{background:var(--info-light);color:var(--info);opacity:1;outline:none}.page-header__description{z-index:var(--z-tooltip);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:max-content;max-width:min(360px,80vw);box-shadow:var(--shadow-lg);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);opacity:0;pointer-events:none;text-align:left;transition:opacity var(--transition-fast), transform var(--transition-fast);white-space:normal;padding:9px 11px;line-height:1.45;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.page-header__info:hover .page-header__description,.page-header__info:focus .page-header__description,.page-header__info:focus-visible .page-header__description,.page-header__info:active .page-header__description{opacity:1;transform:translate(-50%)}.page-header__description:before{border-top:var(--border-width) solid var(--border);border-left:var(--border-width) solid var(--border);background:var(--bg-surface);content:"";width:8px;height:8px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.page-header__actions{flex-shrink:0;align-self:flex-start;gap:8px;display:flex}.dashboard-stats{margin-bottom:var(--section-gap);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-chip{min-height:var(--stat-height);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.stat-chip__label{color:var(--text-muted);font-size:var(--font-size-sm)}.stat-chip__value{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-top:3px}.stat-chip__icon{border-radius:var(--radius-full);background:var(--accent-light);width:34px;height:34px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.dashboard-panel{overflow:hidden}.dashboard-panel__header{border-bottom:var(--border-width) solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:0 16px;display:flex}.dashboard-panel__title{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.dashboard-panel__meta{color:var(--text-muted);font-size:var(--font-size-sm)}.dashboard-panel__state{min-height:120px;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:20px;display:flex}.settings-section{padding:18px 0 22px}.settings-module-grid{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.settings-module-toggle{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);cursor:pointer;grid-template-columns:28px 1fr;align-items:center;column-gap:10px;min-height:82px;padding:12px 14px;display:grid;position:relative}.settings-module-toggle input{opacity:0;pointer-events:none;position:absolute}.settings-module-toggle:focus-within{outline:2px solid var(--primary);outline-offset:2px}.settings-module-toggle__icon{border-radius:999px;grid-row:span 2;place-items:center;width:26px;height:26px;display:inline-grid}.settings-module-toggle--enabled{background:#22c55e14;border-color:#22c55e66}.settings-module-toggle--enabled .settings-module-toggle__icon{color:#166534;background:#22c55e2e}.settings-module-toggle--locked{cursor:default;background:#004c840f;border-color:#004c8447}.settings-module-toggle--locked .settings-module-toggle__icon{color:var(--primary);background:#004c8424}.settings-module-toggle--disabled{background:#ef44440f;border-color:#ef444447}.settings-module-toggle--disabled .settings-module-toggle__icon{color:#991b1b;background:#ef444429}.settings-module-toggle strong{color:var(--text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-snug)}.settings-module-toggle>span:last-child{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.settings-module-toggle p{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-snug);grid-column:2;margin:2px 0 0}.settings-section__heading{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.settings-section__description{max-width:620px;color:var(--text-muted);font-size:var(--font-size-sm);margin-top:6px}.settings-options{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.settings-option{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-width:154px;color:var(--text-primary);align-items:center;gap:12px;padding:13px 15px;display:flex}.settings-option:hover,.settings-option--active{border-color:var(--accent);background:var(--accent-light)}.settings-option__swatch{border:var(--border-width) solid var(--border);border-radius:var(--radius-full);flex:none;width:22px;height:22px}.settings-option__swatch--light{background:var(--palette-light)}.settings-option__swatch--semidark{background:var(--palette-semidark)}.settings-option__swatch--dark{background:var(--palette-dark)}.settings-option__swatch--blue{background:var(--palette-blue)}.settings-option__swatch--green{background:var(--palette-green)}.settings-option__swatch--purple{background:var(--palette-purple)}.settings-option__swatch--amber{background:var(--palette-amber)}.settings-option__swatch--slate{background:var(--palette-slate)}.empty-state{min-height:180px;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;display:flex}.empty-state__title{color:var(--text-primary);font-weight:var(--font-weight-bold)}.empty-state__copy{font-size:var(--font-size-sm);margin-top:6px}.resource-toolbar{margin-bottom:var(--section-gap);flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:10px;display:flex}.resource-toolbar__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.resource-search{width:min(360px,100%)}.resource-filters{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.resource-filters>div{width:min(170px,100%)}.resource-filters label{font-size:var(--font-size-xs)}.resource-filters select{height:36px;font-size:var(--font-size-sm)}.resource-table-wrap{width:100%;overflow-x:auto}.resource-table{border-collapse:collapse;width:100%;font-size:var(--font-size-base)}.resource-table th,.resource-table td{border-bottom:var(--border-width) solid var(--border);height:46px;color:var(--text-primary);text-align:left;white-space:nowrap;padding:0 14px}.resource-table th{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.resource-table .resource-table__id{width:170px}.resource-table .resource-table__name{width:auto;min-width:320px}.resource-table .resource-table__compact{width:120px}.resource-table .resource-table__actions{text-align:center;width:100px}.resource-table td.resource-table__actions{text-align:center}.resource-table__actions .resource-actions{justify-content:center}.resource-table tbody tr:nth-child(odd){background:var(--bg-row)}.resource-table tbody tr:nth-child(2n){background:var(--bg-zebra)}.resource-table tbody tr:hover{background:var(--bg-hover)}.resource-load-more{justify-content:center;align-items:center;padding:16px 0 4px;display:flex}.resource-actions{align-items:center;gap:4px;display:flex}.resource-actions button:not(.ui-button),.resource-actions a:not(.ui-button){border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.resource-actions button:not(.ui-button):hover,.resource-actions a:not(.ui-button):hover{background:var(--bg-hover);color:var(--text-primary)}.resource-form,.resource-form-grid,.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.resource-form-grid>*,.resource-form>*,.settings-form>*{min-width:0}.resource-form-grid .resource-field--full,.resource-form .resource-field--full,.settings-form .resource-field--full{grid-column:1/-1}.compose-dropdowns-row{align-items:flex-end;gap:16px;width:100%;display:flex}.compose-dropdowns-row>div,.compose-dropdowns-row>label{flex:1 1 0;min-width:0}@media (width<=768px){.compose-dropdowns-row{flex-direction:column;align-items:stretch}}.settings-form__actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.settings-summary{gap:18px;display:grid}.settings-summary__section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:18px}.settings-summary__section h2{font-size:var(--font-size-lg);margin:0 0 16px}.settings-summary__grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.settings-summary__grid div{gap:6px;min-width:0;display:grid}.settings-summary__grid span{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.settings-summary__grid strong{color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);overflow-wrap:anywhere}.settings-summary__modules{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.settings-summary__module{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);grid-template-columns:28px 1fr;align-items:center;column-gap:10px;min-height:82px;padding:12px 14px;display:grid}.settings-summary__module-icon{border-radius:999px;grid-row:span 2;place-items:center;width:26px;height:26px;display:inline-grid}.settings-summary__module--enabled{background:#22c55e14;border-color:#22c55e66}.settings-summary__module--enabled .settings-summary__module-icon{color:#166534;background:#22c55e2e}.settings-summary__module--locked{background:#004c840f;border-color:#004c8447}.settings-summary__module--locked .settings-summary__module-icon{color:var(--primary);background:#004c8424}.settings-summary__module--disabled{background:#ef44440f;border-color:#ef444447}.settings-summary__module--disabled .settings-summary__module-icon{color:#991b1b;background:#ef444429}.settings-summary__module strong{color:var(--text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-snug)}.settings-summary__module>span:last-child{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.settings-summary__module p{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-snug);grid-column:2;margin:2px 0 0}.class-teacher-form{gap:18px;display:grid}.class-teacher-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 16px;display:grid}.class-teacher-summary span{min-width:0;color:var(--text-primary);font-size:var(--font-size-base);gap:5px;display:grid}.class-teacher-summary strong{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.resource-field,.resource-textarea-field,.resource-file-field{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);flex-direction:column;gap:6px;display:flex}.resource-field textarea,.resource-textarea-field textarea,.resource-file-field input,.resource-textarea-field select{min-height:var(--input-height);border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-weight:var(--font-weight-normal);padding:10px 36px 10px 12px}.resource-field textarea,.resource-textarea-field textarea{resize:vertical;min-height:160px}.resource-textarea-field select[multiple]{min-height:140px}.resource-textarea-field .resource-input--error,.resource-file-field .resource-input--error{border-color:var(--danger)}.resource-field-error{color:var(--danger);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.rich-text-editor{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:6px;display:grid}.rich-text-editor__label{justify-content:space-between;align-items:center;gap:12px;display:flex}.rich-text-editor__toolbar{border:var(--border-width) solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--bg-subtle);border-bottom:0;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:6px;display:flex}.rich-text-editor__toolbar button{border:var(--border-width) solid transparent;border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-primary);background:0 0;justify-content:center;align-items:center;display:inline-flex}.rich-text-editor__toolbar button:hover{border-color:var(--border);background:var(--bg-hover)}.rich-text-editor__toolbar button[aria-pressed=true],.rich-text-editor__button--active{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.rich-text-editor__toolbar select,.rich-text-editor__toolbar input{border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);height:32px;color:var(--text-primary);font-weight:var(--font-weight-normal)}.rich-text-editor__toolbar select{min-width:150px}.rich-text-editor__toolbar input{width:76px;padding:0 8px}.rich-text-editor__toolbar input[type=color]{cursor:pointer;width:34px;padding:3px}.rich-text-editor__file-input{display:none}.rich-text-editor__divider{background:var(--border);width:1px;height:24px}.rich-text-editor__surface{border:var(--border-width) solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-weight:var(--font-weight-normal);outline:none;padding:14px;line-height:1.6;overflow:auto}.rich-text-editor__surface:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.rich-text-editor__surface ul,.rich-text-editor__surface ol{margin:8px 0;padding-left:28px;list-style-position:outside;display:block}.rich-text-editor__surface ul{list-style-type:disc}.rich-text-editor__surface ol{list-style-type:decimal}.rich-text-editor__surface li{min-height:1.4em;display:list-item}.resource-form-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.compose-attachments,.compose-attachments__list{gap:8px;display:grid}.compose-attachments__item{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.compose-attachments__item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compose-attachments__item small{color:var(--text-muted)}.compose-attachments__item button{color:var(--danger);font-weight:var(--font-weight-semibold);background:0 0;border:0}.dropdown-select-all{border-bottom:var(--border-width) solid var(--border);font-weight:var(--font-weight-semibold)}.dropdown-select-all:hover{background:var(--accent-light)}.dropdown-select-all:disabled{color:var(--text-muted);cursor:not-allowed}.toggle-switch{color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.toggle-switch span{border-radius:var(--radius-full);background:var(--bg-muted);border:var(--border-width) solid var(--border);width:42px;height:24px;transition:var(--transition-fast);position:relative}.toggle-switch span:after{content:"";background:var(--text-muted);width:16px;height:16px;transition:var(--transition-fast);border-radius:50%;position:absolute;top:3px;left:3px}.toggle-switch--on span{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.toggle-switch--on span{background:color-mix(in srgb, var(--success) 18%, transparent)}}.toggle-switch--on span{border-color:var(--success)}.toggle-switch--on span:after{background:var(--success);left:21px}.toggle-switch strong{min-width:24px;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.toggle-switch:disabled{cursor:not-allowed;opacity:.65}.channel-settings-list{border-top:var(--border-width) solid var(--border)}.channel-settings-row{border-bottom:var(--border-width) solid var(--border);background:var(--bg-card)}.channel-settings-row--open{background:var(--bg-muted)}.channel-settings-row__summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;padding:0 var(--space-4);display:flex}.channel-settings-row__toggle,.channel-settings-row__arrow{color:var(--text-primary);cursor:pointer;font:inherit;background:0 0;border:0}.channel-settings-row__toggle{min-width:0;padding:var(--space-4) 0;text-align:left;flex:1}.channel-settings-row__toggle span{gap:2px;display:grid}.channel-settings-row__toggle strong{font-weight:var(--font-weight-semibold)}.channel-settings-row__toggle small{color:var(--text-muted);font-size:var(--font-size-sm)}.channel-settings-row__actions{justify-content:flex-end;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.channel-settings-row__arrow{width:32px;height:32px;color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.channel-settings-row__arrow svg{transition:transform var(--transition-fast)}.channel-settings-row__arrow[aria-expanded=true] svg{transform:rotate(180deg)}.channel-settings-row__readiness{padding:0 var(--space-4) var(--space-3)}.channel-settings-row__details{border-top:var(--border-width) solid var(--border);background:var(--bg-card)}.resource-card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.resource-card{gap:var(--space-3);min-height:150px;padding:var(--space-5);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition-fast);flex-direction:column;text-decoration:none;display:flex}.resource-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.resource-card svg{color:var(--accent)}.resource-card strong{font-size:var(--font-size-lg)}.resource-card span{color:var(--text-secondary);line-height:var(--line-height-relaxed)}.resource-detail-card{padding:var(--space-6);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.resource-detail-card__header{justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--border);display:flex}.resource-detail-card__header h2{margin:var(--space-1) 0;font-size:var(--font-size-2xl)}.resource-detail-card__header p{color:var(--text-secondary);margin:0}.resource-detail-grid{gap:var(--space-5);padding:var(--space-5) 0;border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.resource-detail-grid p{margin:var(--space-2) 0 0;color:var(--text-primary);line-height:var(--line-height-relaxed)}.resource-checkbox-field{align-items:center;gap:var(--space-2);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:inline-flex}.resource-eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)!important}.resource-message-body{max-width:840px;padding:var(--space-5) 0;color:var(--text-primary);line-height:var(--line-height-relaxed)}.resource-message-body p{margin:0 0 var(--space-3)}.summary-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat-card{padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.stat-card span{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);display:block}.stat-card strong{color:var(--text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.resource-error{color:var(--danger);font-size:var(--font-size-sm);margin-top:14px}.resource-muted-block{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);margin-top:4px;display:block}.resource-success{color:var(--success);font-size:var(--font-size-sm);margin-top:14px}.teacher-capabilities-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.teacher-capabilities-list,.teacher-capabilities-panel{border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.teacher-capabilities-list{padding:14px}.teacher-capabilities-search{margin-bottom:12px}.teacher-capabilities-list__items{flex-direction:column;gap:6px;max-height:calc(100vh - 230px);display:flex;overflow:auto}.teacher-capabilities-list__item{border:var(--border-width) solid transparent;border-radius:var(--radius-md);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;gap:3px;padding:10px 12px;display:grid}.teacher-capabilities-list__item:hover,.teacher-capabilities-list__item--active{border-color:var(--primary);background:var(--primary-soft)}.teacher-capabilities-list__item span,.teacher-capabilities-list__item small,.teacher-capabilities-panel__header p{color:var(--text-muted)}.teacher-capabilities-panel{min-height:420px;padding:22px}.teacher-capabilities-panel__header{border-bottom:var(--border-width) solid var(--border);justify-content:space-between;gap:16px;padding-bottom:18px;display:flex}.teacher-capabilities-panel__header h2{font-size:var(--font-size-2xl);margin:0 0 6px}.teacher-capabilities-panel__header p{font-size:var(--font-size-sm);margin:0}.teacher-capabilities-roles{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.teacher-capabilities-roles span{background:var(--bg-muted);min-height:24px;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:999px;align-items:center;padding:3px 9px;display:inline-flex}.teacher-capabilities-add{grid-template-columns:minmax(220px,360px) auto;align-items:end;gap:12px;margin:18px 0;display:grid}.teacher-capabilities-table{border-top:var(--border-width) solid var(--border)}.teacher-capabilities-table__head,.teacher-capabilities-table__row{border-bottom:var(--border-width) solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.teacher-capabilities-table__head{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.academic-year-profile-header{border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding:20px;display:flex}.academic-year-profile-header__identity{align-items:flex-start;gap:14px;min-width:0;display:flex}.academic-year-profile-header__content{min-width:0}.academic-year-profile-header h1{color:var(--text-primary);font-size:var(--font-size-2xl);margin:0 0 8px}.academic-year-profile-header__meta{color:var(--text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.academic-year-profile-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.academic-year-tabs{border-bottom:var(--border-width) solid var(--border);flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.academic-year-tabs__item{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 14px}.academic-year-tabs__item:hover,.academic-year-tabs__item--active{color:var(--accent);border-bottom-color:var(--accent)}.academic-year-tab-panel{gap:12px;display:grid}.academic-year-readonly-note{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text-muted);font-size:var(--font-size-sm);margin:0;padding:10px 12px}.resource-checkbox{min-height:var(--input-height);color:var(--text-primary);align-items:center;gap:9px;display:flex}.resource-field-label{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:8px;display:block}.resource-checkbox-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 14px;display:grid}.status-badge{border-radius:var(--radius-full);color:#fff;min-height:24px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;padding:3px 10px;line-height:1.2;display:inline-flex}.status-badge--success{border-color:var(--success);background:var(--success);color:#fff}.status-badge--danger{border-color:var(--danger);background:var(--danger);color:#fff}.status-badge--warning{border-color:var(--warning);background:var(--warning);color:#fff}.status-badge--info{border-color:var(--info);background:var(--info);color:#fff}.status-badge--neutral{border-color:var(--text-muted);background:var(--text-muted);color:#fff}.status-badge--purple{color:#fff;background:#7c3aed;border-color:#7c3aed}.status-badge--orange{color:#fff;background:#ea580c;border-color:#ea580c}.status-badge--rose{color:#fff;background:#e11d48;border-color:#e11d48}.status-badge--indigo{color:#fff;background:#4f46e5;border-color:#4f46e5}.status-badge--teal{color:#fff;background:#0f766e;border-color:#0f766e}.status-badge--slate{color:#fff;background:#475569;border-color:#475569}.module-links{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.module-links a{border-bottom:var(--border-width) solid var(--border);color:var(--text-primary);font-weight:var(--font-weight-medium);padding:16px;text-decoration:none}.module-links a strong,.module-links a span{display:block}.module-links__empty{color:var(--text-muted);padding:16px 0}.profile-summary{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 0 22px;display:grid}.profile-summary__avatar{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:56px;height:56px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.profile-summary__copy span,.profile-detail-grid span,.profile-linked-list span,.profile-access-summary span{color:var(--text-muted);font-size:var(--font-size-sm)}.profile-summary__copy h2{color:var(--text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.profile-summary__copy p{color:var(--text-muted)}.profile-summary__status{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.profile-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 24px;margin-top:16px;display:grid}.profile-detail-grid div{min-height:64px;padding:0}.profile-detail-grid strong,.profile-linked-list strong{color:var(--text-primary);font-weight:var(--font-weight-bold);margin-top:5px;display:block}.profile-linked-list{margin-top:18px}.profile-linked-list h3{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:8px}.profile-linked-list div{padding:10px 0}.profile-access-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px;margin-top:16px;display:grid}.profile-access-summary div{min-height:54px}.profile-access-summary strong{color:var(--text-primary);font-weight:var(--font-weight-bold);margin-top:5px;display:block}.profile-access-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 20px;margin-top:10px;display:grid}.profile-access-list span,.profile-access-note{color:var(--text-primary);font-size:var(--font-size-sm)}.profile-access-note{margin-top:12px}.profile-section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.bulk-upload-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.bulk-upload-option{border-bottom:var(--border-width) solid var(--border);color:var(--text-primary);padding:14px 0;text-decoration:none;display:block}.bulk-upload-option strong,.bulk-upload-option span{display:block}.bulk-upload-option span{color:var(--text-muted);font-size:var(--font-size-sm);margin-top:4px}.bulk-upload-panel{border-bottom:var(--border-width) solid var(--border);padding:20px 0}.bulk-upload-panel__header,.bulk-upload-form{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.bulk-upload-template-skeleton{width:176px;height:var(--button-height);border-radius:var(--radius-md);flex:none}.bulk-upload-form{flex-wrap:wrap;justify-content:flex-start;align-items:flex-end}.bulk-upload-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.bulk-upload-panel h2{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0 0 6px}.bulk-upload-panel p{color:var(--text-muted);margin:0}.bulk-upload-dropzone{border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;min-height:92px;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;margin:16px 0 12px;padding:16px;display:grid;position:relative}.bulk-upload-dropzone:hover,.bulk-upload-dropzone:focus-within,.bulk-upload-dropzone--dragging{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bulk-upload-dropzone:hover,.bulk-upload-dropzone:focus-within,.bulk-upload-dropzone--dragging{background:color-mix(in srgb, var(--accent) 5%, var(--bg-surface))}}.bulk-upload-dropzone:focus-within,.bulk-upload-dropzone--dragging{box-shadow:0 0 0 3px var(--accent-light)}.bulk-upload-dropzone--error{border-color:var(--danger)}.bulk-upload-dropzone__icon{border-radius:var(--radius-md);background:var(--accent-light);width:44px;height:44px;color:var(--accent);place-items:center;display:grid}.bulk-upload-dropzone__copy{gap:4px;min-width:0;display:grid}.bulk-upload-dropzone__copy strong,.bulk-upload-dropzone__copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bulk-upload-dropzone__copy strong{color:var(--text-primary)}.bulk-upload-dropzone__copy small{color:var(--text-muted);font-size:var(--font-size-sm)}.bulk-upload-dropzone__error{color:var(--danger)}.bulk-upload-dropzone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.bulk-upload-date-format{flex:0 280px;gap:6px;min-width:min(100%,220px);display:grid}.bulk-upload-date-format>div{width:100%}.bulk-upload-date-format span{color:var(--text-muted);font-size:var(--font-size-sm)}.bulk-upload-progress{gap:8px;max-width:520px;margin-top:16px;display:grid}.bulk-upload-progress__header{color:var(--text-primary);font-size:var(--font-size-sm);justify-content:space-between;align-items:center;gap:12px;display:flex}.bulk-upload-progress__header span{color:var(--text-muted);font-weight:var(--font-weight-semibold)}.bulk-upload-progress__track{border-radius:var(--radius-full);background:var(--bg-muted);height:8px;overflow:hidden}.bulk-upload-progress__track span{border-radius:inherit;background:var(--accent);height:100%;transition:width var(--transition-fast);display:block}.bulk-upload-progress p{color:var(--text-muted);font-size:var(--font-size-sm)}.bulk-upload-ok{color:var(--success);font-weight:var(--font-weight-semibold);margin-top:16px}.bulk-upload-problem{white-space:normal;gap:8px;display:grid}.bulk-upload-problem p{margin:0}.bulk-upload-resolution{gap:8px;display:grid}.bulk-upload-match{border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}@media (width<=900px){.teacher-capabilities-layout{grid-template-columns:1fr}.profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.teacher-capabilities-panel__header,.teacher-capabilities-add{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.teacher-capabilities-roles{justify-content:flex-start}.profile-summary{grid-template-columns:auto minmax(0,1fr)}.profile-summary__status{grid-column:1/-1;justify-content:flex-start}.profile-detail-grid,.profile-access-summary,.settings-form{grid-template-columns:1fr}.profile-section-header{display:block}.bulk-upload-panel__header,.bulk-upload-form,.bulk-upload-actions{justify-content:stretch;display:grid}.bulk-upload-actions{margin-left:0}}.school-calendar{flex-direction:column;gap:20px;display:flex}.school-calendar-day small,.school-calendar-detail span{color:var(--text-secondary)}.school-calendar-detail span{display:block}.school-calendar-toolbar,.school-calendar-toolbar__actions{gap:16px;display:flex}.school-calendar-toolbar{justify-content:space-between;align-items:center}.school-calendar-current-term{color:var(--text-secondary);font-weight:var(--font-weight-semibold);margin:4px 0 0}.school-calendar-toolbar__actions{justify-content:flex-end;align-items:center}.school-calendar-toolbar__actions strong{text-align:center;min-width:150px}.school-calendar-nav-button.ui-button{min-width:88px;height:40px;padding:0 16px}.school-calendar-grid{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--border);flex:1;grid-template-columns:repeat(7,minmax(96px,1fr));gap:1px;min-width:0;display:grid;overflow:hidden}.school-calendar-grid__heading{background:var(--bg-sidebar);color:var(--sidebar-text);text-align:center;font-weight:var(--font-weight-semibold);padding:12px}.school-calendar-day{background:var(--bg-surface);min-height:86px;color:var(--text-primary);text-align:left;cursor:pointer;border:0;flex-direction:column;gap:8px;padding:10px;display:flex}.school-calendar-day:disabled{cursor:not-allowed}.school-calendar-day__number{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.school-calendar-day strong{font-size:var(--font-size-sm);line-height:1.25}.school-calendar-day--school{color:#07130b;background:#22c55e}.school-calendar-day--staff{color:#fff;background:#2563eb}.school-calendar-day--exam{color:#111827;background:#f59e0b}.school-calendar-day--closed{color:#fff;background:#ef4444}.school-calendar-day--quiet,.school-calendar-day--outside-month{color:#111827;background:#e5e7eb}.school-calendar-day--outside-year{opacity:.45}.school-calendar-detail{flex-direction:column;gap:8px;display:flex}@media (width<=760px){.school-calendar-toolbar{flex-direction:column;align-items:flex-start}.school-calendar-grid{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto}.school-calendar-day{min-height:96px}}.academic-config-filters{grid-template-columns:repeat(2,minmax(0,280px));gap:16px;margin-bottom:24px;display:grid}.academic-student-filter{width:min(520px,100%);margin-bottom:24px}.learner-subjects-layout{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.learner-subjects-list,.learner-subjects-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.learner-subjects-list{padding:14px}.learner-subjects-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.learner-subjects-filters>div:first-child{grid-column:1/-1}.learner-subjects-filters--single{grid-template-columns:1fr}.learner-subjects-list__items{gap:6px;min-height:320px;max-height:calc(100vh - 310px);display:grid;overflow:auto}.learner-subjects-list__item{border-radius:var(--radius-md);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.learner-subjects-list__item:hover,.learner-subjects-list__item--active{border-color:var(--accent);background:var(--accent-light)}.learner-subjects-list__item span{color:var(--text-muted);font-size:var(--font-size-sm)}.learner-subjects-list__item strong,.learner-subjects-list__item span{overflow-wrap:anywhere}.learner-subjects-list__item span{flex:none}.learner-subjects-panel{grid-template-rows:auto minmax(0,1fr) auto;min-height:520px;max-height:calc(100vh - 210px);padding:20px;display:grid}.learner-subjects-panel__header{border-bottom:1px solid var(--border);gap:8px;padding-bottom:16px;display:grid}.learner-subjects-panel__header h2{font-size:var(--font-size-2xl);margin:0}.learner-subjects-panel__meta{color:var(--text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;gap:8px 18px;display:flex}.learner-subjects-panel__meta strong{color:var(--text-primary);font-weight:600}.assignment-panel-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.learner-subjects-panel__body{min-height:0;padding-bottom:12px;overflow:auto}.learner-subjects-panel__actions{border-top:1px solid var(--border);background:var(--bg-surface);justify-content:flex-end;gap:10px;padding-top:14px;position:sticky;bottom:0}.academic-empty{color:var(--text-muted);padding:28px 0}.academic-selection-summary{border-bottom:1px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.academic-selection-summary span{color:var(--text-muted);font-size:var(--font-size-sm)}.academic-subject-list{border-bottom:1px solid var(--border)}.academic-subject-row{border-top:1px solid var(--border);background:var(--bg-row);align-items:center;min-height:66px;padding:10px 12px;display:block}.academic-subject-row:nth-child(2n){background:var(--bg-zebra)}.academic-subject-row--selected{box-shadow:inset 3px 0 0 var(--accent)}.academic-subject-toggle,.academic-subject-selection{color:var(--text-primary);text-align:left;background:0 0;border:0;align-items:center;gap:12px;display:flex}.academic-subject-toggle>span:last-child,.academic-subject-selection>span:last-child{gap:3px;display:grid}.academic-subject-toggle small,.academic-subject-selection small{color:var(--text-muted)}.academic-subject-check{border:1px solid var(--border);border-radius:var(--radius-sm);flex:0 0 22px;place-items:center;width:22px;height:22px;display:grid}.academic-subject-row--selected .academic-subject-check,.academic-subject-selection--selected .academic-subject-check{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.academic-config-actions{justify-content:flex-end;margin-top:20px;display:flex}.academic-learner-context{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:36px;padding:14px 0;display:flex}.academic-learner-context span{color:var(--text-primary);gap:3px;display:grid}.academic-learner-context strong{color:var(--text-muted);font-size:var(--font-size-sm)}.academic-subject-selection-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:12px;display:grid}.academic-subject-selection{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-row);min-height:44px;padding:8px 10px}.academic-subject-selection--selected{border-color:var(--accent);background:var(--accent-light)}.academic-subject-selection--disabled{opacity:.62;cursor:not-allowed}.academic-subject-selection--disabled:hover{border-color:var(--border)}.timetable-grid-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;overflow-x:auto}.timetable-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:860px}.timetable-grid th,.timetable-grid td{border:1px solid var(--border)}.timetable-grid thead th{background:var(--bg-subtle);height:46px;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:center;padding:10px 12px}.timetable-grid__period-heading,.timetable-grid__period{width:150px}.timetable-grid__period{background:var(--bg-subtle);color:var(--text-primary);text-align:left;vertical-align:top;padding:12px}.timetable-grid__period span,.timetable-grid__period small{display:block}.timetable-grid__period small{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);margin-top:4px}.timetable-grid td{background:var(--bg-row);vertical-align:top;height:96px;padding:8px}.timetable-grid tbody tr:nth-child(2n) td{background:var(--bg-zebra)}.timetable-grid__blocked-row td{background:var(--bg-subtle)}.timetable-grid__cell{gap:6px;min-height:78px;display:grid}.timetable-lesson{border-radius:var(--radius-sm);background:var(--accent-light);min-height:78px;color:var(--text-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 9px;line-height:1.25;display:flex}.timetable-lesson--exam{color:#111827;background:#f59e0b}.timetable-lesson--exam span,.timetable-lesson--exam small{color:#111827}.timetable-lesson strong{overflow-wrap:anywhere;font-size:var(--font-size-sm)}.timetable-lesson span,.timetable-lesson small{overflow-wrap:anywhere;color:var(--text-secondary);font-size:var(--font-size-xs)}.timetable-builder-filters{grid-template-columns:minmax(240px,360px);align-items:end;gap:12px;margin-bottom:16px;display:grid}.timetable-builder-cell{min-height:82px}.timetable-builder-lesson{padding-right:34px;position:relative}.timetable-builder-lesson__remove{background:var(--danger);border:0;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:5px;right:5px}@supports (color:color-mix(in lab, red, red)){.timetable-builder-lesson__remove{background:color-mix(in srgb, var(--danger) 12%, transparent)}}.timetable-builder-lesson__remove{color:var(--danger);cursor:pointer}.timetable-builder-lesson__remove:hover:not(:disabled){background:var(--danger);color:var(--text-on-accent)}.timetable-builder-lesson__remove:disabled{opacity:.55;cursor:not-allowed}.timetable-builder-add{border:1px dashed var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;place-self:center;place-items:center;display:grid}.timetable-builder-add:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.timetable-builder-add:disabled{opacity:.35;cursor:not-allowed}.timetable-builder-blocked{min-height:78px;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);place-items:center;display:grid}.timetable-builder-term-dates{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:11px 12px;display:grid}.timetable-builder-term-dates span{color:var(--text-primary);gap:4px;display:grid}.timetable-builder-term-dates strong{color:var(--text-muted);font-size:var(--font-size-xs)}.attendance-register-filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:22px;display:flex}.attendance-register-filters>div.flex{gap:4px}.attendance-register-filters label{font-size:var(--font-size-sm);line-height:1.2}.attendance-register-filters select,.attendance-register-filters .dropdown-trigger,.attendance-register-filters input:not([type=checkbox]):not([type=radio]){height:32px;min-height:32px;font-size:var(--font-size-sm);border-radius:var(--radius-sm);padding-top:0;padding-bottom:0}.attendance-register-filters input:not([type=checkbox]):not([type=radio]){height:32px!important}.attendance-register-filters select,.attendance-register-filters .dropdown-trigger{background-position:right 8px center;background-size:10px;padding-left:10px;padding-right:28px}.attendance-register-filters>div:has(input:not([type=checkbox]):not([type=radio])){flex:240px;width:min(320px,100%);max-width:420px}.attendance-register-filters>.dropdown-field{flex:0 auto;width:min(220px,100%);position:relative}.attendance-register-filters>div:has(select){flex:0 auto;width:min(220px,100%);position:relative}.attendance-register-filters>div:has(.dropdown-trigger){flex:0 auto;width:min(220px,100%);position:relative}:is(.attendance-register-filters--compact-selects>div:has(select),.attendance-register-filters--compact-selects>div:has(.dropdown-trigger)){width:min(170px,100%);max-width:170px}.attendance-register-filters>.attendance-context{flex:0 auto}.attendance-register-filters>div:not(:has(select)):not(:has(input)){flex:0 auto}.attendance-tabs{border-bottom:1px solid var(--border);gap:4px;margin:0 0 20px;display:flex;overflow-x:auto}.attendance-tabs a{color:var(--text-muted);white-space:nowrap;border-bottom:4px solid #0000;padding:10px 12px}.attendance-tabs a:hover,.attendance-tabs .attendance-tabs__active{color:var(--text-primary);border-bottom-color:var(--accent)}.attendance-record-filters{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.attendance-record-filters>div:first-child{width:min(320px,100%)}.date-range-filter-bar{justify-content:flex-start;align-items:end;gap:14px;margin:18px 0;display:flex}.date-range-filter-bar__search{width:min(360px,100%)}.date-range-filter-bar__filters{justify-content:flex-start;align-items:end;gap:14px;display:flex}.date-range-filter-bar__filters .date-picker{width:160px}.attendance-view-switch{gap:8px;display:flex}.attendance-override-reason{width:min(560px,100%);margin:-6px 0 22px}.attendance-context,.attendance-learner-context{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:32px;padding:12px 0;display:flex}.attendance-context span{color:var(--text-primary);gap:3px;display:grid}.attendance-context strong{color:var(--text-muted);font-size:var(--font-size-sm)}.attendance-register-header{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:8px 0 18px;display:grid}.attendance-register-header__badge{background:var(--accent-light);width:76px;height:76px;color:var(--accent);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);border-radius:18px;place-items:center;display:grid}.attendance-register-header h1{color:var(--text-primary);font-size:var(--font-size-2xl);margin:0}.attendance-register-header__meta{color:var(--text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;align-items:center;gap:0;margin-top:10px;display:flex}.attendance-register-header__meta-item{align-items:center;display:inline-flex}.attendance-register-header__meta-item+.attendance-register-header__meta-item:before{background:var(--border-strong);content:"";border-radius:50%;width:3px;height:3px;margin:0 9px}.attendance-register-header__action{justify-content:flex-end;display:flex}.attendance-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:18px 0;display:flex}.attendance-toolbar--actions-only{justify-content:flex-end}.attendance-toolbar>div{width:min(360px,100%)}.attendance-toolbar .attendance-toolbar__actions{gap:10px;width:auto;display:flex}.attendance-person{align-items:center;gap:10px;display:flex}.attendance-person>span:last-child{gap:2px;display:grid}.attendance-person small{color:var(--text-muted)}.attendance-initials{background:var(--accent-light);width:30px;height:30px;color:var(--accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:50%;place-items:center;display:grid}.attendance-statuses{flex-wrap:wrap;gap:5px;display:flex}.attendance-statuses button{appearance:none;border:1px solid var(--accent);justify-content:center;align-items:center;min-width:58px;height:30px;padding:0 12px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.attendance-statuses button{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border))}}.attendance-statuses button{border-radius:var(--radius-sm);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.attendance-statuses button{background:color-mix(in srgb, var(--accent) 8%, var(--surface,#fff))}}.attendance-statuses button{color:var(--text-primary)}@supports (color:color-mix(in lab, red, red)){.attendance-statuses button{color:color-mix(in srgb, var(--text-primary) 85%, var(--accent))}}.attendance-statuses button{font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;line-height:1;transition:background-color .12s,border-color .12s,color .12s,transform .12s;box-shadow:inset 0 0 0 1px #ffffff73}.attendance-statuses button:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.attendance-statuses button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}}.attendance-statuses button:disabled{opacity:1;cursor:default}.attendance-statuses--staff button{width:auto;min-width:34px;padding:0 8px}.attendance-register-table .attendance-statuses button{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.attendance-statuses .attendance-status--active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.attendance-statuses button:not(.attendance-status--active){box-shadow:inset 0 0 0 1px #ffffff80}.attendance-statuses .attendance-status--present.attendance-status--active{border-color:var(--success);background:var(--success)}.attendance-statuses .attendance-status--absent.attendance-status--active{border-color:var(--danger);background:var(--danger)}.attendance-statuses .attendance-status--late.attendance-status--active{border-color:var(--warning);background:var(--warning);color:var(--text-primary)}.attendance-statuses .attendance-status--excused.attendance-status--active{border-color:var(--info);background:var(--info)}.attendance-register-table td input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);width:min(260px,100%);height:34px;color:var(--text-primary);padding:0 9px}.attendance-row--locked{opacity:.68}.attendance-lock-reason{color:var(--danger);font-size:var(--font-size-sm);white-space:normal}.attendance-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.attendance-summary{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:28px;margin-bottom:18px;padding:12px 0;display:flex}.attendance-summary section{color:var(--text-primary);align-items:baseline;gap:7px;display:flex}.attendance-summary section span{color:var(--text-muted);font-size:var(--font-size-sm)}.attendance-flags{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px;display:grid}.attendance-flags section{border-top:1px solid var(--border)}.attendance-flags h2{color:var(--text-primary);font-size:var(--font-size-base);margin:12px 0}.attendance-flags p{border-top:1px solid var(--border);color:var(--text-primary);justify-content:space-between;gap:12px;padding:9px 0;display:flex}.attendance-flags p span{color:var(--text-muted)}@media (width<=760px){.learner-subjects-layout{grid-template-columns:1fr}.learner-subjects-list__items{min-height:auto;max-height:360px}.academic-config-filters,.timetable-builder-filters{grid-template-columns:1fr}.academic-selection-summary,.academic-learner-context{flex-direction:column;align-items:flex-start;gap:8px}.assignment-panel-filters,.academic-subject-row{grid-template-columns:1fr}:is(.attendance-register-filters>div:has(input:not([type=checkbox]):not([type=radio])),.attendance-register-filters>div:has(select)){width:100%;max-width:none}.date-range-filter-bar{flex-direction:column;align-items:stretch}.date-range-filter-bar__search{width:100%}.date-range-filter-bar__filters{flex-direction:column;justify-content:flex-start;align-items:stretch}.attendance-context,.attendance-toolbar,.attendance-actions,.attendance-summary{flex-direction:column;align-items:stretch}.attendance-flags{grid-template-columns:1fr}.attendance-toolbar .attendance-toolbar__actions{flex-wrap:wrap;width:100%}}.module-links a span{color:var(--text-muted);font-size:var(--font-size-sm);margin-top:5px}.portal-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.portal-card-list{gap:14px;margin-top:20px;display:grid}.portal-card{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:16px}.portal-card h2,.portal-card h3{color:var(--text-primary);margin-bottom:8px}.portal-card h3{font-size:var(--font-size-base);margin-top:16px}.portal-card p,.portal-card small{color:var(--text-muted)}.portal-table-card{border:var(--border-width) solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);margin-top:20px;overflow:hidden}.portal-child-banner{border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);align-items:center;gap:18px;margin-top:20px;padding:18px;display:flex}.portal-child-banner__avatar{border-radius:var(--radius-lg);background:var(--bg-hover);width:74px;height:74px;color:var(--accent);justify-content:center;align-items:center;font-size:22px;font-weight:700;display:inline-flex}.portal-child-banner__details{gap:6px;display:grid}.portal-child-banner__details span,.portal-child-banner__meta{color:var(--text-muted);font-size:var(--font-size-sm)}.portal-child-banner__details h2{color:var(--text-primary);margin:0;font-size:24px}.portal-child-banner__meta{flex-wrap:wrap;gap:10px;display:flex}.portal-child-banner__meta strong+strong:before{content:"|";color:var(--border-strong);margin-right:10px}.portal-tabs{border-bottom:var(--border-width) solid var(--border);gap:8px;margin-top:22px;display:flex}.portal-tabs__button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 14px;font-weight:600}.portal-tabs__button:hover,.portal-tabs__button--active{color:var(--accent);border-bottom-color:var(--accent)}.portal-notification-detail{gap:24px;display:grid}.portal-notification-message{border-top:var(--border-width) solid var(--border);gap:10px;padding-top:18px;display:grid}.portal-notification-message p{color:var(--text-primary);white-space:pre-wrap;line-height:1.65}.module-links a:hover{color:var(--accent);background:var(--bg-hover)}.settings-form{max-width:760px}.settings-grading-scale{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-column:1/-1;padding:14px 0}.settings-grading-scale__heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.settings-grading-scale__heading strong,.settings-grading-scale__heading span{display:block}.settings-grading-scale__heading span{color:var(--text-muted);font-size:var(--font-size-sm);margin-top:4px}.settings-grading-scale__rows{gap:10px;display:grid}.settings-grading-scale__row{grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) 36px;align-items:end;gap:12px;display:grid}.settings-grading-scale__remove{width:36px;height:var(--input-height);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--danger);justify-content:center;align-items:center;display:inline-flex}.settings-grading-scale__remove:disabled{opacity:.4;cursor:not-allowed}.table-skeleton{width:100%;overflow:hidden}.table-skeleton__table{border-collapse:collapse;table-layout:fixed;width:100%}.table-skeleton__cell{border-bottom:var(--border-width) solid var(--border);text-align:left;height:48px;padding:0 16px}.resource-table .table-skeleton__cell{vertical-align:middle;height:48px}.table-skeleton__row:nth-child(odd){background:var(--bg-row)}.table-skeleton__row:nth-child(2n){background:var(--bg-zebra)}.skeleton-bar{border-radius:var(--radius-sm);background:var(--bg-hover);height:12px;animation:1.5s ease-in-out infinite skeleton-pulse;display:block}.skeleton-bar--heading{width:58%}.skeleton-bar--short{width:42%}.skeleton-bar--medium{width:68%}.skeleton-bar--long{width:84%}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:1}}.auth-page{background:var(--bg-primary);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);width:min(100%,430px);box-shadow:var(--shadow-sm);padding:32px}.auth-brand{text-align:center;margin-bottom:28px}.auth-brand__mark{background:var(--accent);width:52px;height:52px;color:var(--text-on-accent);border-radius:12px;place-items:center;margin-bottom:16px;font-weight:700;display:inline-grid}.auth-brand h1,.activation-success h2{margin:0 0 6px}.auth-brand p,.activation-success p,.resource-section__heading p{color:var(--text-muted);margin:0}.activation-fields{gap:18px;margin-bottom:22px;display:grid}.password-visibility-button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:flex}.activation-success{text-align:center;color:var(--accent);justify-items:center;gap:8px;display:grid}.activation-success a{color:var(--accent);margin-top:12px;font-weight:600}.auth-panel__footer{color:var(--text-muted);font-size:var(--font-size-sm);text-align:center;margin:22px 0 0}.auth-panel__footer a{color:var(--accent);font-weight:600;text-decoration:none}.resource-section{margin-top:var(--section-gap)}.resource-section__heading{margin-bottom:14px}.resource-section__heading h2{font-size:var(--font-size-lg);margin:0 0 4px}.student-form{gap:28px;display:grid}.student-form__section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.student-form__section-heading h3{font-size:var(--font-size-lg);margin:0 0 4px}.student-form__section-heading p{color:var(--text-muted);margin:0}.student-form__placement-note{grid-column:1/-1;margin-top:0}.student-guardians{gap:22px;display:grid}.guardian-editor{background:0 0;border:0;border-radius:0;gap:14px;padding:0;display:grid}.guardian-editor__heading,.guardian-match,.guardian-selected{align-items:center;gap:12px;display:flex}.guardian-editor__heading{justify-content:space-between;margin-bottom:2px;font-weight:600}.guardian-editor__heading small{color:var(--accent);align-items:center;gap:4px;margin-top:3px;font-weight:500;display:flex}.guardian-editor__heading button{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--danger);background:0 0;border:0;place-items:center;display:inline-grid}.guardian-editor__heading button:hover{background:var(--danger-light)}.guardian-lookup,.guardian-details{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px 16px;display:grid}.guardian-lookup>*,.guardian-details>*,.guardian-link-details>*{min-width:0}.guardian-lookup>.regional-phone-field{grid-template-rows:12px var(--input-height);gap:6px;display:grid}.guardian-phone-field{color:var(--text-primary);font-size:var(--font-size-sm);flex-direction:column;gap:6px;font-weight:500;display:flex}.guardian-phone-field>div{height:var(--input-height);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);display:flex;overflow:hidden}.guardian-phone-field strong{border-right:1px solid var(--border);align-items:center;padding:0 12px;display:flex}.guardian-phone-field input{min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;padding:0 12px}.guardian-lookup__status{color:var(--text-muted);font-size:var(--font-size-sm);grid-column:1/-1;align-items:center;gap:6px;display:flex}.guardian-match,.guardian-selected{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--bg-hover);margin:14px 0;padding:12px}.guardian-match>div,.guardian-selected>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.guardian-match span,.guardian-selected span{color:var(--text-muted);font-size:var(--font-size-sm)}.guardian-link-details{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px 16px;margin-top:0;display:grid}.guardian-link-details__checks{min-height:var(--input-height);align-items:center;gap:18px;display:flex}.regional-phone-field,.regional-time-field,.regional-number-field,.regional-datetime-field{min-width:0;color:var(--text-primary);font-size:var(--font-size-sm);border:0;flex-direction:column;gap:6px;margin:0;padding:0;font-weight:500;display:flex}.regional-phone-field>span{line-height:1}.regional-phone-field__control,.regional-number-field__control{height:var(--input-height);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);display:flex;overflow:visible}.regional-phone-field__control:focus-within,.regional-number-field__control:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle)}.regional-phone-field__control--error,.regional-number-field__control--error{border-color:var(--danger)}.regional-phone-field__prefix,.regional-phone-field strong,.regional-number-field strong{align-items:center;display:flex}.regional-phone-field__prefix{border-right:1px solid var(--border);background:var(--bg-row);position:relative}.regional-phone-field__prefix>button{min-width:74px;height:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.regional-phone-field strong,.regional-number-field strong{color:var(--text-primary);white-space:nowrap;padding:0 12px}.regional-number-field strong{border-right:1px solid var(--border);background:var(--bg-row)}.regional-phone-field__prefix strong{padding:0}.regional-phone-field__menu{z-index:var(--z-dropdown);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:230px;max-height:230px;box-shadow:var(--shadow-dialog);padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.regional-phone-field__menu button{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);text-align:left;background:0 0;border:0;grid-template-columns:24px 52px 1fr;align-items:center;gap:8px;padding:8px;display:grid}.regional-phone-field__menu button:hover,.regional-phone-field__menu button[aria-selected=true]{background:var(--accent-light)}.regional-phone-field__menu small{min-width:0;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.regional-phone-field input,.regional-number-field input{min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;padding:0 12px}.regional-phone-field>small,.regional-time-field>small{color:var(--text-muted);font-weight:400}.regional-time-field>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.regional-time-field select{width:100%;height:var(--input-height);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-input);padding:0 10px}.regional-datetime-field>legend{margin-bottom:6px}.regional-datetime-field>div{grid-template-columns:minmax(0,1fr) minmax(240px,1fr);gap:12px;display:grid}.learner-profile{margin:calc(-1 * var(--padding-page)) calc(-1 * var(--padding-page)) 0;background:var(--bg-surface);gap:0;display:grid}@supports (color:color-mix(in lab, red, red)){.learner-profile{background:color-mix(in srgb, var(--bg-surface) 72%, var(--bg-primary))}}.learner-profile-header{padding:20px var(--padding-page) 12px;border-bottom:var(--border-width) solid var(--border);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.learner-profile-header__identity{align-items:center;display:flex}.learner-profile-header>.ui-back-button{align-self:center;margin-left:0}.learner-profile-header__photo{border-radius:var(--radius-lg);background:var(--accent-light);width:64px;height:64px;color:var(--accent);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);place-items:center;display:grid;overflow:hidden}.learner-profile-header__photo img{object-fit:cover;width:100%;height:100%}.learner-profile-header__photo--skeleton{background:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.learner-profile-header__photo--skeleton{background:color-mix(in srgb, var(--sidebar-text) 14%, transparent)}}.learner-profile-header__photo--skeleton{animation:1.5s ease-in-out infinite skeleton-pulse}.learner-profile-header--sidebar .skeleton-bar{background:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.learner-profile-header--sidebar .skeleton-bar{background:color-mix(in srgb, var(--sidebar-text) 18%, transparent)}}.profile-skeleton--hero{max-width:420px;padding:0}.learner-profile-header h1{color:var(--text-primary);font-size:var(--font-size-2xl);margin:0;line-height:1.15}.learner-profile-header__meta{color:var(--text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;align-items:center;gap:0;margin-top:10px;display:flex}.learner-profile-header__meta-item{align-items:center;display:inline-flex}.learner-profile-header__meta-item+.learner-profile-header__meta-item:before{background:var(--border-strong);content:"";border-radius:50%;width:3px;height:3px;margin:0 9px}.learner-profile-header__status{margin-left:12px;display:inline-flex}.learner-profile-header__action{flex-wrap:wrap;justify-content:flex-end;gap:8px;text-decoration:none;display:flex}.learner-profile-header--sidebar{background:var(--bg-sidebar);border-bottom-color:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.learner-profile-header--sidebar{border-bottom-color:color-mix(in srgb, var(--sidebar-text) 12%, transparent)}}.learner-profile-header--sidebar,.learner-profile-header--sidebar h1{color:var(--sidebar-text)}.learner-profile-header--sidebar .learner-profile-header__meta{color:var(--sidebar-muted)}.learner-profile-header--sidebar .learner-profile-header__meta-item+.learner-profile-header__meta-item:before{background:var(--sidebar-muted)}.learner-profile-header--sidebar .learner-profile-header__photo{background:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.learner-profile-header--sidebar .learner-profile-header__photo{background:color-mix(in srgb, var(--sidebar-text) 14%, transparent)}}.learner-profile-header--sidebar .learner-profile-header__photo{color:var(--sidebar-text)}.learner-profile-hero{background:var(--bg-sidebar);color:var(--sidebar-text)}.learner-profile-hero__bar{padding:16px var(--padding-page) 0;align-items:center;display:flex}.learner-profile-hero .learner-profile-header--sidebar{background:0 0;border-bottom:0;padding-top:20px;padding-bottom:8px}.learner-profile-hero .ui-back-button{border-color:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.learner-profile-hero .ui-back-button{border-color:color-mix(in srgb, var(--sidebar-text) 22%, transparent)}}.learner-profile-hero .ui-back-button{background:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.learner-profile-hero .ui-back-button{background:color-mix(in srgb, var(--sidebar-text) 10%, transparent)}}.learner-profile-hero .ui-back-button{color:var(--sidebar-text)}.learner-profile-hero .ui-back-button:hover,.learner-profile-hero .ui-back-button:focus-visible{border-color:var(--sidebar-text);background:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.learner-profile-hero .ui-back-button:hover,.learner-profile-hero .ui-back-button:focus-visible{background:color-mix(in srgb, var(--sidebar-text) 16%, transparent)}}.learner-profile-hero .ui-back-button:hover,.learner-profile-hero .ui-back-button:focus-visible{color:var(--sidebar-text)}.learner-profile-hero .ui-button--secondary{border-color:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.learner-profile-hero .ui-button--secondary{border-color:color-mix(in srgb, var(--sidebar-text) 22%, transparent)}}.learner-profile-hero .ui-button--secondary{background:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.learner-profile-hero .ui-button--secondary{background:color-mix(in srgb, var(--sidebar-text) 10%, transparent)}}.learner-profile-hero .ui-button--secondary{color:var(--sidebar-text)}.learner-profile-hero .ui-button--secondary:hover,.learner-profile-hero .ui-button--secondary:focus-visible{border-color:var(--sidebar-text);background:var(--sidebar-text)}@supports (color:color-mix(in lab, red, red)){.learner-profile-hero .ui-button--secondary:hover,.learner-profile-hero .ui-button--secondary:focus-visible{background:color-mix(in srgb, var(--sidebar-text) 16%, transparent)}}.learner-profile-hero .ui-button--secondary:hover,.learner-profile-hero .ui-button--secondary:focus-visible{color:var(--sidebar-text)}.learner-profile-tabs--on-sidebar{border-bottom:0}.learner-profile-tabs--on-sidebar .learner-profile-tab{color:var(--sidebar-muted)}.learner-profile-tabs--on-sidebar .learner-profile-tab:hover,.learner-profile-tabs--on-sidebar .learner-profile-tab--active{color:var(--sidebar-text);border-bottom-color:var(--sidebar-text)}.learner-profile-section{padding:36px var(--padding-page) 20px;gap:16px;display:grid}.learner-profile-tabs{padding:0 var(--padding-page);border-bottom:var(--border-width) solid var(--border);gap:6px;display:flex;overflow-x:auto}.learner-profile-tab{color:var(--text-muted);font-size:var(--font-size-base);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-right:26px;padding:15px 0 13px}.learner-profile-tab:hover,.learner-profile-tab--active{color:var(--text-primary);border-bottom-color:var(--accent)}.learner-profile-tab-panel{background:var(--bg-surface);gap:0;min-height:360px;display:grid}@supports (color:color-mix(in lab, red, red)){.learner-profile-tab-panel{background:color-mix(in srgb, var(--bg-surface) 72%, var(--bg-primary))}}.learner-profile-tab-panel>.resource-error,.learner-profile-tab-panel>.profile-skeleton{padding:28px 48px 36px}.learner-profile-section__heading h2{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.learner-profile-section__heading{border-bottom:var(--border-width) solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.learner-profile-section__action{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.learner-profile-section__action--standalone{margin-bottom:18px}.learner-profile-section__heading p{color:var(--text-muted);margin:4px 0 0}.profile-section-header--compact{align-items:center}.learner-profile-subheading{color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin:0}.profile-skeleton{gap:14px;max-width:760px;padding:16px 0;display:grid}.profile-document-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.profile-document-form .resource-textarea-field,.profile-document-form .resource-error,.profile-document-form .resource-form-actions{grid-column:1/-1}.profile-document-form .resource-form-actions{margin-top:0}.learner-profile-facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 24px;display:grid}.learner-profile-facts span{min-height:58px;color:var(--text-primary);gap:4px;padding:0;display:grid}.learner-profile-facts strong{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.learner-profile-address{color:var(--text-primary);gap:4px;margin-top:18px;display:grid}.learner-profile-address strong{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.learner-profile-detail-grid{grid-template-columns:minmax(260px,2fr) minmax(180px,.95fr) minmax(180px,.95fr);gap:24px;display:grid}.learner-profile-detail-card,.learner-profile-glance-card,.learner-profile-card,.learner-profile-add-card{border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.learner-profile-detail-card{align-content:start;gap:28px;min-height:156px;padding:24px;display:grid}.learner-profile-detail-card--split{grid-template-columns:repeat(2,minmax(0,1fr))}.learner-profile-detail-item{gap:8px;display:grid}.learner-profile-label{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.learner-profile-value{color:var(--text-primary);font-size:var(--font-size-base);line-height:1.45}.learner-profile-value--large{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.learner-profile-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.learner-profile-card{align-items:center;gap:18px;min-height:96px;padding:22px 24px;display:flex}.learner-profile-card__icon,.learner-profile-add-card__icon{background:var(--accent-light);width:48px;height:48px;color:var(--accent);font-weight:var(--font-weight-bold);border-radius:50%;flex:none;place-items:center;display:grid}.learner-profile-card__body{gap:4px;min-width:0;display:grid}.learner-profile-card strong{color:var(--text-primary);font-size:var(--font-size-lg)}.learner-profile-card__meta{flex-wrap:wrap;align-items:center;gap:0;display:flex}.learner-profile-card__primary{font-weight:var(--font-weight-medium);align-items:center;display:inline-flex;color:var(--accent)!important}.learner-profile-card__primary:before{background:var(--border-strong);content:"";border-radius:50%;width:3px;height:3px;margin:0 9px}.learner-profile-card span,.learner-profile-card small{color:var(--text-muted)}.learner-profile-add-card{min-height:96px;color:var(--text-muted);border-style:dashed;place-items:center;padding:22px 24px;font-style:italic;display:grid}.learner-profile-add-card__content{align-items:center;gap:14px;display:flex}.learner-profile-glance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.learner-profile-glance-card{gap:22px;min-height:122px;padding:24px;display:grid}.learner-profile-glance-card__body{justify-content:space-between;align-items:end;gap:16px;display:flex}.learner-profile-glance-card__value{color:var(--accent);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1}.learner-profile-glance-card__note{color:var(--text-muted)}.learner-profile-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.learner-profile-split>div{align-content:start;gap:10px;display:grid}.learner-profile-split h3,.learner-profile-split p{margin:0}.learner-profile-split h3{color:var(--text-primary);font-weight:var(--font-weight-bold)}.learner-profile-split p{color:var(--text-muted);gap:3px;display:grid}.learner-profile-empty{color:var(--text-muted);margin:0}.profile-history-list{align-self:start;gap:8px;padding:36px 48px 20px;display:grid}.profile-history-header{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:var(--font-weight-bold);text-transform:uppercase;grid-template-columns:140px 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.profile-history-header span:last-child{text-align:right}.profile-history-empty{color:var(--text-muted);margin:0;padding:12px 14px}.profile-history-item{border:1px solid var(--border-subtle);background:var(--surface-raised);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:140px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.profile-history-item:hover{border-color:var(--color-primary);background:var(--surface-muted)}.profile-history-item__category{background:var(--surface-muted);width:fit-content;color:var(--text-secondary);font-size:12px;font-weight:var(--font-weight-bold);border-radius:999px;padding:4px 8px}.profile-history-item__summary{font-weight:var(--font-weight-semibold)}.profile-history-item__meta{color:var(--text-muted);white-space:nowrap;font-size:13px}.profile-history-dialog{gap:16px;display:grid}.profile-history-dialog__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.profile-history-dialog__facts span,.profile-history-change-group p{color:var(--text-secondary);gap:3px;margin:0;display:grid}.profile-history-dialog__facts strong,.profile-history-change-group strong{color:var(--text-primary)}.profile-history-change-group{border:1px solid var(--border-subtle);background:var(--surface-muted);border-radius:8px;gap:8px;padding:12px;display:grid}@media (width<=767px){.learner-profile-header,.learner-profile-split,.profile-document-form,.learner-profile-detail-grid,.learner-profile-detail-card--split,.learner-profile-card-grid,.learner-profile-glance-grid{grid-template-columns:1fr}.learner-profile{margin:0}.learner-profile-header,.learner-profile-hero__bar,.learner-profile-section,.learner-profile-tabs{padding-left:16px;padding-right:16px}.learner-profile-section__heading{flex-direction:column;align-items:stretch}.profile-history-item,.profile-history-dialog__facts{grid-template-columns:1fr}.profile-history-item__meta{white-space:normal}}.profile-photo-field{gap:8px;display:grid}.profile-photo-field__label{color:var(--text-muted);font-size:var(--font-size-sm)}.profile-photo-field__body{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.profile-photo-field__preview,.profile-photo-field__placeholder{border-radius:var(--radius-lg);object-fit:cover;border:var(--border-width) solid var(--border);width:96px;height:96px}.profile-photo-field__placeholder{background:var(--surface-muted);color:var(--text-muted);font-size:var(--font-size-sm);place-items:center;display:grid}.profile-photo-field__actions{flex-wrap:wrap;gap:8px;display:flex}.profile-photo-field__file{cursor:pointer}@media (width<=1100px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-header__search{width:240px}}@media (width<=1023px){.admin-sidebar{transform:translate(-100%)}.admin-sidebar--open{transform:translate(0)}.mobile-sidebar-backdrop{display:block}.admin-main{margin-left:0}.admin-menu-button{display:inline-flex}}@media (width<=767px){:root{--padding-page:16px;--section-gap:18px}.admin-header{gap:10px}.admin-header__search,.admin-header__profile-copy,.admin-year-select{display:none}.dashboard-stats{grid-template-columns:1fr;gap:12px}.resource-toolbar{flex-direction:column;align-items:stretch}.resource-form,.settings-form,.regional-datetime-field>div{grid-template-columns:1fr}.settings-grading-scale__heading{flex-direction:column;align-items:stretch}.settings-grading-scale__row{grid-template-columns:1fr 1fr 36px}.page-header__title{font-size:var(--font-size-xl)}}.admin-main:has(.document-viewer-page){height:100vh;overflow:hidden}.admin-content:has(.document-viewer-page){flex-direction:column;min-height:0;padding:0;display:flex}.admin-content:has(.document-viewer-page) .admin-content__inner{flex-direction:column;flex:1;max-width:none;min-height:0;display:flex}.document-viewer-page{height:calc(100vh - var(--header-height));background:var(--bg-page);color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.document-viewer-header{background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:2;flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:12px 20px;display:flex}.document-viewer-title,.document-viewer-actions{align-items:center;gap:12px;display:flex}.document-viewer-title h1{letter-spacing:0;margin:0;font-size:20px}.document-viewer-title span{color:var(--text-muted);margin-top:2px;font-size:13px;display:block}.document-viewer-canvas{flex:auto;min-height:0;padding:16px;display:flex;overflow:auto}.document-viewer-canvas iframe{width:100%;min-height:calc(100vh - var(--header-height) - 105px);border:1px solid var(--border);background:#fff}.document-viewer-canvas .document-viewer-print-frame{opacity:0;pointer-events:none;border:0;width:1px;height:1px;min-height:0;position:fixed;bottom:0;right:0}.document-pdf-preview{width:100%;min-width:0}.document-pdf-pages{justify-items:center;gap:18px;display:grid}.document-pdf-page{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;line-height:0}.document-pdf-page canvas{max-width:100%;height:auto!important}.document-image-preview{max-width:100%;max-height:calc(100vh - var(--header-height) - 115px);object-fit:contain;background:#fff;margin:auto;display:block}.document-viewer-message{text-align:center;max-width:560px;margin:auto}.document-viewer-skeleton{background:var(--bg-surface);border:1px solid var(--border);width:min(820px,100%);margin:0 auto;padding:36px}.document-viewer-skeleton span{background:var(--bg-muted);height:14px;margin-bottom:22px;animation:1.4s ease-in-out infinite skeleton-pulse;display:block}.document-viewer-skeleton span:nth-child(2){width:82%}.document-viewer-skeleton span:nth-child(3){width:64%}@media (width<=700px){.document-viewer-header{flex-direction:column;align-items:flex-start}.document-viewer-actions{justify-content:flex-end;width:100%}.document-viewer-canvas{padding:8px}.document-viewer-canvas iframe{min-height:calc(100vh - var(--header-height) - 145px)}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@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-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}@keyframes spin{to{transform:rotate(360deg)}}
