*,:before,:after,::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:#73737380;--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: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e5e5}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-jetbrains-mono), monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#a3a3a3}textarea::-moz-placeholder{opacity:1;color:#a3a3a3}input::placeholder,textarea::placeholder{opacity:1;color:#a3a3a3}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.app-layout :where(h1){font-size:1.5rem;font-weight:650;line-height:1.3}.app-layout :where(h2){font-size:1.125rem;font-weight:600;line-height:1.4}.app-layout :where(h3){font-size:1rem;font-weight:600;line-height:1.4}.app-layout :where(h4,h5,h6){font-size:.875rem;font-weight:600;line-height:1.45}@media (max-width:767px){.app-layout :where(h1){font-size:1.375rem}}.\!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}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.right-2{right:.5rem}.top-0{top:0}.top-2{top:.5rem}.z-10{z-index:10}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.\!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}.aspect-video{aspect-ratio:16/9}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[65vh\]{height:65vh}.h-auto{height:auto}.h-full{height:100%}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[480px\]{max-height:480px}.max-h-\[50dvh\]{max-height:50dvh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-80{min-height:20rem}.min-h-\[104px\]{min-height:104px}.min-h-\[112px\]{min-height:112px}.min-h-\[32px\]{min-height:32px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-screen{min-height:100vh}.w-11{width:2.75rem}.w-12{width:3rem}.w-20{width:5rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-11{min-width:2.75rem}.min-w-32{min-width:8rem}.min-w-40{min-width:10rem}.min-w-48{min-width:12rem}.min-w-\[44px\]{min-width:44px}.min-w-\[640px\]{min-width:640px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-80{max-width:20rem}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.basis-32{flex-basis:8rem}.border-collapse{border-collapse:collapse}.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 spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[44px_minmax\(0\,1fr\)\]{grid-template-columns:44px minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.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-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-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-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-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)}.divide-neutral-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(245 245 245/var(--tw-divide-opacity,1))}.divide-neutral-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 229 229/var(--tw-divide-opacity,1))}.self-start{align-self:flex-start}.self-center{align-self:center}.justify-self-start{justify-self:start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[\#ffd0e5\]{--tw-border-opacity:1;border-color:rgb(255 208 229/var(--tw-border-opacity,1))}.border-\[var\(--accent-dark\)\]{border-color:var(--accent-dark)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-light\)\]{border-color:var(--border-light)}.border-\[var\(--danger\)\]{border-color:var(--danger)}.border-accent{--tw-border-opacity:1;border-color:rgb(255 62 155/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}.border-gray-200,.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.border-neutral-300{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}.border-neutral-400{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity,1))}.bg-\[\#fff4f8\]{--tw-bg-opacity:1;background-color:rgb(255 244 248/var(--tw-bg-opacity,1))}.bg-\[var\(--accent-light\)\]{background-color:var(--accent-light)}.bg-\[var\(--bg-primary\)\]{background-color:var(--bg-primary)}.bg-\[var\(--bg-secondary\)\]{background-color:var(--bg-secondary)}.bg-\[var\(--bg-tertiary\)\]{background-color:var(--bg-tertiary)}.bg-\[var\(--danger-light\)\]{background-color:var(--danger-light)}.bg-accent-dark{--tw-bg-opacity:1;background-color:rgb(197 28 113/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-gray-50,.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-gray-50{--tw-gradient-to:#fafafa var(--tw-gradient-to-position)}.fill-fuchsia-100{fill:#ffe0ef}.stroke-fuchsia-700{stroke:#a51d62}.object-contain{-o-object-fit:contain;object-fit:contain}.\!p-3{padding:.75rem!important}.p-0{padding:0}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.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-3{padding-left:.75rem;padding-right:.75rem}.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}.px-8{padding-left:2rem;padding-right:2rem}.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-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.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-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.\!normal-case{text-transform:none!important}.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-normal{letter-spacing:0!important}.text-\[\#8a174b\]{--tw-text-opacity:1;color:rgb(138 23 75/var(--tw-text-opacity,1))}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--danger\)\]{color:var(--danger)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-accent-dark{--tw-text-opacity:1;color:rgb(197 28 113/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.text-danger{--tw-text-opacity:1;color:rgb(165 29 98/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(165 29 98/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.accent-\[var\(--accent-dark\)\]{accent-color:var(--accent-dark)}.accent-fuchsia-700{accent-color:#a51d62}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.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);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-fuchsia-700{--tw-ring-opacity:1;--tw-ring-color:rgb(165 29 98/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter!important;transition-duration:.15s!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--bg-primary:#f7f7f7;--bg-secondary:#fff;--bg-tertiary:#f0f0f0;--surface-primary:#fff;--surface-secondary:#fff;--bg-glass:#ffffffb8;--bg-glass-strong:#ffffffe0;--bg-sidebar:#fff;--bg-sidebar-hover:#8080800f;--bg-sidebar-active:#8080801a;--accent:#ff3e9b;--accent-light:#ff3d8b14;--accent-lighter:#ff3d8b0a;--accent-dark:#c51c71;--accent-gradient:linear-gradient(135deg, #ff3e9b 0%, #ff5ca8 100%);--accent-gradient-soft:linear-gradient(135deg, #ff3d8b0f 0%, #ff70a908 100%);--success:#535353;--success-light:#f4f4f4;--warning:#535353;--warning-light:#f4f4f4;--danger:#a51d62;--danger-light:#fdf2f8;--info:#535353;--info-light:#f4f4f4;--text-primary:#1a1a1a;--text-secondary:#636363;--text-tertiary:#727272;--text-inverse:#fafafa;--text-accent:#ff3e9b;--text-sidebar:#636363;--text-sidebar-active:#1a1a1a;--border:#d1d1d199;--border-light:#e6e6e680;--shadow-xs:0 1px 2px #b3b3b30f;--shadow-sm:0 2px 8px #b3b3b314;--shadow-md:0 4px 16px #b3b3b31a;--shadow-lg:0 8px 32px #b3b3b31f;--shadow-xl:0 16px 48px #b3b3b324;--shadow-accent:0 4px 20px #ff3d8b33;--shadow-accent-lg:0 8px 32px #ff3d8b4d;--font-display:var(--font-outfit), "Outfit", sans-serif;--font-body:var(--font-inter), "Inter", sans-serif;--font-mono:var(--font-jetbrains-mono), "JetBrains Mono", monospace;--sidebar-width:280px;--sidebar-collapsed:72px;--header-height:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--grid-2:repeat(auto-fit, minmax(min(100%, max(200px, calc((100% - 1.5rem) / 2))), 1fr));--grid-3:repeat(auto-fit, minmax(min(100%, max(160px, calc((100% - 2.5rem) / 3))), 1fr));--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--accent-dark)}:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}::selection{background:var(--accent-light);color:var(--text-primary)}progress::-webkit-progress-value{background:var(--accent-dark)}progress::-moz-progress-bar{background:var(--accent-dark)}meter::-webkit-meter-optimum-value{background:var(--accent-dark)}meter::-webkit-meter-suboptimum-value{background:var(--accent-dark)}meter::-webkit-meter-even-less-good-value{background:var(--accent-dark)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700;line-height:1.2}h1{font-size:2.5rem;font-weight:800}h2{font-size:1.875rem;font-weight:700}h3{font-size:1.375rem;font-weight:600}h4{font-size:1.125rem;font-weight:600}a{color:var(--text-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-dark)}code,pre{font-family:var(--font-mono);font-size:.875rem}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px)saturate(1.8);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.glass-strong{background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(32px)saturate(2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px)saturate(1.8);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base);padding:1.5rem}:is(a,button).glass-card:hover{border-color:#b3b3b3}.app-layout{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left var(--transition-base);flex-direction:column;flex:1;display:flex}.page-content{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:2rem}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;transition:transform .25s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar-logo{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;padding:1.25rem 1.5rem;display:flex}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#d1d1d166 transparent;flex:1;padding:.75rem;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#d1d1d166;border-radius:4px}.nav-section{margin-bottom:1.5rem}.nav-section-title{color:var(--text-tertiary);margin-bottom:.5rem;padding:0 .75rem;font-size:.75rem;font-weight:600}.nav-item{border-radius:var(--radius-md);color:var(--text-sidebar);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-item:hover{background:var(--bg-sidebar-hover);color:var(--text-sidebar-active)}.nav-item.active{background:var(--bg-sidebar-active);color:var(--text-sidebar-active)}.nav-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:1rem;display:flex}.nav-item-badge{background:var(--accent-dark);color:#fff;border-radius:var(--radius-full);text-align:center;min-width:1.25rem;margin-left:auto;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.nav-item-ai{border-radius:var(--radius-full);color:var(--text-secondary);background:#8080801a;margin-left:auto;padding:.125rem .375rem;font-size:.75rem;font-weight:600}.header{height:var(--header-height);background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(20px)saturate(1.8);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:1rem;display:flex}.header-breadcrumb{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.header-breadcrumb span.current{color:var(--text-primary);font-weight:600}.header-right{align-items:center;gap:1rem;display:flex}.header-search{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-full);min-width:280px;transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.header-search input{font-family:var(--font-body);color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-size:.8125rem}.header-search input::placeholder{color:var(--text-tertiary)}.header-icon-btn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-secondary);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);color:var(--text-secondary);justify-content:center;align-items:center;font-size:1rem;display:flex;position:relative}.header-icon-btn:hover{color:var(--text-primary);box-shadow:var(--shadow-sm);border-color:#b3b3b3}.header-icon-btn .notification-dot{background:var(--accent);border:2px solid var(--bg-secondary);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.header-avatar{border-radius:var(--radius-full);background:var(--accent-dark);color:#fff;cursor:pointer;width:36px;height:36px;transition:box-shadow var(--transition-fast);justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;display:flex}.header-avatar:hover{box-shadow:var(--shadow-accent)}.page-header{margin-bottom:1.5rem}.page-header h1{color:var(--text-primary);font-size:1.75rem}.page-header p{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.kpi-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-base);padding:1.5rem;position:relative;overflow:hidden}:is(a,button).kpi-card{cursor:pointer;text-align:left;font:inherit;color:inherit;text-decoration:none}:is(a,button).kpi-card:hover{border-color:#b3b3b3}.kpi-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.kpi-card-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;display:flex}.kpi-card-icon.accent{background:var(--accent-light);color:var(--accent)}.kpi-card-icon.success,.kpi-card-icon.info,.kpi-card-icon.warning{color:var(--text-secondary);background:#80808014}.kpi-card-trend{border-radius:var(--radius-full);align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:flex}.kpi-card-trend.up{color:var(--text-secondary);background:#80808014}.kpi-card-trend.down{color:var(--accent-dark);background:var(--accent-light)}.kpi-card-value{font-family:var(--font-body);color:var(--text-primary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-bottom:.25rem;font-size:1.5rem;font-weight:650;line-height:1.35}.kpi-card-label{color:var(--text-secondary);font-size:.8125rem;font-weight:400}.data-table-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overscroll-behavior-x:contain;overflow:auto hidden}.data-table-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.data-table-header h3{font-size:1rem}.data-table-actions{align-items:center;gap:.75rem;display:flex}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.data-table th{text-align:left;color:var(--text-secondary);background:var(--bg-primary);border-bottom:1px solid var(--border);white-space:nowrap;padding:.75rem 1rem;font-size:.75rem;font-weight:600;line-height:1.5}.data-table td{color:var(--text-primary);border-bottom:1px solid var(--border-light);vertical-align:middle;padding:.75rem 1rem;font-size:.875rem;line-height:1.5}.data-table tbody tr:nth-child(2n) td{background:var(--bg-primary)}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--bg-tertiary)}.guardian-page{container-type:inline-size}.guardian-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.guardian-toolbar>input{flex:240px;width:100%;min-width:0;min-height:44px;font-size:1rem}.guardian-toolbar>button{white-space:nowrap}.guardian-directory{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.guardian-directory h2{font-size:1rem;font-weight:600}.guardian-directory h2 span{color:var(--text-secondary);font-weight:400}.guardian-table{border-collapse:collapse;width:100%;font-size:.875rem;line-height:1.5;display:block}.guardian-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.guardian-table tbody{display:block}.guardian-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr);gap:.875rem;padding:1rem;display:grid}.guardian-table tbody tr:last-child{border-bottom:0}.guardian-table tbody tr:nth-child(2n){background:var(--bg-primary)}.guardian-table td{vertical-align:middle;min-width:0;padding:0;display:block}.guardian-identity{align-items:center;gap:.75rem;display:flex}.guardian-identity>div{min-width:0}.guardian-name{overflow-wrap:anywhere;font-size:1rem;font-weight:650;display:block}.guardian-secondary{color:var(--text-secondary);font-size:.75rem;display:block}.guardian-id,.guardian-phone{white-space:nowrap}.guardian-cell-label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.guardian-students ul{overflow-wrap:anywhere;gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.guardian-phone,.guardian-email{font-variant-numeric:tabular-nums;display:block}.guardian-email{color:var(--text-secondary);overflow-wrap:anywhere;margin-top:.25rem;font-size:.875rem}.guardian-permissions>div{flex-wrap:wrap;gap:.25rem .75rem;font-size:.75rem;display:flex}.guardian-permissions>div>span{white-space:nowrap}.guardian-actions{flex-wrap:wrap;gap:.25rem;display:flex}.guardian-actions .btn{white-space:nowrap;min-height:44px;padding:.5rem .625rem;font-size:.75rem}.guardian-detail-info{overflow-wrap:anywhere;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:.5rem;margin-bottom:1.25rem;display:grid}@container (min-width:640px){.guardian-table tbody tr{-moz-column-gap:2rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2rem;padding:1rem 1.25rem}.guardian-contact{grid-area:1/2}.guardian-students{grid-row:2/4}.guardian-permissions{grid-area:2/2}.guardian-actions-cell{grid-area:3/2}}@container (min-width:800px){.guardian-table tbody tr{-moz-column-gap:1rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);column-gap:1rem}.guardian-students{grid-area:1/2}.guardian-contact{grid-area:1/3}.guardian-permissions{grid-area:2/1}.guardian-actions-cell{grid-area:2/2/auto/-1;justify-self:end}}@container (min-width:1100px){.guardian-table{font-size:.8125rem;display:table}.guardian-table thead{clip-path:none;white-space:normal;width:auto;height:auto;display:table-header-group;position:static;overflow:visible}.guardian-table tbody{display:table-row-group}.guardian-table tbody tr{display:table-row}.guardian-table th{text-align:left;color:var(--text-secondary);background:var(--bg-primary);border-bottom:1px solid var(--border);white-space:nowrap;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.guardian-table td{padding:.875rem 1rem;display:table-cell}.guardian-identity-cell{min-width:240px}.guardian-students{min-width:200px}.guardian-contact{min-width:285px}.guardian-permissions{min-width:120px}.guardian-actions-cell{min-width:210px}.guardian-name,.guardian-students li,.guardian-email{white-space:nowrap}.guardian-name{font-size:.875rem}.guardian-email{font-size:.75rem}.guardian-permissions>div{display:grid}.guardian-cell-label{display:none}.guardian-actions{flex-wrap:nowrap}}.btn{border-radius:var(--radius-md);min-height:40px;font-family:var(--font-body);letter-spacing:normal;text-transform:none;cursor:pointer;transition:all var(--transition-fast);border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.data-table .btn,.btn.btn-compact{min-height:32px;padding:.25rem .625rem;font-size:.8125rem}@media (max-width:1024px),(pointer:coarse){.btn{min-height:44px}.data-table .btn,.btn.btn-compact{min-width:44px;min-height:44px}}.btn-primary{background:var(--accent-dark);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-accent-lg);background:#a51d62;transform:translateY(-1px)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{color:var(--text-primary);box-shadow:var(--shadow-sm);border-color:#b3b3b3}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:#8080800f}.btn-ai{background:var(--accent-dark);color:#fff;box-shadow:var(--shadow-accent)}.btn-ai:hover:not(:disabled){box-shadow:var(--shadow-accent-lg);background:#a51d62}.ai-badge{border-radius:var(--radius-full);background:var(--accent-dark);color:#fff;align-items:center;gap:.35rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.ai-badge:before{content:"✦";font-size:.5rem}.ai-pulse{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-info{background:var(--info-light);color:var(--info)}.badge-accent{background:var(--accent-light);color:var(--accent-dark)}.input{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;font-family:var(--font-body);letter-spacing:normal;text-transform:none;min-height:40px;color:var(--text-primary);background:var(--bg-secondary);transition:all var(--transition-fast);outline:none;padding:.625rem 1rem;font-size:.875rem;font-weight:400;line-height:1.5}.input:focus{border-color:var(--accent-dark);box-shadow:none}.input::placeholder{color:var(--text-tertiary)}.label{color:var(--text-secondary);text-transform:none;letter-spacing:normal;margin-bottom:.35rem;font-size:.75rem;font-weight:600;display:block}@media (max-width:767px),(pointer:coarse){.input{min-height:44px;font-size:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.module-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.module-toolbar-left,.module-toolbar-right{align-items:center;gap:.75rem;display:flex}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.chart-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.chart-card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.chart-card-header h4{font-size:1rem;font-weight:600}.chart-placeholder{background:var(--bg-primary);border-radius:var(--radius-md);height:200px;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:.8125rem;display:flex}@media (max-width:1024px){.sidebar{z-index:1000;box-shadow:var(--shadow-xl);transition:transform .25s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop.open{display:block!important}.sidebar-toggle-mobile{display:flex!important}.main-content{margin-left:0}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.charts-grid{grid-template-columns:1fr}.page-content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}@media (max-width:640px){.page-content{padding:1rem;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.header{padding:0 1rem}.header-search{min-width:unset;display:none}.kpi-grid{grid-template-columns:1fr 1fr;gap:.625rem}.kpi-card-value{font-size:1.5rem}.kpi-card-label{font-size:.6875rem}}*{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overscroll-behavior-y:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:767px){.header{height:var(--header-height);padding:0 .75rem}.module-page{padding:1rem}.kpi-grid{grid-template-columns:1fr 1fr;gap:.625rem}.kpi-card{padding:1rem}.kpi-card-value{font-size:1.5rem}.kpi-card-label{font-size:.6875rem}.data-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.btn{min-height:44px;padding:.625rem 1.25rem}.modal-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:90vh;margin:auto 0 0}.glass-card{padding:1rem}.data-table{font-size:.8125rem}.data-table th{font-size:.6875rem}}@media (min-width:768px) and (max-width:1024px){.sidebar{width:240px}.main-content{margin-left:0}.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1025px){.sidebar{width:280px}.main-content{margin-left:280px}}.text-responsive{font-size:clamp(.875rem,2vw,1rem)}.padding-responsive{padding:clamp(.5rem,2vw,1.5rem)}@media (max-width:767px){.hide-mobile{display:none!important}}@media (min-width:768px){.hide-desktop{display:none!important}}.grid-responsive{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}@media (max-width:767px){button,a,[role=button]{min-width:44px;min-height:44px}}.tw-container{max-width:1280px;color:var(--text-primary);margin:0 auto;padding:1rem;font-size:16px;line-height:1.5}.tw-loading,.tw-error{background:var(--bg-secondary);border-radius:8px;align-items:center;gap:.5rem;margin:1rem;padding:1rem;display:flex}.tw-error{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger)}.tw-header{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}@media (min-width:768px){.tw-header{flex-direction:row;justify-content:space-between;align-items:center}}.tw-title{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:650;line-height:1.3}.tw-subtitle{color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}.tw-week-range{font-variant-numeric:tabular-nums}.tw-btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:0 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .12s,transform 60ms;display:inline-flex}.tw-btn:disabled{opacity:.6;cursor:not-allowed}.tw-btn-primary{background:var(--accent-dark);color:#fff}.tw-btn-primary:hover:not(:disabled){background:#a51d62}.tw-btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border)}.tw-btn-secondary:hover:not(:disabled){border-color:#b3b3b3}.tw-btn-block{width:100%;display:flex}.tw-btn-block+.tw-btn-block{margin-top:.5rem}.tw-day-tabs{scrollbar-width:none;gap:.25rem;margin:1rem 0;display:flex;overflow-x:auto}.tw-day-tabs::-webkit-scrollbar{display:none}.tw-day-tab{background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;min-width:48px;min-height:64px;font:inherit;color:inherit;border-radius:8px;flex-direction:column;flex:1 0 48px;justify-content:center;align-items:center;padding:.5rem;display:flex;position:relative}.tw-day-tab.is-today{background:var(--info-light);border-color:var(--info)}.tw-day-tab.is-active{background:var(--info);color:#fff;border-color:var(--info)}.tw-day-tab.is-active.is-today{background:#727272}.tw-day-letter{font-size:.8125rem;font-weight:600}.tw-day-num{font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:650}.tw-today-dot{background:var(--danger);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.tw-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:1024px){.tw-grid{grid-template-columns:1fr 320px}}.tw-day-mobile{display:block}.tw-day-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;display:none}@media (min-width:1024px){.tw-day-mobile{display:none}.tw-day-grid{display:grid}}.tw-desktop-detail{margin-top:1rem;display:none}.tw-desktop-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}@media (min-width:1024px){.tw-desktop-detail{display:block}}.tw-day-section{margin-bottom:1rem}.tw-day-title{align-items:baseline;gap:.5rem;margin:0 0 .5rem;font-size:1rem;font-weight:600;display:flex}.tw-day-date{color:var(--text-secondary);font-size:.8125rem;font-weight:400}.tw-empty{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;font-size:.875rem}.tw-stack{flex-direction:column;gap:.5rem;display:flex}.tw-class-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.tw-class-head{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:.25rem;padding:.875rem 1rem;display:flex}.tw-class-time{font-size:.875rem}.tw-class-time strong{font-variant-numeric:tabular-nums}.tw-class-sub{color:var(--text-secondary);font-size:.875rem}.tw-meta{color:var(--text-secondary);font-size:.8125rem}.tw-class-badges{gap:.25rem;margin-top:.25rem;display:flex}.tw-class-body{border-top:1px solid var(--border);padding:.5rem 1rem 1rem}.tw-class-block{margin-top:.75rem}.tw-class-block h3{color:var(--text-secondary);margin:0 0 .25rem;font-size:.75rem;font-weight:600}.tw-class-block p{margin:0;font-size:.875rem}.tw-class-exit{background:var(--info-light);border-radius:8px;padding:.5rem .75rem}.tw-exit-prompt{color:var(--text-secondary);font-style:italic}.tw-list{margin:0;padding-left:1.25rem;font-size:.875rem}.tw-list li{margin:.15rem 0}.tw-pill{background:var(--bg-tertiary);color:var(--text-primary);border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.tw-pill-warn{background:var(--danger-light);color:var(--danger)}.tw-day-col{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:.5rem;min-height:200px;padding:.5rem;display:flex}.tw-day-col.is-today{background:var(--info-light);border:1px solid var(--info)}.tw-day-col-head{color:var(--text-secondary);flex-direction:column;align-items:center;font-size:.8125rem;display:flex}.tw-day-col-head strong{color:var(--text-primary);font-size:1rem}.tw-day-col-body{flex-direction:column;gap:.35rem;display:flex}.tw-day-col-empty{min-height:60px}.tw-mini-card{text-align:left;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font:inherit;color:inherit;flex-direction:column;gap:.15rem;min-height:44px;padding:.375rem .5rem;display:flex}.tw-mini-card:hover{background:var(--bg-tertiary)}.tw-mini-time{font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600}.tw-mini-subject{font-size:.8125rem;font-weight:600}.tw-mini-section{color:var(--text-secondary);font-size:.75rem}.tw-sidebar{flex-direction:column;gap:1rem;display:flex}@media (max-width:1023px){.tw-sidebar{order:2}}.tw-stat-row{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.tw-stat{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;padding:.75rem}.tw-stat.is-warn{background:var(--danger-light);border-color:var(--danger)}.tw-stat-value{font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:650}.tw-stat-label{color:var(--text-secondary);font-size:.75rem}.tw-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem}.tw-card-warn{background:var(--warning-light);border-color:var(--warning)}.tw-card-title{margin:0 0 .5rem;font-size:.875rem;font-weight:600}.tw-md{white-space:pre-wrap;font-size:.875rem;line-height:1.5}.tw-risk-row{border-top:1px solid var(--border);padding:.5rem 0}.tw-risk-row:first-of-type{border-top:none}.tw-risk-head{justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.tw-risk-reasons{color:var(--text-secondary);margin:.25rem 0 0;padding-left:1.25rem;font-size:.8125rem}.tw-adapt-row{border-top:1px solid var(--border);padding:.5rem 0}.tw-adapt-row:first-of-type{border-top:none}.tw-adapt-head{font-size:.8125rem}.td-container{max-width:1280px;color:var(--text-primary);margin:0 auto;padding:1rem;font-size:16px;line-height:1.5}.td-header{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}@media (min-width:768px){.td-header{flex-direction:row;justify-content:space-between;align-items:center}}.td-title{margin:0;font-size:1.5rem;font-weight:650;line-height:1.3}.td-subtitle{color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}.td-date-input{font:inherit;border:1px solid var(--border);border-radius:8px;min-height:44px;padding:.5rem .75rem}.td-quicknav{gap:.5rem;display:flex}.td-quicknav .tw-btn{min-width:80px}.td-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:1024px){.td-grid{grid-template-columns:1fr 360px}}.td-timeline{flex-direction:column;gap:.75rem;display:flex}.td-empty{text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border-radius:12px;padding:2rem 1rem}.td-class-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;position:relative;overflow:hidden}.td-class-card.is-live{border-color:var(--danger);box-shadow:0 0 0 2px #91919126}.td-class-card.is-next{border-color:var(--info)}.td-class-head{background:var(--bg-secondary);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.875rem 1rem;display:flex}.td-class-time{font-variant-numeric:tabular-nums;min-width:110px;font-weight:600}.td-class-title{flex:1;font-weight:600}.td-class-sub{color:var(--text-secondary);font-size:.8125rem}.td-status-pill{border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.td-status-upcoming{color:var(--text-secondary);background:#8080801a}.td-status-live{background:var(--danger);color:#fff;animation:1.4s infinite td-pulse}.td-status-done{background:var(--success-light);color:var(--success)}@keyframes td-pulse{0%,to{opacity:1}50%{opacity:.6}}.td-countdown{color:var(--info);font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}.td-countdown.is-imminent{color:var(--danger)}.td-class-body{flex-direction:column;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.td-class-actions{flex-wrap:wrap;gap:.5rem;display:flex}.td-attendance{flex-wrap:wrap;gap:.5rem;font-size:.8125rem;display:flex}.td-risk-chip{background:var(--danger-light);color:var(--danger);border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.8125rem;font-weight:600;display:inline-flex}.td-section{margin-top:.5rem}.td-section h4{color:var(--text-secondary);margin:0 0 .25rem;font-size:.75rem}.td-section ul{margin:0;padding-left:1.25rem;font-size:.875rem}.td-section p{margin:0;font-size:.875rem}.td-exit{background:var(--info-light);border-radius:8px;margin-top:.5rem;padding:.5rem .75rem}.td-bitacora{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.td-bitacora h2{margin:0;font-size:1rem;font-weight:600}.td-textarea{width:100%;min-height:80px;font:inherit;border:1px solid var(--border);resize:vertical;border-radius:8px;padding:.5rem}.td-chips{flex-wrap:wrap;gap:.5rem;display:flex}.td-chip{background:var(--bg-tertiary);border:1px solid var(--border);cursor:pointer;min-height:36px;font-size:.8125rem;font:inherit;color:inherit;border-radius:999px;padding:.25rem .75rem}.td-chip.is-active{background:var(--info);color:#fff;border-color:var(--info)}.td-save-state{color:var(--text-secondary);font-size:.8125rem}.td-save-state.is-saved{color:var(--success)}.td-save-state.is-error{color:var(--danger)}@media (max-width:1023px){.td-bitacora{margin-top:1rem;position:sticky;bottom:12px;box-shadow:0 -2px 12px #00000014}}.kpi-card,.glass-card{transition:transform .2s,box-shadow .2s,border-color .2s}.btn:active{transform:scale(.97)}.nav-item{transition:background .15s;position:relative}.nav-item:after{content:"";background:var(--accent);width:0;height:2px;transition:width .2s,left .2s;position:absolute;bottom:0;left:50%}.nav-item.active:after{width:60%;left:20%}:is(input,select,textarea):not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden]):is(:focus,:focus-visible){border-color:var(--accent-dark)!important;box-shadow:none!important;outline:none!important}.header-search:focus-within{border-color:var(--accent-dark);box-shadow:none}.module-page{animation:.25s pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-secondary) 50%, var(--bg-tertiary) 75%);background-size:200% 100%;animation:1.5s infinite skeleton-shimmer}.badge{animation:.2s badgePop}@keyframes badgePop{0%{transform:scale(.8)}50%{transform:scale(1.05)}to{transform:scale(1)}}*,:before,:after{transition:background-color .2s,border-color .2s,color .15s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.safe-top{padding-top:env(safe-area-inset-top,0)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0)}.safe-left{padding-left:env(safe-area-inset-left,0)}.safe-right{padding-right:env(safe-area-inset-right,0)}.safe-pad{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.bottom-nav{display:none}@media (max-width:1024px){.bottom-nav{background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(20px)saturate(1.8);border-top:1px solid var(--border);height:64px;padding-bottom:env(safe-area-inset-bottom,0);z-index:1000;justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #b3b3b31a}.page-content{padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}}.bottom-nav-item{min-width:0;min-height:44px;color:var(--text-tertiary);transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:6px 2px 4px;font-size:.75rem;font-weight:600;text-decoration:none;display:flex;position:relative}.bottom-nav-item:hover{color:var(--text-secondary)}.bottom-nav-item.active{color:var(--accent-dark)}.bottom-nav-icon{border-radius:var(--radius-full);width:44px;height:28px;transition:background var(--transition-fast);justify-content:center;align-items:center;display:flex}.bottom-nav-icon{position:relative}.bottom-nav-badge{border-radius:var(--radius-full);background:var(--accent-dark);color:#fff;text-align:center;min-width:18px;height:18px;padding:0 4px;font-size:.75rem;font-weight:650;line-height:18px;position:absolute;top:-4px;right:2px}@media (min-width:768px){.bottom-nav-badge{display:none}}.bottom-nav-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.75rem;line-height:1;overflow:hidden}.bottom-sheet-root{z-index:1200;position:fixed;inset:0}.bottom-sheet-backdrop{-webkit-backdrop-filter:blur(4px);background:#1a1a1a80;animation:.25s bottomSheetBackdropIn;position:absolute;inset:0}@keyframes bottomSheetBackdropIn{0%{opacity:0}to{opacity:1}}.bottom-sheet{background:var(--bg-secondary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);max-height:90vh;padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;transition:transform .28s cubic-bezier(.4,0,.2,1);animation:.28s cubic-bezier(.4,0,.2,1) bottomSheetUp;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(0)}@keyframes bottomSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet-grab{cursor:grab;touch-action:none;justify-content:center;align-items:center;padding:10px 0 6px;display:flex}.bottom-sheet-grab:active{cursor:grabbing}.bottom-sheet-handle{border-radius:var(--radius-full);background:var(--border);width:40px;height:4px}.bottom-sheet-header{border-bottom:1px solid var(--border-light);touch-action:none;justify-content:space-between;align-items:center;gap:.75rem;padding:6px 20px 12px;display:flex}.bottom-sheet-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.bottom-sheet-close{background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;display:flex}.bottom-sheet-close:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.bottom-sheet-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;padding:16px 20px 20px;overflow-y:auto}@media (min-width:1025px){.bottom-sheet{border-radius:var(--radius-xl);width:100%;max-width:560px;animation:.25s bottomSheetDesktopIn;inset:50% auto auto 50%;transform:translate(-50%,-50%)}@keyframes bottomSheetDesktopIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.bottom-sheet-grab{display:none}}.fab{bottom:calc(80px + env(safe-area-inset-bottom,0));background:var(--accent-dark);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-accent-lg);z-index:900;-webkit-tap-highlight-color:transparent;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed}.fab-right{right:20px}.fab-left{left:20px}.fab:hover{box-shadow:var(--shadow-accent-lg);transform:scale(1.05)}.fab:active{transform:scale(.96)}.fab-labeled{border-radius:28px;gap:8px;width:auto;min-width:56px;padding:0 20px}.fab-icon{justify-content:center;align-items:center;display:flex}.fab-label{font-family:var(--font-body);white-space:nowrap;font-size:.875rem;font-weight:600}.fab:after{content:"";border-radius:inherit;pointer-events:none;animation:2.2s infinite fabPulse;position:absolute;inset:0;box-shadow:0 0 #ff3d8b66}@keyframes fabPulse{0%{box-shadow:0 0 #ff3d8b66}70%{box-shadow:0 0 0 16px #ff3d8b00}to{box-shadow:0 0 #ff3d8b00}}@media (min-width:1025px){.fab{display:none}}.toast-stack{top:calc(env(safe-area-inset-top,0) + 12px);z-index:2000;pointer-events:none;flex-direction:column;gap:8px;width:calc(100% - 24px);max-width:420px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(20px)saturate(1.8);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-family:var(--font-body);color:var(--text-primary);pointer-events:auto;touch-action:pan-y;will-change:transform, opacity;align-items:center;gap:10px;padding:12px 14px;font-size:.875rem;animation:.25s toastIn;display:flex}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.toast-icon{flex-shrink:0;display:flex}.toast-message{flex:1;line-height:1.4}.toast-close{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-full);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;display:flex}.toast-close:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.toast-info .toast-icon{color:var(--accent)}.toast-success .toast-icon{color:var(--success)}.toast-warning .toast-icon{color:var(--warning)}.toast-error .toast-icon{color:var(--danger)}@media (min-width:1025px){.toast-stack{width:360px;max-width:360px;top:16px;left:auto;right:16px;transform:none}}.modal-dialog{width:calc(100vw - 2rem);max-height:min(90dvh,960px);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);overscroll-behavior:contain;border-radius:16px;margin:auto;padding:0;box-shadow:0 20px 60px #00000040}.modal-dialog::backdrop{background:#00000073}.modal-dialog-header{z-index:1;background:var(--bg-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.modal-dialog-header h2{font-size:1.125rem;font-weight:600;line-height:1.4}.modal-dialog-body{padding:1.5rem}.modal-close{border:1px solid var(--border);background:var(--bg-secondary);min-width:44px;min-height:44px;color:var(--text-primary);cursor:pointer;border-radius:10px}.confirm-dialog{gap:1rem;display:grid}.confirm-dialog-message{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.875rem;line-height:1.6}.confirm-dialog-field{gap:.375rem;display:grid}.confirm-dialog-field label{font-size:.875rem;font-weight:500}.confirm-dialog-field textarea{resize:vertical}.confirm-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:767px){.modal-dialog{width:100%;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:20px 20px 0 0;margin:auto 0 0;max-width:100%!important}.confirm-dialog-actions{flex-direction:column-reverse}.confirm-dialog-actions .btn{width:100%;min-height:48px}.modal-dialog-body{padding:1rem}input,select,textarea,input.input,select.input,textarea.input{min-height:44px;font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.marketing-menu>summary{cursor:pointer;min-height:44px;padding:12px;font-weight:600}.marketing-links{align-items:center;gap:1.25rem;display:flex}.marketing-links a{align-items:center;min-height:44px;display:inline-flex}.marketing-comparison{border:1px solid #e8e8e8;border-radius:12px;overflow-x:auto}.marketing-comparison table{border-collapse:collapse;width:100%;min-width:600px;font-size:.875rem;line-height:1.6}.marketing-comparison th,.marketing-comparison td{text-align:left;vertical-align:top;border-bottom:1px solid #e8e8e8;padding:1rem}.marketing-comparison thead{background:#f7f7f7}.marketing-comparison a{color:#b41464;text-underline-offset:3px;text-decoration:underline}.marketing-nav~main section[id]{scroll-margin-top:100px}@media (min-width:1050px){.marketing-menu>summary{display:none}.marketing-menu::details-content{content-visibility:visible}.marketing-menu:not([open])>.marketing-links{display:flex}}@media (max-width:1049px){.marketing-menu[open]{width:100%}.marketing-menu[open]>summary{text-align:right}.marketing-links{flex-wrap:wrap;gap:.5rem 1.25rem;padding:.5rem 0}.marketing-menu:not([open])>.marketing-links{display:none}}.main-content{min-width:0}.sidebar{height:100dvh}.sidebar-logo{justify-content:space-between;gap:.5rem;padding:1rem}.sidebar-search{border-bottom:1px solid var(--border);padding:.875rem 1rem}.sidebar-search label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.sidebar-search input{border:1px solid var(--border);width:100%;min-height:44px;font:inherit;background:var(--bg-primary);color:var(--text-primary);border-radius:8px;padding:.65rem .75rem;font-size:.875rem}.sidebar-nav{overscroll-behavior:contain;min-height:0}.nav-section{margin:.5rem 0}.nav-section-title{text-transform:none;letter-spacing:.01em;min-height:44px;color:var(--text-secondary);cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.75rem;font-size:.75rem;list-style:none;display:flex}.nav-section-title::-webkit-details-marker{display:none}.nav-section>summary svg{flex-shrink:0;transform:rotate(-90deg)}.nav-section[open]>summary svg{transform:rotate(0)}.nav-item{min-height:44px;font-size:.875rem;line-height:1.4}.nav-item:after{display:none}.sidebar-empty{color:var(--text-secondary);padding:.75rem;font-size:.875rem;line-height:1.5}.sidebar-footer{border-top:1px solid var(--border);padding:.5rem .75rem max(.5rem, env(safe-area-inset-bottom));flex-shrink:0}.sidebar-drawer{background:var(--bg-sidebar);width:min(320px,100vw - 32px);max-width:none;height:100dvh;max-height:100dvh;color:var(--text-primary);border:0;margin:0;padding:0;position:fixed;inset:0 auto 0 0}.sidebar-drawer::backdrop{background:#17171759}.sidebar-drawer-content{height:100%;padding-top:env(safe-area-inset-top,0px);flex-direction:column;display:flex}.shell-icon-button{border:1px solid var(--border);background:var(--bg-primary);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.sidebar-toggle-mobile{display:none}.header{background:var(--bg-primary);-webkit-backdrop-filter:none;gap:1rem}.header-left{gap:.75rem;min-width:0}.header-breadcrumb{min-width:0}.header-breadcrumb .current{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header-right{flex-shrink:0;gap:.5rem}.account-menu{position:relative}.account-menu>summary{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;padding:.25rem;font-size:.875rem;font-weight:600;list-style:none;display:flex}.account-menu>summary::-webkit-details-marker{display:none}.live-class-badge{border:1px solid var(--border);background:var(--bg-secondary);min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.live-class-badge:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}.live-class-badge-dot{background:var(--accent-dark);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite liveClassPulse}.live-class-badge[data-paused] .live-class-badge-dot{background:var(--text-secondary);animation:none}@keyframes liveClassPulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.live-class-badge-dot{animation:none}}.account-avatar{background:var(--accent-light);width:36px;height:36px;color:var(--text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.account-panel{border:1px solid var(--border);background:var(--bg-primary);width:min(300px,100vw - 2rem);box-shadow:var(--shadow-lg);z-index:1100;border-radius:12px;padding:.5rem;position:absolute;top:calc(100% + .5rem);right:0}.account-identity{border-bottom:1px solid var(--border);overflow-wrap:anywhere;color:var(--text-secondary);gap:.3rem;margin-bottom:.25rem;padding:.75rem;font-size:.8125rem;display:grid}.account-identity strong{color:var(--text-primary)}.account-panel>a,.account-panel>button,.account-theme{width:100%;min-height:44px;color:var(--text-primary);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem;font-size:.875rem;text-decoration:none;display:flex}.account-panel>a:hover,.account-panel>button:hover{background:var(--bg-sidebar-hover)}.account-panel .account-logout{color:var(--danger);border-top:1px solid var(--border);cursor:pointer;border-radius:0}.account-panel p[role=alert]{color:var(--danger);padding:.75rem;font-size:.875rem}.bottom-nav{box-shadow:none}button.bottom-nav-item{cursor:pointer;background:0 0;border:0;font-family:inherit}@media (max-width:1024px){.sidebar-desktop{display:none}.sidebar-toggle-mobile{display:inline-flex}.bottom-nav{height:calc(64px + env(safe-area-inset-bottom,0px));background:var(--bg-primary);-webkit-backdrop-filter:none;backdrop-filter:none}.header{padding-top:env(safe-area-inset-top,0px);height:calc(var(--header-height) + env(safe-area-inset-top,0px))}.page-content .module-page{padding:0}}@media (max-width:640px){.header{gap:.5rem}.header-breadcrumb,.account-summary-name,.account-menu>summary>.account-chevron{display:none}.header-right{gap:.375rem}.page-header h1{overflow-wrap:anywhere;font-size:clamp(1.375rem,5.5vw,1.875rem);line-height:1.2}.page-header p{line-height:1.6}.sidebar-search input{font-size:16px}}.app-tabs{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;display:flex}.app-tabs button{min-width:0;min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:.6rem .5rem;font-size:.875rem;font-weight:600}.app-tabs button[aria-selected=true]{color:var(--text-primary);background:var(--bg-primary);box-shadow:0 1px 3px #0000001a}.app-section{margin:0 0 1.5rem}.app-section h2{margin:0 0 .75rem;font-size:1rem;line-height:1.4}.app-section-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.app-section-heading h2{margin-bottom:0}.text-action{min-height:44px;color:var(--text-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:.25rem;padding:.25rem 0;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.app-list{border:1px solid var(--border);background:var(--bg-secondary);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.app-list>li+li{border-top:1px solid var(--border)}.app-list>li>a,.app-list>li>button{width:100%;min-height:56px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;font-size:.875rem;text-decoration:none;display:flex}.app-list>li>a:hover,.app-list>li>button:hover{background:var(--bg-sidebar-hover)}.app-list>li>.list-detail{padding:1rem}.list-detail{overflow-wrap:anywhere;gap:.25rem;min-width:0;font-size:.875rem;display:grid}.list-detail strong{font-weight:600}.list-detail p,.list-detail span{color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.list-count{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:.75rem;display:flex}.section-note{color:var(--text-secondary);margin:.5rem 0 .875rem;font-size:.8125rem;line-height:1.6}.app-empty{border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-secondary);border-radius:12px;margin:0;padding:1rem;font-size:.875rem;line-height:1.6}.messages-safeguarding{border-bottom:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-secondary);margin:0;padding:.5rem .875rem;font-size:.75rem;line-height:1.5}.messages-context{border-bottom:1px solid var(--border-light);background:var(--bg-primary);flex-wrap:wrap;gap:.5rem;padding:.375rem .875rem;display:flex}.messages-context .badge{white-space:normal;overflow-wrap:anywhere;text-decoration:none}.new-conv-context{border-bottom:1px solid var(--border-light);gap:.5rem;padding:.75rem 1rem;display:grid}.new-conv-context-title{overflow-wrap:anywhere;font-size:.875rem;font-weight:650}.new-conv-context .btn{white-space:normal;text-align:left;overflow-wrap:anywhere;justify-content:flex-start;min-height:44px}.supervision-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:1.5rem;display:grid}.supervision-layout .app-list a[aria-current=true]{background:var(--bg-sidebar-hover)}.supervision-layout .app-list a[aria-current=true] strong{color:var(--accent-dark)}.supervision-thread{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.supervision-thread li{border:1px solid var(--border);background:var(--bg-secondary);overflow-wrap:anywhere;border-radius:12px;padding:.75rem 1rem}.supervision-thread p{white-space:pre-wrap;margin:.25rem 0 0;font-size:.875rem;line-height:1.6}.supervision-meta{color:var(--text-secondary);font-size:.75rem}.supervision-attachment{color:var(--text-secondary)}@media (max-width:1023px){.supervision-layout{grid-template-columns:minmax(0,1fr)}}.recognitions-message{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);border-radius:12px;margin:0 0 1rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.6}.recognitions-filter select{min-width:12rem;max-width:100%}.recognition-row{align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.recognition-row .list-detail{flex:1}.recognition-row .list-detail strong{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.recognition-row .list-detail p{color:var(--text-primary)}.recognition-icon{background:var(--bg-tertiary);width:40px;height:40px;color:var(--accent-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.recognition-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.recognition-collection{grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.recognition-collection li{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);border-radius:12px;align-content:start;justify-items:start;gap:.375rem;padding:1rem;font-size:.8125rem;line-height:1.5;display:grid}.recognition-collection li strong{color:var(--text-primary);font-size:.875rem}.recognition-collection li:not(.is-earned) .recognition-icon{color:var(--text-tertiary)}.recognition-form{gap:1rem;display:grid}.recognition-field{border:0;gap:.375rem;min-width:0;margin:0;padding:0;display:grid}.recognition-field>label,.recognition-field>legend{margin-bottom:.125rem;font-size:.875rem;font-weight:500}.recognition-check{min-height:44px;color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.recognition-badge-picker{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:.5rem;display:grid}.recognition-badge-picker label{border:1px solid var(--border);background:var(--bg-secondary);cursor:pointer;border-radius:10px;align-items:flex-start;gap:.625rem;min-height:56px;padding:.625rem;display:flex;position:relative}.recognition-badge-picker label.is-selected strong{color:var(--accent-dark)}.recognition-badge-picker label.is-selected{border-color:var(--accent-dark)}.recognition-badge-picker input,.recognition-icon-picker input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.recognition-badge-picker label:focus-within,.recognition-icon-picker label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.recognition-badge-picker strong{font-size:.875rem;font-weight:600;display:block}.recognition-badge-picker small{color:var(--text-secondary);font-size:.75rem;line-height:1.4;display:block}.recognition-badge-picker .recognition-icon{width:32px;height:32px}.recognition-icon-picker{flex-wrap:wrap;gap:.5rem;display:flex}.recognition-icon-picker label{border:1px solid var(--border);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex;position:relative}.recognition-icon-picker label.is-selected{border-color:var(--accent-dark);color:var(--accent-dark)}.recognition-counter{color:var(--text-tertiary);justify-self:end;font-size:.75rem}.billing-kpis{margin-bottom:.75rem}.billing-filters{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0;display:flex}.billing-tabs{flex-wrap:wrap;gap:.25rem;display:flex}.billing-tabs a{border:1px solid var(--border);border-radius:var(--radius-full);min-height:44px;color:var(--text-secondary);align-items:center;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.billing-tabs a.is-active{border-color:var(--accent-dark);color:var(--accent-dark);background:var(--accent-light)}.billing-search{flex:240px}.billing-search .input{width:100%;min-height:44px}.billing-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.25rem;padding:1rem;display:flex}.billing-row>.list-detail{flex:280px}.billing-row .list-detail strong{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.ai-chat-layout{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media (min-width:900px){.ai-chat-layout{grid-template-columns:280px minmax(0,1fr)}}.ai-chat-suggestions .app-list>li>button{min-height:44px;font-size:.8125rem}.ai-chat-panel{flex-direction:column;gap:.75rem;min-width:0;display:flex}.ai-chat-messages{flex-direction:column;gap:.75rem;max-height:60vh;padding:.25rem;display:flex;overflow-y:auto}.ai-chat-message{border:1px solid var(--border);background:var(--bg-secondary);max-width:85%;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;margin:0;padding:.75rem 1rem;font-size:.875rem;line-height:1.6}.ai-chat-message.is-user{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;align-self:flex-end}.ai-chat-message.is-assistant{align-self:flex-start}.ai-chat-form{flex-wrap:wrap;gap:.5rem;display:flex}.ai-chat-form .input{flex:220px;min-width:0;min-height:44px}.ai-chat-case{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.ai-chat-case .btn,.ai-chat-choices .btn{min-height:44px}.ai-chat-choices{white-space:normal;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.ai-chat-choices .btn{text-align:left;font-size:.8125rem}.list-detail p.wellbeing-note{color:var(--text-primary);white-space:pre-line}.billing-amounts{min-width:8rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;justify-items:end;gap:.125rem;font-size:.8125rem;display:grid}.billing-amounts strong{color:var(--text-primary);font-size:.9375rem}.billing-pages{color:var(--text-secondary);grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-top:1rem;font-size:.8125rem;display:grid}.billing-pages>:last-child{justify-self:end}.billing-total{border:1px solid var(--border);background:var(--bg-secondary);font-variant-numeric:tabular-nums;border-radius:12px;margin:0;padding:.75rem 1rem;font-size:.875rem}.finance-month{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 1rem;display:flex}.finance-month .btn-compact{justify-content:center;min-width:44px;min-height:44px}.finance-month span[aria-disabled=true]{opacity:.45;cursor:default}.finance-month-current{text-align:center;min-width:10rem;font-size:1rem;font-weight:650;display:inline-block}.finance-month-current:first-letter{text-transform:uppercase}.finance-month-pick{flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto;display:flex}.finance-month-pick .input{width:auto;min-width:10rem;min-height:44px}.finance-downloads{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.finance-downloads .btn{min-height:44px}.integration-note ul{gap:.375rem;margin:.5rem 0;padding-left:1.25rem;display:grid}@media (max-width:480px){.finance-month-pick{width:100%;margin-left:0}.finance-month-pick .input{flex:10rem}}.invoice-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;max-width:820px;margin:0 auto 1rem;display:flex}.invoice-controls .btn{min-height:44px}p.invoice-controls{display:block}.invoice-document{border:1px solid var(--border);background:var(--bg-secondary);max-width:820px;color:var(--text-primary);border-radius:12px;margin:0 auto;padding:2rem;font-size:.875rem;line-height:1.5}.invoice-void{border:1px solid var(--border);background:var(--bg-primary);text-align:center;overflow-wrap:anywhere;border-radius:8px;margin:0 0 1rem;padding:.5rem .75rem;font-weight:650}.invoice-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding-bottom:1rem;display:flex}.invoice-school{flex:280px;align-items:flex-start;gap:1rem;min-width:0;display:flex}.invoice-school img{-o-object-fit:contain;object-fit:contain;flex-shrink:0;width:96px;height:72px}.invoice-school>div{overflow-wrap:anywhere;gap:.125rem;min-width:0;display:grid}.invoice-school strong{font-size:1rem}.invoice-school span{color:var(--text-secondary);font-size:.8125rem}.invoice-voucher{text-align:right;flex:0 260px;justify-items:end;gap:.125rem;display:grid}.invoice-voucher h2{margin:0 0 .25rem;font-size:1rem}.invoice-voucher p{color:var(--text-secondary);margin:0;font-size:.8125rem}.invoice-voucher strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.invoice-parties{gap:.375rem;margin:1rem 0;display:grid}.invoice-parties div{grid-template-columns:5.5rem minmax(0,1fr);gap:.5rem;display:grid}.invoice-parties dt{color:var(--text-secondary)}.invoice-parties dd{overflow-wrap:anywhere;margin:0}.invoice-lines{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.invoice-lines table{border-collapse:collapse;width:100%}.invoice-lines th,.invoice-lines td{border-bottom:1px solid var(--border);text-align:left;padding:.5rem .75rem}.invoice-lines tbody tr:last-child td{border-bottom:0}.invoice-lines th{background:var(--bg-primary);color:var(--text-secondary);font-size:.75rem;font-weight:650}.invoice-lines th:not(:first-child),.invoice-lines td:not(:first-child){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.invoice-lines td:first-child{overflow-wrap:anywhere}.invoice-totals{gap:.25rem;width:min(100%,320px);margin:1rem 0 0 auto;display:grid}.invoice-totals div{justify-content:space-between;gap:1rem;display:flex}.invoice-totals dt{color:var(--text-secondary)}.invoice-totals dd{font-variant-numeric:tabular-nums;margin:0}.invoice-totals .invoice-total{border-top:1px solid var(--border);padding-top:.25rem;font-weight:650}.invoice-totals .invoice-total dt{color:var(--text-primary)}.invoice-payments{margin-top:1.25rem}.invoice-payments h3{margin:0 0 .5rem;font-size:.875rem}.invoice-payments ul{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.invoice-payments li{color:var(--text-secondary);justify-content:space-between;gap:1rem;font-size:.8125rem;display:flex}.invoice-payments li strong{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width:600px){.invoice-document{padding:1rem}.invoice-voucher{text-align:left;justify-items:start}}@media print{@page{size:letter;margin:14mm}.invoice-page>:not(.invoice-document){display:none!important}body:has(.invoice-document)>:not(.app-layout){display:none!important}.app-layout:has(.invoice-document)>:not(.main-content){display:none!important}.main-content:has(.invoice-document)>:not(.page-content){display:none!important}:is(.app-layout:has(.invoice-document),.main-content:has(.invoice-document),.page-content:has(.invoice-document),.invoice-page){background:#fff!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;animation:none!important;display:block!important;transform:none!important}.invoice-document{color:#1a1a1a;background:#fff;border:0;border-radius:0;max-width:none;padding:0}.invoice-lines{overflow:visible}}.ncf-retired{margin-top:.75rem}.ncf-retired summary{cursor:pointer;min-height:44px;color:var(--text-secondary);align-items:center;font-size:.875rem;font-weight:500;display:inline-flex}.ncf-retired .app-list{margin-top:.5rem}@media (max-width:767px){.billing-amounts{justify-items:start}.billing-filters>.btn{width:100%}.billing-pages{grid-template-columns:1fr;justify-items:center}.billing-pages>:last-child{justify-self:center}}.qr-placeholder{background:var(--bg-primary);border-radius:4px;display:inline-block}.section-qr{border:1px solid var(--border);border-radius:4px}.ai-text{overflow-wrap:anywhere;gap:.5rem;display:grid}.ai-text p{margin:0}.ai-text ul,.ai-text ol{gap:.25rem;margin:0;padding-left:1.25rem;display:grid}.ai-text ul{list-style:outside}.ai-text ol{list-style:decimal}.ai-text hr{border:0;border-top:1px solid var(--border);width:100%;margin:.25rem 0}.ai-text-table{border:1px solid var(--border);border-radius:8px;max-width:100%;overflow-x:auto}.ai-text-table table{border-collapse:collapse;width:100%;font-size:.8125rem}.ai-text-table th,.ai-text-table td{border-top:1px solid var(--border);text-align:left;vertical-align:top;min-width:7rem;padding:.5rem .625rem}.ai-text-table thead th{background:var(--bg-primary);border-top:0;font-weight:600}.import-defaults{border:1px solid var(--border);background:var(--bg-secondary);border-radius:12px;min-width:0;margin:0;padding:1rem}.import-defaults legend{padding:0 .25rem;font-size:.875rem;font-weight:600}.import-defaults .section-note{margin-top:0}.import-defaults-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem 1rem;display:grid}.import-defaults-grid .label{gap:.25rem;margin:0;display:grid}.import-defaults-grid .input{min-height:44px}.appointments-kpis{margin-bottom:1.25rem}.appointments .billing-tabs button{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-secondary);min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;align-items:center;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;display:inline-flex}.appointments .billing-tabs button.is-active{border-color:var(--accent-dark);color:var(--accent-dark);background:var(--accent-light)}.appointments-status{width:auto;min-height:44px}.appointments-child{gap:.25rem;max-width:22rem;margin:0 0 1rem;display:grid}.appointments-child .input{min-height:44px}.integration-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.5rem;padding:1rem;display:flex}.integration-row>.list-detail{flex:260px}.integration-controls{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.integration-controls .form-error{flex-basis:100%;margin:0}.integration-controls .btn{min-height:44px}.integration-field{min-width:0;color:var(--text-secondary);gap:.25rem;font-size:.8125rem;font-weight:500;display:grid}.integration-field .input{min-height:44px}.integration-field select{max-width:18rem}.integration-note{border:1px solid var(--border);background:var(--bg-secondary);border-radius:12px;padding:1rem;font-size:.875rem;line-height:1.6}.integration-note ol{gap:.375rem;margin:.5rem 0 0;padding-left:1.25rem;display:grid}.integration-note code{overflow-wrap:anywhere;font-size:.8125rem}@media (max-width:767px){.integration-controls,.integration-field,.integration-field select,.integration-controls .btn{width:100%;max-width:none}}.learning-filters{flex-wrap:wrap;gap:.75rem 1rem;margin:1rem 0 1.25rem;display:flex}.learning-filters .label{flex:220px;gap:.25rem;min-width:0;max-width:22rem;margin:0;display:grid}.learning-filters .input{width:100%;min-height:44px}.learning-kpis{margin-bottom:1.25rem}.learning-gap{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:1rem;display:flex}.learning-gap>.list-detail{flex:260px}.learning-meter{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.75rem;font-size:.8125rem;display:flex}.learning-meter-track{border-radius:var(--radius-full);background:var(--bg-primary);width:10rem;height:8px;display:block;overflow:hidden}.learning-meter-fill{background:var(--accent-dark);height:100%;display:block}@media (max-width:767px){.learning-filters .label{max-width:none}.learning-meter{width:100%}.learning-meter-track{flex:1;width:auto}}.weekly-summary-child{gap:.25rem;max-width:22rem;margin:1rem 0 0;display:grid}.weekly-summary-child .input{min-height:44px}.weekly-summary .recognitions-message,.weekly-summary .form-error{margin:1rem 0 0}.weekly-summary .app-section:first-of-type,.weekly-summary>.app-empty{margin-top:1.25rem}.weekly-summary-kpis{margin-bottom:1rem}.weekly-summary-text{gap:.75rem;display:grid}.weekly-summary-text p{margin:0}.weekly-summary-text .section-note{margin:.25rem 0 0}.recognitions-filter{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 1.25rem;font-size:.875rem;font-weight:500;display:flex}.challenge-status-muted{background:var(--bg-tertiary);color:var(--text-secondary)}.challenge-progress{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.375rem;display:flex}.challenge-progress-bar{border-radius:var(--radius-full);background:var(--bg-tertiary);width:120px;height:6px;display:inline-block;position:relative;overflow:hidden}.challenge-progress-bar>span{border-radius:inherit;background:var(--accent);position:absolute;inset:0 auto 0 0}.challenge-state{color:var(--text-secondary);margin-top:.25rem;font-size:.8125rem;font-weight:600;display:block}.challenge-state.is-done{color:var(--accent-dark)}.challenge-state.is-active{color:var(--text-primary)}.recognition-icon.is-pending{color:var(--text-secondary)}.challenge-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.challenge-roster-tools{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.challenge-roster-tools .recognition-field{flex:200px}.challenge-roster-bulk{flex-wrap:wrap;gap:.5rem;display:flex}.challenge-roster{border:1px solid var(--border);border-radius:12px;max-height:min(50vh,420px);margin:0;padding:0;list-style:none;overflow-y:auto}.challenge-roster li+li{border-top:1px solid var(--border)}.challenge-roster label{cursor:pointer;align-items:center;gap:.75rem;min-height:52px;padding:.5rem .75rem;display:flex}.challenge-roster input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent-dark);flex-shrink:0}.challenge-roster-name{min-width:0;display:grid}.challenge-roster-name strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:.875rem;font-weight:600}.challenge-roster-name small{color:var(--text-secondary);font-size:.75rem;line-height:1.5}.family-children{flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;display:flex}.family-children button{border:1px solid var(--border);background:var(--bg-secondary);max-width:100%;min-height:52px;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:.625rem;padding:.5rem .875rem;display:inline-flex}.family-children button.is-selected{border-color:var(--accent-dark);box-shadow:inset 0 0 0 1px var(--accent-dark)}.family-children button span{min-width:0;display:grid}.family-children strong{overflow-wrap:anywhere;font-size:.875rem;font-weight:600}.family-children small{color:var(--text-secondary);font-size:.75rem}@media (max-width:767px){.recognition-row{flex-wrap:wrap}.recognition-actions{justify-content:flex-start;width:100%}.recognitions-filter,.recognitions-filter select{width:100%}.challenge-dates{grid-template-columns:minmax(0,1fr)}.family-children button{flex:100%}}.director-dashboard{max-width:1120px;margin:0 auto}.director-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-bottom:1.5rem;display:grid}.director-actions a{border:1px solid var(--border);background:var(--bg-secondary);min-height:86px;color:var(--text-primary);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.625rem;padding:.75rem .25rem;font-size:.8125rem;font-weight:600;line-height:1.3;text-decoration:none;display:flex}.director-actions a:hover{background:var(--bg-sidebar-hover)}.director-stats{border:1px solid var(--border);background:var(--border);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.director-stats>div{background:var(--bg-secondary);min-width:0;padding:1rem}.director-stats dt{color:var(--text-secondary);font-size:.75rem;line-height:1.5}.director-stats dd{color:var(--text-primary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.25rem 0 0;font-size:1.375rem;font-weight:650;line-height:1.35}.director-stats dd.director-stat-note{color:var(--text-secondary);margin-top:.125rem;font-size:.75rem;font-weight:400;line-height:1.5}.list-detail .director-notice-action{color:var(--text-primary);font-weight:600}.list-detail strong .badge{vertical-align:1px;margin-right:.375rem}.director-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.director-grid>*{min-width:0}.director-copilot{border:1px solid var(--border);background:var(--bg-secondary);border-radius:12px;padding:1rem}.director-copilot summary{cursor:pointer;min-height:44px;padding:.5rem 0;font-weight:600;line-height:1.6}.director-question-form{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.director-question-form label{width:100%;font-size:.875rem}.director-question-form input{flex:220px;min-width:0;min-height:44px}.director-question-form button{min-height:44px}.director-suggestions{flex-wrap:wrap;gap:.5rem;display:flex}.director-suggestions button{border:1px solid var(--border);background:var(--bg-secondary);max-width:100%;min-height:44px;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:8px;padding:.5rem .75rem;font-size:.8125rem;line-height:1.5}.director-answer{overflow-wrap:anywhere;margin-top:1rem;font-size:.875rem;line-height:1.7}.director-secondary-actions{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.director-secondary-actions a{min-height:44px;color:var(--text-primary);text-underline-offset:4px;align-items:center;font-size:.875rem;display:inline-flex}.chart-empty{text-align:center;min-height:150px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:.875rem;line-height:1.6;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.kpi-grid>*{min-width:0}.kpi-card-value{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.kpi-card:hover{box-shadow:none;border-color:var(--border);transform:none}.kpi-card:hover:before{opacity:0}@media (min-width:768px) and (max-width:1199px){.kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1200px){.kpi-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:767px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.director-grid{grid-template-columns:minmax(0,1fr)}.director-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.director-actions a{font-size:.75rem}.director-dashboard .page-header{margin-bottom:1rem}.app-tabs{top:calc(var(--header-height) + env(safe-area-inset-top,0px));z-index:5;position:sticky}.bottom-nav-label{font-size:.75rem}.bottom-nav-item.active{color:var(--text-primary)}}@media (min-width:768px) and (max-width:1199px),(min-width:768px) and (max-width:1366px) and (pointer:coarse){.sidebar-desktop{display:none}.main-content{margin-left:calc(88px + env(safe-area-inset-left,0px))}.sidebar-toggle-mobile{display:none!important}.bottom-nav{height:100dvh;width:calc(88px + env(safe-area-inset-left,0px));padding:max(1rem, env(safe-area-inset-top,0px)) .5rem max(1rem, env(safe-area-inset-bottom,0px)) max(.5rem, env(safe-area-inset-left,0px));border-top:0;border-right:1px solid var(--border);background:var(--bg-primary);-webkit-backdrop-filter:none;backdrop-filter:none;z-index:100;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.5rem;display:flex;position:fixed;inset:0 auto 0 0}.bottom-nav-item{flex:none;gap:.5rem;min-height:68px}.bottom-nav-label{font-size:.75rem}.bottom-nav-item.active{color:var(--text-primary)}.page-content{padding:1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom,0px))}.page-content .module-page{padding:0}.header{padding-top:env(safe-area-inset-top,0px);height:calc(var(--header-height) + env(safe-area-inset-top,0px))}}.assistant-conversation{flex-direction:column;min-height:260px;max-height:70dvh;display:flex}.assistant-messages{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.assistant-message{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:1rem;font-size:.875rem;line-height:1.65}.assistant-message strong{color:var(--text-secondary);font-size:.75rem}.assistant-message.user{background:var(--bg-secondary);border-radius:10px;padding:.75rem}.assistant-suggestions{gap:.5rem;margin:.75rem 0;display:grid}.assistant-suggestions button{border:1px solid var(--border);background:var(--bg-primary);min-height:44px;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;font-size:.875rem;display:flex}.assistant-composer{border-top:1px solid var(--border);padding-top:.75rem}.assistant-composer label{margin-bottom:.5rem;font-size:.875rem;display:block}.assistant-composer>div{gap:.5rem;display:flex}.assistant-composer input{flex:1;min-width:0;min-height:44px}.assistant-composer button{min-width:44px;min-height:44px;padding:.5rem}.notifications-page{max-width:900px;margin:0 auto}.notification-count{background:var(--danger);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 4px;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}.notification-toolbar,.notification-filters,.notification-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.notification-toolbar{justify-content:space-between;margin-bottom:1rem}.notification-filters button[aria-pressed=true]{background:var(--text-primary);color:var(--bg-primary)}.notification-item{padding:1rem}.notification-item-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.notification-item h2{overflow-wrap:anywhere;font-size:1rem;line-height:1.5}.notification-item p{color:var(--text-secondary);overflow-wrap:anywhere;margin:.5rem 0;font-size:.875rem;line-height:1.65}.notification-item time,.notification-preview time{color:var(--text-secondary);font-size:.75rem;display:block}.notification-unread{background:var(--accent-light);color:var(--text-primary);border-radius:6px;flex-shrink:0;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.notification-actions{gap:.5rem 1.5rem;margin-top:.5rem}.notification-preview{max-height:55dvh;overflow-y:auto}.app-tabs-scroll{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.app-tabs-scroll button{white-space:nowrap;flex:1 0 auto;padding-inline:1rem}.student-profile{min-width:0;max-width:1120px;margin:0 auto}.student-back{margin-bottom:.5rem}.student-profile-header{align-items:flex-start;gap:1rem;margin:.5rem 0 1rem;display:flex}.student-profile-identity{flex:1;min-width:0}.student-profile-identity h1{overflow-wrap:anywhere;margin-bottom:.5rem;font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.3}.student-profile-identity p{color:var(--text-secondary);font-size:.8125rem;line-height:1.6}.student-profile-summary{border:1px solid var(--border);background:var(--bg-secondary);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem 2rem;margin:0 0 1rem;padding:1rem;display:grid}.student-profile-summary>div{flex:80px;min-width:0}.student-profile-summary dt{color:var(--text-secondary);margin-bottom:.375rem;font-size:.75rem}.student-profile-summary dd{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:650;line-height:1.5}.student-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.student-profile-grid>*{min-width:0}.student-data-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.25rem 1rem;padding:.75rem 0;font-size:.8125rem;line-height:1.5;display:flex}.student-data-row>span{color:var(--text-secondary)}.student-data-row>strong{text-align:right;overflow-wrap:anywhere;max-width:100%;margin-left:auto;font-weight:500}.student-list-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.student-search{background:var(--bg-secondary);min-height:44px;display:flex}.student-mobile-list{display:none}.student-list-identity{align-items:center;gap:1rem;min-width:0;padding:.5rem 1rem;display:flex}.student-list-identity>a{min-width:0;min-height:44px;color:var(--text-primary);flex:1;align-items:center;gap:1rem;text-decoration:none;display:flex}.student-list-identity>a>svg{flex-shrink:0}.student-mobile-list>li,.student-desktop-table tbody tr{background:var(--bg-secondary)}.student-mobile-list>li:nth-child(2n),.student-desktop-table tbody tr:nth-child(2n){background:var(--bg-primary)}.early-warning .kpi-grid{margin-bottom:1rem}.early-warning-rules{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);margin:0 0 1.25rem;padding:.25rem 1rem .75rem;font-size:.875rem}.early-warning-rules summary{cursor:pointer;padding:.75rem 0;font-weight:600}.early-warning-rules ul{color:var(--text-secondary);margin:.25rem 0 0;padding-left:1.25rem;line-height:1.6}.early-warning-charts{grid-template-columns:var(--grid-2);gap:1.25rem;margin-bottom:1.5rem;display:grid}.early-warning-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.early-warning-filters{flex-wrap:wrap;gap:.5rem;display:flex}.early-warning-toolbar>.input{flex:200px;width:auto;min-width:0;min-height:44px}.early-warning-count,.early-warning-note{color:var(--text-secondary);margin:0 0 .5rem;font-size:.8125rem}.early-warning-mobile{display:none}.early-warning-mobile>li:nth-child(2n){background:var(--bg-primary)}.early-warning-identity{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;display:flex}.early-warning-identity a{min-height:44px;color:var(--text-primary);overflow-wrap:anywhere;align-items:center;display:inline-flex}.early-warning-meta{color:var(--text-secondary);margin:.25rem 0;font-size:.8125rem;display:block}.early-warning-reasons{margin:.25rem 0 .5rem;padding-left:1.1rem;font-size:.8125rem;line-height:1.5}.early-warning-reasons-cell{white-space:normal;min-width:16rem}.early-warning-number{font-variant-numeric:tabular-nums;white-space:nowrap}.early-warning-number span{color:var(--text-secondary);font-size:.75rem;display:block}.early-warning-name{color:var(--text-primary);overflow-wrap:anywhere;font-weight:600}.early-warning-more{margin-top:1rem}.early-warning-error{color:var(--danger);font-size:.875rem}.early-warning-plan textarea{width:100%;font-size:16px}.early-warning-plan-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}@media (max-width:1199px){.early-warning-mobile{display:block}.early-warning-desktop{display:none}}@media (max-width:767px){.early-warning-filters{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow-x:auto}.early-warning-filters::-webkit-scrollbar{display:none}.early-warning-filters>.btn{flex:none}}.analytics .kpi-grid{margin-bottom:1rem}.analytics-actions{flex-wrap:wrap;gap:.5rem;display:flex}.analytics-kpi-note{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem;display:block}.analytics-grid{grid-template-columns:var(--grid-2);gap:1.25rem;margin:1rem 0 1.5rem;display:grid}.analytics-section{margin-bottom:1.5rem}.analytics-section h2{margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.analytics-number{font-variant-numeric:tabular-nums;white-space:nowrap}.analytics-number span{color:var(--text-secondary);font-size:.75rem;display:block}.analytics-note{color:var(--text-secondary);margin:0 0 1rem;font-size:.8125rem;line-height:1.5}.ai-report-types{grid-template-columns:var(--grid-3);gap:.75rem;margin-bottom:1rem;display:grid}.ai-report-type{text-align:left;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;gap:.25rem;padding:1rem;display:grid}.ai-report-type span{color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.ai-report-type.is-selected{border-color:var(--accent-dark)}.ai-report-type.is-selected strong{color:var(--accent-dark)}.ai-report-data{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);margin-bottom:1rem;padding:.25rem 1rem .75rem;font-size:.8125rem}.ai-report-data summary{cursor:pointer;min-height:44px;padding:.75rem 0;font-weight:600;display:list-item}.ai-report-data ul{color:var(--text-secondary);margin:.25rem 0 0;padding-left:1.25rem;line-height:1.6}.ai-report-controls{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.ai-report-error{border:1px solid var(--danger);border-radius:var(--radius-md);background:var(--danger-light);color:var(--danger);justify-items:start;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:grid}.ai-report-print{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);gap:1rem;padding:1.5rem;display:grid}.ai-report-print h2{margin:0;font-size:1.125rem;font-weight:600}.ai-report-narrative{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);padding:1rem}.ai-report-meta{color:var(--text-secondary);margin:0 0 .5rem;font-size:.75rem}.ai-text{overflow-wrap:anywhere;font-size:.9375rem;line-height:1.7}.ai-text>*+*{margin-top:.75rem}.ai-text h3{margin:1.25rem 0 0;font-size:1.0625rem;font-weight:600}.ai-text h4{margin:1rem 0 0;font-size:1rem;font-weight:600}.ai-text p,.ai-text ul,.ai-text ol{margin-bottom:0}.ai-text ul,.ai-text ol{padding-left:1.25rem}.ai-text li+li{margin-top:.25rem}.ai-text hr{border:0;border-top:1px solid var(--border);margin:1rem 0}.ai-report-list{margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.6}@media (max-width:767px){.ai-report-print{padding:1rem}.ai-report-controls>.btn{flex:auto;min-height:48px}}.interventions-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.interventions-filters{flex-wrap:wrap;gap:.5rem;display:flex}.interventions-toolbar>.input{flex:200px;width:auto;min-width:0;min-height:44px}.interventions-check{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;font-size:.875rem;display:inline-flex}.interventions-check input{width:20px;height:20px;accent-color:var(--accent-dark);margin:0}.interventions-count{color:var(--text-secondary);margin:0 0 .5rem;font-size:.8125rem}.interventions-mobile{display:none}.interventions-mobile>li:nth-child(2n),.interventions-desktop tbody tr:nth-child(2n){background:var(--bg-primary)}.interventions-row{align-items:flex-start;gap:.5rem;padding:.5rem 1rem .5rem .5rem;display:flex}.interventions-row-link{min-width:0;min-height:44px;color:var(--text-primary);overflow-wrap:anywhere;flex:1;gap:.25rem;padding:.375rem 0;text-decoration:none;display:grid}.interventions-row-link strong{font-size:.9375rem;font-weight:600}.interventions-row-title{font-size:.875rem}.interventions-meta,.interventions-goal{color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.interventions-badges{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.interventions-student{align-items:center;gap:.5rem;min-width:12rem;display:flex}.interventions-student span{overflow-wrap:anywhere;min-width:0;display:grid}.interventions-student small{color:var(--text-secondary);font-size:.75rem}.interventions-plan-cell{white-space:normal;min-width:16rem;max-width:28rem}.interventions-title-link{color:var(--text-primary);overflow-wrap:anywhere;font-weight:600;display:block}.interventions-goal{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.interventions-date{white-space:nowrap;font-variant-numeric:tabular-nums}.interventions-person{min-width:9rem}.interventions-date .badge{margin-left:.375rem}.interventions-more{margin-top:1rem}.interventions-empty-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.interventions-form{gap:1rem;display:grid}.interventions-field{gap:.375rem;min-width:0;display:grid}.interventions-field .label{margin:0}.interventions-field textarea{resize:vertical}.interventions-form-grid{grid-template-columns:var(--grid-2);gap:1rem;display:grid}.interventions-hint{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.interventions-field-error,.interventions-error{color:var(--danger);margin:0;font-size:.8125rem}.interventions-error{border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-light);padding:.5rem .75rem}.interventions-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.interventions-header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.interventions-danger{color:var(--danger)}.interventions-status-line{margin:0 0 1rem}.interventions-status-line a.badge{text-decoration:none}.interventions-detail-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:1.25rem;margin-bottom:1.25rem;display:grid}.interventions-detail-main{gap:1.25rem;min-width:0;display:grid}.interventions-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);min-width:0;padding:1.5rem}.interventions-card h2{margin:0 0 .75rem;font-size:1.125rem;font-weight:600}.interventions-card h3{margin:1.25rem 0 .5rem;font-size:1rem;font-weight:600}.interventions-student-card{align-items:center;gap:.75rem;display:flex}.interventions-student-card>div{overflow-wrap:anywhere;gap:.125rem;min-width:0;display:grid}.interventions-student-card span{color:var(--text-secondary);font-size:.8125rem}.interventions-student-link{min-height:44px;color:var(--text-primary);align-items:center;font-size:1rem;font-weight:600;display:inline-flex}.interventions-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.6}.interventions-facts{gap:.75rem;margin:0;display:grid}.interventions-facts dt{color:var(--text-secondary);font-size:.75rem;font-weight:600}.interventions-facts dd{overflow-wrap:anywhere;margin:.125rem 0 0;font-size:.9375rem}.interventions-detail-aside .interventions-hint{margin-top:1rem}.interventions-note-form{border-bottom:1px solid var(--border);gap:.75rem;padding-bottom:1.25rem;display:grid}.interventions-note-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.interventions-note-row .interventions-field{flex:0 12rem}.interventions-entries{margin:0;padding:0;list-style:none}.interventions-entry{border-bottom:1px solid var(--border);gap:.375rem;padding:1rem 0;display:grid}.interventions-entry:last-child{border-bottom:0;padding-bottom:0}.interventions-entry.is-status,.interventions-entry.is-created{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);margin-top:.5rem;padding:.75rem}.interventions-entry-head{flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;font-size:.875rem;display:flex}.interventions-entry-head span{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.8125rem}.interventions-entry-remove{min-height:32px;color:var(--danger);justify-self:start;padding:.25rem .5rem}.combo-option-photo{flex-shrink:0;display:flex}@media (max-width:1199px){.interventions-mobile{display:block}.interventions-desktop{display:none}.interventions .input,.interventions-form .input{min-height:44px;font-size:16px}.interventions-entry-remove{min-height:44px}}@media (max-width:1023px){.interventions-detail-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.interventions-filters{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow-x:auto}.interventions-filters::-webkit-scrollbar{display:none}.interventions-filters>.btn{flex:none}.interventions-card{padding:1rem}.interventions-header-actions{width:100%}.interventions-header-actions>.btn{flex:auto}.interventions-note-row .interventions-field{flex:100%}.interventions-note-row>.btn,.interventions-actions>.btn{flex:auto;min-height:48px}}.student-status-filter{width:auto;min-width:12rem;min-height:44px}.student-list-count{color:var(--text-secondary);margin:0 0 .5rem;font-size:.8125rem}.student-list-more{margin-top:1rem}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.student-form-grid>*{min-width:0}.student-form-grid input[type=file]{max-width:100%}@media (max-width:1199px){.student-form-grid .input{min-height:44px;font-size:16px}.student-mobile-list{display:block}.student-desktop-table{display:none}.student-mobile-list .list-detail{flex:1}.student-list-actions{justify-content:space-between;align-items:center;gap:1rem;margin-left:60px;padding:0 1rem .5rem;display:flex}.student-list-actions>span{color:var(--text-secondary);font-size:.75rem}}@media (max-width:767px){.student-profile-grid,.student-form-grid{grid-template-columns:minmax(0,1fr)}.student-search{display:flex;flex-basis:100%!important}.student-search input{font-size:16px}.student-list-toolbar>button{width:100%}}.student-list-summary{gap:.75rem;padding:.875rem 1rem}.student-list-summary>div{flex:70px}.student-list-summary dd{font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:650}.teaching-assignments{max-width:1120px;margin-inline:auto}.assignment-filters{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1rem;margin-bottom:1.5rem;display:grid}.assignment-filters label,.assignment-form label{color:var(--text-secondary);gap:.5rem;font-size:.8125rem;display:grid}.assignment-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.assignment-list .list-detail{justify-content:space-between;align-items:center;gap:1rem;display:flex}.assignment-list h3{margin:0 0 .375rem;font-size:1rem}.assignment-list p{color:var(--text-secondary);margin:0;font-size:.8125rem}.assignment-row-actions,.assignment-form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.assignment-row-actions{flex-shrink:0}.assignment-form-actions{justify-content:flex-end;margin-top:1rem}.assignment-form{gap:1rem;display:grid}@media (max-width:767px){.assignment-filters{grid-template-columns:minmax(0,1fr)}.assignment-list .list-detail{flex-direction:column;align-items:stretch;gap:.5rem}.assignment-row-actions{justify-content:space-between}.assignment-section-heading>button{width:100%}}.school-calendar{max-width:1120px;margin-inline:auto}.calendar-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.calendar-toolbar select{flex:1;min-width:140px;max-width:300px}.calendar-month-heading{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.calendar-month-heading h2{text-align:center;min-width:0;font:600 1.125rem/1.4 var(--font-body);flex:1}.calendar-month-heading h2:first-letter{text-transform:uppercase}.calendar-month{border:1px solid var(--border);background:var(--surface-primary);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-weekday{text-align:center;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:.875rem .25rem;font-size:.75rem}.calendar-day{border:0;border-bottom:1px solid var(--border);border-right:1px solid var(--border);min-width:0;min-height:clamp(64px,16.6667dvh - 65px,112px);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.5rem;display:flex}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day:hover,.calendar-day[aria-pressed=true]{background:var(--accent-light)}.calendar-day[data-outside]{color:var(--text-tertiary);background:var(--bg-primary)}.calendar-day-number{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8125rem;display:inline-flex}.calendar-day[aria-current=date] .calendar-day-number{background:var(--accent-light);color:#a51d62;font-weight:650}.calendar-day-events{gap:.25rem;width:100%;min-width:0;display:grid}.calendar-day-events>span{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);background:var(--accent-light);border-radius:4px;padding:.2rem .3rem;font-size:.75rem;overflow:hidden}.calendar-day-dot{background:var(--accent);border-radius:50%;width:4px;height:4px;display:none}.calendar-help{margin-top:.875rem}.calendar-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.calendar-form-grid>*{min-width:0}.calendar-form-grid label{color:var(--text-secondary);gap:.35rem;font-size:.875rem;display:grid}.calendar-form-grid .calendar-checkbox{cursor:pointer;align-self:end;align-items:center;gap:.75rem;min-height:44px;display:flex}.calendar-checkbox input{width:20px;height:20px;accent-color:var(--accent)}.calendar-full{grid-column:1/-1}.calendar-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.calendar-event-list{margin:0 0 1rem;padding:0;list-style:none}.calendar-event-list li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:1rem 0}.calendar-event-list li:first-child{padding-top:0}.calendar-event-list h3{font:600 1rem/1.4 var(--font-body);margin:.35rem 0}.calendar-event-actions{gap:1.5rem;display:flex}.calendar-description{white-space:pre-wrap;margin-top:.75rem}@media (max-width:767px){.calendar-toolbar{margin-bottom:1rem}.calendar-toolbar>.btn{width:100%}.calendar-toolbar select{max-width:none}.calendar-month-heading{gap:.25rem}.calendar-month-heading h2{font-size:1rem}.calendar-today{justify-content:center;min-width:44px}.calendar-day{align-items:center;gap:.1rem;min-height:52px;padding:.35rem .1rem}.calendar-day-events{display:none}.calendar-day-dot{display:block}.calendar-form-grid{grid-template-columns:minmax(0,1fr)}}.btn-primary,.btn-primary:hover,.btn-primary:focus-visible,.btn-primary:active,.btn-primary:disabled,.btn-ai,.btn-ai:hover,.btn-ai:focus-visible,.btn-ai:disabled,.tw-btn-primary,.tw-btn-primary:hover,button[style*="background: var(--accent)"],button[style*="background: var(--accent-gradient)"],button[style*="background: rgb(255, 62, 155)"],button[style*="background-color: rgb(255, 62, 155)"],a[style*="background: var(--accent)"],a[style*="background: rgb(255, 62, 155)"]{color:#fff!important}button[style*="background: var(--accent)"],button[style*="background: rgb(255, 62, 155)"],button[style*="background-color: rgb(255, 62, 155)"],a[style*="background: var(--accent)"],a[style*="background: rgb(255, 62, 155)"]{background:var(--accent-dark)!important}.btn-primary :is(span,svg),.btn-ai :is(span,svg),.tw-btn-primary :is(span,svg){color:inherit!important}.login-shell{background:#fafafa;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-brand{text-align:center;margin-bottom:32px}.login-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:32px;box-shadow:0 1px 3px #0000000a}.login-submit,.login-google{border-radius:10px;justify-content:center;width:100%;min-height:46px;padding:10px 16px;font-size:14px;line-height:1.5}.login-google svg{flex:0 0 18px}.login-google span{font:inherit;white-space:nowrap}.login-submit:disabled{cursor:wait}@media (max-width:480px){.login-shell{padding:24px 16px}.login-card{padding:24px 20px}.login-brand{margin-bottom:24px}}@media (max-width:767px){.family-question{flex-direction:column}.family-question input{width:100%;min-width:0}.family-question button{color:#fff;min-height:44px}}.app-layout{--font-display:var(--font-body)}.app-layout .page-header h1{letter-spacing:-.02em;font-size:1.5rem;font-weight:650;line-height:1.3}.app-layout .kpi-card-value{font-family:var(--font-body);font-size:1.5rem;font-weight:650;line-height:1.35}.app-layout .page-header p{font-size:.875rem}@media (max-width:767px){.app-layout .page-header h1{font-size:1.375rem}}.student-dashboard-columns{grid-template-columns:minmax(0,1fr) 280px;gap:1.25rem;display:grid}.student-dashboard-columns>*{min-width:0}@media (max-width:767px){.student-dashboard-columns{grid-template-columns:minmax(0,1fr)}.student-profile-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}.family-children{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.family-children article{overflow-wrap:anywhere;min-width:0}.student-course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem;display:grid}.student-course-card{text-align:left;border:1px solid var(--border);background:var(--surface-primary);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;gap:.375rem;min-width:0;padding:1rem;font-size:.8125rem;display:flex}.student-course-card:hover{border-color:var(--accent)}.student-course-title{width:100%;color:var(--text-primary);justify-content:space-between;align-items:center;gap:.5rem;font-size:1rem;font-weight:650;display:flex}.student-course-title svg{color:var(--accent);flex-shrink:0}.student-course-meta{margin-top:.5rem}.student-course-schedule{flex-wrap:wrap;gap:.5rem;font-size:.75rem;display:flex}.student-course-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.student-course-header h2{margin-bottom:.25rem;font-size:1.125rem}.student-course-header p{color:var(--text-secondary);font-size:.8125rem}.brand-logo{-o-object-fit:contain;object-fit:contain;width:173px;max-width:100%;height:auto;display:block}.header-brand,.mobile-back{display:none}.header-breadcrumb ol{flex-wrap:wrap;align-items:center;gap:.375rem .5rem;margin:0;padding:0;font-size:.8125rem;line-height:1.4;list-style:none;display:flex}.header-breadcrumb li{align-items:center;gap:.5rem;min-width:0;display:flex}.header-breadcrumb li svg{color:var(--text-secondary);flex-shrink:0}.header-breadcrumb a{color:var(--text-secondary);padding-block:.5rem}.header-breadcrumb [aria-current=page]{color:var(--text-primary);font-weight:600}.header-message-control,.header-live-control{display:contents}.public-message{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:100dvh;padding:1.5rem;display:flex}.public-message h1{font-size:1.5rem}.public-message p{max-width:420px;color:var(--text-secondary)}@media (max-width:1199px),(max-width:1366px) and (pointer:coarse){.header-brand{align-items:center;width:173px;min-width:0;min-height:44px;display:flex}.header-brand .brand-logo{width:100%}.header-breadcrumb{display:none}.mobile-back{display:inline-flex}.header-left{flex:1}}@media (max-width:767px){.header{padding-inline:max(.5rem,env(safe-area-inset-left,0px)) max(.5rem,env(safe-area-inset-right,0px));gap:.5rem}.header-left,.header-right{gap:.25rem}.header-brand{flex-shrink:1;width:136px}.header-left{min-width:0}.header-message-control,.header-live-control{display:none}.account-menu>summary{justify-content:center;width:44px}.account-summary-name,.account-menu>summary>.account-chevron{display:none}.mobile-back{background:0 0;border:0}.bottom-nav{background:var(--surface-primary)}.bottom-nav-label{font-size:.75rem}}.homeschool-page{max-width:1040px;margin-inline:auto}.homeschool-nav{border-bottom:1px solid var(--border);gap:.25rem;max-width:100%;margin-bottom:1.25rem;display:flex;overflow-x:auto}.homeschool-nav a{min-height:44px;color:var(--text-secondary);white-space:nowrap;border-bottom:2px solid #0000;flex:1 0 auto;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;text-decoration:none;display:flex}.homeschool-nav a[aria-current]{color:var(--accent);border-color:var(--accent)}.homeschool-page label{min-width:0;font-size:.8125rem;font-weight:600;line-height:1.5;display:block}.homeschool-page label>.input{width:100%;min-width:0;max-width:100%;margin-top:.375rem;font-weight:400;display:block}.homeschool-page .input{border-radius:8px}.homeschool-page textarea{resize:vertical}.homeschool-notice{border:1px solid var(--border);background:var(--bg-primary);border-radius:8px;margin:1rem 0;padding:.75rem;font-size:.875rem;line-height:1.6}.homeschool-notice button{margin-left:.75rem}.homeschool-week{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.homeschool-week>label{flex:200px;max-width:320px}.homeschool-week-summary{gap:.25rem;padding-block:.375rem;display:grid}.homeschool-week-summary strong{font-size:1rem}.homeschool-week-summary span{color:var(--text-secondary);font-size:.75rem}.homeschool-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;margin-bottom:1rem;display:grid}.homeschool-days button{background:var(--bg-primary);border:1px solid var(--border);min-height:48px;font:inherit;color:var(--text-primary);cursor:pointer;border-radius:8px;justify-items:center;gap:.25rem;padding:.5rem .125rem;font-size:.8125rem;display:grid}.homeschool-days small{color:var(--text-secondary);font-size:.75rem}.homeschool-days button[aria-pressed=true]{background:var(--accent-dark);color:#fff;border-color:var(--accent-dark)}.homeschool-days button[aria-pressed=true] small{color:#fff}.homeschool-section-title{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.homeschool-section-title h2,.homeschool-empty h2,.homeschool-empty h3{margin:0;font-size:1rem;line-height:1.5}.homeschool-empty{margin-bottom:1rem;padding:1rem}.homeschool-empty p{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:.5rem 0;font-size:.875rem;line-height:1.6}.homeschool-lessons{border:0;gap:.75rem;min-width:0;margin:0 0 1rem;padding:0;display:grid}.homeschool-lesson{min-width:0;padding:0;overflow:hidden}.homeschool-lesson-heading{text-align:left;background:var(--bg-primary);cursor:pointer;width:100%;color:var(--text-primary);font:inherit;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;display:flex}.homeschool-lesson-heading>span:first-child{gap:.25rem;min-width:0;display:grid}.homeschool-lesson-heading strong{overflow-wrap:anywhere;font-size:1rem}.homeschool-lesson-heading>span:first-child>span{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.875rem}.homeschool-lesson-heading>span:last-child{flex-shrink:0;font-size:.75rem}.homeschool-lesson-body{border-top:1px solid var(--border);gap:1rem;padding:1rem;display:grid}.homeschool-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.homeschool-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.homeschool-page .btn{min-height:44px;box-shadow:none;padding:.5rem .75rem;font-size:.8125rem}.homeschool-week-notes{margin-top:1.5rem}.homeschool-save{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.homeschool-save p,.homeschool-page .optional{color:var(--text-secondary);font-size:.75rem;font-weight:400;line-height:1.5}.homeschool-save p{margin-top:.75rem}.homeschool-reading{gap:1rem;margin:0;font-size:.875rem;display:grid}.homeschool-reading dt{margin-bottom:.25rem;font-weight:600}.homeschool-reading dd{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-secondary);margin:0;line-height:1.7}.pwa-update{z-index:300;border:1px solid var(--border);background:var(--bg-primary);max-width:calc(100% - 2rem);color:var(--text-primary);box-shadow:var(--shadow-lg);border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;display:flex;position:fixed;bottom:1rem;right:1rem}.pwa-update>button{min-height:44px}.pwa-update>button:not(.pwa-dismiss){background:var(--accent-dark)!important;color:#fff!important}.pwa-dismiss{min-width:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;font-size:1.25rem}@media (max-width:767px){.homeschool-fields:not(.homeschool-timing){grid-template-columns:minmax(0,1fr)}.homeschool-lesson-heading,.homeschool-lesson-body{padding:.875rem}.homeschool-week>label{flex-basis:100%;max-width:none}.homeschool-week-summary{justify-content:space-between;align-items:center;width:100%;display:flex}.homeschool-nav{gap:0}.homeschool-nav a{padding-inline:.625rem}.pwa-update{bottom:calc(5rem + env(safe-area-inset-bottom,0px));max-width:none;left:.5rem;right:.5rem}}.homeschool-profile-form{min-width:0;margin:1rem 0;padding:1rem}.homeschool-profile-form legend{padding-inline:.25rem;font-size:1rem;font-weight:600}.homeschool-child-options{gap:.5rem;margin-bottom:1rem;font-size:.875rem;display:grid}.homeschool-child-options label{overflow-wrap:anywhere;align-items:center;gap:.75rem;min-height:44px;display:flex}.homeschool-child-options input{accent-color:var(--accent);flex-shrink:0;width:20px;height:20px}.homeschool-progress{margin-top:1rem}.homeschool-history-title{margin-bottom:.75rem;font-size:1rem}.homeschool-history{flex-wrap:wrap;gap:.75rem 1.5rem;margin:.75rem 0;font-size:.8125rem;display:flex}.homeschool-history dt{color:var(--text-secondary);margin-bottom:.25rem}.homeschool-history dd{margin:0;font-weight:600}.homeschool-notice{scroll-margin-top:calc(var(--header-height) + 1rem)}.homeschool-days{overscroll-behavior-x:contain;padding-bottom:.25rem;display:flex;overflow-x:auto}.homeschool-days button{flex:1 0 44px;min-width:44px;min-height:48px;padding-block:.375rem}.homeschool-page textarea{field-sizing:content;min-height:70px}.homeschool-timing{align-items:end}.homeschool-week-picker{flex:240px;align-items:end;gap:.5rem;min-width:0;max-width:360px;display:flex}.homeschool-week-picker>label{flex:1;min-width:0}.homeschool-week-picker>button{min-width:44px;font-size:1.25rem}.homeschool-reading ul{margin:0;padding-left:1.25rem}@media (max-width:767px){.homeschool-week-picker{flex-basis:100%;max-width:none}.homeschool-nav a{flex:1 0 0;min-width:0;padding-inline:.25rem;font-size:.8125rem}.homeschool-nav a svg{display:none}}.homeschool-page .card{background:var(--surface-primary);border:1px solid var(--border);border-radius:12px}.homeschool-lesson-heading,.homeschool-progress,.homeschool-notice{background:var(--surface-primary)}.homeschool-evidence-form{scroll-margin-top:calc(var(--header-height) + 1rem)}.teacher-summary{background:var(--surface-primary);border:1px solid var(--border);border-radius:12px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:grid}.teacher-summary>div{overflow-wrap:anywhere;min-width:0}.teacher-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.teacher-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.teacher-class-button{gap:1rem;width:100%;min-height:52px}.teacher-class-button>div{overflow-wrap:anywhere;min-width:0}.teacher-class-button>span{flex-shrink:0}.teacher-dashboard h3{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}@media (max-width:1100px){.teacher-summary{grid-template-columns:44px minmax(0,1fr)}.teacher-stats{grid-column:1/-1}}@media (max-width:767px){.teacher-overview{grid-template-columns:minmax(0,1fr)}.teacher-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.teacher-overview{align-items:start}.teacher-class-heading{flex-wrap:wrap}.teacher-class-heading>button{min-width:44px;min-height:44px}.teacher-class-heading>div{overflow-wrap:anywhere;min-width:0;flex:180px!important}.teacher-class-heading>div>span{display:block;margin-left:0!important}.teacher-tabs{overscroll-behavior-x:contain;border-bottom:1px solid var(--border);gap:.25rem;max-width:100%;margin-bottom:1rem;padding-bottom:.375rem;display:flex;overflow-x:auto}.teacher-tabs>button{white-space:nowrap;flex:none;min-height:44px}.teacher-class-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.teacher-week{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;display:grid}.teacher-week>div{overflow-wrap:anywhere;min-width:0}.teacher-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.teacher-toolbar p{color:var(--text-secondary);flex:100%;margin:0;font-size:.875rem}.teacher-toolbar>button{white-space:normal;min-height:44px}.teacher-roster{gap:.625rem;display:grid}.teacher-roster-row{border:1px solid var(--border);background:var(--surface-primary);border-radius:12px;grid-template-columns:44px minmax(0,1fr) 150px;align-items:center;gap:.75rem;padding:.875rem;display:grid}.teacher-roster-row>div,.teacher-grade-row{overflow-wrap:anywhere;min-width:0}.teacher-roster-row strong,.teacher-grade-row strong{font-size:.875rem;font-weight:600}.teacher-roster-row small{color:var(--text-secondary);margin-top:.25rem;font-size:.8125rem;display:block}.teacher-roster-row .input{width:100%;min-width:0}.teacher-grade-row{border:1px solid var(--border);background:var(--surface-primary);border-radius:12px;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem;display:flex}.teacher-grade-row>strong{flex:200px}.teacher-grade-row label{flex:0 160px;gap:.375rem;font-size:.8125rem;display:grid}.teacher-grade-row input{width:100%}.teacher-notice{color:var(--text-secondary);margin-bottom:.875rem;font-size:.875rem}.teacher-form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}@media (max-width:767px){.teacher-class-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-class-button{align-items:flex-start!important}.teacher-class-button>div>span{display:block;margin-left:0!important}.teacher-class-heading>span{margin-left:calc(44px + .75rem)}.teacher-roster-row{grid-template-columns:44px minmax(0,1fr)}.teacher-roster-row>select{grid-column:2}.teacher-form-fields{grid-template-columns:minmax(0,1fr)}}.teacher-week-plans{gap:1rem;display:grid}.teacher-week-plans article{border-top:1px solid var(--border);overflow-wrap:anywhere;min-width:0;padding-top:.75rem}.teacher-week-plans h5{margin:.5rem 0;font-size:1rem}.teacher-week-plans p{white-space:pre-wrap;margin:.375rem 0 .875rem;font-size:.875rem;line-height:1.55}.teacher-week-plans strong{font-size:.8125rem}.teacher-plan-meta{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.8125rem;display:flex}.grade-grid-controls{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.grade-grid-controls>div{flex:180px;min-width:0}.grade-grid-controls select{width:100%}.grade-grid-controls .btn{min-height:44px;font-size:.875rem!important}.grade-grid-save-state{color:var(--text-secondary);font-size:.8125rem}.grade-grid-mobile{display:none}.grade-grid-weights{border:1px solid var(--border);background:var(--surface-primary);border-radius:12px;margin-bottom:1rem;padding:1rem}.grade-grid-weights h2{margin:0 0 .5rem;font-size:1rem}.grade-grid-weights p{font-size:.875rem}.grade-grid-weight-fields{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;display:grid}.grade-grid-weight-fields label{gap:.375rem;font-size:.875rem;display:grid}.grade-grid-weight-fields input{border:1px solid var(--border);border-radius:8px;width:100%;min-height:44px;padding:.5rem;font-size:16px}@media (max-width:600px){.grade-grid-desktop{display:none}.grade-grid-mobile{gap:1rem;display:grid}.grade-grid-card{border:1px solid var(--border);background:var(--surface-primary);border-radius:12px;min-width:0;padding:1rem}.grade-grid-card-title{overflow-wrap:anywhere;gap:.375rem;margin-bottom:1rem;display:grid}.grade-grid-card-title strong{font-size:1rem;font-weight:600}.grade-grid-card-title span{color:var(--text-secondary);font-size:.8125rem}.grade-grid-card-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.grade-grid-card-fields label{color:var(--text-secondary);gap:.375rem;font-size:.875rem;display:grid}.grade-grid-card-fields input{border:1px solid var(--border);background:var(--surface-primary);width:100%;min-width:0;height:44px;color:var(--text-primary);text-align:center;border-radius:8px;padding:.5rem;font-size:16px}.grade-grid-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.75rem;display:grid}.grade-grid-controls .btn{padding:.5rem .75rem}.grade-grid-controls .btn-primary{grid-column:1/-1}.grade-grid-page .page-header{margin-bottom:1.25rem}.grade-grid-controls select{padding-left:.5rem;padding-right:1.5rem;font-size:16px}}.profile-page :is(.input,.btn){min-height:44px}.profile-page .profile-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.profile-page .profile-name-more{min-height:44px;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;line-height:1.3;text-decoration:underline;display:block}.classroom-page :is(.input,.btn){min-height:44px}.classroom-page label:has(input[type=checkbox]){min-height:44px}.classroom-page .input{width:100%;min-width:0}.classroom-page input[type=checkbox]{min-height:auto}.classroom-page .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.classroom-page .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.assessment-workflow,.assessment-workflow-form,.question-bank-detail,.question-editor{--workflow-label-size:.75rem;--workflow-field-size:.875rem;--workflow-control-height:40px;--workflow-primary-height:40px;--workflow-compact-height:32px;font-family:var(--font-body);font-size:.875rem;line-height:1.5}.assessment-workflow .input,.assessment-workflow-form .input,.question-editor .input{letter-spacing:normal;text-transform:none;font-weight:400}.assessment-workflow .btn,.assessment-workflow-form .btn,.question-bank-detail .btn,.question-editor .btn{min-height:var(--workflow-control-height);border-radius:var(--radius-sm);box-shadow:none;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.5}.assessment-workflow .btn.btn-primary,.assessment-workflow-form .btn.btn-primary,.question-bank-detail .btn.btn-primary,.question-editor .btn.btn-primary{min-height:var(--workflow-primary-height)}.assessment-workflow .page-header p{font-size:.875rem;line-height:1.5}@media (max-width:1024px),(any-pointer:coarse){.assessment-workflow,.assessment-workflow-form,.question-bank-detail,.question-editor{--workflow-label-size:.8125rem;--workflow-field-size:1rem;--workflow-control-height:44px;--workflow-primary-height:48px;--workflow-compact-height:44px}}.question-bank-detail{width:100%;min-width:0;max-width:56rem;margin:0 auto}.question-bank-detail .question-bank-heading{margin-bottom:1.25rem}.question-bank-detail .question-bank-heading .module-toolbar{margin-bottom:0}.question-bank-detail h1{overflow-wrap:anywhere;margin:.25rem 0;font-size:24px;font-weight:650;line-height:1.3}.question-bank-detail h2{margin:0;font-size:16px;font-weight:600;line-height:1.4}.question-bank-detail .question-bank-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.question-bank-detail .question-bank-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.question-bank-detail .question-bank-row{border-bottom:1px solid var(--border);overflow-wrap:anywhere;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;line-height:1.5;display:flex}.question-bank-detail .question-bank-question{font-size:.875rem;font-weight:500;line-height:1.5}.question-bank-detail .question-bank-row>button{flex-shrink:0;padding:.5rem}.question-bank-detail .question-bank-empty{color:var(--text-secondary);margin:0;padding:1rem 0;font-size:.875rem;line-height:1.5}.question-bank-detail .btn,.question-editor .btn{min-width:var(--workflow-control-height);min-height:var(--workflow-control-height);white-space:normal;justify-content:center}.question-bank-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:clip}.question-bank-summary{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;min-width:0;display:flex}.question-bank-summary p{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.5}.question-bank-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.question-bank-meta{color:var(--text-secondary);margin-bottom:.25rem;font-size:.75rem;font-weight:400}.question-bank-options{color:var(--text-secondary);margin:.375rem 0 0;padding-left:1.125rem;font-size:.8125rem;line-height:1.5;list-style:outside}.question-bank-explanation{color:var(--text-secondary);margin-top:.375rem;font-size:.8125rem;font-weight:400;line-height:1.5}.question-bank-row:last-child{border-bottom:0}.question-bank-section .question-bank-row:nth-child(2n){background:var(--bg-primary)}.question-bank-section>[role=status],.question-bank-section>.question-bank-empty{margin:0;padding:.75rem 1rem;font-size:.8125rem}.question-bank-detail .btn.question-bank-delete{min-width:var(--workflow-compact-height);width:var(--workflow-compact-height);min-height:var(--workflow-compact-height);height:var(--workflow-compact-height);color:var(--text-secondary);padding:.375rem}.question-bank-detail .question-bank-row details>summary{min-height:var(--workflow-compact-height);align-items:center;font-size:.8125rem;font-weight:500;display:flex}@media (max-width:600px){.question-bank-detail .question-bank-question{font-size:1rem}.question-bank-actions{width:100%}.question-bank-actions .btn{flex:100%}.question-bank-detail .question-bank-toolbar,.question-bank-detail .question-bank-row{padding:.75rem}}.question-editor{min-width:0}.question-editor .question-editor-hint{color:var(--text-secondary);margin:0 0 1rem;font-size:.875rem;line-height:1.5}.question-editor .question-editor-error{margin:0 0 1rem;line-height:1.5}.question-editor .question-editor-error:focus{outline:2px solid var(--accent-dark);outline-offset:4px}.question-editor fieldset{border:0;min-width:0;margin:0;padding:0}.question-editor .question-editor-fields,.question-editor .question-editor-group{gap:.75rem;display:grid}.question-editor legend{padding:0 0 .5rem;font-size:.875rem;font-weight:600}.question-editor label{min-width:0;font-size:var(--workflow-label-size);color:var(--text-secondary);text-transform:none;letter-spacing:normal;gap:.25rem;font-weight:600;line-height:1.5;display:grid}.question-editor .input{width:100%;min-width:0;min-height:var(--workflow-control-height);font-size:var(--workflow-field-size);padding:.5rem .75rem;font-weight:400;line-height:1.5}.question-editor textarea{resize:vertical}.question-editor .question-editor-choice{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;display:flex}.question-editor :is(input[type=radio],input[type=checkbox]){flex-shrink:0;width:18px;height:18px;min-height:18px;margin:0}.question-editor .question-editor-option,.question-editor .question-editor-line{grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:.5rem;display:grid}.question-editor .question-editor-option>.question-editor-choice,.question-editor .question-editor-option>label:last-child{grid-column:1/-1}.question-editor .question-editor-pair,.question-editor .question-editor-table-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:.75rem;display:grid}.question-editor .question-editor-pair>button,.question-editor .question-editor-table-row>button{grid-column:1/-1;justify-self:end}.question-editor .question-editor-choices,.question-editor .question-editor-actions{flex-wrap:wrap;gap:.75rem;display:flex}.question-editor .question-editor-actions{justify-content:flex-end;padding-top:.5rem}@media (max-width:767px){.question-bank-detail h1{font-size:22px}}@media (max-width:480px){.question-editor .question-editor-pair,.question-editor .question-editor-table-row{grid-template-columns:minmax(0,1fr)}.question-editor .question-editor-actions>button{flex:1}}.combo{position:relative}.combo>.input{width:100%;padding-right:2.5rem}.combo-clear{min-width:32px;min-height:32px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;font-size:1rem;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.combo-list{z-index:100;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);max-height:240px;box-shadow:var(--shadow-md);margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.combo-option{cursor:pointer;overflow-wrap:anywhere;align-items:center;gap:.5rem;min-height:40px;padding:.5rem .75rem;font-size:.875rem;display:flex}.combo-option-text{min-width:0}.combo-option-text small{color:var(--text-secondary);font-size:.75rem;font-weight:400;display:block}.combo-photo{pointer-events:none;display:flex;position:absolute;top:50%;left:.625rem;transform:translateY(-50%)}.combo>.input.combo-with-photo{padding-left:2.625rem}.combo-option.is-active{background:var(--bg-tertiary)}.combo-option[aria-selected=true]{font-weight:600}.combo-empty{color:var(--text-secondary);padding:.75rem;font-size:.8125rem}@media (max-width:1024px),(pointer:coarse){.combo-option{min-height:44px;font-size:1rem}.combo-clear{min-width:44px;min-height:44px}}.command-palette{z-index:9999;background:#0f0f0f73;justify-content:center;align-items:flex-start;padding:12vh 1rem 1rem;display:flex;position:fixed;inset:0}.command-palette-panel{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(620px,100%);overflow:hidden;box-shadow:0 20px 60px #00000040}.command-palette-input{border-bottom:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:.75rem;padding:.5rem .75rem .5rem 1rem;display:flex}.command-palette-input input{min-width:0;min-height:44px;font:inherit;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;font-size:1rem}.command-palette-close{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);min-height:32px;color:var(--text-secondary);font:inherit;cursor:pointer;padding:0 .5rem;font-size:.75rem;font-weight:600}.command-palette-list{max-height:min(420px,60vh);margin:0;padding:0;list-style:none;overflow-y:auto}.command-palette-list:not(:empty){padding:.25rem 0}.command-palette-option{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;min-height:44px;padding:.5rem 1rem;font-size:.875rem;display:flex}.command-palette-option[aria-selected=true]{background:var(--accent-light)}.command-palette-text{overflow-wrap:anywhere;min-width:0}.command-palette-text strong{color:var(--text-primary);font-weight:600;display:block}.command-palette-text small{color:var(--text-secondary);font-size:.75rem;display:block}.command-palette-kind{border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary);flex-shrink:0;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.command-palette-status{text-align:center;color:var(--text-secondary);margin:0;padding:1rem;font-size:.875rem}.command-palette-status:empty{display:none}.command-palette-error{color:var(--danger)}.command-palette-footer{border-top:1px solid var(--border);color:var(--text-secondary);flex-wrap:wrap;gap:.75rem;padding:.5rem 1rem;font-size:.75rem;display:flex}@media (max-width:640px){.command-palette{padding:max(1rem, env(safe-area-inset-top)) 1rem 1rem}.command-palette-footer{display:none}}.study-tutor{min-width:0;max-width:56rem;margin:0 auto}.study-tutor .study-tutor-controls{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.study-tutor .label{gap:.5rem;min-width:0;margin:0;display:grid}.study-tutor .study-tutor-controls>label{width:20rem;max-width:100%}.study-tutor .input{width:100%;min-width:0;font-size:14px}.study-tutor .study-tutor-help{color:var(--text-secondary);margin:.75rem 0 1.5rem;font-size:.875rem;line-height:1.6}.study-tutor .study-tutor-suggestions{margin-bottom:1.5rem}.study-tutor .study-tutor-suggestions h2{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;line-height:1.4}.study-tutor .study-tutor-suggestions ul{margin:0;padding:0;list-style:none}.study-tutor .study-tutor-suggestions button{min-height:40px;color:var(--text-secondary);font:inherit;text-align:left;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:.5rem 0;font-size:.875rem;line-height:1.5;text-decoration:underline;display:block}.study-tutor .study-tutor-conversation ol{margin:0;padding:0;list-style:none}.study-tutor .study-tutor-message{border-bottom:1px solid var(--border);min-width:0;padding:1rem 0}.study-tutor .study-tutor-speaker{color:var(--text-secondary);font-size:.75rem;font-weight:600}.study-tutor .study-tutor-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.5rem 0 0;font-size:1rem;line-height:1.6}.study-tutor .study-tutor-status{color:var(--text-secondary);margin:.75rem 0;font-size:.875rem;line-height:1.5}.study-tutor .study-tutor-form{gap:1rem;display:grid}.study-tutor .study-tutor-form textarea{field-sizing:content;resize:vertical}.study-tutor .study-tutor-send{justify-content:flex-end;display:flex}.study-tutor .btn{white-space:normal;justify-content:center;min-height:40px}.study-tutor [role=alert]:focus{outline:2px solid var(--accent-dark);outline-offset:4px}@media (max-width:1024px),(pointer:coarse){.study-tutor .input{min-height:44px;font-size:16px}.study-tutor .btn,.study-tutor .study-tutor-suggestions button{min-height:44px}.study-tutor .btn-primary{min-height:48px}}@media (max-width:480px){.study-tutor .study-tutor-controls>label,.study-tutor .study-tutor-send .btn{width:100%}}.header,.bottom-nav,.sidebar,.sidebar-drawer{background:#fff}.bottom-nav-item.active .bottom-nav-icon{background:0 0}.bottom-nav-item.active{color:var(--accent-dark);font-weight:700}.app-layout .glass-card{background:var(--bg-secondary);-webkit-backdrop-filter:none}:where(.app-layout) input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden])),:where(.app-layout) select,:where(.app-layout) textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);padding:.5rem .75rem;font-size:.875rem;font-weight:400;line-height:1.5}:where(.app-layout) :where(input,textarea)::-moz-placeholder{color:var(--text-tertiary)}:where(.app-layout) :where(input,textarea)::placeholder{color:var(--text-tertiary)}@media (max-width:767px),(pointer:coarse){:where(.app-layout) input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden])),:where(.app-layout) select,:where(.app-layout) textarea{font-size:1rem}}:where(.app-layout) small{font-size:.75rem}:where(.app-layout) :is(b,strong),:where(.app-layout) th{font-weight:600}.data-table-container:has(>.data-table>tbody:empty):after{content:"No hay registros todavía.";text-align:center;color:var(--text-secondary);padding:2rem 1rem;font-size:.875rem;display:block}.data-table-container:has(>table>tbody:empty):after{content:"No hay registros todavía.";text-align:center;color:var(--text-secondary);padding:2rem 1rem;font-size:.875rem;display:block}.odd\:bg-\[var\(--bg-secondary\)\]:nth-child(odd){background-color:var(--bg-secondary)}.even\:bg-\[var\(--bg-primary\)\]:nth-child(2n){background-color:var(--bg-primary)}.even\:bg-neutral-50:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.focus-within\:ring-2:focus-within{--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-within\:ring-fuchsia-700:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(165 29 98/var(--tw-ring-opacity,1))}.hover\:border-\[var\(--accent\)\]:hover{border-color:var(--accent)}.hover\:border-\[var\(--text-tertiary\)\]:hover{border-color:var(--text-tertiary)}.hover\:bg-fuchsia-700:hover{--tw-bg-opacity:1;background-color:rgb(165 29 98/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity,1))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.focus\:border-accent:focus{--tw-border-opacity:1;border-color:rgb(255 62 155/var(--tw-border-opacity,1))}.focus\:ring-0: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(0px + 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-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-accent:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 62 155/var(--tw-ring-opacity,1))}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--accent-dark\)\]:focus-visible{outline-color:var(--accent-dark)}.focus-visible\:outline-fuchsia-700:focus-visible{outline-color:#a51d62}.disabled\:bg-slate-300:disabled{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (max-width:1024px){.max-\[1024px\]\:min-h-11{min-height:2.75rem}}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:w-56{width:14rem}.sm\:w-auto{width:auto}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:self-auto{align-self:auto}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:block{display:block}.md\:hidden{display:none}.md\:flex-none{flex:none}.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))}.md\:grid-cols-\[minmax\(0\,1fr\)_auto_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto auto}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.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))}}@media (min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,2fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}.\[\&\>div\]\:min-w-0>div{min-width:0}.\[\&\>li\:nth-child\(even\)\>button\]\:bg-\[var\(--bg-primary\)\]>li:nth-child(2n)>button{background-color:var(--bg-primary)}.\[\&\>li\:nth-child\(odd\)\>button\]\:bg-\[var\(--bg-secondary\)\]>li:nth-child(odd)>button{background-color:var(--bg-secondary)}.\[\&_\.btn\]\:px-3 .btn{padding-left:.75rem;padding-right:.75rem}.\[\&_\.btn\]\:py-2 .btn{padding-top:.5rem;padding-bottom:.5rem}.\[\&_\.btn\]\:text-\[13px\] .btn{font-size:13px}.\[\&_\.btn\]\:leading-normal .btn{line-height:1.5}@media (any-pointer:coarse){.\[\@media\(any-pointer\:coarse\)\]\:min-h-11{min-height:2.75rem}}
