/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--spacing:.25rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.top-1\/2{top:50%}.right-3\.5{right:calc(var(--spacing) * 3.5)}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start: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}}.mt-4{margin-top:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.min-h-16{min-height:calc(var(--spacing) * 16)}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.appearance-none{appearance:none}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-6{gap:calc(var(--spacing) * 6)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:3.40282e+38px}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-\[Canvas\]{background-color:canvas}.bg-background{background-color:var(--background)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-2{padding:calc(var(--spacing) * 2)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-9{padding-right:calc(var(--spacing) * 9)}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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))}.leading-none{--tw-leading:1;line-height:1}.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)}.whitespace-nowrap{white-space:nowrap}.text-\[CanvasText\]{color:canvastext}.text-card-foreground{color:var(--card-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-sm,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;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))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[select\:disabled\]\:opacity-50:has(:is(select:disabled)){opacity:.5}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:py-1[data-size=sm]{padding-block:var(--spacing)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}@media (min-width:48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive) 40%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}:root{--radius:.5rem;--background:#0b0b0c;--foreground:#f1f1f2;--card:#111112;--card-foreground:#eceff3;--popover:#111112;--popover-foreground:#eceff3;--primary:#eceff3;--primary-foreground:#0b0b0c;--secondary:#181819;--secondary-foreground:#eceff3;--muted:#181819;--muted-foreground:#a1a1aa;--accent:#202023;--accent-foreground:#eceff3;--destructive:#ff6f7d;--border:#2a2a2d;--input:#2d2d31;--ring:#96969c;--sidebar:#09090a;--panel:#111112;--panel-soft:#181819;--panel-quiet:#0f0f10;--text:var(--foreground);--faint:#7d7d84;--line:var(--border);--line-strong:#434348;--blue:#72a7f7;--cyan:#4ecdc4;--green:#60d394;--amber:#f0b84f;--violet:#c197ff;--shadow-soft:0 18px 42px #00000038}*{box-sizing:border-box}html{min-width:320px}body,html{background:var(--background)}body{color:var(--text);text-rendering:geometricprecision;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.48}button,input,select,textarea{font:inherit}button{cursor:pointer}a,button,input,select,textarea{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}[data-slot=badge][data-variant=outline]{color:#eef3ff;background:#f0f2f511;border-color:#f0f2f529;font-weight:720}[data-slot=badge][data-variant=outline] svg{color:currentColor}input,select,textarea{width:100%;min-width:0;color:var(--text);background:var(--panel-quiet);border:1px solid var(--line);border-radius:7px;outline:0}textarea{resize:vertical;min-height:56px}input::placeholder,textarea::placeholder{color:#7d7d84}::selection{color:var(--background);background:var(--green)}*{scrollbar-color:#3d4652 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#37373b padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#505056 padding-box padding-box;border:3px solid #0000}input:focus,select:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 2px #96969c24}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #96969c80}h1,h2,h3,p{margin-top:0}h1{font-size:1rem;font-weight:740;line-height:1}h1,h2{margin-bottom:0}h2{font-size:1.24rem;font-weight:760;line-height:1.12}h3{margin-bottom:0;font-size:.92rem;font-weight:720}.app-frame{grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.left-menu{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;gap:14px;height:100vh;padding:16px 12px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.main-content{min-width:0;padding:16px 18px 28px}.brand-lockup,.item-title-row,.section-heading,.topbar,.topbar-actions{align-items:center;display:flex}.brand-lockup{border-bottom:1px solid var(--line);gap:8px;min-width:0;padding:2px 4px 14px;display:grid}.semester-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.semester-card h1{font-size:1.18rem}.semester-countdown{justify-items:end;gap:1px;min-width:58px;display:grid}.semester-countdown strong{color:var(--green);font-variant-numeric:tabular-nums;font-size:1.18rem;font-weight:820;line-height:1}.semester-countdown span,.semester-deadline span{color:var(--faint);text-transform:uppercase;font-size:.64rem;font-weight:720}.semester-deadline{background:#f0f2f50a;border:1px solid #f0f2f514;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;min-height:28px;padding:0 8px;display:flex}.semester-deadline strong{color:var(--text);font-size:.74rem;font-weight:780}.eyebrow{color:var(--faint);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.66rem;font-weight:680}.dashboard-page,.menu-stack,.subject-nav-list,.unit-stack{gap:8px;display:grid}.menu-label{color:var(--faint);text-transform:uppercase;margin:10px 6px 0;font-size:.68rem;font-weight:680}.menu-link[data-slot=button]{min-height:38px;justify-content:flex-start;gap:9px;padding-inline:11px;font-weight:640;display:flex}.menu-link[data-slot=button],.subject-nav-item[data-slot=button]{width:100%;color:inherit;background:0 0;border:1px solid #0000;border-radius:7px}.subject-nav-item[data-slot=button]{min-height:56px;text-align:left;grid-template-columns:4px minmax(0,1fr) auto;justify-content:stretch;gap:10px;padding:9px 10px;display:grid}.menu-link.active,.subject-nav-item.active{border-color:var(--line);background:#f0f2f512}.menu-link:hover,.subject-nav-item:hover{background:#f0f2f50b;border-color:#f0f2f514}.menu-link.active{color:var(--text);box-shadow:inset 3px 0 0 var(--green)}.subject-nav-item.active{box-shadow:inset 0 0 0 1px #f0f2f506}.subject-dot{border-radius:4px;width:4px;height:32px}.subject-meta{min-width:0}.subject-meta small,.subject-meta strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.progress-number,.subject-meta small{color:var(--muted-foreground);font-size:.74rem}.subject-meta small{margin-top:4px}.progress-number{font-weight:680}.topbar{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;justify-content:space-between;align-items:stretch;gap:12px;margin-bottom:14px;padding:9px}.topbar-copy{align-content:center;gap:2px;min-width:170px;padding-left:2px;display:grid}.topbar-copy h2{letter-spacing:0;font-size:1.16rem}.topbar-actions{flex-wrap:nowrap;flex:auto;justify-content:flex-end;gap:8px;width:auto;min-width:0}.header-tools{margin-left:0;display:flex}.header-tools,.sync-indicator{flex:none;align-items:center;gap:7px}.sync-indicator{min-height:32px;color:var(--amber);background:#f0b84f1f;border:1px solid #f0b84f3d;border-radius:7px;padding:0 10px;font-size:.74rem;font-weight:720;display:inline-flex}.logout-button,.passkey-button{min-height:34px;color:var(--muted-foreground);border:1px solid var(--line);border-radius:999px;flex:none;padding:0}.header-icon-button{background:#f0f2f50e;border-color:#f0f2f524;width:34px;height:34px}.header-icon-button:hover{color:var(--text);background:#f0f2f518;border-color:#f0f2f538}.passkey-button{color:var(--green);background:#60d3941f;border-color:#60d3944d}.spin-icon{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.live-panel{flex:auto;justify-content:flex-end;gap:6px;min-width:0;margin-left:0;display:flex}.login-page{background:var(--background);place-items:center;min-height:100vh;padding:22px;display:grid;position:relative}.login-surface{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:min(360px,100%);display:grid;overflow:hidden;box-shadow:0 18px 60px #00000047}.login-form{gap:16px;padding:20px;display:grid}.login-actions{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.field-stack{color:var(--muted-foreground);gap:7px;font-size:.78rem;font-weight:720;display:grid}.login-error{color:#ffe0e2;background:#ff6f7d1f;border:1px solid #ff6f7d3d;border-radius:7px;margin:0;padding:9px 10px}.login-submit{width:100%}.login-secondary{min-width:116px;color:var(--green);background:#60d39414;border:1px solid #60d39433}.class-card,.clock-card{background:var(--panel-quiet);border:1px solid var(--line);border-radius:8px;align-content:center;gap:3px;min-width:0;min-height:48px;padding:7px 9px;display:grid}.clock-card{text-align:center;flex:0 0 158px;justify-items:center}.class-card{flex:0 1 clamp(300px,calc(var(--class-card-flex,1) * 245px),390px);grid-template-columns:60px minmax(0,1fr);align-content:center;align-items:center;gap:8px}.class-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;font-size:.8rem;font-weight:700;line-height:1.14;display:block;overflow:hidden}.clock-time{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:0;justify-content:center;align-items:baseline;gap:1px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.88rem;font-weight:800;line-height:1;display:inline-flex}.class-card span,.clock-card span{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:620;overflow:hidden}.clock-card span{max-width:100%;color:var(--faint);border-top:0;padding-top:0;font-size:.66rem;font-weight:700}.class-card-label,.class-card-main{gap:3px;min-width:0;display:grid}.class-card-label{align-content:center}.class-card-label [data-slot=badge]{color:#eef3ff;background:#72a7f71f;border-color:#72a7f742;border-radius:5px;width:fit-content;height:18px;padding:0 6px;font-size:.58rem}.class-card-label small{color:var(--text);text-overflow:clip;white-space:normal;overflow-wrap:anywhere;font-size:.66rem;font-weight:720;line-height:1.15;overflow:visible}.class-card.is-live{background:var(--panel-quiet);border-color:#60d3944d}.dashboard-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.dashboard-shortcuts{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:-4px;display:flex}.academy-button[data-slot=button],.cuims-button[data-slot=button]{min-height:32px;padding-inline:10px}.academy-button[data-slot=button]{color:#f0b84f;background:#f0b84f0b;border-color:#f0b84f3d}.academy-button[data-slot=button]:hover{color:#ffd38a;background:#f0b84f14;border-color:#f0b84f61}.cuims-button[data-slot=button]{color:#72a7f7;background:#72a7f70b;border-color:#72a7f73d}.cuims-button[data-slot=button]:hover{color:#a9c9ff;background:#72a7f714;border-color:#72a7f761}.copy-message-button[data-slot=button]{flex:none;width:fit-content;min-height:30px;padding-inline:9px;font-size:.74rem}.mini-progress{background:var(--panel-quiet);border:1px solid var(--line);border-radius:999px;width:100%;height:6px;overflow:hidden}.mini-progress span{background:var(--green);border-radius:inherit;height:100%;display:block}.coverage-dashboard,.coverage-page{gap:10px;display:grid}.tomorrow-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:13px;overflow:hidden}.tomorrow-grid{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:10px;display:grid}.day-view-actions,.view-switcher{justify-content:flex-end;align-items:center;gap:6px;display:flex}.day-view-actions{flex-wrap:wrap}.view-switcher{background:var(--panel-quiet);border:1px solid var(--line);border-radius:8px;padding:2px}.view-switcher .ghost-button[data-slot=button]{border-color:#0000;min-height:28px;padding-inline:9px;font-size:.72rem}.view-switcher .ghost-button.active[data-slot=button]{border-color:var(--line);background:#f0f2f514}.date-view-input{width:142px;min-height:32px;font-size:.74rem}.tomorrow-column{align-content:start;gap:8px;min-width:0;display:grid}.mini-heading{color:var(--muted-foreground);text-transform:uppercase;align-items:center;gap:7px;font-size:.72rem;font-weight:720;display:flex}.tomorrow-list{gap:8px;display:grid}.tomorrow-check-group,.tomorrow-class-row{background:var(--panel-quiet);border:1px solid var(--line);border-radius:8px;min-width:0}.tomorrow-class-row{grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;display:grid}.tomorrow-class-row .subject-dot{height:30px}.tomorrow-check-head small,.tomorrow-check-head strong,.tomorrow-check-item small,.tomorrow-check-item span,.tomorrow-class-row small,.tomorrow-class-row strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.tomorrow-check-head strong,.tomorrow-check-item span,.tomorrow-class-row strong{color:var(--text);font-size:.82rem;font-weight:700}.tomorrow-check-head small,.tomorrow-check-item small,.tomorrow-class-row small{color:var(--muted-foreground);margin-top:3px;font-size:.72rem;font-weight:620}.tomorrow-check-group{overflow:hidden}.tomorrow-check-head{border-bottom:1px solid var(--line);grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.tomorrow-check-head .subject-dot{height:24px}.tomorrow-check-items{display:grid}.tomorrow-check-item{border-bottom:1px solid var(--line);min-width:0;padding:8px 10px}.tomorrow-check-item:last-child{border-bottom:0}.empty-compact{min-height:54px;color:var(--muted-foreground);background:var(--panel-quiet);border:1px dashed var(--line);border-radius:8px;place-items:center;font-size:.78rem;font-weight:640;display:grid}.coverage-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:13px;overflow:hidden;box-shadow:inset 0 1px #ffffff06}.coverage-dialog-body,.coverage-table-wrap{overflow-x:auto}.coverage-dialog-body{overscroll-behavior:contain;min-height:0;overflow-y:auto}.coverage-table{border-collapse:collapse;width:100%;min-width:840px}.coverage-table th{height:38px;color:var(--faint);background:var(--panel-quiet);border-bottom:1px solid var(--line);text-align:left;text-transform:uppercase;padding:0 12px;font-size:.68rem;font-weight:680}.coverage-table td{color:var(--text);border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 12px}.coverage-table tr:last-child td{border-bottom:0}.coverage-subject-cell{grid-template-columns:4px minmax(0,1fr);align-items:center;gap:9px;min-width:170px;display:grid}.coverage-subject-cell .subject-dot{height:30px}.coverage-subject-cell small,.coverage-subject-cell strong,.unit-name-cell small,.unit-name-cell strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.coverage-subject-cell strong,.unit-name-cell strong{font-size:.82rem;font-weight:700}.coverage-empty,.coverage-subject-cell small,.unit-name-cell small{color:var(--muted-foreground);margin-top:3px;font-size:.72rem;font-weight:620}.unit-name-cell{width:180px}.progress-cell{gap:4px;width:104px;display:grid}.progress-cell strong{color:var(--text);font-size:.78rem;font-weight:740}.progress-cell small{color:var(--muted-foreground);font-size:.7rem;font-weight:650}.done-mark{border-radius:6px;place-items:center;width:24px;height:24px;margin-inline:auto;font-size:1rem;font-weight:780;line-height:1;display:inline-grid}.done-mark.done{color:var(--green);background:#60d39424}.done-mark.pending{color:var(--destructive);background:#ff6f7d1f}.coverage-dialog{background:var(--panel);border:1px solid var(--line-strong);border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);max-height:min(760px,100vh - 36px);display:grid;overflow:hidden}.unit-dialog-table{min-width:1020px}.unit-dialog-table td:nth-child(n+5),.unit-dialog-table th:nth-child(n+5){text-align:center}.panel-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.panel-heading h2{font-size:1rem}.subject-chart-panel{min-height:300px}.chart-placeholder{min-height:190px;color:var(--muted-foreground);background:var(--panel-quiet);border:1px dashed var(--line);border-radius:8px;place-items:center;font-size:.8rem;font-weight:640;display:grid}.unit-coverage-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.unit-coverage-subject{background:var(--panel-quiet);border:1px solid var(--line);border-radius:8px;gap:10px;min-width:0;padding:11px;display:grid}.unit-coverage-subject:hover{border-color:#f0f2f524}.unit-coverage-subject-head{grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.unit-coverage-subject-head .subject-dot{height:24px}.unit-coverage-subject-head small,.unit-coverage-subject-head strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.unit-coverage-subject-head strong{font-size:.82rem}.unit-coverage-subject-head small{color:var(--muted-foreground);font-size:.68rem;font-weight:680}.unit-coverage-bars,.unit-coverage-row{gap:8px;display:grid}.unit-coverage-row{grid-template-columns:44px minmax(0,1fr) 36px;align-items:center}.unit-coverage-row span,.unit-coverage-row strong{color:var(--muted-foreground);white-space:nowrap;font-size:.7rem;font-weight:700}.unit-coverage-row strong{color:var(--text);text-align:right}.unit-bar{border:1px solid var(--line);background:#f0f2f50f;border-radius:999px;height:7px;overflow:hidden}.unit-bar i{border-radius:inherit;height:100%;display:block}.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;min-height:64px;padding:10px 12px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff06}.metric-icon{background:0 0;border:0;border-radius:0;flex:0 0 22px;justify-content:center;place-items:center;width:22px;height:22px;display:flex}.metric-icon svg{stroke-width:2.2px;width:20px;height:20px}.metric-card p{color:var(--muted-foreground);text-transform:uppercase;margin-bottom:3px;font-size:.69rem;font-weight:700}.metric-card strong{color:var(--text);font-size:1.42rem;font-weight:800;line-height:1}.metric-card.blue .metric-icon{color:var(--blue)}.metric-card.amber .metric-icon{color:var(--amber)}.metric-card.cyan .metric-icon{color:var(--cyan)}.metric-card.green .metric-icon{color:var(--green)}.metric-card.violet .metric-icon{color:var(--violet)}.metric-card.red .metric-icon{color:var(--destructive)}.subjects-page,.timetable-page,.work-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;box-shadow:inset 0 1px #ffffff06}.subject-panel{padding:0}.subjects-compact-header,.subjects-page{gap:10px;padding:10px;display:grid}.subjects-compact-header{background:var(--panel-quiet);border:1px solid var(--line);border-radius:7px;grid-template-columns:minmax(190px,1fr) minmax(420px,560px);align-items:stretch}.subjects-compact-header h2{margin-top:2px;font-size:1.04rem}.subjects-summary-strip{border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.subjects-summary-strip div{border-right:1px solid var(--line);background:#f0f2f507;align-content:center;gap:3px;min-height:54px;padding:8px 10px;display:grid}.subjects-summary-strip div:last-child{border-right:0}.subjects-summary-strip span{color:var(--muted-foreground);text-transform:uppercase;font-size:.66rem;font-weight:720}.subjects-summary-strip strong{color:var(--text);font-size:1rem;font-weight:800;line-height:1}.subjects-table-wrap{background:var(--panel-quiet);border:1px solid var(--line);border-radius:7px;overflow-x:auto}.subjects-table{border-collapse:collapse;width:100%;min-width:850px}.subjects-table th{height:34px;color:var(--faint);border-bottom:1px solid var(--line);text-align:left;text-transform:uppercase;background:#f0f2f50a;padding:0 10px;font-size:.68rem;font-weight:680}.subjects-table td{height:58px;color:var(--text);border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:8px 10px}.subjects-table tr:last-child td{border-bottom:0}.acadex-table tbody tr:hover td,.coverage-table tbody tr:hover td,.subjects-table tbody tr:hover td{background:#f0f2f507}.subjects-name-cell{min-width:330px}.subjects-name-cell button{max-width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:4px minmax(0,1fr);align-items:center;gap:9px;padding:0;display:inline-grid}.subjects-name-cell strong{font-size:.82rem}.subjects-name-cell small,.subjects-name-cell strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.subjects-name-cell small{color:var(--muted-foreground);margin-top:3px;font-size:.7rem;font-weight:700}.faculty-cell{gap:3px;display:grid}.faculty-cell span,.faculty-cell strong{display:block}.faculty-cell strong{color:var(--text);font-weight:680}.faculty-cell span{color:var(--muted-foreground);font-size:.76rem}.theory-progress{gap:4px;width:86px;display:grid}.theory-progress strong{color:var(--text);font-size:.82rem}.theory-empty,.theory-progress small{color:var(--muted-foreground);font-size:.72rem;font-weight:620}.subject-work-cell{gap:5px;width:76px;display:grid}.subject-work-cell strong{color:var(--text);font-size:.8rem;font-weight:760}.section-heading{justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading h2{font-size:1.06rem}.work-panel>.section-heading{background:var(--panel-quiet);border:1px solid var(--line);border-radius:8px 8px 0 0;margin:-1px -1px 10px;padding:10px 11px}.work-filters{justify-content:flex-end;align-items:center;gap:8px;width:min(670px,100%);display:flex}.work-filters [data-slot=native-select-wrapper]{flex:0 0 170px}.copy-date-toggle{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--muted-foreground);white-space:nowrap;border-radius:7px;flex:none;align-items:center;gap:7px;padding:0 10px;font-size:.74rem;font-weight:680;display:inline-flex}.copy-date-toggle input{width:14px;min-width:14px;height:14px;accent-color:var(--green)}.focus-list{border:1px solid var(--line);border-radius:7px;gap:0}.focus-item,.focus-list{display:grid;overflow:hidden}.focus-item{background:var(--panel-quiet);border-bottom:1px solid var(--line);grid-template-columns:3px minmax(0,1fr) minmax(132px,190px);align-items:center;gap:9px;min-height:56px;padding:7px 9px}.focus-item:hover{background:#f0f2f50b}.focus-item.bucket-overdue{background:#ff6f7d2b;border-color:#ff6f7d47;box-shadow:inset 0 0 0 1px #ff6f7d6b}.focus-item.bucket-overdue:hover{background:#ff6f7d38}.focus-item.bucket-overdue .color-pin{background:var(--destructive)!important}.focus-item.bucket-overdue .item-title-row h3{color:var(--destructive)}.focus-item.bucket-overdue .due-stack span,.focus-item.bucket-overdue .queue-main p,.focus-item.bucket-overdue .queue-main small{color:#ffd6dc}.focus-item:last-child{border-bottom:0}.color-pin{border-radius:999px;width:3px;height:32px}.item-title-row{gap:7px;min-width:0}.item-title-row>div,.queue-main{min-width:0}.due-stack span,.item-title-row h3,.queue-main p,.queue-main small{text-overflow:ellipsis;overflow:hidden}.item-title-row h3{color:var(--text);white-space:nowrap;font-size:.82rem;line-height:1.18}.queue-main p,.queue-main small{color:var(--muted-foreground);white-space:nowrap;margin:2px 0 0;font-size:.72rem;line-height:1.2;display:block}.due-stack{text-align:right;min-width:0}.due-stack strong{color:var(--text);font-size:.82rem;font-weight:780}.due-stack span,.due-stack strong{display:block}.due-stack span{color:var(--muted-foreground);white-space:nowrap;margin-top:3px;font-size:.7rem}.due-stack .due-relative{color:var(--muted-foreground);font-weight:650}.due-stack .due-relative.is-today{color:var(--amber)}.due-stack .due-relative.is-soon{color:var(--blue)}.due-stack .due-relative.is-overdue{color:var(--destructive)}.due-stack .due-bucket{color:#d7d9dd;background:#f0f2f50f;border:1px solid #f0f2f524;border-radius:999px;justify-content:center;align-items:center;width:fit-content;margin:0 0 4px auto;padding:1px 6px;font-size:.62rem;font-weight:760;line-height:1.15;display:inline-flex}.due-stack .due-bucket.this-week{color:var(--amber);background:#f0b84f24;border-color:#f0b84f6b}.due-stack .due-bucket.next-week{color:var(--blue);background:#72a7f721;border-color:#72a7f761}.due-stack .due-bucket.future{color:var(--green);background:#60d39421;border-color:#60d39461}.due-stack .due-bucket.overdue{color:var(--destructive);background:#ff6f7d24;border-color:#ff6f7d70}.due-stack .due-bucket.no-date{color:var(--muted-foreground)}.focus-item.bucket-this-week .due-stack strong{color:var(--amber)}.focus-item.bucket-next-week .due-stack strong{color:var(--blue)}.focus-item.bucket-future .due-stack strong{color:var(--green)}.focus-item.bucket-overdue .due-stack strong{color:var(--destructive)}.empty-state{min-height:86px;color:var(--muted-foreground);background:var(--panel-quiet);justify-content:center;align-items:center;gap:8px;display:flex}.dashboard-side-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;display:grid}.dashboard-work{border-color:#72a7f72e}.dashboard-work .section-heading{background:#101011}.panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.compact-button[data-slot=button]{min-height:30px;padding-inline:9px;font-size:.74rem}.reminder-list{gap:7px;display:grid}.compact-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:214px;padding-right:4px;overflow-y:auto}.compact-list::-webkit-scrollbar{width:7px}.compact-list::-webkit-scrollbar-track{background:0 0}.compact-list::-webkit-scrollbar-thumb{background:#f0f2f524;border-radius:999px}.compact-list::-webkit-scrollbar-thumb:hover{background:#f0f2f53d}.reminder-item{background:#f0f2f507;border:1px solid #f0f2f513;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(110px,auto) 30px;align-items:center;gap:9px;min-height:56px;padding:8px 9px;display:grid}.reminder-item.today{background:#ff6f7d0b;border-color:#ff6f7d3d}.reminder-item.today .reminder-copy strong,.reminder-item.today .reminder-date strong{color:var(--destructive)}.reminder-item.later,.reminder-item.tomorrow{background:#f0f2f507;border-color:#f0f2f513}.reminder-copy{min-width:0}.reminder-copy p,.reminder-copy strong,.reminder-date span,.reminder-date strong{text-overflow:ellipsis;overflow:hidden}.reminder-copy strong{color:var(--text);white-space:nowrap;font-size:.84rem;font-weight:760;display:block}.reminder-copy p{color:var(--muted-foreground);white-space:nowrap;margin:2px 0 0;font-size:.74rem}.reminder-date{text-align:right;min-width:0}.reminder-date span,.reminder-date strong{white-space:nowrap;display:block}.reminder-date strong{color:var(--text);font-size:.76rem;font-weight:760}.reminder-date span{margin-top:3px;font-size:.72rem}.reminder-date span,.reminder-edit{color:var(--muted-foreground)}.event-item{background:#f0f2f507;border:1px solid #f0f2f513;border-radius:8px;grid-template-columns:46px minmax(0,1fr) minmax(88px,auto) 30px;align-items:center;gap:9px;min-height:60px;padding:7px 8px;display:grid}.event-item,.event-item.event-category-holiday{--event-accent:var(--green);--event-accent-border:#60d3943d}.event-item.event-category-mst{--event-accent:var(--amber);--event-accent-border:#f0b84f45}.event-item.event-category-exam{--event-accent:var(--destructive);--event-accent-border:#ff6f7d45}.event-item.event-category-event{--event-accent:#a88cff;--event-accent-border:#a88cff42}.event-item.later,.event-item.today,.event-item.tomorrow{background:#f0f2f507;border-color:#f0f2f513}.event-date-card{border:1px solid var(--event-accent-border);background:#0b0b0c4d;border-radius:7px;align-content:center;justify-items:center;width:46px;height:46px;display:grid}.event-date-card strong{color:var(--event-accent);font-size:1.04rem;font-weight:800;line-height:1}.event-date-card span{color:var(--event-accent);margin-top:3px}@supports (color:color-mix(in lab,red,red)){.event-date-card span{color:color-mix(in srgb,var(--event-accent) 76%,var(--muted-foreground))}}.event-date-card span{text-transform:uppercase;font-size:.66rem;font-weight:780}.event-item.later .event-date-card,.event-item.today .event-date-card,.event-item.tomorrow .event-date-card{border-color:var(--event-accent-border);background:#0b0b0c4d}.event-copy{min-width:0}.event-copy p,.event-copy span,.event-copy strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.event-copy span{border:1px solid var(--event-accent-border);width:fit-content;color:var(--event-accent);background:0 0;border-radius:999px;padding:1px 6px;font-size:.66rem;font-weight:760}.event-copy strong{color:var(--text);margin-top:2px;font-size:.83rem;font-weight:760}.event-copy p{color:var(--muted-foreground);margin-top:3px;font-size:.74rem}.event-item.later .event-copy span,.event-item.later .event-date strong,.event-item.later .event-date-card strong,.event-item.today .event-copy span,.event-item.today .event-date strong,.event-item.today .event-date-card strong,.event-item.tomorrow .event-copy span,.event-item.tomorrow .event-date strong,.event-item.tomorrow .event-date-card strong{color:var(--event-accent)}.list-dialog{width:min(720px,100%)}.list-dialog-body{gap:8px;max-height:min(620px,100vh - 150px);padding:14px;display:grid;overflow-y:auto}.subject-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;padding:0 0 14px;display:flex}.subject-header p{color:var(--muted-foreground);margin-bottom:0}.subject-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.lms-actions{align-items:center;gap:6px;display:inline-flex}.lms-actions.compact{flex-wrap:wrap}.lms-button[data-slot=button]{min-height:32px;padding-inline:9px}.lms-actions.compact .lms-button[data-slot=button]{min-height:28px;padding-inline:8px;font-size:.72rem}.lms-empty{color:var(--faint)}.ghost-button{color:#d7d9dd;background:#f0f2f509;border:1px solid #f0f2f517;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:36px;font-weight:660;display:inline-flex}.ghost-button.active,.ghost-button:hover{color:var(--text);background:#f0f2f513;border-color:#f0f2f529}.danger-button{color:var(--destructive);background:#ff6f7d09;border-color:#ff6f7d2e;margin-right:auto}.danger-button:hover{color:#ffb5bd;background:#ff6f7d14;border-color:#ff6f7d4d}.unit-header-meta{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:10px;display:flex}.dialog-backdrop{z-index:50;overscroll-behavior:contain;background:#000000ad;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.syllabus-dialog{background:var(--panel);border:1px solid var(--line-strong);width:min(1040px,100%);max-height:min(760px,100vh - 36px);box-shadow:var(--shadow-soft);border-radius:8px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 15px;display:flex}.dialog-header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.icon-button{color:#d7d9dd;background:#f0f2f509;border:1px solid #f0f2f517}.icon-button:hover{color:var(--text);background:#f0f2f513;border-color:#f0f2f529}.edit-dialog{background:var(--panel);border:1px solid var(--line-strong);width:min(560px,100%);box-shadow:var(--shadow-soft);border-radius:8px;display:grid;overflow:hidden}.edit-dialog-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.form-field{gap:6px;min-width:0;display:grid}.form-field span{color:var(--muted-foreground);font-size:.72rem;font-weight:680}.form-field-wide{grid-column:1/-1}.conduct-suggestions{gap:8px}.suggestion-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.suggestion-button{text-align:left;white-space:normal;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;height:auto;min-height:56px;padding:8px 10px}.suggestion-button small,.suggestion-button strong{text-overflow:ellipsis;width:100%;overflow:hidden}.suggestion-button strong{color:var(--text);font-size:.78rem;line-height:1.2}.suggestion-button small{color:var(--muted-foreground);font-size:.72rem;line-height:1.25}.suggestion-button.active{background:#60d39414;border-color:#60d3945c}.dialog-error{color:var(--destructive);margin:0 14px 12px;font-size:.78rem}.edit-dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 14px 14px;display:flex}.syllabus-document{overscroll-behavior:contain;gap:0;min-height:0;display:grid;overflow-y:auto}.syllabus-doc-unit{border-bottom:1px solid var(--line);gap:0;padding:16px;display:grid}.syllabus-doc-unit:last-child{border-bottom:0}.syllabus-doc-unit-head{justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.syllabus-doc-unit-head h3{text-transform:uppercase;font-size:1rem}.chapter-list{border:1px solid var(--line);border-radius:7px;display:grid;overflow:hidden}.chapter-item{border-bottom:1px solid var(--line);grid-template-columns:46px 72px minmax(0,1fr);min-height:74px;display:grid}.chapter-item.is-covered{background:#60d3940e}.chapter-item.is-locked .chapter-status input{cursor:not-allowed;opacity:.55}.chapter-item:last-child{border-bottom:0}.chapter-status{background:var(--panel-quiet);border-right:1px solid var(--line);place-items:start center;padding:12px 8px;display:grid}.chapter-status input{width:17px;height:17px;accent-color:var(--green);margin:0}.chapter-index{color:var(--faint);background:var(--panel-quiet);border-right:1px solid var(--line);justify-content:center;align-items:flex-start;padding:12px 8px;font-size:.78rem;font-weight:760;display:flex}.chapter-copy{gap:5px;min-width:0;padding:11px 12px;display:grid}.chapter-copy strong{color:var(--text);font-size:.88rem}.chapter-copy p{color:var(--muted-foreground);white-space:normal;margin:0;font-size:.82rem;line-height:1.5}.unit-section{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:inset 0 1px #ffffff06}.unit-section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:13px;display:flex}.unit-section-header h3{font-size:1rem}.submission-table-wrap{overflow-x:auto}.acadex-table{border-collapse:collapse;width:100%;min-width:1180px}.acadex-table th{height:38px;color:var(--faint);background:var(--panel-quiet);text-align:left;text-transform:uppercase;padding:0 12px;font-size:.68rem;font-weight:680}.acadex-table td,.acadex-table th{border-bottom:1px solid var(--line)}.acadex-table td{color:var(--text);vertical-align:top;padding:11px 12px}.acadex-table tr:last-child td{border-bottom:0}.acadex-table tr.submission-row-overdue td{background:#ff6f7d26;border-bottom-color:#ff6f7d47}.acadex-table tr.submission-row-overdue:hover td{background:#ff6f7d36}.submission-row-overdue .submission-name-button h3{color:var(--destructive)}.submission-row-overdue .notes-cell span,.submission-row-overdue .plain-date,.submission-row-overdue .submission-name-cell p{color:#ffd6dc}.submission-name-cell{width:38%;min-width:300px}.submission-name-button{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;align-items:flex-start;gap:8px;padding:0;display:flex}.submission-name-button:hover h3{color:var(--blue)}.submission-name-cell p{color:var(--muted-foreground);white-space:normal;margin:4px 0 0;font-size:.78rem;line-height:1.35}.notes-cell span,.plain-date{color:var(--muted-foreground);font-size:.8rem}.notes-cell{white-space:normal;min-width:260px}.notes-cell textarea{min-height:42px}.type-icon{color:#eef3ff;background:#f0f2f512;border:1px solid #f0f2f524;border-radius:6px;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.type-icon.worksheet{color:var(--blue);background:#72a7f72b;border-color:#72a7f752}.type-icon.assignment,.type-icon.quiz,.type-icon.surprise-test{color:var(--amber);background:#f0b84f29;border-color:#f0b84f4d}.type-icon.mini-project{color:var(--violet);background:#c197ff29;border-color:#c197ff4d}.type-icon.case-study{color:var(--green);background:#60d39429;border-color:#60d3944d}.type-icon.presentation,.type-icon.seminar-presentation{color:var(--violet);background:#c197ff29;border-color:#c197ff4d}.status-pill{color:#d7d9dd;white-space:nowrap;background:#f0f2f511;border:1px solid #f0f2f524;border-radius:999px;align-items:center;min-height:20px;padding:0 7px;font-size:.66rem;font-weight:720;display:inline-flex}.status-pill.not-assigned{color:var(--muted-foreground);background:0 0;border-color:#f0f2f529}.status-pill.assigned{color:var(--amber);background:#f0b84f29;border-color:#f0b84f52}.status-pill.done{color:var(--green);background:#60d39429;border-color:#60d39452}.error-popup{z-index:70;width:min(420px,100vw - 32px);color:var(--text);background:#181013;border:1px solid #ff6f7d6b;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 18px 44px #00000052}.error-popup strong{color:var(--destructive);font-size:.86rem;font-weight:760;display:block}.error-popup.success{border-color:#60d3943d}.error-popup.success strong{color:var(--green)}.error-popup p{color:var(--muted-foreground);margin:4px 0 0;font-size:.8rem;line-height:1.42}[data-slot=native-select-wrapper]{width:100%}.timetable-page{scrollbar-gutter:stable;gap:8px;max-width:100%;padding:8px 12px 8px 8px;display:grid;overflow-x:hidden}.timetable-date-toggle{color:#d9dde4;cursor:pointer;background:#f0f2f50e;border:1px solid #f0f2f51a;border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:0 8px;font-size:.72rem;font-weight:780;display:inline-flex}.timetable-date-toggle input{width:13px;height:13px;accent-color:var(--green);margin:0}.timetable-grid{grid-template-columns:82px repeat(var(--timetable-day-count),minmax(0,1fr));gap:4px;width:100%;min-width:0;display:grid}.timetable-grid-head{color:#c8ccd2;text-align:center;text-transform:uppercase;background:#f0f2f50e;border:1px solid #f0f2f514;border-radius:7px;place-items:center;min-width:0;min-height:32px;padding:0 6px;font-size:.66rem;font-weight:760;display:grid}.timetable-grid-head.time-head{width:82px}.day-head-label{justify-items:center;gap:2px;line-height:1;display:grid}.day-head-label strong{color:inherit;font-size:.66rem;font-weight:800}.day-head-label small{color:var(--muted-foreground);text-transform:none;font-size:.6rem;font-weight:760}.timetable-time-cell{color:#d7d9dd;text-align:center;background:#f0f2f50a;border:1px solid #f0f2f514;border-radius:7px;align-content:center;width:82px;min-height:62px;padding:5px;display:grid}.timetable-day-slot{min-width:0;display:grid}.timetable-day-slot>.free-slot,.timetable-day-slot>.timetable-cell{height:100%}.time-cell small,.time-cell span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.time-cell span{color:#eef3ff;font-size:.66rem;font-weight:800;line-height:1.08}.time-cell small{color:var(--muted-foreground);margin-top:3px;font-size:.62rem;font-weight:720;line-height:1.08}.timetable-grid-head.current-day-head{color:var(--blue);background:#72a7f71f;border-color:#72a7f742}.timetable-grid-head.current-day-head .day-head-label small{color:#dce8ff}.today-column{background:#72a7f706;border-radius:7px}.today-column .free-slot,.today-column .timetable-cell{border-color:#72a7f729}.today-column .timetable-cell{background:#f0f2f50f}.current-time-cell{color:var(--green)!important;background:#60d3941f!important;border-color:#60d39442!important}.current-time-cell small,.current-time-cell span{color:var(--green)}.current-class-cell{background:#60d3940e;border-radius:7px}.timetable-cell{background:#f0f2f50b;border:1px solid #f0f2f517;border-radius:7px;grid-template-rows:1fr auto;align-content:stretch;gap:5px;min-width:0;min-height:62px;padding:6px;display:grid;position:relative;overflow:hidden}.timetable-cell:hover{background:#f0f2f512;border-color:#f0f2f526}.timetable-cell.is-highlighted{border-color:var(--highlight-color);background:var(--highlight-color)}@supports (color:color-mix(in lab,red,red)){.timetable-cell.is-highlighted{background:color-mix(in srgb,var(--highlight-color) 16%,var(--panel))}}.timetable-cell.is-highlighted{box-shadow:inset 0 0 0 1px var(--highlight-color),0 0 0 1px var(--highlight-color)}@supports (color:color-mix(in lab,red,red)){.timetable-cell.is-highlighted{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--highlight-color) 48%,transparent),0 0 0 1px color-mix(in srgb,var(--highlight-color) 18%,transparent)}}.timetable-cell.is-muted{opacity:.28}.timetable-cell.is-current{background:var(--green)}@supports (color:color-mix(in lab,red,red)){.timetable-cell.is-current{background:color-mix(in srgb,var(--green) 22%,var(--panel))}}.timetable-cell.is-current{border-color:var(--green);box-shadow:inset 0 0 0 1px #60d3948c,0 0 0 1px #60d39438}.timetable-cell.is-current strong{color:#f4fff8}.timetable-cell strong{min-width:0;color:var(--text);text-shadow:0 1px #0000002e;overflow-wrap:anywhere;word-break:normal;white-space:normal;align-self:start;font-size:.68rem;font-weight:760;line-height:1.14;display:block;overflow:visible}.timetable-cell span{min-width:0;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;border-top:1px solid #f0f2f512;align-self:end;padding-top:3px;font-size:.64rem;line-height:1.2;overflow:hidden}.free-slot{color:#54545a;text-align:center;background:#f0f2f505;border:1px dashed #f0f2f512;border-radius:7px;place-items:center;min-height:62px;font-size:0;display:grid}.free-slot:before{content:"-";font-size:.8rem}.timetable-subject-box{background:var(--panel-quiet);border:1px solid #f0f2f514;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:0;padding:6px 8px;display:grid}.timetable-subject-box-head{display:contents}.timetable-subject-box-head>strong{white-space:nowrap;font-size:.78rem}.timetable-subject-actions{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.timetable-subject-box-head button{color:#d7d9dd;background:#f0f2f50b;border:1px solid #f0f2f517;border-radius:999px;min-height:26px;padding:0 8px;font-size:.74rem;font-weight:700}.timetable-subject-list{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.timetable-subject-list button{min-width:0;min-height:32px;color:var(--text);text-align:left;background:#f0f2f50a;border:1px solid #f0f2f514;border-radius:7px;gap:1px;padding:5px 7px;display:grid}.timetable-subject-list button:hover{background:#f0f2f511;border-color:#f0f2f524}.timetable-subject-list button.active{border-color:var(--subject-color)}@supports (color:color-mix(in lab,red,red)){.timetable-subject-list button.active{border-color:color-mix(in srgb,var(--subject-color) 54%,var(--line))}}.timetable-subject-list button.active{background:var(--subject-color)}@supports (color:color-mix(in lab,red,red)){.timetable-subject-list button.active{background:color-mix(in srgb,var(--subject-color) 14%,var(--panel))}}.timetable-subject-list button.active{box-shadow:inset 0 0 0 1px var(--subject-color)}@supports (color:color-mix(in lab,red,red)){.timetable-subject-list button.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--subject-color) 28%,transparent)}}.timetable-subject-list button small,.timetable-subject-list button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timetable-subject-list button strong{font-size:.68rem;line-height:1.1}.timetable-subject-list button small{color:var(--muted-foreground);font-size:.6rem;line-height:1.1}.tools-page{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tool-empty-slot,.tool-tile{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;min-height:116px;padding:14px}.tool-tile{color:inherit;text-align:left;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.tool-tile:hover{background:#f0f2f50b;border-color:#f0f2f524}.tool-tile-icon{width:42px;height:42px;color:var(--green);background:#60d3941f;border:1px solid #60d3943d;border-radius:8px;place-items:center;display:grid}.sgpa-tool-icon{color:var(--amber);background:#f0b84f1f;border-color:#f0b84f3d}.sessions-tool-icon{color:var(--blue);background:#72a7f71f;border-color:#72a7f73d}.tool-tile-copy{gap:4px;min-width:0;display:grid}.tool-tile-copy h2,.tool-tile-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-empty-slot,.tool-tile-copy span{color:var(--muted-foreground);font-size:.78rem;font-weight:650}.tool-empty-slot{border-style:dashed;justify-content:center;align-items:center;gap:8px;display:flex}.sessions-page{gap:10px;display:grid}.sessions-toolbar{background:var(--panel);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.sessions-title{align-items:center;gap:10px;min-width:0;display:flex}.session-device-icon,.sessions-title-icon{width:38px;height:38px;color:var(--blue);background:#72a7f71c;border-radius:8px;flex:0 0 38px;place-items:center;display:grid}.session-overview-grid{grid-template-columns:1.5fr repeat(2,minmax(0,1fr));gap:10px;display:grid}.session-overview-card{background:var(--panel);border:1px solid #f0f2f514;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:84px;padding:12px;display:grid}.session-overview-card.primary{border-color:#60d39447}.session-overview-card svg{color:var(--green)}.session-overview-card p{color:var(--muted-foreground);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:760}.session-overview-card strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:1rem;line-height:1.18;display:block;overflow:hidden}.sessions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.inline-alert{color:var(--red);background:#ff6f7d14;border:1px solid #ff6f7d33;border-radius:8px;padding:10px 12px;font-size:.82rem;font-weight:680}.session-card{background:0 0;border:1px solid #f0f2f514;border-radius:8px;gap:12px;min-width:0;padding:12px;display:grid}.session-card.current{border-color:#60d39452;box-shadow:inset 3px 0 #60d394b8}.session-card-head{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.session-device{align-items:center;gap:10px;min-width:0;display:flex}.session-device-icon{width:36px;height:36px;color:var(--green);background:0 0;flex-basis:36px}.session-card-head>div,.session-device>div{min-width:0}.session-card-head h3{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;line-height:1.2;overflow:hidden}.session-card-head span{color:var(--muted-foreground);margin-top:4px;font-size:.76rem;font-weight:680;display:block}.session-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.session-meta div{background:0 0;min-width:0;padding:0}.session-meta dt{color:var(--muted-foreground);letter-spacing:0;text-transform:uppercase;font-size:.66rem;font-weight:760}.session-meta dd{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:.78rem;font-weight:720;overflow:hidden}.session-revoke-button{justify-self:end}.session-card-loading{min-height:180px}.session-card-loading div{background:#f0f2f50e;border-radius:7px;min-height:26px;overflow:hidden}.session-card-loading div:first-child{width:72%}.session-card-loading div:nth-child(2){width:100%;min-height:74px}.session-card-loading div:last-child{justify-self:end;width:34%}.sgpa-page,.sgpa-summary-grid{gap:10px;display:grid}.sgpa-summary-grid{grid-template-columns:1.35fr repeat(2,minmax(0,1fr))}.sgpa-grade-scale,.sgpa-result,.sgpa-table-panel{background:var(--panel);border:0;border-radius:8px;min-width:0}.sgpa-summary-grid .metric-card{border:0}.sgpa-result{align-content:center;gap:5px;min-height:92px;padding:14px;display:grid}.sgpa-result p{color:var(--muted-foreground);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:760}.sgpa-result strong{color:var(--green);font-size:clamp(2rem,2.8vw,2.6rem);line-height:1}.sgpa-result span{color:var(--muted-foreground);font-size:.76rem;font-weight:650}.sgpa-table-panel{padding:6px}.sgpa-table{min-width:760px}.sgpa-table th{color:var(--muted-foreground);font-size:.68rem;font-weight:760}.sgpa-table td{color:var(--text);font-size:.76rem}.sgpa-table tbody,.sgpa-table td,.sgpa-table th,.sgpa-table thead,.sgpa-table tr{border:0!important}.sgpa-subject-name{white-space:normal;min-width:260px;max-width:320px}.grade-select{min-width:96px}.grade-pill{min-width:58px;min-height:28px;color:var(--amber);background:#f0b84f1f;border:1px solid #f0b84f3d;border-radius:999px;justify-content:center;align-items:center;padding:3px 8px;font-size:.76rem;font-weight:780;display:inline-flex}.weighted-cell{font-weight:780;color:var(--green)!important}.sgpa-grade-scale{flex-wrap:wrap;gap:7px;padding:10px;display:flex}.sgpa-grade-scale span{min-height:27px;color:var(--muted-foreground);background:#f0f2f509;border:0;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:.74rem;font-weight:650;display:inline-flex}.sgpa-grade-scale strong{color:var(--text)}.papershelf-page{gap:10px;display:grid}.papershelf-toolbar{background:var(--panel);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.papershelf-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.papershelf-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:10px;display:grid}.papershelf-categories,.papershelf-main{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:10px}.papershelf-categories{gap:7px;display:grid}.papershelf-categories button{min-height:42px;color:inherit;text-align:left;background:#f0f2f506;border:1px solid #f0f2f512;border-radius:7px;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;display:grid}.papershelf-categories button.active,.papershelf-categories button:hover{background:#f0f2f511;border-color:#f0f2f524}.papershelf-categories .subject-dot{height:24px}.papershelf-categories small,.papershelf-categories strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.papershelf-categories strong{font-size:.8rem}.papershelf-categories small{color:var(--muted-foreground);font-size:.72rem;font-weight:740}.papershelf-main{gap:10px;display:grid}.category-focus-panel{background:var(--panel-quiet);border:1px solid #f0f2f514;border-radius:8px;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:9px 10px;display:grid}.category-focus-panel .subject-dot{height:34px}.category-focus-panel p,.category-focus-panel strong{text-overflow:ellipsis;display:block;overflow:hidden}.category-focus-panel strong{color:var(--text);white-space:nowrap;font-size:.86rem;font-weight:760}.category-focus-panel p{color:var(--muted-foreground);white-space:nowrap;margin:3px 0 0;font-size:.76rem}.paper-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.paper-card{background:var(--panel-quiet);border:1px solid #f0f2f514;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.paper-card:hover{background:#f0f2f50a;border-color:#f0f2f524}.paper-card-actions,.paper-card-head,.paper-meta-row{align-items:center;gap:8px;display:flex}.paper-card-head{justify-content:space-between}.paper-title{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.paper-title svg{color:var(--blue)}.entry-color-tag{border:1px solid #f0f2f53d;border-radius:999px;width:18px;height:18px;box-shadow:inset 0 0 0 3px #0b0b0c52}.paper-title h3{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;line-height:1.18;overflow:hidden}.paper-meta-row{flex-wrap:wrap;min-width:0}.paper-category-chip,.paper-meta-row>span{color:var(--muted-foreground);font-size:.72rem;font-weight:680}.paper-category-chip{text-overflow:ellipsis;white-space:nowrap;background:#f0f2f50b;border:1px solid #f0f2f514;border-radius:999px;align-items:center;gap:5px;max-width:180px;min-height:21px;padding:1px 7px;display:inline-flex;overflow:hidden}.paper-category-chip i{border-radius:999px;flex:0 0 7px;width:7px;height:7px}.paper-notes{color:var(--muted-foreground);white-space:normal;border-top:1px solid #f0f2f514;margin:0;padding-top:9px;font-size:.8rem;line-height:1.42}.paper-card-actions{justify-content:space-between;padding-top:1px}.paper-card-actions>span{color:var(--faint);font-size:.74rem}.papershelf-empty{border:1px dashed var(--line);border-radius:8px}.color-swatch-list{flex-wrap:wrap;gap:8px;display:flex}.color-swatch-list button{border:1px solid #f0f2f533;border-radius:999px;width:26px;height:26px}.color-swatch-list button.active{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--text)}.paper-dialog{width:min(640px,100%)}@media (max-width:1180px){.app-frame{grid-template-columns:272px minmax(0,1fr)}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-dashboard,.tomorrow-grid{grid-template-columns:1fr}.topbar-actions{flex-wrap:wrap}.header-tools{justify-content:flex-end;width:100%}.unit-coverage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.subjects-compact-header{grid-template-columns:1fr}.paper-card-grid,.papershelf-metrics,.session-overview-grid,.sessions-grid,.sgpa-summary-grid,.timetable-subject-list{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-item{grid-template-columns:3px minmax(0,1fr)}.due-stack{text-align:left;grid-column:2}.due-stack .due-bucket{margin-left:0}}@media (max-width:820px){.app-frame{grid-template-columns:1fr}.left-menu{border-right:0;border-bottom:1px solid var(--line);height:auto;position:relative}.main-content{padding:16px}.section-heading,.subject-header,.topbar{flex-direction:column;align-items:stretch}.topbar-actions{justify-content:stretch;width:100%}.header-tools{justify-content:flex-end}.work-filters{flex-direction:column;align-items:stretch;width:100%}.work-filters [data-slot=native-select-wrapper]{flex-basis:auto}.dashboard-side-grid{grid-template-columns:1fr}.copy-date-toggle{justify-content:flex-start;width:100%}.live-panel{flex-direction:column;flex-basis:100%}.login-page{align-items:stretch;padding:14px}.login-surface{align-self:center;min-height:auto}.login-form{padding:18px}.login-actions{grid-template-columns:1fr}.login-secondary{width:100%}.dashboard-grid,.paper-card-grid,.papershelf-layout,.papershelf-metrics,.session-overview-grid,.sessions-grid,.sgpa-summary-grid,.subjects-summary-strip,.tools-page{grid-template-columns:1fr}.category-focus-panel,.papershelf-toolbar,.sessions-toolbar{align-items:stretch}.papershelf-toolbar,.sessions-toolbar{flex-direction:column}.session-meta{grid-template-columns:1fr}.category-focus-panel{grid-template-columns:4px minmax(0,1fr)}.category-focus-panel .ghost-button{grid-column:2;justify-self:start}.timetable-subject-list,.unit-coverage-list{grid-template-columns:1fr}.dialog-backdrop{padding:10px}.syllabus-dialog{max-height:calc(100vh - 20px)}.edit-dialog-body,.suggestion-list{grid-template-columns:1fr}.chapter-item{grid-template-columns:42px 54px minmax(0,1fr)}.focus-item{grid-template-columns:1fr}.reminder-item{grid-template-columns:1fr 30px}.event-item{grid-template-columns:46px minmax(0,1fr) 30px}.event-item .reminder-edit{grid-area:1/3}.event-item .event-date-card{grid-area:1/1}.event-item .event-copy{grid-area:1/2}.event-item .reminder-date{text-align:left;grid-area:2/2/auto/-1}.reminder-date{text-align:left;grid-column:1}.due-stack{grid-column:auto}.color-pin{width:100%;height:6px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-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}