*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Be Vietnam Pro,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af}input::placeholder,textarea::placeholder{color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.glass{background:var(--surface);border:1px solid var(--glass-border);box-shadow:0 1px 2px var(--card-shadow)}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.left-0{left:0}.left-12{left:3rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.right-0{right:0}.top-1\/2{top:50%}.top-2{top:.5rem}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.mx-auto{margin-left:auto;margin-right:auto}.-ml-0\.5{margin-left:-.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1\.5{margin-left:.375rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.max-h-60{max-height:15rem}.max-h-\[40vh\]{max-height:40vh}.max-h-\[550px\]{max-height:550px}.min-h-11{min-height:2.75rem}.min-h-\[600px\]{min-height:600px}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-6{min-width:1.5rem}.min-w-7{min-width:1.75rem}.min-w-8{min-width:2rem}.min-w-\[100px\]{min-width:100px}.min-w-\[116px\]{min-width:116px}.min-w-\[120px\]{min-width:120px}.min-w-\[130px\]{min-width:130px}.min-w-\[140px\]{min-width:140px}.min-w-\[150px\]{min-width:150px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[250px\]{min-width:250px}.min-w-\[280px\]{min-width:280px}.min-w-\[70px\]{min-width:70px}.min-w-\[80px\]{min-width:80px}.min-w-\[900px\]{min-width:900px}.max-w-7xl{max-width:80rem}.max-w-\[150px\]{max-width:150px}.max-w-\[240px\]{max-width:240px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-y-1{row-gap:.25rem}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-\[var\(--border\)\]>:not([hidden])~:not([hidden]){border-color:var(--border)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--accent-blue\)\]{border-color:var(--accent-blue)}.border-\[var\(--amber-dim\)\]{border-color:var(--amber-dim)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-soft\)\]{border-color:var(--border-soft)}.border-\[var\(--input-border\)\]{border-color:var(--input-border)}.border-\[var\(--primary\)\]{border-color:var(--primary)}.border-\[var\(--primary-border\)\]{border-color:var(--primary-border)}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity,1))}.border-amber-500\/30{border-color:rgba(245,158,11,.3)}.border-amber-500\/40{border-color:rgba(245,158,11,.4)}.border-amber-800{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity,1))}.border-emerald-500\/40{border-color:rgba(16,185,129,.4)}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity,1))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-teal-200{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-l-\[var\(--primary\)\]{border-left-color:var(--primary)}.border-t-transparent{border-top-color:transparent}.bg-\[var\(--amber-bg\)\]{background-color:var(--amber-bg)}.bg-\[var\(--bar-bg\)\]{background-color:var(--bar-bg)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--blue-dim\)\]{background-color:var(--blue-dim)}.bg-\[var\(--inset\)\]{background-color:var(--inset)}.bg-\[var\(--neutral-bg\)\]{background-color:var(--neutral-bg)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--primary-bg\)\]{background-color:var(--primary-bg)}.bg-\[var\(--primary-btn\)\]{background-color:var(--primary-btn)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--surface-dim\)\]{background-color:var(--surface-dim)}.bg-\[var\(--text-faint\)\]{background-color:var(--text-faint)}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.bg-amber-500\/15{background-color:rgba(245,158,11,.15)}.bg-amber-500\/20{background-color:rgba(245,158,11,.2)}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity,1))}.bg-amber-900\/60{background-color:rgba(120,53,15,.6)}.bg-amber-950\/80{background-color:rgba(69,26,3,.8)}.bg-amber-950\/90{background-color:rgba(69,26,3,.9)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-emerald-950\/90{background-color:rgba(2,44,34,.9)}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-950\/90{background-color:rgba(2,6,23,.9)}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[var\(--primary-btn\)\]{--tw-gradient-from:var(--primary-btn) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[var\(--primary-hover\)\]{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--primary-hover) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[var\(--primary-btn\)\]{--tw-gradient-to:var(--primary-btn) var(--tw-gradient-to-position)}.fill-amber-400{fill:#fbbf24}.p-1{padding:.25rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.\!pl-9{padding-left:2.25rem!important}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-5{padding-left:1.25rem}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-5{padding-right:1.25rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Be Vietnam Pro,ui-sans-serif,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.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)}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[var\(--accent-amber\)\]{color:var(--accent-amber)}.text-\[var\(--accent-blue\)\]{color:var(--accent-blue)}.text-\[var\(--amber-ink\)\]{color:var(--amber-ink)}.text-\[var\(--primary\)\]{color:var(--primary)}.text-\[var\(--primary-text\)\]{color:var(--primary-text)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-faint\)\]{color:var(--text-faint)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-strong\)\]{color:var(--text-strong)}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity,1))}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-200\/85{color:hsla(48,97%,77%,.85)}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-300\/80{color:rgba(252,211,77,.8)}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-current{color:currentColor}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-600\/80{color:rgba(225,29,72,.8)}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity,1))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.text-teal-800{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.placeholder-\[var\(--placeholder\)\]::-moz-placeholder{color:var(--placeholder)}.placeholder-\[var\(--placeholder\)\]::placeholder{color:var(--placeholder)}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-\[2px_0_5px_-2px_rgba\(0\2c 0\2c 0\2c 0\.08\)\]{--tw-shadow:2px 0 5px -2px rgba(0,0,0,.08);--tw-shadow-colored:2px 0 5px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[2px_0_5px_-2px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{--tw-shadow:2px 0 5px -2px rgba(0,0,0,.1);--tw-shadow-colored:2px 0 5px -2px var(--tw-shadow-color)}.shadow-\[2px_0_5px_-2px_rgba\(0\2c 0\2c 0\2c 0\.1\)\],.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-inset{--tw-ring-inset:inset}.ring-\[var\(--accent-blue\)\]{--tw-ring-color:var(--accent-blue)}.ring-\[var\(--primary\)\]{--tw-ring-color:var(--primary)}.ring-amber-500\/30{--tw-ring-color:rgba(245,158,11,.3)}.blur{--tw-blur:blur(8px)}.blur,.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-blur-md{--tw-backdrop-blur:blur(12px);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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-colors{transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{color-scheme:dark;--z-dropdown:2147483000;--bg:#0f172a;--bg-dim:rgba(15,23,42,.5);--surface:#1e293b;--surface-glass:rgba(30,41,59,.64);--surface-dim:rgba(30,41,59,.6);--surface-dim-hover:rgba(30,41,59,.85);--inset:#172236;--head-bg:rgba(15,23,42,.35);--glass-bg:rgba(30,41,59,.72);--glass-border:hsla(0,0%,100%,.08);--glass-highlight:hsla(0,0%,100%,.1);--card-bg:rgba(30,41,59,.78);--bg-muted:rgba(30,41,59,.6);--border:#334155;--border-soft:rgba(51,65,85,.6);--input-border:#475569;--text-strong:#f1f5f9;--text:#cbd5e1;--text-muted:#94a3b8;--text-faint:#64748b;--input-text:#f1f5f9;--placeholder:#64748b;--primary:#10b981;--primary-btn:#047857;--primary-hover:#065f46;--primary-strong:#34d399;--primary-soft:#6ee7b7;--primary-text:#a7f3d0;--primary-dim:rgba(16,185,129,.14);--primary-dim-2:rgba(16,185,129,.1);--primary-bg:rgba(16,185,129,.08);--primary-border:rgba(52,211,153,.35);--primary-ring:rgba(16,185,129,.16);--secondary:#38bdf8;--secondary-btn:#0284c7;--secondary-text:#38bdf8;--eyebrow:#34d399;--accent-blue:#38bdf8;--blue-dim:rgba(56,189,248,.16);--accent-green:#34d399;--green-strong:#6ee7b7;--green-deep:#10b981;--green-dim:rgba(16,185,129,.16);--green-bg:rgba(16,185,129,.1);--green-border:rgba(52,211,153,.35);--accent-amber:#fbbf24;--amber-bg:rgba(251,191,36,.12);--amber-dim:rgba(245,158,11,.16);--amber-ink:#d4a72c;--neutral-bg:rgba(148,163,184,.12);--danger:#dc2626;--danger-hover:#b91c1c;--danger-text:#fca5a5;--danger-bg:rgba(239,68,68,.1);--danger-border:hsla(0,91%,71%,.35);--switch-track:#334155;--switch-knob:#94a3b8;--bar-bg:#334155;--backdrop:rgba(2,6,23,.72);--dialog-shadow:rgba(2,6,23,.5);--page-glow:rgba(16,185,129,.16);--card-shadow:rgba(2,6,23,.28);--brand-bg:linear-gradient(150deg,rgba(30,41,59,.85),rgba(15,23,42,.96));--brand-border:rgba(148,163,184,.15);--brand-heading:#f1f5f9;--brand-copy:#94a3b8;--brand-span:#64748b;--surface-subtle:var(--surface-dim);--surface-color:var(--surface);--surface-muted:var(--surface-dim);--surface-card:var(--card-bg);--surface-elevated:var(--surface);--surface-hover:var(--surface-dim-hover);--surface-variant:var(--surface-dim);--background:var(--bg);--foreground:var(--text-strong);--bg-subtle:var(--surface-dim);--bg-surface:var(--surface);--bg-hover:var(--surface-dim-hover);--border-color:var(--border);--border-strong:var(--input-border);--border-subtle:var(--border-soft);--border-focus:var(--input-border);--input-bg:var(--inset);--text-secondary:var(--text-muted);--text-subtle:var(--text-faint);--text-primary:var(--text-strong);--text-color:var(--text);--text-normal:var(--text);--text-main:var(--text);--muted:var(--text-muted);--accent-blue-light:var(--blue-dim);--accent-green-light:var(--green-bg);--danger-light:var(--danger-bg);--danger-strong:var(--danger);--accent-red:var(--danger);--red-dim:var(--danger-bg);--red-strong:var(--danger-text);--red-border:var(--danger-border);--success:var(--accent-green);--success-strong:var(--green-strong);--success-text:var(--green-strong);--warning-strong:var(--accent-amber);--warning-text:var(--amber-ink);--amber-strong:var(--accent-amber);--amber-text:var(--amber-ink);--amber-border:var(--amber-dim);--primary-dark:var(--primary-hover);--primary-dim-hover:var(--primary-dim);--radius-lg:var(--radius-panel);--radius-md:var(--radius-control);--font-mono:monospace;--shadow-sm:var(--card-shadow);--primary-rgb:16,185,129}.light{color-scheme:light;--bg:#f1f5f9;--bg-dim:rgba(241,245,249,.85);--surface:#fff;--surface-glass:hsla(0,0%,100%,.85);--surface-dim:#f8fafc;--surface-dim-hover:#eef2f7;--inset:#f8fafc;--head-bg:rgba(241,245,249,.85);--glass-bg:hsla(0,0%,100%,.78);--glass-border:rgba(15,23,42,.08);--glass-highlight:hsla(0,0%,100%,.6);--card-bg:#fff;--bg-muted:#f1f5f9;--border:#e2e8f0;--border-soft:rgba(100,116,139,.18);--input-border:#cbd5e1;--text-strong:#0f172a;--text:#334155;--text-muted:#475569;--text-faint:#5b6b82;--input-text:#0f172a;--placeholder:#64748b;--primary:#059669;--primary-btn:#059669;--primary-hover:#047857;--primary-strong:#047857;--primary-soft:#10b981;--primary-text:#047857;--primary-dim:rgba(16,185,129,.12);--primary-dim-2:rgba(16,185,129,.08);--primary-bg:rgba(16,185,129,.06);--primary-border:rgba(16,185,129,.35);--primary-ring:rgba(16,185,129,.15);--secondary:#0284c7;--secondary-btn:#0369a1;--secondary-text:#0284c7;--eyebrow:#047857;--accent-blue:#0284c7;--blue-dim:rgba(2,132,199,.12);--accent-green:#059669;--green-strong:#047857;--green-deep:#10b981;--green-dim:rgba(16,185,129,.14);--green-bg:rgba(16,185,129,.1);--green-border:rgba(5,150,105,.35);--accent-amber:#d97706;--amber-bg:rgba(245,158,11,.14);--amber-dim:rgba(245,158,11,.16);--amber-ink:#b45309;--neutral-bg:rgba(100,116,139,.12);--danger:#dc2626;--danger-hover:#b91c1c;--danger-text:#b91c1c;--danger-bg:rgba(239,68,68,.08);--danger-border:rgba(220,38,38,.3);--switch-track:#cbd5e1;--switch-knob:#f8fafc;--bar-bg:#e2e8f0;--backdrop:rgba(15,23,42,.5);--dialog-shadow:rgba(15,23,42,.16);--page-glow:rgba(16,185,129,.1);--card-shadow:rgba(15,23,42,.1);--brand-bg:linear-gradient(150deg,#e2e8f0,#f8fafc);--brand-border:rgba(100,116,139,.2);--brand-heading:#0f172a;--brand-copy:#475569;--brand-span:#64748b;--surface-subtle:var(--surface-dim);--surface-color:var(--surface);--surface-muted:var(--surface-dim);--surface-card:var(--card-bg);--surface-elevated:var(--surface);--surface-hover:var(--surface-dim-hover);--surface-variant:var(--surface-dim);--background:var(--bg);--foreground:var(--text-strong);--bg-subtle:var(--surface-dim);--bg-surface:var(--surface);--bg-hover:var(--surface-dim-hover);--border-color:var(--border);--border-strong:var(--input-border);--border-subtle:var(--border-soft);--border-focus:var(--input-border);--input-bg:var(--inset);--text-secondary:var(--text-muted);--text-subtle:var(--text-faint);--text-primary:var(--text-strong);--text-color:var(--text);--text-normal:var(--text);--text-main:var(--text);--muted:var(--text-muted);--accent-blue-light:var(--blue-dim);--accent-green-light:var(--green-bg);--danger-light:var(--danger-bg);--danger-strong:var(--danger);--accent-red:var(--danger);--red-dim:var(--danger-bg);--red-strong:var(--danger-text);--red-border:var(--danger-border);--success:var(--accent-green);--success-strong:var(--green-strong);--success-text:var(--green-strong);--warning-strong:var(--accent-amber);--warning-text:var(--amber-ink);--amber-strong:var(--accent-amber);--amber-text:var(--amber-ink);--amber-border:var(--amber-dim);--primary-dark:var(--primary-hover);--primary-dim-hover:var(--primary-dim);--radius-lg:var(--radius-panel);--radius-md:var(--radius-control);--font-mono:monospace;--shadow-sm:var(--card-shadow);--primary-rgb:5,150,105}body{background-color:var(--bg);color:var(--text-strong);font-family:Be Vietnam Pro,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}img{max-width:100%;height:auto}::-moz-selection{background:var(--primary-dim);color:var(--text-strong)}::selection{background:var(--primary-dim);color:var(--text-strong)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--placeholder);opacity:1}input::placeholder,textarea::placeholder{color:var(--placeholder);opacity:1}:focus-visible{outline:2px solid var(--primary-strong);outline-offset:2px}input:not([type=checkbox]):not([type=radio]):where(:not([type=file])):where(:not([hidden])),select,textarea{display:block;width:100%;box-sizing:border-box;max-width:100%;font-family:inherit;font-size:14px;line-height:1.5;border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:var(--surface);color:var(--text-strong);outline:none;transition:border-color .18s,box-shadow .18s,background .18s;resize:vertical}input[hidden]{display:none}input[type=checkbox],input[type=radio]{display:inline-block;width:16px;height:16px;margin:0;padding:0;flex-shrink:0;accent-color:var(--primary);cursor:pointer;vertical-align:middle}input[class*=bg-white],select[class*=bg-white],textarea[class*=bg-white]{color:#0f172a}input[class*=bg-white]::-moz-placeholder,textarea[class*=bg-white]::-moz-placeholder{color:#64748b}input[class*=bg-white]::placeholder,textarea[class*=bg-white]::placeholder{color:#64748b}input[style*="rgb(255, 255, 255)"], input[style*="rgb(255,255,255)"], select[style*="rgb(255, 255, 255)"], select[style*="rgb(255,255,255)"], textarea[style*="rgb(255, 255, 255)"], textarea[style*="rgb(255,255,255)"]{color:#0f172a}input[style*="rgb(255, 255, 255)"]::-moz-placeholder, input[style*="rgb(255,255,255)"]::-moz-placeholder, textarea[style*="rgb(255, 255, 255)"]::-moz-placeholder, textarea[style*="rgb(255,255,255)"]::-moz-placeholder{color:#64748b}input[style*="rgb(255, 255, 255)"]::placeholder, input[style*="rgb(255,255,255)"]::placeholder, textarea[style*="rgb(255, 255, 255)"]::placeholder, textarea[style*="rgb(255,255,255)"]::placeholder{color:#64748b}.integrations-main{display:flex;flex-direction:column;gap:24px;padding-bottom:40px}.integration-hero{align-items:stretch;gap:24px}.integration-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;min-width:min(520px,100%);flex:1}.connector-card,.mini-stat,.quick-form{border:1px solid var(--border-soft);border-radius:16px;background:var(--surface-glass);padding:18px}.mini-stat{display:flex;flex-direction:column;gap:8px;color:var(--text)}.mini-stat svg{color:var(--primary-strong)}.mini-stat strong{font-size:28px;line-height:1}.mini-stat span{font-size:13px}.integration-quickstart,.integration-table-panel{padding:20px}.integration-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.quick-form{display:flex;flex-direction:column;gap:10px}.quick-form label{color:var(--text-muted);font-size:13px;font-weight:600}.quick-form button{margin-top:4px;justify-content:center}.integration-tabs{overflow-x:auto;padding-bottom:4px}.integration-table{display:grid;gap:10px;width:100%;overflow-x:auto}.integration-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;align-items:center;padding:14px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-dim);color:var(--text);min-width:0}.integration-row span{min-width:0;overflow-wrap:anywhere}.integration-head{background:var(--head-bg);color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.connector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.connector-card{display:flex;flex-direction:column;gap:18px;min-height:260px}.connector-card h3{margin:10px 0 4px;font-size:24px}.connector-card p{color:var(--text-muted)}.connector-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.connector-card dt{color:var(--text-muted);font-size:12px}.connector-card dd{color:var(--text-strong);margin:0}.error-table .integration-row{grid-template-columns:minmax(120px,.8fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(130px,1fr) minmax(220px,1.8fr) minmax(210px,1.4fr)}@media (max-width:768px){.integration-hero{flex-direction:column}.connector-grid,.integration-form-grid,.integration-health-grid{grid-template-columns:1fr}.integration-row{min-width:640px}.error-table .integration-row{min-width:920px}}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:var(--primary-strong)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-dim-2,rgba(43,154,132,.15));background:var(--surface)}input::-moz-placeholder,select::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-faint);font-size:13px;font-weight:400}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-faint);font-size:13px;font-weight:400}label{display:flex;flex-direction:column;align-items:flex-start;gap:7px;color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.02em}.required-asterisk,.required-mark,.required-star,.text-danger-asterisk{color:#ef4444!important;font-weight:700;margin-left:2px;display:inline-block;white-space:nowrap}label.check-item,label.checkbox-label,label.primary-button,label.secondary-button,label.text-button{width:auto;font-weight:400;letter-spacing:normal}.switch,label.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;vertical-align:middle}.switch input[type=checkbox]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;margin:0;padding:0;cursor:pointer;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none}.switch input[type=checkbox]:disabled{cursor:not-allowed}.switch-track{position:relative;display:inline-block;width:36px;height:20px;border-radius:99px;background:var(--border-strong,#cbd5e1);transition:background .2s cubic-bezier(.16,1,.3,1),box-shadow .18s ease;box-shadow:inset 0 1px 2px rgba(0,0,0,.12)}.switch-track i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.22);transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .15s ease}.switch input[type=checkbox]:checked+.switch-track{background:var(--primary,#059669);box-shadow:0 0 8px color-mix(in srgb,var(--primary) 30%,transparent)}.switch input[type=checkbox]:checked+.switch-track i{transform:translateX(16px);background:#fff}.switch:hover input[type=checkbox]:not(:disabled)+.switch-track{filter:brightness(1.04)}.switch input[type=checkbox]:focus-visible+.switch-track{box-shadow:0 0 0 3px var(--primary-dim,rgba(5,150,105,.25))}.switch input[type=checkbox]:disabled+.switch-track{opacity:.45;filter:grayscale(.5)}.date-picker-input,input[type=date],input[type=datetime-local],input[type=month],input[type=time]{width:100%;min-width:0;min-inline-size:0;max-width:100%}input[type=datetime-local]:invalid{color:var(--text-faint)!important}input[type=datetime-local]:focus,input[type=datetime-local]:valid{color:var(--input-text)!important}.login-page{min-height:100dvh;display:grid;grid-template-columns:.9fr 1.1fr;background:radial-gradient(circle at 20% 0,var(--page-glow),transparent 42%),var(--bg)}.login-brand{padding:clamp(40px,8vw,120px);display:flex;flex-direction:column;justify-content:center;background:var(--brand-bg);border-right:1px solid var(--brand-border)}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--primary);color:#fff;font-weight:800;letter-spacing:-.08em;box-shadow:0 14px 36px rgba(16,185,129,.28)}.brand-mark.small{width:34px;height:34px;border-radius:10px;font-size:13px}.login-brand h1{max-width:540px;margin:24px 0 18px;color:var(--brand-heading);font-size:clamp(36px,4.5vw,64px);line-height:.98;letter-spacing:-.06em}.brand-copy{max-width:390px;color:var(--brand-copy);font-size:17px;line-height:1.6}.brand-line{width:72px;height:3px;margin:48px 0 14px;background:var(--green-deep);border-radius:99px}.login-brand>span{color:var(--brand-span);font-size:12px;letter-spacing:.08em}.eyebrow{display:none!important}.login-panel{display:grid;place-items:center;padding:32px}.login-card{width:min(100%,440px);padding:42px;border:1px solid var(--border);border-radius:16px;background:var(--card-bg);box-shadow:0 22px 80px var(--card-shadow)}.login-card h2{margin:18px 0 8px;font-size:30px;letter-spacing:-.04em}.muted{color:var(--text-muted);font-size:13px}.login-form{display:grid;gap:18px;margin-top:32px}.login-form label{display:grid;gap:8px;color:var(--text);font-size:13px;font-weight:600}.login-form input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid var(--input-border);border-radius:10px;background:var(--inset);color:var(--input-text);outline:none;transition:border-color .2s,box-shadow .2s}.login-form input:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.login-form button{border:0;border-radius:999px;padding:13px 20px;background:var(--primary-btn);color:#fff;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}.login-form button:hover{background:var(--primary-hover);transform:translateY(-1px)}.login-form button:disabled{cursor:wait;opacity:.65}.login-form button.login-back{background:transparent;color:var(--text-muted);padding:6px 0}.login-form button.login-back:hover{background:transparent;color:var(--text);transform:none}.form-error{margin:0;color:var(--danger-text);font-size:13px}.login-hint{margin-top:24px;color:var(--text-muted);font-size:12px;line-height:1.6}.mobile-brand-mark{display:none}.login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--inset);padding:5px;border-radius:14px;border:1px solid var(--border);margin-top:22px}.login-tab{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;padding:10px 14px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all .22s cubic-bezier(.4,0,.2,1)}.login-tab svg{opacity:.7;transition:opacity .2s,transform .2s}.login-tab:hover{color:var(--text-strong)}.login-tab:hover svg{opacity:1}.login-tab.active{background:var(--card-bg);color:var(--primary-strong);font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04)}.login-tab.active svg{opacity:1;stroke:var(--primary-strong)}.text-center-label{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.otp-slots-container{display:flex;gap:8px;justify-content:center;width:100%;margin:8px 0}.otp-slot{width:clamp(40px,12vw,48px);height:56px;text-align:center;font-size:24px!important;font-weight:800!important;font-family:inherit;color:var(--primary-strong)!important;background:var(--inset)!important;border-bottom:1.5px solid var(--border)!important;border:solid var(--border)!important;border-width:1.5px 1.5px 3.5px!important;border-radius:12px!important;outline:none;padding:0!important;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px rgba(0,0,0,.02)}.otp-slot::-moz-placeholder{color:var(--text-muted);font-size:20px;font-weight:500;opacity:.6}.otp-slot::placeholder{color:var(--text-muted);font-size:20px;font-weight:500;opacity:.6}.otp-slot:focus{border-color:var(--primary-strong)!important;border-bottom-color:var(--primary-strong)!important;box-shadow:0 0 0 4px rgba(16,185,129,.16)!important;transform:translateY(-2px)}.otp-slot.has-val,.otp-slot:focus{background:var(--card-bg)!important}.otp-slot.has-val{border-color:var(--primary)!important;border-bottom-color:var(--primary-strong)!important}.otp-screen-actions{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding-top:10px;border-top:1px dashed var(--border)}.input-with-icon .field-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none;transition:color .2s}.input-with-icon input{padding-left:42px!important;border-radius:12px!important;font-size:14px!important}.input-with-icon input:focus+.field-icon,.input-with-icon input:focus~.field-icon,.input-with-icon:focus-within .field-icon{color:var(--primary-strong)}.otp-input{letter-spacing:.25em;font-weight:700;font-size:16px!important}.btn-primary-action{width:100%;border:0;border-radius:12px!important;padding:14px 22px!important;background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;font-size:14.5px!important;font-weight:700!important;letter-spacing:.01em;box-shadow:0 8px 24px -4px rgba(16,185,129,.38)!important;transition:all .22s cubic-bezier(.4,0,.2,1)!important}.btn-primary-action:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)!important;transform:translateY(-2px)!important;box-shadow:0 12px 28px -4px rgba(16,185,129,.48)!important}.btn-primary-action:disabled{opacity:.65;transform:none!important;box-shadow:none!important}.otp-phone-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--inset);border:1px solid var(--border);border-radius:12px}.phone-info{display:flex;flex-direction:column;gap:2px}.muted-sm{font-size:11px;color:var(--text-muted)}.otp-phone-summary strong{font-size:14px;color:var(--primary-strong);font-weight:700}.dev-otp-banner{justify-content:space-between;padding:12px 16px;background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;color:#92400e;font-size:12.5px}.dev-otp-banner,.dev-otp-text{display:flex;align-items:center}.dev-otp-text{gap:8px}.badge-tag{background:#f59e0b;color:#fff;font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:var(--radius-control,8px);letter-spacing:.05em}.btn-fill-otp{background:#f59e0b!important;color:#fff!important;font-size:12px!important;padding:5px 12px!important;border-radius:8px!important;font-weight:700!important;border:none!important;cursor:pointer;box-shadow:0 2px 8px rgba(245,158,11,.3)!important}.btn-fill-otp:hover{background:#d97706!important}.resend-otp-wrapper{display:flex;justify-content:center;align-items:center;margin-top:4px}.dashboard-shell{min-height:100dvh;display:flex;background:var(--bg);color:var(--text-strong)}.dashboard-sidebar{position:fixed;top:16px;bottom:16px;left:16px;width:var(--sidebar-width,290px);height:calc(100vh - 32px);height:calc(100dvh - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);box-sizing:border-box;display:flex;flex-direction:column;padding:18px 12px;border-radius:16px;overflow:hidden;z-index:40}.sidebar-logo{display:flex;gap:10px;padding:0 10px 14px;font-size:15px}.sidebar-label{padding:0 12px 6px;color:var(--text-faint);font-size:9px;font-weight:700;letter-spacing:.15em;flex-shrink:0}.sidebar-tenant-switch{display:block;margin:-6px 10px 10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;color:var(--primary-text);font-size:12px;font-weight:600;text-decoration:none;background:var(--primary-dim-2);flex-shrink:0;transition:border-color .2s,background .2s}.sidebar-tenant-switch:hover{border-color:var(--primary-strong);background:var(--primary-dim)}.sidebar-tenant-actions{display:flex;align-items:center;gap:8px;margin:-4px 10px 10px;flex-shrink:0}.sidebar-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:10px;color:var(--primary-text);font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none;background:var(--primary-dim-2);transition:border-color .2s,background .2s,color .2s,transform .15s;cursor:pointer}.sidebar-action-btn.flex-1{flex:1}.sidebar-action-btn.icon-only{width:36px;padding:0;flex-shrink:0}.sidebar-action-btn:hover{border-color:var(--primary-strong);background:var(--primary-dim);color:var(--primary-strong);transform:translateY(-1px)}.sidebar-context{margin:-6px 10px 10px;padding:0 2px;color:var(--text-faint);font-size:10px;letter-spacing:.04em;flex-shrink:0}.tenant-list{display:grid;gap:10px;margin:18px 0 4px}.tenant-option{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-dim);color:var(--text-strong);text-align:left;cursor:pointer;transition:border-color .2s,transform .2s}.tenant-option:hover{border-color:var(--primary-strong);transform:translateY(-1px)}.tenant-option.busy{opacity:.6;cursor:wait}.tenant-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--primary-btn);color:#fff;font-size:13px;font-weight:800;flex-shrink:0}.tenant-info{display:grid;gap:2px;min-width:0}.tenant-info strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-info small{color:var(--text-faint);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.tenant-arrow{margin-left:auto;color:var(--text-faint)}.tenant-back{width:100%;margin-top:14px}.sidebar-actions{display:flex;align-items:center;gap:6px;padding:0 10px 10px;flex-shrink:0}.bell-button,.icon-button{position:relative;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:10px;background:var(--surface-dim);color:var(--text-muted);font-size:15px;text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.bell-button:hover,.icon-button:hover{border-color:var(--primary-strong);color:var(--primary-text)}.bell-badge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:99px;background:var(--danger);color:#fff;font-size:10px;font-weight:700}.bell-wrapper{position:relative;display:inline-block}.bell-wrapper.open{z-index:130}.sidebar-actions:has(.bell-wrapper.open){z-index:130;position:relative;overflow:visible!important}.dashboard-sidebar:has(.bell-wrapper.open){z-index:130!important;overflow:visible!important}.bell-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:150;width:min(320px,calc(100vw - 32px));border:1px solid var(--border);border-radius:var(--radius-panel,12px);background:var(--surface);box-shadow:0 12px 32px var(--card-shadow);overflow:hidden;animation:bellFadeIn .15s ease-out}@keyframes bellFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.bell-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--head-bg)}.bell-dropdown-header strong{color:var(--text-strong);font-size:13px;font-weight:700}.bell-count-badge{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:10px;background:var(--primary-bg);color:var(--primary-text);font-size:10px;font-weight:700}.bell-mark-all{border:0;background:transparent;color:var(--primary-text);font-size:11px;font-weight:600;cursor:pointer;padding:0}.bell-mark-all:hover{text-decoration:underline}.bell-dropdown-list{max-height:300px;overflow-y:auto}.bell-empty{padding:24px 14px;text-align:center;color:var(--text-faint);font-size:12px}.bell-item{position:relative;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.bell-item:last-child{border-bottom:0}.bell-item:hover{background:var(--surface-dim)}.bell-item.unread{background:var(--primary-bg)}.bell-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.bell-item-badge{display:inline-block;padding:1px 5px;border-radius:var(--radius-control,8px);background:var(--neutral-bg);color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.bell-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--primary-strong)}.bell-item-title{color:var(--text-strong);font-size:12px;font-weight:600;line-height:1.3;margin-bottom:2px}.bell-item-sender{color:var(--text-faint);font-size:11px;margin-bottom:2px}.bell-item-content{color:var(--text-muted);font-size:11px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bell-dropdown-footer{padding:10px 14px;border-top:1px solid var(--border);background:var(--head-bg);text-align:center}.bell-dropdown-footer a{display:inline-flex;align-items:center;gap:4px;color:var(--primary-text);font-size:12px;font-weight:600;text-decoration:none}.bell-dropdown-footer a:hover{text-decoration:underline}.dashboard-sidebar nav{display:flex;flex-direction:column;flex:1 1 0px;min-height:0;gap:3px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.35) transparent;padding-right:4px;margin-bottom:8px}.dashboard-sidebar nav::-webkit-scrollbar{width:5px}.dashboard-sidebar nav::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:99px}.dashboard-sidebar nav::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.6)}.dashboard-sidebar nav .nav-link{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;border-radius:10px;padding:12px 13px;font-size:15px;color:var(--text-muted);text-decoration:none;transition:background .18s,color .18s}.dashboard-sidebar nav .nav-link.active,.dashboard-sidebar nav .nav-link:hover{background:var(--primary-dim);color:var(--primary-text)}.dashboard-sidebar nav .nav-link.active{position:relative;box-shadow:inset 3px 0 0 var(--primary-strong)}.dashboard-sidebar nav .nav-group{display:flex;justify-content:space-between;align-items:center;width:100%;flex-shrink:0;border:0;border-radius:10px;padding:12px 13px;background:transparent;color:var(--text-muted);font-size:15px;font-weight:600;text-align:left;cursor:pointer;transition:background .18s,color .18s}.dashboard-sidebar nav .nav-group.active,.dashboard-sidebar nav .nav-group:hover{background:var(--primary-dim-2);color:var(--primary-text)}.dashboard-sidebar nav .nav-group-items{display:grid;gap:3px;padding:3px 0 4px 12px}.dashboard-sidebar nav .nav-group-items .nav-link{padding:10px 12px;font-size:14px}.sidebar-logout{display:flex!important;align-items:center;gap:8px;width:100%;margin-top:auto;flex-shrink:0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;padding:12px;color:var(--text-muted);font-size:14px;text-align:left;cursor:pointer;transition:color .18s}.sidebar-logout span{flex-shrink:0}.sidebar-logout small{margin-left:auto;color:var(--text-faint);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;text-align:right}.sidebar-logout:hover{color:var(--text)}.dashboard-content{width:calc(100% - 306px);margin-left:306px;min-height:100dvh;display:flex;flex-direction:column}.topbar-user{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:0}.topbar-user>div{min-width:0}.topbar-user small,.topbar-user strong{display:block}.topbar-user strong{font-size:13px}.topbar-user small,.topbar-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user small{margin-top:3px;color:var(--text-faint);font-size:11px}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--primary-btn);color:#fff;font-weight:700}.notification-dot{color:var(--accent-amber);font-size:12px}.dashboard-main{padding:24px;flex:1;display:flex;flex-direction:column;gap:16px}.welcome-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:0}.welcome-row>.select-input,.welcome-row>input[type=date]{width:auto;max-width:220px}.welcome-row h2{margin-top:0;font-size:30px;letter-spacing:-.05em}.secondary-button{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;width:auto;max-width:100%;border:1px solid var(--border);border-radius:999px;padding:11px 16px;background:var(--surface);color:var(--text);font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:border-color .18s,color .18s,background .18s,transform .15s}.secondary-button:hover{border-color:var(--primary-strong);color:var(--primary-text);background:var(--primary-dim-2);transform:translateY(-1px)}.secondary-button.active,.secondary-button.active:hover{border-color:var(--primary-border);background:var(--primary-dim-2);color:var(--primary-text);font-weight:700}.secondary-button:disabled{cursor:wait;opacity:.55}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.dashboard-card,.metric-card{border:1px solid var(--border);border-radius:12px;background:var(--surface-glass)}.metric-card{overflow:hidden;padding:20px}.metric-card:after{position:absolute;content:"";width:90px;height:90px;right:-30px;bottom:-35px;border-radius:50%;background:currentColor;opacity:.08}.metric-card small,.metric-card span{display:block;color:var(--text-muted);font-size:12px}.metric-card strong{display:block;margin:12px 0 8px;font-size:30px;font-weight:700;letter-spacing:-.05em}.metric-card small{font-size:11px}.metric-card.blue{color:var(--accent-blue)}.metric-card.green{color:var(--accent-green)}.metric-card.brand{color:var(--primary-strong)}.metric-card.amber{color:var(--accent-amber)}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin-top:14px}.dashboard-grid.calendar-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.dashboard-grid.calendar-split>.data-panel{display:flex;flex-direction:column;height:100%;margin-top:0}.dashboard-grid.calendar-split .data-panel-head{min-height:72px;box-sizing:border-box}.dashboard-grid.calendar-split .data-empty{flex:1;display:flex;align-items:center;justify-content:center;min-height:140px;padding:24px}.dashboard-grid.calendar-split .doc-list{flex:1}.schedule-conflict-layout{grid-template-columns:320px minmax(0,1fr)}.schedule-conflict-comparison{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}.schedule-conflict-detail-grid,.schedule-conflict-impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:768px){.dashboard-grid.calendar-split,.schedule-conflict-comparison,.schedule-conflict-detail-grid,.schedule-conflict-impact-grid,.schedule-conflict-layout{grid-template-columns:1fr}}.dashboard-card{padding:24px}.card-heading{display:flex;align-items:start;justify-content:space-between}.card-heading h3,.usage-card h3{margin-top:8px;font-size:19px}.activity-list{display:grid;gap:12px;margin-top:24px}.activity-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--border-soft)}.activity-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-size:10px;font-weight:700}.activity-avatar.blue{background:var(--blue-dim);color:var(--accent-blue)}.activity-avatar.green{background:var(--green-dim);color:var(--accent-green)}.activity-avatar.amber{background:var(--amber-dim);color:var(--accent-amber)}.activity-item small,.activity-item strong{display:block}.activity-item strong{font-size:12px}.activity-item small{margin-top:4px;color:var(--text-faint);font-size:11px}.activity-arrow{margin-left:auto;color:var(--text-faint)}.usage-number{margin:28px 0 12px}.usage-number strong{font-size:36px;font-weight:700;letter-spacing:-.06em}.usage-number span{margin-left:7px;color:var(--text-muted);font-size:12px}.usage-bar{height:7px;overflow:hidden;border-radius:99px;background:var(--bar-bg)}.usage-bar span{display:block;width:62.4%;height:100%;border-radius:inherit;background:var(--primary)}.usage-card{display:flex;flex-direction:column}.usage-card .muted{margin-top:12px;line-height:1.6}.usage-card .text-button{margin-top:auto;padding-top:16px}.dashboard-shortcuts-section{display:flex;flex-direction:column;gap:14px}.dashboard-shortcuts-header{display:flex;align-items:center;justify-content:space-between}.dashboard-shortcuts-header h3{font-size:17px;font-weight:700;letter-spacing:-.02em}.dashboard-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width:1200px){.dashboard-shortcuts{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.dashboard-shortcuts{grid-template-columns:1fr}}.shortcut-card{display:flex;flex-direction:column;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 1px 3px var(--card-shadow);text-decoration:none;color:var(--text-strong);transition:border-color .2s,transform .2s,box-shadow .2s}.shortcut-card:hover{border-color:var(--primary-strong);transform:translateY(-2px);box-shadow:0 8px 24px var(--card-shadow)}.shortcut-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;margin-bottom:14px;font-size:20px}.shortcut-icon.blue{background:var(--blue-dim);color:var(--accent-blue)}.shortcut-icon.green{background:var(--green-dim);color:var(--accent-green)}.shortcut-icon.brand{background:var(--primary-dim-2);color:var(--primary-strong)}.shortcut-icon.amber{background:var(--amber-dim);color:var(--accent-amber)}.shortcut-card h4{font-size:15px;font-weight:700;margin-bottom:6px;color:var(--text-strong)}.shortcut-card p{font-size:12px;color:var(--text-muted);line-height:1.5;margin-bottom:16px;flex:1}.shortcut-link{display:inline-flex;gap:6px;font-weight:600;color:var(--primary-strong)}.dashboard-system-banner,.shortcut-link{align-items:center;font-size:12px;margin-top:auto}.dashboard-system-banner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:16px 24px;border:1px solid var(--border);border-radius:14px;background:var(--surface-dim);color:var(--text-muted)}.system-banner-info{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.system-banner-item{display:flex;align-items:center;gap:8px}.text-button{margin:0;border:0;background:none;color:var(--primary-strong);font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-control,6px);transition:color .18s,background-color .18s}.text-button:hover{color:var(--primary-strong);background:var(--primary-dim,rgba(46,158,91,.08))}.usage-card .text-button{margin-top:16px}@media (prefers-reduced-transparency:reduce){.glass{background:var(--surface);backdrop-filter:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.full-content{width:calc(100% - 32px)}:root{--radius-control:8px;--radius-panel:12px;--sidebar-width:290px}.dashboard-sidebar{top:0;bottom:0;left:0;width:var(--sidebar-width);height:100dvh;max-height:none;padding:20px 14px 14px;border:0;border-right:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:4px 0 18px var(--card-shadow);backdrop-filter:none;-webkit-backdrop-filter:none}.sidebar-top{display:flex;align-items:center;justify-content:space-between;min-height:38px;width:100%;min-width:0}.sidebar-close,.sidebar-hamburger{display:none}.dashboard-content{width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width)}.dashboard-topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 32px;background:var(--bg);border-width:0 0 1px;border-radius:0;border-color:var(--border)}.dashboard-topbar h1{margin:0;font-size:25px;font-weight:700;color:var(--text-strong);letter-spacing:-.04em}.dashboard-topbar .assessment-actions,.dashboard-topbar .notifications-hero-actions,.dashboard-topbar .topbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.curriculum-topbar-heading{display:flex;align-items:center;gap:10px;min-width:0}.curriculum-topbar-heading h1{min-width:0}.curriculum-back{flex-shrink:0}.dashboard-main{width:100%;box-sizing:border-box;padding:32px}.calendar-grid,.crud-form,.dashboard-card,.data-panel,.metric-card,.timetable-grid{border-radius:var(--radius-panel);background:var(--surface);box-shadow:0 1px 2px var(--card-shadow)}.metric-card{padding:18px}.metric-card:after{display:none}.metric-card strong{margin:10px 0 6px;color:var(--text-strong)}.metric-card.blue{border-top:3px solid var(--accent-blue)}.metric-card.green{border-top:3px solid var(--accent-green)}.metric-card.brand{border-top:3px solid var(--primary)}.metric-card.amber{border-top:3px solid var(--accent-amber)}.login-form button,.primary-button,.secondary-button{min-height:40px;border-radius:var(--radius-control)}.action-button:active,.login-form button:active,.primary-button:active,.secondary-button:active{transform:scale(.98)}.tabs{gap:2px}.tab{padding:11px 14px}.data-panel-head,.form-dialog-head{background:var(--surface)}@media (max-width:768px){.sidebar-hamburger{position:fixed;top:14px;left:16px;z-index:45;display:grid;gap:4px;width:40px;height:40px;place-content:center;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text-strong);cursor:pointer;box-shadow:0 2px 8px var(--card-shadow)}.sidebar-hamburger span{display:block;width:16px;height:2px;background:currentColor}.sidebar-backdrop{position:fixed;z-index:39;inset:0;background:var(--backdrop)}.dashboard-sidebar{position:fixed;z-index:40;top:0;bottom:0;left:0;width:min(86vw,300px);height:100dvh;max-height:none;transform:translateX(-105%);transition:transform .18s ease}.dashboard-sidebar.open{transform:translateX(0)}.sidebar-close{display:grid}.dashboard-sidebar nav{display:flex}.sidebar-label{display:block}.sidebar-logout{display:flex!important}.dashboard-content{width:100%;margin:0}.dashboard-topbar{min-height:72px;padding:14px 20px 14px 72px}.dashboard-main{padding:24px 20px}}.tasks-page{--tasks-ink:var(--text-strong);--tasks-muted:var(--text-muted);--tasks-line:var(--border);--tasks-wash:var(--inset)}.tasks-page .dashboard-main{width:min(100%,1680px);box-sizing:border-box;margin:0 auto;padding:38px clamp(22px,3.2vw,52px) 52px}.tasks-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:30px;flex-wrap:wrap}.tasks-heading-copy h2{margin-top:8px;color:var(--tasks-ink);font-size:clamp(28px,3vw,40px);letter-spacing:-.055em;line-height:1.05}.tasks-heading-copy .eyebrow{color:var(--primary-text);font-size:11px;letter-spacing:.12em}.tasks-heading-note{margin-top:10px;color:var(--tasks-muted);font-size:12px}.tasks-heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tasks-page .view-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--tasks-line);border-radius:12px;background:var(--surface);box-sizing:border-box;height:42px}.tasks-page .view-switch .secondary-button{display:inline-flex;align-items:center;justify-content:center;border-color:transparent;border-radius:8px;padding:6px 14px;height:34px;background:transparent;box-sizing:border-box}.tasks-page .view-switch .secondary-button.active{border-color:var(--primary-border);background:var(--primary-dim-2);color:var(--primary-text);box-shadow:0 2px 6px rgba(15,118,110,.08)}.tasks-export,.tasks-heading-actions .primary-button,.tasks-heading-actions .secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:42px;box-sizing:border-box;white-space:nowrap}.tasks-page .tasks-filters{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px;margin-bottom:18px;padding:18px;border:1px solid var(--tasks-line);border-radius:16px;background:var(--tasks-wash)}.tasks-page .tasks-filters>*{flex:1 1 120px;min-width:0}.tasks-page .tasks-filters label{min-width:0;flex-direction:column;align-items:stretch;white-space:normal;gap:8px;color:var(--tasks-muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.tasks-page .tasks-filters .filter-search,.tasks-page .tasks-filters label>.searchable-select,.tasks-page .tasks-filters label>input,.tasks-page .tasks-filters label>select{width:100%;min-width:0;box-sizing:border-box}.tasks-page .tasks-filters input{font-size:12px}.tasks-page .tasks-filters .searchable-select-trigger,.tasks-page .tasks-filters input{min-height:46px;border-color:var(--input-border);border-radius:10px;background:var(--surface)}.tasks-page .tasks-filters .searchable-select-trigger{font-size:.75rem}.tasks-page .tasks-add{margin:0 0 28px;padding:12px 18px;border-radius:10px;box-shadow:0 8px 18px rgba(4,120,87,.14)}.tasks-page .kanban{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tasks-page .kanban>.data-panel,.tasks-page .kanban>.data-panel+.data-panel{margin-top:0}.tasks-page .kanban-col{overflow:hidden;border-color:var(--tasks-line);border-radius:14px;background:var(--surface);box-shadow:0 8px 24px rgba(30,64,92,.06)}.tasks-page .kanban-col .data-panel-head{min-height:68px;box-sizing:border-box;padding:16px 18px;background:var(--surface-dim)}.tasks-page .kanban-col .data-panel-head h3{color:var(--tasks-ink);font-size:16px;letter-spacing:-.025em}.tasks-page .kanban-body{min-height:310px;padding:14px;background:var(--tasks-wash)}.tasks-page .kanban-col:first-child .data-panel-head{border-top:3px solid #94a3b8}.tasks-page .kanban-col:nth-child(2) .data-panel-head{border-top:3px solid #2b9a84}.tasks-page .kanban-col:nth-child(3) .data-panel-head{border-top:3px solid #d49a3a}.tasks-page .kanban-col:nth-child(4) .data-panel-head{border-top:3px solid #4c89b8}.tasks-page .kanban-card{border-color:var(--tasks-line);border-radius:11px;padding:15px;background:var(--surface);box-shadow:0 3px 10px rgba(30,64,92,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tasks-page .kanban-card:hover{border-color:var(--primary-border);box-shadow:0 8px 18px rgba(30,64,92,.1);transform:translateY(-2px)}.tasks-page .kanban-card p{line-height:1.55}.tasks-page .kanban-card small{display:block;line-height:1.5}.tasks-page .kanban-actions{flex-wrap:wrap;gap:6px 10px;padding-top:4px}.attach-zone{display:grid;gap:10px;min-width:0}.attach-list{display:flex;flex-wrap:wrap;gap:8px}.attach-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:11px}.attach-chip-name{overflow:hidden;max-width:220px;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap}.attach-chip button{display:grid;place-items:center;width:18px;height:18px;border:none;border-radius:var(--radius-control,8px);background:transparent;color:var(--text-faint);cursor:pointer;transition:background .15s,color .15s}.attach-chip button:hover{background:var(--danger-bg);color:var(--danger-text)}.tasks-page .kanban-body>.data-empty{display:grid;min-height:250px;place-content:center;gap:8px;padding:20px;color:var(--text-faint);font-size:12px}@media (max-width:1180px){.tasks-page .kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.tasks-page .dashboard-main{padding:26px 16px 34px}.tasks-heading{grid-template-columns:1fr;gap:14px;align-items:start}.tasks-heading-note{max-width:34em}.tasks-page .view-switch{width:100%;height:auto;flex-wrap:wrap;justify-content:flex-start}.tasks-page .view-switch .secondary-button{flex:0 0 auto}.tasks-export{justify-self:start}.tasks-page .tasks-filters{padding:14px}.tasks-page .tasks-filters>*{flex-basis:100%}.tasks-page .tasks-add{margin-bottom:20px}}@media (max-width:640px){.tasks-page .kanban{grid-template-columns:1fr}.tasks-page .kanban-body{min-height:220px}}.tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;white-space:nowrap;border:0;border-bottom:2px solid transparent;padding:12px 16px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .18s,border-color .18s}.tab:hover{color:var(--text)}.tab.active{border-color:var(--primary-strong);color:var(--primary-text)}.assessment-tabs+.data-panel,.assessment-tabs+.notice+.data-panel,.tabs+.data-panel,.tabs+.notice+.data-panel,.tabs+.primary-button+.data-panel,.tabs+.secondary-button+.data-panel,.tabs+button+.data-panel,.tabs+div+.data-panel,.tabs+form+.data-panel,.tabs+section+.data-panel{margin-top:20px}.data-panel{position:relative;border:1px solid var(--border);border-radius:12px;background:var(--surface-glass)}.data-panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border)}.data-panel-head h3{font-size:18px}.data-panel+.data-panel{margin-top:16px}.dashboard-grid>.data-panel,.dashboard-grid>.data-panel+.data-panel{margin-top:0}.data-panel-footer,.form-actions{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:16px 20px;border-top:1px solid var(--border-soft);background:var(--surface-dim);border-bottom-left-radius:11px;border-bottom-right-radius:11px}.data-panel>.primary-button,.data-panel>.secondary-button,.data-panel>button{margin:16px 20px}.data-panel-footer>.primary-button,.data-panel-footer>.secondary-button,.data-panel-footer>button,.form-actions>.primary-button,.form-actions>.secondary-button,.form-actions>button{margin:0}.panel-copy{margin:0;padding:16px 20px;border-bottom:1px solid var(--border-soft);font-size:14px;color:var(--text-muted)}.panel-copy strong{color:var(--text-strong)}.preview-block{display:grid;gap:12px;padding:20px 24px 24px}.preview-block p{margin:0;font-size:14px}.preview-block .muted{color:var(--text-muted)}.data-table{display:grid;width:100%;overflow-x:auto}.data-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:16px;padding:15px 20px;border-bottom:1px solid var(--border-soft);color:var(--text-muted);font-size:12px}.data-row strong{color:var(--text-strong)}.data-row.table-head{background:var(--head-bg);color:var(--text-faint);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.data-row.table-head>div,.data-row.table-head>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-row.table-cols-2{grid-template-columns:1fr 1fr}.data-row.table-cols-4{grid-template-columns:1.4fr 1fr 1fr 1fr}.data-row.table-cols-5{grid-template-columns:1.5fr 1fr .9fr .8fr .9fr}.data-row.table-cols-6{grid-template-columns:1.3fr .9fr .9fr .9fr .9fr .8fr}.data-row.table-cols-7{grid-template-columns:1.6fr .9fr .8fr .9fr 1.1fr .6fr 1fr}.data-row.table-cols-8{grid-template-columns:1.3fr .9fr .9fr 1fr 1.2fr .9fr .9fr .8fr}.data-row.table-cols-9{grid-template-columns:1.3fr .9fr .8fr 1fr .9fr .8fr .9fr .9fr .8fr}.data-row.table-cols-10{grid-template-columns:1.3fr .9fr .8fr 1.1fr .9fr .8fr 1.1fr 1.1fr 1.2fr .8fr}.data-row>div,.data-row>span,.data-row>strong{min-width:0;overflow-wrap:anywhere;word-break:break-word}.data-row.table-cols-5{min-width:720px}.data-row.table-cols-6{min-width:860px}.data-row.table-cols-7{min-width:980px}.data-row.table-cols-8{min-width:1080px}.data-row.table-cols-9{min-width:1180px}.data-row.table-cols-10{min-width:1320px}@media (max-width:768px){.data-row.table-cols-4{min-width:560px}.data-table>.data-row[style*=grid-template-columns]{min-width:720px}.data-row.attendance-student-row{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(150px,1fr)}}.data-panel .data-table{overflow-x:auto}.data-empty,.data-error{padding:42px 20px;color:var(--text-muted);text-align:center}.data-error{color:var(--danger-text)}.add-button{display:inline-flex;width:auto;margin-bottom:16px}.form-dialog-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:var(--backdrop);overflow:hidden;overscroll-behavior:contain}.form-dialog{width:min(calc(100vw - 48px),720px);max-width:calc(100vw - 48px);max-height:min(calc(100vh - 48px),85vh);max-height:min(calc(100dvh - 48px),85dvh);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--input-border);border-radius:16px;background:var(--surface);box-shadow:0 24px 80px var(--dialog-shadow)}.form-dialog.compact{width:min(calc(100vw - 48px),480px)}@media (max-width:640px){.form-dialog-backdrop{padding:16px;align-items:start}.form-dialog-backdrop.mobile-center{align-items:center}.form-dialog{width:min(calc(100vw - 32px),100%);max-width:calc(100vw - 32px);max-height:min(calc(100vh - 32px),90vh);max-height:min(calc(100dvh - 32px),90dvh);box-sizing:border-box}.form-dialog-head{align-items:flex-start!important;flex-wrap:wrap;gap:12px!important;padding:16px 18px!important}.form-dialog-title-wrapper{flex:1 1 auto;min-width:0}.form-dialog-head>div:last-child{flex:0 0 auto;margin-left:auto}.form-dialog-head h2{overflow-wrap:anywhere!important;font-size:16px!important;line-height:1.35!important}.form-dialog .assessment-form,.form-dialog .crud-form,.form-dialog>div:not(.form-dialog-head),.form-dialog>form{padding:18px!important;box-sizing:border-box}}.form-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border)}.form-dialog-title-wrapper{display:flex;align-items:center;gap:12px}.form-dialog-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--primary-dim);color:var(--primary-strong);flex-shrink:0}.form-dialog-head h2{color:var(--text-strong);font-size:18px;font-weight:700;margin:0}.form-dialog .assessment-form,.form-dialog .crud-form,.form-dialog>div:not(.form-dialog-head),.form-dialog>form{margin:0;padding:24px;border:0;border-radius:0;background:transparent}.form-dialog .icon-button{flex-shrink:0;color:var(--text);font-size:22px}.form-stack{display:grid;gap:16px;padding:24px;box-sizing:border-box}.form-stack>label{display:grid;gap:7px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1.35}.form-stack input,.form-stack select,.form-stack textarea{width:100%;box-sizing:border-box;border:1px solid var(--input-border);border-radius:10px;padding:11px 12px;background:var(--inset);color:var(--input-text);outline:none;transition:border-color .18s,box-shadow .18s}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.form-stack input.register-picker-checkbox{width:16px;height:16px;padding:0;border-radius:4px;flex-shrink:0}.form-stack .register-picker-name{overflow-wrap:break-word;word-break:normal}.form-stack>.primary-button,.form-stack>button[type=submit]{justify-self:start;margin-top:4px}.timetable-grid{overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface-glass)}.timetable-head,.timetable-row{display:grid;grid-template-columns:56px repeat(5,1fr)}@media (max-width:768px){.timetable-grid{overflow-x:auto}.timetable-head,.timetable-row{min-width:620px}}.unified-timetable-grid{table-layout:fixed}@media (max-width:768px){.unified-timetable-grid{min-width:900px}}.timetable-head{color:var(--text-muted);font-size:11px;font-weight:700;text-align:center;background:var(--surface-glass)}.timetable-head span{padding:14px 8px;border-bottom:1px solid var(--border);border-right:1px solid var(--border-soft);display:flex;align-items:center;justify-content:center}.timetable-head span:last-child{border-right:none}.timetable-row>strong{display:grid;place-items:center;color:var(--text-faint);font-weight:700;border-right:1px solid var(--border);border-bottom:1px solid var(--border-soft);background:var(--surface-glass)}.timetable-row:last-child>strong{border-bottom:none}.timetable-cell{min-height:58px;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);color:var(--text-faint);text-align:center;box-sizing:border-box;position:relative}.timetable-cell:last-child{border-right:none}.timetable-row:last-child .timetable-cell{border-bottom:none}.timetable-cell span{font-size:18px;color:var(--text-faint)}.timetable-cell.filled{background:transparent}.timetable-slot-card{width:100%;height:100%;min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 6px;border:1px solid var(--primary-border);border-radius:10px;background:var(--primary-dim);color:var(--primary-text);box-sizing:border-box;transition:transform .15s,box-shadow .15s}.timetable-slot-card b{font-size:11px}.timetable-slot-card small{color:var(--text-muted);font-size:10px}.timetable-cell[draggable=true]{cursor:grab}.timetable-cell[draggable=true]:active{cursor:grabbing}.timetable-cell[draggable=true]:active .timetable-slot-card{opacity:.65;transform:scale(.97)}.timetable-cell.conflict-flash{animation:timetable-conflict-flash .6s ease-in-out 3}.timetable-cell.conflict-flash .timetable-slot-card{border-color:var(--danger,#d64545);background:color-mix(in srgb,var(--danger,#d64545) 15%,transparent)}@keyframes timetable-conflict-flash{0%,to{background:var(--danger,#d64545);color:#fff}50%{background:transparent}}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--border-soft,var(--border))}@media (max-width:768px){.calendar-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(76px,1fr))}.calendar-cell,.calendar-day-head{min-width:76px}}.calendar-day-head{padding:12px 8px;text-align:center;font-size:11px;font-weight:700;color:var(--text-muted);background:var(--surface-glass)}.calendar-cell{min-height:96px;padding:8px;display:flex;flex-direction:column;gap:4px;background:var(--surface-glass);border:1px solid var(--border-soft)}.calendar-cell.empty{background:transparent}.calendar-cell.today{outline:2px solid var(--primary-border,#7aa5f5);outline-offset:-2px}.calendar-day-num{align-self:flex-end;font-size:12px;font-weight:700;color:var(--text-faint)}.calendar-more{font-size:10px}.calendar-chip{border:none;text-align:left;font-size:10px;line-height:1.3;padding:4px 6px;border-radius:8px;cursor:pointer;color:var(--primary-text);background:var(--primary-dim);border-left:3px solid var(--primary)}.calendar-chip:hover{filter:brightness(1.06)}.calendar-chip.meeting{background:var(--blue-dim);color:var(--secondary-text);border-left-color:var(--accent-blue);font-weight:500}.calendar-chip.duty{background:var(--green-dim);color:var(--green-strong);border-left-color:var(--accent-green);font-weight:500}.calendar-chip.event{background:var(--amber-bg);color:var(--amber-ink);border-left-color:var(--accent-amber);font-weight:500}.calendar-chip.class{background:var(--neutral-bg);color:var(--text);border-left-color:var(--input-border);font-weight:500}.calendar-chip.active,.calendar-grid+.secondary-button.active{outline:2px solid var(--primary-border)}.assessment-main{width:100%;max-width:none}.phase-action-grid,.phase-dialog-launch-grid,.phase-metric-grid,.phase-shortcut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;width:100%}.phase-topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.phase-action-card,.phase-dialog-launch,.phase-metric-card,.phase-shortcut-card{min-width:0;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 1px 2px var(--card-shadow)}.phase-action-card,.phase-shortcut-card{display:flex;flex-direction:column;gap:14px;padding:22px}.phase-action-card h3,.phase-shortcut-card strong{margin:0;color:var(--text-strong);font-size:16px}.phase-action-card p,.phase-shortcut-card p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.6}.phase-action-card .primary-button,.phase-shortcut-card>div{margin-top:auto}.phase-metric-card{display:grid;gap:10px;min-height:150px;padding:22px}.phase-metric-card span{color:var(--text-muted);font-size:13px;font-weight:700}.phase-metric-card strong{color:var(--primary-strong);font-size:32px;line-height:1}.phase-metric-card small{color:var(--text-faint);font-size:12px;line-height:1.5}.phase-action-card .primary-button,.phase-shortcut-card .primary-button{width:-moz-fit-content;width:fit-content;justify-content:center}.phase-dialog-launch{display:grid;align-content:start;gap:8px;min-height:94px;padding:18px;border-radius:16px;text-align:left}.phase-dialog-launch span,.phase-dialog-launch strong{min-width:0}.phase-dialog-launch strong{color:var(--text-strong);font-size:14px}.phase-dialog-launch span{color:var(--text-muted);font-size:12px;line-height:1.5}@media (max-width:768px){.phase-action-grid,.phase-dialog-launch-grid,.phase-metric-grid,.phase-shortcut-grid{grid-template-columns:1fr}.phase-action-card,.phase-dialog-launch,.phase-metric-card,.phase-shortcut-card{padding:18px}}.phase4-main{gap:20px;padding:clamp(20px,2.6vw,36px)}.phase4-hero-panel{align-items:flex-start;padding:clamp(20px,2.4vw,30px);border:1px solid var(--border);border-radius:var(--radius-panel,12px);background:linear-gradient(135deg,var(--surface),var(--surface-glass));box-shadow:0 1px 2px var(--card-shadow)}.phase4-hero-panel>div{min-width:0}.phase4-hero-panel h2{margin:0 0 8px;font-size:clamp(26px,3vw,38px);line-height:1.05}.phase4-hero-panel p{margin:0;max-width:72ch;color:var(--text-muted);line-height:1.6}.phase4-hero-panel .assessment-status{flex-shrink:0;display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-weight:800;letter-spacing:.04em}.phase4-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;width:100%}.phase4-metric-card{display:grid;align-content:start;gap:10px;min-height:140px;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 1px 2px var(--card-shadow)}.phase4-metric-card span{color:var(--text-muted);font-size:12px;font-weight:700}.phase4-metric-card strong{color:var(--text-strong);font-size:clamp(20px,2vw,28px);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phase4-metric-card small{color:var(--text-faint);font-size:12px;line-height:1.5}.phase4-panel{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.phase4-panel .data-panel-head{gap:14px;padding:20px 24px}.phase4-panel .data-panel-head>div{display:grid;gap:6px;min-width:0}.phase4-panel .data-panel-head h3{margin:0}.phase4-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding:0 24px;background:var(--surface)}.phase4-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 18px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font-weight:700;font-size:14px;cursor:pointer;transition:all .2s ease}.phase4-tab-btn:hover{color:var(--primary-text)}.phase4-tab-btn.active{color:var(--primary-color,#2563eb);border-bottom-color:var(--primary-color,#2563eb);background:var(--primary-dim-2,rgba(37,99,235,.05))}.phase4-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;background:var(--surface);border-bottom:1px solid var(--border-soft)}.phase4-search-box{display:flex;align-items:center;gap:8px;min-width:280px;max-width:420px;padding:8px 14px;border:1px solid var(--border);border-radius:10px;background:var(--background)}.phase4-search-box input{border:none;outline:none;background:transparent;width:100%;font-size:14px;color:var(--text-strong)}.phase4-filter-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.phase4-filter-pill{padding:6px 14px;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.phase4-filter-pill:hover{border-color:var(--primary-border);color:var(--primary-text)}.phase4-filter-pill.active{background:var(--primary-color,#2563eb);color:#fff;border-color:var(--primary-color,#2563eb)}.phase4-table-wrapper{width:100%;overflow-x:auto;padding:0}.phase4-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.phase4-table th{padding:14px 20px;background:var(--surface-subtle,#f8fafc);color:var(--text-muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.phase4-table td{padding:14px 20px;border-bottom:1px solid var(--border-soft);color:var(--text-normal);vertical-align:middle}.phase4-table tr:hover td{background:var(--surface-hover,rgba(0,0,0,.02))}.phase4-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1}.phase4-status-badge.success{background:#dcfce7;color:#15803d}.phase4-status-badge.info{background:#dbeafe;color:#1d4ed8}.phase4-status-badge.warning{background:#fef3c7;color:#b45309}.phase4-status-badge.danger{background:#fee2e2;color:#b91c1c}.phase4-status-badge.muted{background:#f3f4f6;color:#6b7280}.phase4-row-actions{display:flex;align-items:center;gap:6px}.phase4-row-btn{padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-control,8px);background:var(--surface);color:var(--text-normal);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.phase4-row-btn:hover{border-color:var(--primary-color,#2563eb);color:var(--primary-color,#2563eb);background:var(--primary-dim-2,rgba(37,99,235,.05))}.phase4-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;width:100%}.phase4-action-button{justify-content:space-between;min-height:62px;padding:14px 16px;border-radius:14px;text-align:left}.phase4-action-button small,.phase4-action-button span{min-width:0}.phase4-action-button span{color:var(--text-strong);font-weight:800}.phase4-action-button small{flex-shrink:0;color:var(--text-faint);font-size:11px}.phase4-message{margin:20px 24px 0;padding:14px 16px;border-radius:12px;font-size:13px;font-weight:700}.phase4-message.success{border:1px solid color-mix(in srgb,var(--accent-green) 28%,transparent);background:color-mix(in srgb,var(--accent-green) 10%,var(--surface));color:var(--accent-green)}.phase4-message.error{border:1px solid color-mix(in srgb,var(--danger-text) 28%,transparent);background:color-mix(in srgb,var(--danger-text) 10%,var(--surface));color:var(--danger-text)}.phase4-dialog .phase4-action-form{gap:18px;padding:24px}.phase4-dialog-copy{margin:0;padding:14px 16px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-dim);font-size:13px;line-height:1.6}.phase4-action-form label span,.phase4-dialog-copy{color:var(--text-muted)}.phase4-dialog-actions{margin:6px -24px -24px;flex-wrap:wrap}.phase4-dialog-actions .primary-button,.phase4-dialog-actions .secondary-button{min-width:110px;justify-content:center}.phase4-view-dialog{display:grid;gap:16px;padding:24px}.phase4-view-dialog>div:first-child{display:grid;gap:8px;padding:16px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-dim)}.phase4-view-dialog strong{color:var(--text-strong);font-size:20px;overflow-wrap:anywhere}.phase4-view-dialog p{margin:0;color:var(--text-muted);line-height:1.6}@media (max-width:768px){.phase4-main{padding:20px 16px 28px}.phase4-hero-panel{flex-direction:column;padding:18px}.phase4-hero-panel .assessment-status{width:100%;justify-content:center}.phase4-actions-grid,.phase4-dialog .phase4-action-form,.phase4-panel .data-panel-head{padding-left:18px;padding-right:18px}.phase4-actions-grid{grid-template-columns:1fr;padding-bottom:18px}.phase4-view-list{padding:18px}.phase4-view-row{grid-template-columns:1fr}.phase4-view-pill{justify-self:start}.phase4-message{margin-left:18px;margin-right:18px}.phase4-dialog-actions{margin-left:-18px;margin-right:-18px;margin-bottom:-24px}}.dashboard-main>.profile-form{max-width:1120px}.assessment-status{color:var(--primary-strong);font-size:11px}.assessment-status i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor}.assessment-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:end;margin-bottom:0}.data-panel>.assessment-filters,.data-panel>form.assessment-filters{padding:16px 20px 20px;box-sizing:border-box}.data-panel-head+.assessment-filters,.data-panel-head+form.assessment-filters{padding-top:16px!important}.data-panel>.assessment-filters:last-child,.data-panel>form.assessment-filters:last-child{margin-bottom:0}.assessment-form label{display:flex;flex-direction:column;gap:7px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;width:100%}.assessment-filters label{display:flex;flex-direction:row;align-items:center;gap:8px;white-space:nowrap;color:var(--text-muted);font-size:13px;font-weight:500;width:auto}.assessment-filters label>.searchable-select,.assessment-filters label>input,.assessment-filters label>select{flex:1;min-width:140px}.assessment-filters>button{align-self:end}.assessment-filters input,.assessment-filters select,.assessment-form input,.assessment-form select,.assessment-form textarea,.assessment-row input{width:100%;box-sizing:border-box;border:1px solid var(--input-border);border-radius:10px;padding:11px 12px;background:var(--inset);color:var(--input-text);outline:none;transition:border-color .18s,box-shadow .18s}.assessment-filters input:focus,.assessment-filters select:focus,.assessment-form input:focus,.assessment-form select:focus,.assessment-form textarea:focus,.assessment-row input:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.assessment-filters .filter-search{position:relative;display:flex;align-items:center;width:100%}.assessment-filters .filter-search input:not([type=checkbox]){width:100%;padding-left:36px;box-sizing:border-box}.assessment-filters .filter-search>svg{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.assessment-tabs{margin-top:16px;margin-bottom:24px}.assessment-filters.filters-actions{grid-template-columns:1fr 1fr auto}@media (max-width:768px){.assessment-filters.filters-actions{grid-template-columns:1fr}.assessment-filters.filters-actions>button{justify-self:start}}.assessment-actions{display:flex;gap:8px}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:16px}.filter-bar,.filter-search{display:flex;align-items:center}.filter-search{position:relative;flex:1;min-width:0}.filter-search>svg{position:absolute;left:12px;color:var(--text-faint);pointer-events:none}.filter-search input:not([type=checkbox]){width:100%;box-sizing:border-box;border:1px solid var(--input-border);border-radius:10px;padding:11px 34px 11px 36px;background:var(--inset);color:var(--input-text);font-size:13px;outline:none;transition:border-color .18s,box-shadow .18s}.filter-search input::-moz-placeholder{color:var(--placeholder)}.filter-search input::placeholder{color:var(--placeholder)}.filter-search input:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.readonly-target{min-height:40px;box-sizing:border-box;border:1px dashed var(--input-border);border-radius:10px;padding:10px 12px;background:var(--inset);color:var(--input-text);font-size:13px}.filter-clear,.readonly-target{display:flex;align-items:center}.filter-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:var(--neutral-bg);color:var(--text-muted);font-size:14px;line-height:1;cursor:pointer;transition:background .18s,color .18s}.filter-clear svg{position:static;left:auto;pointer-events:auto;display:block}.filter-clear:hover{background:var(--danger-bg);color:var(--danger-text)}.filter-select{box-sizing:border-box;width:200px;flex-shrink:0;border:1px solid var(--input-border);border-radius:10px;padding:11px 12px;background:var(--inset);color:var(--input-text);font-size:13px;outline:none;transition:border-color .18s,box-shadow .18s}.filter-select:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.select-input{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--input-border);border-radius:10px;padding:11px 12px;background:var(--inset);color:var(--input-text);font-size:13px;outline:none;transition:border-color .18s,box-shadow .18s}.select-input:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.assessment-filters .select-input,.topbar-actions .select-input{width:220px}.primary-button{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;width:auto;max-width:100%;border:0;border-radius:999px;padding:11px 16px;background:var(--primary-btn);color:#fff;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .18s,transform .15s}.primary-button:hover{background:var(--primary-hover);transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.55}.notice{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:12px 18px;border:1px solid var(--border);border-radius:12px;background:var(--neutral-bg);color:var(--text);font-size:13px;line-height:1.4}.notice svg{flex-shrink:0}.notice.success{border-color:var(--green-border);background:var(--green-bg);color:var(--green-strong)}.notice.error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text);font-weight:500}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none;width:min(100% - 40px,380px)}.toast{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 12px 40px var(--dialog-shadow);color:var(--text);font-size:13px;line-height:1.5;pointer-events:auto;cursor:pointer;animation:toast-in .18s ease-out}.toast-icon{display:grid;place-items:center;flex-shrink:0}.toast.success .toast-icon{color:var(--green-strong)}.toast.error .toast-icon{color:var(--danger-text)}.toast.info .toast-icon{color:var(--accent-blue)}.toast-message{flex:1;min-width:0}.toast-close{flex-shrink:0;display:grid;place-items:center;padding:4px;border:0;border-radius:var(--radius-control,8px);background:transparent;color:var(--text-muted);cursor:pointer}.toast-close:hover{background:var(--surface-dim-hover);color:var(--text-strong)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.field-error{display:block;margin-top:6px;color:var(--danger-text);font-size:12px;line-height:1.4}.assessment-table{overflow-x:auto}.assessment-row{display:grid;grid-template-columns:1.5fr 1fr .8fr 1fr;align-items:center;gap:16px;min-width:650px;padding:14px 20px;border-bottom:1px solid var(--border-soft);color:var(--text-muted);font-size:12px}@media (max-width:768px){.assessment-row{min-width:480px}}.assessment-row strong{color:var(--text-strong)}.assessment-row small{display:block;margin-top:5px;color:var(--text-faint)}.assessment-row.table-head{color:var(--text-faint);font-size:10px;font-weight:700;text-transform:uppercase}.assessment-row.table-cols-3{grid-template-columns:1.5fr .8fr 1fr}.assessment-row.table-cols-5{grid-template-columns:1.5fr 1.3fr 1fr 1fr .8fr;min-width:760px}.assessment-row.table-cols-6{grid-template-columns:1fr 1.2fr 1fr 1fr .8fr .9fr;min-width:880px}.assessment-row.table-cols-7{grid-template-columns:.9fr 1.2fr 1fr 1.3fr 1.3fr .5fr .8fr;min-width:820px}.assessment-row.table-cols-7 .badge{justify-self:start}.assessment-row input{max-width:100px;padding:8px 10px}.assessment-row .searchable-select{max-width:120px}.assessment-row .primary-button{justify-self:end}.badge{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:99px;padding:5px 9px;font-size:10px}.badge.locked{background:var(--amber-bg);color:var(--accent-amber)}.badge.open{background:var(--green-bg);color:var(--green-strong)}.badge.pending{background:var(--blue-dim);color:var(--text-strong)}.badge.neutral{background:var(--neutral-bg);color:var(--text-muted)}.activities-page .badge{border-radius:9999px;padding:3px 10px;white-space:nowrap;align-self:center}.activities-page .badge,.norm-badge{font-size:11px;width:-moz-fit-content;width:fit-content;max-width:100%}.norm-badge{display:inline-flex;align-items:center;gap:4px;border-radius:99px;padding:3px 9px;line-height:1.35}.norm-badge.tone-ok{background:var(--green-bg);color:var(--green-strong)}.norm-badge.tone-blocked,.norm-badge.tone-invalid{background:var(--danger-bg);color:var(--danger-text)}.norm-badge.tone-not-applied{background:var(--amber-bg);color:var(--accent-amber)}.norm-total-sub{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.norm-hint{margin:2px 0 6px;font-size:12px;line-height:1.5;grid-column:1/-1}.norm-hint.ok{color:var(--text-muted)}.norm-hint.not-applied{color:var(--accent-amber)}.norm-hint.invalid{color:var(--danger-text)}.norm-section-link{font-size:12px;color:var(--primary);display:inline-flex;align-items:center;gap:4px}.assessment-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px}.assessment-form .wide{grid-column:1/-1}.parent-form-section-title{color:var(--text-strong);font-size:13px;font-weight:800;letter-spacing:.55px;text-transform:uppercase}.parent-student-link-section{display:flex;flex-direction:column;gap:14px;margin-top:10px;padding:22px 24px;border:1px solid var(--border);border-radius:16px;background:var(--surface-card,hsla(0,0%,100%,.02))}.parent-student-link-section .parent-form-section-title{font-size:15px;font-weight:700;color:var(--text-strong)}.parent-form-section-description{margin:-2px 0 6px;color:var(--text-muted);font-size:13px;line-height:1.5}.assessment-form>.assessment-actions,.assessment-form>.form-actions,.assessment-form>.muted,.assessment-form>.primary-button,.assessment-form>.secondary-button,.assessment-form>button,.assessment-form>p{grid-column:1/-1}.assessment-form>button{justify-self:end;margin-top:6px}.question-bank-filters{gap:18px;padding:0 24px}.question-bank-filters,.question-bank-form{grid-template-columns:1fr 1fr}.question-bank-form .assessment-actions,.question-bank-form .wide{grid-column:1/-1}.question-bank-panel>.assessment-table,.question-bank-panel>.data-empty{margin-right:24px;margin-left:24px}.assessment-main .assessment-form .assessment-actions{grid-column:1/-1}@media (max-width:768px){.question-bank-filters,.question-bank-form{grid-template-columns:1fr;gap:14px}.question-bank-filters{padding:0 16px}.question-bank-form{padding:16px}.question-bank-panel>.assessment-table,.question-bank-panel>.data-empty{margin-right:16px;margin-left:16px}.assessment-main .assessment-form .assessment-actions,.question-bank-form .assessment-actions,.question-bank-form .wide{grid-column:auto}}.entry-methods{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:28px;align-items:center;margin:22px 0 14px;padding:22px 24px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface)}.entry-methods-copy h2{margin-top:7px;color:var(--text-strong);font-size:22px;letter-spacing:-.045em}.entry-methods-copy .muted{max-width:340px;margin-top:7px;line-height:1.55}.entry-method-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px}.entry-method{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-height:88px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--inset);color:var(--text-muted);text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.entry-method:hover{border-color:var(--primary-border);transform:translateY(-1px)}.entry-method.active{border-color:var(--primary);background:var(--primary-dim-2);color:var(--text-strong);box-shadow:inset 3px 0 0 var(--primary)}.entry-method-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--primary-dim);color:var(--primary-strong)}.entry-method small,.entry-method strong{display:block}.entry-method strong{font-size:13px}.entry-method small{margin-top:5px;font-size:10px;font-weight:400;line-height:1.35}.entry-method small,.entry-method>svg{color:var(--text-faint)}.entry-workspace{overflow:hidden;margin-bottom:14px}.entry-workspace .data-panel-head{align-items:flex-start;padding:22px 24px 18px}.panel-description{margin-top:6px;color:var(--text-muted);font-size:12px;line-height:1.5}.data-panel-head .badge{align-items:center;gap:5px;white-space:nowrap}.excel-steps{display:flex;gap:22px;padding:12px 24px;border-bottom:1px solid var(--border-soft);background:var(--inset);color:var(--text-muted);font-size:11px}.excel-steps b{margin-right:5px;color:var(--primary-strong);font-variant-numeric:tabular-nums}.file-drop,.upload-guide{display:flex;align-items:center;gap:12px;min-height:72px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--inset)}.file-drop>svg,.upload-guide>svg{flex:0 0 auto;color:var(--primary-strong)}.upload-guide p{margin-top:4px;line-height:1.4}.upload-guide .secondary-button{margin-left:auto;flex-shrink:0}.file-drop{position:relative;cursor:pointer;border-style:dashed;transition:border-color .2s,background .2s}.file-drop:hover{border-color:var(--primary);background:var(--primary-dim-2)}.file-drop span{display:grid;gap:4px}.file-drop small{color:var(--text-faint);font-size:11px;font-weight:400}.file-drop input{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}.import-spec-box{grid-column:1/-1;padding:20px 22px;border:1px solid var(--border);border-radius:14px;background:var(--surface-card,hsla(0,0%,100%,.02));box-shadow:0 4px 16px rgba(0,0,0,.08)}.import-spec-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--text-strong);font-size:14px;font-weight:700}.import-spec-header svg{color:var(--primary-strong)}.import-spec-desc{margin:0 0 16px;color:var(--text-muted);font-size:12px;line-height:1.5}.import-spec-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}@media (max-width:768px){.import-spec-cols{grid-template-columns:repeat(2,1fr)}}.import-col-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:11px 13px;border:1px solid var(--border-soft);border-radius:10px;background:var(--inset);transition:transform .15s ease,border-color .15s ease}.import-col-card:hover{border-color:var(--primary-strong);transform:translateY(-1px)}.import-col-tag{color:var(--primary-strong);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.import-col-title{color:var(--text-strong);font-size:12px;font-weight:700}.import-col-hint{color:var(--text-muted);font-size:10px}.file-drop-hero{position:relative;grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 24px;border:2px dashed var(--border-strong,var(--border));border-radius:14px;background:var(--inset);text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .15s ease}.file-drop-hero:hover{border-color:var(--primary-strong);background:var(--primary-dim-2);transform:translateY(-1px)}.file-drop-hero input{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}.file-drop-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--primary-dim);color:var(--primary-strong)}.file-drop-text strong{display:block;color:var(--text-strong);font-size:14px;font-weight:700;margin-bottom:4px}.file-drop-text small{color:var(--text-muted);font-size:11px}.manual-entry-banner{grid-column:1/-1;display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-card,hsla(0,0%,100%,.02))}.manual-entry-banner-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:10px;background:var(--primary-dim);color:var(--primary-strong)}.manual-entry-banner-text strong{display:block;color:var(--text-strong);font-size:14px;font-weight:700}.manual-entry-banner-text p{margin:4px 0 0;color:var(--text-muted);font-size:11px;line-height:1.45}.import-result{display:grid;gap:14px;padding:14px;border:1px solid var(--primary-border);border-radius:var(--radius-control)}.import-result,.manual-note{background:var(--primary-dim-2)}.manual-note{display:flex;align-items:center;gap:9px;margin:0 24px 20px;padding:11px 13px;border-left:2px solid var(--primary);color:var(--text-muted);font-size:11px;line-height:1.45}.manual-note .entry-method-icon{width:24px;height:24px;border-radius:7px}.manual-note strong{color:var(--text-strong)}.add-grade-button{align-self:end}.form-dialog .manual-note{margin:0 24px 24px}.validation-panel{margin-top:14px}@media (max-width:860px){.entry-methods{grid-template-columns:1fr;gap:18px}}@media (max-width:620px){.entry-method-switch{grid-template-columns:1fr}.entry-methods,.entry-workspace .data-panel-head,.excel-steps{padding-left:16px;padding-right:16px}.excel-steps{flex-wrap:wrap;gap:8px 16px}.upload-guide{align-items:flex-start;flex-wrap:wrap}.upload-guide .secondary-button{width:100%;margin-left:0}.manual-note{margin-left:16px;margin-right:16px}}.profile-form{display:grid;gap:20px;padding:24px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:16px}.profile-grid label{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em}.profile-grid input,.profile-grid select,.profile-grid textarea{width:100%;box-sizing:border-box;border:1px solid var(--input-border);border-radius:10px;padding:11px 12px;background:var(--inset);color:var(--input-text);outline:none}.profile-grid input:focus,.profile-grid select:focus,.profile-grid textarea:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.profile-form>.primary-button{justify-self:start}.school-page{max-width:1180px;margin:0 auto}.school-page-intro{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:24px}.school-page-intro h2{margin-top:7px;color:var(--text-strong);font-size:clamp(24px,3vw,34px);letter-spacing:-.055em;line-height:1.05}.school-page-intro>.muted{max-width:330px;margin-bottom:2px;font-size:13px;line-height:1.55;text-align:right}.school-profile{display:grid;gap:18px}.school-profile-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:190px;padding:28px 30px;overflow:hidden;background:radial-gradient(circle at 86% 18%,var(--primary-dim),transparent 30%),var(--surface-glass)}.school-profile-hero:after{position:absolute;right:-80px;bottom:-110px;width:260px;height:260px;border:1px solid var(--primary-border);border-radius:50%;content:"";opacity:.6}.school-identity{position:relative;z-index:1;display:flex;align-items:center;gap:20px;flex:1;min-width:0}.school-logo{display:grid;place-items:center;flex:0 0 auto;width:92px;height:92px;overflow:hidden;border:1px solid var(--primary-border);border-radius:var(--radius-panel,12px);background:var(--primary-dim);color:var(--primary-strong);font-size:27px;font-weight:800;letter-spacing:-.08em;box-shadow:0 12px 32px var(--card-shadow)}.school-logo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;padding:0;border-radius:inherit}.school-identity-text{min-width:0}.school-status{display:inline-flex;align-items:center;gap:7px;margin-bottom:9px;color:var(--green-strong);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px var(--green-bg)}.school-identity-text h2{overflow:hidden;color:var(--text-strong);font-size:clamp(22px,3vw,32px);letter-spacing:-.035em;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.school-code,.school-contact,.school-education{margin-top:7px;font-size:12px}.school-code strong{color:var(--text-strong);font-variant-numeric:tabular-nums}.school-education{color:var(--primary-text)}.school-contact{display:flex;align-items:center;flex-wrap:wrap;gap:2px 10px}.school-contact-item{display:inline-flex;align-items:center;gap:6px;min-width:0}.school-contact-item svg{flex:0 0 auto;color:var(--primary-strong)}.school-contact .dot{margin:0 3px;color:var(--text-faint)}.school-upload-btn{position:relative;z-index:1;flex-shrink:0;width:auto;border-color:var(--primary-border);background:var(--surface)}.school-upload-btn:hover{background:var(--primary-dim-2)}.school-profile-form{overflow:hidden}.school-norm-panel{margin-top:16px}.school-form-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:24px 28px 20px;border-bottom:1px solid var(--border)}.school-form-head h3{margin-top:6px;font-size:20px;letter-spacing:-.035em}.school-form-head>.muted{font-size:12px}.school-profile-form .profile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;padding:26px 28px 30px}.school-profile-form .profile-grid .wide{grid-column:1/-1}.school-profile-form .profile-grid label{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;color:var(--text-muted);font-size:11px;letter-spacing:.02em}.school-profile-form .profile-grid input,.school-profile-form .profile-grid select,.school-profile-form .profile-grid textarea{min-height:46px;border-color:var(--border);border-radius:9px;background:var(--inset);font-size:13px;transition:border-color .18s,box-shadow .18s,background .18s}.school-profile-form .profile-grid textarea{min-height:92px;resize:vertical}.school-profile-form .profile-grid input:hover,.school-profile-form .profile-grid select:hover,.school-profile-form .profile-grid textarea:hover{border-color:var(--primary-border)}.school-profile-form .profile-grid input:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.75}.school-profile-form .profile-grid label small{color:var(--text-faint);font-size:10px;font-weight:500;letter-spacing:0}.school-logo-preview{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid var(--border-soft)}.school-logo-preview>span{color:var(--text-muted);font-size:11px;font-weight:700}.school-logo-preview>div{display:flex;align-items:center;gap:12px}.school-logo-preview img{width:54px;height:54px;border:1px solid var(--border);border-radius:12px;background:var(--inset);-o-object-fit:cover;object-fit:cover;padding:0}.school-logo-preview small{color:var(--text-faint);font-size:11px}.school-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:18px 28px;border-top:1px solid var(--border);background:var(--head-bg)}.school-form-actions>div{display:flex;align-items:center;gap:8px;color:var(--text-faint);font-size:11px}.school-form-actions>div svg{color:var(--primary-strong)}@media (max-width:640px){.school-page-intro{display:block}.school-page-intro>.muted{max-width:440px;margin-top:12px;text-align:left}.school-profile-hero{align-items:stretch;flex-direction:column;padding:22px 20px}.school-identity{align-items:flex-start}.school-logo{width:68px;height:68px;border-radius:17px;font-size:20px}.school-identity-text h2{font-size:23px}.school-upload-btn{justify-content:center;width:100%}.school-form-head{align-items:flex-start;flex-direction:column;padding:20px}.school-profile-form .profile-grid{grid-template-columns:minmax(0,1fr);padding:22px 20px 24px}.school-form-actions{align-items:stretch;flex-direction:column;padding:16px 20px 20px}.school-form-actions>div{align-items:flex-start}.school-form-actions .primary-button{width:100%}.school-logo-preview{align-items:flex-start;flex-direction:column}}.scope-badge{display:inline-flex;align-items:center;gap:7px;border-radius:99px;padding:8px 14px;font-size:12px;font-weight:700;white-space:nowrap}.scope-badge i{width:7px;height:7px;border-radius:50%;background:currentColor}.scope-badge.warn{background:var(--amber-bg);color:var(--accent-amber)}.scope-badge.open{background:var(--green-bg);color:var(--green-strong)}.scope-badge.locked{background:var(--neutral-bg);color:var(--text-muted)}.scope-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.scope-stat{border:1px solid var(--border);border-radius:12px;padding:18px 20px;background:var(--surface-glass)}.scope-stat span{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.scope-stat strong{display:block;margin:10px 0 6px;color:var(--text-strong);font-size:26px;letter-spacing:-.04em}.scope-stat strong em{color:var(--text-faint);font-size:14px;font-weight:600;font-style:normal}.scope-stat small{color:var(--text-faint);font-size:11px;line-height:1.5}.module-group{padding:6px 20px 20px}.module-group+.module-group{border-top:1px solid var(--border-soft)}.module-group-head{display:flex;align-items:center;justify-content:space-between;padding:14px 0 12px}.module-group-head h4{margin:0;color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.module-group-head span{color:var(--text-faint);font-size:11px}.enterprise-main{display:flex;flex-direction:column;gap:18px}.enterprise-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.summary-card{display:flex;flex-direction:column;gap:6px;padding:16px 20px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 2px 8px -2px var(--card-shadow);transition:transform .15s ease,box-shadow .15s ease}.summary-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px -2px var(--card-shadow)}.card-label{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--text-muted)}.card-value-row{display:flex;align-items:baseline;gap:6px}.card-num{font-size:22px;font-weight:800;color:var(--text-strong);line-height:1.15}.card-subtext{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;margin-top:2px}.card-subtext.emerald{color:#059669}.card-subtext.indigo{color:#4f46e5}.card-subtext.amber{color:#d97706}.enterprise-filter-panel{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 2px 8px -2px var(--card-shadow)}.filter-top-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.enterprise-search-input{position:relative;display:flex;align-items:center;flex:1 1 260px;max-width:420px}.enterprise-search-input .search-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.enterprise-search-input input:not([type=checkbox]):not([type=radio]){width:100%;padding:8px 32px 8px 36px;border-radius:8px;border:1px solid var(--border);background:var(--bg-dim);color:var(--text-strong);font-size:13px;transition:all .15s ease}.enterprise-search-input input:not([type=checkbox]):not([type=radio]):focus{outline:none;border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--primary-dim)}.clear-search-btn{position:absolute;right:8px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:2px}.status-filter-tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}.status-tab{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:500;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all .15s ease}.status-tab:hover{background:var(--bg-dim);color:var(--text-strong)}.status-tab.active{background:var(--primary-dim);color:var(--primary);font-weight:700;border-color:var(--primary-soft)}.filter-dropdowns-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:10px;border-top:1px dashed var(--border-soft)}.dropdown-item{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.dropdown-label{color:var(--text-muted);font-weight:600;white-space:nowrap}.dropdown-item select{padding:5px 10px;border-radius:var(--radius-control,8px);border:1px solid var(--border);background:var(--bg-dim);color:var(--text-strong);font-size:12px;font-weight:500;cursor:pointer}.reset-filters-btn{padding:4px 10px;border-radius:var(--radius-control,8px);border:1px dashed var(--border-strong,var(--border));background:transparent;color:var(--text-muted);font-size:11.5px;font-weight:600;cursor:pointer;margin-left:auto;transition:all .15s ease}.reset-filters-btn:hover{color:#ef4444;border-color:#ef4444}.enterprise-empty-state{padding:40px 16px;text-align:center;color:var(--text-muted);align-items:center;background:var(--surface);border-radius:12px;border:1px solid var(--border)}.category-group-section,.enterprise-empty-state{display:flex;flex-direction:column;gap:12px}.category-group-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;border-bottom:1px solid var(--border-soft)}.category-group-header h4{margin:0;font-size:14.5px;font-weight:700;color:var(--text-strong)}.group-module-count{font-size:11.5px;font-weight:600;color:var(--text-muted);background:var(--bg-dim);padding:2px 9px;border-radius:99px;border:1px solid var(--border)}.enterprise-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));align-items:start;gap:14px}.enterprise-module-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:0 2px 8px -2px var(--card-shadow);cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,opacity .18s ease}.enterprise-module-card:hover{transform:translateY(-2px);border-color:var(--primary-soft);box-shadow:0 6px 20px -2px var(--card-shadow)}.enterprise-module-card.module-off{border-style:dashed;background:color-mix(in srgb,var(--bg-dim) 85%,var(--surface) 15%);opacity:.8}.enterprise-module-card.module-off:hover{opacity:1;border-color:var(--border-strong,var(--border))}.card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-code-badge{display:inline-grid;place-items:center;min-width:36px;height:22px;padding:0 6px;border-radius:var(--radius-control,8px);background:var(--primary-dim);color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.03em}.enterprise-module-card.module-off .card-code-badge{background:var(--border-soft);color:var(--text-muted)}.card-group-tag{font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-module-title{margin:0;font-size:14px;font-weight:700;color:var(--text-strong);line-height:1.35}.card-status-info{display:flex;flex-direction:column;gap:4px;margin-top:2px}.status-pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;color:var(--text-muted)}.status-pill.full{color:#059669;font-weight:600}.status-pill.partial{color:var(--text-strong);font-weight:600}.status-pill.off{color:var(--text-faint);font-weight:500}.card-action-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px dashed var(--border-soft);color:var(--primary);font-size:12px;font-weight:600;transition:color .15s ease}.enterprise-module-card:hover .card-action-link{color:var(--primary-soft)}.drawer-module-toggle{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:var(--bg-dim);border:1px solid var(--border)}.toggle-label-sm{font-size:11px;font-weight:700;text-transform:uppercase}.toggle-label-sm.on{color:#059669}.toggle-label-sm.off{color:var(--text-muted)}.drawer-warning-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:var(--amber-bg);border:1px solid color-mix(in srgb,var(--accent-amber) 40%,var(--border));color:var(--amber-ink)}.drawer-warning-banner p{margin:2px 0 0;font-size:11.5px;line-height:1.45}.drawer-feature-item.disabled{opacity:.55;background:color-mix(in srgb,var(--bg-dim) 60%,var(--surface) 40%);pointer-events:none}.confirm-modal-overlay{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;animation:fadeIn .18s ease}.confirm-modal-box{width:100%;max-width:420px;padding:24px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:0 16px 40px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:12px;animation:popIn .2s cubic-bezier(.16,1,.3,1)}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-icon-header{display:flex;align-items:center}.warning-amber{color:var(--accent-amber)}.confirm-modal-box h3{margin:0;font-size:17px;font-weight:700;color:var(--text-strong)}.confirm-modal-box p{margin:0;font-size:13px;color:var(--text-strong);line-height:1.5}.modal-subtext{font-size:12px!important;color:var(--text-muted)!important}.modal-action-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:8px}.danger-button{gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;border:1px solid #ef4444;background:#ef4444;transition:all .15s ease}.danger-button:hover{background:#dc2626;border-color:#dc2626}.drawer-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);display:flex;justify-content:flex-end;animation:fadeIn .2s ease}.drawer-content{width:100%;max-width:480px;height:100%;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 32px rgba(0,0,0,.15);display:flex;flex-direction:column;animation:slideLeft .25s cubic-bezier(.16,1,.3,1)}@keyframes slideLeft{0%{transform:translateX(100%)}to{transform:translateX(0)}}.drawer-header{justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.drawer-header,.drawer-title-area{display:flex;align-items:center;gap:12px}.drawer-code-tag{display:grid;place-items:center;min-width:42px;height:28px;padding:0 8px;border-radius:8px;background:var(--primary-dim);color:var(--primary);font-size:12px;font-weight:800}.drawer-title-area h3{margin:0;font-size:16px;font-weight:700;color:var(--text-strong);line-height:1.25}.drawer-controls{display:flex;align-items:center;gap:8px}.drawer-close-btn,.drawer-icon-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--bg-dim);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.drawer-close-btn:hover,.drawer-icon-btn:hover{background:var(--surface);color:var(--text-strong);border-color:var(--border-strong,var(--border))}.drawer-menu-container{position:relative}.drawer-dropdown-menu{position:absolute;top:38px;right:0;z-index:10;display:flex;flex-direction:column;width:180px;padding:6px;border-radius:10px;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.15)}.drawer-dropdown-menu button{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-control,8px);border:none;background:transparent;color:var(--text-strong);font-size:12px;font-weight:500;cursor:pointer;text-align:left;transition:background .12s}.drawer-dropdown-menu button:hover{background:var(--bg-dim)}.drawer-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.drawer-note-box{padding:10px 12px;border-left:3px solid var(--accent-amber);border-radius:0 8px 8px 0;background:var(--amber-bg);color:var(--amber-ink);font-size:12px;line-height:1.5}.drawer-features-count{font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--text-muted)}.drawer-features-list{display:flex;flex-direction:column;gap:10px}.drawer-feature-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:10px;background:var(--bg-dim);border:1px solid var(--border);transition:border-color .15s}.drawer-feature-item.mandatory{border-left:3px solid #10b981}.drawer-feature-item.optional{border-left:3px solid #8b5cf6}.feature-main-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.feature-title-row{display:flex;align-items:baseline;gap:8px}.feature-title-row strong{font-size:13px;font-weight:600;color:var(--text-strong)}.feature-code-sm{font-size:10.5px;font-weight:700;color:var(--text-muted)}.feature-desc-text{margin:0;font-size:11.5px;color:var(--text-muted);line-height:1.4}.feature-action-col{display:flex;align-items:center;flex-shrink:0;padding-top:2px}.badge-mandatory{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:#059669;background:var(--green-dim);padding:3px 10px;border-radius:99px;border:1px solid var(--green-border)}.optional-toggle-wrapper{display:flex;align-items:center;gap:10px}.badge-optional{font-size:11px;font-weight:700;color:#8b5cf6;background:color-mix(in srgb,#8b5cf6 12%,var(--surface));padding:2px 8px;border-radius:99px}.unsaved-bar-sticky{position:sticky;bottom:20px;z-index:80;display:flex;justify-content:center;margin-top:20px;padding:0 16px;pointer-events:none;animation:slideUp .22s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.unsaved-bar-inner{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:640px;padding:10px 18px;border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--accent-amber) 50%,var(--border));box-shadow:0 12px 32px -4px rgba(0,0,0,.2)}.unsaved-info{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-strong)}.warning-icon{color:var(--accent-amber)}.unsaved-actions{display:flex;align-items:center;gap:8px}.feature-list{display:grid;gap:6px;padding:10px 11px;border:1px dashed var(--border);border-radius:10px;background:var(--head-bg)}.feature-list-head span{color:var(--text-faint);font-size:9px;font-weight:700;letter-spacing:.12em}.feature-item{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:8px 9px;border-radius:10px;background:var(--surface-dim);cursor:pointer;transition:background .18s}.feature-item:hover{background:var(--surface-dim-hover)}.feature-item .feature-check{position:relative;display:grid;place-items:center;width:17px;height:17px;margin-top:1px;border:1px solid var(--input-border);border-radius:5px;background:var(--surface);flex-shrink:0}.feature-item .feature-check input{position:absolute;opacity:0;pointer-events:none}.feature-item .feature-check i{width:9px;height:5px;border-left:2px solid transparent;border-bottom:2px solid transparent;transform:rotate(-45deg) translate(1px,-1px)}.feature-item.on .feature-check{border-color:var(--green-deep);background:var(--green-dim)}.feature-item.on .feature-check i{border-color:var(--green-strong)}.feature-item.on{background:var(--green-bg)}.feature-text{display:grid;gap:3px;min-width:0}.feature-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.feature-title strong{color:var(--text);font-size:12px;font-weight:600}.feature-title em{border-radius:99px;padding:2px 7px;font-size:9px;font-style:normal;font-weight:700;letter-spacing:.04em}.feature-optional{background:var(--amber-bg);color:var(--accent-amber)}.feature-mandatory{background:var(--neutral-bg);color:var(--text-muted)}.feature-text small{color:var(--text-faint);font-size:10px;line-height:1.5}.feature-item input:disabled~.feature-check{opacity:.5}.feature-item input:disabled~.feature-check i{border-color:transparent}.scope-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.detail-form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.detail-form-header p{margin:6px 0 0}.detail-meta{margin-top:12px}.tenant-scope-editor{margin-top:0;overflow-anchor:none}.tenant-scope-editor h4{margin:6px 0 0;color:var(--text-strong);font-size:17px;letter-spacing:-.03em}.tenant-scope-editor .notice{margin:10px 0}.tenant-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0;overflow-anchor:none}.tenant-scope-module{overflow:hidden;overflow-anchor:none;border:1px solid var(--border);border-radius:10px;background:var(--bg-dim)}.tenant-scope-module.on{border-color:var(--green-border);background:var(--green-bg)}.tenant-scope-module>label,.tenant-scope-toggle{display:flex;align-items:center;gap:9px;width:100%;padding:11px;cursor:pointer}.tenant-scope-feature,.tenant-scope-toggle{border:0;background:transparent;color:inherit;font:inherit;text-align:left}.tenant-scope-feature:disabled,.tenant-scope-toggle:disabled{cursor:not-allowed;opacity:.65}.tenant-scope-features input,.tenant-scope-module>label input{position:absolute;opacity:0;pointer-events:none}.tenant-scope-module>label>span:last-child{min-width:0}.tenant-scope-module small,.tenant-scope-module strong{display:block}.tenant-scope-module strong{overflow:hidden;color:var(--text-strong);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.tenant-scope-module small{margin-top:3px;color:var(--text-faint);font-size:10px}.tenant-scope-features{display:grid;gap:5px;overflow-anchor:none;border-top:1px solid var(--green-border);padding:8px 12px 10px 20px}.tenant-scope-feature,.tenant-scope-features label{display:flex;align-items:center;gap:6px;width:100%;color:var(--text-muted);font-size:10px;cursor:pointer}.tenant-scope-feature>span:not(.provisioning-checkbox),.tenant-scope-features label>span:not(.provisioning-checkbox){flex:1}.tenant-scope-feature em,.tenant-scope-features label em{color:var(--accent-amber);font-size:9px;font-style:normal}.provisioning-picker{margin:8px 0 20px;border:1px solid var(--border);border-radius:16px;padding:20px;background:var(--surface);box-shadow:0 4px 16px var(--card-shadow)}.provisioning-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--border-soft)}.picker-kicker{color:var(--primary-strong);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.provisioning-picker h4{margin:4px 0;color:var(--text-strong);font-size:17px;font-weight:700;letter-spacing:-.02em}.provisioning-picker-head p{max-width:520px;margin:0;color:var(--text-muted);font-size:12px;line-height:1.5}.picker-actions-wrapper{display:flex;align-items:center;gap:16px}.picker-quick-buttons,.tenant-scope-header-actions{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important}.picker-quick-buttons button,.tenant-scope-header-actions button{white-space:nowrap!important;width:auto!important}.picker-count{min-width:-moz-max-content;min-width:max-content;white-space:nowrap;border-left:1px solid var(--border-soft);padding-left:16px;text-align:right;flex-shrink:0}.picker-count strong{display:inline;color:var(--primary-strong);font-size:20px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.picker-count span{display:inline;color:var(--text-muted);font-size:12px;font-weight:600;margin-left:3px;white-space:nowrap}.picker-count small{display:block;margin-top:3px;color:var(--text-faint);font-size:11px;white-space:nowrap}.provisioning-legend{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:12px 0 16px;color:var(--text-muted);font-size:11.5px}.provisioning-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-strong)}.legend-dot.optional{background:var(--accent-amber)}.provisioning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow-anchor:none}.provisioning-module{overflow:hidden;overflow-anchor:none;border:1px solid var(--border);border-radius:12px;background:var(--surface);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.provisioning-module:hover{border-color:var(--primary-border);box-shadow:0 4px 12px rgba(0,0,0,.04)}.provisioning-module.selected{border-color:var(--primary-border);background:color-mix(in srgb,var(--primary-dim,#f0fdf4) 40%,var(--surface));box-shadow:0 2px 8px rgba(22,163,74,.06)}.assessment-form label.provisioning-module-toggle,.crud-form label.provisioning-module-toggle,.provisioning-module button.provisioning-module-toggle,.provisioning-module label.provisioning-module-toggle,.provisioning-picker label.provisioning-module-toggle{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;padding:13px 15px!important;margin:0!important;text-align:left!important;box-sizing:border-box!important;border:0!important;background:transparent!important;color:inherit!important;font:inherit!important;cursor:pointer!important}.assessment-form label.provisioning-feature,.crud-form label.provisioning-feature,.provisioning-module button.provisioning-feature,.provisioning-module label.provisioning-feature,.provisioning-picker label.provisioning-feature{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;padding:5px 0!important;margin:0!important;text-align:left!important;box-sizing:border-box!important;border:0!important;background:transparent!important;color:inherit!important;font:inherit!important;cursor:pointer!important}.provisioning-feature input,.provisioning-module-toggle input{position:absolute;opacity:0;pointer-events:none}.provisioning-checkbox{display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--input-border);border-radius:var(--radius-control,8px);background:var(--surface);flex-shrink:0;transition:all .15s ease}.provisioning-checkbox:after{width:8px;height:4px;border:solid transparent;border-width:0 0 2px 2px;content:"";transform:rotate(-45deg) translate(1px,-1px)}.provisioning-checkbox.checked,input:checked+.provisioning-checkbox{border-color:var(--primary-strong);background:var(--primary-strong)}.provisioning-checkbox.checked:after,input:checked+.provisioning-checkbox:after{border-color:#fff}.assessment-form .provisioning-module-copy,.crud-form .provisioning-module-copy,.provisioning-module-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;text-align:left!important;flex:1!important;min-width:0!important}.provisioning-module-copy strong{display:block!important;text-align:left!important;color:var(--text-strong)!important;font-size:13.5px!important;font-weight:700!important;letter-spacing:-.01em!important;line-height:1.3!important;margin:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.provisioning-module-copy small{display:block!important;text-align:left!important;color:var(--text-muted)!important;font-size:11px!important;font-weight:500!important;margin-top:2px!important}.provisioning-module-toggle>em{display:inline-flex!important;align-items:center!important;padding:3px 8px!important;border-radius:99px!important;font-size:10.5px!important;font-weight:700!important;font-style:normal!important;text-transform:uppercase!important;letter-spacing:.03em!important;background:var(--inset)!important;color:var(--text-muted)!important;margin-left:auto!important;flex-shrink:0!important}.provisioning-module.selected .provisioning-module-toggle>em{background:var(--primary-dim,#f0fdf4)!important;color:var(--primary-strong,#166534)!important}.provisioning-features{display:flex!important;flex-direction:column!important;gap:6px!important;overflow-anchor:none!important;border-top:1px solid var(--border-soft)!important;padding:10px 15px 12px 47px!important;background:color-mix(in srgb,var(--primary-dim,#f0fdf4) 30%,var(--surface))!important}.provisioning-features>div{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;margin-bottom:2px!important;color:var(--text-muted)!important;font-size:10.5px!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important}.provisioning-features>div small{font-weight:600!important}.provisioning-feature span{color:var(--text-strong)!important;font-size:12px!important;font-weight:500!important;text-align:left!important}.provisioning-checkbox.small{width:16px;height:16px;border-radius:5px}.provisioning-checkbox.small:after{width:7px;height:3px}.notifications-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.notification-actions button,.notifications-hero-actions button,.notifications-rail button,.notifications-sort button{border-radius:var(--radius-control,8px)!important}.notifications-main{padding:0!important;overflow:hidden}.notification-mobile-title{display:none!important}.notifications-board{min-height:calc(100dvh - 82px);height:calc(100dvh - 82px);display:grid;grid-template-columns:330px minmax(0,1fr);background:var(--surface);overflow:hidden}.notifications-rail{min-width:0;min-height:0;padding:24px 22px 22px;border-right:1px solid var(--border);background:var(--surface-dim);display:flex;flex-direction:column;gap:24px}.notifications-rail h3{margin:0 0 16px;color:var(--text-muted);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.notifications-rail button{width:100%;min-height:38px;padding:0 12px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:650;text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.notifications-rail button:hover{background:var(--surface-dim-hover)}.notification-actions button:active,.notifications-rail button:active,.notifications-sort button:active{transform:translateY(1px)}.notifications-rail button.active{border-bottom-color:var(--primary-btn);background:var(--primary-btn);color:#f8fafc}.notifications-rail button strong{color:inherit;font-variant-numeric:tabular-nums;letter-spacing:.04em}.notifications-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.notifications-domain-grid button{min-height:36px;justify-content:center;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:12px;text-align:center}.notifications-domain-grid button.active{border-color:var(--primary-border);background:var(--primary-dim-2);color:var(--primary-text)}.notifications-updated-at{margin:auto 0 0;padding:12px 0 4px;border-top:1px solid var(--border);color:var(--text-muted);font-size:11px;line-height:1.35}@media (min-width:769px){.notifications-rail{height:100%;max-height:100%;overflow-y:auto}.notifications-updated-at{position:static;margin:auto 0 0;padding:12px 0 4px;background:var(--surface)}}.notifications-feed{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.notifications-feed-head{min-height:58px;padding:14px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px}.notifications-feed-head h2{margin:0;color:var(--text-strong);font-size:17px;letter-spacing:-.035em}.notifications-feed-head span{margin-left:10px;color:var(--text-muted);font-size:11px;font-weight:700}.notifications-date-toolbar{min-height:62px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--surface);justify-content:flex-start;gap:18px}.notifications-date-presets,.notifications-date-toolbar{display:flex;align-items:center;flex-wrap:wrap}.notifications-date-presets button{min-height:38px;padding:0 16px;border:1px solid var(--border);border-left:0;border-radius:var(--radius-control,8px);background:var(--surface);color:var(--text);font-size:12px;font-weight:700;cursor:pointer}.notifications-date-presets button:first-child{border-left:1px solid var(--border)}.notifications-date-presets button.active{border-color:var(--primary-border);background:var(--primary-bg);color:var(--primary-text)}.notifications-date-toolbar label{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-left:auto;gap:10px;color:var(--text-muted);font-size:12px;font-weight:650;white-space:nowrap}.notifications-date-toolbar select{min-height:38px;min-width:150px;padding:0 34px 0 12px;border:1px solid var(--border);border-radius:var(--radius-control,8px);background:var(--surface);color:var(--text);font-size:12px;font-weight:700}.notifications-range-filter{min-height:66px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--primary-bg);display:flex;align-items:center;flex-wrap:wrap;gap:12px}.notifications-range-filter>span{color:var(--text-muted);font-size:11px;font-weight:900;letter-spacing:.12em}.notifications-range-filter .date-picker{width:160px}.notifications-range-filter .date-picker-input,.notifications-range-filter input[type=date]{min-height:38px;width:160px;padding:0 34px 0 12px;border:1px solid var(--border);border-radius:var(--radius-control,8px);background:var(--surface);color:var(--text);font-size:12px;font-weight:700}.notifications-range-filter i{color:var(--text-muted);font-style:normal;font-weight:800}.notifications-range-filter label{display:inline-flex;align-items:center;gap:8px;min-height:38px;color:var(--text);font-size:12px;font-weight:650;line-height:1;white-space:nowrap}.notifications-range-filter input[type=radio]{width:16px;height:16px;accent-color:var(--primary-btn)}.notifications-range-filter button{min-height:38px;padding:0 16px;border-radius:var(--radius-control,8px)!important;font-size:12px}.notifications-filter-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.notifications-sort{display:flex;align-items:center;justify-content:flex-end}.notifications-sort button{min-height:36px;padding:0 14px;font-size:12px;border:1px solid var(--border);border-left:0;background:var(--surface);color:var(--text);font-weight:700;cursor:pointer}.notifications-sort button:first-child{border-left:1px solid var(--border)}.notifications-sort button.active{color:var(--primary-text);background:var(--primary-bg)}.notification-list{display:grid;align-content:start;grid-auto-rows:max-content;flex:1 1 auto;min-height:0;overflow-y:auto}.notification-item{display:grid;grid-template-columns:62px minmax(0,1fr) 190px;gap:20px;align-items:start;padding:20px 24px;border-bottom:1px solid var(--border);border-left:4px solid transparent;background:var(--surface);cursor:pointer;transition:background .18s ease,border-color .18s ease}.notification-item:hover{background:var(--surface-dim-hover)}.notification-item.unread{border-left-color:var(--primary-btn)}.notification-date{color:var(--primary-text);display:flex;flex-direction:column;align-items:center;gap:2px;font-variant-numeric:tabular-nums}.notification-date strong{color:inherit;font-size:20px;line-height:1;letter-spacing:-.04em}.notification-date span{color:var(--text-muted);font-size:10px;font-weight:900;letter-spacing:.08em}.notification-item strong{color:var(--text-strong);font-size:14px;line-height:1.28;letter-spacing:-.015em}.notification-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.notification-due-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border:1px solid var(--amber-border);background:var(--amber-bg);color:var(--amber-ink);font-size:10.5px;font-weight:850;line-height:1}.notification-due-chip.overdue{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.notification-item p{margin:5px 0 8px;color:var(--text);font-size:12px;line-height:1.5}.notification-item small{color:var(--text-faint);font-size:10.5px;font-weight:650}.notification-kicker{margin-bottom:8px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.notification-badge{border-radius:var(--radius-control,8px);padding:4px 8px;background:var(--primary-dim-2);color:var(--primary-text);font-size:9.5px;font-weight:900;letter-spacing:.08em}.notification-alert,.notification-kicker>span:not(.notification-badge){padding:4px 8px;background:var(--primary-btn);color:#f8fafc;font-size:9.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.notification-kicker>.notification-rsvp.accepted{background:var(--green-dim);color:var(--green-strong)}.notification-kicker>.notification-rsvp.declined{background:var(--danger-bg);color:var(--danger-text)}.notification-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}.notification-actions button{width:100%;min-height:36px;font-size:12px;justify-content:center;white-space:nowrap}.notifications-state{min-height:320px;padding:40px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:var(--text-muted);text-align:center}.notifications-pagination{flex:0 0 auto;padding:8px 24px 12px}.notifications-pagination .pagination{padding:8px 0 0;border-top:0}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kanban-col{min-width:0}.kanban-body{padding:12px;display:grid;gap:10px}.kanban-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--bg-dim)}.kanban-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.kanban-card strong{font-size:13px;color:var(--text-strong)}.kanban-card p{margin:6px 0;color:var(--text-muted);font-size:12px}.kanban-card small{color:var(--text-faint);font-size:11px}.kanban-actions{display:flex;gap:8px;align-items:center;margin-top:10px}.comment-box{display:flex;gap:6px;margin-top:10px}.comment-box input{flex:1 1 auto;min-width:0;border:1px solid var(--input-border);border-radius:10px;padding:8px;background:var(--inset);color:var(--input-text)}.doc-item,.doc-list{display:grid}.doc-item{grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--border-soft)}.doc-item.calendar-item{grid-template-columns:auto minmax(0,1fr) auto}@media (max-width:768px){.doc-item.calendar-item{grid-template-columns:1fr}}.doc-item strong{color:var(--text-strong)}.doc-item p{margin:4px 0;color:var(--text-muted);font-size:12px}.doc-item small{color:var(--text-faint);font-size:11px}.doc-actions{display:flex;align-items:center;gap:8px}.detail-add-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:10px;align-items:end;min-width:0;padding:14px;margin-bottom:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-dim)}.detail-add-form input{width:100%;min-width:0;min-inline-size:0;box-sizing:border-box;border:1px solid var(--input-border);border-radius:10px;padding:10px 12px;background:var(--inset);color:var(--input-text);font-size:13px;outline:none}.detail-add-form input:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.detail-add-form .primary-button{justify-self:end}.import-card{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px 24px;border-top:1px solid var(--border-soft);background:var(--surface-dim)}.bulk-data-page{display:grid;gap:18px}.bulk-data-page .data-panel{margin-top:0!important;overflow:hidden}.bulk-data-page .data-panel-head{padding:20px 24px}.staff-report-content{display:grid;gap:18px;padding:20px 24px 24px}.staff-report-total{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--primary-border);border-radius:12px;background:var(--primary-dim-2);color:var(--text-muted);font-size:12px}.staff-report-total strong{color:var(--primary-strong);font-size:26px;line-height:1}.staff-report-total div{display:grid;gap:5px}.staff-report-total small{color:var(--text-faint);font-size:11px;line-height:1.4}.staff-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.staff-report-column{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface-dim)}.staff-report-column-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--border-soft)}.staff-report-column-head .eyebrow{margin:0 0 4px}.staff-report-column-head h4{margin:0;color:var(--text-strong);font-size:14px}.staff-report-column-head>span{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;background:var(--neutral-bg);color:var(--text-muted);font-size:10px;font-weight:700;white-space:nowrap}.staff-report-list{padding:4px 16px}.staff-report-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;border-bottom:1px solid var(--border-soft);color:var(--text-muted);font-size:13px}.staff-report-row:last-child{border-bottom:0}.staff-report-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-report-row strong{flex:0 0 auto;color:var(--text-strong)}@media (max-width:640px){.staff-report-content{padding:16px}.staff-report-grid{grid-template-columns:1fr;gap:12px}}.import-card-body{flex:1 1 300px;min-width:0;max-width:960px}.import-card-body p{margin:0;color:var(--text-muted);font-size:12px;line-height:1.6}.import-card-body p strong{color:var(--text-strong)}.import-fields-label{margin-bottom:10px!important;color:var(--text-strong)!important;font-size:12px!important;font-weight:700}.import-fields{display:flex;flex-wrap:wrap;gap:7px}.import-field{display:inline-flex;align-items:baseline;gap:4px;max-width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:12px;line-height:1.25}.import-field.required{border-color:var(--primary-border);background:var(--primary-dim-2);color:var(--primary-text);font-weight:700}.import-field small{color:var(--text-faint);font-size:10px;font-weight:500}.import-field.required small{color:var(--primary-soft)}.import-note{margin-top:12px!important;color:var(--text-faint)!important;font-size:11px!important}.import-card-actions{display:flex;align-items:center;flex-shrink:0;flex-wrap:wrap;gap:8px}@media (max-width:640px){.bulk-data-page{gap:14px}.bulk-data-page .data-panel-head,.import-card{padding:16px}.import-card-actions,.import-card-actions button{width:100%}}.doc-search{border:1px solid var(--input-border);border-radius:10px;padding:8px 12px;background:var(--inset);color:var(--input-text);box-sizing:border-box}@media (max-width:768px){.data-panel-head{flex-wrap:wrap;gap:10px}.doc-search{width:100%;max-width:100%}}.plan-current{padding:24px}.plan-current strong{font-size:22px;color:var(--text-strong);margin-right:12px}.plan-current p{margin-top:8px;color:var(--text-muted);font-size:13px}.plan-grid{grid-template-columns:repeat(4,1fr);gap:12px}.plan-card,.plan-grid{display:grid;padding:20px}.plan-card{border:1px solid var(--border);border-radius:12px;gap:8px;background:var(--bg-dim)}.plan-card strong{font-size:16px;color:var(--text-strong)}.plan-card p{color:var(--text-muted);font-size:12px}.plan-card small{color:var(--text-faint);font-size:11px}.plan-card button{justify-self:start}.crud-row,.crud-table-head{display:grid;gap:16px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--border-soft)}.crud-table-head{color:var(--text-faint);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--head-bg)}.crud-row{color:var(--text-muted);font-size:12px}.crud-index{color:var(--text-faint)}.crud-value.primary{color:var(--text-strong);font-weight:700}.crud-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.crud-actions .text-button{margin-top:0}.action-button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:10px;background:var(--surface-dim);color:var(--text-muted);cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .15s}.action-button:hover{border-color:var(--primary-strong);background:var(--primary-dim);color:var(--primary-text)}.action-button.danger:hover{border-color:var(--danger);background:var(--danger-bg);color:var(--danger-text)}.action-button:active{transform:translateY(1px)}.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:999px;padding:11px 16px;background:var(--danger);color:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.danger-button:hover{background:var(--danger-hover);transform:translateY(-1px)}.danger-button:disabled{cursor:wait;opacity:.55}.confirm-body{display:grid;gap:18px;padding:24px}.confirm-body p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.6}.confirm-body p strong{color:var(--text-strong)}.confirm-actions,.confirm-body .form-actions,.form-dialog .assessment-actions,.form-dialog .form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:6px;padding:0;border-top:none;background:transparent;border-radius:0}.ai-suggest{display:grid;gap:6px}.ai-suggest small{color:var(--primary-strong);font-size:11px}.ai-suggest .text-button{justify-self:start;text-align:left}.crud-form{margin-bottom:16px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--bg-dim)}.crud-form h3{margin:0 0 16px;font-size:16px;color:var(--text-strong)}.crud-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.crud-fields label{display:grid;gap:7px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em}.crud-fields .field-hint{display:inline-block;margin-left:6px;color:var(--text-faint);font-size:10px;font-style:normal;font-weight:500;letter-spacing:0;text-transform:none}.crud-fields input,.crud-fields select,.crud-fields textarea{width:100%;box-sizing:border-box;border:1px solid var(--input-border);border-radius:10px;padding:11px 12px;background:var(--inset);color:var(--input-text);outline:none}.crud-fields input:focus,.crud-fields select:focus,.crud-fields textarea:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.lesson-plan-form .crud-fields{grid-template-columns:1fr}.lesson-plan-form .lesson-plan-legacy,.lesson-plan-form .lesson-plan-structured{display:grid;gap:16px;margin-bottom:16px}.lesson-plan-form .lesson-plan-section{display:grid;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.lesson-plan-form .lesson-plan-activity-title,.lesson-plan-form .lesson-plan-section-title{margin:0;color:var(--text-strong);font-size:13px;font-weight:700;letter-spacing:.02em}.lesson-plan-form .lesson-plan-activity{display:grid;gap:10px;padding:12px;border:1px dashed var(--input-border);border-radius:10px}.lesson-plan-form .lesson-plan-activity+.lesson-plan-activity{margin-top:2px}.lesson-plan-form .lesson-plan-grid{display:grid;grid-template-columns:1fr;gap:12px}.lesson-plan-form .lesson-plan-grid label{margin:0}.lesson-plan-form .lesson-plan-section-note{margin:0;color:var(--text-muted);font-size:11px}@media (max-width:640px){.lesson-plan-form .lesson-plan-section{padding:12px}.lesson-plan-form .lesson-plan-activity{padding:10px}}.lesson-plan-compose{padding-bottom:96px}.lesson-plan-compose-body{display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:24px;align-items:start}.lesson-plan-compose-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px}.lesson-plan-compose-nav-title{margin-bottom:8px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.lesson-plan-compose-nav-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:0;border-left:2px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}.lesson-plan-compose-nav-item:hover{background:var(--surface-2,var(--inset))}.lesson-plan-compose-nav-item.active{border-left-color:var(--primary-strong);color:var(--primary-strong);font-weight:600}.lesson-plan-compose-nav-progress{margin-left:auto;color:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.lesson-plan-compose-main{display:flex;flex-direction:column;gap:20px;min-width:0}.lesson-plan-compose-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}.lesson-plan-ai-panel{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.lesson-plan-ai-head{display:flex;align-items:center;gap:8px;color:var(--primary-strong);font-size:15px}.lesson-plan-grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lesson-plan-activity-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:10px;overflow:hidden}.lesson-plan-activity-tab{display:flex;flex-direction:column;gap:4px;min-height:56px;padding:10px 12px;border:0;border-right:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.lesson-plan-activity-tab:last-child{border-right:0}.lesson-plan-activity-tab.active{background:var(--primary-strong);color:#fff}.lesson-plan-activity-tab-eyebrow{font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.8}.lesson-plan-activity-tab-name{font-size:14px;font-weight:600;line-height:1.25}.lesson-plan-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;border-top:1px solid var(--border);background:var(--surface)}.lesson-plan-action-bar-inner{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;max-width:1480px;margin:0 auto;padding:12px 24px}.lesson-plan-preview-overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto;background:rgba(15,23,42,.5)}.lesson-plan-preview-dialog{width:100%;max-width:860px;display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.lesson-plan-preview-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-plan-preview-dialog-head h3{margin:0}.lesson-plan-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.lesson-plan-detail-doc{display:flex;flex-direction:column;gap:28px;min-width:0;padding:36px 40px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.lesson-plan-detail-head{display:flex;flex-direction:column;gap:14px}.lesson-plan-detail-head-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lesson-plan-detail-eyebrow{color:var(--primary-strong);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.lesson-plan-detail-title{margin:0;color:var(--text-strong);font-size:34px;line-height:1.2}.lesson-plan-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}.lesson-plan-detail-meta-cell{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.lesson-plan-detail-meta-key{color:var(--text-muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.lesson-plan-detail-meta-value{font-size:14px;font-weight:500}.lesson-plan-detail-comment{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border:1px solid var(--danger,#dc2626);border-radius:10px;background:color-mix(in srgb,var(--danger,#dc2626) 8%,transparent)}.lesson-plan-detail-comment-label{color:var(--danger,#dc2626);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.lesson-plan-detail-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}.lesson-plan-detail-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.lesson-plan-detail-aside-title{margin:0;color:var(--text-strong);font-size:15px}.lesson-plan-detail-aside-note{margin:0;color:var(--text-muted);font-size:13px;line-height:1.5}.lesson-plan-detail-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lesson-plan-detail-nav-item{padding:8px 10px;border:0;border-left:2px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:background .15s}.lesson-plan-detail-nav-item:hover{background:var(--inset)}.lesson-plan-detail-timeline{display:flex;flex-direction:column}.lesson-plan-detail-timeline-item{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px}.lesson-plan-detail-timeline-rail{display:flex;flex-direction:column;align-items:center}.lesson-plan-detail-timeline-dot{width:9px;height:9px;margin-top:4px;border:1px solid var(--primary-strong);border-radius:999px;background:transparent}.lesson-plan-detail-timeline-dot.on{background:var(--primary-strong)}.lesson-plan-detail-timeline-line{flex:1;width:1px;background:var(--border)}.lesson-plan-detail-timeline-body{display:flex;flex-direction:column;padding-bottom:14px}.lesson-plan-detail-timeline-label{font-size:14px;font-weight:500;line-height:1.2}.lesson-plan-detail-timeline-sub{color:var(--text-muted);font-size:12px}.lesson-plan-detail-danger{display:flex;justify-content:flex-end;padding:0 2px}.danger-button-ghost{border:1px solid var(--border);background:transparent;color:var(--danger);font-weight:600}.danger-button-ghost:hover{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger)}.lesson-plan-preview{display:flex;flex-direction:column;gap:24px}.lesson-plan-preview-section{display:flex;flex-direction:column;gap:12px}.lesson-plan-preview-heading{margin:0;color:var(--text-strong);font-size:17px}.lesson-plan-preview-text{margin:0;font-size:15px;line-height:1.6;white-space:pre-wrap}.lesson-plan-preview-goal{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent)}.lesson-plan-preview-goal-label{color:var(--text-strong);font-size:15px;font-weight:600}.lesson-plan-preview-goal-value{font-size:15px;line-height:1.6;white-space:pre-wrap}.lesson-plan-preview-activity{border:1px solid var(--border);border-radius:10px;overflow:hidden}.lesson-plan-preview-activity-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--inset)}.lesson-plan-preview-activity-eyebrow{color:var(--primary-strong);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.lesson-plan-preview-activity-title{color:var(--text-strong);font-size:16px;font-weight:600}.lesson-plan-preview-activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.lesson-plan-preview-row{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.lesson-plan-preview-row-label{color:var(--text-muted);font-size:12px;font-weight:500}.lesson-plan-preview-row-value{font-size:14px;line-height:1.55;white-space:pre-wrap}@media (max-width:1100px){.lesson-plan-compose-body{grid-template-columns:180px minmax(0,1fr)}.lesson-plan-compose-aside{position:static;grid-column:1/-1}.lesson-plan-detail{grid-template-columns:minmax(0,1fr)}.lesson-plan-detail-aside{position:static}}@media (max-width:768px){.lesson-plan-compose-body{grid-template-columns:minmax(0,1fr)}.lesson-plan-compose-nav{position:static}.lesson-plan-activity-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-plan-activity-tab:nth-child(2){border-right:0}.lesson-plan-activity-tab:first-child,.lesson-plan-activity-tab:nth-child(2){border-bottom:1px solid var(--border)}.lesson-plan-detail-doc{padding:20px}.lesson-plan-detail-title{font-size:24px}.lesson-plan-preview-goal{grid-template-columns:minmax(0,1fr);gap:4px}.lesson-plan-detail-nav-item{display:flex;align-items:center;min-height:44px}}@media (max-width:480px){.lesson-plan-action-bar-inner{padding:10px 12px}.lesson-plan-action-bar-inner>button{flex:1 1 auto}}.crud-fields label select{color:var(--input-text)}.principal-assignment-field{display:grid;gap:8px;align-content:start}.principal-assignment-label,.principal-new-grid label>span{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em}.principal-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%;padding:4px;border:1px solid var(--input-border);border-radius:12px;background:var(--inset)}.principal-mode-toggle button{min-height:32px;border:0;border-radius:9px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}.principal-mode-toggle button.active{background:var(--surface);color:var(--primary-text);box-shadow:0 1px 2px rgba(15,23,42,.08)}.principal-mode-toggle button:disabled{cursor:not-allowed;opacity:.45}.principal-assignment-field .searchable-select-trigger{min-height:44px;border-radius:12px}.principal-new-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.principal-new-grid label{display:grid;gap:7px}.principal-new-grid input{width:100%;box-sizing:border-box;border:1px solid var(--input-border);border-radius:10px;padding:11px 12px;background:var(--inset);color:var(--input-text);outline:none}.principal-new-grid input:focus{border-color:var(--tenant-create-accent,var(--primary-strong));box-shadow:0 0 0 3px var(--primary-ring)}.tenant-create-form{padding:0;border:0;background:transparent}.form-dialog.wide.tenant-create-dialog{--tenant-create-accent:var(--primary-strong);--tenant-create-accent-dark:var(--primary-hover);--tenant-create-accent-soft:var(--primary-dim);--tenant-create-ink:#064e3b;display:flex;flex-direction:column;width:min(96vw,1180px);max-height:calc(100dvh - 48px);overflow:hidden}.tenant-create-dialog .form-dialog-head{flex:0 0 auto;padding:14px 28px}.tenant-create-dialog .form-dialog-head h2{font-size:28px;letter-spacing:-.04em}.tenant-create-dialog .crud-form.tenant-create-form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;padding:0}.tenant-create-tabs{flex:0 0 auto;display:flex;gap:20px;margin:0;padding:10px 28px;border-bottom:1px solid var(--border)}.tenant-create-tabs .tab.active{color:var(--tenant-create-accent-dark);border-bottom-color:var(--tenant-create-accent)}.tenant-module-count{display:inline-flex;align-items:center;margin-left:6px;padding:2px 8px;border-radius:99px;background:var(--tenant-create-accent-soft);color:var(--tenant-create-accent-dark);font-size:11px;font-weight:800}.tenant-module-count.empty{background:#fff7ed;color:#b45309}.tenant-create-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr);min-height:430px;margin:0;border-bottom:1px solid var(--border)}.tenant-create-layout,.tenant-modules-mode .provisioning-picker{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none}.tenant-modules-mode .provisioning-picker{min-height:0;max-height:none;margin:16px 28px 0}.tenant-profile-left{padding:20px 28px 24px;background:var(--bg-dim)}.tenant-section-kicker{display:block;margin-bottom:18px;color:var(--text-muted);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tenant-school-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px}.tenant-school-fields label{display:grid;gap:8px;color:var(--text-muted);font-size:12px;font-weight:700}.tenant-school-fields .wide{grid-column:1/-1}.tenant-school-fields input{width:100%;box-sizing:border-box;min-height:46px;border:1px solid var(--input-border);border-radius:var(--radius-control,8px);padding:12px 14px;background:var(--surface);color:var(--input-text);outline:none}.tenant-school-fields input:focus{border-color:var(--tenant-create-accent);box-shadow:0 0 0 3px var(--primary-ring)}.tenant-principal-panel{display:grid;grid-template-rows:auto 1fr;border-left:1px solid var(--border);background:var(--surface)}.tenant-principal-head{padding:20px 28px;background:var(--tenant-create-ink);color:#f8fafc;font-size:15px;font-weight:800}.tenant-principal-head span{color:rgba(248,250,252,.62);font-weight:700}.tenant-principal-body{padding:24px 28px}.principal-choice{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;align-items:start;color:var(--text-muted);cursor:pointer}.principal-choice input{position:absolute;opacity:0;pointer-events:none}.principal-choice-dot{width:18px;height:18px;margin-top:2px;border:2px solid var(--input-border);border-radius:999px;box-shadow:inset 0 0 0 4px var(--surface)}.principal-choice.selected .principal-choice-dot{border-color:var(--tenant-create-accent);background:var(--tenant-create-accent)}.principal-choice-copy{display:grid;gap:8px}.principal-choice-copy strong{color:var(--text-strong);font-size:15px}.principal-choice-copy small{max-width:32ch;color:var(--text-muted);font-size:13px;font-weight:500;line-height:1.6}.principal-choice-control{margin:18px 0 26px 38px}.principal-choice-control .searchable-select-trigger{min-height:44px;border-radius:var(--radius-control,8px);background:var(--bg-dim)}.principal-choice-divider{height:1px;margin:0 0 24px;background:var(--border)}.tenant-principal-panel .principal-new-grid{grid-template-columns:1fr;margin:18px 0 0 38px}.tenant-create-actions{position:sticky;bottom:0;flex:0 0 auto;display:flex;justify-content:flex-end;gap:12px;padding:14px 28px;background:var(--surface);box-shadow:0 -1px 0 var(--border)}.tenant-modules-mode .tenant-create-actions{position:static;flex-shrink:0;margin-top:0}.tenant-create-actions .primary-button,.tenant-create-actions .secondary-button{border-radius:var(--radius-control,8px)}.tenant-create-actions .primary-button{background:var(--tenant-create-accent)}.tenant-create-actions .primary-button:hover{background:var(--tenant-create-accent-dark)}.tenant-create-actions .secondary-button:hover{border-color:var(--tenant-create-accent);color:var(--tenant-create-accent-dark);background:var(--tenant-create-accent-soft)}.form-dialog.wide.tenant-detail-dialog{display:flex;flex-direction:column;overflow:hidden}.tenant-detail-dialog .form-dialog-head{flex:0 0 auto}.tenant-detail-dialog .profile-form{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none}.tenant-create-dialog .searchable-select-trigger:hover,.tenant-create-dialog .searchable-select-trigger[aria-expanded=true]{border-color:var(--tenant-create-accent);box-shadow:0 0 0 3px var(--primary-ring)}.tenant-create-dialog .searchable-select-option.selected,.tenant-create-dialog .searchable-select-option:hover{background:var(--tenant-create-accent-soft);color:var(--tenant-create-accent-dark)}@media (max-width:900px){.crud-fields{grid-template-columns:1fr 1fr}.principal-assignment-field{grid-column:1/-1}.tenant-create-layout{grid-template-columns:1fr;margin:0;min-height:0}.tenant-principal-panel{border-left:0;border-top:1px solid var(--border)}}@media (max-width:560px){.crud-fields,.principal-new-grid,.tenant-school-fields{grid-template-columns:1fr}.tenant-principal-body,.tenant-profile-left{padding:24px 20px}.tenant-create-actions,.tenant-create-dialog .form-dialog-head,.tenant-create-tabs{padding-left:20px;padding-right:20px}.tenant-modules-mode .provisioning-picker{margin-left:20px;margin-right:20px}.tenant-create-dialog .form-dialog-head h2{font-size:22px}.principal-choice-control,.tenant-principal-panel .principal-new-grid{margin-left:0}}.data-row .text-button{margin-top:0;justify-self:end}.resource-row,.resource-table-head{display:grid;gap:16px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--border-soft)}.resource-table-head{color:var(--text-faint);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--head-bg)}.resource-row{color:var(--text-muted);font-size:12px}.resource-value.primary{color:var(--text-strong);font-weight:700}.resource-row .text-button{margin-top:0}.resource-table{display:grid;width:100%;overflow-x:auto}.assessment-row>*,.chart-row>*,.crud-row>*,.crud-table-head>*,.day-row>*,.doc-item>*,.resource-row>*,.resource-table-head>*,.timetable-head>*,.timetable-row>*{min-width:0}.assessment-row>span,.chart-row>*,.crud-value,.day-row>*,.doc-item>*,.resource-value{min-width:0;overflow-wrap:anywhere;word-break:break-word}.asset-library-layout{display:grid;grid-template-columns:minmax(230px,240px) 1fr;gap:20px;align-items:start}.asset-library-filter{display:grid;grid-template-columns:minmax(200px,1.8fr) minmax(130px,1fr) minmax(110px,.9fr) auto auto;gap:12px;padding:14px;border-radius:8px;background:var(--surface);border:1px solid var(--border);align-items:center}@media (max-width:900px){.asset-library-layout{grid-template-columns:minmax(0,1fr)}.asset-library-filter{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}.asset-table-scroll{overflow-x:auto}.asset-table-scroll .asset-table-grid{min-width:900px}}.form-dialog.wide.asset-form-dialog{width:min(calc(100vw - 48px),880px);max-height:min(calc(100vh - 48px),88vh);max-height:min(calc(100dvh - 48px),88dvh);display:flex;flex-direction:column;overflow:hidden}.asset-form-dialog .form-dialog-head{flex:0 0 auto;padding:18px 24px}.asset-form-dialog .academic-asset-form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:14px;overflow-y:auto;padding:20px 24px 0!important}.asset-form-dialog .academic-asset-form>label{width:100%;box-sizing:border-box}.asset-form-quota{display:flex;align-items:center;justify-content:space-between;color:var(--primary-strong);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.asset-upload-dropzone{display:flex;width:100%;box-sizing:border-box;min-height:126px;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:18px 16px;border:2px dashed var(--primary-border);border-radius:12px;background:color-mix(in srgb,var(--primary-bg) 45%,var(--inset));cursor:pointer;text-align:center;transition:border-color .2s ease,background .2s ease,transform .2s ease}.asset-upload-dropzone.dragging,.asset-upload-dropzone:hover{border-color:var(--primary-strong);background:var(--primary-dim-2);transform:translateY(-1px)}.asset-form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.asset-advanced-toggle{color:var(--primary-strong)!important;border:0!important;background:transparent!important;padding:0!important;font-size:12.5px!important;font-weight:700!important;text-decoration:underline;cursor:pointer}.asset-advanced-panel{display:flex;flex-direction:column;gap:14px;padding:14px;border:1px solid var(--border-soft);border-radius:14px;background:color-mix(in srgb,var(--surface) 78%,var(--primary-bg))}.asset-chip-grid{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--input-border);border-radius:10px;background:var(--inset)}.asset-chip-grid.flags,.asset-chip-grid.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.asset-chip-grid.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.asset-chip-grid.scrollable{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));max-height:132px;overflow:auto;align-content:start}.asset-toggle-chip{display:inline-flex;min-height:34px;align-items:center;justify-content:flex-start;gap:8px;padding:7px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);font-size:12.5px;font-weight:700;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.asset-toggle-chip:hover{border-color:var(--input-border);background:var(--surface)}.asset-toggle-chip.active{border-color:var(--primary-border);background:var(--primary-dim-2);color:var(--primary-text);box-shadow:0 0 0 3px var(--primary-ring)}.asset-toggle-dot{width:14px;height:14px;border:1.5px solid var(--input-border);border-radius:5px;background:var(--surface);flex:0 0 auto}.asset-toggle-chip.active .asset-toggle-dot{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px #fff}.asset-form-actions{position:sticky;bottom:0;z-index:1;display:flex;justify-content:flex-end;gap:10px;margin:4px -24px 0;padding:14px 24px 16px;border-top:1px solid var(--border-soft);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px)}@media (max-width:720px){.form-dialog.wide.asset-form-dialog{width:min(calc(100vw - 24px),100%);max-height:min(calc(100vh - 24px),92vh);max-height:min(calc(100dvh - 24px),92dvh)}.asset-form-dialog .academic-asset-form{padding:18px 18px 0!important}.asset-form-grid.two{grid-template-columns:1fr}.asset-form-actions{margin-inline:-18px;padding-inline:18px}}.filter-row{display:flex;gap:12px;flex-wrap:wrap;padding:14px 0}.filter-input{flex:1 1 260px;min-width:0;border:1px solid var(--input-border);border-radius:10px;padding:10px 12px;background:var(--inset);color:var(--input-text);outline:none;font-size:13px}.filter-input:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}.row-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;padding:0 11px;border-radius:8px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--primary-strong);transition:border-color .18s,color .18s,background .18s,transform .15s;cursor:pointer;white-space:nowrap}.row-action-btn:hover{border-color:var(--primary-strong);color:var(--primary-text);background:var(--primary-dim-2);transform:translateY(-1px)}.row-action-btn:active{transform:translateY(0)}.row-action-btn.success{color:#059669;border-color:#a7f3d0;background:#ecfdf5}.row-action-btn.success:hover{color:#047857;border-color:#059669;background:#d1fae5}.row-action-btn.icon-only{width:32px;padding:0;color:var(--text-muted)}.row-action-btn.icon-only:hover{border-color:var(--primary-strong);background:var(--primary-dim-2);color:var(--primary-text)}.row-action-btn.icon-only.danger{color:var(--text-muted)}.row-action-btn.icon-only.danger:hover{border-color:var(--danger);background:var(--danger-bg);color:var(--danger-text)}.version-list{gap:14px;max-height:480px;overflow-y:auto;padding:20px 24px}.version-card,.version-list{display:flex;flex-direction:column}.version-card{gap:10px;padding:14px 16px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.03);transition:border-color .2s,box-shadow .2s}.version-card:hover{border-color:var(--primary-ring);box-shadow:0 2px 8px rgba(0,0,0,.06)}.version-card.is-current{border-color:var(--primary-strong);background:var(--primary-dim-2)}.version-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.version-card-meta{display:flex;align-items:center;gap:8px}.version-chip{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono,monospace);font-weight:700;font-size:12px;padding:2px 8px;border-radius:var(--radius-control,8px);background:var(--primary-dim);color:var(--primary-text);border:1px solid var(--primary-ring)}.version-card-note{font-size:13px;font-weight:500;color:var(--text-strong);line-height:1.45}.version-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border-soft);padding-top:10px;margin-top:2px}.version-author-info{display:flex;align-items:center;gap:6px}.version-info strong{color:var(--text-strong);font-size:13px}.audit-pre{margin:0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--inset);color:var(--text);font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.user-form{padding:24px;display:grid;gap:22px}.user-form .form-section{display:grid;gap:14px}.user-form .form-section+.form-section{padding-top:22px;border-top:1px solid var(--border)}.form-section-head h3{margin:0;font-size:15px;color:var(--text-strong)}.form-section-head p{margin:3px 0 0;font-size:12px;color:var(--text-muted)}.user-form{padding:4px 0 12px}.user-form .crud-fields{grid-template-columns:1fr 1fr;gap:14px 18px}.user-form .crud-fields .wide{grid-column:1/-1}.role-chips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:10px;margin-top:12px}.role-card-chip{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface,var(--bg-dim));color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:border-color .2s,background .2s,color .2s,transform .2s,box-shadow .2s;position:relative}.role-card-chip:hover{border-color:var(--primary);background:var(--bg-hover,var(--bg-dim));color:var(--text);transform:translateY(-1px)}.role-card-chip.on{border-color:var(--primary);background:var(--primary-dim);color:var(--primary-text);font-weight:600;box-shadow:0 2px 8px rgba(124,58,237,.12)}.role-card-check{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid var(--input-border);border-radius:5px;background:var(--bg);color:transparent;flex-shrink:0;transition:all .18s}.role-card-chip.on .role-card-check{border-color:var(--primary);background:var(--primary);color:#fff}.role-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.role-card-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.role-card-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--primary);opacity:.9}.role-chips{display:flex;flex-wrap:wrap;gap:8px}.role-chip{gap:9px;padding:9px 14px;border:1px solid var(--border);border-radius:999px;background:var(--bg-dim);color:var(--text-muted);font-size:12px;cursor:pointer;transition:border-color .18s,background .18s,color .18s,box-shadow .18s}.role-chip:hover{border-color:var(--input-border);color:var(--text)}.role-chip.on{border-color:var(--primary);background:var(--primary-dim);color:var(--primary-text);box-shadow:0 0 0 3px var(--primary-ring)}.role-chip-check{display:grid;place-items:center;width:16px;height:16px;border:1px solid var(--input-border);border-radius:50%;font-size:10px;line-height:1;color:transparent;transition:all .18s}.role-chip.on .role-chip-check{border-color:var(--primary);background:var(--primary);color:#fff}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:14px;padding-bottom:8px;margin-top:8px}@media (max-width:768px){.login-page{display:block}.login-brand{display:none}.login-panel{min-height:100dvh;padding:20px}.login-card{padding:28px 22px;min-width:0}.login-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.login-tab{min-width:0;white-space:normal}.mobile-brand-mark{display:grid;place-items:center;width:42px;height:42px;margin-bottom:26px;border-radius:12px;background:var(--primary);color:#fff;font-weight:800}.dashboard-layout,.dashboard-shell{display:block}.dashboard-topbar,.dashboard-topbar>div:first-child{min-width:0}.dashboard-topbar h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-main{padding:24px 20px}.welcome-row{align-items:start;gap:18px;flex-direction:column}.dashboard-grid,.metric-grid{grid-template-columns:1fr}.topbar-user div{display:none}}@media (max-width:900px){.module-grid,.profile-grid,.scope-stats{grid-template-columns:1fr 1fr}.provisioning-grid{grid-template-columns:1fr}}@media (max-width:640px){.module-grid,.profile-grid,.scope-stats{grid-template-columns:1fr}.provisioning-picker{padding:16px}.provisioning-picker-head{flex-direction:column}.picker-count{width:100%;border-top:1px solid var(--border-soft);border-left:0;padding:10px 0 0;text-align:left}.provisioning-legend{align-items:flex-start;flex-direction:column;gap:7px}.tenant-scope-grid{grid-template-columns:1fr}}@media (max-width:768px){.assessment-filters,.assessment-form{grid-template-columns:1fr}.assessment-filters label{flex-direction:column;align-items:stretch;gap:6px;width:100%}.assessment-filters label>.date-picker,.assessment-filters label>.filter-search,.assessment-filters label>.searchable-select,.assessment-filters label>input,.assessment-filters label>select{width:100%;min-width:0;box-sizing:border-box}.assessment-form .wide{grid-column:auto}.assessment-actions{flex-direction:column}.assessment-actions>button{width:100%}.confirm-actions,.confirm-body .form-actions,.form-dialog .assessment-actions,.form-dialog .form-actions{flex-direction:column-reverse;align-items:stretch}.confirm-actions>button,.confirm-body .form-actions>button,.form-dialog .assessment-actions>button,.form-dialog .form-actions>button{width:100%}.assessment-row{gap:10px;padding:13px 14px}.dashboard-topbar .assessment-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}.dashboard-topbar .assessment-actions>a,.dashboard-topbar .assessment-actions>button{width:auto}.kanban,.metric-grid,.plan-grid{grid-template-columns:1fr 1fr}.doc-item{grid-template-columns:1fr}.doc-actions{flex-wrap:wrap}}@media (max-width:640px){.kanban{grid-template-columns:1fr}}@media (max-width:480px){.metric-grid,.plan-grid,.scope-stats{grid-template-columns:1fr}}@media (max-width:768px){.activities-table>.data-row,.crud-row,.crud-table-head,.resource-row,.resource-table-head{min-width:-moz-max-content;min-width:max-content}.data-panel{min-width:0}.data-panel .data-table{overflow-x:auto}table.mobile-scroll-table{min-width:900px}.form-dialog .data-table{overflow-x:auto}}.teacher-assign-modal-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:28px}@media (max-width:768px){.teacher-assign-modal-body{grid-template-columns:1fr}}.crud-actions{flex-wrap:nowrap}.row-actions{flex-wrap:wrap;justify-content:flex-end}@media (max-width:768px){.notifications-hero-actions{justify-content:stretch}.notifications-hero-actions button{flex:1 1 180px}.notifications-board{grid-template-columns:1fr;min-height:auto;height:auto;overflow:visible}.notifications-rail{border-right:0;border-bottom:1px solid var(--border);padding:22px 18px}.notifications-feed-head{min-height:auto;padding:22px 18px;flex-direction:column;align-items:stretch}.notifications-date-toolbar{padding:14px 18px;flex-direction:column;align-items:stretch}.notifications-date-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.notifications-date-presets button{border:1px solid var(--border)}.notifications-date-toolbar label{width:100%;margin-left:0;justify-content:flex-end}.notifications-date-toolbar select{width:auto;min-width:150px}.notifications-range-filter{padding:14px 18px;align-items:stretch}.notifications-filter-actions,.notifications-filter-actions button,.notifications-range-filter .date-picker,.notifications-range-filter .date-picker-input,.notifications-range-filter input[type=date],.notifications-range-filter label,.notifications-range-filter>span{width:100%}.notifications-filter-actions{margin-left:0;flex-direction:column;align-items:stretch}.notifications-range-filter i{display:none}.notifications-sort{justify-content:stretch;overflow-x:auto}.notifications-sort button{flex:1 0 auto;padding:0 14px}.notification-item{grid-template-columns:58px minmax(0,1fr);gap:16px;padding:22px 18px}.notification-date strong{font-size:24px}.notification-item strong{font-size:18px}.notification-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.notification-actions button{width:auto;flex:1 1 150px}.notification-list{overflow-y:visible}.filter-bar{flex-wrap:wrap}.filter-search{flex:1 1 100%}.filter-select{width:calc(50% - 5px)}}.filter-bar input,.filter-bar select{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-glass);color:var(--text);font-size:13px;max-width:180px}.view-switch{display:flex;gap:6px}.view-switch .secondary-button.active{border-color:var(--primary);color:var(--primary)}.progress-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;color:var(--primary);background:color-mix(in srgb,var(--primary) 15%,transparent)}.progress-pill.done{color:var(--success,#10b981);background:color-mix(in srgb,var(--success,#10b981) 15%,transparent)}.kanban-meta{display:flex;align-items:center;gap:8px;margin:6px 0}.kanban-attach-count{display:inline-flex;align-items:center;gap:4px;color:var(--text-faint);font-size:11px}.calendar-day{border:1px solid var(--border);border-radius:12px;margin-bottom:12px;overflow:hidden}.calendar-date{padding:8px 12px;font-size:12px;font-weight:700;color:var(--text-muted);background:var(--surface-glass);border-bottom:1px solid var(--border-soft)}.calendar-day .doc-item{border:none;border-bottom:1px solid var(--border-soft);border-radius:0}.topbar-actions{display:flex;align-items:center;gap:8px}@media (max-width:768px){.sidebar-hamburger{position:fixed;top:14px;left:16px;z-index:45;display:grid;gap:4px;width:40px;height:40px;place-content:center;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--text-strong);cursor:pointer;box-shadow:0 2px 8px var(--card-shadow)}.sidebar-hamburger span{display:block;width:16px;height:2px;background:currentColor}.sidebar-backdrop{position:fixed;z-index:39;inset:0;background:var(--backdrop)}.dashboard-sidebar{position:fixed;z-index:40;top:0;bottom:0;left:0;width:min(86vw,300px);height:100dvh;max-height:none;transform:translateX(-105%);transition:transform .18s ease}.dashboard-sidebar.open{transform:translateX(0)}.sidebar-close{display:grid}.dashboard-sidebar nav{display:flex}.sidebar-hamburger.is-open{display:none!important}.sidebar-label{display:block}.sidebar-logout{display:flex!important}.dashboard-content{width:100%;margin:0}.dashboard-topbar{min-height:72px;padding:14px 20px 14px 72px}.dashboard-main{padding:24px 20px}.tt27-dashboard-main{padding:76px 20px 24px!important}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}}@media (max-width:480px){.dashboard-topbar{flex-wrap:wrap;row-gap:8px;padding:12px 16px}.dashboard-topbar>div:first-child{min-width:0;padding-left:56px}.dashboard-topbar h1{font-size:21px}.dashboard-topbar>div:last-child:not(:first-child){margin-left:auto}}.dashboard-sidebar{top:0!important;bottom:0!important;left:0!important;margin:0!important}.sidebar-logo{align-items:center;min-width:0;flex:1}.sidebar-logo>strong{flex:1;min-width:0;color:var(--text-strong);font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logo .brand-mark{flex:0 0 auto}.sidebar-tenant-logo{display:block;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--primary-border);border-radius:10px;background:var(--surface);-o-object-fit:cover;object-fit:cover;padding:0}@media (max-width:768px){.dashboard-sidebar{transform:translateX(-105%)}.dashboard-sidebar.open{transform:translateX(0)}}.week-selector-nav{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0;max-width:100%}.week-selector-nav .searchable-select{flex:1 1 auto;min-width:0}@media (max-width:640px){.week-selector-nav{flex-wrap:wrap}.week-selector-nav .searchable-select{flex:1 1 100%;order:2}.week-selector-next,.week-selector-prev{order:1}}.searchable-select{position:relative;display:block;width:100%;min-width:0;box-sizing:border-box}.searchable-select.open{z-index:100}.assessment-filters:has(.searchable-select.open),.assessment-form:has(.searchable-select.open),.assessment-table:has(.searchable-select.open),.crud-form:has(.searchable-select.open),.data-panel:focus-within,.data-panel:has(.searchable-select.open),label:has(.searchable-select.open){z-index:90;position:relative;overflow:visible}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--input-border);border-radius:var(--radius-control,10px);background:var(--inset);color:var(--input-text);font:inherit;font-size:.8125rem;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s}.searchable-select-trigger:not(:disabled):hover,.searchable-select-trigger[aria-expanded=true]{border-color:var(--primary-strong);background:var(--surface-dim)}.searchable-select-trigger:disabled{opacity:.75}.searchable-select-trigger:disabled,.searchable-select-trigger:disabled:hover{cursor:default;background:var(--surface-dim);color:var(--text-faint);border-color:var(--border-soft);box-shadow:none}.searchable-select-trigger:focus-visible{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring);outline:none}.searchable-select-placeholder,.searchable-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-placeholder{color:var(--placeholder)}.searchable-select-caret{flex:0 0 auto;color:var(--text-muted);transition:transform .18s}.searchable-select-trigger[aria-expanded=true] .searchable-select-caret{color:var(--primary-strong)}.searchable-select-menu{z-index:var(--z-dropdown,1200);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--input-border);border-radius:var(--radius-panel,12px);background:var(--surface);box-shadow:0 18px 40px var(--card-shadow)}.searchable-select-search{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px;border-bottom:1px solid var(--border-soft);color:var(--text-faint)}.searchable-select-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--input-text);font:inherit;font-size:.8125rem}.searchable-select-search input::-moz-placeholder{color:var(--placeholder)}.searchable-select-search input::placeholder{color:var(--placeholder)}.searchable-select-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;flex:0 0 auto;border:0;border-radius:50%;background:var(--neutral-bg);color:var(--text-muted);cursor:pointer}.searchable-select-clear svg{position:static;left:auto;pointer-events:auto;display:block}.searchable-select-clear:hover{background:var(--danger-bg);color:var(--danger-text)}.searchable-select-options{flex:1 1 auto;min-height:0;max-height:min(280px,40dvh);overflow-y:auto;padding:5px}.searchable-select-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.8125rem;text-align:left;cursor:pointer}.searchable-select-option.selected,.searchable-select-option:hover{background:var(--primary-dim);color:var(--primary-text)}.searchable-select-option.disabled,.searchable-select-option:disabled{opacity:.55;cursor:not-allowed}.searchable-select-option.disabled:hover,.searchable-select-option:disabled:hover{background:transparent;color:var(--text-muted)}.searchable-select-check{color:var(--primary-strong);font-weight:700}.searchable-select-empty{padding:18px 12px;color:var(--text-muted);font-size:.75rem;text-align:center}.searchable-select-footer{flex:0 0 auto;padding:6px 8px;border-top:1px solid var(--border-soft);background:var(--surface-dim)}.searchable-select-done-btn{width:100%;padding:8px 12px;border:0;border-radius:var(--radius-control,8px);background:var(--primary-strong);color:#fff;font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:opacity .18s}.searchable-select-done-btn:hover{opacity:.9}@media (max-width:768px){.searchable-select-search input,input:not([type]),input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{font-size:1rem!important}.searchable-select-option{min-height:42px}.searchable-select-done-btn,.searchable-select-option{padding:10px 12px;font-size:.875rem}}.audit-detail-container{display:flex;flex-direction:column;gap:22px;padding:20px 24px 24px}.audit-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (max-width:768px){.audit-meta-grid{grid-template-columns:1fr}}.audit-meta-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--border-soft);border-radius:var(--radius-panel,12px);background:var(--surface-dim);transition:border-color .18s,box-shadow .18s}.audit-meta-card:hover{border-color:var(--primary-soft);box-shadow:0 2px 10px rgba(0,0,0,.03)}.audit-meta-card-head{display:flex;align-items:center;gap:6px;color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.audit-meta-card-body{display:flex;flex-direction:column;gap:3px}.audit-meta-title{color:var(--text-strong);font-size:13.5px;font-weight:600;line-height:1.35;word-break:break-word}.audit-meta-sub{color:var(--text-muted);font-size:12px;line-height:1.4;word-break:break-word}.audit-diff-section{display:flex;flex-direction:column;gap:16px;padding-top:18px;border-top:1px solid var(--border-soft)}.audit-diff-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.audit-diff-toolbar-title{display:flex;align-items:center;gap:8px;color:var(--text-strong);font-size:15px;font-weight:600}.audit-diff-card-list{display:flex;flex-direction:column;gap:16px;max-height:480px;overflow-y:auto;padding-right:6px}.audit-diff-card{display:flex;flex-direction:column;gap:14px;padding:16px 18px;border:1px solid var(--border-soft);border-left-width:4px;border-radius:var(--radius-panel,12px);background:var(--surface);box-shadow:0 2px 8px rgba(0,0,0,.02);transition:box-shadow .18s,border-color .18s}.audit-diff-card.changed{border-left-color:var(--warning-strong,#f59e0b)}.audit-diff-card.added{border-left-color:var(--success-strong,#10b981)}.audit-diff-card.removed{border-left-color:var(--danger-strong,#ef4444)}.audit-diff-card.unchanged{border-left-color:var(--border);opacity:.75}.audit-diff-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:2px}.audit-diff-label{display:flex;align-items:center;gap:10px;color:var(--text-strong);font-size:14.5px;font-weight:600}.audit-diff-key{padding:3px 8px;border-radius:var(--radius-control,8px);background:var(--neutral-bg);color:var(--text-muted);font-family:var(--font-mono,monospace);font-size:11.5px;font-weight:500}.audit-diff-badge{padding:4px 10px;border-radius:20px;font-size:11.5px;font-weight:600;letter-spacing:.01em}.audit-diff-badge.changed{background:rgba(245,158,11,.12);color:#b45309}.audit-diff-badge.added{background:rgba(16,185,129,.12);color:#047857}.audit-diff-badge.removed{background:rgba(239,68,68,.12);color:#b91c1c}.audit-diff-badge.unchanged{background:var(--neutral-bg);color:var(--text-muted)}.audit-diff-body{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}@media (max-width:640px){.audit-diff-body{grid-template-columns:1fr}}.audit-diff-panel{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:10px;font-size:13px}.audit-diff-panel.old{border:1px solid var(--border-soft);background:var(--surface-dim)}.audit-diff-panel.new{border:1px solid rgba(16,185,129,.3);background:rgba(16,185,129,.04)}.audit-diff-panel.full{grid-column:1/-1}.audit-diff-panel-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.audit-diff-panel.old .audit-diff-panel-title{color:var(--text-muted)}.audit-diff-panel.new .audit-diff-panel-title{color:var(--success-text,#059669)}.audit-diff-val{color:var(--text-strong);font-weight:500;word-break:break-all;white-space:pre-wrap;font-family:var(--font-mono,monospace);font-size:13px;line-height:1.5;padding:8px 12px;background:var(--surface);border-radius:var(--radius-control,8px);border:1px solid var(--border-soft)}.audit-diff-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--neutral-bg);color:var(--text-muted)}.audit-info-banner{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-panel,12px);background:rgba(16,185,129,.05)}.form-dialog.wide{width:min(100%,920px)}.detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--border);background:var(--surface-dim)}.detail-hero h3{margin:0;color:var(--text-strong);font-size:22px;letter-spacing:-.03em}.detail-hero p{margin:6px 0 0;color:var(--text-muted);font-size:13px;line-height:1.5}.detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.detail-tabs{display:flex;gap:4px;overflow-x:auto;padding:0 24px;border-bottom:1px solid var(--border)}.detail-tab{flex:0 0 auto;padding:13px 4px 11px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-size:13px;cursor:pointer}.detail-tab.active,.detail-tab:hover{border-bottom-color:var(--primary-strong);color:var(--primary-text)}.detail-body{padding:20px 24px 24px}.detail-hero-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:16px 24px;background:var(--surface-dim);border-bottom:1px solid var(--border)}.hero-meta-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-strong)}.hero-meta-item span{color:var(--text-muted);font-size:12px}.role-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:var(--radius-control,8px);font-size:10px;font-weight:600;line-height:1.3;margin-left:6px}.role-chip.head{background:var(--amber-bg);color:var(--accent-amber);border:1px solid var(--amber-dim)}.role-chip.deputy{background:var(--blue-dim);color:var(--accent-blue);border:1px solid rgba(56,189,248,.3)}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-panel,12px);background:var(--border)}.info-field{display:grid;gap:6px;min-width:0;padding:14px 16px;background:var(--surface)}.info-field span{color:var(--text-faint);font-size:11px;font-weight:600}.info-field strong{min-width:0;overflow-wrap:anywhere;color:var(--text-strong);font-size:13px;font-weight:600;line-height:1.45}@media (max-width:640px){.searchable-select-menu{width:min(100%,320px);max-width:calc(100vw - 24px);left:0;right:auto}.detail-hero{flex-direction:column;padding:18px 16px}.detail-actions{justify-content:flex-start}.detail-tabs{padding:0 16px}.detail-body{padding:16px}.info-grid{grid-template-columns:1fr}}.member-select-section{display:flex;flex-direction:column;gap:16px;margin-top:0;margin-bottom:20px}.member-select-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:36px}.member-select-search{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:360px;max-width:100%;box-sizing:border-box;flex-shrink:1;position:relative}.member-select-search input:not([type=checkbox]):not([type=radio]){border:none;background:transparent;color:var(--text-strong);font-size:12px;outline:none;width:100%;padding:0;margin:0;height:100%}.member-select-search input::-moz-placeholder{color:var(--placeholder)}.member-select-search input::placeholder{color:var(--placeholder)}.member-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:10px;max-height:380px;overflow-y:auto;padding:12px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-panel,12px)}.member-select-card{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between;gap:10px;padding:10px 12px!important;background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .15s ease-in-out;width:auto!important;margin:0!important}.member-select-card:hover{background:var(--surface-dim-hover);border-color:var(--primary-border);transform:translateY(-1px)}.member-select-card.selected{background:var(--primary-dim);border-color:var(--primary-border);box-shadow:0 0 0 1px var(--primary-border)}.member-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--primary-dim);color:var(--primary-strong);font-weight:700;font-size:13px;flex-shrink:0}.member-select-card.selected .member-avatar{background:var(--primary-btn);color:#fff}.member-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.member-name{color:var(--text-strong);font-size:13px;font-weight:600}.member-name,.member-username{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-username{color:var(--text-faint);font-size:11px}.member-checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0!important}.filter-pills-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-pill{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:17px;border:1px solid var(--border-soft);background:var(--surface);color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;box-sizing:border-box}.filter-pill:hover{background:var(--surface-dim-hover);color:var(--text-strong);border-color:var(--border)}.filter-pill.active{background:var(--primary-dim);border-color:var(--primary-border);color:var(--primary-strong);font-weight:600}.member-select-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--border);margin-top:14px;flex-wrap:wrap}.modal-scroll-table{max-height:380px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-panel,12px)}.dept-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin:14px 24px}.dept-meta-col{background:var(--surface);padding:10px 16px;display:flex;flex-direction:column;gap:3px}.dept-meta-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.dept-meta-value{font-size:13.5px;font-weight:700;color:var(--text-strong)}.member-select-grid-3col{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:10px;padding:12px;background:var(--inset);border:1px solid var(--border);border-radius:8px;max-height:380px;overflow-y:auto}@media (max-width:860px){.dept-meta-grid,.member-select-grid-3col{grid-template-columns:repeat(2,1fr)}}@media (max-width:580px){.dept-meta-grid,.member-select-grid-3col{grid-template-columns:1fr}}.member-card-new{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .15s ease}.member-card-new:hover{border-color:var(--primary-border);background:var(--surface-dim-hover)}.member-card-new.selected{background:var(--primary-dim);border-color:var(--primary-border);box-shadow:0 0 0 1px var(--primary-border)}.member-avatar-box{display:flex;justify-content:center;width:32px;height:32px;border:1px solid var(--border);background:var(--surface);color:var(--text-strong);font-size:13px;flex-shrink:0}.filter-pill-rect,.member-avatar-box{align-items:center;border-radius:6px;font-weight:600}.filter-pill-rect{display:inline-flex;height:34px;padding:0 14px;border:1px solid var(--border-soft);background:var(--surface-dim);color:var(--text-muted);font-size:12px;text-transform:uppercase;cursor:pointer;transition:all .15s ease}.filter-pill-rect.active{background:var(--primary-btn);border-color:var(--primary-btn);color:#fff}.filter-pill-rect:hover:not(.active){background:var(--surface-dim-hover);color:var(--text-strong)}.dashboard-layout{min-height:100dvh;display:flex;background:var(--bg);color:var(--text-strong)}@media (max-width:768px){.dashboard-layout{display:block}}.panel-actions,.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px;min-width:0}.panel-actions,.topbar-right{margin-left:auto}@media (max-width:768px){.panel-actions{flex-wrap:wrap;justify-content:flex-end}}.small-btn{min-height:34px;padding:7px 12px;font-size:12px;line-height:1}.tab-pills{gap:4px}.tab-pill{border:0;white-space:nowrap}.ai-log-full,.exam-qcard-attachments,.import-errors-list,.import-preview-box,.task-report-view{min-width:0}.task-report-view{display:flex;flex-direction:column;gap:16px}.ai-log-full{max-height:min(62vh,620px);overflow:auto;padding:14px 16px;border:1px solid var(--border-soft);border-radius:var(--radius-panel,12px);background:var(--inset)}.upload-btn{cursor:pointer}.import-preview-box{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--border-soft);border-radius:var(--radius-panel,12px);background:var(--surface-dim)}.import-errors-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto}.import-error-item{padding:9px 10px;border:1px solid var(--red-border,rgba(239,68,68,.25));border-radius:var(--radius-control,8px);background:var(--red-dim,#fef2f2);color:var(--red-strong,#dc2626);font-size:12px;font-weight:600}.notification-body{min-width:0}.mfa-otp-label{display:block;margin-top:8px}.grid-cell-filled{position:relative;background:var(--surface,#fff);transition:box-shadow .15s ease,background .15s ease}.grid-cell-filled:hover{box-shadow:inset 0 0 0 2px var(--primary-border,rgba(16,185,129,.28))}.assignment-head,.assignment-row{min-width:0}.img-error-placeholder,.img-loading-placeholder{border:1px dashed var(--border-soft);border-radius:var(--radius-control,8px);background:var(--surface-dim)}.account-page{display:flex;flex-direction:column;gap:20px}.account-profile-card{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:16px}.account-profile-header{display:flex;align-items:center;gap:20px}.account-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:var(--radius-panel,12px);background:linear-gradient(135deg,var(--primary-strong),var(--primary-dark,#007a4d));color:#fff;font-size:22px;font-weight:800;letter-spacing:.05em;box-shadow:0 6px 18px rgba(0,168,107,.25);flex-shrink:0}.account-profile-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.account-name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.account-name-row h2{margin:0;font-size:20px;font-weight:700;color:var(--text-strong);line-height:1.2}.account-username{margin:0;font-size:13px;color:var(--text-muted);font-weight:500}.account-meta-chips{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.account-chip{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:var(--surface-dim);border:1px solid var(--border-soft);color:var(--text-muted);font-size:12px;font-weight:500}.account-chip svg{color:var(--primary-strong)}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}@media (max-width:960px){.account-grid{grid-template-columns:1fr}}.account-card{padding:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.account-icon-badge{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--primary-bg);color:var(--primary-strong)}.account-form{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.account-desc{margin:0;font-size:13px;line-height:1.5;color:var(--text-muted)}.account-field-group{display:flex;flex-direction:column;gap:14px}.account-field-group label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted)}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon input{width:100%;padding-right:40px}.input-eye-btn{position:absolute;right:10px;display:grid;place-items:center;width:28px;height:28px;border:0;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-control,8px);transition:color .18s,background .18s}.input-eye-btn:hover{color:var(--primary-strong);background:var(--neutral-bg)}.password-checklist{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;background:var(--surface-dim);border:1px solid var(--border-soft)}.check-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-faint);transition:color .2s}.check-item.valid{color:var(--primary-strong)}.account-card-actions{display:flex;align-items:center;gap:10px;margin-top:4px}.mfa-status-banner{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:12px;border:1px solid transparent}.mfa-status-banner.active{background:var(--primary-bg);border-color:var(--primary-border);color:var(--primary-text)}.mfa-status-banner.inactive{background:var(--amber-bg,rgba(245,158,11,.08));border-color:var(--amber-border,rgba(245,158,11,.25));color:var(--amber-text,#b45309)}.mfa-status-banner .status-icon{flex-shrink:0;margin-top:2px}.mfa-status-banner strong{display:block;font-size:14px;font-weight:700;margin-bottom:2px}.mfa-status-banner p{margin:0;font-size:12px;opacity:.9;line-height:1.4}.mfa-setup-box{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:12px;border:1px solid var(--border-soft);background:var(--surface-dim)}.mfa-step{display:flex;align-items:flex-start;gap:10px}.mfa-step .step-num{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--primary-strong);color:#fff;font-size:11px;font-weight:800;flex-shrink:0}.mfa-step strong{display:block;font-size:13px;color:var(--text-strong);font-weight:700}.mfa-step p{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.secret-key-wrapper{display:flex;align-items:center;gap:8px}.secret-input{flex:1;font-family:monospace;font-size:14px;font-weight:700;letter-spacing:.1em;text-align:center;background:var(--inset)}.mfa-otp-input{font-size:20px;font-weight:800;letter-spacing:.25em;text-align:center;height:48px;border-color:var(--primary-strong)}.mfa-idle-box{display:flex;flex-direction:column;gap:16px}.account-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:16px}.account-hero-main{display:flex;align-items:center;gap:18px}.account-avatar-hero{display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,var(--primary-strong),var(--primary-dark,#007a4d));color:#fff;font-size:20px;font-weight:800;letter-spacing:.05em;box-shadow:0 6px 16px rgba(0,168,107,.22);flex-shrink:0}.account-hero-text{display:flex;flex-direction:column;gap:4px}.account-status-row{display:flex;align-items:center;gap:8px}.account-hero-text h2{margin:0;font-size:20px;font-weight:700;color:var(--text-strong);line-height:1.2}.account-hero-sub{margin:0;font-size:13px;color:var(--text-muted)}.account-hero-actions{display:flex;align-items:center;gap:10px}@media (max-width:768px){.account-profile-hero{flex-direction:column;align-items:flex-start}}.account-info-sections{display:flex;flex-direction:column;gap:20px}.account-info-panel{padding:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.account-panel-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--primary-bg);color:var(--primary-strong)}.account-details-grid{padding:20px 24px 24px}.info-action-inline{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.account-v2{display:flex;flex-direction:column;gap:20px}.account-topbar{justify-content:flex-start}.account-v2-cover-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel,12px);overflow:hidden;box-shadow:0 4px 20px var(--card-shadow)}.account-v2-banner{height:110px;background:linear-gradient(135deg,var(--primary-strong,#34d399) 0,var(--secondary,#38bdf8) 100%);position:relative;overflow:hidden}.account-v2-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,hsla(0,0%,100%,.22) 0,transparent 55%),radial-gradient(circle at 15% 85%,rgba(0,0,0,.15) 0,transparent 60%);pointer-events:none}.account-v2-body{padding:0 24px 20px;display:flex;flex-direction:column;gap:12px}.account-v2-avatar-container{position:relative;width:76px;height:76px;margin-top:-38px;flex-shrink:0}.account-v2-avatar{display:grid;place-items:center;width:76px;height:76px;border-radius:var(--radius-panel,12px);background:linear-gradient(135deg,var(--primary-strong,#34d399),var(--secondary,#38bdf8));border:4px solid var(--surface);color:#fff;font-size:24px;font-weight:800;letter-spacing:.05em;box-shadow:0 8px 24px var(--primary-ring)}.account-v2-online-dot{position:absolute;bottom:4px;right:4px;width:14px;height:14px;border-radius:50%;background:#10b981;border:3px solid var(--surface)}.account-v2-user-details{display:flex;flex-direction:column;gap:4px;margin-top:4px}.account-v2-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.account-v2-name-row h2{margin:0;font-size:24px;font-weight:800;color:var(--text-strong);line-height:1.2}.account-v2-role-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;background:var(--primary-bg);color:var(--primary-text);font-size:11px;font-weight:700;border:1px solid var(--primary-border)}.account-v2-sub{margin:0;font-size:13px;color:var(--text-muted);font-weight:500}.account-v2-actions{display:flex;align-items:center;gap:10px;margin-bottom:4px}.account-v2-tabs{display:flex;align-items:center;gap:4px;padding:0 20px;border-top:1px solid var(--border);background:var(--head-bg)}.account-v2-tab{display:inline-flex;align-items:center;gap:8px;padding:14px 18px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:color .18s,border-color .18s}.account-v2-tab:hover{color:var(--text-strong)}.account-v2-tab.active{color:var(--primary-strong);border-bottom-color:var(--primary-strong)}.account-v2-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel,12px);overflow:hidden}.account-v2-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:24px}@media (max-width:640px){.account-v2-grid{grid-template-columns:1fr}}.account-v2-info-card{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:12px;background:var(--surface-dim);border:1px solid var(--border-soft);transition:border-color .18s,transform .18s}.account-v2-info-card:hover{border-color:var(--primary-border)}.account-v2-info-card .label{font-size:11px;font-weight:700;color:var(--text-faint);letter-spacing:.05em;text-transform:uppercase}.account-v2-info-card .value{font-size:14px;font-weight:700;color:var(--text-strong);word-break:break-word}.account-v2-info-card .value.font-mono{font-family:monospace;letter-spacing:.03em}.account-v2-info-card .value.text-success{color:var(--primary-strong)}.account-v2-security-list{gap:12px}.account-v2-delegation-body,.account-v2-security-list{display:flex;flex-direction:column;padding:20px 24px 24px}.account-v2-delegation-body{gap:16px}.table-responsive{width:100%;overflow-x:auto;border-radius:12px;border:1px solid var(--border-soft);background:var(--surface)}.account-v2-delegation-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:13px;min-width:820px}.account-v2-delegation-table thead{background:var(--head-bg)}.account-v2-delegation-table th{padding:14px 18px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);text-align:left;border-bottom:1px solid var(--border-soft);white-space:nowrap}.account-v2-delegation-table td{padding:14px 18px;color:var(--text);border-bottom:1px solid var(--border-soft);vertical-align:middle}.account-v2-delegation-table tbody tr{transition:background-color .15s ease}.account-v2-delegation-table tbody tr:hover{background-color:var(--surface-dim-hover)}.account-v2-delegation-table tbody tr:last-child td{border-bottom:none}.security-row{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:14px;background:var(--surface-dim);border:1px solid var(--border-soft);flex-wrap:wrap}.security-icon-box{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--primary-bg);color:var(--primary-strong);flex-shrink:0}.security-row-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:220px}.security-row-info strong{font-size:14px;font-weight:700;color:var(--text-strong)}.security-row-info p{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4}@media (max-width:640px){.account-v2{gap:14px}.account-v2-banner{height:72px}.account-v2-body{padding:0 16px 16px}.account-v2-avatar,.account-v2-avatar-container{width:64px;height:64px}.account-v2-avatar-container{margin-top:-32px}.account-v2-name-row{align-items:flex-start;flex-direction:column;gap:6px}.account-v2-name-row h2{max-width:100%;font-size:21px;overflow-wrap:break-word}.account-v2-role-pill{white-space:normal;line-height:1.4}.account-v2-role-pill,.account-v2-sub{max-width:100%;overflow-wrap:break-word}.account-v2-sub{line-height:1.5}.account-v2-tabs{gap:0;overflow-x:auto;padding:0 10px;scrollbar-width:none}.account-v2-tabs::-webkit-scrollbar{display:none}.account-v2-tab{flex:0 0 auto;gap:6px;padding:12px 10px 10px;font-size:12px;white-space:nowrap}.account-v2-panel .data-panel-head{align-items:flex-start;gap:8px;flex-wrap:wrap;padding:16px}.account-v2-grid{gap:10px;padding:16px}.account-v2-info-card{padding:13px}.account-v2-info-card .value{overflow-wrap:break-word;line-height:1.45}.account-v2-security-list{gap:10px;padding:14px 16px 16px}.account-v2-delegation-body{gap:12px;padding:14px 16px 16px}.security-row{align-items:flex-start;gap:10px;padding:14px}.security-row-info{flex:1 1 calc(100% - 54px);min-width:0}.security-row-info p,.security-row-info strong{overflow-wrap:break-word}.security-row>button{width:100%;white-space:nowrap}}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 16px;padding:14px 0 16px;border-top:1px solid var(--border-soft)}.pagination-summary{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-size:12px;white-space:nowrap}.pagination-summary strong{color:var(--text-strong);font-weight:700}.pagination-actions{display:flex;align-items:center;gap:5px;min-width:0}.pagination-nav-button,.pagination-page{display:inline-grid;place-items:center;height:34px;box-sizing:border-box;border:1px solid var(--border);border-radius:9px;background:var(--surface-dim);color:var(--text-muted);font-size:12px;font-weight:600;transition:border-color .18s,background .18s,color .18s}.pagination-nav-button{min-width:64px;padding:0 10px;cursor:pointer}.pagination-nav-button:hover:not(:disabled),.pagination-page:hover:not(.active):not(.ellipsis){border-color:var(--primary-strong);background:var(--primary-dim);color:var(--primary-text)}.pagination-nav-button:disabled{cursor:not-allowed;opacity:.4}.pagination-page{min-width:34px;padding:0 8px;cursor:pointer}.pagination-page.active{border-color:var(--primary-btn);background:var(--primary-btn);color:#fff;font-weight:700;box-shadow:0 2px 4px rgba(4,120,87,.25)}.pagination-page.ellipsis{border:none;color:var(--text-muted);cursor:default;min-width:20px}@media (max-width:640px){.pagination{align-items:center;flex-direction:row;gap:8px;margin:0 12px;padding:10px 0 12px;overflow:hidden}.pagination-summary{display:none}.pagination-actions{width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.pagination-actions::-webkit-scrollbar{display:none}.pagination-nav-button,.pagination-page{flex:0 0 auto}}.import-dialog-body{display:grid;gap:18px;padding:24px}.import-dialog-intro{display:grid;gap:6px;padding:16px 20px;border:1px solid var(--border-soft);border-radius:var(--radius-lg,12px);background:var(--surface-dim,#f8fafc)}.import-dialog-intro h3{font-size:18px;color:var(--text-strong)}.import-dialog-intro .muted{margin:0;font-size:13px;line-height:1.6;color:var(--text-muted)}.import-dialog-body .notice{margin:0}.import-dialog-body .import-error-list{max-height:200px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:10px}.excel-import-container{display:flex;flex-direction:column;gap:16px}.import-type-picker{display:grid;gap:7px;padding:14px 16px;border:1px solid var(--border-soft);border-radius:var(--radius-lg,12px);background:var(--surface,#fff)}.import-type-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em}.import-type-picker .searchable-select{width:100%}.import-type-hint{color:var(--text-faint,#94a3b8);font-size:12px;line-height:1.5}.import-type-hint strong{color:var(--text-muted,#64748b)}.excel-template-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 14px;border-radius:var(--radius-md,8px);background:var(--surface-dim,#f8fafc);border:1px solid var(--border,#e2e8f0);font-size:13px}.excel-template-bar span{color:var(--text-muted,#64748b);font-weight:500}.template-download-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--primary-border,rgba(16,185,129,.3));border-radius:var(--radius-control,8px);background:var(--surface,#fff);color:var(--primary-text,#059669);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.template-download-btn:hover{background:var(--primary-bg);border-color:var(--primary-strong)}.file-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 24px;border:2px dashed var(--primary-border,var(--border));border-radius:14px;background:var(--primary-bg,var(--surface-dim));text-align:center;cursor:pointer;transition:all .2s ease;position:relative}.file-dropzone.dragging,.file-dropzone:hover{border-color:var(--primary-strong);background:var(--primary-dim)}.file-dropzone-icon{width:50px;height:50px;border-radius:50%;background:var(--primary-dim);color:var(--primary-strong);display:grid;place-items:center;margin-bottom:12px;transition:transform .2s ease,background .2s ease}.file-dropzone:hover .file-dropzone-icon{transform:scale(1.08);background:var(--primary-border)}.file-dropzone-title{font-size:14px;font-weight:600;color:var(--text-strong,#0f172a);margin-bottom:4px}.file-dropzone-sub{font-size:12px;color:var(--text-muted,#64748b)}.file-preview-card{justify-content:space-between;padding:14px 16px;border:1px solid var(--border-strong,#cbd5e1);border-radius:var(--radius-lg,12px);background:var(--surface,#fff);box-shadow:0 2px 8px rgba(0,0,0,.04)}.file-preview-card,.file-preview-info{display:flex;align-items:center;gap:12px}.file-preview-info{min-width:0}.file-preview-icon{width:40px;height:40px;border-radius:8px;background:var(--primary-dim);color:var(--primary-strong);display:grid;place-items:center}.file-preview-details{display:flex;flex-direction:column;min-width:0}.file-preview-name{font-size:13px;font-weight:600;color:var(--text-strong,#0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-meta{font-size:11px;color:var(--text-muted,#64748b)}.file-preview-remove{border:0;background:transparent;color:var(--text-faint,#94a3b8);padding:6px;border-radius:50%;cursor:pointer;transition:all .15s}.file-preview-remove:hover{background:var(--danger-bg,#fef2f2);color:var(--danger,#ef4444)}.academic-current-hero{justify-content:space-between;padding:20px 24px;border:1px solid rgba(16,185,129,.25);border-radius:16px;background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(5,150,105,.03));margin-bottom:20px}.academic-current-hero,.academic-current-info{display:flex;align-items:center;gap:16px}.academic-current-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--primary,#10b981);color:#fff;flex-shrink:0;box-shadow:0 4px 12px rgba(16,185,129,.25)}.academic-current-details h3{margin:0 0 4px;font-size:17px;font-weight:700;color:var(--text-strong)}.academic-current-details p{margin:0;font-size:13px;color:var(--text-muted)}.academic-year-form{padding:20px}.academic-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.academic-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.year-list-grid{display:flex;flex-direction:column;gap:10px;padding:16px 20px 20px}.year-list-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}.year-list-card:hover{border-color:var(--border-focus);box-shadow:0 4px 12px var(--shadow-sm)}.year-card-left{display:flex;align-items:center;gap:14px}.year-card-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--surface-glass);border:1px solid var(--border);color:var(--primary,#10b981);flex-shrink:0}.year-card-info strong{display:block;font-size:14px;font-weight:600;color:var(--text-strong);margin-bottom:2px}.year-card-info p{margin:0;font-size:12px;color:var(--text-muted)}.year-card-right{display:flex;align-items:center;gap:10px}.date-range-span{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;font-weight:600}@media (max-width:640px){.academic-current-hero{flex-wrap:wrap;padding:16px}.academic-current-info{flex-wrap:wrap}.year-list-card{flex-wrap:wrap;row-gap:12px;padding:14px}.year-card-left{flex:1 1 220px;min-width:0}.year-card-right{flex-shrink:0}.date-range-span{flex-wrap:wrap;row-gap:2px}}.branding-container{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.branding-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.branding-grid>.data-panel,.branding-grid>.data-panel+.data-panel{margin-top:0!important;height:100%;display:flex;flex-direction:column;justify-content:space-between}@media (max-width:900px){.branding-grid{grid-template-columns:1fr}}.branding-section{padding:24px;display:flex;flex-direction:column;gap:16px}.branding-grid>.branding-section{justify-content:space-between;height:100%}.branding-section-header{display:flex;flex-direction:column;gap:6px}.branding-section-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--text-strong);margin:0}.branding-section-desc{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.branding-content-body,.branding-logo-wrapper{display:flex;flex-direction:column;justify-content:space-between;flex:1;gap:16px}.branding-logo-wrapper{width:100%}.branding-logo-box{position:relative;width:100%;flex:1;min-height:115px;border-radius:14px;background:var(--surface);border:2px dashed var(--border);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .2s ease-in-out;box-shadow:0 4px 12px rgba(0,0,0,.03)}.branding-logo-box.dragging,.branding-logo-box:hover{border-color:var(--primary);background:rgba(59,130,246,.04);box-shadow:0 6px 20px rgba(59,130,246,.12);transform:translateY(-2px)}.branding-logo-preview{max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;padding:12px}.branding-logo-empty{flex-direction:column;gap:6px;padding:12px;text-align:center;color:var(--text-muted)}.branding-logo-empty,.branding-logo-empty-icon{display:flex;align-items:center;justify-content:center}.branding-logo-empty-icon{width:40px;height:40px;border-radius:10px;background:var(--inset);color:var(--primary)}.branding-logo-overlay{position:absolute;inset:0;background:rgba(15,23,42,.75);backdrop-filter:blur(2px);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;transition:opacity .2s ease;font-size:13px;font-weight:600}.branding-logo-box:hover .branding-logo-overlay{opacity:1}.branding-logo-loading{position:absolute;inset:0;background:hsla(0,0%,100%,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600;color:var(--primary)}.branding-logo-bottom{display:flex;flex-direction:column;gap:12px;width:100%}.branding-logo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.branding-url-input{display:flex;flex-direction:column;gap:6px;width:100%}.color-picker-row{display:flex;align-items:center;gap:8px;width:100%}.color-swatch-wrapper{position:relative;flex:1;min-width:0;height:32px;border-radius:8px;border:1px solid var(--border-soft,#cbd5e1);overflow:hidden;cursor:pointer;box-shadow:inset 0 1px 2px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);transition:border-color .15s,opacity .15s}.color-swatch-wrapper:hover{border-color:var(--primary,#2563eb);opacity:.92}.color-swatch-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0;margin:0}.color-swatch-input::-webkit-color-swatch-wrapper{padding:0}.color-swatch-input::-webkit-color-swatch{border:none}.color-hex-input{width:92px;flex-shrink:0;height:32px;padding:0 8px;text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--border-soft,#cbd5e1);border-radius:8px;background:var(--surface,#fff);color:var(--text-strong,#0f172a)}.color-presets{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.color-preset-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;border:1px solid var(--border);background:var(--surface);font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.color-preset-chip:hover{border-color:var(--primary);color:var(--text-strong);background:var(--inset);transform:translateY(-1px)}.preset-dots{display:flex;align-items:center;gap:3px}.preset-dot{width:10px;height:10px;border-radius:50%}.branding-preview-box{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.04)}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--inset);border-bottom:1px solid var(--border-soft)}.preview-logo-brand{display:flex;align-items:center;gap:10px}.preview-logo-img{-o-object-fit:contain;object-fit:contain}.preview-logo-fallback,.preview-logo-img{width:32px;height:32px;border-radius:var(--radius-control,8px)}.preview-logo-fallback{background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}.preview-school-name{font-weight:700;font-size:14px;color:var(--text-strong)}.preview-nav{display:flex;align-items:center;gap:8px}.preview-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;color:#fff}.preview-body{padding:24px;display:flex;flex-direction:column;gap:16px}.preview-hero{padding:16px;border-radius:12px;background:var(--inset);display:flex;align-items:center;justify-content:space-between}.preview-btn{padding:8px 16px;border-radius:8px;border:none;color:#fff;font-weight:600;font-size:13px;cursor:default}.hl-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hl-search{display:inline-flex;align-items:center;gap:8px;padding:0 12px;height:36px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--text-muted);transition:border-color .18s,box-shadow .18s}.hl-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring,rgba(16,185,129,.16))}.hl-search input,.hl-search input:focus{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important;color:var(--input-text);font-size:13px;min-width:180px}.hl-tools select{height:36px;padding:0 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--input-text);font-size:13px;font-weight:500;outline:none;cursor:pointer;transition:border-color .18s,box-shadow .18s}.hl-tools select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring,rgba(16,185,129,.16))}.hl-count{margin:4px 0 14px;font-size:12px;color:var(--text-faint)}.hl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.hl-card{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);transition:transform .18s,border-color .18s}.hl-card:hover{transform:translateY(-2px);border-color:var(--primary-border)}.hl-card-top{display:flex;align-items:center;justify-content:space-between}.hl-file{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:var(--primary-strong);background:var(--primary-dim)}.hl-type{font-size:10px;letter-spacing:.12em;color:var(--text-faint);text-transform:uppercase}.hl-card h3{margin:0;font-size:15px;line-height:1.4;color:var(--text-strong)}.hl-desc{margin:0;font-size:12px;line-height:1.5;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hl-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.hl-muted{font-size:12px;color:var(--text-faint)}.hl-tags{display:flex;gap:6px;flex-wrap:wrap}.hl-tags span{font-size:11px;color:var(--accent-blue);background:rgba(56,189,248,.1);padding:2px 8px;border-radius:999px}.hl-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid var(--border-soft)}.hl-open{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--primary-strong);text-decoration:none}.hl-open:hover{text-decoration:underline}.hl-empty{padding:40px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.hl-empty-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;color:var(--primary-strong);background:var(--primary-dim)}.hl-empty h3{margin:4px 0 0;font-size:16px;color:var(--text-strong)}.hl-empty p{max-width:340px;margin:0}@media (max-width:640px){.hl-grid{grid-template-columns:1fr}.hl-search input{min-width:120px}}.sg-container{display:flex;flex-direction:column;gap:24px}.sg-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.sg-metric-card{position:relative;overflow:hidden;padding:20px;border-radius:16px;border:1px solid var(--border);background:var(--surface-glass);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:8px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.sg-metric-card:hover{transform:translateY(-2px);border-color:var(--primary-border);box-shadow:0 8px 24px rgba(0,0,0,.15)}.sg-metric-header{display:flex;align-items:center;justify-content:space-between}.sg-metric-label{font-size:13px;font-weight:500;color:var(--text-muted)}.sg-metric-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.sg-metric-icon.emerald{color:#10b981;background:rgba(16,185,129,.15)}.sg-metric-icon.blue{color:#38bdf8;background:rgba(56,189,248,.15)}.sg-metric-icon.purple{color:#c084fc;background:rgba(168,85,247,.15)}.sg-metric-icon.amber{color:#fbbf24;background:rgba(245,158,11,.15)}.sg-metric-value-row{display:flex;align-items:baseline;gap:8px}.sg-metric-value{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--text-strong)}.sg-metric-subtext{font-size:12px;color:var(--text-muted)}.sg-metric-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-control,8px);font-size:11px;font-weight:600}.sg-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--surface-glass);padding:12px 16px;border-radius:14px;border:1px solid var(--border)}.sg-tabs{display:flex;background:var(--inset);padding:4px;border-radius:10px;gap:4px}.sg-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .15s ease}.sg-tab:hover{color:var(--text-strong)}.sg-tab.active{background:var(--surface);color:var(--primary-strong);font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.2)}.sg-filters{flex-wrap:wrap;gap:10px}.sg-filters,.sg-search-box{display:flex;align-items:center}.sg-search-box{position:relative}.sg-search-box>svg{position:absolute;left:12px;color:var(--text-muted);pointer-events:none}.sg-search-box input{padding:8px 12px 8px 36px;border-radius:8px;border:1px solid var(--input-border);background:var(--surface);color:var(--input-text);font-size:13px;width:200px;transition:border-color .15s ease}.sg-search-box input:focus{outline:none;border-color:var(--primary-strong)}.sg-select-filter{padding:8px 12px;border-radius:8px;border:1px solid var(--input-border);background:var(--surface);color:var(--input-text);font-size:13px;cursor:pointer;outline:none}.sg-select-filter:focus{border-color:var(--primary-strong)}@media (max-width:768px){.sg-filters,.sg-toolbar{align-items:stretch;flex-direction:column}.sg-tabs{overflow-x:auto;width:100%}.sg-tab{flex:1 0 max-content;justify-content:center}.sg-search-box,.sg-search-box input,.sg-select-filter{width:100%}}.sg-simple-table{width:100%;min-width:560px;table-layout:fixed;border-collapse:collapse;font-size:14px}.sg-simple-table th{background:var(--head-bg);padding:12px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.sg-simple-table td{padding:14px 16px;border-bottom:1px solid var(--border-soft);color:var(--text);vertical-align:middle;overflow-wrap:anywhere;word-break:break-word}.sg-simple-table tbody tr{transition:background-color .15s ease}.sg-simple-table tbody tr:hover{background-color:var(--surface-dim-hover)}.sg-simple-table tbody tr:last-child td{border-bottom:none}.sg-table-card{border-radius:16px;border:1px solid var(--border);background:var(--surface-glass);backdrop-filter:blur(12px);overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.05)}.sg-table-container{width:100%;overflow-x:auto}.sg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.sg-table th{background:var(--head-bg);padding:14px 20px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.sg-table td{padding:16px 20px;border-bottom:1px solid var(--border-soft);color:var(--text);vertical-align:middle}.sg-table tbody tr{transition:background-color .15s ease}.sg-table tbody tr:hover{background-color:var(--surface-dim-hover)}.sg-table tbody tr:last-child td{border-bottom:none}.sg-subject-cell{display:flex;align-items:center;gap:12px}.sg-subject-avatar{width:38px;height:38px;border-radius:10px;background:var(--primary-dim);color:var(--primary-strong);display:grid;place-items:center;font-weight:700;font-size:13px;border:1px solid var(--primary-border);flex-shrink:0}.sg-subject-info{display:flex;flex-direction:column}.sg-subject-name{font-weight:600;color:var(--text-strong);font-size:14px}.sg-subject-sub{font-size:11px;color:var(--text-muted)}.sg-term-pill{padding:4px 10px;border-radius:20px;font-weight:600;background:var(--inset);color:var(--text);border:1px solid var(--border)}.sg-term-pill,.sg-type-pill{display:inline-flex;align-items:center;font-size:12px}.sg-type-pill{gap:6px;padding:5px 12px;border-radius:8px;font-weight:500}.sg-type-pill.tx{background:rgba(56,189,248,.12);color:#38bdf8;border:1px solid rgba(56,189,248,.25)}.sg-type-pill.dgcc{background:rgba(168,85,247,.12);color:#c084fc;border:1px solid rgba(168,85,247,.25)}.sg-type-pill.dgck{background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.sg-type-pill.default{background:var(--inset);color:var(--text-muted);border:1px solid var(--border)}.sg-score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:6px 12px;border-radius:10px;font-weight:700;font-size:15px;letter-spacing:-.01em;box-shadow:0 2px 8px rgba(0,0,0,.1)}.sg-score-badge.excellent{background:rgba(16,185,129,.18);color:#34d399;border:1px solid rgba(52,211,153,.4)}.sg-score-badge.good{background:rgba(56,189,248,.18);color:#38bdf8;border:1px solid rgba(56,189,248,.4)}.sg-score-badge.average{background:rgba(245,158,11,.18);color:#fbbf24;border:1px solid rgba(245,158,11,.4)}.sg-score-badge.low{background:rgba(244,63,94,.18);color:#f87171;border:1px solid hsla(0,91%,71%,.4)}.sg-score-badge.empty{background:var(--inset);color:var(--text-muted);border:1px solid var(--border);font-size:13px;font-weight:400}.sg-status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.sg-status-pill.locked{background:rgba(148,163,184,.12);color:var(--text-muted);border:1px solid var(--border)}.sg-status-pill.open{background:rgba(16,185,129,.12);color:#34d399;border:1px solid rgba(52,211,153,.3)}.sg-subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:20px}.sg-subject-card{border-radius:16px;border:1px solid var(--border);background:var(--surface-glass);backdrop-filter:blur(12px);padding:20px;display:flex;flex-direction:column;gap:16px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.sg-subject-card:hover{transform:translateY(-2px);border-color:var(--primary-border);box-shadow:0 8px 24px rgba(0,0,0,.12)}.sg-subject-card-head{display:flex;align-items:center;justify-content:space-between}.sg-subject-card-title{display:flex;align-items:center;gap:12px}.sg-subject-card-name{font-size:16px;font-weight:700;color:var(--text-strong)}.sg-subject-card-meta{font-size:12px;color:var(--text-muted)}.sg-subject-avg-box{text-align:right}.sg-subject-avg-val{font-size:22px;font-weight:800;line-height:1}.sg-subject-avg-lbl{font-size:11px;color:var(--text-muted);text-transform:uppercase;margin-top:2px}.sg-progress-track{width:100%;height:6px;border-radius:3px;background:var(--inset);overflow:hidden}.sg-progress-bar{height:100%;border-radius:3px;transition:width .4s ease}.sg-subject-grades-list{display:flex;flex-wrap:wrap;gap:8px}.sg-mini-grade-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:var(--inset);border:1px solid var(--border);font-size:12px}.sg-mini-grade-lbl{color:var(--text-muted);font-size:11px}.sg-mini-grade-val{font-weight:700;color:var(--text-strong)}.tt27-container{gap:24px}.tt27-container,.tt27-hero-card{display:flex;flex-direction:column}.tt27-hero-card{position:relative;overflow:hidden;padding:24px;border-radius:20px;border:1px solid var(--primary-border);background:linear-gradient(135deg,rgba(16,185,129,.08),rgba(30,41,59,.8));backdrop-filter:blur(12px);gap:16px}.tt27-hero-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.tt27-hero-title-box{display:flex;align-items:center;gap:14px}.tt27-hero-icon{width:48px;height:48px;border-radius:14px;background:var(--primary-dim);color:var(--primary-strong);display:grid;place-items:center;border:1px solid var(--primary-border)}.tt27-hero-result-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:12px;font-size:14px;font-weight:700;background:rgba(16,185,129,.16);color:#34d399;border:1px solid rgba(52,211,153,.35)}.tt27-hero-promoted-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;background:rgba(56,189,248,.16);color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.tt27-teacher-comment{padding:16px 20px;border-radius:14px;background:var(--inset);border-left:4px solid var(--primary-strong);display:flex;flex-direction:column;gap:6px}.tt27-teacher-comment-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.tt27-teacher-comment-body{font-size:14px;color:var(--text-strong);font-style:italic;line-height:1.6}.tt27-tabs-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.tt27-tabs{display:flex;background:var(--inset);padding:4px;border-radius:12px;gap:4px}.tt27-tab{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .15s ease}.tt27-tab:hover{color:var(--text-strong)}.tt27-tab.active{background:var(--surface);color:var(--primary-strong);font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.2)}.tt27-eval-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px}.tt27-eval-card{padding:18px;border-radius:14px;border:1px solid var(--border);background:var(--surface-glass);backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:transform .2s ease,border-color .2s ease}.tt27-eval-card:hover{transform:translateY(-2px);border-color:var(--primary-border)}.tt27-eval-key{font-size:14px;font-weight:600;color:var(--text-strong)}.tt27-eval-level-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;align-self:flex-start}.tt27-eval-level-tag.good{background:rgba(16,185,129,.16);color:#34d399;border:1px solid rgba(52,211,153,.35)}.tt27-eval-level-tag.pass{background:rgba(56,189,248,.16);color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.tt27-eval-level-tag.needs-work{background:rgba(245,158,11,.16);color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.tt27-feed-list{gap:14px}.tt27-feed-item,.tt27-feed-list{display:flex;flex-direction:column}.tt27-feed-item{padding:18px 20px;border-radius:14px;border:1px solid var(--border-soft);background:var(--surface-glass);gap:10px;transition:border-color .15s ease}.tt27-feed-item:hover{border-color:var(--border)}.tt27-feed-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.tt27-feed-subject{font-size:13px;font-weight:700;color:var(--primary-strong);display:inline-flex;align-items:center;gap:6px}.tt27-feed-meta{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:12px}.tt27-feed-body{font-size:14px;color:var(--text-strong);line-height:1.6}@media (max-width:768px){.tt27-feed-item,.tt27-hero-card{padding:18px}.tt27-feed-head,.tt27-feed-meta,.tt27-hero-title-box,.tt27-tabs-bar{align-items:stretch;flex-direction:column}.tt27-tabs{overflow-x:auto;width:100%}.tt27-tab{flex:1 0 max-content;justify-content:center}}.link-manager{display:flex;flex-direction:column;gap:20px;padding:16px 20px 20px}.link-manager-search{position:relative;display:flex;align-items:center}.link-manager-search input:not([type=checkbox]){width:100%;padding:11px 38px 11px 42px;border-radius:12px;border:1px solid var(--input-border);background:var(--input-bg,var(--surface));color:var(--text-strong);font-size:14px;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.04)}.link-manager-search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.18)}.link-manager-search .search-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.link-manager-search .clear-btn{position:absolute;right:10px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:50%}.link-manager-search .clear-btn:hover{background:var(--surface-hover);color:var(--text-strong)}.link-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--primary);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.link-current-list{display:flex;flex-direction:column;gap:12px}.link-card{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:rgba(99,102,241,.05);border:1px solid rgba(99,102,241,.22);border-radius:14px;transition:all .2s ease;box-shadow:0 2px 6px rgba(0,0,0,.03)}.link-card:hover{border-color:var(--primary);background:rgba(99,102,241,.08)}.link-card-info{display:flex;align-items:center;gap:14px}@media (max-width:768px){.link-card{flex-wrap:wrap;gap:10px}.link-card .link-card-info{min-width:0;flex:1 1 100%}.link-card .crud-actions{flex:1 1 100%;flex-wrap:wrap}}.link-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 8px rgba(99,102,241,.25)}.link-avatar.parent{background:linear-gradient(135deg,#0ea5e9,#2563eb);box-shadow:0 3px 8px rgba(14,165,233,.25)}.link-user-details{display:flex;flex-direction:column;gap:4px}.link-user-name{font-weight:600;font-size:14px;color:var(--text-strong);display:flex;align-items:center;gap:10px}.link-user-sub{font-size:12.5px;color:var(--text-muted)}.relationship-badge{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.relationship-badge.father{background:rgba(59,130,246,.12);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.relationship-badge.mother{background:rgba(236,72,153,.12);color:#ec4899;border:1px solid rgba(236,72,153,.3)}.relationship-badge.guardian{background:rgba(16,185,129,.12);color:#10b981;border:1px solid rgba(16,185,129,.3)}.link-candidate-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:6px}.link-candidate-list::-webkit-scrollbar{width:6px}.link-candidate-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-control,8px)}.link-candidate-item{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-radius:14px;border:1px solid var(--border);background:var(--surface);transition:all .2s ease}.link-candidate-item:hover{background:var(--surface-hover,hsla(0,0%,100%,.03));border-color:var(--primary-border,var(--primary));transform:translateY(-1px)}.link-candidate-item.selected{border-color:var(--border);background:var(--surface-dim,hsla(0,0%,100%,.02));opacity:.7}.relationship-select{padding:7px 12px;border-radius:10px;border:1px solid var(--input-border);background:var(--surface);color:var(--text-strong);font-size:13px;outline:none;cursor:pointer;transition:border-color .2s}.relationship-select:focus{border-color:var(--primary)}.lesson-form-card{margin:12px 0 16px;padding:14px 16px;background:var(--surface-card,hsla(0,0%,100%,.02));border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:12px}.lesson-form-head{display:flex;align-items:center;justify-content:space-between}.lesson-form-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--primary)}.lesson-form-body{display:flex;flex-direction:column;gap:18px}.lesson-form-top-row{display:grid;grid-template-columns:110px 110px minmax(280px,1fr);gap:20px;width:100%}.lesson-field-objectives,.lesson-field-sm,.lesson-field-title{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:8px}.lesson-field-objectives label,.lesson-field-sm label,.lesson-field-title label{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;font-size:13px;font-weight:600;color:var(--text-strong);gap:4px;margin:0;white-space:nowrap}.lesson-field-sm input,.lesson-field-title input{width:100%;height:42px;padding:10px 14px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg,var(--surface));color:var(--text-strong);font-size:14px;font-family:inherit;transition:all .2s ease;box-sizing:border-box}.lesson-field-objectives{width:100%}.lesson-field-objectives textarea{width:100%;min-height:90px;padding:12px 16px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg,var(--surface));color:var(--text-strong);font-size:14px;font-family:inherit;line-height:1.5;resize:vertical;transition:all .2s ease;box-sizing:border-box}.lesson-field-objectives textarea:focus,.lesson-field-sm input:focus,.lesson-field-title input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.15)}.lesson-form-actions{display:flex;align-items:center;justify-content:flex-end;padding-top:4px}.lesson-form-actions button{height:42px;padding:0 28px;font-size:14px;font-weight:600;border-radius:10px}.lesson-table-card{margin:0 24px 24px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface-card,hsla(0,0%,100%,.02))}.lesson-table-card .data-table{margin-top:0!important}.lesson-table-card .crud-row,.lesson-table-card .crud-table-head{padding:16px 22px}.link-actions-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border);margin-top:4px}.assignment-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:0 16px 14px}.upload-button{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.assignment-attachments{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:0 16px 14px;font-size:13px}.submit-assignment-info{margin:20px 24px 0;padding:16px 18px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-dim)}.submit-assignment-title{display:flex;align-items:center;gap:10px}.submit-assignment-title h4{margin:0;color:var(--text-strong);font-size:16px}.submit-assignment-desc{margin:10px 0 0;color:var(--text);font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.submit-assignment-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;color:var(--text-muted);font-size:12px}.submit-assignment-form{display:grid;grid-template-columns:1fr}.submit-assignment-form .wide{grid-column:auto}.file-drop-zone{position:relative}.file-drop-zone>input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-drop-zone-label{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px!important;padding:28px 20px!important;border:1px solid var(--border-soft,#cbd5e1);border-radius:12px;background:var(--inset);color:var(--text-muted);font-weight:600!important;letter-spacing:0!important;cursor:pointer;text-align:center;transition:border-color .18s,background-color .18s}.file-drop-zone-label:hover{border-color:var(--primary);background:var(--primary-dim,rgba(46,158,91,.06))}.file-drop-zone-label svg{color:var(--primary)}.file-drop-zone-label strong{color:var(--text-strong);font-size:13px}.file-drop-zone-label small{font-size:12px;font-weight:400;letter-spacing:0}.file-picked{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-dim)}.file-picked-preview{width:52px;height:52px;-o-object-fit:cover;object-fit:cover;border-radius:9px;border:1px solid var(--border-soft);flex-shrink:0}.file-picked-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:9px;background:var(--inset);color:var(--primary);flex-shrink:0}.file-picked-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.file-picked-info strong{color:var(--text-strong);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-picked-info small{font-size:11px}.submit-assignment-button{justify-self:stretch;justify-content:center;padding:13px 20px}.mode-chip{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:4px 8px;border:1px solid var(--border-soft);border-radius:var(--radius-control,8px);font-size:12px;font-weight:500;color:var(--text-muted);background:transparent;white-space:nowrap}.mode-chip.online{color:var(--accent-blue);border-color:rgba(56,189,248,.3)}.mode-chip.print{color:var(--text-muted);border-color:var(--border-soft)}.mode-chip.hybrid{color:var(--green-strong);border-color:rgba(16,185,129,.3)}.badge-lg{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:4px 8px;border:1px solid var(--border-soft);border-radius:var(--radius-control,8px);font-size:12px;font-weight:500}.badge-lg.locked{background:transparent;color:var(--text-muted);border-color:var(--border-soft)}.badge-lg.open{background:transparent;color:var(--green-strong);border-color:rgba(16,185,129,.3)}.already-submitted{margin:0 24px;padding:16px 18px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-dim)}.already-submitted-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.already-submitted-head h4{margin:0;color:var(--text-strong);font-size:14px}.already-submitted-head .muted{font-size:11px}.already-submitted blockquote{margin:0 0 12px;padding:11px 13px;border-left:3px solid var(--primary);border-radius:0 9px 9px 0;background:var(--inset);color:var(--text);font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.already-submitted-files{display:flex;flex-wrap:wrap;gap:10px}.submitted-file{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface)}.submitted-file img{width:46px;height:46px;-o-object-fit:cover;object-fit:cover;border-radius:8px;cursor:pointer}.submitted-file-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:var(--inset);color:var(--primary)}.submitted-file-name{max-width:150px;color:var(--text);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submitted-file .icon-button.danger{color:var(--text-faint)}.submitted-file .icon-button.danger:hover{color:var(--danger-text);background:rgba(239,68,68,.12)}.submitted-hint{margin:12px 0 0;font-size:12px;line-height:1.5}.submission-files{display:flex;flex-wrap:wrap;gap:12px}.submission-figure{margin:0;overflow:hidden;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-dim);cursor:pointer;transition:border-color .18s,transform .18s}.submission-figure:hover{border-color:var(--primary);transform:translateY(-2px)}.submission-figure img{display:block;width:168px;height:120px;-o-object-fit:cover;object-fit:cover;background:var(--inset)}.submission-figure figcaption{display:flex;align-items:center;gap:5px;max-width:168px;padding:7px 10px;color:var(--text-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-dim);color:var(--text);font-size:12px;text-decoration:none;transition:border-color .18s,background-color .18s}.file-chip:hover{border-color:var(--primary);background:var(--primary-dim,rgba(46,158,91,.08));color:var(--primary-strong)}.file-chip span{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submission-list{display:grid;gap:16px;padding:20px}.submission-card{display:grid;grid-template-columns:220px 1fr;border:1px solid var(--border-soft);border-radius:var(--radius-panel);background:var(--surface);overflow:hidden}.submission-card-head{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:18px;border-right:1px solid var(--border-soft);background:var(--surface-dim)}.student-identity{display:flex;align-items:center;gap:12px}.avatar.small{width:34px;height:34px;font-size:12px;flex-shrink:0}.student-identity-name{display:flex;flex-direction:column;gap:2px;min-width:0}.student-identity-name strong{color:var(--text-strong);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-identity-name small{font-size:11px}.submission-card-head .badge{align-self:flex-start}.submission-card-body{display:grid;grid-template-columns:1fr 260px;gap:20px;padding:18px 20px;min-width:0}.submission-answer{display:flex;flex-direction:column;gap:14px;min-width:0}.submission-answer blockquote{margin:0;padding:12px 14px;border-left:3px solid var(--primary);border-radius:0 10px 10px 0;background:var(--inset);color:var(--text);font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.submission-grading{gap:14px;align-self:start;padding:14px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-dim)}.grade-field,.submission-grading{display:flex;flex-direction:column}.grade-field{gap:6px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em}.grade-field .feedback-input,.grade-field .score-input{width:100%;max-width:none;padding:9px 10px;border:1px solid var(--input-border);border-radius:9px;background:var(--surface);color:var(--text-strong);font-size:13px;outline:none;transition:border-color .18s,box-shadow .18s}.grade-field .feedback-input:focus,.grade-field .score-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.grade-input-wrap{display:flex;align-items:center;gap:6px}.grade-input-wrap span{color:var(--text-faint);font-size:12px;white-space:nowrap}.grade-field .feedback-input{font-weight:400;letter-spacing:0}.grade-save{justify-content:center}@media (max-width:1024px){.submission-card{grid-template-columns:1fr}.submission-card-head{flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--border-soft)}.submission-card-body{grid-template-columns:1fr}}.submission-thumb{width:64px;height:64px;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:1px solid var(--border-soft);cursor:pointer}.feedback-input,.score-input{width:100%;max-width:120px;padding:6px 8px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--text-strong);font-size:13px;outline:none}.feedback-input{max-width:200px}.feedback-input:focus,.score-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.progress-track{width:100%;height:8px;border-radius:99px;background:var(--inset);overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .45s ease}.progress-fill.done{background:linear-gradient(90deg,#10b981,#059669)}.progress-fill.warn{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-fill.bad{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.recon-bar{margin:16px 20px;padding:18px;border:1px solid var(--border-soft);border-radius:var(--radius-panel);background:var(--surface-dim)}.recon-bar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px;color:var(--text-muted)}.recon-bar-head strong{color:var(--text-strong);font-size:15px}.recon-bar p{margin:10px 0 0;line-height:1.6}.metric-grid.recon-mini{grid-template-columns:repeat(4,1fr);gap:12px;margin:4px 20px 20px}.mini-stat{padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface)}.mini-stat span{display:block;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mini-stat strong{display:block;margin-top:8px;font-size:20px;color:var(--text-strong)}.metric-icon{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--surface-dim);color:currentColor}.metric-card .metric-icon{display:grid;color:inherit;font-size:15px}.metric-card{position:relative}.finance-admin-shell{background:var(--bg)!important}.finance-admin-content{min-width:0}.finance-admin-main{display:flex;flex-direction:column;gap:20px;width:100%;max-width:1500px;margin:0 auto;padding:20px 22px 34px}.finance-hero-card{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px;overflow:hidden;padding:28px;border:1px solid rgba(15,23,42,.08);border-radius:30px;background:linear-gradient(135deg,rgba(9,47,58,.96),rgba(15,23,42,.94)),var(--surface);color:#f8fafc;box-shadow:0 26px 70px rgba(15,23,42,.22)}.finance-hero-card:after{content:"";position:absolute;inset:auto -10% -35% 34%;height:220px;pointer-events:none;background:radial-gradient(circle,rgba(45,212,191,.24),transparent 66%)}.finance-budget-meter,.finance-hero-copy,.finance-hero-ledger{position:relative;z-index:1}.finance-hero-copy h2{margin:0;color:#fff;font-size:clamp(40px,6vw,76px);line-height:.92;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.finance-hero-copy p{max-width:640px;margin:18px 0 0;color:rgba(226,232,240,.8);font-size:15px;line-height:1.7}.finance-hero-ledger{display:grid;gap:12px;align-self:stretch}.finance-budget-meter,.finance-hero-ledger div{padding:16px;border:1px solid hsla(0,0%,100%,.11);border-radius:20px;background:hsla(0,0%,100%,.07);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08)}.finance-budget-meter span,.finance-hero-ledger span{display:block;color:rgba(226,232,240,.66);font-size:12px;font-weight:700}.finance-budget-meter strong,.finance-hero-ledger strong{display:block;margin-top:6px;color:#fff;font-size:22px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.finance-budget-meter{grid-column:1/-1}.finance-budget-meter>div{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.finance-meter-track{overflow:hidden;width:100%;height:10px;border-radius:999px;background:hsla(0,0%,100%,.12)}.finance-meter-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5eead4,#fbbf24)}.finance-alert,.finance-success{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border-radius:var(--radius-panel,12px);font-size:13px;font-weight:700}.finance-alert{border:1px solid hsla(0,91%,71%,.22);background:hsla(0,93%,94%,.72);color:#991b1b}.finance-success{border:1px solid rgba(16,185,129,.22);background:rgba(209,250,229,.72);color:#047857}.finance-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;width:100%}.finance-metric-card{min-height:170px;padding:20px;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius-panel,12px);background:hsla(0,0%,100%,.84);box-shadow:0 18px 48px rgba(15,23,42,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.finance-metric-card:hover{transform:translateY(-3px);border-color:rgba(20,184,166,.24);box-shadow:0 22px 56px rgba(15,23,42,.12)}.finance-metric-card.skeleton{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(241,245,249,.82),hsla(0,0%,100%,.96),rgba(241,245,249,.82));background-size:220% 100%;animation:financeSkeleton 1.15s ease-in-out infinite}@keyframes financeSkeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.finance-metric-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:12px;font-weight:800;letter-spacing:.04em}.finance-metric-card strong{display:block;margin-top:22px;color:var(--text);font-size:clamp(24px,3vw,34px);line-height:1;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.finance-metric-card small{display:block;margin-top:12px;color:var(--text-muted);line-height:1.5}.finance-metric-card.emerald{background:linear-gradient(180deg,rgba(236,253,245,.94),hsla(0,0%,100%,.9))}.finance-metric-card.amber{background:linear-gradient(180deg,rgba(255,251,235,.96),hsla(0,0%,100%,.9))}.finance-metric-card.rose{background:linear-gradient(180deg,rgba(255,241,242,.95),hsla(0,0%,100%,.9))}.finance-metric-card.indigo{background:linear-gradient(180deg,rgba(238,242,255,.95),hsla(0,0%,100%,.9))}.finance-metric-card.blue{background:linear-gradient(180deg,rgba(239,246,255,.95),hsla(0,0%,100%,.9))}.finance-workbench{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:18px;width:100%;align-items:start}.finance-panel{padding:22px;border:1px solid rgba(15,23,42,.08);border-radius:28px;background:hsla(0,0%,100%,.86);box-shadow:0 20px 54px rgba(15,23,42,.08)}.finance-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.finance-panel-head h3{margin:0;color:var(--text);font-size:20px;letter-spacing:-.03em}.finance-code-list{display:grid;gap:10px}.finance-code-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:14px;border-radius:var(--radius-panel,12px);color:var(--text);background:rgba(241,245,249,.72);text-decoration:none;transition:transform .18s ease,background .18s ease}.finance-code-list a:hover{transform:translateX(3px);background:rgba(204,251,241,.56)}.finance-code-list span{overflow-wrap:anywhere;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.finance-code-list small{grid-column:1/2;color:var(--text-muted);font-size:12px}.finance-action-grid{display:grid;gap:16px}.finance-action-card{display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius-panel,12px);background:rgba(248,250,252,.78)}.finance-action-title{display:flex;align-items:flex-start;gap:12px}.finance-action-title small,.finance-action-title strong{display:block}.finance-action-title strong{color:var(--text);font-size:15px}.finance-action-title small{max-width:68ch;margin-top:4px;color:var(--text-muted);line-height:1.5}.finance-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.finance-field{display:grid;gap:7px;min-width:0}.finance-field.wide{grid-column:1/-1}.finance-field span{color:var(--text-muted);font-size:12px;font-weight:800}.finance-field input,.finance-field textarea{width:100%;min-width:0;padding:12px 13px;border:1px solid var(--input-border);border-radius:14px;background:var(--inset);color:var(--input-text);font:inherit;font-size:13px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.finance-field textarea{resize:vertical}.finance-field input:focus,.finance-field textarea:focus,.finance-select-input:focus{border-color:rgba(20,184,166,.58);background:var(--inset);box-shadow:0 0 0 4px rgba(20,184,166,.12)}.finance-select-input{width:100%;min-width:0;padding:11px 13px;border:1px solid var(--input-border);border-radius:12px;background:var(--inset);color:var(--input-text);font:inherit;font-size:13px;outline:none;cursor:pointer}.finance-filter-toolbar{justify-content:space-between;gap:16px;padding:12px 18px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px}.finance-filter-group,.finance-filter-toolbar{display:flex;align-items:center;flex-wrap:wrap}.finance-filter-group{gap:10px}.finance-filter-label{font-size:12px;font-weight:800;color:#64748b;letter-spacing:.05em;text-transform:uppercase}.finance-filter-select{padding:8px 12px;font-size:13px;font-weight:600;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;cursor:pointer;transition:all .15s ease}.finance-filter-select:hover{border-color:#94a3b8;background:#f1f5f9}.finance-search-input{padding:8px 14px;min-width:260px;outline:none}.finance-excel-btn,.finance-search-input{font-size:13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}.finance-excel-btn{padding:8px 16px;font-weight:700;color:#1e293b;cursor:pointer;transition:all .15s ease}.finance-excel-btn:hover{background:#f1f5f9;border-color:#94a3b8}.modal-eyebrow-tag{font-size:10px;font-weight:800;color:#64748b;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}.modal-footer-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #cbd5e1}.modal-footer-accountant{font-size:12px;color:#64748b;font-weight:500}.modal-footer-actions{display:flex;align-items:center;gap:10px}.modal-cancel-btn{padding:6px 16px;font-size:13px;font-weight:600;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:var(--radius-control,8px);cursor:pointer;transition:all .15s ease}.modal-cancel-btn:hover{background:#f1f5f9;border-color:#94a3b8}.modal-submit-btn{padding:6px 18px;font-size:13px;font-weight:700;color:#fff;border:none;border-radius:var(--radius-control,8px);cursor:pointer;transition:all .15s ease}.modal-submit-btn:disabled{opacity:.6;cursor:not-allowed}.tech-page-shell{background:var(--bg)!important;background-color:var(--bg)!important;color:var(--text-strong)!important;min-height:100vh;min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.tech-btn-steel{background-color:#059669!important;color:#fff!important;border:1px solid #059669!important;border-radius:var(--radius-control,8px)!important;padding:6px 14px!important;font-size:13px!important;font-weight:700!important;cursor:pointer!important;box-shadow:0 1px 2px rgba(5,150,105,.2)!important;transition:background-color .15s ease!important}.tech-btn-steel:hover{background-color:#047857!important;border-color:#047857!important}.tech-btn-white{background-color:var(--surface)!important;color:var(--text-strong)!important;border:1px solid var(--input-border)!important;border-radius:var(--radius-control,8px)!important;padding:6px 14px!important;font-size:13px!important;font-weight:600!important;cursor:pointer!important;box-shadow:none!important;transition:all .15s ease!important}.tech-btn-white:hover{background-color:var(--surface-dim)!important;border-color:var(--text-faint)!important;color:var(--text-strong)!important}.tech-tab-bar{display:flex!important;gap:24px!important;border-bottom:2px solid var(--border)!important;padding-bottom:0!important;margin-bottom:20px!important;overflow-x:auto!important}.tech-tab-item{background:transparent!important;border:none!important;border-bottom:3px solid transparent!important;padding:8px 2px 10px!important;font-size:14px!important;font-weight:600!important;color:var(--text-muted)!important;cursor:pointer!important;border-radius:var(--radius-control,8px) var(--radius-control,8px) 0 0!important;display:flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}.tech-tab-item.active{color:var(--primary)!important;font-weight:800!important;border-bottom-color:var(--primary)!important}.tech-tab-count{font-size:12px!important;color:var(--text-muted)!important;font-weight:500!important}.tech-filter-bar{justify-content:space-between!important;gap:16px!important;margin-bottom:24px!important;width:100%!important}.tech-filter-bar,.tech-filter-left{display:flex!important;align-items:center!important}.tech-filter-left{gap:10px!important}.tech-filter-label{font-size:11px!important;font-weight:800!important;color:var(--text-muted)!important;letter-spacing:.06em!important;text-transform:uppercase!important;margin-right:6px!important;white-space:nowrap!important;flex-shrink:0!important}.tech-select{background-color:var(--surface)!important;border:1px solid var(--input-border)!important;border-radius:var(--radius-control,8px)!important;padding:6px 32px 6px 12px!important;font-size:13px!important;font-weight:500!important;color:var(--text-strong)!important;outline:none!important;height:34px!important;white-space:nowrap!important;cursor:pointer!important}.tech-filter-right{display:flex!important;align-items:center!important;gap:10px!important}.tech-search-input{padding:6px 12px!important;font-size:13px!important;color:var(--text-strong)!important;width:280px!important;height:34px!important;outline:none!important}.tech-panel-card,.tech-search-input{background:var(--surface)!important;border:1px solid var(--input-border)!important;border-radius:var(--radius-control,8px)!important}.tech-panel-card{position:relative!important;padding:24px!important;box-shadow:0 1px 3px rgba(0,0,0,.03)!important}.tech-hero-card{background:#1e2a38!important;border:1px solid #0f172a!important}.tech-hero-card,.tech-hero-card h3,.tech-hero-card h4{color:#fff!important}.tech-hero-card .hero-sub-label{color:#94a3b8!important}.tech-corner-bl,.tech-corner-br,.tech-corner-tl,.tech-corner-tr{display:none!important}.tech-pill-cyan{background:#e0f2fe!important;color:#0369a1!important;border:1px solid #bae6fd!important;border-radius:var(--radius-control,8px)!important}.tech-pill-blue,.tech-pill-cyan{padding:2px 8px!important;font-size:12px!important;font-weight:600!important;display:inline-block!important}.tech-pill-blue{background:#ecfdf5!important;color:#047857!important;border:1px solid #a7f3d0!important;border-radius:var(--radius-control,8px)!important}.tech-pill-purple{background:#f3e8ff!important;color:#7e22ce!important;border:1px solid #e9d5ff!important;border-radius:var(--radius-control,8px)!important}.tech-pill-grey,.tech-pill-purple{padding:2px 8px!important;font-size:12px!important;font-weight:600!important;display:inline-block!important}.tech-pill-grey{background:#f1f5f9!important;color:#475569!important;border:1px solid #e2e8f0!important;border-radius:var(--radius-control,8px)!important}.form-dialog:has(.modal-eyebrow-tag){background:#f4f6f8!important;border:1px solid #cbd5e1!important;border-radius:var(--radius-panel,12px)!important;box-shadow:0 16px 50px rgba(15,23,42,.16)!important;padding:0!important;overflow:hidden!important}.form-dialog:has(.modal-eyebrow-tag) .form-dialog-head{background:#f4f6f8!important;padding:20px 28px 16px!important;border-bottom:1px solid #cbd5e1!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.form-dialog:has(.modal-eyebrow-tag) .form-dialog-head h2{font-size:22px!important;font-weight:800!important;color:#0f172a!important;margin:0!important;letter-spacing:-.01em!important}.form-dialog:has(.modal-eyebrow-tag) .form-dialog-head .icon-button{background:#e2e8f0!important;border:1px solid #cbd5e1!important;border-radius:var(--radius-control,8px)!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#475569!important;cursor:pointer!important;transition:all .15s ease!important}.form-dialog:has(.modal-eyebrow-tag) .form-dialog-head .icon-button:hover{background:#cbd5e1!important;color:#0f172a!important}.modal-eyebrow-tag{font-size:10px!important;font-weight:800!important;color:#64748b!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-bottom:4px!important}.form-dialog:has(.modal-eyebrow-tag) form{padding:24px 28px!important;display:flex!important;flex-direction:column!important;gap:16px!important;background:#f4f6f8!important;margin:0!important}.finance-field{display:flex!important;flex-direction:column!important;gap:6px!important;margin:0!important;width:100%!important}.finance-field>span{font-size:12px!important;font-weight:700!important;color:var(--text-muted)!important;display:block!important}.form-dialog:has(.modal-eyebrow-tag) .finance-field>span{color:#475569!important}.finance-field input:not([type=checkbox]):not([type=radio]),.finance-field select,.finance-field textarea{border-radius:var(--radius-control,8px)!important;padding:8px 12px!important;font-size:13px!important;outline:none!important;width:100%!important;transition:all .15s ease!important}.form-dialog:has(.modal-eyebrow-tag) .finance-field input:not([type=checkbox]):not([type=radio]),.form-dialog:has(.modal-eyebrow-tag) .finance-field select,.form-dialog:has(.modal-eyebrow-tag) .finance-field textarea{background:#e8ecef!important;border:1px solid #cbd5e1!important;color:#0f172a!important}.finance-field input[type=checkbox],.finance-field input[type=radio]{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;background:transparent!important;border:none!important;padding:0!important;box-shadow:none!important;cursor:pointer!important;accent-color:#059669!important;flex-shrink:0!important}.finance-field input:focus,.finance-field select:focus,.finance-field textarea:focus{border-color:#059669!important;box-shadow:0 0 0 3px rgba(5,150,105,.18)!important}.form-dialog:has(.modal-eyebrow-tag) .finance-field input:focus,.form-dialog:has(.modal-eyebrow-tag) .finance-field select:focus,.form-dialog:has(.modal-eyebrow-tag) .finance-field textarea:focus{background:#fff!important}.modal-footer-bar{margin-top:8px!important;padding-top:16px!important;border-top:1px solid #cbd5e1!important;display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important}.modal-footer-accountant{font-size:11px!important;color:#64748b!important;font-weight:500!important}.modal-footer-actions{display:flex!important;gap:10px!important;align-items:center!important}.modal-cancel-btn{background:#fff!important;color:#1e293b!important;border:1px solid #cbd5e1!important;border-radius:var(--radius-control,8px)!important;padding:6px 16px!important;font-size:13px!important;font-weight:600!important;cursor:pointer!important;transition:all .15s ease!important}.modal-cancel-btn:hover{background:#f8fafc!important;border-color:#94a3b8!important}.modal-submit-btn{background:#059669!important;color:#fff!important;border:1px solid #059669!important;border-radius:var(--radius-control,8px)!important;padding:6px 18px!important;font-size:13px!important;font-weight:700!important;cursor:pointer!important;box-shadow:0 1px 2px rgba(5,150,105,.2)!important;transition:all .15s ease!important}.modal-submit-btn:hover{background:#047857!important;border-color:#047857!important}.finance-submit:disabled{cursor:wait;opacity:.72}@media (max-width:1180px){.finance-hero-card,.finance-workbench{grid-template-columns:1fr}}@media (max-width:760px){.finance-admin-main{padding:14px 12px 28px}.finance-filter-group,.finance-filter-toolbar,.finance-panel-head{align-items:stretch;flex-direction:column}.finance-excel-btn,.finance-filter-select,.finance-search-input{width:100%;min-width:0}.form-dialog:has(.modal-eyebrow-tag){max-height:min(calc(100vh - 32px),90vh)!important;max-height:min(calc(100dvh - 32px),90dvh)!important;overflow-y:auto!important}.form-dialog:has(.modal-eyebrow-tag) .form-dialog-head{align-items:flex-start!important;flex-wrap:wrap!important;gap:12px!important;padding:16px 18px!important}.form-dialog:has(.modal-eyebrow-tag) .form-dialog-head h2{font-size:18px!important;line-height:1.3!important;overflow-wrap:anywhere!important}.form-dialog:has(.modal-eyebrow-tag) form{padding:18px!important}.finance-hero-card,.finance-panel{padding:18px;border-radius:var(--radius-panel,12px)}.finance-field-grid,.finance-hero-ledger,.finance-metric-grid{grid-template-columns:1fr}.modal-footer-bar{align-items:stretch!important;flex-direction:column!important;gap:12px!important}.modal-footer-actions{align-items:stretch!important;flex-direction:column-reverse!important;width:100%!important}.modal-cancel-btn,.modal-submit-btn{justify-content:center!important;width:100%!important;min-height:40px!important}}.form-dialog.task-detail-dialog{max-width:1060px!important;width:95vw!important;max-height:90vh!important;max-height:90dvh!important;border-radius:12px;overflow-y:auto!important}.form-dialog.task-detail-dialog .form-dialog-head{position:sticky;top:0;z-index:20;background:var(--surface,#fff);border-bottom:1px solid var(--border-soft,#e2e8f0)}.task-detail-container{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding:24px;box-sizing:border-box;background:var(--surface,#fff);color:var(--text-strong,#0f172a)}.task-detail-main-col,.task-detail-sidebar-col,.task-sidebar-actions-stack,.task-sidebar-meta-list{display:flex;flex-direction:column}.task-detail-main-col{gap:20px;min-width:0}.task-detail-sidebar-col{gap:20px;border-left:1px solid var(--border-soft,#e2e8f0);padding-left:24px;min-width:0}.task-detail-top-breadcrumb{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted,#64748b);display:flex;align-items:center;gap:6px}.task-action-btn-primary,.task-action-btn-secondary,.task-checklist-item-row,.task-detail-badges,.task-detail-title-row,.task-file-item-card,.task-sec-header,.task-sidebar-countdown-box,.task-sidebar-meta-row{display:flex}.task-detail-title-row{justify-content:space-between;align-items:flex-start;gap:16px}.task-detail-title-text{font-size:22px;font-weight:800;text-transform:uppercase;color:var(--text-strong,#0f172a);margin:0;line-height:1.25;letter-spacing:-.01em}.task-detail-badges{align-items:center;gap:8px;flex-shrink:0}@media (max-width:768px){.form-dialog.task-detail-dialog{width:100%!important;max-width:100%!important}.task-detail-title-row{align-items:stretch;flex-direction:column;gap:10px}.task-detail-badges{flex-wrap:wrap}}.task-badge-dark{background:#1e293b;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-control,8px);letter-spacing:.04em;display:inline-flex;align-items:center}.task-badge-dark-todo{background:#64748b!important;color:#fff!important}.task-badge-dark-in-progress{background:#2563eb!important;color:#fff!important}.task-badge-dark-pending-review{background:#0284c7!important;color:#fff!important}.task-badge-dark-done{background:#059669!important;color:#fff!important}.task-badge-dark-overdue{background:#dc2626!important;color:#fff!important}.task-badge-outline{border:1px solid #94a3b8;color:#475569;background:transparent;font-size:11px;font-weight:700;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-control,8px);letter-spacing:.04em}.task-detail-desc{font-size:13px;color:var(--text-muted,#475569);margin:0;line-height:1.5}.task-detail-tabs-nav{display:flex;gap:24px;border-bottom:2px solid var(--border-soft,#e2e8f0);margin-top:4px}.task-detail-tab-btn{background:transparent;padding:10px 0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#64748b);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s ease}.task-detail-tab-btn.active{color:#0284c7;border-bottom-color:#0284c7}.task-detail-tab-btn:hover:not(.active){color:var(--text-strong,#0f172a)}.task-sec-header{align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#64748b);margin-bottom:12px}.task-sec-header-line{flex:1;height:1px;background:var(--border-soft,#e2e8f0)}.task-sec-header-value{font-size:18px;font-weight:700;color:var(--text-strong,#0f172a)}.task-progress-filled-track{height:24px;background:var(--inset,#e2e8f0);border-radius:var(--radius-control,8px);overflow:hidden;position:relative}.task-progress-filled-bar{height:100%;background:#3b82f6;transition:width .3s ease}.task-progress-segmented-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.task-progress-seg-btn{padding:8px 4px;font-size:12px;font-weight:700;border:1px solid var(--border-soft,#cbd5e1);border-radius:var(--radius-control,8px);background:var(--surface,#fff);color:var(--text-strong,#1e293b);cursor:pointer;text-align:center;transition:all .15s ease}.task-progress-seg-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.task-progress-seg-btn:hover:not(.active){background:var(--inset,#f1f5f9)}.task-checklist-item-row{align-items:center;gap:12px;padding:10px 14px;background:var(--inset,#f8fafc);border:1px solid var(--border-soft,#e2e8f0);border-radius:var(--radius-control,8px);font-size:13px;transition:border-color .15s}.task-checklist-item-row:hover{border-color:#cbd5e1}.task-checklist-idx{font-size:12px;min-width:20px}.task-checklist-delete-btn,.task-checklist-idx{font-weight:700;color:var(--text-muted,#94a3b8)}.task-checklist-delete-btn{border:none;background:transparent;font-size:11px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;padding:4px 6px;transition:color .15s}.task-checklist-delete-btn:hover{color:#ef4444}.task-comments-empty-box{border:2px dashed var(--border-soft,#cbd5e1);border-radius:8px;padding:28px;text-align:center;color:var(--text-muted,#94a3b8);font-size:12px;background:var(--inset,#fafafa)}.task-comments-empty-box,.task-sidebar-sec-title{font-weight:700;text-transform:uppercase;letter-spacing:.05em}.task-sidebar-sec-title{font-size:11px;color:var(--text-muted,#64748b);margin-bottom:12px}.task-sidebar-meta-list{gap:10px;font-size:12px}.task-sidebar-meta-row{justify-content:space-between;align-items:center;padding-bottom:6px;border-bottom:1px dotted var(--border-soft,#e2e8f0)}.task-sidebar-meta-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#64748b)}.task-sidebar-meta-val{font-weight:600;color:var(--text-strong,#0f172a);text-align:right}.task-sidebar-countdown-box{justify-content:space-between;align-items:flex-end;margin-top:8px;padding-top:12px;border-top:1px solid var(--border-soft,#e2e8f0)}.task-sidebar-countdown-num{font-size:26px;font-weight:800;color:var(--text-strong,#0f172a);line-height:1}.task-sidebar-actions-stack{gap:8px}.task-sidebar-actions-stack .task-action-btn-primary,.task-sidebar-actions-stack .task-action-btn-secondary{width:100%;justify-content:center;font-size:13px;padding:10px 16px;border-radius:10px}.task-action-btn-primary,.task-action-btn-secondary{align-items:center;gap:5px;font-size:11px;white-space:nowrap;flex-shrink:0;cursor:pointer}.task-action-btn-primary{background:var(--primary-btn,#047857);color:#fff;font-weight:700;letter-spacing:.03em;padding:5px 11px;border-radius:20px;border:none;transition:background .15s ease,transform .1s ease}.task-action-btn-primary:hover{background:var(--primary-hover,#065f46);transform:translateY(-1px)}.task-action-btn-primary:active{transform:translateY(0)}.task-action-btn-secondary{background:transparent;color:var(--text-strong,#1e293b);font-weight:600;padding:4px 11px;border-radius:20px;border:1px solid var(--border-soft,#cbd5e1);transition:all .15s ease}.task-action-btn-secondary:hover{background:var(--inset,#f1f5f9);border-color:#94a3b8}.task-file-item-card{align-items:center;justify-content:space-between;padding:8px 12px;background:var(--inset,#f8fafc);border:1px solid var(--border-soft,#e2e8f0);border-radius:var(--radius-control,8px);text-decoration:none;font-size:12px;color:var(--text-strong,#0f172a);transition:border-color .15s}.task-file-item-card:hover{border-color:#cbd5e1}.task-file-type-pill{font-size:10px;font-weight:800;padding:2px 6px;border-radius:var(--radius-control,8px);background:#e2e8f0;color:#475569;margin-right:8px;text-transform:uppercase}@media (max-width:860px){.task-detail-container{grid-template-columns:1fr}.task-detail-sidebar-col{border-left:none;border-top:1px solid var(--border-soft,#e2e8f0);padding-left:0;padding-top:20px}}.industry-kb-board{display:flex;gap:18px;overflow-x:auto;align-items:flex-start;padding-bottom:24px}.industry-kb-col{flex:1 0 280px;max-width:340px;display:flex;flex-direction:column;background:var(--surface,#fff);border:1px solid var(--border-soft,#e2e8f0);border-radius:8px;overflow:hidden;box-sizing:border-box}.industry-kb-head{padding:12px 14px;border-bottom:1px solid var(--border-soft,#e2e8f0);display:flex;align-items:center;gap:10px;border-top:3px solid #94a3b8}.industry-kb-idx{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--text-muted,#64748b)}.industry-kb-title{margin:0;font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.01em;color:var(--text-strong,#0f172a)}.industry-kb-count-box{margin-left:auto;font-size:13px;font-weight:700;min-width:28px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-soft,#cbd5e1);border-radius:var(--radius-control,8px);color:var(--text-strong,#0f172a);background:var(--inset,#f8fafc)}.industry-kb-body{gap:14px;min-height:180px;max-height:680px;overflow-y:auto}.industry-kb-body,.industry-kb-card{display:flex;flex-direction:column;padding:14px}.industry-kb-card{background:var(--surface,#fff);border:1px solid var(--border-soft,#e2e8f0);border-radius:8px;gap:10px;transition:border-color .15s,box-shadow .15s}.industry-kb-card:hover{border-color:#94a3b8;box-shadow:0 4px 12px rgba(0,0,0,.06)}.industry-kb-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.industry-kb-card-code{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-muted,#64748b);padding-top:2px}.industry-kb-card-title{margin:0;flex:1;font-size:15px;font-weight:700;line-height:1.3;color:var(--text-strong,#0f172a)}.industry-kb-card-desc{margin:0;font-size:13px;color:var(--text-muted,#64748b);line-height:1.4}.industry-kb-card-meta{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px;color:var(--text-strong,#0f172a);padding-top:8px;border-top:1px solid var(--border-soft,#e2e8f0)}.industry-kb-card-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted,#64748b)}.industry-kb-empty{border:1px dashed var(--border-soft,#cbd5e1);border-radius:8px;display:grid;place-items:center;min-height:120px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted,#94a3b8);background:var(--inset,#fafafa)}.industry-table-container{background:var(--surface,#fff);border:1px solid var(--border-soft,#e2e8f0);border-radius:8px;overflow:hidden}.industry-table-view{width:100%;border-collapse:separate;border-spacing:0}.industry-table-view th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#64748b);text-align:left;background:var(--inset,#f8fafc)}.industry-table-view td,.industry-table-view th{padding:12px 14px;border-bottom:1px solid var(--border-soft,#e2e8f0);white-space:nowrap}.industry-table-view td{font-size:13px;vertical-align:middle}.industry-table-view tr:last-child td{border-bottom:none}.industry-table-view tr:hover td{background:var(--inset,#f8fafc)}.industry-cal-container{background:var(--surface,#fff);border:1px solid var(--border-soft,#e2e8f0);border-radius:8px;overflow:hidden}.industry-cal-nav{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border-soft,#e2e8f0)}.industry-cal-month-title{font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-strong,#0f172a)}.industry-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border-soft,#e2e8f0);background:var(--inset,#f8fafc)}.industry-cal-weekday{padding:10px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted,#64748b);border-right:1px solid var(--border-soft,#e2e8f0);text-align:center}.industry-cal-weekday:last-child{border-right:none}.industry-cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.industry-cal-cell{min-height:118px;padding:8px;border-right:1px solid var(--border-soft,#e2e8f0);border-bottom:1px solid var(--border-soft,#e2e8f0);display:flex;flex-direction:column;gap:6px;box-sizing:border-box}.industry-cal-cell:nth-child(7n){border-right:none}.industry-cal-chip{padding:4px 6px;border-radius:var(--radius-control,8px);font-size:11px;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;line-height:1.25;transition:opacity .15s}.industry-cal-chip:hover{opacity:.9}.kpi-cell{display:flex;align-items:center;gap:10px;min-width:0}.kpi-track{flex:1;min-width:60px;height:6px}.alert-cell{display:flex;align-items:center;gap:8px}.alert-icon.high{color:var(--danger)}.alert-icon.med{color:var(--accent-amber)}.alert-icon.low{color:var(--accent-blue)}.chart-list{display:grid;gap:12px;padding:16px 20px}.chart-row{display:grid;grid-template-columns:92px 1fr 48px;align-items:center;gap:12px}.chart-label{font-size:11px;color:var(--text-muted)}.chart-row strong{font-size:13px;text-align:right;color:var(--text-strong)}.quick-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;margin-top:20px}.quick-nav-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);text-decoration:none;transition:border-color .18s,transform .15s,background .18s}.quick-nav-card:hover{border-color:var(--primary-strong);background:var(--surface-dim-hover);transform:translateY(-2px)}.quick-nav-icon{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:12px;background:var(--primary-dim);color:var(--primary-strong)}.quick-nav-card strong{display:block;color:var(--text-strong);font-size:14px}.quick-nav-card small{display:block;margin-top:3px;color:var(--text-muted);font-size:11px}.quick-nav-arrow{margin-left:auto;color:var(--text-faint)}.day-bulletin{display:grid;gap:16px;margin-top:16px}.day-card{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);overflow:hidden}.day-list,.day-row{display:grid}.day-row{grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid var(--border-soft);font-size:13px}.day-row:last-child{border-bottom:0}.day-row strong{display:block;color:var(--text-strong);font-size:13px}.day-row small{display:block;margin-top:3px;color:var(--text-muted);font-size:11px}.day-row-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:currentColor}.day-row-icon.blue{background:var(--blue-dim);color:var(--accent-blue)}.day-row-icon.green{background:var(--green-dim);color:var(--accent-green)}.day-row-icon.amber{background:var(--amber-dim);color:var(--accent-amber)}.day-row-icon.brand{background:var(--primary-dim);color:var(--primary-strong)}.score-cell{font-weight:700;color:var(--primary-strong);font-variant-numeric:tabular-nums}@media (max-width:768px){.metric-grid.recon-mini{grid-template-columns:repeat(2,1fr)}.chart-row{grid-template-columns:1fr;gap:6px}.chart-row strong{text-align:left}.day-row{grid-template-columns:32px 1fr}.day-row .badge{grid-column:2;justify-self:start}}.teacher-phase{margin-top:24px;padding:0 20px 24px}.teacher-phase-head{display:flex;align-items:center;gap:10px;padding:0 2px 12px}.teacher-phase-head h4{margin:0;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.phase-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.phase-dot.active{background:var(--accent-green);box-shadow:0 0 0 4px var(--green-dim)}.phase-dot.upcoming{background:var(--accent-amber);box-shadow:0 0 0 4px var(--amber-dim)}.phase-dot.ended{background:var(--text-faint);box-shadow:0 0 0 4px rgba(100,116,139,.18)}.teacher-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px}.teacher-card{position:relative;display:flex;align-items:flex-start;gap:14px;padding:18px;text-align:left;border:1px solid var(--border);border-radius:14px;background:var(--surface-glass);cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.teacher-card:hover{border-color:var(--primary-border);transform:translateY(-2px);box-shadow:0 10px 24px var(--shadow-sm)}.teacher-card:active{transform:scale(.99)}.teacher-card.active{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.teacher-card-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;border-radius:12px;background:linear-gradient(135deg,var(--primary-dim-2),var(--surface-glass));border:1px solid var(--primary-border);color:var(--primary-strong);font-size:17px;font-weight:800;letter-spacing:-.02em}.teacher-card.active .teacher-card-icon{background:var(--primary-dim)}.teacher-card-body{flex:1;min-width:0}.teacher-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teacher-card-title strong{font-size:16px;font-weight:700;color:var(--text-strong);letter-spacing:-.01em}.teacher-card-body p{margin:5px 0 12px;font-size:12px;color:var(--text-muted)}.enroll-track{height:5px;border-radius:99px;background:var(--surface-dim);overflow:hidden}.enroll-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--primary-strong));transition:width .4s ease}.teacher-card-meta{display:flex;justify-content:space-between;margin-top:7px;font-size:11px;color:var(--text-faint)}.teacher-card-chevron{align-self:center;flex-shrink:0;color:var(--text-faint);transition:transform .2s ease,color .2s ease}.teacher-card.active .teacher-card-chevron{transform:rotate(180deg);color:var(--primary-strong)}.teacher-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.02em;padding:3px 9px;border-radius:99px;white-space:nowrap}.teacher-badge.active{background:var(--green-bg);color:var(--green-strong)}.teacher-badge.upcoming{background:var(--amber-bg);color:var(--accent-amber)}.teacher-badge.ended{background:var(--surface-dim);color:var(--text-faint)}.teacher-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:8px;background:var(--surface-dim);border:1px solid var(--border);font-size:11px;font-weight:600;color:var(--text-muted)}.subject-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}.subject-grid-wrap{padding:0 20px 24px}.subject-card{display:flex;flex-direction:column;gap:13px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-glass);transition:border-color .18s,transform .18s,box-shadow .18s}.subject-card:hover{border-color:var(--primary-border);transform:translateY(-2px);box-shadow:0 10px 24px var(--shadow-sm)}.subject-card-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:var(--blue-dim);border:1px solid var(--border);color:var(--accent-blue)}.subject-card-name{font-size:15px;font-weight:700;color:var(--text-strong);letter-spacing:-.01em}.subject-card-code{margin-top:2px;font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}.subject-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.student-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;padding:20px}.student-card{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:var(--surface);transition:border-color .18s,transform .18s,box-shadow .18s}.student-card:hover{border-color:var(--primary-border);transform:translateY(-1px);box-shadow:0 6px 16px var(--shadow-sm)}.student-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--blue-dim);color:var(--accent-blue);font-size:12px;font-weight:700;letter-spacing:.01em}.student-avatar.green{background:var(--green-bg);color:var(--green-strong)}.student-avatar.amber{background:var(--amber-bg);color:var(--accent-amber)}.student-card-body{min-width:0}.student-card-body strong{display:block;font-size:14px;font-weight:600;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-card-body small{display:block;margin-top:2px;font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}@media (max-width:640px){.student-grid,.subject-card-grid,.teacher-card-grid{grid-template-columns:1fr}.teacher-phase{padding:0 14px 20px}.teacher-phase-head{padding:0 0 12px}.subject-grid-wrap{padding:0 14px 20px}.student-grid{padding:14px}}.assignment-table-wrap{width:100%;overflow-x:auto}table.assignment-table{width:100%;border-collapse:collapse;border-spacing:0;background:transparent;font-size:13px;min-width:900px}table.assignment-table thead{background:var(--head-bg)}table.assignment-table th{padding:12px 18px;color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--border-soft);white-space:nowrap}table.assignment-table td.text-right,table.assignment-table th.text-right{text-align:right;white-space:nowrap;width:1%}table.assignment-table td{padding:12px 18px;color:var(--text-muted);border-bottom:1px solid var(--border-soft);vertical-align:middle}table.assignment-table tbody tr:last-child td{border-bottom:0}table.assignment-table tbody tr:hover{background:var(--surface-dim)}table.assignment-table .cell-title{display:flex;flex-direction:column;gap:3px;max-width:320px}table.assignment-table .cell-title strong{color:var(--text-strong);font-size:14px;line-height:1.35}table.assignment-table .row-actions.grid-2x2{display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}table.assignment-table .action-row-bottom,table.assignment-table .action-row-top{display:flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}table.assignment-table .row-actions .action-btn{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:4px 10px;border-radius:var(--radius-control,8px);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}table.assignment-table .row-actions .action-btn.primary{background:rgba(99,102,241,.1);color:var(--primary,#6366f1);border:1px solid rgba(99,102,241,.28)}table.assignment-table .row-actions .action-btn.primary:hover{background:var(--primary,#6366f1);color:#fff}table.assignment-table .row-actions .action-btn.success{background:rgba(16,185,129,.1);color:var(--green-strong,#10b981);border:1px solid rgba(16,185,129,.28)}table.assignment-table .row-actions .action-btn.success:hover{background:var(--green-strong,#10b981);color:#fff}table.assignment-table .row-actions .action-btn.warning{background:rgba(245,158,11,.1);color:var(--amber-strong,#f59e0b);border:1px solid rgba(245,158,11,.28)}table.assignment-table .row-actions .action-btn.warning:hover{background:var(--amber-strong,#f59e0b);color:#fff}table.assignment-table .row-actions .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-control,8px);border:1px solid var(--border-soft);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease}table.assignment-table .row-actions .icon-btn:hover{background:var(--surface-dim);border-color:var(--border);color:var(--text-strong)}table.assignment-table .row-actions .icon-btn.success:hover{background:rgba(16,185,129,.12);border-color:rgba(16,185,129,.35);color:var(--green-strong,#10b981)}table.assignment-table .row-actions .icon-btn.warning:hover{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.35);color:var(--amber-strong,#f59e0b)}table.assignment-table .row-actions .icon-btn.danger:hover{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.35);color:var(--danger-text,#ef4444)}.assignment-metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;margin-bottom:24px}@media (max-width:768px){table.assignment-table{min-width:900px}}.password-modal-form{display:flex;flex-direction:column;gap:16px;padding:20px 24px 24px;margin:0;text-align:left}.password-modal-notice{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;background:var(--surface-dim);border:1px solid var(--border-soft);border-left:3px solid var(--primary-strong)}.password-modal-notice .notice-icon{color:var(--primary-strong);flex-shrink:0;margin-top:2px}.password-modal-notice strong{display:block;font-size:13px;font-weight:700;color:var(--text-strong);margin-bottom:2px;text-align:left}.password-modal-notice p{margin:0;font-size:12px;color:var(--text-muted);line-height:1.4;text-align:left}.password-field-group{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%}.password-field-label{display:flex;align-items:center;justify-content:flex-start;font-size:12px;font-weight:700;color:var(--text-strong);text-align:left;margin:0;letter-spacing:.02em}.password-field-label .required-star{color:var(--danger,#ef4444);margin-left:3px}.password-input-box{position:relative;display:flex;align-items:center;border:1px solid var(--input-border);border-radius:10px;background:var(--surface-dim);transition:border-color .18s,box-shadow .18s,background .18s;width:100%;box-sizing:border-box}.password-input-box:focus-within{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring);background:var(--surface)}.password-input-box input{width:100%;height:42px;padding:0 40px 0 14px;border:none!important;background:transparent!important;color:var(--text-strong)!important;font-size:13px!important;outline:none!important;border-radius:10px!important;box-shadow:none!important}.password-eye-btn{position:absolute;right:6px;display:grid;place-items:center;width:30px;height:30px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-control,8px);transition:color .18s,background .18s}.password-eye-btn:hover{color:var(--primary-strong);background:var(--primary-dim)}.password-strength-wrapper{display:flex;flex-direction:column;gap:4px;margin-top:2px;width:100%}.password-strength-bar{height:4px;width:100%;background:var(--border);border-radius:var(--radius-control,8px);overflow:hidden}.password-strength-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:var(--radius-control,8px)}.password-checklist-box{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:10px;background:var(--surface-dim);border:1px solid var(--border-soft);width:100%;box-sizing:border-box}.password-check-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);transition:color .18s;text-align:left}.password-check-item.valid{color:var(--primary-strong);font-weight:600}.password-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:14px;border-top:1px solid var(--border);margin-top:4px;width:100%}.password-dialog-actions .primary-button{border-radius:10px;padding:9px 18px;font-size:13px;font-weight:700;box-shadow:0 4px 14px var(--primary-ring)}.password-dialog-actions .primary-button:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}.password-dialog-actions .secondary-button{border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600}.grid-cell-empty{position:relative;background:var(--surface,#fff);cursor:pointer;transition:background .15s ease}.grid-cell-empty:hover{background:var(--primary-bg,rgba(16,185,129,.08))!important}.grid-cell-empty .cell-hover-btn{opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;font-size:11px;font-weight:600;color:var(--primary,#10b981);background:var(--primary-dim,rgba(16,185,129,.14));padding:3px 8px;border-radius:var(--radius-control,8px);display:inline-flex;align-items:center;gap:3px;pointer-events:none}.grid-cell-empty:hover .cell-hover-btn{opacity:1;visibility:visible}.date-navigator-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-strong);cursor:pointer;transition:all .18s ease}.date-nav-btn:hover{border-color:var(--primary-strong);background:var(--primary-dim-2);color:var(--primary-strong)}.date-picker-wrapper{position:relative;display:flex;align-items:center}.date-picker-icon{position:absolute;left:12px;pointer-events:none;color:var(--primary-strong);z-index:1}.date-input-field{box-sizing:border-box;width:170px;height:36px;padding:0 12px 0 36px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-strong);font-size:13px;font-weight:500;outline:none;cursor:pointer;transition:all .18s ease}.date-input-field:focus,.date-input-field:hover{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.date-nav-today-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border:1px solid var(--primary-dim);border-radius:10px;background:var(--primary-dim-2);color:var(--primary-strong);font-size:12px;font-weight:600;cursor:pointer;transition:all .18s ease}.date-nav-today-btn:hover{background:var(--primary-btn);color:#fff;border-color:var(--primary-btn)}.allergy-alert-banner{display:flex;align-items:center;gap:14px;padding:12px 18px;border:1px solid rgba(239,68,68,.35);border-radius:14px;background:linear-gradient(135deg,hsla(0,86%,97%,.95),hsla(0,93%,94%,.7));box-shadow:0 2px 8px rgba(239,68,68,.06);margin-bottom:8px;transition:transform .18s ease}.dark .allergy-alert-banner{background:linear-gradient(135deg,rgba(127,29,29,.4),rgba(153,27,27,.25));border-color:hsla(0,91%,71%,.3)}.allergy-alert-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--accent-red,#ef4444);color:#fff;flex-shrink:0;box-shadow:0 3px 8px rgba(239,68,68,.3)}.allergy-alert-content{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.allergy-alert-title{font-size:13px;font-weight:700;color:#991b1b;letter-spacing:-.01em}.dark .allergy-alert-title{color:#fca5a5}.allergy-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.allergy-tag{display:inline-flex;align-items:center;padding:3px 11px;border:1px solid rgba(239,68,68,.3);border-radius:999px;background:#fff;color:#b91c1c;font-size:12px;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.04)}.dark .allergy-tag{background:rgba(127,29,29,.6);color:#fecaca;border-color:hsla(0,91%,71%,.4)}.form-dialog.wide.student-modal{display:flex;flex-direction:column;width:min(100%,1000px);max-height:min(88dvh,860px);overflow:hidden}.student-modal .form-dialog-head{flex-shrink:0;padding:0 28px;height:64px;border-bottom:1px solid var(--border)}.student-modal .form-dialog-head h2{font-size:18px;font-weight:700;letter-spacing:-.015em}.student-modal-tabs{display:flex;align-items:flex-end;gap:0;padding:0 28px;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;background:var(--surface)}.student-modal-tab{flex:1 1 auto;padding:14px 10px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.student-modal-tab:hover{color:var(--text)}.student-modal-tab.active{border-bottom-color:var(--primary-strong);color:var(--primary-text);font-weight:600}@media (min-width:641px){.student-modal-tabs{flex-wrap:nowrap}.student-modal-tab{flex:0 0 auto;padding:14px 16px 12px;font-size:.84375rem}}.student-modal-body{flex:1;overflow-y:auto;padding:28px 28px 8px;min-height:0}.student-modal-footer{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid var(--border);background:var(--surface)}.student-avatar-card{display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface-dim,var(--inset))}.student-avatar-circle{position:relative;width:68px;height:68px;border-radius:50%;overflow:hidden;background:var(--primary-dim);color:var(--primary-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.08)}.student-avatar-circle.is-empty{background:var(--surface);color:var(--text-muted);border-style:dashed;box-shadow:none}.student-avatar-circle img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.student-avatar-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.student-avatar-title{font-size:14px;font-weight:600;color:var(--text-strong);margin:0}.student-avatar-hint{font-size:12px;color:var(--text-muted);margin:0}.student-avatar-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.student-avatar-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;color:var(--primary-text);background:var(--primary-dim);border:1px solid var(--primary-ring,rgba(79,70,229,.3));border-radius:8px;cursor:pointer;transition:background .15s;margin:0;width:auto;flex:initial;line-height:1}.student-avatar-upload-btn:hover{background:var(--primary-dim-hover,rgba(79,70,229,.15))}.student-avatar-remove-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;color:var(--danger-text);background:transparent;border:1px solid var(--danger-border);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s;margin:0}.student-avatar-remove-btn:hover{background:var(--danger-bg);border-color:var(--danger)}.student-avatar-remove-btn:focus-visible{outline:none;border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.student-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.student-form-grid .wide{grid-column:1/-1}.student-form-section{margin-bottom:24px}.student-form-section+.student-form-section{padding-top:24px;border-top:1px solid var(--border)}.student-form-section-heading{margin:0 0 4px;font-size:13px;font-weight:700;color:var(--text-strong);letter-spacing:.01em}.student-form-section-sub{margin:0 0 16px;font-size:12px;color:var(--text-muted);line-height:1.4}.student-form-grid label{display:flex;flex-direction:column;gap:6px;width:100%;letter-spacing:0}.student-form-grid label,.student-form-grid label span:first-child{font-size:13px;font-weight:600;color:var(--text)}.student-form-grid .student-avatar-card label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;width:auto;flex:initial;margin:0;font-size:13px;font-weight:500;color:var(--text);letter-spacing:0}.student-form-grid input,.student-form-grid select{width:100%;box-sizing:border-box;border:1px solid var(--input-border);border-radius:10px;padding:10px 14px;height:44px;background:var(--inset);color:var(--input-text);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.student-form-grid input:focus,.student-form-grid select:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.student-form-grid .searchable-select-trigger{height:44px;border-radius:10px;padding:0 14px}@media (max-width:640px){.student-form-grid{grid-template-columns:1fr}.student-form-grid .wide{grid-column:auto}.student-modal-body{padding:20px 16px 8px}.student-modal .form-dialog-head,.student-modal-footer,.student-modal-tabs{padding-left:16px;padding-right:16px}.student-avatar-card{flex-wrap:wrap;gap:14px;padding:14px 16px}.student-avatar-info{flex:1 1 160px}.student-avatar-actions{width:100%}}.workspace-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.workspace-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--border-soft);position:sticky;top:0;z-index:30}.workspace-brand{display:flex;align-items:center;gap:12px}.workspace-brand strong{display:block;color:var(--text-strong);font-size:15px}.workspace-brand small{color:var(--text-muted);font-size:12px}.workspace-topbar-actions{display:flex;align-items:center;gap:12px}.workspace-content{width:100%;max-width:1280px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:22px}.workspace-alert{gap:8px;border-radius:10px;background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border);font-size:14px}.workspace-alert,.ws-selector{display:flex;align-items:center;padding:12px 16px}.ws-selector{gap:12px;flex-wrap:wrap;border-radius:12px;background:var(--surface-glass);border:1px solid var(--glass-border)}.ws-selector-group{position:relative;display:flex;align-items:center;gap:8px}.ws-selector-icon{color:var(--text-muted);display:inline-flex}.ws-selector-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid var(--border-soft);background:var(--inset);color:var(--text);cursor:pointer;font-size:13px;transition:border-color .15s ease}.ws-selector-trigger:hover:not(:disabled){border-color:var(--primary-border)}.ws-selector-trigger:disabled{opacity:.5;cursor:not-allowed}.ws-selector-label{color:var(--text-muted);font-size:12px}.ws-selector-trigger strong{color:var(--text-strong);font-weight:600}.ws-selector-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:200;min-width:260px;max-height:320px;overflow-y:auto;padding:8px;border-radius:12px;background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--dialog-shadow)}.ws-option{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border-radius:8px;border:none;background:transparent;color:var(--text);cursor:pointer;font-size:13px;text-align:left}.ws-option:hover{background:var(--surface-dim-hover)}.ws-option.active{background:var(--primary-dim);color:var(--primary-text)}.ws-option-check{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-control,8px);flex-shrink:0}.ws-option.active .ws-option-check{border-color:var(--primary);background:var(--primary);color:#022c22}.ws-option-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-option-code{color:var(--text-faint);font-size:11px}.ws-selector-divider{width:1px;height:24px;background:var(--border-soft)}.workspace-section{display:flex;flex-direction:column;gap:14px}.workspace-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.workspace-section-title{color:var(--text-strong);font-size:16px;margin:0}.workspace-school-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;width:100%}.workspace-school-card{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:14px;background:var(--card-bg);border:1px solid var(--glass-border);text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.workspace-school-card:hover{transform:translateY(-2px);border-color:var(--primary-border)}.workspace-school-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.workspace-school-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:var(--primary-dim);color:var(--primary-strong);font-weight:700;font-size:15px}.ws-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:600;background:var(--neutral-bg);color:var(--text-muted)}.ws-status-badge.up_to_date{background:var(--green-dim);color:var(--green-strong)}.ws-status-badge.syncing{background:var(--blue-dim);color:var(--accent-blue)}.ws-status-badge.no_data,.ws-status-badge.stale{background:var(--amber-bg);color:var(--accent-amber)}.ws-status-badge.failed{background:var(--danger-bg);color:var(--danger-text)}.workspace-school-card-body strong{display:block;color:var(--text-strong);font-size:15px;margin-bottom:2px}.workspace-school-card-body small,.workspace-school-stats{color:var(--text-muted);font-size:12px}.workspace-school-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.workspace-school-stats span{display:inline-flex;align-items:center;gap:4px}.workspace-school-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--border-soft);color:var(--text-faint);font-size:11px}.workspace-drill{display:flex;flex-direction:column;gap:14px}.workspace-breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:var(--text-muted)}.breadcrumb-link{border:none;background:transparent;color:var(--primary-text);cursor:pointer;font-size:13px;padding:0}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-segment{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}.workspace-drill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;width:100%}.workspace-drill-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:12px;background:var(--card-bg);border:1px solid var(--glass-border);text-align:left;cursor:pointer;transition:border-color .15s ease}.workspace-drill-card:disabled{cursor:default;opacity:.85}.workspace-drill-card:hover:not(:disabled){border-color:var(--primary-border)}.workspace-drill-card-head{display:flex;flex-direction:column;gap:2px}.workspace-drill-card-head strong{color:var(--text-strong);font-size:14px}.workspace-drill-card-head small{color:var(--text-muted);font-size:11px}.workspace-drill-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-muted);font-size:12px}.workspace-drill-stats span{display:inline-flex;align-items:center;gap:4px}.workspace-report-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding-bottom:8px;overflow-x:auto}.ws-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.ws-tab-btn:hover{color:var(--primary-strong);background:var(--primary-dim-2)}.ws-tab-btn.active{color:var(--primary-strong);background:var(--primary-dim);border-color:var(--primary-strong)}.workspace-report-panel{display:flex;flex-direction:column;gap:20px}.report-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--card-bg)}.report-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.report-table td,.report-table th{padding:12px 16px;border-bottom:1px solid var(--border-soft)}.report-table th{background:var(--surface-subtle);color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.report-table tr:last-child td{border-bottom:none}.text-warning{color:var(--warning-text,#d97706);font-weight:600}.text-success{color:var(--success-text,#16a34a);font-weight:600}.badge-highlight{display:inline-block;padding:2px 8px;border-radius:var(--radius-control,8px);background:var(--primary-dim);color:var(--primary-strong);font-weight:700;font-size:12px}.asset-page-shell{background-color:var(--bg-subtle,#f8fafc);min-height:100vh;min-height:100dvh}.asset-corner-plus{display:none!important}.asset-card-blueprint{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel,12px);padding:20px 24px;box-shadow:0 1px 2px rgba(0,0,0,.02)}.asset-metric-header{display:flex;justify-content:space-between;align-items:flex-start}.asset-metric-title{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.asset-metric-index{font-size:11px;font-weight:600;color:var(--primary-btn,#047857);font-family:monospace}.asset-metric-value{font-size:32px;font-weight:800;color:var(--text-strong,#0f172a);line-height:1.15;margin-top:10px;margin-bottom:8px;letter-spacing:-.02em}.asset-metric-value .unit-d{font-size:18px;font-weight:600;color:var(--text-secondary,#334155);margin-left:2px}.asset-metric-value .slash-total{font-size:18px;font-weight:500;color:var(--text-muted,#94a3b8);margin-left:4px}.asset-metric-caption{font-size:12px;color:var(--text-muted,#64748b);margin:0}.asset-progress-line{height:3px;background:var(--border-soft,#e2e8f0);width:100%;margin-top:6px;margin-bottom:8px;position:relative;border-radius:99px;overflow:hidden}.asset-progress-line-fill{height:100%;background:var(--primary-btn,#047857)}.asset-tabs-bar{position:relative;display:flex;gap:0;border-bottom:1px solid var(--border-color,#d1d5db);border-top:1px solid var(--border-color,#d1d5db);background:var(--bg-surface,#fff);margin-top:24px}.asset-tab-btn{padding:14px 24px;font-size:13px;font-weight:600;color:var(--text-muted,#64748b);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease}.asset-tab-btn:hover{color:var(--text-strong,#0f172a)}.asset-tab-btn.active{color:var(--primary-btn,#047857);border-bottom-color:var(--primary-btn,#047857);font-weight:700}.asset-table-container{position:relative;overflow-x:auto;background:var(--bg-surface,#fff);border:1px solid var(--border-color,#d1d5db);margin-top:16px}.asset-table{width:100%;min-width:980px;border-collapse:collapse;font-size:13px;text-align:left}.asset-table th{background:var(--bg-subtle,#f8fafc);color:var(--text-secondary,#475569);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;border-bottom:1px solid var(--border-color,#d1d5db);border-right:1px solid var(--border-soft,#f1f5f9)}.asset-table th:last-child{border-right:none}.asset-table td{padding:14px 16px;border-bottom:1px solid var(--border-color,#e2e8f0);border-right:1px solid var(--border-soft,#f8fafc);color:var(--text-primary,#334155);vertical-align:middle}.asset-table td:last-child{border-right:none}.asset-table tr:hover td{background:var(--bg-subtle,#f8fafc)}.asset-code-link{font-family:monospace;font-weight:700;color:var(--primary-btn,#047857);text-decoration:underline;text-underline-offset:3px;font-size:13px}.asset-pill-tag{display:inline-block;padding:3px 10px;border-radius:var(--radius-control,8px);border:1px solid var(--border-color,#cbd5e1);background:var(--bg-surface,#fff);color:var(--text-secondary,#475569);font-size:11px;font-weight:600}.asset-status-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:var(--radius-control,8px);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.asset-status-badge.in-stock{border:1px solid var(--primary-border,rgba(16,185,129,.35));color:var(--primary-strong,#047857);background:var(--primary-dim)}.asset-status-badge.in-use{background:var(--primary-btn,#047857);color:#fff}.asset-status-badge.maintenance{border:1px solid var(--amber-border);color:var(--amber-ink);background:var(--amber-bg)}.asset-status-badge.disposed{border:1px solid var(--border-color,#94a3b8);color:var(--text-secondary,#475569);background:var(--bg-subtle,#f8fafc)}.asset-action-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color,#cbd5e1);background:var(--bg-surface,#fff);color:var(--text-secondary,#475569);border-radius:var(--radius-control,8px);cursor:pointer;transition:all .15s ease}.asset-action-btn:hover{background:var(--bg-subtle,#f1f5f9);color:var(--text-strong,#0f172a);border-color:var(--border-color,#94a3b8)}.asset-segmented-control{display:flex;width:100%;box-sizing:border-box;background:var(--bg-subtle,#f1f5f9);border:1px solid var(--border-color,#cbd5e1);border-radius:8px;padding:3px;gap:3px;height:42px}.asset-segmented-btn{flex:1;height:100%;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;font-size:13px;font-weight:600;text-align:center;border:none;background:transparent;color:var(--text-secondary,#475569);cursor:pointer;border-radius:var(--radius-control,8px);transition:all .18s ease;white-space:nowrap}.asset-segmented-btn.active{background:var(--primary-btn,#047857);color:#fff;font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.08)}.exam-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:20px 0 24px;border-bottom:1px solid var(--border)}.exam-tab{position:relative;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:color .18s,border-color .18s}.exam-tab.active,.exam-tab:hover{color:var(--text-strong)}.exam-tab.active{border-bottom-color:var(--primary)}.exam-tab-count{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:var(--neutral-bg);color:var(--text-muted);font-size:11px;font-weight:700}.exam-tab.active .exam-tab-count{background:var(--primary-dim);color:var(--primary-text)}.exam-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.exam-split-reverse{grid-template-columns:300px minmax(0,1fr)}.exam-side{position:sticky;top:16px;display:grid;gap:16px;align-content:start}.exam-panel{min-width:0;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 1px 2px var(--card-shadow);padding:20px}.exam-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.exam-panel-head h3{margin:0;color:var(--text-strong);font-size:16px}.exam-panel-head p{margin:5px 0 0;color:var(--text-muted);font-size:12px;line-height:1.5}.exam-panel+.exam-panel{margin-top:20px}.exam-side .exam-panel+.exam-panel,.exam-split .exam-panel+.exam-panel{margin-top:0}.exam-chip{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;border:1px solid transparent}.exam-chip.ok{background:var(--green-bg);color:var(--accent-green);border-color:var(--green-border)}.exam-chip.warn{background:var(--amber-bg);color:var(--amber-ink);border-color:rgba(245,158,11,.35)}.exam-chip.danger{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.exam-chip.info{background:var(--blue-dim);color:var(--accent-blue);border-color:rgba(56,189,248,.35)}.exam-chip.muted{background:var(--neutral-bg);color:var(--text-muted);border-color:var(--border)}.exam-table-scroll{overflow-x:auto}.exam-plan-row{display:grid;grid-template-columns:70px 1fr 1.1fr 1.5fr 55px 1.1fr 1.1fr 70px;gap:14px;align-items:center;min-width:1040px;padding:14px 0;border-bottom:1px solid var(--border-soft);color:var(--text-muted);font-size:12px}.exam-plan-row.head{padding-top:0;color:var(--text-faint);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.exam-plan-row strong{color:var(--text-strong);font-size:13px}.exam-plan-row:last-child{border-bottom:0}.exam-plan-actions{display:flex;gap:6px;justify-content:flex-end}.exam-term-group{display:flex;align-items:center;gap:10px;margin:18px 0 4px;padding:9px 14px;border-radius:10px;background:var(--inset);color:var(--text-muted);font-size:12px;font-weight:700}.exam-term-group:first-child{margin-top:0}.exam-plan-summary{color:var(--text-muted);font-size:12px;font-weight:600;text-align:right}.exam-form{display:grid;grid-template-columns:1fr;gap:14px}.exam-form label{display:flex;flex-direction:column;gap:7px;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;width:100%}.exam-form input,.exam-form select,.exam-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--input-border);border-radius:10px;padding:11px 12px;background:var(--inset);color:var(--input-text);font-size:13px;outline:none;transition:border-color .18s,box-shadow .18s}.exam-form input:focus,.exam-form select:focus,.exam-form textarea:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-ring)}.exam-bank{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.exam-tree{display:grid;gap:2px}.exam-tree-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s,color .15s}.exam-tree-item:hover{background:var(--surface-dim-hover);color:var(--text-strong)}.exam-tree-item.active{background:var(--primary-dim);color:var(--primary-text);font-weight:700}.exam-tree-item .count{margin-left:auto;font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.exam-tree-child{padding-left:26px}.exam-quick{display:grid;gap:2px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-soft)}.exam-quick-title{padding:0 12px 6px;color:var(--text-faint);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.exam-quick-item{display:flex;align-items:center;gap:8px;padding:9px 12px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font-size:13px;text-align:left;cursor:pointer;transition:background .15s,color .15s}.exam-quick-item:hover{background:var(--surface-dim-hover);color:var(--text-strong)}.exam-quick-item.active{background:var(--primary-dim);color:var(--primary-text);font-weight:700}.exam-quick-item .count{margin-left:auto;color:var(--text-faint);font-variant-numeric:tabular-nums}.exam-quick-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.exam-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.exam-toolbar .filter-search{flex:1;min-width:220px}.exam-toolbar .filter-search input{padding:10px 34px 10px 36px;font-size:13px}.exam-toolbar .exam-toolbar-select{width:auto;min-width:130px}.exam-toolbar-actions{display:flex;gap:8px;margin-left:auto}.exam-bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;padding:12px 16px;border:1px solid var(--primary-border);border-radius:12px;background:var(--primary-dim-2);color:var(--text);font-size:13px}.exam-bulkbar .spacer{flex:1}.exam-bulkbar-floating{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;margin:0;max-width:min(960px,calc(100vw - 32px));background:var(--surface);border-color:var(--primary-border);box-shadow:0 16px 40px rgba(15,23,42,.22)}.exam-bulkbar label{flex-direction:row;align-items:center;gap:8px;cursor:pointer;font-weight:600;width:auto;white-space:nowrap}.exam-bulkbar input[type=checkbox],.exam-qcard input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;flex-shrink:0;width:16px;height:16px;margin:0;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--surface);box-shadow:none;transition:border-color .15s,background .15s;cursor:pointer}.exam-bulkbar input[type=checkbox]:hover,.exam-qcard input[type=checkbox]:hover{border-color:var(--primary)}.exam-bulkbar input[type=checkbox]:focus,.exam-qcard input[type=checkbox]:focus{border-color:var(--border);box-shadow:none;background:var(--surface)}.exam-bulkbar input[type=checkbox]:focus-visible,.exam-qcard input[type=checkbox]:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim-2,rgba(43,154,132,.15))}.exam-bulkbar input[type=checkbox]:checked,.exam-qcard input[type=checkbox]:checked{border-color:var(--primary);background-color:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:12px 12px}.exam-qcard input[type=checkbox]{margin-top:2px}.exam-bulkbar .exam-bulkbar-count{color:var(--text-muted);white-space:nowrap}.exam-qlist{display:grid}.exam-qlist-cards{gap:12px}.exam-qcard{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;align-items:start;padding:18px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface)}.exam-qcard:hover{background:var(--surface-dim)}.exam-qcard-body{display:grid;gap:12px;min-width:0}.exam-qcard-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px}.exam-qcard-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.exam-qcard-topic{color:var(--text-muted);font-size:12px;font-weight:600;line-height:1.4}.exam-qcard-content{color:var(--text-strong);font-size:15px;font-weight:600;line-height:1.55}.exam-qcard-options-block{display:grid;gap:8px}.exam-qcard-options-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.exam-qcard-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:8px 22px;font-size:13px;color:var(--text-muted)}.exam-qcard-option{display:flex;gap:6px;line-height:1.5}.exam-qcard-option.correct{color:var(--accent-green);font-weight:700}.exam-qcard-foot{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px 16px}.exam-qcard-explain{margin:0;flex:1;min-width:220px;color:var(--text-muted);font-size:12px;font-style:italic;line-height:1.5}.exam-qcard-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.exam-qcard-attach{color:var(--primary);font-size:12px;text-decoration:underline}.exam-qcard .math-image{display:block;margin:6px 0}.exam-ai-panel{display:grid;gap:14px;padding:18px;border:1px dashed var(--primary-border);border-radius:14px;background:var(--primary-dim-2)}.exam-ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px}.exam-draft{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.exam-draft-row{display:grid;grid-template-columns:40px minmax(90px,130px) minmax(90px,130px) minmax(0,1fr) minmax(70px,100px);gap:8px;align-items:center}.exam-matrix-total{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border);color:var(--text-strong);font-size:14px;font-weight:700}.exam-avail{font-size:11px;font-weight:700;white-space:nowrap}.exam-avail.ok{color:var(--accent-green)}.exam-avail.short{color:var(--danger-text)}.exam-folder-manager{display:grid;gap:6px;max-height:46vh;overflow-y:auto;padding-right:4px}.exam-folder-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:10px;background:var(--inset);color:var(--text-muted)}.exam-folder-name,.exam-folder-row input{flex:1;min-width:0}.exam-folder-name{color:var(--text-strong);font-size:13px;word-break:break-word}.exam-matrix-row{display:grid;grid-template-columns:minmax(0,1fr) 170px 170px 100px 110px 130px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-soft)}.exam-matrix-row.head{color:var(--text-faint);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.exam-paper-item{display:grid;grid-template-columns:36px minmax(0,1fr) 150px;gap:16px;align-items:start;padding:18px 0;border-bottom:1px solid var(--border-soft)}.exam-paper-item:last-child{border-bottom:0}.exam-paper-item-order{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--primary-dim);color:var(--primary-text);font-size:13px;font-weight:700}.exam-paper-item-body{min-width:0}.exam-paper-item-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.exam-paper-item-side{display:grid;gap:8px;justify-items:end}.exam-paper-item-side label{width:84px;font-size:11px;font-weight:700;color:var(--text-muted)}@media (max-width:700px){.exam-paper-item{grid-template-columns:34px minmax(0,1fr)}.exam-paper-item-side{grid-column:2;justify-items:start}.exam-matrix-row{grid-template-columns:1fr}}.exam-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px 24px 0}.exam-editor-grid .wide{grid-column:1/-1}.exam-editor-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exam-option-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--input-border);border-radius:10px;background:var(--inset)}.exam-option-cell.active>.exam-option-row{box-shadow:inset 3px 0 0 var(--primary)}.exam-option-row.correct{border-color:var(--primary);background:var(--primary-dim-2)}.exam-option-row input[type=radio]{width:18px;height:18px;flex-shrink:0;accent-color:var(--primary)}.exam-option-row>input[type=radio],.exam-option-row>strong{margin-top:4px}.exam-option-row .rich-math-editor{flex:1;min-width:0;gap:6px}.exam-option-row .rich-math-editor .ProseMirror{min-height:38px;padding:7px 9px;font-size:13px;line-height:1.6}.exam-option-row .rich-math-editor .math-toolbar-btn{min-width:28px;height:24px;padding:0 8px;font-size:11px}.math-field{display:grid;gap:8px}.math-toolbar{display:flex;flex-wrap:wrap;gap:4px}.math-toolbar-btn{min-width:34px;height:28px;padding:0 8px;border:1px solid var(--input-border);border-radius:7px;background:var(--inset);color:var(--text-muted);font-size:12px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer}.math-toolbar-btn:hover{border-color:var(--primary);background:var(--primary-dim-2);color:var(--primary-text)}.math-toolbar-btn:disabled{opacity:.6;cursor:not-allowed}.math-toolbar-upload{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.math-image{display:inline-block;vertical-align:middle;margin:2px 0}.math-image img{max-width:min(320px,100%);max-height:220px;-o-object-fit:contain;object-fit:contain;border:1px solid var(--input-border);border-radius:8px;background:var(--inset)}.math-field-preview .math-image img{max-height:180px}.math-field-preview{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;padding:8px 10px;border:1px dashed var(--input-border);border-radius:8px;background:var(--inset);color:var(--text-strong);font-size:16px;line-height:1.6;overflow-x:auto}.math-field-preview>strong{color:var(--text-muted);font-size:12px}.math-field-preview.compact{padding:4px 8px;color:var(--text-muted);font-size:14px}.math-field-preview.compact strong{margin-right:4px}.math-toolbar-formula{padding:0 10px;border-color:var(--primary);background:var(--primary-dim-2);color:var(--primary-text)}.math-clickable{cursor:pointer;border-radius:4px;transition:background-color .15s ease}.math-clickable:focus-visible,.math-clickable:hover{background:var(--primary-dim-2)}.math-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.math-formula-body{display:grid;gap:12px}.math-formula-input{display:block;width:100%;min-height:84px;padding:14px 16px;box-sizing:border-box;border:1px solid var(--input-border);border-radius:10px;background:var(--inset);color:var(--input-text);font-size:18px}.math-formula-input:focus,.math-formula-input:focus-within{border-color:var(--primary);outline:none}.math-formula-dialog math-field::part(virtual-keyboard-toggle){display:none!important}.math-formula-hint{margin:0;color:var(--text-muted);font-size:12px;line-height:1.5}.math-formula-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid var(--border)}.math-formula-actions-right{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto}.ML__keyboard{z-index:1200}.math-block{display:block;margin:8px 0;text-align:center}.math-inline{display:inline}.math-error{padding:0 3px;border-radius:4px;background:var(--danger-bg);color:var(--danger-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.rich-math-editor{display:grid;gap:8px;width:100%;min-width:0}.rich-math-editor .math-toolbar{width:100%}.rich-math-editor-surface{position:relative;width:100%}.rich-math-editor .ProseMirror{width:100%;min-height:var(--rich-math-min-height,72px);padding:10px 12px;border:1px solid var(--input-border);border-radius:8px;background:var(--inset);color:var(--input-text);font-size:14px;line-height:1.7;outline:none;overflow-wrap:anywhere;overflow-x:auto;white-space:pre-wrap}.rich-math-editor .ProseMirror:focus,.rich-math-editor .ProseMirror:focus-visible{border-color:var(--primary)}.rich-math-editor.is-disabled .ProseMirror{opacity:.6;cursor:not-allowed}.rich-math-editor .ProseMirror p{margin:0 0 6px}.rich-math-editor .ProseMirror p:last-child{margin-bottom:0}.rich-math-editor .ProseMirror img.rich-math-image{max-width:100%;height:auto;vertical-align:middle;border:1px solid var(--input-border);border-radius:8px}.rich-math-node{padding:0 4px;border-radius:4px;cursor:pointer;transition:background-color .15s ease}.rich-math-node:focus-visible,.rich-math-node:hover{background:var(--primary-dim-2)}.rich-math-node:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.rich-math-node.rich-math-display{display:block;margin:6px 0;text-align:center}.rich-math-placeholder{position:absolute;top:10px;left:12px;right:12px;pointer-events:none;color:var(--text-muted);font-size:14px;line-height:1.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.rich-math-editor .math-toolbar{flex-wrap:wrap}}.exam-option-cell{display:grid;gap:6px}.exam-attachments{flex-wrap:wrap}.exam-attachment,.exam-attachments{display:flex;gap:8px;align-items:center}.exam-attachment{max-width:220px;padding:6px 8px;border:1px solid var(--input-border);border-radius:9px;background:var(--inset);color:var(--text-muted);font-size:12px}.exam-attachment img{width:40px;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:6px;flex-shrink:0}.exam-attachment-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-attachment-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.exam-attachment-remove:hover{background:var(--danger-bg);color:var(--danger-text)}.exam-attachment-add{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px dashed var(--input-border);border-radius:9px;background:var(--inset);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer}.exam-attachment-add:hover{border-color:var(--primary);color:var(--primary-text)}.question-attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.question-attachment-image{display:block;overflow:hidden;border:1px solid var(--input-border);border-radius:8px}.question-attachment-image img{display:block;max-width:220px;max-height:160px;-o-object-fit:contain;object-fit:contain;background:var(--inset)}.question-attachment-audio{max-width:280px;height:34px}.question-attachment-file{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--input-border);border-radius:8px;background:var(--inset);color:var(--text-muted);font-size:12px;text-decoration:none}.question-attachment-file:hover{border-color:var(--primary);color:var(--primary-text)}.exam-draft-preview{display:grid;gap:6px;padding:10px 12px;border:1px dashed var(--input-border);border-radius:9px;background:var(--inset);color:var(--text-strong);font-size:13px}.exam-draft-preview-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:4px 16px;color:var(--text-muted)}.katex{color:inherit}@media (max-width:1100px){.exam-split,.exam-split-reverse{grid-template-columns:1fr}.exam-side{position:static}.exam-bank{grid-template-columns:1fr}}@media (max-width:900px){.exam-qcard{grid-template-columns:20px minmax(0,1fr)}.exam-draft-row,.exam-editor-grid,.exam-editor-options,.exam-qcard-options{grid-template-columns:1fr}.exam-toolbar-actions{margin-left:0;width:100%}}.date-picker{position:relative;display:block;width:100%;min-width:0}.date-picker--button{width:auto}.date-picker-input{padding-right:38px!important;cursor:text}.date-picker-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:7px;background:transparent;color:var(--primary-strong);cursor:pointer;transition:background .15s ease}.date-picker-toggle:hover{background:var(--primary-dim-2)}.date-picker-toggle:disabled{color:var(--text-faint);cursor:not-allowed}.substitute-date-filter{white-space:nowrap;flex-shrink:0}@media (max-width:640px){.substitute-date-filter{flex-wrap:wrap;flex-shrink:1;min-width:0;max-width:100%;white-space:normal}.substitute-date-filter>.date-picker{flex:1 1 8rem;min-width:0}}table.slot-list-table{min-width:600px}table.slot-list-table.with-teacher{min-width:720px}@media (max-width:768px){table.slot-list-table,table.slot-list-table.with-teacher{min-width:900px}}.date-picker-menu{z-index:var(--z-dropdown,1200);padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 18px 40px rgba(15,23,42,.18);box-sizing:border-box}.date-picker-head{display:flex;align-items:center;gap:2px;margin-bottom:10px}.date-picker-label{flex:1;text-align:center;font-size:13.5px;font-weight:700;color:var(--text-strong);white-space:nowrap}.date-picker-nav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease;flex-shrink:0}.date-picker-nav:hover{background:var(--primary-dim-2);color:var(--primary-strong)}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px}.date-picker-weekdays span{text-align:center;font-size:11px;font-weight:700;color:var(--text-faint);padding:4px 0}.date-picker-grid{display:flex;flex-direction:column;gap:2px}.date-picker-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-picker-cell{display:flex}.date-picker-cell>.date-picker-day{flex:1}.date-picker-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.date-picker-day{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .12s ease}.date-picker-day:hover:not(:disabled){background:var(--primary-dim-2);color:var(--primary-strong)}.date-picker-day.is-outside{color:var(--text-faint);opacity:.6}.date-picker-day.is-today{border-color:var(--primary-border);color:var(--primary-strong);font-weight:700}.date-picker-day.is-selected{background:var(--primary,#10b981);border-color:var(--primary,#10b981);color:#fff;font-weight:700}.date-picker-day.is-selected:hover{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}.date-picker-day.is-disabled{color:var(--text-faint);opacity:.4;cursor:not-allowed}.date-picker-time{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:10px 0 2px;border-top:1px solid var(--border-soft);font-size:12.5px;font-weight:600;color:var(--text-muted)}.date-picker-time-header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.date-picker-time-header strong{color:var(--text-strong);font-size:13px;font-variant-numeric:tabular-nums}.date-picker-time-row{display:flex;align-items:flex-start;justify-content:center;width:100%;gap:8px}.date-picker-time-field{position:relative;flex:1 1 0;min-width:0}.date-picker-time-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;min-height:34px;padding:7px 10px;border:1px solid var(--input-border);border-radius:9px;background:var(--inset);color:var(--input-text);font-size:13px;font-family:inherit;font-variant-numeric:tabular-nums;cursor:pointer}.date-picker-time-list{position:absolute;z-index:2;bottom:calc(100% + 4px);left:0;right:0;display:flex;flex-direction:column;max-height:148px;padding:4px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 12px 24px rgba(15,23,42,.16);scrollbar-width:thin}.date-picker-time-option{width:100%;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--input-text);text-align:left;font-size:13px;font-family:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:all .12s ease}.date-picker-time-option:hover{border-color:var(--primary-border);background:var(--primary-dim-2);color:var(--primary-strong)}.date-picker-time-option.is-selected{border-color:var(--primary,#10b981);background:var(--primary,#10b981);color:#fff;font-weight:700}.date-picker-time-separator{padding-top:8px;color:var(--text-muted);font-weight:700}.date-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-soft)}.date-picker-action{padding:7px 12px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.date-picker-action--primary,.date-picker-action:hover{border-color:var(--primary-border);color:var(--primary-strong);background:var(--primary-dim-2)}.assessment-filters label>.date-picker{flex:1;min-width:140px}.assessment-filters .date-picker-input{width:100%}.filter-search .date-picker{flex:1}@media (max-width:768px){.assessment-filters label>.date-picker{min-width:0;width:100%}}@media (max-width:480px){.date-picker-menu{max-width:calc(100vw - 24px)}}.info-tooltip{position:relative;vertical-align:middle}.info-tooltip,.info-tooltip__trigger{display:inline-flex;align-items:center}.info-tooltip__trigger{justify-content:center;width:18px;height:18px;padding:0;margin:0;border:0;border-radius:999px;background:transparent;color:var(--text-muted);cursor:help;line-height:0;transition:color .15s ease}.info-tooltip__trigger:focus-visible,.info-tooltip__trigger:hover{color:var(--text-strong)}.info-tooltip__trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.info-tooltip__bubble{position:absolute;top:calc(100% + 8px);left:0;right:auto;z-index:60;box-sizing:border-box;width:-moz-max-content;width:max-content;max-width:min(320px,calc(100vw - 80px));padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 12px 32px var(--card-shadow);font-size:12px;font-weight:500;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere;visibility:hidden;opacity:0;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;pointer-events:none}.info-tooltip:focus-within .info-tooltip__bubble,.info-tooltip:hover .info-tooltip__bubble{visibility:visible;opacity:1;transform:translateY(0)}.info-tooltip--dismissed .info-tooltip__bubble,.info-tooltip--dismissed:focus-within .info-tooltip__bubble,.info-tooltip--dismissed:hover .info-tooltip__bubble{visibility:hidden;opacity:0;transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.info-tooltip__bubble{transition:none}}@media (max-width:768px){.action-button,.bell-button,.exam-option-row .rich-math-editor .math-toolbar-btn,.icon-button,.text-button{min-width:44px;min-height:44px}}.activities-page .primary-button,.activities-page .secondary-button{border-radius:8px;font-size:14px;font-weight:600}.activities-page .text-button{font-size:13px;padding:3px 6px;border-radius:8px}.activities-page .row-actions{gap:2px}@media (min-width:769px){.activities-page .activities-table.activities-actions-wide>.data-row.table-cols-5{grid-template-columns:minmax(140px,1.5fr) minmax(90px,1fr) minmax(90px,.9fr) minmax(90px,.8fr) minmax(300px,420px);min-width:920px}.activities-page .activities-table.activities-actions-wide>.data-row.table-cols-6{grid-template-columns:minmax(140px,1.3fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(300px,420px);min-width:1000px}.activities-page .activities-table.activities-actions-wide>.data-row.table-cols-8{grid-template-columns:minmax(150px,1.3fr) minmax(90px,.9fr) minmax(110px,.9fr) minmax(80px,1fr) minmax(80px,1.2fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(300px,440px);min-width:1250px}}.activities-page input:not([type=checkbox]):not([type=radio]),.activities-page select,.activities-page textarea{border-radius:8px}.activities-page .data-panel-head{padding:18px 22px;gap:12px;flex-wrap:wrap}.activities-page .data-panel-head h3{font-size:18px;font-weight:700;letter-spacing:-.02em}.activities-page .data-panel-head .muted{font-size:13px}.activities-page .data-row{font-size:14px;padding:8px 18px;gap:14px}.activities-page .data-row.table-head{font-size:11px;letter-spacing:.08em;font-weight:700}.activities-page .data-row.table-head>:first-child{border-top-left-radius:8px}.activities-page .data-row.table-head>:last-child{border-top-right-radius:8px}.activities-page .data-row:not(.table-head):hover{background:var(--surface-dim-hover)}.activities-page .tab{font-size:16px;font-weight:600;padding:10px 16px}.activities-page .tabs{gap:4px;margin-bottom:0}.activities-page .form-dialog{border-radius:12px}.activities-page .form-dialog-head{padding:18px 22px}.activities-page .form-dialog-head h2{font-size:18px}.activities-page .form-stack{padding:20px 22px;gap:16px}.activities-page .form-actions{justify-content:flex-end;padding:14px 20px}.activities-page .metric-card{border-radius:8px;padding:18px 20px}.activities-page .metric-card span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.activities-page .metric-card strong{font-size:30px;line-height:1.1;letter-spacing:normal;font-weight:700}.activities-page .dashboard-topbar h1{font-size:25px;letter-spacing:-.03em}.activities-page .activities-callout{border:1px solid var(--primary-border);background:var(--primary-bg);color:var(--primary-text);border-radius:8px;padding:8px 12px;font-size:13px;margin-top:12px;margin-bottom:0}.activities-page .data-empty{border:1px dashed var(--input-border);border-radius:8px;padding:18px;font-size:13px}.activities-page .assessment-main{display:flex;flex-direction:column;gap:20px}.activities-page .assessment-tabs+.data-panel,.activities-page .tabs+.data-panel{margin-top:0}.activities-page .form-dialog:has(.modal-eyebrow-tag){overflow-y:auto!important}.activities-page .register-dialog-body{gap:18px}.activities-page .register-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:start}.activities-page .register-col-left,.activities-page .register-col-right{min-width:0}.activities-page .register-hint{margin:0;font-size:12px;line-height:1.5}.activities-page .register-picker{display:flex;flex-direction:column;gap:12px;min-width:0;padding:14px;border:1px solid var(--border);border-radius:var(--radius-panel,12px);background:var(--surface-dim)}.activities-page .register-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.activities-page .register-picker-all{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}.activities-page .register-picker-count{font-size:12px}.activities-page .register-picker-search{width:100%}.activities-page .register-picker-list{max-height:268px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:var(--radius-control,8px);background:var(--surface)}.activities-page .register-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;min-width:0;padding:14px 16px;cursor:pointer}.activities-page .register-picker-row.is-taken{cursor:not-allowed;opacity:.7}.activities-page .register-picker-row-main{display:flex;align-items:center;gap:10px;min-width:0}.activities-page .register-picker-name{display:grid;gap:4px;line-height:1.4}.activities-page .register-picker-code{display:block;font-size:12px}.activities-page .register-picker-taken{font-size:12px;white-space:nowrap}.activities-page .register-selected{display:flex;flex-direction:column;gap:8px;min-width:0}.activities-page .register-selected-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.activities-page .register-selected-head h4{margin:0}.activities-page .register-selected-empty,.activities-page .register-selected-table{margin-top:0}.activities-page .register-cap-alert{margin:0;font-size:13px;color:var(--danger-text)}.activities-page .register-footer{flex-wrap:wrap;align-items:center;gap:12px}.activities-page .register-footer-summary{font-size:13px;margin-right:auto}.activities-page .register-footer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media (max-width:768px){.activities-page .register-layout{grid-template-columns:1fr}.activities-page .register-picker-list>.register-picker-row{min-width:0}.activities-page .register-footer{flex-direction:column;align-items:stretch}.activities-page .register-footer-summary{margin-right:0}.activities-page .register-footer-actions{flex-direction:column-reverse;align-items:stretch}.activities-page .register-footer-actions>button{width:100%;min-height:44px}.activities-page .text-button{min-height:44px;padding:8px 10px}.activities-page .metric-card strong{font-size:32px}.activities-page .dashboard-topbar h1{font-size:21px}}.assignments-teacher-lookup{font-size:.8125rem;line-height:1.5}.assignments-teacher-lookup p{margin:0}.assignments-teacher-lookup .secondary-button{font-size:.8125rem}.assignments-teacher-lookup-note{color:var(--text-muted)}.assignments-teacher-lookup-error{color:var(--danger-text)}.documents-title-cell{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.hover\:border-\[var\(--input-border\)\]:hover{border-color:var(--input-border)}.hover\:bg-\[var\(--amber-dim\)\]:hover{background-color:var(--amber-dim)}.hover\:bg-\[var\(--inset\)\]:hover{background-color:var(--inset)}.hover\:bg-\[var\(--primary-dim\)\]:hover{background-color:var(--primary-dim)}.hover\:bg-\[var\(--primary-hover\)\]:hover{background-color:var(--primary-hover)}.hover\:bg-\[var\(--surface-dim\)\]:hover{background-color:var(--surface-dim)}.hover\:bg-\[var\(--surface-dim-hover\)\]:hover{background-color:var(--surface-dim-hover)}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.hover\:bg-amber-500\/25:hover{background-color:rgba(245,158,11,.25)}.hover\:bg-amber-700:hover{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.hover\:bg-rose-100:hover{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.hover\:bg-rose-700:hover{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.hover\:bg-teal-100:hover{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:text-\[var\(--primary-text\)\]:hover{color:var(--primary-text)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-\[var\(--primary\)\]:focus{--tw-ring-color:var(--primary)}.focus\:ring-amber-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.focus\:ring-rose-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(251 113 133/var(--tw-ring-opacity,1))}.focus\:ring-rose-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity,1))}.active\:bg-emerald-700:active{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:bg-\[var\(--inset\)\]{background-color:var(--inset)}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:w-32{width:8rem}.sm\:w-36{width:9rem}.sm\:w-44{width:11rem}.sm\:w-56{width:14rem}.sm\:w-auto{width:auto}.sm\:min-w-\[210px\]{min-width:210px}.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\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:gap-1\.5{gap:.375rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:border-l{border-left-width:1px}.sm\:border-t-0{border-top-width:0}.sm\:p-6{padding:1.5rem}.sm\:pl-3{padding-left:.75rem}.sm\:pt-0{padding-top:0}.sm\:text-right{text-align:right}.sm\:text-\[11px\]{font-size:11px}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:w-48{width:12rem}.lg\:w-64{width:16rem}.lg\:w-auto{width:auto}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:gap-4{gap:1rem}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}}