@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";
@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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@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-red-100:#ffe2e2;--color-red-200:#ffcaca;--color-red-600:#e40014;--color-red-800:#9f0712;--color-amber-50:#fffbeb;--color-amber-100:#fef3c6;--color-amber-200:#fee685;--color-amber-300:#ffd236;--color-amber-600:#dd7400;--color-amber-700:#b75000;--color-amber-800:#953d00;--color-amber-900:#7b3306;--color-amber-950:#461901;--color-emerald-100:#d0fae5;--color-emerald-200:#a4f4cf;--color-emerald-500:#00bb7f;--color-emerald-600:#009767;--color-emerald-700:#007956;--color-emerald-800:#005f46;--color-cyan-50:#ecfeff;--color-cyan-100:#cefafe;--color-sky-600:#0084cc;--color-blue-100:#dbeafe;--color-blue-200:#bedbff;--color-blue-800:#193cb8;--color-indigo-50:#eef2ff;--color-indigo-100:#e0e7ff;--color-indigo-500:#625fff;--color-indigo-600:#4f39f6;--color-indigo-800:#372aac;--color-indigo-900:#312c85;--color-violet-700:#7008e7;--color-purple-50:#faf5ff;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cad5e2;--color-slate-400:#90a1b9;--color-slate-500:#62748e;--color-slate-600:#45556c;--color-slate-700:#314158;--color-slate-800:#1d293d;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#e5e5e5;--color-neutral-300:#d4d4d4;--color-neutral-400:#a1a1a1;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-800:#262626;--color-neutral-900:#171717;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)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);--color-navy:#0f1b3c;--color-navy-light:#1a2d5a;--color-purple-brand:#7c3aed;--color-red-brand:#ef4444;--color-surface-muted:#f8fafc}@supports (color:lab(0% 0 0)){:root,:host{--color-red-100:lab(92.243% 10.2865 3.83865);--color-red-200:lab(86.017% 19.8815 7.75869);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-800:lab(33.7174% 55.8993 41.0293);--color-amber-50:lab(98.6252% -.635922 8.42309);--color-amber-100:lab(95.916% -1.21653 23.111);--color-amber-200:lab(91.7203% -.505269 49.9084);--color-amber-300:lab(86.4156% 6.13147 78.3961);--color-amber-600:lab(60.3514% 40.5624 87.1228);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-amber-800:lab(37.8822% 37.1699 52.2718);--color-amber-900:lab(31.2288% 30.2627 40.0378);--color-amber-950:lab(15.8111% 20.9107 23.3752);--color-emerald-100:lab(94.9004% -17.0769 5.63836);--color-emerald-200:lab(90.2247% -31.039 9.47084);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-emerald-700:lab(44.4871% -41.0396 11.0361);--color-emerald-800:lab(35.3675% -33.1188 8.04002);--color-cyan-50:lab(98.3304% -5.97432 -2.62108);--color-cyan-100:lab(95.3146% -13.8285 -6.84732);--color-sky-600:lab(51.7754% -11.4712 -49.8349);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-200:lab(86.15% -4.04379 -21.0797);--color-blue-800:lab(30.2514% 27.7853 -70.2699);--color-indigo-50:lab(95.4818% .411302 -6.78529);--color-indigo-100:lab(91.6577% 1.04591 -12.7199);--color-indigo-500:lab(48.295% 38.3129 -81.9673);--color-indigo-600:lab(38.4009% 52.6132 -92.3857);--color-indigo-800:lab(26.6645% 37.9804 -68.6402);--color-indigo-900:lab(23.3911% 24.6978 -50.4718);--color-violet-700:lab(35.2783% 67.9912 -88.793);--color-purple-50:lab(97.1627% 2.99937 -4.13398);--color-slate-50:lab(98.1434% -.369519 -1.05966);--color-slate-100:lab(96.286% -.852436 -2.46847);--color-slate-200:lab(91.7353% -.998765 -4.76968);--color-slate-300:lab(84.7652% -1.94535 -7.93337);--color-slate-400:lab(65.5349% -2.25151 -14.5072);--color-slate-500:lab(48.0876% -2.03595 -16.5814);--color-slate-600:lab(35.5623% -1.74978 -15.4316);--color-slate-700:lab(26.9569% -1.47016 -15.6993);--color-slate-800:lab(16.132% -.318035 -14.6672);--color-neutral-50:lab(98.26% 0 0);--color-neutral-100:lab(96.52% -.0000298023 .0000119209);--color-neutral-200:lab(90.952% 0 -.0000119209);--color-neutral-300:lab(84.92% 0 -.0000119209);--color-neutral-400:lab(66.128% -.0000298023 .0000119209);--color-neutral-500:lab(48.496% 0 0);--color-neutral-600:lab(34.924% 0 0);--color-neutral-700:lab(27.036% 0 0);--color-neutral-800:lab(15.204% 0 -.00000596046);--color-neutral-900:lab(7.78201% -.0000149012 0)}}}@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{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.bottom-1{bottom:calc(var(--spacing)*1)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-36{height:calc(var(--spacing)*36)}.h-40{height:calc(var(--spacing)*40)}.h-56{height:calc(var(--spacing)*56)}.h-full{height:100%}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-48{width:calc(var(--spacing)*48)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.min-w-\[640px\]{min-width:640px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.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)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}: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-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--border-color\)\]{border-color:var(--border-color)}.border-amber-200{border-color:var(--color-amber-200)}.border-blue-200{border-color:var(--color-blue-200)}.border-cyan-100{border-color:var(--color-cyan-100)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-neutral-100{border-color:var(--color-neutral-100)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-purple-brand{border-color:var(--color-purple-brand)}.border-purple-brand\/30{border-color:#7c3aed4d}@supports (color:color-mix(in lab, red, red)){.border-purple-brand\/30{border-color:color-mix(in oklab,var(--color-purple-brand)30%,transparent)}}.border-red-200{border-color:var(--color-red-200)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\/80{border-color:#e2e8f0cc}@supports (color:color-mix(in lab, red, red)){.border-slate-200\/80{border-color:color-mix(in oklab,var(--color-slate-200)80%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.\!bg-purple-brand{background-color:var(--color-purple-brand)!important}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-cyan-50\/50{background-color:#ecfeff80}@supports (color:color-mix(in lab, red, red)){.bg-cyan-50\/50{background-color:color-mix(in oklab,var(--color-cyan-50)50%,transparent)}}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500\/80{background-color:#00bb7fcc}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/80{background-color:color-mix(in oklab,var(--color-emerald-500)80%,transparent)}}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-navy{background-color:var(--color-navy)}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-brand{background-color:var(--color-purple-brand)}.bg-red-100{background-color:var(--color-red-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-surface-muted\/60{background-color:#f8fafc99}@supports (color:color-mix(in lab, red, red)){.bg-surface-muted\/60{background-color:color-mix(in oklab,var(--color-surface-muted)60%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-indigo-50{--tw-gradient-from:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-navy{--tw-gradient-from:var(--color-navy);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-violet-700{--tw-gradient-from:var(--color-violet-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-navy-light{--tw-gradient-to:var(--color-navy-light);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.\!p-0{padding:calc(var(--spacing)*0)!important}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-800{color:var(--color-indigo-800)}.text-indigo-900{color:var(--color-indigo-900)}.text-navy{color:var(--color-navy)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-800{color:var(--color-neutral-800)}.text-neutral-900{color:var(--color-neutral-900)}.text-purple-brand{color:var(--color-purple-brand)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-red-brand{color:var(--color-red-brand)}.text-sky-600{color:var(--color-sky-600)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + 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)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + 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)}.ring-purple-brand\/50{--tw-ring-color:#7c3aed80}@supports (color:color-mix(in lab, red, red)){.ring-purple-brand\/50{--tw-ring-color:color-mix(in oklab,var(--color-purple-brand)50%,transparent)}}.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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-indigo-100:hover{background-color:var(--color-indigo-100)}.hover\:bg-neutral-50:hover{background-color:var(--color-neutral-50)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-white\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/25:hover{background-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.hover\:\!opacity-90:hover{opacity:.9!important}.hover\:opacity-90:hover{opacity:.9}}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:border-amber-800{border-color:var(--color-amber-800)}.dark\:bg-amber-950\/30{background-color:#4619014d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-950\/30{background-color:color-mix(in oklab,var(--color-amber-950)30%,transparent)}}.dark\:bg-neutral-800{background-color:var(--color-neutral-800)}.dark\:text-amber-100{color:var(--color-amber-100)}.dark\:text-amber-300{color:var(--color-amber-300)}.dark\:text-neutral-100{color:var(--color-neutral-100)}.dark\:text-neutral-200{color:var(--color-neutral-200)}.dark\:text-neutral-400{color:var(--color-neutral-400)}@media (hover:hover){.dark\:hover\:bg-neutral-900\/50:hover{background-color:#17171780}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-neutral-900\/50:hover{background-color:color-mix(in oklab,var(--color-neutral-900)50%,transparent)}}}}}.ht-module{--ht-space-1:8px;--ht-space-2:16px;--ht-space-3:24px;--ht-space-4:32px;--ht-space-5:40px;--ht-radius-sm:10px;--ht-radius-md:14px;--ht-radius-lg:18px;--ht-shadow-sm:0 1px 2px #0f172a0f,0 1px 3px #0f172a0a;--ht-shadow-md:0 4px 12px #0f172a14,0 2px 4px #0f172a0a;--ht-shadow-lg:0 12px 32px #0f172a1a,0 4px 8px #0f172a0f;--ht-ink:#0f172a;--ht-ink-muted:#64748b;--ht-ink-subtle:#94a3b8;--ht-surface:var(--color-surface,#fff);--ht-surface-raised:var(--color-surface-raised,#f8fafc);--ht-border:var(--border-color,#e2e8f0);--ht-accent:#1a6b3a;--ht-accent-soft:#1a6b3a1a;--ht-info:#0284c7;--ht-success:#059669;--ht-warning:#d97706;--ht-danger:#dc2626;font-feature-settings:"kern" 1,"liga" 1}html[data-theme=dark] .ht-module,html.dark .ht-module{--ht-ink:#f1f5f9;--ht-ink-muted:#94a3b8;--ht-ink-subtle:#64748b;--ht-shadow-sm:0 1px 2px #0003;--ht-shadow-md:0 4px 16px #00000040;--ht-shadow-lg:0 12px 40px #00000059}.ht-module .ht-page-header{justify-content:space-between;align-items:flex-start;gap:var(--ht-space-2);margin-bottom:var(--ht-space-3);padding-bottom:var(--ht-space-2);border-bottom:1px solid var(--ht-border);flex-wrap:wrap;display:flex}.ht-module .ht-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ht-accent);margin-bottom:6px;font-size:11px;font-weight:600}.ht-module .ht-title{font-family:var(--font-display,"Sora",sans-serif);letter-spacing:-.02em;color:var(--ht-ink);margin:0;font-size:clamp(1.5rem,2.5vw,1.875rem);font-weight:700;line-height:1.2}.ht-module .ht-subtitle{font-size:var(--text-sm,14px);color:var(--ht-ink-muted);max-width:52ch;margin:8px 0 0;line-height:1.5}.ht-module .ht-header-actions{gap:var(--ht-space-1);flex-wrap:wrap;align-items:center;display:flex}.ht-module .ht-kpi-grid{gap:var(--ht-space-2);margin-bottom:var(--ht-space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.ht-module .ht-kpi{background:var(--ht-surface);border:1px solid var(--ht-border);border-radius:var(--ht-radius-md);padding:var(--ht-space-2);box-shadow:var(--ht-shadow-sm);align-items:flex-start;gap:14px;transition:box-shadow .2s,border-color .2s,transform .2s;display:flex}.ht-module .ht-kpi:hover{box-shadow:var(--ht-shadow-md);border-color:var(--ht-accent)}@supports (color:color-mix(in lab, red, red)){.ht-module .ht-kpi:hover{border-color:color-mix(in srgb,var(--ht-accent)25%,var(--ht-border))}}.ht-module .ht-kpi-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ht-module .ht-kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ht-ink-muted);font-size:11px;font-weight:600}.ht-module .ht-kpi-value{letter-spacing:-.02em;color:var(--ht-ink);margin-top:4px;font-size:1.5rem;font-weight:800;line-height:1.2}.ht-module .ht-kpi-hint{color:var(--ht-ink-subtle);margin-top:4px;font-size:12px}.ht-module .ht-kpi-trend{color:var(--ht-success);margin-top:6px;font-size:12px;font-weight:600}.ht-module .ht-card{background:var(--ht-surface);border:1px solid var(--ht-border);border-radius:var(--ht-radius-lg);box-shadow:var(--ht-shadow-sm);transition:box-shadow .2s;overflow:hidden}.ht-module .ht-card:hover{box-shadow:var(--ht-shadow-md)}.ht-module .ht-card-header{justify-content:space-between;align-items:center;gap:var(--ht-space-2);padding:var(--ht-space-2)var(--ht-space-3);border-bottom:1px solid var(--ht-border);background:var(--ht-surface-raised);display:flex}.ht-module .ht-card-title{color:var(--ht-ink);align-items:center;gap:10px;margin:0;font-size:15px;font-weight:700;display:flex}.ht-module .ht-card-body{padding:var(--ht-space-3)}.ht-module .ht-card-footer{padding:var(--ht-space-2)var(--ht-space-3);border-top:1px solid var(--ht-border);background:var(--ht-surface-raised);text-align:center}.ht-module .olp-card:not(.ht-card){border-radius:var(--ht-radius-lg);border:1px solid var(--ht-border);box-shadow:var(--ht-shadow-sm)}.ht-module .ht-table-wrap,.ht-module .data-table-container{border-radius:var(--ht-radius-md);border:1px solid var(--ht-border);background:var(--ht-surface);overflow:hidden}.ht-module .data-table thead{background:var(--ht-surface-raised)}.ht-module .data-table th{letter-spacing:.06em;color:var(--ht-ink-muted);border-bottom:1px solid var(--ht-border);padding:14px 16px;font-size:11px;font-weight:700}.ht-module .data-table td{border-bottom:1px solid var(--ht-border);padding:14px 16px;font-size:14px}@supports (color:color-mix(in lab, red, red)){.ht-module .data-table td{border-bottom:1px solid color-mix(in srgb,var(--ht-border)60%,transparent)}}.ht-module .data-table tbody tr:hover{background:var(--ht-accent-soft)}.ht-module .data-table tbody tr:last-child td{border-bottom:none}.ht-module .ht-quick-grid{gap:var(--ht-space-1);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.ht-module .ht-quick-link{border-radius:var(--ht-radius-sm);border:1px solid var(--ht-border);background:var(--ht-surface);color:var(--ht-ink);align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:flex}.ht-module .ht-quick-link:hover{background:var(--ht-accent-soft);border-color:var(--ht-accent)}@supports (color:color-mix(in lab, red, red)){.ht-module .ht-quick-link:hover{border-color:color-mix(in srgb,var(--ht-accent)35%,var(--ht-border))}}.ht-module .ht-quick-link:hover{transform:translateY(-1px)}.ht-module .ht-quick-link svg{color:var(--ht-accent);flex-shrink:0}.ht-module .ht-pill-row{gap:var(--ht-space-1);margin-bottom:var(--ht-space-3);flex-wrap:wrap;display:flex}.ht-module .ht-pill{color:var(--ht-ink);background:var(--ht-surface);border:1px solid var(--ht-border);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.ht-module .ht-pill:hover{background:var(--ht-accent-soft);border-color:var(--ht-accent);color:var(--ht-accent)}.ht-module .ht-alert{align-items:center;gap:var(--ht-space-2);padding:var(--ht-space-2);border-radius:var(--ht-radius-md);margin-bottom:var(--ht-space-3);border:1px solid;display:flex}.ht-module .ht-alert--warning{color:#92400e;background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-color:#fcd34d}html[data-theme=dark] .ht-module .ht-alert--warning{color:#fde68a;background:linear-gradient(135deg,#422006 0%,#78350f 100%);border-color:#b45309}.ht-module .ht-empty{text-align:center;padding:var(--ht-space-5)var(--ht-space-3)}.ht-module .ht-empty-icon{width:56px;height:56px;margin:0 auto var(--ht-space-2);background:var(--ht-accent-soft);color:var(--ht-accent);border-radius:16px;justify-content:center;align-items:center;display:flex}.ht-module .ht-empty-title{color:var(--ht-ink);margin:0 0 6px;font-size:15px;font-weight:700}.ht-module .ht-empty-text{color:var(--ht-ink-muted);margin:0;max-width:36ch;margin-inline:auto;font-size:13px}.ht-module .ht-activity-item{border-radius:var(--ht-radius-sm);border:1px solid var(--ht-border);background:var(--ht-surface);align-items:flex-start;gap:14px;padding:14px;transition:border-color .15s,background .15s;display:flex}.ht-module .ht-activity-item:hover{border-color:var(--ht-accent)}@supports (color:color-mix(in lab, red, red)){.ht-module .ht-activity-item:hover{border-color:color-mix(in srgb,var(--ht-accent)30%,var(--ht-border))}}.ht-module .ht-activity-item:hover{background:var(--ht-surface-raised)}.ht-module .olp-input-group{gap:8px}.ht-module .olp-label{color:var(--ht-ink-muted);letter-spacing:.02em;font-size:12px;font-weight:600}.ht-module .olp-input{border-radius:var(--ht-radius-sm);border-color:var(--ht-border);background:var(--ht-surface);color:var(--ht-ink);padding:10px 14px}.ht-module .olp-input:focus{border-color:var(--ht-accent);box-shadow:0 0 0 3px var(--ht-accent-soft)}.ht-module .ht-grid-2{gap:var(--ht-space-3);display:grid}@media (min-width:1024px){.ht-module .ht-grid-2--wide{grid-template-columns:1.4fr 1fr}.ht-module .ht-grid-2--balanced{grid-template-columns:1.35fr 1fr}}.ht-module .ht-stack{gap:var(--ht-space-3);flex-direction:column;display:flex}.ht-module .ht-skeleton{background:linear-gradient(90deg,var(--ht-surface-raised)0%,var(--ht-border)50%,var(--ht-surface-raised)100%)}@supports (color:color-mix(in lab, red, red)){.ht-module .ht-skeleton{background:linear-gradient(90deg,var(--ht-surface-raised)0%,color-mix(in srgb,var(--ht-border)40%,var(--ht-surface-raised))50%,var(--ht-surface-raised)100%)}}.ht-module .ht-skeleton{border-radius:var(--ht-radius-md);background-size:200% 100%;animation:1.2s ease-in-out infinite ht-shimmer}@keyframes ht-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.app-sidebar.sidebar--headteacher .sidebar-nav-link.active,.app-sidebar.sidebar--headteacher a[aria-current=page]{background:var(--ht-accent-soft);color:var(--ht-accent);border-left:3px solid var(--ht-accent);font-weight:600}.app-sidebar.sidebar--headteacher .sidebar-section-title{letter-spacing:.1em;font-size:10px}.ht-module .ht-exec-stack{gap:var(--ht-space-4);flex-direction:column;max-width:960px;display:flex}.ht-module .ht-exec-kpi-row{gap:var(--ht-space-2);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:900px){.ht-module .ht-exec-kpi-row{grid-template-columns:repeat(2,1fr)}}.ht-module .ht-exec-kpi{padding:var(--ht-space-2);border:1px solid var(--ht-border);border-radius:var(--ht-radius-md);background:var(--ht-surface);box-shadow:none}.ht-module .ht-exec-kpi-label{color:var(--ht-ink-muted);margin-bottom:6px;font-size:12px}.ht-module .ht-exec-kpi-value{letter-spacing:-.02em;color:var(--ht-ink);font-size:1.75rem;font-weight:600;line-height:1.1}.ht-module .ht-exec-kpi-hint{color:var(--ht-ink-muted);margin-top:6px;font-size:12px}.ht-module .ht-exec-section{border:1px solid var(--ht-border);border-radius:var(--ht-radius-md);background:var(--ht-surface);overflow:hidden}.ht-module .ht-exec-section-head{padding:14px var(--ht-space-2);border-bottom:1px solid var(--ht-border);color:var(--ht-ink);font-size:14px;font-weight:600}.ht-module .ht-exec-section-body{padding:var(--ht-space-2)}.ht-module .ht-priority-list{margin:0;padding:0;list-style:none}.ht-module .ht-priority-item{justify-content:space-between;align-items:center;gap:var(--ht-space-2);border-bottom:1px solid var(--ht-border);padding:12px 0;display:flex}@supports (color:color-mix(in lab, red, red)){.ht-module .ht-priority-item{border-bottom:1px solid color-mix(in srgb,var(--ht-border)70%,transparent)}}.ht-module .ht-priority-item{color:inherit;text-decoration:none}.ht-module .ht-priority-item:last-child{border-bottom:none}.ht-module .ht-priority-item:hover{color:var(--ht-accent)}.ht-module .ht-priority-item-title{font-size:14px;font-weight:500}.ht-module .ht-priority-item-meta{color:var(--ht-ink-muted);white-space:nowrap;font-size:12px}.ht-module .ht-snapshot-grid{gap:var(--ht-space-2);grid-template-columns:1fr 1fr;display:grid}@media (max-width:640px){.ht-module .ht-snapshot-grid{grid-template-columns:1fr}}.ht-module .ht-snapshot-cell{border-radius:var(--ht-radius-sm);background:var(--ht-surface-raised);padding:12px}.ht-module .ht-snapshot-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ht-ink-muted);margin-bottom:4px;font-size:11px;font-weight:600}.ht-module .ht-snapshot-value{color:var(--ht-ink);font-size:15px;font-weight:600}.ht-module .ht-decision-card{padding:var(--ht-space-2);border:1px solid var(--ht-border);border-radius:var(--ht-radius-md);background:var(--ht-surface);margin-bottom:var(--ht-space-2)}.ht-module .ht-decision-card:last-child{margin-bottom:0}.ht-module .ht-decision-title{color:var(--ht-ink);margin:0 0 8px;font-size:15px;font-weight:600}.ht-module .ht-decision-reason{color:var(--ht-ink-muted);margin:0 0 12px;font-size:14px;line-height:1.5}.ht-module .ht-decision-meta{color:var(--ht-ink-subtle);flex-wrap:wrap;gap:8px 16px;margin-bottom:12px;font-size:12px;display:flex}.ht-module .ht-timeline-item{padding-left:20px;padding-bottom:var(--ht-space-2);border-left:2px solid var(--ht-border);margin-left:6px;position:relative}.ht-module .ht-timeline-item:last-child{border-left-color:#0000;padding-bottom:0}.ht-module .ht-timeline-item:before{content:"";background:var(--ht-accent);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:-5px}.ht-module .ht-page-header{margin-bottom:var(--ht-space-2);border-bottom:none;padding-bottom:0}.ht-module .ht-subtitle{max-width:48ch;font-size:15px}.ht-module .ht-kpi:hover,.ht-module .ht-card:hover{box-shadow:none;transform:none}:root{--color-primary:#1a6b3a;--color-primary-light:#2e8b57;--color-primary-dark:#0f4226;--color-primary-surface:#e8f5ee;--color-secondary:#f5a623;--color-secondary-light:#ffbe55;--color-secondary-dark:#c4820f;--color-secondary-surface:#fff8ec;--color-accent:#0d47a1;--color-accent-light:#1565c0;--color-accent-surface:#e3eaf7;--color-danger:#d32f2f;--color-danger-surface:#ffebee;--color-success:#2e7d32;--color-success-surface:#e8f5e9;--color-warning:#f57f17;--color-warning-surface:#fff8e1;--color-info:#0277bd;--color-info-surface:#e1f5fe;--color-pathway-stem:#1565c0;--color-pathway-stem-surface:#e3f0ff;--color-pathway-social:#6a1b9a;--color-pathway-social-surface:#f3e5f5;--color-pathway-arts:#e65100;--color-pathway-arts-surface:#fff3e0;--color-ee:#1b5e20;--color-me:#1565c0;--color-ae:#e65100;--color-be:#b71c1c;--color-neutral-0:#fff;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-200:#eee;--color-neutral-300:#e0e0e0;--color-neutral-400:#bdbdbd;--color-neutral-500:#9e9e9e;--color-neutral-600:#757575;--color-neutral-700:#616161;--color-neutral-800:#424242;--color-neutral-900:#212121;--color-surface:#fff;--color-surface-raised:#fafafa;--color-surface-overlay:#0000000a;--color-surface-scrim:#00000080;--color-role-sysadmin:#1a1a2e;--color-role-schooladmin:#16213e;--color-role-teacher:#0f3460;--color-role-parent:#e94560;--color-role-student:#533483;--color-role-finance:#16c79a;--color-role-government:#ef476f;--font-display:"Sora",sans-serif;--font-body:"Plus Jakarta Sans",sans-serif;--font-mono:"JetBrains Mono",monospace;--text-xs:clamp(.625rem,1.5vw,.75rem);--text-sm:clamp(.75rem,1.8vw,.875rem);--text-base:clamp(.875rem,2vw,1rem);--text-md:clamp(1rem,2.2vw,1.125rem);--text-lg:clamp(1.125rem,2.5vw,1.25rem);--text-xl:clamp(1.25rem,3vw,1.5rem);--text-2xl:clamp(1.5rem,4vw,2rem);--text-3xl:clamp(2rem,5vw,2.5rem);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--space-7:56px;--space-8:64px;--space-10:80px;--space-12:96px;--space-16:128px;--touch-target-min:48px;--touch-target-ideal:56px;--bottom-nav-height:64px;--top-bar-height:56px;--safe-area-bottom:env(safe-area-inset-bottom,16px);--radius-xs:4px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--border-width:1px;--border-color:var(--color-neutral-200);--shadow-sm:0 1px 3px #00000014,0 1px 2px #0000000a;--shadow-md:0 2px 12px #00000014,0 2px 4px #0000000a;--shadow-lg:0 8px 24px #0000001a,0 2px 8px #0000000f;--shadow-xl:0 16px 40px #0000001f,0 4px 12px #0000000f;--shadow-modal:0 24px 64px #0000002e;--shadow-primary:0 4px 16px #1a6b3a2e;--shadow-pathway-stem:0 4px 16px #1565c033;--shadow-pathway-social:0 4px 16px #6a1b9a33;--shadow-pathway-arts:0 4px 16px #e6510033;--duration-instant:80ms;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--duration-slower:.6s;--ease-standard:cubic-bezier(.4,0,.2,1);--ease-decelerate:cubic-bezier(0,0,.2,1);--ease-accelerate:cubic-bezier(.4,0,1,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-tooltip:600}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--color-neutral-900);background:var(--color-neutral-50);overflow-x:hidden}a{color:var(--color-accent);transition:color var(--duration-fast)var(--ease-standard);text-decoration:none}a:hover{color:var(--color-accent-light)}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:var(--text-sm)}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.screen-heading{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-extrabold);color:var(--color-neutral-900);line-height:var(--leading-tight)}.section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-neutral-900);line-height:var(--leading-tight)}.card-title{font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.body-text{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--color-neutral-700)}.caption-text{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-neutral-500)}.label-text{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-neutral-600)}.data-number{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-extrabold);color:var(--color-neutral-900);line-height:var(--leading-tight)}.ref-id{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-neutral-600)}.app-layout{height:100dvh;display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;height:100dvh;display:flex;overflow-y:auto}.app-topbar{height:var(--top-bar-height);background:var(--color-surface);border-bottom:var(--border-width)solid var(--border-color);padding:0 var(--space-2);align-items:center;gap:var(--space-1);z-index:var(--z-sticky);flex-shrink:0;display:flex;position:sticky;top:0}.topbar-search{align-items:center;gap:var(--space-1);background:var(--color-neutral-50);border:var(--border-width)solid var(--border-color);border-radius:var(--radius-full);padding:0 var(--space-2);flex:1;max-width:400px;height:36px;display:flex}.topbar-search-input{font-size:var(--text-sm);color:var(--color-neutral-900);font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1}.topbar-search-input::placeholder{color:var(--color-neutral-400)}.topbar-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.topbar-icon-btn{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-neutral-600);cursor:pointer;transition:background var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.topbar-icon-btn:hover{background:var(--color-neutral-100)}.topbar-notification-dot{background:var(--color-danger);border-radius:var(--radius-full);width:6px;height:6px;position:absolute;top:8px;right:8px}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-top-bar{height:var(--top-bar-height);background:var(--color-surface);border-bottom:var(--border-width)solid var(--border-color);padding:0 var(--space-2);align-items:center;gap:var(--space-1);z-index:var(--z-sticky);display:flex;position:sticky;top:0}.app-top-bar-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-neutral-900);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-top-bar-action{width:var(--touch-target-min);height:var(--touch-target-min);border-radius:var(--radius-full);color:var(--color-neutral-700);transition:background var(--duration-fast)var(--ease-standard);justify-content:center;align-items:center;display:flex}.app-top-bar-action:hover{background:var(--color-surface-overlay)}.app-content{padding:var(--space-2);flex:1;width:100%;max-width:100%}@media (min-width:640px){.app-content{padding:var(--space-3)}}@media (min-width:1024px){.app-content{padding:var(--space-3);flex:1;min-width:0;max-width:none}}.app-bottom-nav{height:var(--bottom-nav-height);background:var(--color-surface);border-top:var(--border-width)solid var(--border-color);padding-bottom:var(--safe-area-bottom);z-index:var(--z-sticky);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{min-width:var(--touch-target-min);min-height:var(--touch-target-min);border-radius:var(--radius-md);color:var(--color-neutral-500);font-size:var(--text-xs);font-weight:var(--weight-medium);transition:color var(--duration-fast)var(--ease-standard);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 12px;text-decoration:none;display:flex;position:relative}.bottom-nav-item.active{color:var(--color-primary);font-weight:var(--weight-semibold)}.bottom-nav-item.active:before{content:"";background:var(--color-primary);border-radius:0 0 var(--radius-xs)var(--radius-xs);width:32px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.olp-btn{font-family:var(--font-body);white-space:nowrap;cursor:pointer;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;border:1.5px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:38px;padding:0 16px;font-size:13px;font-weight:600;line-height:1;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.olp-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.olp-btn:active:not(:disabled){transform:scale(.97)translateY(0)}.olp-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.15)}.olp-btn-sm{border-radius:7px;gap:5px;height:36px;padding:0 14px;font-size:13px}.olp-btn-md{border-radius:8px;height:42px;padding:0 20px;font-size:14px}.olp-btn-lg{border-radius:10px;height:48px;padding:0 28px;font-size:15px}.olp-btn-primary{background:linear-gradient(135deg,var(--color-primary)0%,#1a6b3c 100%);color:#fff;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014}.olp-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1a6b3c 0%,var(--color-primary)100%);transform:translateY(-1px);box-shadow:0 4px 14px #15653959,0 2px 6px #0000001a}.olp-btn-secondary{background:var(--color-primary-surface);color:var(--color-primary);box-shadow:0 1px 2px #0000000a}.olp-btn-secondary:hover:not(:disabled){background:#c8e6d0;transform:translateY(-1px);box-shadow:0 2px 8px #1565391f}.olp-btn-outline{background:var(--color-neutral-0);color:var(--color-primary);border-color:var(--color-primary)}.olp-btn-outline:hover:not(:disabled){background:var(--color-primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #15653940}.olp-btn-ghost{color:var(--color-primary);background:0 0}.olp-btn-ghost:hover:not(:disabled){background:var(--color-primary-surface);box-shadow:0 1px 4px #0000000a}.olp-btn-danger{color:#fff;background:linear-gradient(135deg,#dc2626 0%,#ef4444 100%);box-shadow:0 1px 3px #dc262633}.olp-btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);transform:translateY(-1px);box-shadow:0 4px 14px #dc262659}.olp-btn-pathway-stem{background:linear-gradient(135deg,var(--color-pathway-stem),#5b21b6);color:#fff;box-shadow:0 1px 3px #4338ca33}.olp-btn-pathway-stem:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #4338ca59}.olp-btn-pathway-social{background:linear-gradient(135deg,var(--color-pathway-social),#0e7490);color:#fff;box-shadow:0 1px 3px #0891b233}.olp-btn-pathway-social:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #0891b259}.olp-btn-pathway-arts{background:linear-gradient(135deg,var(--color-pathway-arts),#7e22ce);color:#fff;box-shadow:0 1px 3px #a855f733}.olp-btn-pathway-arts:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #a855f759}.olp-btn-icon{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--color-neutral-0,white);width:34px;height:34px;color:var(--color-neutral-600);cursor:pointer;font-family:var(--font-body);justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.olp-btn-icon:hover{background:var(--color-neutral-100,#f1f5f9);border-color:var(--color-neutral-300);color:var(--color-primary);transform:scale(1.05);box-shadow:0 2px 6px #00000014}.olp-btn-xs{border-radius:var(--radius-sm);gap:4px;height:24px;padding:0 8px;font-size:11px}.olp-btn-xl{height:56px;padding:0 var(--space-5,32px);font-size:var(--text-lg,18px);border-radius:var(--radius-md)}.olp-btn-icon-sm{border-radius:var(--radius-sm);width:32px;height:32px;padding:0}.olp-btn-icon-xs{border-radius:var(--radius-sm);width:24px;height:24px;padding:0;font-size:12px}.olp-btn-icon-lg{border-radius:var(--radius-md);width:48px;height:48px;padding:0}.olp-btn-success{color:#fff;background:linear-gradient(135deg,#059669 0%,#10b981 100%);box-shadow:0 1px 3px #05966933}.olp-btn-success:hover:not(:disabled){background:linear-gradient(135deg,#10b981 0%,#059669 100%);transform:translateY(-1px);box-shadow:0 4px 14px #05966959}.olp-btn-success:active:not(:disabled){box-shadow:none;transform:scale(.97)translateY(0)}.olp-btn-success-outline{color:#059669;background:0 0;border-color:#059669}.olp-btn-success-outline:hover:not(:disabled){color:#fff;background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #05966940}.olp-btn-success-outline:active:not(:disabled){background:#047857;transform:scale(.97)}.olp-btn-warning{color:#fff;background:linear-gradient(135deg,#d97706 0%,#f59e0b 100%);box-shadow:0 1px 3px #d9770633}.olp-btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);transform:translateY(-1px);box-shadow:0 4px 14px #d9770659}.olp-btn-warning:active:not(:disabled){box-shadow:none;transform:scale(.97)translateY(0)}.olp-btn-warning-outline{color:#d97706;background:0 0;border-color:#d97706}.olp-btn-warning-outline:hover:not(:disabled){color:#fff;background:#d97706;transform:translateY(-1px);box-shadow:0 4px 12px #d9770640}.olp-btn-warning-outline:active:not(:disabled){background:#b45309;transform:scale(.97)}.olp-btn-destructive-outline{color:var(--color-danger);border-color:var(--color-danger);background:0 0}.olp-btn-destructive-outline:hover:not(:disabled){background:var(--color-danger);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #dc262640}.olp-btn-destructive-outline:active:not(:disabled){background:#b91c1c;transform:scale(.97)}.olp-btn-ai{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 50%,#9333ea 100%) 0 0/200% 200%;animation:3s infinite ai-shimmer;box-shadow:0 1px 3px #7c3aed33}@keyframes ai-shimmer{0%,to{background-position:0%}50%{background-position:100%}}.olp-btn-ai:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px #7c3aed66}.olp-btn-ai:active:not(:disabled){box-shadow:none;transform:scale(.97)translateY(0)}.olp-btn-glass{color:#fff;-webkit-backdrop-filter:blur(12px);background:#ffffff26;border-color:#ffffff40;box-shadow:0 1px 4px #00000014}.olp-btn-glass:hover:not(:disabled){background:#ffffff47;border-color:#fff6;transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.olp-btn-glass:active:not(:disabled){background:#ffffff1f;transform:scale(.97)translateY(0)}.olp-btn-link{color:var(--color-primary);background:0 0;border:none;height:auto;padding:0;font-weight:600;text-decoration:none}.olp-btn-link:hover:not(:disabled){color:#1a6b3c;text-decoration:underline}.olp-btn-ghost-destructive:hover:not(:disabled){color:var(--color-danger);background:#fef2f2}.olp-btn-full-width{width:100%}.olp-btn-rounded-full{border-radius:9999px}.olp-btn-rounded-none{border-radius:0}.btn-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.btn-icon-right{margin-left:2px}.olp-btn-badge{border-radius:var(--radius-full);color:currentColor;background:#ffffff40;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.olp-btn-loading{pointer-events:none}.olp-btn-loading .btn-text{opacity:.6}.olp-btn-spinner{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.olp-btn-loading:after{content:"";border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;width:20px;height:20px;animation:.6s linear infinite spin;position:absolute}.olp-btn-loading:has(.olp-btn-spinner):after{display:none}.olp-tooltip-wrapper{display:inline-flex;position:relative}.olp-tooltip{z-index:9999;white-space:nowrap;color:#fff;background:var(--color-neutral-800,#1f2937);border-radius:var(--radius-sm);pointer-events:none;padding:6px 10px;font-size:12px;font-weight:500;line-height:1.3;animation:.12s ease-out tooltipIn;position:absolute;box-shadow:0 4px 12px #00000026}.olp-tooltip-top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.olp-tooltip-bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.olp-tooltip-left{top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.olp-tooltip-right{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.olp-tooltip-arrow{background:var(--color-neutral-800,#1f2937);width:8px;height:8px;position:absolute;transform:rotate(45deg)}.olp-tooltip-top .olp-tooltip-arrow{margin-left:-4px;bottom:-4px;left:50%}.olp-tooltip-bottom .olp-tooltip-arrow{margin-left:-4px;top:-4px;left:50%}.olp-tooltip-left .olp-tooltip-arrow{margin-top:-4px;top:50%;right:-4px}.olp-tooltip-right .olp-tooltip-arrow{margin-top:-4px;top:50%;left:-4px}@keyframes tooltipIn{0%{opacity:0;transform:translate(-50%)scale(.95)}to{opacity:1;transform:translate(-50%)scale(1)}}.olp-tooltip-left,.olp-tooltip-right{animation-name:tooltipInY}@keyframes tooltipInY{0%{opacity:0;transform:translateY(-50%)scale(.95)}to{opacity:1;transform:translateY(-50%)scale(1)}}.olp-modal-footer{padding-top:var(--space-2);margin-top:var(--space-3);border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:12px;display:flex}.olp-table-actions{opacity:0;align-items:center;gap:4px;transition:opacity .15s;display:flex}tr:hover .olp-table-actions,.olp-table-actions:focus-within{opacity:1}.olp-approval-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.olp-quick-action{padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--color-surface);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:8px;min-width:100px;transition:all .2s;display:flex}.olp-quick-action:hover{border-color:var(--color-primary-light,#00000026);background:var(--color-primary-surface,#f0faf3);transform:translateY(-4px);box-shadow:0 12px 24px #0000001f}.olp-quick-action:active{transform:translateY(-1px)scale(.98)}.olp-quick-action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.olp-quick-action-primary{border-color:var(--color-primary-light,#0000001a);background:var(--color-primary-surface,#f0faf3)}.olp-quick-action-icon{border-radius:var(--radius-sm);background:var(--color-primary-surface,#e8f5ec);width:40px;height:40px;color:var(--color-primary);justify-content:center;align-items:center;display:flex;position:relative}.olp-quick-action-badge{border-radius:var(--radius-full);background:var(--color-danger);color:#fff;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.olp-quick-action-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.olp-quick-action-desc{color:var(--color-neutral-500);font-size:11px;line-height:1.3}.olp-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-2);transition:box-shadow var(--duration-normal)var(--ease-standard),transform var(--duration-normal)var(--ease-standard)}.olp-card-default{box-shadow:var(--shadow-md)}.olp-card-elevated{box-shadow:var(--shadow-lg)}.olp-card-outlined{border:var(--border-width)solid var(--border-color);box-shadow:none}.olp-card-colored{background:var(--color-primary-surface)}.olp-card-pathway-stem{background:var(--color-pathway-stem-surface)}.olp-card-pathway-social{background:var(--color-pathway-social-surface)}.olp-card-pathway-arts{background:var(--color-pathway-arts-surface)}.olp-card.interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.olp-card.interactive:active{transform:scale(.98)}.olp-card-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.olp-card-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.olp-card-subtitle{font-size:var(--text-sm);color:var(--color-neutral-600);margin-top:2px}@media (min-width:640px){.olp-card{padding:var(--space-3)}}.olp-input-group{flex-direction:column;gap:6px;display:flex}.olp-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-700)}.olp-input{height:var(--touch-target-min);padding:0 var(--space-2);font-size:var(--text-base);border:var(--border-width)solid var(--border-color);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-neutral-900);transition:border-color var(--duration-fast),box-shadow var(--duration-fast);outline:none;width:100%}.olp-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-surface)}.olp-input.error{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-surface)}.olp-input.success{border-color:var(--color-success);box-shadow:0 0 0 3px var(--color-success-surface)}.olp-input-error{font-size:var(--text-xs);color:var(--color-danger);margin-top:4px}.olp-input-wrapper{align-items:center;display:flex;position:relative}.olp-input-wrapper .olp-input{padding-right:var(--space-6)}.olp-input-icon-left{left:var(--space-2);color:var(--color-neutral-400);pointer-events:none;position:absolute}.olp-input-icon-right{right:var(--space-2);color:var(--color-neutral-400);position:absolute}.olp-input-wrapper .olp-input-icon-left+.olp-input{padding-left:var(--space-5)}.olp-badge{font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-full);letter-spacing:.02em;transition:background-color var(--duration-normal)var(--ease-standard),color var(--duration-normal)var(--ease-standard);align-items:center;gap:4px;padding:3px 10px;line-height:1.4;display:inline-flex}.badge-stem{background:var(--color-pathway-stem-surface);color:var(--color-pathway-stem)}.badge-social{background:var(--color-pathway-social-surface);color:var(--color-pathway-social)}.badge-arts{background:var(--color-pathway-arts-surface);color:var(--color-pathway-arts)}.badge-ee{color:var(--color-ee);background:#e8f5e9}.badge-me{color:var(--color-me);background:#e3f2fd}.badge-ae{color:var(--color-ae);background:#fff3e0}.badge-be{color:var(--color-be);background:#ffebee}.badge-active{background:var(--color-success-surface);color:var(--color-success)}.badge-inactive{background:var(--color-neutral-200);color:var(--color-neutral-600)}.badge-pending{background:var(--color-warning-surface);color:var(--color-warning)}.stat-card{background:var(--color-surface);border-radius:var(--radius-md);border:var(--border-width)solid var(--border-color);padding:var(--space-2);align-items:center;gap:var(--space-2);display:flex}.stat-card-icon{width:var(--touch-target-min);height:var(--touch-target-min);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-card-icon.primary{background:var(--color-primary-surface);color:var(--color-primary)}.stat-card-icon.accent{background:var(--color-accent-surface);color:var(--color-accent)}.stat-card-icon.secondary{background:var(--color-secondary-surface);color:var(--color-secondary-dark)}.stat-card-icon.success{background:var(--color-success-surface);color:var(--color-success)}.stat-card-content{flex:1;min-width:0}.stat-card-label{font-size:var(--text-xs);color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--weight-medium)}.stat-card-value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-neutral-900);line-height:var(--leading-tight)}.stat-card-change{font-size:var(--text-xs);font-weight:var(--weight-medium);margin-left:var(--space-1);align-items:center;gap:2px;display:inline-flex}.stat-card-change.positive{color:var(--color-success)}.stat-card-change.negative{color:var(--color-danger)}.skeleton{background:linear-gradient(90deg,var(--color-neutral-200)25%,var(--color-neutral-100)50%,var(--color-neutral-200)75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-text:last-child{width:70%}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-card{border-radius:var(--radius-md);height:120px}.skeleton-stat{border-radius:var(--radius-md);height:80px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{padding:var(--space-8)var(--space-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{background:var(--color-neutral-100);border-radius:var(--radius-full);width:80px;height:80px;margin-bottom:var(--space-2);color:var(--color-neutral-400);justify-content:center;align-items:center;display:flex}.empty-state-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-neutral-800);margin-bottom:var(--space-1)}.empty-state-description{font-size:var(--text-sm);color:var(--color-neutral-500);max-width:320px;margin-bottom:var(--space-3)}.error-state{padding:var(--space-6)var(--space-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.error-state-icon{background:var(--color-danger-surface);border-radius:var(--radius-full);width:64px;height:64px;margin-bottom:var(--space-2);color:var(--color-danger);justify-content:center;align-items:center;display:flex}.olp-spinner{border:3px solid var(--color-neutral-200);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:.8s linear infinite spin}.olp-spinner-sm{border-width:2px;width:20px;height:20px}.olp-spinner-md{width:32px;height:32px}.olp-spinner-lg{border-width:4px;width:48px;height:48px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.progress-bar{background:var(--color-neutral-200);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-bar-fill{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow)var(--ease-decelerate)}.progress-bar-fill.stem{background:var(--color-pathway-stem)}.progress-bar-fill.social{background:var(--color-pathway-social)}.progress-bar-fill.arts{background:var(--color-pathway-arts)}.progress-bar-indeterminate .progress-bar-fill{width:40%;animation:indeterminate 1.5s infinite var(--ease-standard)}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.toast-container{top:var(--space-2);z-index:var(--z-toast);gap:var(--space-1);width:calc(100% - var(--space-4));flex-direction:column;max-width:400px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:toastIn var(--duration-normal)var(--ease-spring);display:flex;position:relative;overflow:hidden}.toast-success{background:var(--color-success-surface);color:var(--color-success);border:1px solid var(--color-success)}.toast-error{background:var(--color-danger-surface);color:var(--color-danger);border:1px solid var(--color-danger)}.toast-warning{background:var(--color-warning-surface);color:var(--color-warning);border:1px solid var(--color-warning)}.toast-info{background:var(--color-info-surface);color:var(--color-info);border:1px solid var(--color-info)}@keyframes toastIn{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes toastProgress{0%{width:100%}to{width:0%}}.modal-scrim{background:var(--color-surface-scrim);z-index:var(--z-modal);animation:fadeIn var(--duration-fast)var(--ease-standard);position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius-xl)var(--radius-xl)0 0;padding:var(--space-3);padding-bottom:calc(var(--space-3) + var(--safe-area-bottom));z-index:calc(var(--z-modal) + 1);max-height:90vh;animation:slideUp var(--duration-normal)var(--ease-decelerate);position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.modal-handle{background:var(--color-neutral-300);border-radius:var(--radius-full);width:40px;height:4px;margin:0 auto var(--space-2)}@media (min-width:640px){.modal-content{border-radius:var(--radius-xl);width:100%;max-width:480px;padding-bottom:var(--space-3);animation:scaleIn var(--duration-normal)var(--ease-spring);inset:50% auto auto 50%;transform:translate(-50%,-50%)}.modal-handle{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.accordion-item{border-bottom:var(--border-width)solid var(--border-color)}.accordion-trigger{width:100%;padding:var(--space-2)0;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-neutral-900);text-align:left;min-height:var(--touch-target-min);justify-content:space-between;align-items:center;display:flex}.accordion-trigger-icon{transition:transform var(--duration-normal)var(--ease-standard);color:var(--color-neutral-500)}.accordion-item[data-open=true] .accordion-trigger-icon{transform:rotate(180deg)}.accordion-content{max-height:0;transition:max-height var(--duration-normal)var(--ease-standard);overflow:hidden}.accordion-item[data-open=true] .accordion-content{max-height:500px}.accordion-content-inner{padding-bottom:var(--space-2);color:var(--color-neutral-700);font-size:var(--text-sm)}.grid{gap:var(--space-2);display:grid}.grid-1{grid-template-columns:1fr}@media (min-width:480px){.grid-sm-2{grid-template-columns:repeat(2,1fr)}}@media (min-width:640px){.grid-md-2{grid-template-columns:repeat(2,1fr)}.grid-md-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px){.grid-lg-2{grid-template-columns:repeat(2,1fr)}.grid-lg-3{grid-template-columns:repeat(3,1fr)}.grid-lg-4{grid-template-columns:repeat(4,1fr)}}.data-table-container{background:var(--color-surface);border-radius:var(--radius-md);border:var(--border-width)solid var(--border-color);display:none;overflow:visible}@media (min-width:768px){.data-table-container{display:block}}.data-table{border-collapse:collapse;width:100%}.data-table thead{background:var(--color-neutral-50);border-bottom:var(--border-width)solid var(--border-color)}.data-table th{padding:var(--space-1)var(--space-2);text-align:left;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.04em}.data-table td{padding:var(--space-1)var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-800);border-bottom:var(--border-width)solid var(--color-neutral-100)}.data-table tbody tr{transition:background var(--duration-fast)}.data-table tbody tr:hover{background:var(--color-neutral-50)}.data-cards{gap:var(--space-2);flex-direction:column;display:flex}@media (min-width:768px){.data-cards{display:none}}.avatar{border-radius:var(--radius-full);font-weight:var(--weight-semibold);color:var(--color-neutral-0);background:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-xs{width:24px;height:24px;font-size:10px}.avatar-sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar-md{width:40px;height:40px;font-size:var(--text-sm)}.avatar-lg{width:56px;height:56px;font-size:var(--text-lg)}.avatar-xl{width:72px;height:72px;font-size:var(--text-xl)}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-group{display:flex}.avatar-group .avatar{border:2px solid var(--color-surface);margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-muted{color:var(--color-neutral-600)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.w-full{width:100%}.auth-layout{background:var(--color-neutral-50);flex-direction:column;min-height:100dvh;display:flex}.auth-header{background:linear-gradient(135deg,var(--color-primary-dark)0%,var(--color-primary)50%,var(--color-primary-light)100%);padding:var(--space-4)var(--space-3);color:var(--color-neutral-0);text-align:center}.auth-header-logo{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-extrabold);margin-bottom:var(--space-1)}.auth-header-subtitle{font-size:var(--text-sm);opacity:.85}.auth-body{padding:var(--space-3);flex-direction:column;flex:1;align-items:center;display:flex}.auth-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-3);width:100%;max-width:400px;margin-top:calc(-1*var(--space-4));z-index:1;position:relative}@media (min-width:640px){.auth-card{padding:var(--space-4)}.auth-header{padding:var(--space-6)var(--space-4)}}.auth-footer{text-align:center;padding:var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-500)}.auth-footer a{color:var(--color-primary);font-weight:var(--weight-semibold)}.page-header{margin-bottom:var(--space-3)}.page-breadcrumb{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:4px}.page-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-extrabold);color:var(--color-neutral-900);line-height:var(--leading-tight);margin-bottom:4px}.page-subtitle{font-size:var(--text-sm);color:var(--color-neutral-500);line-height:var(--leading-normal)}.stat-cards-grid{gap:var(--space-2);grid-template-columns:1fr;display:grid}@media (min-width:480px){.stat-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.stat-cards-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.stat-card{box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal)var(--ease-standard),transform var(--duration-normal)var(--ease-standard)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.two-col{gap:var(--space-2);grid-template-columns:1fr;display:grid}@media (min-width:768px){.two-col{grid-template-columns:repeat(2,1fr)}}.three-col{gap:var(--space-2);grid-template-columns:1fr;display:grid}@media (min-width:640px){.three-col{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.three-col{grid-template-columns:repeat(3,1fr)}}.quick-action-link{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-color);color:inherit;transition:background var(--duration-fast),border-color var(--duration-fast);padding:12px;text-decoration:none;display:flex}.quick-action-link:hover{background:var(--color-neutral-50);border-color:var(--color-neutral-300)}.olp-card{box-shadow:var(--shadow-sm);border:var(--border-width)solid var(--border-color)}.olp-card:hover{box-shadow:var(--shadow-md)}.data-table-container{-webkit-overflow-scrolling:touch;border:none;display:block;overflow:visible}.data-table td,.data-table th{white-space:nowrap}@media (min-width:768px){.data-table td,.data-table th{white-space:normal}}.app-sidebar{background:var(--color-surface);border-right:var(--border-width)solid var(--border-color);width:260px;height:100vh;z-index:var(--z-sticky);flex-shrink:0;display:none;position:sticky;top:0;overflow-y:auto}.sidebar-overlay{z-index:999;background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.open{display:block}.app-sidebar.sidebar-mobile-open{z-index:1000;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-close-btn{border-radius:var(--radius-full);background:var(--color-neutral-100);width:28px;height:28px;color:var(--color-neutral-600);cursor:pointer;z-index:10;border:none;justify-content:center;align-items:center;display:none;position:absolute;top:12px;right:12px}.app-sidebar.sidebar-mobile-open .sidebar-close-btn{display:flex}.topbar-hamburger{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-neutral-700);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (min-width:1024px){.topbar-hamburger{display:none}.app-sidebar{flex-direction:column;display:flex}.app-shell{flex-direction:row}.app-content{padding-bottom:var(--space-3);flex:1;min-width:0;max-width:none}.app-bottom-nav{display:none}}.mobile-bottom-nav{background:var(--color-surface);border-top:var(--border-width)solid var(--border-color);height:56px;z-index:var(--z-sticky);padding-bottom:env(safe-area-inset-bottom,0);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav a{color:var(--color-neutral-500);font-size:10px;font-weight:var(--weight-medium);border-radius:var(--radius-sm);transition:color var(--duration-fast);flex-direction:column;align-items:center;gap:2px;padding:4px 12px;text-decoration:none;display:flex}.mobile-bottom-nav a.active,.mobile-bottom-nav a:hover{color:var(--color-accent)}@media (min-width:1024px){.mobile-bottom-nav{display:none}.app-content{padding-bottom:var(--space-3)}}@media (max-width:1023px){.app-content{padding-bottom:72px}}.sidebar-logo{align-items:center;gap:var(--space-1);padding:var(--space-2)var(--space-2);border-bottom:var(--border-width)solid var(--border-color);display:flex}.sidebar-logo-icon{background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sidebar-logo-text{flex-direction:column;display:flex}.sidebar-logo-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-neutral-900);line-height:1.2}.sidebar-logo-subtitle{font-size:var(--text-xs);color:var(--color-neutral-500)}.sidebar-nav{padding:var(--space-1)var(--space-1);flex:1;overflow-y:auto}.sidebar-section-label{font-size:10px;font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.1em;color:var(--color-neutral-400);padding:var(--space-2)var(--space-1)4px}.sidebar-nav-item{border-radius:var(--radius-sm);color:var(--color-neutral-700);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--duration-fast)var(--ease-standard),color var(--duration-fast);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:flex}.sidebar-nav-item:hover{background:var(--color-neutral-100);color:var(--color-neutral-900)}.sidebar-nav-item.active{background:var(--color-accent-surface);color:var(--color-accent);font-weight:var(--weight-semibold)}.sidebar-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;display:flex}.sidebar-footer{border-top:var(--border-width)solid var(--border-color);padding:var(--space-1)}.sidebar-user{padding:var(--space-1)12px;margin-top:var(--space-1);align-items:center;gap:10px;display:flex}.sidebar-user-avatar{border-radius:var(--radius-full);background:var(--color-accent);color:#fff;width:36px;height:36px;font-size:var(--text-xs);font-weight:var(--weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-900);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user-role{font-size:var(--text-xs);color:var(--color-neutral-500);text-transform:capitalize}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.page-header,.stat-card{animation:fadeInUp var(--duration-normal)var(--ease-decelerate)}.stat-card:nth-child(2){animation-delay:50ms}.stat-card:nth-child(3){animation-delay:.1s}.stat-card:nth-child(4){animation-delay:.15s}.olp-card{animation:fadeInUp var(--duration-normal)var(--ease-decelerate);animation-delay:80ms;animation-fill-mode:both}@media (min-width:1440px){.app-content{padding:var(--space-4);max-width:100%}}@media print{.app-sidebar,.app-bottom-nav,.app-top-bar{display:none!important}.app-content{max-width:100%;padding:0}.olp-card{box-shadow:none;break-inside:avoid;border:1px solid #ddd}}.olp-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px #1a6b3a26}.olp-btn-danger:focus-visible{outline-color:var(--color-danger);box-shadow:0 0 0 4px #d32f2f26}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.stagger-1{animation-delay:50ms!important}.stagger-2{animation-delay:.1s!important}.stagger-3{animation-delay:.15s!important}.stagger-4{animation-delay:.2s!important}.stagger-5{animation-delay:.25s!important}.stagger-6{animation-delay:.3s!important}.stagger-7{animation-delay:.35s!important}.stagger-8{animation-delay:.4s!important}.table-row-hover{transition:background var(--duration-fast)var(--ease-standard)}.table-row-hover:hover{background:var(--color-neutral-50)!important}.toast-dismissing{animation:toastOut var(--duration-fast)var(--ease-accelerate)forwards}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.progress-bar-fill-animated{transition:width .8s var(--ease-decelerate)}.tabular-nums{font-variant-numeric:tabular-nums}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}.pulse-dot{animation:pulse-dot 2s var(--ease-standard)infinite}@media (max-width:768px){.settings-layout{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:9999;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;padding:8px 20px;text-decoration:none;position:absolute;left:-9999px}.skip-link:focus{top:8px;left:50%;transform:translate(-50%)}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modalOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes pulse-animation{0%,to{opacity:1;box-shadow:0 0 #10b98166}50%{opacity:.8;box-shadow:0 0 0 6px #10b98100}}.pulse-animation{animation:2s ease-in-out infinite pulse-animation}.spin-animation{animation:1.5s linear infinite spin}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(135deg,#fff0 0%,#fff6 100%);transition:opacity .3s;position:absolute;inset:0}.stat-card:hover:after{opacity:1}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #0000001a,0 4px 10px -5px #0000000a}.health-bar{background:var(--color-neutral-100);border-radius:3px;height:6px;overflow:hidden}.health-bar-fill{border-radius:3px;height:100%;transition:width 1s ease-out}.health-bar-fill.excellent{background:linear-gradient(90deg,#10b981,#059669)}.health-bar-fill.warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.health-bar-fill.danger{background:linear-gradient(90deg,#ef4444,#dc2626)}.data-table-footer{border-top:1px solid var(--border-color);font-size:var(--text-xs);color:var(--color-neutral-500);background:var(--color-neutral-50);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.olp-btn-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-neutral-500);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.olp-btn-icon:hover{background:var(--color-neutral-100);color:var(--color-neutral-800);transform:scale(1.05)}.olp-card-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.olp-card-title{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-neutral-900);margin:0}.olp-card-subtitle{font-size:var(--text-xs);color:var(--color-neutral-500);margin:4px 0 0}.badge-stem{color:#7c3aed!important;background:#f3e8ff!important}.badge-c3{color:#0284c7!important;background:#e0f2fe!important}@keyframes drawerSlideIn{0%{opacity:.8;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.wizard-input:focus-within{box-shadow:0 0 0 3px #1a6b3a1a;border-color:var(--color-primary)!important}.chart-bar{border-radius:4px;transition:width 1s cubic-bezier(.4,0,.2,1)}@media (max-width:768px){.admin-modal-content{border-radius:0!important;max-width:100%!important;max-height:100vh!important;margin:0!important}}.admin-scroll::-webkit-scrollbar{width:6px}.admin-scroll::-webkit-scrollbar-track{background:0 0}.admin-scroll::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:3px}.admin-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.data-table th{background:var(--color-neutral-50);z-index:1;position:sticky;top:0}.data-table tbody tr{border-bottom:1px solid var(--color-neutral-100)}.data-table tbody tr:last-child{border-bottom:none}.olp-btn-text{color:var(--color-primary);font-weight:var(--weight-semibold);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:4px;padding:6px 12px;transition:background .2s,color .2s;display:inline-flex}.olp-btn-text:hover{background:var(--color-primary-surface,#1a6b3a14)}html.dark,html[data-theme=dark]{--color-surface:#0f172a;--color-surface-raised:#1e293b;--color-neutral-0:#0f172a;--color-neutral-50:#1e293b;--color-neutral-100:#334155;--color-neutral-200:#475569;--color-neutral-300:#64748b;--color-neutral-700:#cbd5e1;--color-neutral-800:#e2e8f0;--color-neutral-900:#f8fafc;--border-color:#334155;--color-primary-surface:#2e8b5726}html.dark .olp-card,html[data-theme=dark] .olp-card{background:var(--color-surface-raised);color:var(--color-neutral-800)}html.dark .app-layout,html[data-theme=dark] .app-layout{background:var(--color-neutral-0);color:var(--color-neutral-800)}.olp-kpi-strip{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.olp-kpi-strip .olp-card{padding:10px 12px!important}.olp-kpi-strip .olp-card [style*="fontSize: 22px"],.olp-kpi-strip .stat-card-value{line-height:1.2;font-size:18px!important}.olp-kpi-strip .stat-card-label,.olp-kpi-strip [style*="textTransform: uppercase"]{margin-bottom:2px!important;font-size:9px!important}.teacher-dashboard{gap:var(--space-3);flex-direction:column;display:flex}.teacher-dashboard-grid-2{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (min-width:900px){.teacher-dashboard-grid-2{grid-template-columns:1fr 1fr}}.teacher-section-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}.teacher-empty-inline{text-align:center;color:var(--color-neutral-500);flex-direction:column;justify-content:center;align-items:center;padding:12px 0;font-size:13px;display:flex}.teacher-inline-link{color:var(--color-primary);align-items:center;gap:4px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.teacher-inline-link:hover{text-decoration:underline}.teacher-schedule-list,.teacher-activity-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.teacher-schedule-item{border-radius:var(--radius-sm);background:var(--color-neutral-50);padding:10px 12px;font-size:13px}.teacher-schedule-item strong{margin-bottom:2px;display:block}.teacher-schedule-item span{color:var(--color-neutral-500);font-size:12px}.teacher-activity-item{border-bottom:1px solid var(--border-color);padding-bottom:10px;font-size:13px}.teacher-activity-item:last-child{border-bottom:none;padding-bottom:0}.teacher-activity-type{text-transform:capitalize;color:var(--color-neutral-500);font-size:11px}.teacher-activity-title{margin-top:2px;font-weight:600}.teacher-activity-time{color:var(--color-neutral-400);margin-top:2px;font-size:11px}.teacher-quick-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.teacher-quick-card{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--color-surface);color:inherit;text-align:center;flex-direction:column;align-items:center;padding:14px 10px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.teacher-quick-card:hover{box-shadow:var(--shadow-md);border-color:var(--quick-accent,#2563eb);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.teacher-quick-card:hover{border-color:color-mix(in srgb,var(--quick-accent,#2563eb)35%,var(--border-color))}}.teacher-quick-icon{background:var(--quick-accent,#2563eb);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:8px;display:flex}@supports (color:color-mix(in lab, red, red)){.teacher-quick-icon{background:color-mix(in srgb,var(--quick-accent,#2563eb)12%,transparent)}}.teacher-quick-icon{color:var(--quick-accent,#2563eb)}.teacher-quick-label{margin-bottom:2px;font-size:12px;font-weight:600}.teacher-quick-desc{color:var(--color-neutral-500);font-size:10px;line-height:1.35}.teacher-feature-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:640px){.teacher-feature-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.teacher-feature-grid{grid-template-columns:repeat(3,1fr)}}.teacher-feature-card{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--color-surface);min-height:148px;color:inherit;box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:18px 20px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.teacher-feature-card:hover{box-shadow:var(--shadow-md);border-color:var(--feature-accent,#2563eb);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.teacher-feature-card:hover{border-color:color-mix(in srgb,var(--feature-accent,#2563eb)40%,var(--border-color))}}.teacher-feature-card-icon{background:var(--feature-accent,#2563eb);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}@supports (color:color-mix(in lab, red, red)){.teacher-feature-card-icon{background:color-mix(in srgb,var(--feature-accent,#2563eb)10%,var(--color-neutral-50))}}.teacher-feature-card-title{font-size:var(--text-md);color:var(--color-neutral-900);font-weight:700}.teacher-feature-card-subtitle{color:var(--color-neutral-500);margin-top:2px;font-size:12px;line-height:1.45}.teacher-feature-card-progress{background:var(--color-neutral-100);border-radius:999px;height:4px;margin-top:10px;overflow:hidden}.teacher-feature-card-progress-fill{border-radius:999px;height:100%;transition:width .3s}.teacher-feature-card-footer{justify-content:space-between;align-items:center;margin-top:auto;padding-top:4px;display:flex}.teacher-feature-card-metric{color:var(--feature-accent,var(--color-primary));font-size:12px;font-weight:600}.teacher-feature-card-chevron{color:var(--color-neutral-400);flex-shrink:0}.teacher-feature-card:hover .teacher-feature-card-chevron{color:var(--feature-accent,var(--color-primary))}html.dark .teacher-schedule-item,html[data-theme=dark] .teacher-schedule-item{background:var(--color-neutral-100)}.portal-filter-bar{margin-bottom:var(--space-2);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:16px 20px!important}.portal-filter-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.portal-search{flex:280px;min-width:min(100%,220px);max-width:420px;position:relative}.portal-search .olp-input{border-color:var(--border-color);border-radius:10px;height:42px;padding:0 14px 0 40px;font-size:14px}@supports (color:color-mix(in lab, red, red)){.portal-search .olp-input{border-color:color-mix(in srgb,var(--border-color)80%,var(--color-neutral-300))}}.portal-search-icon{color:var(--color-neutral-400);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.portal-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:10px;min-width:148px;max-width:100%;height:42px;padding:0 36px 0 14px;font-size:14px}.portal-tab-group{background:var(--color-neutral-100);border:1px solid var(--border-color);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.portal-tab{min-height:36px;color:var(--color-neutral-600);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.portal-tab:hover{color:var(--color-neutral-900);background:var(--color-surface)}@supports (color:color-mix(in lab, red, red)){.portal-tab:hover{background:color-mix(in srgb,var(--color-surface)70%,transparent)}}.portal-tab-active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.portal-tab-count{background:var(--color-neutral-100);color:var(--color-neutral-600);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700}.portal-tab-active .portal-tab-count{background:var(--color-primary-surface);color:var(--color-primary)}.portal-list{flex-direction:column;gap:12px;display:flex}.portal-list-card{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-top:3px solid var(--card-accent,transparent);text-align:left;border-radius:14px;padding:18px 20px;transition:transform .15s,box-shadow .15s,border-color .15s}.portal-list-card-clickable{cursor:pointer;width:100%}.portal-list-card-clickable:hover,.portal-list-card:not(.portal-list-card-clickable):hover{box-shadow:var(--shadow-md);border-color:var(--card-accent,var(--color-primary));transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.portal-list-card-clickable:hover,.portal-list-card:not(.portal-list-card-clickable):hover{border-color:color-mix(in srgb,var(--card-accent,var(--color-primary))35%,var(--border-color))}}.portal-list-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.portal-list-card-leading{gap:14px;min-width:0;display:flex}.portal-list-card-icon{background:var(--color-neutral-100);width:52px;height:52px;color:var(--color-primary);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-list-card-title{font-family:var(--font-display);color:var(--color-neutral-900);margin:0;font-size:17px;font-weight:800;line-height:1.25}.portal-list-card-badges{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.portal-list-card-description{color:var(--color-neutral-600);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:12px;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.portal-list-card-meta{border-top:1px solid var(--border-color);color:var(--color-neutral-500);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding-top:14px;font-size:12px;display:flex}.portal-list-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.portal-tag{background:var(--color-neutral-100);color:var(--color-neutral-700);border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.portal-urgency{align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.portal-urgency-dot{background:currentColor;border-radius:999px;width:7px;height:7px}.portal-urgency-danger{color:var(--color-danger)}.portal-urgency-warning{color:var(--color-warning)}.portal-urgency-neutral{color:var(--color-neutral-500)}.portal-toast{bottom:calc(20px + var(--safe-area-bottom,0px));z-index:calc(var(--z-modal) + 2);box-shadow:var(--shadow-lg);animation:toastIn .25s var(--ease-decelerate);border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.portal-toast-success{background:var(--color-neutral-900);color:#fff}.portal-toast-info{background:var(--color-surface);color:var(--color-neutral-900);border:1px solid var(--border-color)}.portal-form-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.portal-form-field:last-child{margin-bottom:0}.portal-field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-500);font-size:11px;font-weight:700}.portal-field-hint{color:var(--color-neutral-500);font-size:12px}.portal-field-error{color:var(--color-danger);font-size:13px}.portal-textarea{resize:vertical;border-radius:10px;min-height:112px;line-height:1.5;height:auto!important;padding:12px 14px!important}.portal-char-count{text-align:right;color:var(--color-neutral-400);margin-top:4px;font-size:11px}.portal-dropzone{border:2px dashed var(--border-color);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:28px 20px;display:flex}@supports (color:color-mix(in lab, red, red)){.portal-dropzone{border:2px dashed color-mix(in srgb,var(--border-color)80%,var(--color-primary)20%)}}.portal-dropzone{background:var(--color-neutral-50);cursor:pointer;text-align:center;border-radius:14px;transition:border-color .15s,background .15s}.portal-dropzone:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.portal-dropzone:hover{border-color:color-mix(in srgb,var(--color-primary)45%,var(--border-color))}}.portal-dropzone:hover{background:var(--color-primary-surface)}.portal-dropzone-icon{color:var(--color-neutral-400)}.portal-dropzone-title{color:var(--color-neutral-900);margin:0;font-size:14px;font-weight:600}.portal-dropzone-hint{color:var(--color-neutral-500);margin:0;font-size:12px}.portal-file-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.portal-file-item{border:1px solid var(--border-color);background:var(--color-surface);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.portal-file-item-name{min-width:0;color:var(--color-neutral-800);align-items:center;gap:8px;display:flex}.portal-file-item-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-file-item-size{color:var(--color-neutral-400);flex-shrink:0}.portal-file-remove{width:32px;height:32px;color:var(--color-danger);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.portal-file-remove:hover{background:var(--color-danger-surface)}.portal-modal-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-500);margin:-4px 0 4px;font-size:11px;font-weight:700}.portal-modal-subtitle{margin-top:-6px!important;margin-bottom:16px!important}.portal-modal-body{flex-direction:column;gap:4px;display:flex}.portal-modal-footer{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.portal-banner{border:1px solid var(--border-color);margin-bottom:var(--space-2);border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.portal-banner-icon{flex-shrink:0;margin-top:1px}.portal-banner-title{color:var(--color-neutral-900);margin:0 0 4px;font-size:14px;font-weight:700}.portal-banner-text{color:var(--color-neutral-600);font-size:13px;line-height:1.45}.portal-banner-action{flex-shrink:0;margin-left:auto}.portal-banner-info{background:var(--color-info-surface)}@supports (color:color-mix(in lab, red, red)){.portal-banner-info{background:color-mix(in srgb,var(--color-info-surface)60%,var(--color-surface))}}.portal-banner-info{border-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.portal-banner-info{border-color:color-mix(in srgb,var(--color-info)25%,var(--border-color))}}.portal-banner-info .portal-banner-icon{color:var(--color-info)}.portal-banner-warning{background:var(--color-warning-surface)}@supports (color:color-mix(in lab, red, red)){.portal-banner-warning{background:color-mix(in srgb,var(--color-warning-surface)70%,var(--color-surface))}}.portal-banner-warning{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.portal-banner-warning{border-color:color-mix(in srgb,var(--color-warning)30%,var(--border-color))}}.portal-banner-warning .portal-banner-icon{color:var(--color-warning)}.portal-banner-success{background:var(--color-success-surface)}@supports (color:color-mix(in lab, red, red)){.portal-banner-success{background:color-mix(in srgb,var(--color-success-surface)70%,var(--color-surface))}}.portal-banner-success{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.portal-banner-success{border-color:color-mix(in srgb,var(--color-success)30%,var(--border-color))}}.portal-banner-success .portal-banner-icon{color:var(--color-success)}.portal-data-table-wrap{border:1px solid var(--border-color);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:14px;overflow:hidden}.portal-data-table{border-collapse:collapse;width:100%;font-size:14px}.portal-data-table thead{background:linear-gradient(180deg,var(--color-neutral-50),var(--color-surface))}.portal-data-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--color-neutral-500);border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:11px;font-weight:700}.portal-data-table td{border-bottom:1px solid var(--border-color);color:var(--color-neutral-800);padding:14px 16px}.portal-data-table tbody tr:last-child td{border-bottom:none}.portal-data-table-row-clickable{cursor:pointer;transition:background .12s}.portal-data-table-row-clickable:hover{background:var(--color-neutral-50)}.portal-data-cards{display:none}@media (max-width:767px){.portal-data-table-wrap{display:none}.portal-data-cards{flex-direction:column;gap:10px;display:flex}.portal-data-card-mobile{border:1px solid var(--border-color);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:14px;padding:14px 16px}.portal-search{max-width:none}}.portal-drawer-scrim{background:#17171773;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.portal-drawer-scrim{background:color-mix(in srgb,var(--color-neutral-900)45%,transparent)}}.portal-drawer-scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);animation:fadeIn var(--duration-fast)var(--ease-standard)}.portal-drawer{width:min(100%,var(--drawer-width,480px));background:var(--color-surface);z-index:calc(var(--z-modal) + 1);box-shadow:var(--shadow-xl);animation:portalDrawerIn .28s var(--ease-decelerate);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes portalDrawerIn{0%{opacity:.6;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.portal-drawer-header{border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--drawer-accent),var(--drawer-accent));justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.portal-drawer-header{background:linear-gradient(135deg,var(--drawer-accent),color-mix(in srgb,var(--drawer-accent)75%,#000))}}.portal-drawer-header{color:#fff}.portal-drawer-eyebrow{letter-spacing:.06em;text-transform:uppercase;opacity:.85;margin:0 0 4px;font-size:11px;font-weight:700}.portal-drawer-title{font-family:var(--font-display);margin:0;font-size:20px;font-weight:800;line-height:1.2}.portal-drawer-body{flex:1;padding:16px 20px 24px;overflow-y:auto}.portal-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-status-badge{text-transform:capitalize;background:var(--color-neutral-100);color:var(--color-neutral-700);border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.portal-status-badge-pending,.portal-status-badge-published{background:var(--color-warning-surface);color:var(--color-warning)}.portal-status-badge-submitted{color:#1e40af;background:#dbeafe}.portal-status-badge-graded,.portal-status-badge-paid,.portal-status-badge-active{background:var(--color-success-surface);color:var(--color-success)}.portal-status-badge-overdue,.portal-status-badge-due{background:var(--color-danger-surface);color:var(--color-danger)}.portal-rubric-badge{border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:800;display:inline-flex}.portal-rubric-ee{color:#065f46;background:#d1fae5}.portal-rubric-me{color:#1e40af;background:#dbeafe}.portal-rubric-ae{color:#92400e;background:#fef3c7}.portal-rubric-be{color:#991b1b;background:#fee2e2}.portal-section-panel{border:1px solid var(--border-color);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:14px;overflow:hidden}.portal-section-panel-header{border-bottom:1px solid var(--border-color);background:var(--color-neutral-50);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.portal-section-panel-title{color:var(--color-neutral-900);margin:0;font-size:14px;font-weight:700}.portal-section-panel-body{padding:16px 18px}.portal-meta-inline{color:var(--color-neutral-500);align-items:center;gap:6px;font-size:12px;display:inline-flex}.portal-highlight-card{color:#fff;box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--highlight-from,#0d1b3e),var(--highlight-to,#312e81));border-radius:16px;padding:20px 22px}.portal-kpi-inline{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.portal-kpi-inline-item{border:1px solid var(--border-color);background:var(--color-surface);border-radius:12px;padding:12px 14px}.portal-kpi-inline-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-500);font-size:10px;font-weight:700}.portal-kpi-inline-value{font-size:22px;font-weight:800;font-family:var(--font-display);color:var(--color-neutral-900);margin-top:4px}.portal-accordion{border:1px solid var(--border-color);background:var(--color-surface);border-radius:12px;overflow:hidden}.portal-accordion-item+.portal-accordion-item{border-top:1px solid var(--border-color)}.portal-accordion-trigger{background:var(--color-neutral-50);width:100%;color:var(--color-neutral-900);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:700;display:flex}.portal-accordion-body{border-top:1px solid var(--border-color);padding:14px 16px}.portal-timeline{padding-left:28px;position:relative}.portal-timeline:before{content:"";background:var(--color-neutral-200);border-radius:999px;width:2px;position:absolute;top:8px;bottom:8px;left:10px}.portal-timeline-item{padding-bottom:16px;position:relative}.portal-timeline-item:last-child{padding-bottom:0}.portal-timeline-dot{border:2px solid var(--color-surface);background:var(--timeline-accent,var(--color-primary));width:12px;height:12px;box-shadow:0 0 0 2px var(--timeline-accent,var(--color-primary));border-radius:999px;position:absolute;top:6px;left:-22px}@supports (color:color-mix(in lab, red, red)){.portal-timeline-dot{box-shadow:0 0 0 2px color-mix(in srgb,var(--timeline-accent,var(--color-primary))25%,transparent)}}.portal-timeline-card{border:1px solid var(--border-color);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:12px;padding:12px 14px}.portal-empty-inline{text-align:center;color:var(--color-neutral-500);padding:24px 16px;font-size:13px}.portal-loading-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.portal-loading-spinner{border:3px solid var(--color-neutral-200);border-top-color:var(--color-primary);border-radius:999px;width:40px;height:40px;animation:.8s linear infinite spin}@media (min-width:640px){.modal-content.modal-lg{max-width:560px}}@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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
