*,:before,:after{--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: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,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{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-1{margin-bottom:.25rem}.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}.ml-auto{margin-left:auto}.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-6{margin-top:1.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-1{height:.25rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-full{height:100%}.max-h-72{max-height:18rem}.max-h-\[360px\]{max-height:360px}.w-full{width:100%}.max-w-xs{max-width:20rem}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.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))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-line{--tw-border-opacity: 1;border-color:rgb(229 234 240 / var(--tw-border-opacity, 1))}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--line\)\]{background-color:var(--line)}.p-0{padding:0}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.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-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tracking-wider{letter-spacing:.05em}.text-\[\#48bb78\]{--tw-text-opacity: 1;color:rgb(72 187 120 / var(--tw-text-opacity, 1))}.text-\[\#ed9299\]{--tw-text-opacity: 1;color:rgb(237 146 153 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px 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{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.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)}.sepia{--tw-sepia: sepia(100%);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)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:where([data-floating]){inset:auto;margin:0;padding:0;border:0;background:none;color:inherit;overflow:visible}.support-tabs{display:flex;gap:10px;overflow:auto;margin-bottom:24px}.support-tabs button{white-space:nowrap;padding:12px 18px;border-radius:8px;border:1px solid var(--line)}.support-tabs .selected{color:var(--accent)}.support-item{padding:24px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.support-item p{font-size:12px;overflow-wrap:anywhere}.support-form{padding:24px}.support-form label{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:12px;color:var(--muted)}.support-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.resolution{display:flex;gap:10px;flex-wrap:wrap}.support-form textarea{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:12px;min-height:100px;color:var(--text)}@media(max-width:850px){.support-item{align-items:start;flex-direction:column}.support-fields{grid-template-columns:1fr;gap:0}.support-tabs button{font-size:12px;padding:10px}}.command-trigger{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--input);color:var(--muted);border-radius:8px;padding:9px 12px;font-size:12px;min-height:44px}.command-trigger>span{flex:1;text-align:left}kbd{font:inherit;font-size:10px;border:1px solid var(--line);border-radius:4px;padding:2px 5px;color:var(--muted)}.command-dialog{position:fixed;inset:12vh 0 auto;margin:0 auto;width:min(680px,calc(100vw - 32px));max-height:76dvh;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:0 30px 120px #0007,0 0 0 1px #fff1 inset;overflow:hidden;display:none;flex-direction:column}.command-dialog[open]{display:flex;animation:command-pop .18s var(--page-ease-out, ease-out)}.command-dialog.has-preview{width:min(920px,calc(100vw - 32px))}@keyframes command-pop{0%{opacity:0;transform:translateY(-6px) scale(.985)}}.command-dialog::backdrop{background:#07091099;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.command-search{display:flex;align-items:center;gap:12px;padding:6px 12px 6px 18px;border-bottom:1px solid var(--line)}.command-search-icon{color:var(--muted)}.command-search input,.command-search input:not([type=checkbox]):not([type=range]):not([type=color]){border:0;border-radius:0;background:transparent;flex:1;min-width:0;width:auto;font-size:16px;padding:14px 0;outline:none;box-shadow:none}.command-search input:focus,.command-search input:focus-visible{outline:none;box-shadow:none;border:0}.command-close{min-width:44px;min-height:44px;background:transparent;border:0}.command-crumb{display:inline-flex;align-items:center;gap:4px;padding:4px 10px 4px 6px;border-radius:999px;border:1px solid var(--line);background:var(--soft);font-size:12px;white-space:nowrap}.command-body{display:flex;min-height:0;flex:1}.command-results{flex:1;min-width:0;max-height:52dvh;overflow:auto;padding:6px 8px 10px;overscroll-behavior:contain}.command-section-title{padding:12px 12px 4px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.command-option{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;cursor:pointer;min-height:50px}.command-option.highlighted{background:var(--soft)}.command-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.command-option strong{font-size:13px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-option strong mark{background:transparent;color:var(--accent);font-weight:700}.command-option small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-icon{display:grid;place-items:center;background:var(--input);color:var(--accent);width:32px;height:32px;border-radius:8px;flex-shrink:0}.command-calc .command-icon{background:color-mix(in srgb,var(--accent) 18%,transparent)}.command-quick{opacity:0;font-size:9px;transition:opacity .12s}.command-option.highlighted .command-quick{opacity:1}.command-more{color:var(--muted);display:grid;place-items:center;width:30px;height:30px;border-radius:7px;border:0;background:transparent;flex-shrink:0}.command-more:hover{background:var(--input);color:var(--text)}.command-tips{margin-top:8px;display:flex;flex-direction:column;gap:7px;font-size:12px}.command-tips p{display:flex;align-items:baseline;gap:8px;margin:0}.command-tips kbd{flex-shrink:0}.command-tips span{color:var(--muted)}.command-tips-title{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px}.command-count{color:var(--muted)}.command-hint{font-size:10px;color:var(--muted);white-space:nowrap}.command-preview{width:300px;flex-shrink:0;border-left:1px solid var(--line);padding:22px 20px;overflow:auto;display:flex;flex-direction:column;gap:8px}.command-preview-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--input);color:var(--accent);margin-bottom:6px}.command-preview h3{margin:0;font-size:15px;font-weight:600}.command-preview p{margin:0;font-size:12px}.command-preview dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:10px 0 0;font-size:12px}.command-preview dt{color:var(--muted)}.command-preview dd{margin:0;overflow:hidden;text-overflow:ellipsis}.command-preview-actions{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:4px}.command-action{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;border:0;background:transparent;font-size:12px;text-align:left}.command-action:hover{background:var(--soft)}.command-footer{padding:10px 16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;color:var(--muted)}.command-crumbs{display:inline-flex;gap:6px;align-items:center}.command-keys{display:inline-flex;gap:5px;align-items:center;white-space:nowrap}.command-empty{padding:30px 20px;color:var(--muted);font-size:13px}@media(max-width:700px){.command-trigger{font-size:11px;gap:8px;padding:7px 10px}.command-trigger>kbd{display:none}.command-dialog{inset:8px 8px auto;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:14px}.command-dialog[open]{animation:none}.command-search{padding:4px 8px 4px 14px}.command-results{max-height:calc(100dvh - 150px)}.command-option{min-height:58px}.command-quick,.command-keys{display:none}}.ring{box-shadow:none}:root{color-scheme:light;--bg: #f5f6f8;--surface: #fff;--side: #fafbfc;--line: #e7e9ef;--text: #202735;--muted: #77808f;--accent: #6953de;--soft: #f0edff;--input: #f7f8fa}:root[data-theme=dark]{color-scheme:dark;--bg: #111217;--surface: #191a22;--side: #15161c;--line: #2a2b36;--text: #eeedf5;--muted: #9393a5;--accent: #b5a5ff;--soft: #29243e;--input: #20212b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px}button,a,input,select{outline-offset:4px}button{cursor:pointer;transition:background .16s}button:disabled{opacity:.5;cursor:wait}h1,h2,h3,p{margin:0}h2{font-size:16px;font-weight:650;letter-spacing:-.3px}h3{font-weight:550}small{display:block}.muted{color:var(--muted)}.app-shell{display:flex;min-height:100vh}.sidebar{width:244px;flex-shrink:0;background:var(--side);border-right:1px solid var(--line);padding:30px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:10px;align-items:center;font-size:25px;font-weight:750;letter-spacing:-1px;padding:0 10px;text-decoration:none;color:var(--text)}.brand-mark{background:#aa97fa;color:#201736;width:35px;height:35px;border-radius:11px;display:grid;place-items:center}.brand-dot{font-size:10px;align-self:start;margin-top:6px}.school{border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:10px;padding:12px 9px;margin:32px 0}.school strong{font-size:11px}.school small{font-size:10px;color:var(--muted);margin-top:3px}.school-logo{background:var(--soft);color:var(--accent);padding:7px 11px;border-radius:8px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.3px;color:var(--muted)}.nav-label{padding:0 13px;margin-bottom:13px}.nav-symbol{font-size:20px;width:21px}.nav-count{margin-left:auto;font-size:10px;background:var(--line);padding:2px 6px;border-radius:4px}.sidebar-bottom{margin-top:auto}.demo-note{font-size:11px;padding:15px 8px}.demo-note small{font-size:10px;color:var(--muted);margin:6px 0 0 13px}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#89cfa4;margin-right:8px}.theme-toggle{border:1px solid var(--line);border-radius:8px;width:100%;padding:10px;color:var(--muted);font-size:12px}.profile{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:20px 4px 0;margin-top:20px}.profile strong{font-size:12px}.profile small{font-size:10px;color:var(--muted);margin-top:3px}.avatar{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;background:#dbc3b0;color:#43332e;font-weight:650;font-size:11px;flex-shrink:0}main{min-width:0;flex:1}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-size:12px}header strong{color:var(--text);font-weight:500}.term{font-size:10px;color:var(--muted);border:1px solid var(--line);padding:7px 10px;border-radius:6px}.workspace{max-width:1600px;margin:auto;padding:38px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading h1{font-size:clamp(24px,2.3vw,33px);letter-spacing:-1px;font-weight:600;margin:10px 0}.page-heading p.muted{font-size:12px}.primary{background:#b7a5ff;color:#25194c;border:1px solid #b7a5ff;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:650;white-space:nowrap}.primary:hover{background:#c8baff}.secondary{border:1px solid var(--line);border-radius:7px;padding:9px 13px;font-size:12px;white-space:nowrap}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{padding:23px;display:flex;flex-direction:column}.stat-value{font-size:34px;letter-spacing:-1px;font-weight:550;margin:18px 0 10px}.stat .eyebrow{font-size:9px}.overview-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:24px}.panel-heading{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.text-button{color:var(--accent);font-size:11px;white-space:nowrap}.attendance-visual{display:flex;align-items:center;justify-content:center;gap:50px;padding:16px 25px 28px}.ring{width:168px;height:168px;border-radius:50%;background:conic-gradient(#b4a1ff var(--progress),var(--line) 0);padding:13px;flex-shrink:0}.ring>div{background:var(--surface);border-radius:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.ring strong{font-size:34px;font-weight:550}.ring span{color:var(--muted);font-size:11px}.legend{min-width:140px}.legend>div{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:14px;color:var(--muted)}.legend strong{margin-left:auto;color:var(--text)}.legend-dot{width:7px;height:7px;border-radius:50%;background:#b4a1ff}.legend-dot[data-status=Absent]{background:#ed9299}.legend-dot[data-status=Late]{background:#eac780}.legend-dot[data-status=Excused]{background:#82bed4}.register-cta{display:flex;justify-content:space-between;align-items:center;background:var(--input);padding:15px 20px;border-radius:8px;margin:0 20px 20px;width:calc(100% - 40px);text-align:left;font-size:12px}.register-cta small{color:var(--muted);font-size:10px;margin-top:4px}.class-list{padding:0 24px}.class-list button{display:flex;align-items:center;width:100%;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);text-align:left}.class-icon{padding:10px;border-radius:9px;background:var(--soft);color:var(--accent);font-size:12px;font-weight:600}.class-list strong{font-size:12px;font-weight:500}.class-list small{font-size:10px;color:var(--muted);margin-top:4px}.pill{background:var(--input);border:1px solid var(--line);border-radius:5px;padding:4px 8px;font-size:10px;color:var(--muted)}.notice-row{display:flex;align-items:center;gap:16px;padding:20px 24px;border-top:1px solid var(--line)}.notice-icon{background:var(--soft);color:var(--accent);border-radius:8px;padding:8px 12px;font-size:20px}.notice-row h3{font-size:13px}.notice-row p{font-size:10px;color:var(--muted);margin-top:5px}.notice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.notice-card h2{margin:25px 0 35px;line-height:1.6;overflow-wrap:anywhere}.table-toolbar{display:flex;gap:12px;padding:20px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:10px;flex:1;min-width:200px}.search input{width:100%}input,select{background:var(--input);border:1px solid var(--line);border-radius:7px;padding:9px 12px;color:var(--text);font:inherit;font-size:12px}input::placeholder{color:var(--muted)}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:9px;letter-spacing:1px;font-weight:600;color:var(--muted);background:var(--input);padding:14px 22px}td{padding:17px 22px;border-top:1px solid var(--line);font-size:12px}td strong{font-weight:550}td small{font-size:9px;color:var(--muted);margin-top:3px}.student-avatar{background:var(--soft);color:var(--accent)}.status-buttons{display:flex;gap:5px}.status-buttons button{border:1px solid var(--line);padding:6px 8px;border-radius:5px;font-size:10px;color:var(--muted)}.status-buttons button.selected{background:var(--soft);color:var(--accent);border-color:var(--accent)}.attendance-status{color:var(--muted)}.attendance-status[data-status=Present]{color:#62b78b}.attendance-status[data-status=Absent]{color:#e88790}.table-footer{padding:18px 22px;color:var(--muted);font-size:10px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}.empty{padding:50px;text-align:center;color:var(--muted)}footer{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:30px}.error,.feedback{padding:12px 18px;border-radius:8px;margin-bottom:20px;font-size:12px;display:flex;justify-content:space-between}.error{background:#602e37;color:#ffe0e5}.feedback{background:var(--soft);color:var(--accent)}.modal-backdrop{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modal{width:460px;max-width:100%;padding:25px}.modal .panel-heading{padding:0 0 20px}.modal label{display:flex;flex-direction:column;gap:8px;font-size:12px;margin:16px 0;color:var(--muted)}@media(max-width:1100px){.sidebar{width:210px}.workspace{padding:25px}.attendance-visual{gap:20px}.stats{grid-template-columns:repeat(2,1fr)}.overview-grid,.notice-grid{grid-template-columns:1fr}}@media(max-width:700px){.app-shell{display:block}.sidebar{position:static;width:auto;height:auto;padding:15px}.school,.nav-label,.demo-note,.profile{display:none}.brand{font-size:20px}.brand-mark{width:28px;height:28px}.sidebar nav{display:flex;gap:4px;margin-top:15px;overflow:auto}.sidebar nav button{width:auto;white-space:nowrap;font-size:11px;padding:8px}.nav-symbol,.nav-count{display:none}.sidebar-bottom{position:absolute;top:17px;right:15px}.theme-toggle{font-size:10px;padding:7px}header{height:52px;padding:0 20px}.term{display:none}.workspace{padding:24px 16px}.page-heading{align-items:start;flex-direction:column}.stat{padding:17px}.stat-value{font-size:28px}.panel-heading{padding:20px}.attendance-visual{gap:25px}.ring{width:135px;height:135px}.table-footer span{display:none}footer{gap:10px}.page-heading h1{font-size:27px}}.chat-launcher{position:fixed;right:24px;bottom:20px;z-index:25;box-shadow:0 6px 24px #0002;min-height:44px}.global-chat{position:fixed;right:24px;bottom:76px;width:min(1120px,calc(100vw - 48px));height:min(800px,calc(100dvh - 100px));z-index:24;display:flex;flex-direction:column;padding:14px;background:var(--bg);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 80px #0005;overflow:hidden}.global-chat[hidden]{display:none}.global-chat app-chat{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.global-chat{padding:6px}@media(max-width:700px){.global-chat{inset:8px 8px 72px;width:auto;height:auto;border-radius:14px}.chat-launcher{right:12px;bottom:14px}}@media(min-width:1051px){.global-chat{width:min(1100px,calc(100vw - 280px))}}.chat-launcher{display:inline-flex;align-items:center;gap:8px;isolation:isolate;overflow:hidden;min-height:42px;padding:5px 11px 5px 5px;border:1px solid transparent;border-radius:999px;color:#fff;box-shadow:0 8px 28px #25154338,0 2px 5px #25154330,inset 0 1px #ffffff30;font-family:inherit;touch-action:none;cursor:grab;bottom:max(20px,env(safe-area-inset-bottom));transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,opacity .2s;animation:launcher-aura 4.5s ease-in-out infinite}.chat-launcher.is-dragging{cursor:grabbing;transition:none;animation:none}@keyframes launcher-aura{0%,to{box-shadow:0 8px 28px #25154338,0 2px 5px #25154330,0 0 20px color-mix(in srgb,var(--accent) 30%,transparent),inset 0 1px #ffffff30}50%{box-shadow:0 12px 36px #25154350,0 4px 10px #25154340,0 0 32px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 1px #ffffff45}}.chat-launcher:after{content:"";position:absolute;inset:-60% -20%;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#ffffff20 48%,transparent 61%);transform:translate(-100%);transition:transform .7s ease}.chat-launcher:hover:after{transform:translate(100%)}.chat-launcher:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 42px #35205c65,0 0 36px color-mix(in srgb,var(--accent) 65%,transparent),0 0 0 4px #b4a1ff20,inset 0 1px #ffffff45;animation:none}.chat-launcher:active{transform:translateY(0) scale(.97)}.chat-launcher:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.chat-launcher-icon{position:relative;display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border:1px solid #ffffff28;border-radius:50%;background:linear-gradient(145deg,#ffffff25,#ffffff08);box-shadow:inset 0 1px #ffffff20;color:#eee6ff}.chat-launcher-icon svg{grid-area:1 / 1;width:17px;height:17px;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .2s}.chat-launcher .launcher-spark{animation:spark-twinkle 3.5s ease-in-out infinite}@keyframes spark-twinkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.12) rotate(8deg)}}.chat-launcher .launcher-close{opacity:0;transform:rotate(-90deg) scale(.5)}.chat-launcher.is-open .launcher-spark{opacity:0;transform:rotate(90deg) scale(.5);animation:none}.chat-launcher.is-open .launcher-close{opacity:1;transform:rotate(0) scale(1)}.chat-launcher-label{font-size:11px;font-weight:650;letter-spacing:.1px;white-space:nowrap}.chat-launcher-badge{padding:3px 5px;border-radius:5px;background:#ffffff15;border:1px solid #ffffff20;color:#ece5ff;font-size:8px;letter-spacing:1px;font-weight:700}.chat-scrim{position:fixed;inset:0;z-index:23;background:#11102070;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s}.chat-scrim.is-open{opacity:1;visibility:visible;pointer-events:auto}.global-chat{bottom:92px;height:min(800px,calc(100dvh - 112px));border-radius:22px;border-color:color-mix(in srgb,var(--accent) 24%,var(--line));box-shadow:0 24px 80px #100b2638,0 2px 10px #100b2615;transform-origin:calc(100% - 90px) calc(100% + 40px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(20px) scale(.96);transition:opacity .2s ease,transform .25s ease,visibility .25s;outline:none}.global-chat.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none;animation:chat-unfold .48s cubic-bezier(.16,1,.3,1) both;transition:opacity .2s,transform .25s,visibility 0s}@keyframes chat-unfold{0%{opacity:0;transform:translateY(34px) scale(.9)}70%{opacity:1;transform:translateY(-3px) scale(1.005)}to{opacity:1;transform:none}}.chat-resize-handle{position:absolute;top:0;left:0;width:18px;height:18px;z-index:1;cursor:nwse-resize;touch-action:none;border-radius:20px 0 12px}.chat-resize-handle:after{content:"";position:absolute;top:6px;left:6px;width:7px;height:7px;border-top:2px solid var(--line);border-left:2px solid var(--line);border-radius:3px 0 0;transition:border-color .2s}.chat-resize-handle:hover:after{border-color:var(--accent)}.global-chat.is-resizing{transition:none;-webkit-user-select:none;user-select:none}.global-chat.is-maximized{inset:20px;width:auto;height:auto}.global-chat.is-mobile{inset:auto;top:var(--chat-visible-top, 0px);left:var(--chat-visible-left, 0px);width:var(--chat-visible-width, 100vw);height:var(--chat-visible-height, 100dvh);max-height:none;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border:0;border-radius:0;background:var(--surface);transform-origin:50% 100%}.global-chat.is-mobile.is-open{animation:chat-sheet-in .42s cubic-bezier(.16,1,.3,1) both}@keyframes chat-sheet-in{0%{opacity:0;transform:translateY(48px) scale(.98)}to{opacity:1;transform:none}}.chat-launcher.mobile-chat-open{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.9)}@media(max-width:700px){.chat-launcher{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));min-height:40px;padding:5px 10px 5px 5px;gap:7px}.chat-launcher-icon{width:28px;height:28px}}@media(prefers-reduced-motion:reduce){.global-chat,.global-chat.is-open,.global-chat.is-mobile.is-open,.chat-launcher,.chat-launcher:after,.chat-launcher-icon svg,.chat-scrim{animation:none;transition:none}.chat-launcher:hover{transform:none}}:root,:root[data-theme=dark]{--surface-solid: #fff;--sidebar-solid: #fff;--card-radius: 20px;--button-radius: 12px;--glass-blur: 20px;--surface-opacity: 82%;--dashboard-gap: 20px;--workspace-width: 1560px;--accent-ink: #fff;--surface: color-mix( in srgb, var(--surface-solid) var(--surface-opacity), transparent );--side: color-mix(in srgb, var(--sidebar-solid) 78%, transparent);--soft: color-mix(in srgb, var(--accent) 11%, var(--surface-solid));--input: color-mix(in srgb, var(--surface-solid) 72%, var(--bg))}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}body{background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}:root[data-workspace-background=aurora] body{background-image:radial-gradient(ellipse 70% 60% at 85% 8%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 60%),radial-gradient(ellipse 60% 50% at 15% 90%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 55%),radial-gradient(ellipse 50% 40% at 50% 45%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 50%);background-attachment:fixed;background-size:135% 135%;animation:aurora-drift 24s ease-in-out infinite alternate}@keyframes aurora-drift{0%{background-position:0% 0%}50%{background-position:100% 50%}to{background-position:40% 100%}}:root[data-workspace-background=grid] body{background-image:linear-gradient(color-mix(in srgb,var(--accent) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 7%,transparent) 1px,transparent 1px);background-size:24px 24px;background-attachment:fixed}button,input,select,textarea{font-family:inherit}button{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{cursor:not-allowed}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:var(--button-radius);font-size:12px;font-weight:600;padding:10px 15px;transition:background .2s,box-shadow .2s,transform .2s}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 14%,transparent)}.primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--text));border-color:transparent;transform:translateY(-1px)}.secondary{background:var(--surface);border:1px solid var(--line);color:var(--text)}.secondary:hover{background:var(--soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.text-button{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-weight:550;font-size:12px;min-height:32px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;background:transparent;border-radius:var(--button-radius);color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--soft);color:var(--accent)}input:not([type=checkbox]):not([type=range]):not([type=color]),select,textarea{border-radius:min(var(--button-radius),14px);border:1px solid var(--line);background:var(--input);color:var(--text)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.panel{border-radius:var(--card-radius);background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);box-shadow:0 4px 18px #17122d03,inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1),border-color .25s ease}.panel:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));box-shadow:0 12px 36px -8px color-mix(in srgb,var(--accent) 14%,#00000025),inset 0 1px #fff2}.app-shell{min-height:100dvh;align-items:stretch}.app-shell>main{min-width:0;flex:1}.sidebar{width:232px;height:100dvh;position:sticky;top:0;z-index:20;padding:27px 15px 18px;background:var(--side);border-right:1px solid color-mix(in srgb,var(--line) 75%,transparent);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));flex-shrink:0}.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-size:26px;letter-spacing:-1.2px;font-weight:720;padding:0 12px}.brand>span:last-child{display:flex;align-items:flex-start}.brand-mark{width:33px;height:36px;border-radius:11px;background:var(--accent);color:var(--accent-ink);font-size:31px;line-height:1;font-weight:650;letter-spacing:-2px;padding-bottom:5px;position:relative}.brand-dot{font-size:10px;letter-spacing:0;margin:3px 0 0 4px;opacity:.45}.school{display:flex;gap:10px;align-items:center;margin:30px 0 26px;padding:12px 10px;background:color-mix(in srgb,var(--surface-solid) 40%,transparent);border:1px solid var(--line);border-radius:min(var(--card-radius),14px)}.school-logo{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;padding:0;background:var(--soft);color:var(--accent);border-radius:9px}.school strong{font-size:11px;font-weight:600;letter-spacing:-.1px}.school small{font-size:9px;margin-top:4px;color:var(--muted)}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:650;color:var(--muted)}.nav-label{padding:0 13px;margin:0 0 12px}.sidebar nav{position:relative;display:flex;flex-direction:column;gap:3px}.nav-indicator{position:absolute;top:0;left:0;z-index:0;opacity:0;border-radius:min(var(--button-radius),12px);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 16%,transparent),color-mix(in srgb,var(--accent) 5%,transparent));box-shadow:inset 3px 0 0 var(--accent),0 2px 10px color-mix(in srgb,var(--accent) 12%,transparent);pointer-events:none;transition:transform .38s cubic-bezier(.16,1,.3,1),width .38s cubic-bezier(.16,1,.3,1),height .38s cubic-bezier(.16,1,.3,1),opacity .2s ease}.sidebar nav button{position:relative;z-index:1;display:flex;align-items:center;gap:11px;min-height:43px;width:100%;padding:10px 12px;border-radius:min(var(--button-radius),12px);font-size:12px;font-weight:500;color:var(--muted);margin:0;background:transparent;text-align:left;transition:background .2s,color .2s}.sidebar nav button:hover{background:color-mix(in srgb,var(--soft) 60%,transparent);color:var(--text)}.sidebar nav button.active{color:var(--accent);font-weight:650}.nav-count{margin-left:auto;font-size:9px;border-radius:5px;background:color-mix(in srgb,var(--accent) 9%,var(--surface-solid));color:var(--muted);padding:2px 6px}.sidebar nav button.nav-ai{margin-top:13px;color:var(--accent)}.nav-ai-label{margin-left:auto;font-size:8px;letter-spacing:.7px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:4px;padding:2px 4px}.sidebar-bottom{margin-top:auto;padding-top:24px}.sidebar-note{display:flex;align-items:center;font-size:10px;color:var(--muted);padding:14px 12px}.status-dot{background:#73a48e;width:5px;height:5px}.theme-toggle{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;padding:11px 12px;font-size:11px;text-align:left;border-radius:var(--button-radius)}.theme-toggle:hover{background:var(--soft)}.appearance-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 6px 6px 12px;font-size:11px;color:var(--muted)}.mode-switch{position:relative;display:flex;padding:3px;border:1px solid var(--line);border-radius:min(var(--button-radius),10px);background:var(--surface-solid)}.mode-glide{position:absolute;top:0;left:0;z-index:0;opacity:0;border-radius:min(var(--button-radius),7px);background:var(--soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),0 2px 6px -2px color-mix(in srgb,var(--accent) 40%,transparent);pointer-events:none;transition:transform .42s cubic-bezier(.34,1.4,.64,1),width .42s cubic-bezier(.34,1.4,.64,1),height .42s cubic-bezier(.34,1.4,.64,1),opacity .2s}.mode-switch button{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:26px;margin:0;padding:0;border:0;border-radius:min(var(--button-radius),7px);background:transparent;color:var(--muted);transition:color .15s}.mode-switch button:hover{color:var(--text)}.mode-switch button.active{color:var(--accent)}.mode-switch button app-icon{transition:transform .45s cubic-bezier(.34,1.4,.64,1)}.mode-switch button:hover app-icon{transform:rotate(-14deg) scale(1.08)}.mode-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lang-switch button{width:auto;min-width:28px;padding:0 6px;font-size:10.5px;font-weight:650;letter-spacing:.04em;transition:color .15s,background .2s}.lang-switch button.active{background:var(--soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.mobile-shell .sidebar .appearance-row{font-size:12px;padding:8px 8px 8px 12px}.profile{display:flex;align-items:center;gap:10px;width:100%;margin-top:18px;padding:17px 7px 0;border:0;border-top:1px solid var(--line);text-align:left;background:transparent}.profile-info{flex:1;min-width:0}.profile strong{font-size:11px;font-weight:600}.profile small{font-size:9px;color:var(--muted);margin-top:4px;text-transform:capitalize}.avatar{width:33px;height:33px;font-size:10px;background:color-mix(in srgb,var(--accent) 12%,var(--surface-solid));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 15%,transparent)}.workspace-header{position:sticky;top:0;z-index:15;height:70px;padding:0 34px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);background:color-mix(in srgb,var(--surface-solid) 55%,transparent);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));display:flex;align-items:center;justify-content:space-between;gap:16px}.workspace-breadcrumb{display:flex;align-items:center;gap:12px;min-width:0;font-size:11px}.breadcrumb-parent{color:var(--muted)}.breadcrumb-divider{color:var(--muted);opacity:.35}.workspace-breadcrumb strong{font-weight:550;white-space:nowrap}.workspace-header-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}.header-divider{height:22px;width:1px;background:var(--line)}.header-avatar{cursor:pointer}.command-trigger{min-height:36px;min-width:210px;border:1px solid var(--line);border-radius:var(--button-radius);font-size:10px;padding:8px 11px;gap:30px;background:color-mix(in srgb,var(--surface-solid) 60%,transparent)}.command-trigger kbd{font-size:9px;background:var(--surface)}.workspace{padding:34px;max-width:var(--workspace-width);width:100%;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading .eyebrow{display:flex;align-items:center;gap:7px}.heading-spark{color:var(--accent)}.page-heading h1{font-size:clamp(27px,2.5vw,37px);line-height:1.15;font-weight:580;letter-spacing:-1.4px;margin:11px 0 10px;color:var(--text)}.page-description{font-size:12px;line-height:1.7;color:var(--muted)}.page-heading-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.heading-date{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);white-space:nowrap}.customize-button{background:var(--surface);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));font-size:11px;min-height:38px}.panel-heading{padding:22px;gap:14px}.panel-heading h2{font-size:14px;letter-spacing:-.3px;font-weight:600}.section-description{font-size:11px;color:var(--muted);margin-top:6px}.pill{background:var(--soft);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:6px;padding:4px 7px;font-size:9px;color:var(--muted)}.table-toolbar{gap:12px;padding:19px 20px;border-bottom:1px solid var(--line);align-items:center}.search{position:relative;gap:9px;min-width:180px}.search app-icon{position:absolute;left:12px;z-index:1;color:var(--muted)}.search input{padding-left:38px;min-height:39px}.table-toolbar select{min-height:39px}th{background:color-mix(in srgb,var(--surface-solid) 40%,transparent);padding:14px 22px;font-size:9px;color:var(--muted);font-weight:600;letter-spacing:.8px}td{padding:17px 22px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);font-size:12px}tbody tr{transition:background .15s}tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.table-scroll{border-radius:0 0 var(--card-radius) var(--card-radius);overscroll-behavior-x:contain}.table-footer{font-size:10px;padding:17px 22px;color:var(--muted)}.status-buttons button{border-radius:var(--button-radius);min-height:33px}.status-buttons button.selected{background:var(--soft);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.support-tabs{position:relative;display:flex;gap:5px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:var(--button-radius);width:max-content;max-width:100%;margin-bottom:24px;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.support-tabs button{position:relative;z-index:1;border:0;border-radius:max(0px,calc(var(--button-radius) - 4px));font-size:11px;padding:10px 14px;color:var(--muted);background:transparent;transition:color .2s}.support-tabs button.selected{color:var(--accent);font-weight:600}.notice-grid{gap:var(--dashboard-gap)}.notice-card{padding:24px}.notice-card h2{font-size:17px;line-height:1.6;margin:28px 0}.notice-card .pill{font-size:10px}.workspace-footer{display:flex;justify-content:space-between;gap:20px;max-width:var(--workspace-width);width:100%;margin:27px auto 40px;padding:18px 34px 0;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);font-size:9px;color:var(--muted)}.workspace-footer>span:first-child{font-weight:600;letter-spacing:.1px}.footer-divider{padding:0 12px;opacity:.4}.workspace-footer>span:last-child{opacity:.7}.navigation-scrim,.mobile-menu-button,.sidebar-close{display:none}.dashboard-studio{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.dashboard-studio.has-editor{grid-template-columns:minmax(0,1fr) 326px}.dashboard-canvas{min-width:0;container-type:inline-size;container-name:dashboard}.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--dashboard-gap);align-items:start;position:relative;min-width:0}.dashboard-widget{grid-column:span var(--widget-span);height:var(--widget-height);min-width:0;position:relative;display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:var(--card-radius);background:var(--surface);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:0 3px 5px #20122d02,0 10px 35px #20122d03,inset 0 1px #ffffff24;transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s cubic-bezier(.16,1,.3,1),border-color .28s ease,background .28s ease;animation:widget-arrive .36s cubic-bezier(.22,1,.36,1) backwards}.dashboard-widget:nth-child(1){animation-delay:.04s}.dashboard-widget:nth-child(2){animation-delay:.08s}.dashboard-widget:nth-child(3){animation-delay:.12s}.dashboard-widget:nth-child(4){animation-delay:.16s}.dashboard-widget:nth-child(5){animation-delay:.2s}.dashboard-widget:nth-child(6){animation-delay:.24s}.dashboard-widget:nth-child(n+7){animation-delay:.28s}@keyframes widget-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@supports (animation-timeline: view()){.dashboard-widget{animation:widget-arrive .36s cubic-bezier(.22,1,.36,1) backwards,widget-scroll-reveal linear both;animation-timeline:auto,view();animation-range:normal,entry 0% entry 85%}.dashboard-widget:nth-child(n){animation-delay:var(--arrive-delay, .04s),0s}.dashboard-widget:nth-child(2){--arrive-delay: .08s}.dashboard-widget:nth-child(3){--arrive-delay: .12s}.dashboard-widget:nth-child(4){--arrive-delay: .16s}.dashboard-widget:nth-child(5){--arrive-delay: .2s}.dashboard-widget:nth-child(6){--arrive-delay: .24s}.dashboard-widget:nth-child(n+7){--arrive-delay: .28s}}@keyframes widget-scroll-reveal{0%{opacity:.3;translate:0 20px}to{opacity:1;translate:none}}.dashboard-widget:hover{transform:translateY(-3px);box-shadow:0 16px 40px -8px color-mix(in srgb,var(--accent) 18%,#00000030),0 0 0 1px color-mix(in srgb,var(--accent) 35%,var(--line)),inset 0 1px #ffffff30;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.widget-heading{display:flex;align-items:center;gap:9px;min-height:51px;padding:13px 17px 7px;flex-shrink:0}.widget-heading-icon{display:inline-flex;align-items:center;color:var(--widget-accent)}.widget-heading h2{font-size:12px;font-weight:550;letter-spacing:-.15px;line-height:1.35;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-menu-trigger{width:26px;height:26px;opacity:0;transition:opacity .15s}.dashboard-widget:hover .widget-menu-trigger,.widget-menu-trigger:focus-visible,.is-editing .widget-menu-trigger{opacity:1}.widget-body{padding:7px 20px 18px;flex:1;min-height:0;overflow:auto;overscroll-behavior-y:auto;overscroll-behavior-x:contain;scrollbar-width:thin;border-radius:0 0 var(--card-radius) var(--card-radius)}.is-page-scrolling .dashboard-widget{pointer-events:none}.dash-metric{height:100%;display:flex;flex-direction:column;justify-content:center;gap:10px;position:relative}.dash-metric>strong{font-size:clamp(28px,3vw,40px);font-weight:560;letter-spacing:-1.8px;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--text)}.dash-metric p{font-size:10px;color:var(--muted);line-height:1.5}.metric-progress{height:3px;width:100%;background:var(--line);border-radius:3px;overflow:hidden;margin-top:1px}.metric-progress>span{display:block;height:100%;background:var(--widget-accent);border-radius:3px}.attendance-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0 25px}.attendance-summary>div{display:flex;align-items:baseline;gap:10px}.attendance-summary strong{font-size:48px;letter-spacing:-2px;font-weight:550;line-height:1}.attendance-summary>div>span{font-size:10px;color:var(--muted)}.attendance-summary>p{font-size:10px;line-height:1.9;text-align:right;color:var(--text)}.attendance-summary>p>span{color:var(--muted)}.attendance-distribution{display:flex;height:12px;gap:4px;border-radius:6px;overflow:hidden;margin:0 0 24px;background:var(--input)}.attendance-distribution>span{background:var(--widget-accent);min-width:0;border-radius:3px;flex-basis:0}.attendance-distribution [data-status=Absent]{background:#dc8d9a}.attendance-distribution [data-status=Late]{background:#d7ae68}.attendance-distribution [data-status=Excused]{background:#80b5a8}.attendance-distribution .unmarked-segment{background:var(--line)}.attendance-key{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:21px}.attendance-key>div{display:grid;grid-template-columns:6px 1fr;align-items:center;gap:7px;font-size:9px;color:var(--muted)}.attendance-key strong{grid-column:2;font-size:17px;font-weight:550;letter-spacing:-.4px;color:var(--text)}.legend-dot{width:6px;height:6px;border-radius:50%;background:var(--widget-accent)}.legend-dot[data-status=Absent]{background:#dc8d9a}.legend-dot[data-status=Late]{background:#d7ae68}.legend-dot[data-status=Excused]{background:#80b5a8}.legend-dot.unmarked-dot{background:var(--line)}.widget-footer-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:35px;width:100%;border-top:1px solid var(--line);padding-top:12px;margin-top:10px;font-size:10px;color:var(--accent);text-align:left}.class-list{padding:0}.class-list button{display:flex;gap:11px;align-items:center;padding:14px 0;min-height:62px;border-bottom:1px solid var(--line);width:100%;background:transparent}.class-list button:last-child{border:0}.class-list .class-icon{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;padding:0;border-radius:10px;background:var(--soft);color:var(--widget-accent);font-size:11px;font-weight:600}.class-row-content{flex:1;min-width:0}.class-row-title{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.class-row-title strong{font-size:11px;font-weight:550}.class-row-title small{font-size:9px;color:var(--muted);margin:0}.class-row-track{display:block;height:3px;background:var(--line);border-radius:5px;margin-top:10px;overflow:hidden}.class-row-track>span{display:block;height:100%;background:var(--widget-accent);border-radius:5px}.class-list app-icon{color:var(--muted)}.notice-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:0;border-bottom:1px solid var(--line);min-width:0}.notice-date{flex-shrink:0;width:38px;text-align:center;border:1px solid var(--line);background:var(--input);border-radius:9px;padding:6px 4px;display:flex;flex-direction:column;gap:2px}.notice-date strong{font-size:15px;letter-spacing:-.5px;font-weight:600}.notice-date>span{font-size:8px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}.notice-row-content{min-width:0}.notice-row h3{font-size:11px;font-weight:550;line-height:1.6;overflow-wrap:anywhere}.notice-row p{font-size:9px;margin-top:4px;color:var(--muted)}.dashboard-widget.widget-assistant{background:linear-gradient(145deg,color-mix(in srgb,var(--widget-accent) 72%,#19112f),color-mix(in srgb,var(--widget-accent) 92%,#19112f));color:#fff;border:1px solid #ffffff25;overflow:hidden}.widget-assistant .widget-heading h2,.widget-assistant .widget-heading-icon,.widget-assistant .widget-menu-trigger{color:#eee6ff}.widget-assistant .widget-body{overflow:hidden}.overview-assistant-card{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;padding:8px 2px 0}.overview-assistant-card:before{content:"";position:absolute;z-index:-1;width:210px;height:210px;border:1px solid #ffffff18;border-radius:50%;top:-130px;right:-100px;box-shadow:0 0 0 24px #ffffff04,0 0 0 48px #ffffff03}.assistant-card-orbit{position:absolute;top:0;right:3px;color:#e3d5ff;opacity:.65}.overview-assistant-card h2{font-size:28px;line-height:1.12;letter-spacing:-1px;font-weight:550;margin:0 0 12px}.overview-assistant-card p{font-size:11px;line-height:1.7;color:#e0d6ef;margin-bottom:23px}.overview-assistant-card button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-size:11px;font-weight:550;min-height:42px;border:1px solid #ffffff30;background:#ffffff12;border-radius:var(--button-radius);padding:10px 13px;transition:background .2s}.overview-assistant-card button:hover{background:#ffffff25}.widget-note{width:100%;height:calc(100% - 24px);min-height:60px;resize:none!important;border:0!important;background:transparent!important;padding:7px 0!important;outline:none!important;font-size:13px;line-height:1.9;color:var(--text)}.widget-caption{display:block;color:var(--muted);font-size:9px;padding-top:7px}.widget-empty{font-size:12px;color:var(--muted);line-height:1.8;padding:16px 5px}.embed-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.embed-empty strong{color:var(--text);font-size:16px;font-weight:550}.embed-empty app-icon{color:var(--accent)}.widget-checklist{display:flex;flex-direction:column;gap:4px}.checklist-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:7px 0}.checklist-row label{display:flex;align-items:center;gap:10px;font-size:12px;min-width:0}.checklist-row label>span{overflow-wrap:anywhere}.checklist-row input{accent-color:var(--widget-accent);width:16px;height:16px;flex-shrink:0}.checklist-row .done{text-decoration:line-through;color:var(--muted)}.widget-add-item{display:flex;align-items:center;gap:5px;margin-top:13px}.widget-add-item input{width:100%;min-width:0;background:transparent;font-size:12px;border:0!important;padding:8px 0}.widget-links{display:flex;flex-direction:column;gap:8px}.widget-links>a{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:var(--button-radius);color:var(--text);text-decoration:none;font-size:12px}.widget-links>a>span:nth-child(2){flex:1;overflow-wrap:anywhere}.widget-links>a:hover{background:var(--soft)}.widget-link-icon{display:grid;place-items:center;color:var(--widget-accent);width:28px;height:28px;background:var(--soft);border-radius:7px}.widget-embed-fallback{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted);padding-top:8px}.dashboard-save-status{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;margin-top:18px;min-height:18px}.dashboard-save-status app-icon{color:var(--accent)}.dashboard-save-status>span{opacity:.75}.dashboard-empty{grid-column:1 / -1;border:1px dashed var(--line);border-radius:var(--card-radius);min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:30px;color:var(--muted);background:var(--surface)}.dashboard-empty h2{font-size:23px;color:var(--text)}.dashboard-empty p{font-size:12px;line-height:1.8}.dashboard-empty>app-icon{color:var(--accent)}.dashboard-edit-bar{position:sticky;top:78px;z-index:16;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 15px;margin:-8px 0 20px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:var(--card-radius);background:color-mix(in srgb,var(--surface-solid) 90%,transparent);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:0 6px 20px #20122d08}.edit-mode-label{display:flex;align-items:center;gap:8px;font-size:12px}.edit-mode-label>span{width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px var(--soft)}.edit-mode-label small{font-size:10px;color:var(--muted);margin-left:5px}.edit-mode-label strong{font-weight:600}.edit-bar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.edit-bar-actions .secondary,.edit-bar-actions .primary{min-height:34px;font-size:10px;padding:8px 11px}.edit-bar-actions .text-button{font-size:10px;padding:4px 9px}.edit-bar-actions .icon-button{width:30px;height:32px}.edit-divider{height:20px;width:1px;background:var(--line);margin:0 3px}.dashboard-grid.is-editing .dashboard-widget{border-style:dashed}.dashboard-grid.is-editing .dashboard-widget.widget-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.widget-drag-handle{width:23px;height:28px;margin-left:-5px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.widget-drag-handle:active{cursor:grabbing}.widget-resize-handle{position:absolute;right:3px;bottom:3px;width:30px;height:30px;display:grid;place-items:center;color:var(--accent);background:var(--soft);border-radius:8px 0 max(0px,calc(var(--card-radius) - 4px)) 0;touch-action:none;cursor:nwse-resize;z-index:3}.dashboard-widget.dragging{pointer-events:none;z-index:30;opacity:.88;box-shadow:0 20px 55px #20122d35;transition:none;animation:none}.dashboard-widget.drop-target{outline:2px dashed var(--accent);outline-offset:5px}.dashboard-grid.is-dragging .widget-body{pointer-events:none}.widget-action-menu{display:flex;flex-direction:column;min-width:170px;padding:6px;background:var(--surface-solid);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 30px #20122d20}.widget-action-menu button{display:flex;align-items:center;gap:9px;font-size:11px;text-align:left;min-height:35px;padding:8px 10px;border-radius:7px}.widget-action-menu button:hover{background:var(--soft)}.danger-action{color:#c95c70!important}.dashboard-customizer{position:sticky;top:147px;display:flex;flex-direction:column;height:calc(100dvh - 165px);max-height:calc(100dvh - 165px);min-height:min(420px,calc(100dvh - 24px));min-width:0;background:color-mix(in srgb,var(--surface-solid) 94%,transparent);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:0 12px 40px #20122d0b;overflow:hidden;animation:inspector-enter .3s ease;z-index:17}.customizer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 17px 14px}.customizer-heading .eyebrow{font-size:8px;letter-spacing:1px}.customizer-heading h2{font-size:19px;letter-spacing:-.6px;font-weight:550;margin-top:6px}.customizer-tabs{position:relative;display:flex;gap:4px;margin:0 15px 12px;padding:4px;border:1px solid var(--line);background:var(--input);border-radius:var(--button-radius)}.tabs-indicator{position:absolute;top:0;left:0;z-index:0;opacity:0;background:var(--surface-solid);border-radius:max(0px,calc(var(--button-radius) - 4px));box-shadow:0 2px 4px #20122d06;pointer-events:none;transition:transform .32s cubic-bezier(.16,1,.3,1),width .32s cubic-bezier(.16,1,.3,1),height .32s cubic-bezier(.16,1,.3,1),opacity .2s ease}.customizer-tabs button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:5px;flex:1;font-size:10px;font-weight:550;color:var(--muted);padding:9px 5px;border-radius:max(0px,calc(var(--button-radius) - 4px));transition:color .2s}.customizer-tabs button.active{color:var(--accent)}.customizer-body{border:0;padding:0 17px 18px;min-width:0;margin:0;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.customizer-description{font-size:10px;color:var(--muted);line-height:1.7;margin:9px 0 16px}.customizer-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--button-radius);padding:0 10px;background:var(--input);color:var(--muted)}.customizer-search input{background:transparent!important;border:0!important;width:100%;min-width:0;padding:10px 0;font-size:11px;outline:none}.widget-library{display:flex;flex-direction:column;gap:8px}.widget-library>button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 10px;border:1px solid var(--line);border-radius:min(var(--card-radius),14px);text-align:left;transition:background .15s,transform .15s}.widget-library>button:hover{background:var(--soft);transform:translate(2px)}.library-icon{display:grid;place-items:center;width:35px;height:35px;background:var(--soft);color:var(--accent);border-radius:10px;flex-shrink:0}.widget-library button>span:nth-child(2){flex:1;min-width:0}.widget-library strong{font-size:11px;font-weight:600}.widget-library small{font-size:9px;color:var(--muted);line-height:1.6;margin:3px 0}.widget-library em{font-size:8px;font-style:normal;color:var(--accent);letter-spacing:.2px}.widget-library button>app-icon{color:var(--muted)}.setting-section{padding:17px 0;border-bottom:1px solid var(--line)}.setting-section:first-child{padding-top:7px}.setting-section:last-child{border-bottom:0}.setting-section h3{font-size:11px;font-weight:650;letter-spacing:-.1px;margin-bottom:12px}.theme-presets{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-presets button{border:1px solid var(--line);border-radius:12px;text-align:left;overflow:hidden;padding:6px;background:var(--surface);transition:border-color .2s,box-shadow .2s,transform .15s}.theme-presets button:hover{border-color:var(--accent);transform:translateY(-1px)}.theme-presets button.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.theme-preview{display:block;height:58px;position:relative;overflow:hidden;border-radius:7px;margin-bottom:7px}.theme-preview>span{display:block;position:absolute;left:9px;right:9px;top:12px;height:45px;border-radius:6px;opacity:.8;box-shadow:0 1px 5px #0001}.theme-preview i{display:block;width:27px;height:18px;position:absolute;right:16px;bottom:7px;border-radius:4px}.theme-presets strong{display:block;font-size:10px;font-weight:600;margin:0 4px 4px}.theme-presets small{font-size:8px;color:var(--muted);line-height:1.5;margin:0 4px 3px}.theme-more-button{width:100%;justify-content:center;gap:7px;margin-top:10px}.theme-search-panel{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.theme-search-results{margin-top:10px}.theme-colors{display:flex;flex-direction:column;gap:2px}.theme-colors>label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:35px;font-size:11px;color:var(--muted)}.color-field{display:flex;align-items:center;gap:8px}.color-field small{font-size:9px;color:var(--muted);font-family:ui-monospace,monospace}.color-field input[type=color],.select-setting input[type=color]{width:27px;height:27px;padding:2px;border:1px solid var(--line);border-radius:7px;background:transparent;cursor:pointer}.range-setting{display:flex;flex-direction:column;gap:11px;margin:17px 0}.range-setting>span{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.range-setting strong{font-weight:550;font-size:10px;color:var(--text);font-variant-numeric:tabular-nums}.range-setting input{width:100%;height:4px;padding:0;accent-color:var(--accent);cursor:pointer}.select-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin:12px 0}.select-setting select{min-width:0;max-width:175px;font-size:10px;padding:8px}.text-setting{display:flex;flex-direction:column;gap:8px;margin:14px 0;font-size:10px;color:var(--muted)}.text-setting input,.text-setting textarea{width:100%;font-size:11px;padding:10px;line-height:1.6}.text-setting textarea{resize:vertical;min-height:75px}.layout-presets{display:flex;flex-direction:column;gap:7px}.layout-presets button{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:var(--button-radius);font-size:11px}.layout-presets button:hover{background:var(--soft)}.layout-presets app-icon{color:var(--accent)}.customizer-body .secondary{font-size:10px;padding:8px 10px;min-height:34px}.workspace-import{position:relative;cursor:pointer;margin:8px 0 0}.workspace-import input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.link-editor{display:flex;flex-direction:column;gap:7px;border:1px solid var(--line);border-radius:10px;padding:9px;margin-bottom:10px}.link-editor input{width:100%;font-size:11px;padding:8px}.widget-settings-actions{display:flex;gap:10px;flex-wrap:wrap}.customizer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-top:1px solid var(--line);background:var(--surface);flex-shrink:0}.customizer-footer>span{font-size:8px;color:var(--muted);display:flex;align-items:center;gap:5px}.customizer-footer .primary{min-height:33px;font-size:10px;padding:8px 11px}.customizer-scrim{display:none}.workspace-error{align-items:center;gap:15px}.workspace-error button{white-space:nowrap}@keyframes inspector-enter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.widget-ai .widget-body{padding:4px 9px 9px;overflow:hidden}@container dashboard (max-width: 900px){.dashboard-widget.widget-small{grid-column:span 6}.dashboard-widget.widget-wide{grid-column:1 / -1}.dashboard-widget:not(.widget-small):not(.widget-wide){grid-column:1 / -1}.attendance-summary strong{font-size:40px}}@container dashboard (max-width: 540px){.dashboard-widget{grid-column:1 / -1!important}.dashboard-widget[data-kind=metric]:not(.widget-wide){grid-column:span 6!important;height:160px}.widget-heading{padding:11px 12px 6px;gap:6px}.widget-heading h2{font-size:10px}.widget-body{padding:7px 14px 15px}.dash-metric>strong{font-size:29px}.dash-metric p{font-size:9px}.attendance-summary>div{align-items:flex-start;flex-direction:column;gap:7px}.attendance-summary>p{font-size:9px}.attendance-key{gap:5px}.attendance-key>div{font-size:8px;gap:5px}.widget-menu-trigger{opacity:.7}.overview-assistant-card h2{font-size:30px}}@media(max-width:1200px){.sidebar{width:214px;padding-left:12px;padding-right:12px}.workspace{padding:27px}.workspace-header{padding:0 27px}.page-heading-actions{gap:9px}.heading-date{display:none}.dashboard-studio.has-editor{grid-template-columns:minmax(0,1fr) 304px}.edit-mode-label small{display:none}}.mobile-shell{display:block}.mobile-shell .sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:min(290px,86vw);height:100dvh;padding:24px 15px 20px;z-index:36;transform:translate(-105%);transition:transform .3s cubic-bezier(.16,1,.3,1);background:color-mix(in srgb,var(--surface-solid) 94%,transparent);box-shadow:20px 0 80px #15102430}.mobile-shell .sidebar.is-open{transform:translate(0)}.mobile-shell .sidebar .school{display:flex}.mobile-shell .sidebar .nav-label{display:block}.mobile-shell .sidebar nav{display:flex;flex-direction:column;overflow-y:auto;margin-top:0;gap:4px}.mobile-shell .sidebar nav button{width:100%;font-size:13px;min-height:45px;padding:11px 12px}.mobile-shell .sidebar .nav-count{display:inline-block}.mobile-shell .sidebar .sidebar-bottom{position:static;margin-top:auto;padding-top:15px}.mobile-shell .sidebar .profile{display:flex}.mobile-shell .sidebar .theme-toggle{font-size:12px;padding:12px}.mobile-shell .sidebar .brand{font-size:26px}.mobile-shell .sidebar .brand-mark{width:33px;height:36px}.mobile-shell .sidebar-close,.mobile-shell .mobile-menu-button{display:inline-flex}.mobile-shell .navigation-scrim{display:block;position:fixed;inset:0;z-index:35;background:#11102070;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.mobile-shell .navigation-scrim.is-open{opacity:1;visibility:visible}.mobile-shell .workspace-header{height:62px;padding:0 16px;gap:10px}.mobile-shell .workspace-breadcrumb{gap:9px;font-size:12px}.mobile-shell .breadcrumb-parent,.mobile-shell .breadcrumb-divider{display:none}.mobile-shell .workspace-header-actions{gap:10px}.mobile-shell .header-divider{display:none}.mobile-shell .command-trigger{min-width:0;min-height:35px;padding:7px 10px;font-size:10px;max-width:135px;gap:0}.mobile-shell .command-trigger kbd{display:none}.mobile-shell .workspace{padding:24px 16px 16px}.mobile-shell .page-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:23px}.mobile-shell .page-heading h1{font-size:30px;letter-spacing:-1.2px;margin:10px 0}.mobile-shell .page-heading .eyebrow{font-size:8px;letter-spacing:1px}.mobile-shell .page-description{font-size:11px}.mobile-shell .page-heading-actions{width:100%;justify-content:space-between}.mobile-shell .heading-date{display:flex;font-size:10px}.mobile-shell .dashboard-grid{gap:min(var(--dashboard-gap),14px)}.mobile-shell .dashboard-studio.has-editor{grid-template-columns:minmax(0,1fr)}.mobile-shell .dashboard-edit-bar{top:68px;padding:10px;margin-top:0;gap:10px}.mobile-shell .edit-mode-label{font-size:11px}.mobile-shell .edit-bar-actions{gap:5px}.mobile-shell .edit-bar-actions .secondary,.mobile-shell .edit-bar-actions .primary{font-size:9px;padding:8px;min-height:36px}.mobile-shell .edit-divider{display:none}.mobile-shell .dashboard-customizer{position:fixed;inset:10px 10px max(10px,env(safe-area-inset-bottom));z-index:42;width:auto;height:auto;max-height:none;min-height:0;border-radius:var(--card-radius);background:var(--surface-solid)}.mobile-shell .customizer-scrim{display:block;position:fixed;inset:0;z-index:41;background:#11102070;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mobile-shell .customizer-heading{padding:19px 19px 15px}.mobile-shell .customizer-body{padding:0 19px 20px}.mobile-shell .customizer-tabs button{font-size:12px;min-height:38px}.mobile-shell .customizer-description{font-size:12px}.mobile-shell .widget-library strong{font-size:13px}.mobile-shell .widget-library small{font-size:11px}.mobile-shell .widget-library>button{padding:14px 12px}.mobile-shell .widget-library em{font-size:9px}.mobile-shell .customizer-body input:not([type=range]):not([type=color]),.mobile-shell .customizer-body select,.mobile-shell .customizer-body textarea{font-size:16px}.mobile-shell .text-setting,.mobile-shell .select-setting,.mobile-shell .range-setting>span,.mobile-shell .theme-colors>label{font-size:12px}.mobile-shell .customizer-footer .primary{min-height:40px;font-size:12px}.mobile-shell .customizer-footer>span{font-size:9px}.mobile-shell .table-toolbar{padding:14px;gap:10px}.mobile-shell .search{flex-basis:100%}.mobile-shell .table-toolbar input,.mobile-shell .table-toolbar select{font-size:16px}.mobile-shell .table-toolbar .secondary{font-size:11px}.mobile-shell .workspace-footer{font-size:8px;gap:12px;margin-bottom:70px}.mobile-shell .workspace-footer>span:last-child{display:none}.mobile-shell .widget-note,.mobile-shell .widget-add-item input,.mobile-shell .widget-ai textarea,.mobile-shell .widget-ai select{font-size:16px!important}.mobile-shell .widget-menu-trigger{opacity:.75}.mobile-shell .widget-drag-handle{width:30px;height:32px}.mobile-shell .widget-resize-handle{width:36px;height:36px}.mobile-shell .dashboard-save-status{font-size:8px;flex-wrap:wrap}:root[data-density=compact] .workspace{padding-top:24px}:root[data-density=compact] .page-heading{margin-bottom:20px}:root[data-density=compact] .widget-heading{min-height:42px;padding-top:9px}:root[data-density=compact] td{padding-top:11px;padding-bottom:11px}:root[data-density=compact] .sidebar nav button{min-height:38px}:root[data-density=compact] .dashboard-grid{gap:calc(var(--dashboard-gap) * .75)}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){.dashboard-widget,.dashboard-customizer,.mobile-shell .sidebar,.navigation-scrim{animation:none;transition:none}}.sidebar{overflow-y:auto;scrollbar-width:thin}.chat-launcher{background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 65%,#19112f),color-mix(in srgb,var(--accent) 85%,#19112f));border-color:color-mix(in srgb,var(--accent) 70%,#fff)}.global-chat:not(.is-mobile){border-radius:var(--card-radius)}.mobile-shell .dashboard-customizer{inset:auto;top:calc(var(--chat-visible-top, 0px) + 8px);left:calc(var(--chat-visible-left, 0px) + 8px);width:calc(var(--chat-visible-width, 100vw) - 16px);height:calc(var(--chat-visible-height, 100dvh) - 16px)}.customizer-scrim{touch-action:none}.widget-ai app-chat{min-width:0;max-width:100%}:root{--page-shift: 12px;--page-ease-out: cubic-bezier(.22, 1, .36, 1)}:root[data-page-direction=backward]{--page-shift: -12px}.sidebar{view-transition-name:workspace-sidebar}.navigation-scrim{view-transition-name:workspace-navigation-scrim}.workspace-header{view-transition-name:workspace-header}.workspace-breadcrumb strong{view-transition-name:workspace-breadcrumb-title}.chat-launcher{view-transition-name:chat-launcher}.chat-scrim{view-transition-name:chat-scrim}.global-chat{view-transition-name:global-chat}::view-transition-group(workspace-sidebar),::view-transition-group(workspace-navigation-scrim),::view-transition-group(workspace-header),::view-transition-group(chat-launcher),::view-transition-group(chat-scrim),::view-transition-group(global-chat){-webkit-backdrop-filter:none;backdrop-filter:none}::view-transition-group(workspace-sidebar){animation-duration:.28s;animation-timing-function:var(--page-ease-out)}::view-transition-old(workspace-sidebar),::view-transition-new(workspace-sidebar){animation:none;mix-blend-mode:normal}:root[data-page-transition=active] .mobile-shell :is(.sidebar,.navigation-scrim){transition:none}::view-transition-group(workspace-breadcrumb-title){animation-duration:.26s;animation-timing-function:var(--page-ease-out);overflow:clip}::view-transition-old(workspace-breadcrumb-title),::view-transition-new(workspace-breadcrumb-title){height:100%;width:auto}::view-transition-old(workspace-breadcrumb-title){animation:page-title-roll-out .12s ease-in both}::view-transition-new(workspace-breadcrumb-title){animation:page-title-roll-in .26s var(--page-ease-out) .05s both}::view-transition-group(root){animation:none}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal}::view-transition-old(root){animation:page-out .12s ease-out both}::view-transition-new(root){animation:page-in .2s ease-out .05s both}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0}to{opacity:1}}@keyframes page-title-roll-out{to{opacity:0;transform:translateY(calc(var(--page-shift) * -.6))}}@keyframes page-title-roll-in{0%{opacity:0;transform:translateY(calc(var(--page-shift) * .6))}to{opacity:1;transform:none}}::view-transition{pointer-events:none}:root[data-motion=reduced]::view-transition-group(*),:root[data-motion=reduced]::view-transition-old(*),:root[data-motion=reduced]::view-transition-new(*),:root[data-motion=reduced]::view-transition-image-pair(*){animation:none!important}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),::view-transition-image-pair(*){animation:none!important}}:root.theme-transition *{view-transition-name:none!important}:root.theme-transition::view-transition-old(root),:root.theme-transition::view-transition-new(root){animation:none;mix-blend-mode:normal}:root.theme-transition::view-transition-new(root){animation:theme-wipe .7s cubic-bezier(.22,1,.36,1) both}@keyframes theme-wipe{0%{clip-path:circle(0 at var(--theme-vt-x) var(--theme-vt-y))}to{clip-path:circle(var(--theme-vt-r) at var(--theme-vt-x) var(--theme-vt-y))}}@media(max-width:700px){body.seating-canvas-open{overflow:hidden;overscroll-behavior:none}body.seating-canvas-open .chat-launcher:not(.is-open){display:none}}:root .workspace.workspace-canvas{max-width:none;padding:16px}body:has(#chat-launcher) .seating-app:not(.phone) .students.open{max-height:calc(100% - 128px)}body:has(#chat-launcher) .rooms-app:not(.phone) .panel{bottom:84px}body:has(#chat-launcher) .rooms-app:not(.panel-open,.phone) :is(.time-bar,.edit-dock){right:180px}.modal.modal-wide{width:720px;max-height:calc(100vh - 40px);overflow:auto}.modal .panel-heading p{margin:4px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.form-grid>*{min-width:0}.form-grid .span-2{grid-column:span 2}.form-grid label,.modal .form-grid label{margin:10px 0}.modal label .muted{font-weight:400;text-transform:none}.form-section{margin:18px 0 6px;padding-top:14px;border-top:1px solid var(--line)}.form-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px}.form-section-heading p{margin:2px 0 0}.guardian-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr auto;gap:10px;align-items:end;padding:8px 0}.guardian-row label,.modal .guardian-row label{margin:0}.guardian-row .icon-button{margin-bottom:4px}.form-error{margin:12px 0 0;color:var(--danger, #e5484d);font-size:13px}.roster-pill{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;background:var(--pill, var(--line));color:var(--muted)}.roster-pill[data-standing=Left]{opacity:.8}.roster-pill[data-standing=Upcoming]{color:var(--accent);border:1px solid var(--accent);background:transparent}.contact-missing{font-style:italic}.classes-table input,.classes-table select{width:100%;min-width:90px}.classes-table .row-actions{white-space:nowrap}.classes-table .row-actions button+button{margin-left:10px}.import-actions{display:flex;align-items:center;gap:14px;margin:6px 0 4px}.file-button{cursor:pointer}.file-button input[type=file]{display:none}.import-summary{margin-top:12px;padding:10px 14px;border-radius:10px;background:var(--pill, var(--line));font-size:13px}.import-summary.has-errors{border:1px solid var(--danger, #e5484d)}.import-errors{margin:8px 0 0;padding-left:18px;max-height:160px;overflow:auto;font-size:12px;color:var(--muted)}@media(max-width:720px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:auto}.guardian-row{grid-template-columns:1fr 1fr}}.absence-note{display:block;margin-top:3px;font-size:11px;color:var(--muted)}.absences-panel{margin-top:24px}.absences-panel .panel-heading{flex-wrap:wrap;gap:12px}.absences-panel .panel-heading p{margin:4px 0 0}.absences-panel .secondary.selected{border-color:var(--accent);color:var(--accent)}.pill[data-counts=false]{color:#c23b3b}.pill[data-counts=null]{color:var(--accent)}.roster-pill[data-standing=Requested]{color:var(--accent);border:1px solid var(--accent);background:transparent}.roster-pill[data-standing=Declined]{text-decoration:line-through;opacity:.7}.half-day-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.timetable{display:flex;flex-direction:column;gap:16px}.timetable-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 18px}.timetable-scope{display:flex;align-items:center;gap:10px;min-width:0}.timetable-scope app-autosearch{min-width:220px}.timetable-nav{display:flex;align-items:center;gap:8px}.timetable-title{margin-left:8px;white-space:nowrap}.timetable-actions{display:flex;align-items:center;gap:10px}.rotate-180{transform:rotate(180deg)}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.segmented button{padding:6px 14px;font-size:12px;background:transparent;color:var(--muted);border:0}.segmented button.selected{background:var(--accent);color:var(--accent-ink, #fff)}.timetable-week{overflow:hidden;--gutter: 52px}.week-header,.week-body{display:grid;grid-template-columns:var(--gutter) repeat(var(--days, 5),minmax(0,1fr))}.week-header{border-bottom:1px solid var(--line)}.week-day-name{padding:10px 8px 8px;display:flex;flex-direction:column;gap:4px;font-size:12px;border-left:1px solid var(--line);min-width:0}.week-day-name span{color:var(--muted)}.week-day-name.is-today strong{color:var(--accent)}.week-body{position:relative;height:780px}.week-body .week-gutter{position:relative}.hour-label{height:calc(100% / 15);font-size:10px;color:var(--muted);padding:2px 6px 0 0;text-align:right;box-sizing:border-box}.week-column{position:relative;border-left:1px solid var(--line);min-width:0}.week-column.is-today{background:color-mix(in srgb,var(--accent) 5%,transparent)}.week-column.is-holiday,.week-day-name.is-holiday{background:repeating-linear-gradient(135deg,transparent 0 8px,color-mix(in srgb,var(--muted) 10%,transparent) 8px 10px)}.week-column.is-absent{background:color-mix(in srgb,#e88790 12%,transparent)}.hour-line{height:calc(100% / 15);border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);box-sizing:border-box}.lesson{position:absolute;box-sizing:border-box;padding:4px 6px;margin:1px;border-radius:8px;background:color-mix(in srgb,var(--accent) 18%,var(--panel, transparent));border-left:3px solid var(--accent);overflow:hidden;font-size:11px;line-height:1.3;display:flex;flex-direction:column;gap:1px}.lesson strong{font-size:12px}.lesson span,.lesson small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-body.can-draw .week-column{cursor:cell}.week-body.is-drawing{-webkit-user-select:none;user-select:none}.week-body.is-drawing .week-column{cursor:ns-resize}.draft-slot{position:absolute;left:2px;right:2px;z-index:3;display:flex;flex-direction:column;gap:1px;min-height:18px;padding:3px 7px;overflow:hidden;box-sizing:border-box;border-radius:8px;background:var(--accent);color:var(--accent-ink, #fff);font-size:11px;line-height:1.3;box-shadow:0 6px 18px -6px color-mix(in srgb,var(--accent) 70%,transparent),inset 0 1px color-mix(in srgb,#fff 25%,transparent);pointer-events:none;animation:draft-in .18s cubic-bezier(.22,1,.36,1)}.draft-slot.is-drawing{background:color-mix(in srgb,var(--accent) 78%,transparent);transition:top .08s ease-out,height .08s ease-out}.draft-slot strong{font-size:12px}.draft-slot span{font-variant-numeric:tabular-nums;opacity:.9}@keyframes draft-in{0%{opacity:0;transform:scale(.96)}}.draft-menu{display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-solid);box-shadow:0 14px 34px -10px #140e2859;cursor:default;animation:draft-menu-in .2s cubic-bezier(.22,1,.36,1)}.draft-menu[data-side=above]{animation-name:draft-menu-in-above}.draft-menu p{margin:0 22px 4px 4px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.draft-menu p strong{color:var(--text)}.draft-menu button{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:7px 8px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:12px;font-weight:550;text-align:left}.draft-menu button:hover,.draft-menu button:focus-visible{background:var(--soft);color:var(--accent);outline:none}.draft-menu .draft-menu-close{position:absolute;top:5px;right:5px;width:24px;height:24px;padding:0;justify-content:center;color:var(--muted)}@keyframes draft-menu-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes draft-menu-in-above{0%{opacity:0;transform:translateY(4px)}}.calendar-block{position:absolute;z-index:1;display:flex;flex-direction:column;gap:1px;margin:1px;padding:4px 6px;overflow:hidden;box-sizing:border-box;border:0;border-left:3px solid var(--block, var(--accent));border-radius:8px;background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--block, var(--accent)) 7%,transparent) 6px 8px),color-mix(in srgb,var(--block, var(--accent)) 12%,var(--surface-solid));color:var(--text);font-size:11px;line-height:1.3;text-align:left}button.calendar-block:not(:disabled){cursor:pointer}button.calendar-block:not(:disabled):hover{filter:brightness(.98);box-shadow:0 4px 12px -6px color-mix(in srgb,var(--block, var(--accent)) 60%,transparent)}.calendar-block strong{font-size:12px;color:color-mix(in srgb,var(--block, var(--accent)) 70%,var(--text))}.calendar-block strong,.calendar-block span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-block span{color:var(--muted);font-variant-numeric:tabular-nums}.calendar-block[data-kind=Exam]{--block: #d14343}.calendar-block[data-kind=Deadline]{--block: #d08a1c}.calendar-block[data-kind=Meeting]{--block: #3a8fd6}.week-hint{display:flex;align-items:center;gap:6px;margin:0;padding:10px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}@media(prefers-reduced-motion:reduce){.draft-slot,.draft-menu{animation:none}}.event-chip{display:inline-block;max-width:100%;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);border:0;text-align:left;cursor:default}button.event-chip:not(:disabled){cursor:pointer}.event-chip[data-kind=Holiday]{background:color-mix(in srgb,#62b78b 20%,transparent);color:#3f9a6c}.event-chip[data-kind=Exam]{background:color-mix(in srgb,#e88790 20%,transparent);color:#c23b3b}.event-chip[data-kind=Deadline]{background:color-mix(in srgb,#e7a33e 22%,transparent);color:#b46d0c}.event-chip[data-kind=Absence]{background:color-mix(in srgb,#e88790 14%,transparent);color:#c23b3b;font-weight:500}.timetable-month{overflow:hidden}.month-header,.month-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-header span{padding:10px 8px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line)}.month-day{min-height:96px;padding:6px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px;cursor:pointer;min-width:0}.month-day:nth-child(7n){border-right:0}.month-day.is-outside{opacity:.45}.month-day.is-today .month-date{color:var(--accent);font-weight:700}.month-day.is-holiday{background:repeating-linear-gradient(135deg,transparent 0 8px,color-mix(in srgb,var(--muted) 10%,transparent) 8px 10px)}.month-date{font-size:12px}.lesson-count{font-size:10px;color:var(--muted)}.timetable-loading{margin:0}@media(max-width:900px){.week-body{height:640px}.timetable-week{--gutter: 40px}.week-day-name span,.lesson span,.lesson small{display:none}.month-day{min-height:64px}.month-day .event-chip{display:none}}.field-label{display:inline-flex;flex-wrap:wrap;gap:0 6px;align-items:baseline}.modal label.autosearch-label,.modal .autosearch-label{flex-direction:row;gap:4px;margin:0 0 6px}.status-more{font-size:11px;margin-left:4px}.timetable-actions{flex-wrap:wrap}@media(max-width:700px){.register-table.is-register,.register-table.is-register tbody,.register-table.is-register tr,.register-table.is-register td{display:block;width:100%}.register-table.is-register thead{display:none}.register-table.is-register tr{padding:12px 16px 14px;border-bottom:1px solid var(--line)}.register-table.is-register td{padding:0;border:0}.register-table.is-register td:nth-child(2){display:inline-block;width:auto;margin:6px 0 0 44px}.register-table.is-register td:nth-child(3){display:inline-block;width:auto;margin:6px 0 0 10px;font-size:12px}.register-table.is-register td:nth-child(4){margin-top:10px}.register-table.is-register .status-buttons{display:flex;flex-wrap:wrap;gap:6px}.register-table.is-register .status-buttons button{flex:1 1 auto;min-height:40px}.register-table.is-register .status-more{flex:1 1 100%;margin:2px 0 0;text-align:left}.timetable-toolbar .primary,.timetable-toolbar .secondary{padding-inline:12px}.timetable-scope{width:100%}.timetable-scope app-autosearch{flex:1;min-width:0}}.guardian-rights{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:2px 0 6px}.modal .check-label,.check-label{flex-direction:row;align-items:center;gap:7px;margin:0;font-size:12px;color:var(--text)}.siblings-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0;font-size:12px}.custody-note,.sibling-note{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:10px;background:var(--soft);color:var(--muted)}.custody-note{color:#b46d0c;background:color-mix(in srgb,#e7a33e 18%,transparent)}.roster-pill[data-standing=Invited],.roster-pill[data-standing=Pending]{color:var(--accent);border:1px solid var(--accent);background:transparent}.roster-pill[data-standing=Active],.roster-pill[data-standing=Confirmed],.roster-pill[data-standing=Applied],.roster-pill[data-standing=Approved]{background:var(--soft);color:var(--accent)}.roster-pill[data-standing="Not invited"],.roster-pill[data-standing=Dismissed]{opacity:.7}.tab-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:999px;font-size:10px;font-weight:700;background:var(--accent);color:var(--accent-ink, #fff)}.segmented button.selected .tab-count{background:var(--accent-ink, #fff);color:var(--accent)}.family-dot{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--accent);vertical-align:middle}.family-tabs,.families-tabs{margin-bottom:16px;flex-wrap:wrap}.family-empty{display:grid;justify-items:center;gap:8px;padding:48px 24px;text-align:center}.family-empty p{max-width:46ch}.family-hero{padding:22px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.family-hero h2{margin:2px 0 6px;font-size:24px}.family-actions{display:flex;gap:10px}.family-banner{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 18px;border-color:var(--accent);color:var(--accent)}.family-banner span{flex:1;color:var(--text)}.family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dashboard-gap, 16px)}.family-card{min-width:0;padding-bottom:18px}.family-card>:not(.panel-heading),.families-invite>:not(.panel-heading){margin-left:24px;margin-right:24px}.families-invite{padding-bottom:18px}.family-day{display:flex;flex-direction:column;gap:3px;padding:8px 0;border-top:1px solid var(--line)}.family-day.is-today strong{color:var(--accent)}.family-lesson{font-size:12px;color:var(--muted)}.family-absence{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.family-absence small,.families small,.family-details small{display:block;color:var(--muted)}.family-details{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0 0 12px;font-size:13px}.family-details dt{color:var(--muted)}.family-details dd{margin:0}.family-flash{position:fixed;right:24px;bottom:24px;z-index:40;gap:12px;box-shadow:0 8px 24px #0000002e}app-message-thread{display:block}.thread{display:flex;flex-direction:column;gap:10px}.thread-messages{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto;padding-right:4px}.thread-message{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.thread-message.mine{align-items:flex-end}.thread-bubble{max-width:85%;padding:8px 12px;border-radius:14px 14px 14px 4px;background:var(--input);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.thread-message.mine .thread-bubble{border-radius:14px 14px 4px;background:var(--soft);border-color:transparent}.thread-message small{font-size:11px;color:var(--muted)}.thread-empty{margin:8px 0}.thread-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.thread-composer textarea{resize:vertical;min-height:44px}.families-messages{padding:16px;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px}.families-inbox{display:flex;flex-direction:column;gap:4px;max-height:460px;overflow-y:auto}.families-inbox-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);text-align:left}.families-inbox-row>small{grid-column:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.families-inbox-row .tab-count{grid-column:2;grid-row:1 / span 2;align-self:center}.families-inbox-row:hover,.families-inbox-row.selected{background:var(--soft)}.families-inbox-row.selected{border-color:var(--accent)}.families-thread h3{margin:0 0 12px}.families-empty{padding:12px}.families-invite-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.families-invite-form select{min-width:220px}.families-links{margin:12px 0 0;padding:0;list-style:none}.families-links li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.families .panel+.panel{margin-top:16px}app-translatable-text{display:block}.tx-text{display:block;white-space:pre-wrap;overflow-wrap:anywhere;transition:opacity .2s ease}.tx-text.is-loading{background:linear-gradient(100deg,currentColor 35%,color-mix(in srgb,currentColor 30%,transparent) 50%,currentColor 65%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:tx-shimmer 1.3s ease-in-out infinite}@keyframes tx-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.tx-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-top:6px;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:normal;white-space:normal;color:var(--muted)}.tx-caption{display:inline-flex;align-items:center;gap:4px}.tx-error{color:var(--danger, #d14343)}.tx-toggle{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0;border:0;background:none;color:var(--muted);font:inherit;cursor:pointer;opacity:.85;transition:color .15s ease,opacity .15s ease}.tx-toggle:hover,.tx-toggle:focus-visible{color:var(--accent);opacity:1}.tx-toggle:disabled{cursor:progress}.thread-translate{grid-column:1 / -1;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.thread-translate input{width:auto;margin:0}.families-language{display:block;font-size:11px;color:var(--muted)}.families-thread-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.families-thread-head h3{margin:0}.families-language-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px}.tx-language-picker{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.tx-language-picker select{width:auto;max-width:160px;min-height:32px;padding:4px 8px;font-size:12px}.notice-card h2 .tx-meta{margin-top:10px}@media(max-width:800px){.family-grid,.families-messages{grid-template-columns:minmax(0,1fr)}.family-flash{left:16px;right:16px}}app-report-cards{--grade-good: #2f9e62;--grade-pass: #b7791f;--grade-below: #d14343}.reports-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;margin-bottom:16px}.reports-pickers,.reports-actions{display:flex;flex-wrap:wrap;gap:8px}.reports .error,.reports .feedback{margin-bottom:16px}.reports-summary{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.reports-stat{display:flex;flex-direction:column;gap:8px;padding:18px 20px;margin:0}.reports-stat .eyebrow{margin:0;font-size:9px}.reports-stat p{margin:0}.reports-stat-value{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.reports-stat-value strong{font-size:30px;font-weight:600;letter-spacing:-.8px;line-height:1}.reports-stat-value span{color:var(--muted);font-size:13px}.reports-bar{display:flex;gap:2px;height:6px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,transparent)}.reports-bar span{flex-basis:0;border-radius:999px;transition:flex-grow .5s cubic-bezier(.22,1,.36,1)}.reports-bar .is-final,.reports-legend .is-final:before{background:var(--accent)}.reports-bar .is-draft,.reports-legend .is-draft:before{background:color-mix(in srgb,var(--accent) 40%,var(--surface-solid))}.reports-bar .is-empty,.reports-legend .is-empty:before{background:transparent}.reports-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11px;color:var(--muted)}.reports-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line)}.reports-table{overflow:hidden}.reports-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 18px;border-bottom:1px solid var(--line)}.reports-filters .search{flex:0 1 260px}.reports-filters .segmented button{display:inline-flex;align-items:center}.reports-filters .tab-count{background:color-mix(in srgb,var(--accent) 14%,var(--surface-solid));color:var(--accent)}.reports-key{display:flex;gap:6px;margin-left:auto;font-size:11px}.reports-key span{padding:3px 8px;border-radius:999px;font-weight:600;font-variant-numeric:tabular-nums}.report-grid{width:100%}.report-grid th,.report-grid td{padding:8px 3px;text-align:center}.report-grid tbody tr{transition:background .15s}.report-grid tbody tr:hover,.report-grid tbody tr:hover .report-grid-name{background:color-mix(in srgb,var(--accent) 4%,var(--surface-solid))}.report-grid tr.is-saving{opacity:.65}.report-grid .report-grid-name{position:sticky;left:0;z-index:1;min-width:200px;padding-left:18px;text-align:left;background:var(--surface-solid, var(--surface));box-shadow:1px 0 0 var(--line);transition:background .15s}.report-student{display:flex;align-items:center;gap:10px}.report-student strong{display:block}.report-student small{display:block;color:var(--muted);font-size:11px}.report-unexcused{color:var(--grade-below);font-weight:600}.report-grid-subject{vertical-align:bottom;height:128px}.report-grid-subject span{display:inline-block;max-height:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted)}.report-grid-avg-head{vertical-align:bottom}.report-grid-avg{font-weight:650;font-variant-numeric:tabular-nums}.report-grid td.row-actions{padding-right:16px;white-space:nowrap}.report-grid .row-actions .text-button{display:inline-flex;align-items:center;gap:4px}.grade-chip{display:inline-grid;place-items:center;min-width:46px;height:30px;padding:0 8px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;text-align:center;text-align-last:center;color:var(--muted);background:color-mix(in srgb,var(--line) 45%,transparent);transition:background .2s,color .2s,border-color .2s,box-shadow .2s}select.grade-chip{appearance:none;width:52px;margin:0;cursor:pointer;border-color:color-mix(in srgb,var(--line) 80%,transparent);background-image:none}select.grade-chip:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}select.grade-chip:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}select.grade-chip option{color:var(--text);background:var(--surface-solid)}.grade-chip[data-band=good],.reports-key [data-band=good]{color:color-mix(in srgb,var(--grade-good) 80%,var(--text));background:color-mix(in srgb,var(--grade-good) 14%,var(--surface-solid))}.grade-chip[data-band=pass],.reports-key [data-band=pass]{color:color-mix(in srgb,var(--grade-pass) 80%,var(--text));background:color-mix(in srgb,var(--grade-pass) 14%,var(--surface-solid))}.grade-chip[data-band=below],.reports-key [data-band=below]{color:color-mix(in srgb,var(--grade-below) 85%,var(--text));background:color-mix(in srgb,var(--grade-below) 14%,var(--surface-solid))}.grade-chip[data-band=none]{color:color-mix(in srgb,var(--muted) 70%,transparent)}.grade-text[data-band=good]{color:color-mix(in srgb,var(--grade-good) 85%,var(--text))}.grade-text[data-band=pass]{color:color-mix(in srgb,var(--grade-pass) 85%,var(--text))}.grade-text[data-band=below]{color:var(--grade-below)}.grade-text[data-band=none]{color:var(--muted)}.report-status{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;vertical-align:middle;color:var(--muted);background:color-mix(in srgb,var(--line) 50%,transparent)}.report-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.6}.report-status[data-status=Draft]{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-solid))}.report-status[data-status=Final]{color:var(--accent-ink, #fff);background:var(--accent)}.report-status[data-status=Final]:before{opacity:1}.report-graded{display:block;margin-top:3px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.report-editor-head h2{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.report-editor-head .avatar{width:42px;height:42px;font-size:13px}.report-editor-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 24px 20px}.report-editor-stats>div{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--accent) 3%,var(--surface-solid))}.report-editor-stats span{font-size:11px;color:var(--muted)}.report-editor-stats strong{display:flex;align-items:baseline;gap:4px;font-size:18px;font-variant-numeric:tabular-nums}.report-editor-stats small{display:inline;font-size:11px;font-weight:500;color:var(--muted)}.report-editor-section{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.report-editor-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:0 24px}.report-editor-grades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;align-content:start}.modal .report-grade-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:6px 6px 6px 10px;border-radius:10px;color:var(--text);font-size:13px;transition:background .15s}.modal .report-grade-row:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.report-grade-row>span{min-width:0;line-height:1.3}.report-editor-side{display:flex;flex-direction:column;gap:12px}.report-rating{margin:0;padding:0;border:0}.report-rating legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:600}.report-rating-options{display:grid;grid-template-columns:repeat(4,auto);gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--line) 25%,transparent)}.modal .report-rating-options label{position:relative;display:grid;place-items:center;margin:0;padding:7px 6px;border-radius:7px;font-size:11.5px;white-space:nowrap;font-weight:500;text-align:center;color:var(--muted);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.modal .report-rating-options label:hover{color:var(--text)}.modal .report-rating-options label.checked{color:var(--accent);font-weight:650;background:var(--surface-solid);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 2px 6px -2px color-mix(in srgb,var(--accent) 35%,transparent)}.report-rating-options input{position:absolute;opacity:0;pointer-events:none}.report-rating-options label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.report-rating:disabled .report-rating-options label{cursor:default}.modal .report-comment{position:relative;margin:4px 0 0}.report-comment .report-editor-section{margin:0 0 6px}.report-comment .report-editor-section .muted{font-weight:500;letter-spacing:0;text-transform:none}.report-comment-count{align-self:flex-end;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.report-comment-count.is-near{color:var(--grade-below)}.report-editor-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:16px 24px 0;padding:10px 12px;border-radius:10px;font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--grade-pass) 8%,var(--surface-solid))}.report-editor .form-error{padding:0 24px}.report-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;padding:16px 24px 22px;border-top:1px solid var(--line)}.report-editor-actions button{display:inline-flex;align-items:center;gap:6px}.report-editor-spacer{flex:1}.report-subjects-text{display:block;width:calc(100% - 48px);margin:0 24px}.report-subjects-text+.form-error,.report-subjects-text~.flex{padding:0 24px 22px}.family-report{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.family-report small{display:block;color:var(--muted)}.family-report-grades{margin-top:6px}.family-report-comment{font-size:13px;font-style:italic}.print-sheets{display:none}@media(max-width:1100px){.reports-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.report-editor-body{grid-template-columns:minmax(0,1fr)}.report-editor-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-key{margin-left:0}}@media(max-width:520px){.reports-summary,.report-editor-grades{grid-template-columns:minmax(0,1fr)}.report-rating-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{@page{size:A4;margin:16mm 18mm}body.printing-sheets *{visibility:hidden}body.printing-sheets .print-sheets,body.printing-sheets .print-sheets *{visibility:visible}body.printing-sheets *:has(.print-sheets){position:static!important;overflow:visible!important;transform:none!important;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;contain:none!important;max-height:none!important}body.printing-sheets .print-sheets{display:block;position:absolute;inset:0 auto auto 0;width:100%;color:#000;background:#fff;font:10.5pt/1.45 Helvetica Neue,Arial,sans-serif}.report-sheet{position:relative;break-after:page;page-break-after:always}.report-sheet:last-child{break-after:auto;page-break-after:auto}.report-draft-mark{position:absolute;top:38%;left:0;right:0;text-align:center;font-size:72pt;font-weight:700;letter-spacing:.2em;color:#00000014;transform:rotate(-24deg);text-transform:uppercase}.report-sheet-head{display:flex;justify-content:space-between;padding-bottom:6mm;margin-bottom:6mm;border-bottom:1.5pt solid #000}.report-sheet-head strong{display:block;font-size:15pt}.report-sheet-head span{font-size:11pt}.report-sheet-student{display:grid;grid-template-columns:34mm 1fr 34mm 1fr;gap:2mm 4mm;margin:0 0 7mm}.report-sheet-student dt{color:#444}.report-sheet-student dd{margin:0}.report-sheet table{width:100%;border-collapse:collapse;margin-bottom:3mm}.report-sheet th,.report-sheet td{padding:1.6mm 2mm;border-bottom:.5pt solid #999;text-align:left;font-size:10.5pt}.report-sheet th{border-bottom:1pt solid #000;font-size:9pt;text-transform:none;letter-spacing:0}.report-sheet-grades td:last-child,.report-sheet-grades th:last-child{width:25mm;text-align:center;font-weight:600}.report-sheet-behaviour{margin-top:6mm}.report-sheet-behaviour td:not(:first-child),.report-sheet-behaviour th:not(:first-child){width:24mm;text-align:center}.report-sheet-scale{margin:0;font-size:8.5pt;color:#444}.report-sheet-absences{margin:6mm 0 3mm}.report-sheet-comment{margin:0;padding:3mm 4mm;border:.5pt solid #999;white-space:pre-wrap}.report-sheet-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:8mm;margin-top:16mm;font-size:9pt;color:#444}.report-sheet-signatures span{display:block;height:7mm;margin-bottom:1.5mm;border-bottom:.5pt solid #000;color:#000;font-size:10.5pt}}.register-half button{padding:6px 12px}.half-marks{display:block;margin-top:2px;font-size:11px;color:var(--muted)}.absence-mode{margin:0 24px 4px}.modal .group-students{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:4px 12px;max-height:220px;overflow-y:auto;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.modal .group-students legend{padding:0 4px;font-size:12px;color:var(--muted)}.modal .group-students label{flex-direction:row;align-items:center;gap:6px;margin:0;color:var(--text)}.group-result{padding:0 24px 22px}.visually-hidden,.document-pick input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.documents{display:flex;flex-direction:column;gap:6px}.document-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--text)}.document-meta small{display:block;font-size:11px;color:var(--muted)}.document-upload{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr) auto;gap:8px;margin-top:6px}.modal label.document-pick,.document-pick{position:relative;display:inline-flex;flex-direction:row;align-items:center;gap:6px;margin:0;padding:8px 14px;border:1px solid var(--line);border-radius:var(--button-radius, 10px);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.document-pick:focus-within{outline:2px solid var(--accent);outline-offset:2px}.absence-docs{margin-left:4px;color:var(--accent)}.family-certificate{display:block;margin-top:2px}.family-certificate label{position:relative;cursor:pointer;font-size:11px}.family-certificate label:focus-within{outline:2px solid var(--accent);outline-offset:2px}.family-certificate .text-button{font-size:11px}@media(max-width:700px){.document-upload{grid-template-columns:minmax(0,1fr)}}.journal{display:flex;flex-direction:column;gap:10px}.journal-filters{display:flex;flex-wrap:wrap;gap:8px}.journal-compose{display:grid;grid-template-columns:minmax(0,220px) minmax(0,170px) auto;gap:8px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px}.journal-compose textarea{grid-column:1 / -1}.modal .journal-compose .check-label{flex-direction:row;align-items:center;gap:6px;margin:0;color:var(--text)}.journal-compose-actions{display:flex;justify-content:flex-end;gap:8px;grid-column:2 / -1}.journal-entry{padding:10px 0;border-bottom:1px solid var(--line)}.journal-entry p{margin:6px 0 0;white-space:pre-wrap;font-size:13px}.journal-entry-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.journal-entry-head small{color:var(--muted);font-size:11px}.journal-entry-actions{margin-left:auto;display:flex;gap:10px}.journal-entry[data-category=Praise] .pill{color:#1f8a4c}.journal-entry[data-category=Incident] .pill{color:#c23b3b}.journal-shared{color:var(--accent);font-weight:600}.family-journal .journal-entry:last-child{border-bottom:0}@media(max-width:700px){.journal-compose{grid-template-columns:minmax(0,1fr)}.journal-compose-actions{grid-column:auto}}@media print{.journal-print-counts{display:flex;flex-wrap:wrap;gap:3mm 8mm;margin:0 0 5mm}.journal-print-table td{vertical-align:top;white-space:pre-wrap}.journal-print-table td:first-child{width:20mm;white-space:nowrap}.journal-print-table td:nth-child(2){width:32mm}.journal-print-table td:last-child{width:30mm}}.lesson.is-clickable{cursor:pointer}.lesson.is-clickable:hover,.lesson.is-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.timetable-notice{position:fixed;right:24px;bottom:24px;z-index:40;gap:12px;box-shadow:0 8px 24px #0000002e}.lesson-hint,.lesson-actions{padding:0 24px}.lesson-actions{padding-bottom:22px}.secondary.danger{color:#c23b3b}.import-options{display:flex;flex-direction:column;gap:6px;margin:0 24px 12px}.modal .import-options .check-label,.modal .records-body .check-label{flex-direction:row;align-items:center;gap:8px;margin:0;color:var(--text)}.records-tabs{margin:0 24px 8px}.records-body{padding:0 24px 22px}.records-gaps{margin:8px 0;padding-left:18px;font-size:13px}.records-gaps small{display:block;color:var(--muted)}.editor-delete{margin-right:auto}app-daycare{--care-open: #2f9e62;--care-busy: #b7791f;--care-full: #d14343}.daycare-tabs{margin-bottom:16px;flex-wrap:wrap}.daycare-tabs button{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;font-size:13px}.daycare-tabs button:not(.selected):hover{color:var(--text)}.daycare-tabs .tab-count{margin-left:0}.daycare-tabs button.selected .tab-count{background:var(--accent-ink, #fff);color:var(--accent)}.daycare .error,.daycare .feedback,.daycare .daycare-toolbar,.daycare .daycare-notice,.daycare .panel+.panel{margin-bottom:16px}.daycare-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.daycare-toolbar>p{margin:0}.daycare-toolbar-end,.daycare-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.daycare-filters .search,.daycare-toolbar-end .search{flex:none;width:240px;min-width:0}.daycare-filters-bar{justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.daycare-filters-bar .segmented button{display:inline-flex;align-items:center}.daycare-filters-bar .tab-count{background:color-mix(in srgb,var(--accent) 14%,var(--surface-solid, var(--surface)));color:var(--accent)}.daycare-filters-bar .segmented button.selected .tab-count{background:var(--accent-ink, #fff)}.daycare-stepper{display:flex;align-items:center;gap:4px}.daycare-stepper .icon-button{width:34px;height:34px;border:1px solid var(--line)}.daycare-stepper .text-button{margin-left:8px;font-size:13px}.daycare-when{position:relative;display:flex;align-items:center;min-width:190px;height:34px;padding:0 12px;border-radius:min(var(--button-radius),14px);cursor:pointer;font-size:14px;color:var(--muted)}.daycare-when:hover,.daycare-when:focus-within{background:var(--soft)}.daycare-when:focus-within{outline:2px solid var(--accent);outline-offset:1px}.daycare-when strong{margin-right:6px;color:var(--text);font-weight:650}.daycare-when input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.daycare-when input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.daycare-today-pill{margin-left:8px;background:var(--soft);color:var(--accent)}.daycare-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.daycare-stat{display:flex;flex-direction:column;gap:8px;min-width:0;padding:18px 20px}.daycare-stat p{margin:0}.daycare-stat .eyebrow{font-size:9px}.daycare-stat-value{display:flex;align-items:baseline;gap:6px;min-width:0;font-variant-numeric:tabular-nums}.daycare-stat-value strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:26px;font-weight:600;letter-spacing:-.6px;line-height:1.1}.daycare-stat-value span{color:var(--muted);font-size:13px;white-space:nowrap}.daycare-stat-value .is-warn{color:var(--care-busy)}.daycare-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;border:1px solid color-mix(in srgb,var(--care-busy) 35%,transparent);background:color-mix(in srgb,var(--care-busy) 9%,var(--surface-solid, var(--surface)));font-size:13px}.daycare-notice app-icon{color:var(--care-busy)}.daycare-meter{height:6px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,transparent)}.daycare-meter span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .5s cubic-bezier(.22,1,.36,1)}.daycare-meter[data-level=busy] span{background:var(--care-busy)}.daycare-meter[data-level=full] span{background:var(--care-full)}[data-level=busy]>small,small[data-level=busy]{color:var(--care-busy)}small[data-level=full]{color:var(--care-full);font-weight:600}.daycare-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;vertical-align:middle;background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted)}.daycare-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.daycare-tag[data-tone=ok]{background:color-mix(in srgb,var(--care-open) 13%,transparent);color:var(--care-open)}.daycare-tag[data-tone=warn]{background:color-mix(in srgb,var(--care-busy) 14%,transparent);color:var(--care-busy)}h3 .daycare-tag{margin-left:6px}.daycare .avatar{width:28px;height:28px;font-size:10px}.daycare-child-name{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}.daycare-child-name small{color:var(--muted);font-size:11px}.daycare-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;align-items:start}.daycare-card{padding:18px 20px 12px;transition:border-color .2s,box-shadow .2s}.daycare-card.is-now{border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.daycare-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.daycare-card-head h3{margin:4px 0 2px;font-size:16px}.daycare-card-head p{margin:0}.daycare-time{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.daycare-live{margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--accent);color:var(--accent-ink, #fff);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.daycare-count{display:flex;align-items:baseline;gap:3px;font-variant-numeric:tabular-nums}.daycare-count strong{font-size:26px;font-weight:600;letter-spacing:-.6px;line-height:1}.daycare-count span{color:var(--muted);font-size:13px}.daycare-meter-label{margin:6px 0 8px;color:var(--muted);font-size:11px}.daycare-children{margin:0;padding:0;list-style:none}.daycare-children li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent);font-size:13px}.daycare-children li.away .daycare-child-name,.daycare-children li.away .avatar{opacity:.55}.daycare-children li.away .daycare-child-name{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}.daycare-children-empty,.daycare-children li.daycare-children-empty{display:block;padding:10px 0;color:var(--muted);font-size:12px}.daycare-skeleton{height:220px;background:linear-gradient(100deg,var(--surface) 30%,color-mix(in srgb,var(--line) 50%,var(--surface)) 50%,var(--surface) 70%);background-size:300% 100%;animation:daycare-shimmer 1.4s ease-in-out infinite}@keyframes daycare-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.daycare-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:44px 24px;text-align:center;grid-column:1 / -1}.daycare-empty h3{margin:6px 0 0;font-size:16px}.daycare-empty p{max-width:460px;margin:0 0 10px;font-size:13px}.daycare-empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--soft);color:var(--accent)}.daycare-requests{margin-bottom:16px;border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.daycare-requests h3{display:flex;align-items:center;gap:8px}.daycare-requests h3 .tab-count{margin:0}.daycare-request-list{margin:0;padding:0 24px 10px;list-style:none}.daycare-request-list li{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.daycare-request-list .avatar{width:36px;height:36px;font-size:11px}.daycare-request-what{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;font-size:13px}.daycare-request-what small{font-size:12px}.daycare-request-what .is-full{color:var(--care-full);font-weight:600}.daycare-request-actions{display:flex;gap:8px}.daycare-request-actions button{display:inline-flex;align-items:center;gap:6px}.daycare-offer-week.is-inactive{opacity:.8}.daycare-offer-week .panel-heading h3{margin:0}.daycare-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:0 20px 20px}.daycare-weekday{display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--line) 22%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.daycare-weekday-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.daycare-weekday-head strong{font-size:13px}.daycare-weekday-head small{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.daycare-weekday ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;font-size:12px}.daycare-weekday li{display:flex;align-items:center;gap:8px;padding:4px 2px;border-radius:8px}.daycare-weekday li:hover{background:var(--surface-solid, var(--surface))}.daycare-weekday .avatar{width:24px;height:24px;font-size:9px}.daycare-end.icon-button{width:26px;height:26px;opacity:0;transition:opacity .15s}.daycare-weekday li:hover .daycare-end,.daycare-end:focus-visible{opacity:1}@media(hover:none){.daycare-end.icon-button{opacity:1}}.daycare-end.icon-button:hover{color:var(--care-full);background:color-mix(in srgb,var(--care-full) 10%,transparent)}.daycare-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:auto;padding:6px 10px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:9px;background:transparent;color:var(--accent);font-size:12px;font-weight:600}.daycare-add:hover:not(:disabled){background:var(--soft);border-style:solid}.daycare-add:disabled{border-color:var(--line);color:var(--muted)}.daycare-offers{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.daycare-offer{display:flex;flex-direction:column;gap:10px;padding:18px 20px}.daycare-offer.is-inactive{background:color-mix(in srgb,var(--line) 18%,var(--surface))}.daycare-offer.is-inactive h3,.daycare-offer.is-inactive .daycare-offer-numbers{opacity:.7}.daycare-offer-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.daycare-offer-head .eyebrow{margin:0;font-size:9px}.daycare-offer h3{margin:0;font-size:17px}.daycare-offer-facts{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;color:var(--muted);font-size:12px}.daycare-offer-facts span{display:inline-flex;align-items:center;gap:5px}.daycare-offer-numbers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.daycare-offer-numbers div{display:flex;flex-direction:column;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--line) 25%,transparent)}.daycare-offer-numbers strong{font-size:15px;font-variant-numeric:tabular-nums}.daycare-offer-numbers small{color:var(--muted);font-size:11px}.daycare-offer-days{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:4px 0 0;padding:0;list-style:none}.daycare-offer-days li{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600}.daycare-offer-days li.is-off{color:var(--muted);font-weight:400;opacity:.55}.daycare-offer-bar{position:relative;display:flex;align-items:flex-end;width:100%;height:34px;overflow:hidden;border-radius:7px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.is-off .daycare-offer-bar{background:repeating-linear-gradient(135deg,transparent 0 4px,color-mix(in srgb,var(--line) 80%,transparent) 4px 5px)}.daycare-offer-bar em{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--text)}.daycare-offer-bar span{display:block;width:100%;min-height:0;background:color-mix(in srgb,var(--accent) 45%,transparent);transition:height .5s cubic-bezier(.22,1,.36,1)}.daycare-offer-bar[data-level=busy] span{background:color-mix(in srgb,var(--care-busy) 50%,transparent)}.daycare-offer-bar[data-level=full] span{background:color-mix(in srgb,var(--care-full) 50%,transparent)}.daycare-offer-actions{display:flex;align-items:center;gap:12px;margin-top:6px;padding-top:12px;border-top:1px solid var(--line)}.daycare-offer-actions .secondary{display:inline-flex;align-items:center;gap:6px}.daycare-danger{margin-left:auto;color:var(--care-full)}.daycare-danger-button.primary{background:var(--care-full);border-color:var(--care-full);color:#fff}.daycare-invoices{overflow:hidden}.daycare-invoices th.num,.daycare-invoices td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.daycare-invoices tbody tr{transition:background .15s}.daycare-invoices tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.daycare-invoice-child{display:flex;align-items:center;gap:10px;min-width:170px}.daycare-lines{margin:0;padding:0;list-style:none;font-size:12px;line-height:1.6}.daycare-reduction{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;font-variant-numeric:tabular-nums}.daycare-reduction .icon-button{width:26px;height:26px}.daycare-tariff{display:inline-flex;align-items:center;gap:6px}.daycare-tariff input{width:64px}.daycare-paid-on{display:block;margin-top:3px;color:var(--muted);font-size:11px}.daycare-invoices .row-actions .secondary{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.daycare-dialog h2{margin:0;font-size:18px}.daycare-step{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.daycare-step:first-of-type{border-top:0}.daycare-step-number{display:grid;place-items:center;width:26px;height:26px;margin-top:2px;border-radius:50%;background:var(--soft);color:var(--accent);font-size:12px;font-weight:700}.daycare-step .autosearch-label,.daycare-step label{margin:0}.daycare-step-label{margin:4px 0 8px;color:var(--muted);font-size:12px}.daycare-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.daycare-choice{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--input);color:var(--text);text-align:left;transition:border-color .15s,background .15s}.daycare-choice small{color:var(--muted);font-size:11px}.daycare-choice:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.daycare-choice.selected{border-color:var(--accent);background:var(--soft);box-shadow:inset 0 0 0 1px var(--accent)}.daycare-day-chips{display:flex;flex-wrap:wrap;gap:8px}.daycare-day-chip{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:64px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--input);color:var(--text);transition:border-color .15s,background .15s}.daycare-day-chip strong{font-size:13px}.daycare-day-chip small{color:var(--muted);font-size:10px}.daycare-day-chip:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.daycare-day-chip.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink, #fff)}.daycare-day-chip.selected small{color:inherit;opacity:.85}.daycare-day-chip:disabled{opacity:.5;cursor:not-allowed}.daycare-from input{max-width:220px}.daycare-summary{display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--care-open) 10%,transparent);color:var(--text);font-size:13px}.daycare-summary app-icon{margin-top:1px;color:var(--care-open)}.daycare-field{margin:10px 0}.daycare-money-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:min(var(--button-radius),14px);background:var(--input)}.daycare-money-input:focus-within{outline:2px solid var(--accent);outline-offset:1px}.daycare-money-input span{padding:0 4px 0 12px;color:var(--muted);font-size:13px}.daycare-money-input input:not([type=checkbox]):not([type=range]):not([type=color]){flex:1;min-width:0;border:0;background:transparent;outline:none}.daycare-switch{align-items:flex-start!important;gap:10px!important;margin:12px 0 0!important;color:var(--text)!important;font-size:13px!important}.daycare-switch input{margin-top:2px}.daycare input[type=checkbox],.daycare-dialog input[type=checkbox]{accent-color:var(--accent)}.daycare-switch span{display:flex;flex-direction:column;gap:2px}.daycare-switch small{font-size:12px}.daycare-days{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:10px}.daycare .check-label,.family-care .check-label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;margin:0}.family-care-form{display:grid;gap:10px;margin:10px 0;padding:12px;border:1px solid var(--line);border-radius:12px}.family-subhead{margin:14px 0 4px;font-size:13px}@media(max-width:900px){.daycare-stats{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.daycare-tabs{flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}.daycare-tabs button{flex:none}.daycare-stats{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.daycare-stat{padding:14px 16px;scroll-snap-align:start}.daycare-stat-value strong{font-size:22px}.daycare-toolbar,.daycare-toolbar-end,.daycare-filters{align-items:stretch;flex-direction:column}.daycare-filters .search,.daycare-toolbar-end .search{width:auto}.daycare-stepper{justify-content:space-between}.daycare-when{flex:1;min-width:0;justify-content:center}.daycare-request-list li{flex-wrap:wrap}.daycare-request-actions{width:100%}.daycare-request-actions button{flex:1;justify-content:center}.daycare-step{grid-template-columns:minmax(0,1fr)}.daycare-step-number{display:none}}.payroll-nbu{display:inline-flex;flex-direction:row;align-items:center;gap:6px;margin:0}.payroll-nbu input{width:80px}.payslip-table{width:calc(100% - 48px);margin:0 24px}.payslip-table td{padding:8px 4px;border-bottom:1px solid var(--line);font-size:13px}.payslip-table td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.payslip-sum td{font-weight:600;border-bottom-color:var(--text)}.payslip-note,.payslip-actions{padding:0 24px}.payslip-actions{padding-bottom:22px}.field-error{display:block;margin-top:2px;font-size:11px;font-weight:500;color:var(--danger, #c23b3b)}[aria-invalid=true],[aria-invalid=true]:focus{border-color:var(--danger, #c23b3b)!important;box-shadow:0 0 0 2px #c23b3b26}.today-widget{display:flex;flex-direction:column;gap:8px;height:100%}.today-date{margin:0;font-size:12px;color:var(--muted)}.today-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;overflow:auto}.today-grid h4{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.today-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:6px 8px;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left;font-size:13px}.today-row:hover{background:var(--soft)}.today-row small{display:block;color:var(--muted);font-size:11px}.today-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.today-big{min-width:42px;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.today-alert .today-big{color:var(--accent)}.today-event,.today-line{margin:4px 8px;font-size:12px}.today-event:before{content:"\25cf  ";color:var(--accent)}.today-event[data-kind=Holiday]:before{color:#1f8a4c}.payslip-table td small{display:block;font-size:11px}.payslip-table td:nth-child(2){width:0;padding:0}app-assessments,app-assessment-results,app-report-cards{--grade-top: var(--accent);--grade-good: #2f9e62;--grade-pass: #b7791f;--grade-below: #d14343}.value-chip{display:inline-grid;place-items:center;min-width:44px;height:30px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);background:color-mix(in srgb,var(--line) 45%,transparent)}.value-chip[data-band=top],.level-legend [data-band=top]:before,.level-bar [data-band=top]{--band: var(--grade-top)}.value-chip[data-band=good],.level-legend [data-band=good]:before,.level-bar [data-band=good]{--band: var(--grade-good)}.value-chip[data-band=pass],.level-legend [data-band=pass]:before,.level-bar [data-band=pass]{--band: var(--grade-pass)}.value-chip[data-band=below],.level-legend [data-band=below]:before,.level-bar [data-band=below]{--band: var(--grade-below)}.value-chip:not([data-band=none]){color:color-mix(in srgb,var(--band) 82%,var(--text));background:color-mix(in srgb,var(--band) 14%,var(--surface-solid))}.value-text[data-band=top]{color:color-mix(in srgb,var(--grade-top) 85%,var(--text))}.value-text[data-band=good]{color:color-mix(in srgb,var(--grade-good) 85%,var(--text))}.value-text[data-band=pass]{color:color-mix(in srgb,var(--grade-pass) 85%,var(--text))}.value-text[data-band=below]{color:var(--grade-below)}.value-text[data-band=none]{color:var(--muted)}.level-bar{display:flex;gap:2px;height:8px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,transparent)}.level-bar span{flex-basis:0;background:var(--band, var(--muted));transition:flex-grow .4s cubic-bezier(.22,1,.36,1)}.level-bar-mini{display:inline-flex;width:64px;height:6px}.level-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font-size:12px;color:var(--muted)}.level-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--band, var(--muted))}.level-legend b{margin-left:4px;color:var(--text);font-weight:650}.assess .error{margin-bottom:16px}.assess-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;margin-bottom:20px}.assess-pickers{display:flex;flex-wrap:wrap;gap:8px}.assess-pickers select{min-height:44px;padding:0 12px}.assess-timeline{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:8px;scroll-snap-type:x proximity}.assess-stop{position:relative;display:flex;flex:0 0 200px;flex-direction:column;align-items:flex-start;gap:6px;min-height:112px;padding:16px 18px 20px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:var(--card-radius, 16px);background:var(--surface);color:var(--text);text-align:left;scroll-snap-align:start;transition:border-color .2s,box-shadow .2s}.assess-stop:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.assess-stop.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.assess-stop strong{display:block;max-height:2.6em;overflow:hidden;font-size:14px;font-weight:600;line-height:1.3}.assess-stop small{display:inline-flex;align-items:center;gap:6px;margin-top:auto;color:var(--muted);font-size:11px}.assess-stop-date{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}.assess-stop-overview{flex-basis:150px;background:var(--soft)}.assess-stop-empty{flex-basis:280px;border-style:dashed;background:transparent}.assess-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--muted) 45%,transparent)}.assess-dot.is-on{background:#2f9e62}.assess-progress{position:absolute;right:18px;bottom:10px;left:18px;height:3px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,transparent)}.assess-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .4s cubic-bezier(.22,1,.36,1)}.assess-sheet{padding:28px 28px 20px}.assess-sheet-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px}.assess-sheet-title .eyebrow{margin:0 0 6px}.assess-sheet-title h2{margin:0;font-size:24px;font-weight:600;letter-spacing:-.4px}.assess-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0 0;font-size:12px;color:var(--muted)}.assess-competence{color:var(--text)}.assess-sheet-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.assess-switch{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:6px 16px 6px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:13px;font-weight:600;text-align:left}.assess-switch small{display:block;font-size:11px;font-weight:400;color:var(--muted)}.assess-switch-track{position:relative;flex-shrink:0;width:44px;height:26px;border-radius:999px;background:var(--line);transition:background .2s}.assess-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s cubic-bezier(.22,1,.36,1)}.assess-switch[aria-checked=true]{border-color:color-mix(in srgb,var(--grade-good) 45%,var(--line))}.assess-switch[aria-checked=true] .assess-switch-track{background:var(--grade-good)}.assess-switch[aria-checked=true] .assess-switch-track:after{transform:translate(18px)}.assess-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:24px 0 8px}.assess-stats>div{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--soft) 60%,transparent)}.assess-stats span{font-size:11px;color:var(--muted)}.assess-stats strong{font-size:24px;font-weight:600;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.assess-stats strong small{margin-left:4px;font-size:13px;font-weight:400;color:var(--muted)}.assess-stats .assess-stats-wide{grid-column:span 2;justify-content:center}.assess-entry{margin-top:16px}.assess-entry-head,.assess-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) 48px 96px;align-items:center;gap:12px}.assess-entry-head{padding:0 4px 8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.assess-entry-head span:nth-child(2){grid-column:2 / 4}.assess-entry-avg-head,.assess-row-avg{text-align:right}.assess-row{position:relative;min-height:64px;padding:8px 4px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);transition:opacity .2s}.assess-row.is-saving{opacity:.7}.assess-row-name{display:flex;align-items:center;gap:12px;min-width:0}.assess-row-name strong{overflow:hidden;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.assess-row-value{position:relative}.assess-grade,.assess-level,.assess-flag{width:100%;min-height:48px;border-radius:14px;font-size:17px;font-weight:650;font-variant-numeric:tabular-nums;text-align:center}.assess .assess-grade{padding:0 12px;border:1px solid var(--line);background:var(--input)}.assess-grade[data-band=top],.assess-level[data-band=top]{--band: var(--grade-top)}.assess-grade[data-band=good],.assess-level[data-band=good]{--band: var(--grade-good)}.assess-grade[data-band=pass],.assess-level[data-band=pass]{--band: var(--grade-pass)}.assess-grade[data-band=below],.assess-level[data-band=below]{--band: var(--grade-below)}.assess .assess-grade:not([data-band=none]){color:color-mix(in srgb,var(--band) 82%,var(--text));border-color:color-mix(in srgb,var(--band) 30%,var(--line));background:color-mix(in srgb,var(--band) 10%,var(--surface-solid))}.assess .assess-grade[aria-invalid=true]{border-color:var(--grade-below);box-shadow:0 0 0 3px color-mix(in srgb,var(--grade-below) 18%,transparent)}.assess-invalid{position:absolute;top:calc(100% + 2px);left:0;right:0;font-size:11px;text-align:center;color:var(--grade-below)}.assess-level{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px dashed var(--line);background:transparent;color:var(--muted);font-size:13px;text-align:left;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s,transform .1s}.assess-level:active{transform:scale(.98)}.assess-level:not([data-band=none]){border-style:solid;border-color:color-mix(in srgb,var(--band) 35%,var(--line));background:color-mix(in srgb,var(--band) 13%,var(--surface-solid));color:color-mix(in srgb,var(--band) 82%,var(--text))}.assess-level-mark{display:inline-grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;font-size:14px;font-weight:700;background:color-mix(in srgb,currentColor 14%,transparent)}.assess-level-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assess-flag{border:1px solid var(--line);background:color-mix(in srgb,var(--line) 40%,transparent);color:var(--muted);font-size:13px;font-weight:600}.assess-note-button.icon-button{width:48px;height:48px}.assess-note-button.has-note{color:var(--accent);background:var(--soft)}.assess-row-avg strong{display:block;font-size:16px;font-variant-numeric:tabular-nums}.assess-row-avg small{font-size:11px;color:var(--muted)}.assess-row-comment{grid-column:1 / -1;margin:-2px 0 4px 48px;font-size:12px;font-style:italic;color:var(--muted)}.assess-popover-scrim{position:fixed;inset:0;z-index:1}.assess-popover{display:flex;flex-direction:column;gap:12px;width:min(360px,calc(100vw - 32px));padding:16px;background:var(--surface-solid, var(--surface));box-shadow:0 18px 50px #0000002e}.assess-popover textarea{width:100%;padding:10px 12px;font:inherit;font-size:14px;resize:vertical}.assess-flags{align-self:flex-start}.assess-flags button,.results-head .segmented button{min-height:36px}.assess-popover-actions{display:flex;justify-content:flex-end;gap:8px}.assess-hint{margin:16px 4px 0}.assess-empty{padding:24px 4px}.assess-overview{padding:8px 0 20px;overflow:hidden}.assess-overview .assess-hint{margin:16px 24px 0}.assess-matrix{width:100%}.assess-matrix th,.assess-matrix td{padding:10px 6px;text-align:center;vertical-align:middle}.assess-matrix tbody tr{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.assess-matrix .assess-matrix-name{position:sticky;left:0;z-index:1;min-width:170px;padding-left:24px;text-align:left;background:var(--surface-solid, var(--surface));box-shadow:1px 0 0 var(--line);font-weight:550}th.assess-matrix-name,th.assess-matrix-avg{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.assess-matrix-avg{min-width:84px;font-variant-numeric:tabular-nums}.assess-matrix td.assess-matrix-avg:last-child,.assess-matrix th.assess-matrix-avg:last-child{padding-right:24px}.assess-matrix-head{display:flex;flex-direction:column;align-items:center;gap:2px;max-width:120px;margin:0 auto;padding:6px 8px;border-radius:10px;color:var(--text)}.assess-matrix-head:hover{background:var(--soft)}.assess-matrix-head span{max-width:110px;overflow:hidden;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.assess-matrix-head small{font-size:10px;color:var(--muted)}.assess-blank{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:480px;margin:0 auto;padding:56px 24px 44px;text-align:center;color:var(--accent)}.assess-blank h2{margin:4px 0 0;font-size:20px;font-weight:600;color:var(--text)}.assess-blank p{margin:0 0 8px;line-height:1.6}.assess-choice{min-width:0;margin:0;padding:0;border:0}.assess-choice legend{margin-bottom:8px;font-size:12px;color:var(--muted)}.assess-chips{display:flex;flex-wrap:wrap;gap:8px}.modal .assess-chips label,.modal .assess-scales label{cursor:pointer;border:1px solid var(--line);color:var(--text);transition:border-color .15s,background .15s}.modal .assess-chips label{display:inline-flex;flex-direction:row;align-items:center;min-height:40px;margin:0;padding:0 16px;border-radius:999px;font-size:13px}.assess-chips input,.assess-scales input{position:absolute;opacity:0;pointer-events:none}.assess-scales{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.modal .assess-scales label{position:relative;display:flex;flex-direction:column;gap:4px;margin:0;padding:14px;border-radius:14px}.assess-scales small{font-size:11px;line-height:1.4;color:var(--muted)}.modal .assess-chips label.checked,.modal .assess-scales label.checked{border-color:var(--accent);background:var(--soft)}.modal .assess-scales label.is-locked{cursor:not-allowed;opacity:.45}.assess-chips label:has(input:focus-visible),.assess-scales label:has(input:focus-visible){outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.assess-form .segmented button{min-height:40px;padding:0 18px}.assess-form-actions{display:flex;align-items:center;gap:10px;margin-top:24px}.results{display:flex;flex-direction:column;gap:16px}.results-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.results-head h3{margin:0}.results-embedded{padding-top:22px}.results-subject{display:flex;flex-direction:column;gap:12px;padding:22px 24px;border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:var(--card-radius, 16px);background:var(--surface)}.results-embedded .results-subject{padding:18px 0 4px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.results-subject-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.results-subject-head h4{margin:0;font-size:16px;font-weight:600}.results-average{display:inline-flex;align-items:center;gap:10px}.results-average small{font-size:11px;color:var(--muted)}.results-list{margin:0;padding:0;list-style:none}.results-entry{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:16px;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.results-entry:first-child{border-top:0}.results-entry-when{display:flex;flex-direction:column;gap:2px;font-size:12px;font-weight:600}.results-entry-when small,.results-entry-what small{font-size:11px;font-weight:400;color:var(--muted)}.results-entry-what{display:flex;flex-direction:column;gap:3px;min-width:0}.results-entry-what strong{font-weight:550}.results-comment{margin:4px 0 0;font-size:13px;font-style:italic;color:var(--muted)}.results-entry-value{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.results-entry-value small{font-size:10px;color:var(--muted)}.value-chip-level{font-size:12px}.results-empty{display:flex;flex-direction:column;gap:6px;padding:28px 24px;border:1px dashed var(--line);border-radius:var(--card-radius, 16px);text-align:center}.results-empty p{margin:0;font-weight:550}.results-embedded .results-empty{margin-bottom:4px;padding:20px 16px}.family-results{grid-column:1 / -1}.grade-hint{display:inline-flex;align-items:center;gap:3px;margin-left:4px;padding:2px 8px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:999px;background:transparent;color:var(--accent);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;vertical-align:middle}.grade-hint:before{content:"\21b5";font-size:10px;opacity:.7}.grade-hint:hover:not(:disabled){border-style:solid;background:var(--soft)}.report-grid-cell .grade-hint{display:flex;width:fit-content;margin:4px auto 0}@media(max-width:900px){.assess-entry-head,.assess-row{grid-template-columns:minmax(0,1fr) minmax(120px,170px) 48px 64px;gap:8px}.assess-sheet{padding:22px 18px 16px}}@media(max-width:640px){.assess-toolbar{padding:12px}.assess-toolbar>.primary{width:100%}.assess-pickers{display:grid;grid-template-columns:1fr 1fr;width:100%}.assess-pickers select:last-child{grid-column:1 / -1}.assess-stop{flex-basis:170px}.assess-entry-head{display:none}.assess-row{grid-template-columns:minmax(0,1fr) 48px;grid-template-areas:"name avg" "value note";row-gap:8px;padding:12px 0}.assess-row-name{grid-area:name}.assess-row-avg{grid-area:avg}.assess-row-value{grid-area:value}.assess-note-button.icon-button{grid-area:note}.assess-row-name .avatar{display:none}.assess-row-comment{margin-left:0}.assess-stats .assess-stats-wide{grid-column:1 / -1}.assess-scales{grid-template-columns:minmax(0,1fr)}.assess-sheet-actions{width:100%}.assess-switch{flex:1}.results-entry{grid-template-columns:minmax(0,1fr) auto}.results-entry-when{flex-direction:row;gap:8px;grid-column:1 / -1}.results-subject{padding:18px}.assess-form-actions{flex-wrap:wrap}}app-surveys,app-survey-inbox,app-survey-results,app-survey-builder{--survey-good: #2f9e62;display:block}.surveys .feedback,.surveys .error,.survey-results .error{margin-bottom:16px}.survey-status{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;background:var(--soft);color:var(--accent)}.survey-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.survey-status[data-phase=Draft]{background:color-mix(in srgb,var(--line) 60%,transparent);color:var(--muted)}.survey-status[data-phase=Ended],.survey-status[data-phase=Closed]{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted)}.survey-status[data-phase=Closed]:before{border-radius:2px}.surveys-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.surveys-filter{flex-wrap:wrap}.surveys-filter button{display:inline-flex;align-items:center;padding:8px 16px;font-size:13px}.surveys-filter .tab-count{background:color-mix(in srgb,var(--accent) 14%,var(--surface-solid, var(--surface)));color:var(--accent)}.surveys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--dashboard-gap, 20px)}.survey-card{display:flex;flex-direction:column;gap:8px;min-height:196px;padding:22px 24px 20px;color:var(--text);text-align:left}.survey-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));transform:translateY(-2px)}.survey-card:hover .survey-card-arrow{color:var(--accent);transform:translate(3px)}.survey-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.survey-card-when{color:var(--muted);font-size:12px}.survey-card-title{margin-top:6px;font-size:17px;font-weight:620;letter-spacing:-.3px;line-height:1.3}.survey-card-meta{color:var(--muted);font-size:12px}.survey-card-foot{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.survey-card-progress strong{font-size:14px;font-variant-numeric:tabular-nums}.survey-card-progress small{color:var(--muted);font-size:11px}.survey-card-draft{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.survey-card-arrow{margin-left:auto;color:var(--muted);transition:transform .2s,color .2s}.survey-card.survey-skeleton,.survey-summary.survey-skeleton{height:196px;background:linear-gradient(100deg,var(--surface) 30%,color-mix(in srgb,var(--line) 50%,var(--surface)) 50%,var(--surface) 70%);background-size:300% 100%;animation:daycare-shimmer 1.4s ease-in-out infinite}.survey-ring{position:relative;display:inline-grid;place-items:center;flex:none;width:48px;height:48px}.survey-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.survey-ring circle{fill:none;stroke-width:5}.survey-ring.is-large circle{stroke-width:9}.survey-ring-track{stroke:color-mix(in srgb,var(--line) 80%,transparent)}.survey-ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .6s cubic-bezier(.22,1,.36,1)}.survey-ring-label{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-variant-numeric:tabular-nums}.survey-ring-label strong{font-size:11px;font-weight:650}.survey-ring.is-large{width:132px;height:132px}.survey-ring.is-large .survey-ring-label strong{font-size:26px;letter-spacing:-.6px}.survey-ring.is-large .survey-ring-label small{color:var(--muted);font-size:11px}.survey-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center;grid-column:1 / -1}.survey-empty h3{margin-top:6px;font-size:17px}.survey-empty p{max-width:48ch;margin:0 0 10px;font-size:13px;line-height:1.55}.survey-empty-hero{padding:72px 24px}.survey-empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--soft);color:var(--accent)}.survey-builder,.survey-results{max-width:780px;margin:0 auto}.survey-view-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.survey-back{font-size:13px}.survey-sheet{padding:28px 30px 26px}.survey-sheet .survey-title-input,.survey-sheet .survey-intro-input{display:block;width:100%;border:0;background:transparent;padding:0;resize:none}.survey-sheet .survey-title-input{font-size:26px;font-weight:650;letter-spacing:-.6px}.survey-sheet .survey-intro-input{margin-top:10px;color:var(--text);font-size:14px;line-height:1.55}.survey-title-input::placeholder,.survey-intro-input::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}.survey-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.survey-setting{display:flex;flex-direction:column;gap:8px;min-width:0}.survey-setting small{font-size:11px;line-height:1.45}.survey-setting input[type=date]{min-height:40px;padding:0 12px;max-width:220px}.survey-setting-label{font-size:12px;font-weight:600;color:var(--text)}.survey-setting .segmented{align-self:flex-start}.survey-setting .segmented button{padding:8px 16px;font-size:13px}.survey-class-chips{display:flex;flex-wrap:wrap;gap:8px}.survey-chip{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:13px;font-weight:550}.survey-chip:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.survey-chip.is-on{border-color:var(--accent);background:var(--soft);color:var(--accent)}.survey-toggle{display:inline-flex;align-items:center;gap:10px}.survey-toggle input{width:18px;height:18px;accent-color:var(--accent)}.survey-locked-note{display:flex;align-items:flex-start;gap:10px;margin:18px 4px 0;color:var(--muted);font-size:13px;line-height:1.5}.survey-locked-note app-icon{flex:none;margin-top:2px;color:var(--accent)}.survey-questions{display:flex;flex-direction:column;gap:16px;margin:20px 0 0;padding:0;list-style:none}.survey-question{display:flex;flex-direction:column;gap:14px;padding:20px 24px 18px}.survey-question:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.survey-question-head{display:flex;align-items:center;gap:12px}.survey-field-number{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;border-radius:9px;background:var(--soft);color:var(--accent);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.survey-kind select{min-height:34px;padding:0 30px 0 12px;font-size:12px;font-weight:550}.survey-question-tools{display:flex;gap:2px;margin-left:auto}.survey-question-tools .icon-button{width:32px;height:32px}.survey-prompt-input{width:100%;min-height:46px;padding:0 14px;font-size:15px;font-weight:550}.survey-options{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.survey-option-row{display:flex;align-items:center;gap:10px}.survey-option-row>input{flex:1;min-width:0;min-height:40px;padding:0 12px;font-size:13px}.survey-option-mark{flex:none;width:16px;height:16px;border:1.5px solid color-mix(in srgb,var(--muted) 60%,transparent);border-radius:50%}.survey-option-mark[data-kind=multiple]{border-radius:4px}.survey-option-mark[data-kind=slot]{border-radius:4px;border-style:dashed}.survey-capacity{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.survey-capacity input{width:64px;min-height:40px;padding:0 8px;text-align:center}.survey-add-option{align-self:flex-start;margin-left:22px}.survey-yes-no-preview{display:flex;gap:10px}.survey-yes-no-preview span,.survey-text-preview{padding:10px 18px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:13px}.survey-text-preview{padding:16px 14px}.survey-required{align-self:flex-start;padding-top:4px;color:var(--muted)}.survey-add{margin-top:22px;padding:20px 22px;border:1.5px dashed color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:var(--card-radius)}.survey-add .survey-setting-label{margin-bottom:12px}.survey-add-kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.survey-add-kind{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);text-align:left}.survey-add-kind app-icon{flex:none;margin-top:1px;color:var(--accent)}.survey-add-kind strong{display:block;font-size:13px;font-weight:600}.survey-add-kind small{color:var(--muted);font-size:11px}.survey-add-kind:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--soft)}.survey-actions{position:sticky;bottom:16px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding:12px 14px 12px 20px;background:var(--surface-solid, var(--surface));box-shadow:0 10px 30px #0f0c281f}.survey-actions-note{flex:1 1 220px;margin:0;color:var(--muted);font-size:12px}.survey-actions-note.form-error{color:var(--danger, #e5484d)}.survey-actions-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.survey-delete{color:var(--danger, #e5484d)}.survey-summary{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px}.survey-summary-text{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.survey-summary h2{font-size:24px;letter-spacing:-.5px;line-height:1.25}.survey-summary .muted{font-size:13px}.survey-anonymous-note{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:12px}.survey-summary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.survey-live{display:inline-flex;align-items:center;gap:7px;color:var(--survey-good);font-size:12px;font-weight:600}.survey-live-dot{width:8px;height:8px;border-radius:50%;background:var(--survey-good);box-shadow:0 0 color-mix(in srgb,var(--survey-good) 50%,transparent);animation:survey-pulse 2s ease-out infinite}@keyframes survey-pulse{70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.survey-result-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.survey-result{padding:22px 26px 24px}.survey-result-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.survey-result-head h3{flex:1;padding-top:3px;font-size:15px;font-weight:600;line-height:1.4}.survey-result-head>.muted{padding-top:5px;white-space:nowrap}.survey-bars{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none}.survey-bar-text{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:13px}.survey-bar-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.survey-bar-count strong{color:var(--text)}.survey-bar-track{height:10px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 65%,transparent)}.survey-bar-track span{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--accent) 55%,var(--surface-solid, var(--surface)));transition:width .6s cubic-bezier(.22,1,.36,1)}.survey-bar.is-leading .survey-bar-track span{background:var(--accent)}.survey-bar.is-leading .survey-bar-text>span:first-child{font-weight:600}.survey-bar-track span.is-full{background:var(--survey-good)}.survey-bar-names{margin-top:6px;color:var(--muted);font-size:11px}.survey-texts{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.survey-texts li{padding:12px 16px;border-left:3px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:4px 12px 12px 4px;background:color-mix(in srgb,var(--soft) 60%,transparent);font-size:13px;line-height:1.5}.survey-texts li small{margin-top:4px;color:var(--muted);font-size:11px}.survey-missing{margin-top:16px;padding:6px 8px}.survey-missing-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 18px;border-radius:14px;color:var(--text);text-align:left}.survey-missing-toggle:hover{background:var(--soft)}.survey-missing-toggle small{margin-top:2px;font-size:12px}.survey-missing-class{padding:6px 18px 16px}.survey-missing-class ul{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}.survey-missing-class li{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-size:12px}.survey-missing-class li small{color:var(--muted);font-size:10px}.survey-inbox.is-card{margin-bottom:16px;border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.survey-inbox{padding:20px 24px}.survey-inbox-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}.survey-inbox-head h3{font-size:15px;font-weight:620}.survey-inbox-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:13px;background:var(--soft);color:var(--accent)}.survey-inbox-list{margin:0;padding:0;list-style:none}.survey-inbox-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.survey-inbox>.survey-inbox-list>.survey-inbox-row:first-child{border-top:0}.survey-inbox-state{display:grid;place-items:center;flex:none;width:22px;height:22px;border:2px solid var(--accent);border-radius:50%}.survey-inbox-state[data-state=done]{border-color:var(--survey-good);background:var(--survey-good);color:#fff}.survey-inbox-text{flex:1;min-width:0}.survey-inbox-text strong{display:block;font-size:14px;font-weight:600}.survey-inbox-text small{margin-top:2px;color:var(--muted);font-size:12px}.survey-inbox-row.is-done .survey-inbox-text strong{color:var(--muted);font-weight:550}.modal.survey-dialog{position:relative;width:640px;padding:34px 36px 26px}.survey-dialog-close{position:absolute;top:14px;right:14px}.survey-form{display:flex;flex-direction:column;gap:26px}.survey-form-head{display:flex;flex-direction:column;gap:10px;padding-right:30px}.survey-form-head h2{font-size:22px;letter-spacing:-.4px;line-height:1.3}.survey-form-intro{font-size:14px;line-height:1.6;white-space:pre-line}.survey-form-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:12px}.survey-form-meta span{display:inline-flex;align-items:center;gap:6px}.survey-field{min-width:0;margin:0;padding:0;border:0}.survey-field legend{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;padding:0;font-size:15px;font-weight:600;line-height:1.45}.survey-field legend>span:last-child{padding-top:2px}.survey-field legend small{display:inline;margin-left:8px;color:var(--muted);font-size:11px;font-weight:500}.survey-field.is-missing legend{color:var(--danger, #e5484d)}.survey-field-hint{margin:-6px 0 10px 38px;color:var(--muted);font-size:12px}.survey-field textarea{width:calc(100% - 38px);margin-left:38px;padding:12px 14px;font-size:14px;line-height:1.5;resize:vertical}.survey-choices,.survey-yes-no{display:flex;flex-direction:column;gap:8px;margin-left:38px}.survey-choices.is-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.survey-yes-no{flex-direction:row}.modal .survey-choice,.survey-choice{position:relative;display:flex;flex-direction:row;align-items:center;gap:12px;min-height:48px;margin:0;padding:10px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);font-size:14px;cursor:pointer;transition:border-color .15s,background .15s}.modal .survey-yes-no .survey-choice{flex:1;justify-content:center;max-width:180px;font-weight:600}.survey-choice input{position:absolute;opacity:0;pointer-events:none}.survey-choice:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.survey-choice:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.modal .survey-choice.is-chosen,.survey-choice.is-chosen{border-color:var(--accent);background:var(--soft)}.survey-choice-mark{display:grid;place-items:center;flex:none;width:18px;height:18px;border:1.5px solid color-mix(in srgb,var(--muted) 70%,transparent);border-radius:50%}.survey-choice.is-multiple .survey-choice-mark{border-radius:5px}.survey-choice.is-chosen .survey-choice-mark{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--surface-solid, var(--surface))}.survey-choice.is-multiple.is-chosen .survey-choice-mark{box-shadow:inset 0 0 0 2.5px var(--surface-solid, var(--surface))}.survey-places{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}.modal .survey-choice.is-full{cursor:not-allowed;opacity:.5}.survey-choice.is-full span:not(.survey-places){text-decoration:line-through}.survey-field:disabled .survey-choice{cursor:default}.survey-form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.survey-form .form-error{margin:-8px 0 0}@media(max-width:700px){.surveys-toolbar>.primary{width:100%}.surveys-grid{grid-template-columns:minmax(0,1fr)}.survey-sheet,.survey-summary,.survey-result{padding:22px 18px}.survey-sheet .survey-title-input{font-size:22px}.survey-settings{grid-template-columns:minmax(0,1fr)}.survey-question{padding:18px 16px 16px}.survey-summary{flex-direction:column-reverse;align-items:stretch}.survey-summary .survey-ring{align-self:center}.survey-actions{bottom:8px;padding:12px}.survey-actions-buttons{width:100%}.survey-actions-buttons .primary{flex:1}.modal.survey-dialog{padding:28px 18px 20px}.survey-choices,.survey-yes-no,.survey-field-hint{margin-left:0}.survey-field textarea{width:100%;margin-left:0}.survey-inbox{padding:18px}.survey-inbox-row{flex-wrap:wrap}.survey-inbox-row>button{margin-left:36px}}app-survey-question-editor,app-survey-question-result{display:flex}.survey-builder,.survey-results{max-width:900px}.survey-builder{max-width:1080px}.survey-stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.survey-stat{display:flex;align-items:center;gap:14px;padding:16px 18px;color:var(--text);text-align:left}.survey-stat strong{display:block;font-size:22px;font-weight:650;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.survey-stat small{color:var(--muted);font-size:12px}.survey-stat-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:var(--soft);color:var(--accent)}button.survey-stat:disabled{cursor:default;opacity:1}.survey-stat.is-alert .survey-stat-icon{background:color-mix(in srgb,#e5a50a 16%,transparent);color:#b7791f}button.survey-stat.is-alert:hover{border-color:color-mix(in srgb,#e5a50a 50%,var(--line))}.surveys-toolbar-end{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.survey-search{position:relative;display:inline-flex;align-items:center}.survey-search app-icon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.survey-search input{width:220px;min-height:38px;padding:0 12px 0 34px;font-size:13px}.survey-sort select,.survey-class-filter select{min-height:38px;padding:0 30px 0 12px;font-size:13px}.survey-card{position:relative}.survey-card.is-soon{border-color:color-mix(in srgb,#e5a50a 45%,var(--line))}.survey-card-when.is-soon{color:#b7791f;font-weight:600}.survey-card-top .survey-card-when{margin-left:auto}.survey-card-copy{position:relative;z-index:2;width:30px;height:30px;margin:-6px -8px -6px 0;opacity:0;transition:opacity .15s}.survey-card:hover .survey-card-copy,.survey-card-copy:focus-visible{opacity:1}.survey-card-open{padding:0;border:0;background:none;color:inherit;text-align:left}.survey-card-open:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}.survey-card-open:focus-visible{outline:none}.survey-card:has(.survey-card-open:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.survey-card:hover{cursor:pointer}.survey-gallery{width:760px}.survey-gallery h2{font-size:22px;letter-spacing:-.4px}.survey-gallery>p{margin:6px 0 20px}.survey-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.survey-template-grid.is-compact{width:100%;max-width:760px;margin:10px 0 6px;text-align:left}.survey-template{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);text-align:left;transition:border-color .15s,transform .15s,background .15s}.survey-template:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--soft) 50%,var(--surface));transform:translateY(-1px)}.survey-template strong{display:block;font-size:14px;font-weight:620}.survey-template small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45}.survey-template .survey-template-meta{margin-top:8px;color:var(--accent);font-size:11px;font-weight:550}.survey-template-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:var(--soft);color:var(--accent)}.survey-template.is-blank{border-style:dashed}.survey-save-state{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.survey-save-state[data-state=dirty]{color:#b7791f;font-weight:600}.survey-save-state[data-state=dirty]:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.survey-save-state[data-state=saved] app-icon{color:var(--survey-good)}.survey-builder-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}.survey-builder-main{min-width:0}.survey-outline{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;padding:14px 8px 14px 4px;scrollbar-width:thin}.survey-outline .eyebrow{margin:0 0 10px 10px}.survey-outline ol{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.survey-outline li button{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:0;border-radius:10px;background:transparent;color:var(--text);font-size:12.5px;text-align:left}.survey-outline li button:hover{background:var(--soft)}.survey-outline li button.is-section{margin-top:8px;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.survey-outline li button.has-problem{color:var(--danger, #e5484d)}.survey-outline-number{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border-radius:7px;background:color-mix(in srgb,var(--line) 60%,transparent);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums}.has-problem .survey-outline-number{background:color-mix(in srgb,var(--danger, #e5484d) 16%,transparent)}.survey-outline-text{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.survey-outline-flag{flex:none;color:var(--accent)}.survey-outline-stats{margin:14px 10px 0;font-size:11.5px}.survey-setting-label .survey-setting-action{margin-left:8px;font-size:11px;font-weight:550}.survey-deadline{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.survey-deadline input[type=date]{min-height:36px;padding:0 10px;max-width:170px}.survey-chip.is-small{min-height:30px;padding:0 11px;font-size:12px}.survey-questions{gap:0}.survey-questions>li{display:flex;flex-direction:column}.survey-questions>li+li{margin-top:16px}.survey-questions>li:has(>.survey-insert)+li{margin-top:0}.survey-insert{align-self:center;display:grid;place-items:center;width:28px;height:28px;margin:2px 0;border:1px dashed transparent;border-radius:50%;background:transparent;color:transparent;transition:color .15s,border-color .15s,background .15s}.survey-questions>li:hover .survey-insert,.survey-insert:focus-visible{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent)}.survey-insert:hover{background:var(--soft)}.survey-add.is-inline{margin:14px 0 0;background:var(--surface-solid, var(--surface))}.survey-add-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.survey-add-head .survey-setting-label{margin-bottom:4px}.survey-add-group{margin:12px 0 8px;color:var(--muted);font-size:10.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.survey-question{position:relative;transition:border-color .15s,box-shadow .15s}.survey-question.is-section{background:color-mix(in srgb,var(--soft) 45%,var(--surface));border-style:dashed}.survey-question.has-problem{border-color:color-mix(in srgb,var(--danger, #e5484d) 55%,var(--line))}.survey-question.is-conditional{margin-left:22px}.survey-question.is-conditional:before{content:"";position:absolute;top:-18px;left:-14px;width:12px;height:38px;border-left:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-bottom:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-bottom-left-radius:10px}.survey-field-number.is-section{background:transparent;border:1px dashed color-mix(in srgb,var(--accent) 40%,var(--line))}.survey-kind{position:relative;display:inline-flex;align-items:center}.survey-kind-icon{position:absolute;left:11px;color:var(--accent);pointer-events:none}.survey-kind select{padding-left:32px}.survey-condition-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;margin:-4px 0 0;padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:11.5px;font-weight:550}.survey-prompt-input.is-section{font-size:17px;font-weight:650}.survey-help-input{width:100%;min-height:38px;margin-top:-6px;padding:0 14px;color:var(--muted);font-size:13px}.survey-option-rank{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border-radius:6px;background:color-mix(in srgb,var(--line) 60%,transparent);color:var(--muted);font-size:10.5px;font-weight:700}.survey-option-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-left:22px}.survey-option-actions .survey-add-option{margin-left:0}.survey-option-tip{margin-left:auto;font-size:11px}.survey-generator{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-left:22px;padding:16px;border-radius:14px;background:color-mix(in srgb,var(--soft) 55%,transparent)}.survey-generator label,.survey-kind-settings label,.survey-branching label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:11.5px;font-weight:550}.survey-generator input,.survey-kind-settings input,.survey-kind-settings select,.survey-branching select{min-height:36px;padding:0 10px;color:var(--text);font-size:13px}.survey-generator-foot{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.survey-text-preview.is-inline{display:inline-flex;align-items:center;align-self:flex-start;gap:8px}.survey-kind-settings{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.survey-kind-settings label{width:110px}.survey-kind-settings label.is-wide{flex:1 1 180px}.survey-stars-preview{display:flex;gap:4px;padding-bottom:8px;color:#e5a50a}.survey-scale-preview{display:flex;gap:6px}.survey-scale-preview span{display:grid;place-items:center;flex:1;max-width:44px;height:36px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:13px;font-weight:600}.survey-kind-note{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--accent);font-size:12px}.survey-kind-shortcut{align-self:flex-start;font-size:12px}.survey-question-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.survey-question-foot .text-button{display:inline-flex;align-items:center;gap:5px;font-size:12.5px}.survey-question-foot .text-button.is-on{color:var(--accent);font-weight:600}.survey-switch{display:inline-flex;align-items:center;gap:9px;margin-right:auto;color:var(--text);font-size:13px;cursor:pointer}.survey-switch input{appearance:none;position:relative;width:34px;height:20px;margin:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,transparent);cursor:pointer;transition:background .15s}.survey-switch input:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.survey-switch input:checked{background:var(--accent)}.survey-switch input:checked:after{transform:translate(14px)}.survey-switch input:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.survey-branching{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--soft) 45%,transparent)}.survey-branching-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.survey-branching-foot{display:flex;justify-content:flex-end;gap:16px}.survey-question-problem{display:flex;align-items:center;gap:7px;margin:0;color:var(--danger, #e5484d);font-size:12.5px;font-weight:550}.survey-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-12px -12px 18px 0}.survey-preview-bar .segmented button{display:inline-flex;align-items:center;gap:6px}.modal.survey-dialog.is-phone{width:390px;padding:26px 18px 20px}.survey-dialog.is-phone .survey-choices,.survey-dialog.is-phone .survey-yes-no,.survey-dialog.is-phone .survey-field-hint,.survey-dialog.is-phone .survey-inline-answer,.survey-dialog.is-phone .survey-stars,.survey-dialog.is-phone .survey-scale,.survey-dialog.is-phone .survey-ranking-wrap,.survey-dialog.is-phone .survey-text-answer{margin-left:0}.survey-dialog.is-phone .survey-form-progress{top:-26px;margin:-10px -18px 0;padding:10px 18px}.survey-dialog.is-phone .survey-choices.is-slots{grid-template-columns:minmax(0,1fr)}.survey-publish{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:480px}.survey-publish h2{font-size:21px;letter-spacing:-.4px}.survey-publish-facts{display:grid;gap:0;width:100%;margin:0;border:1px solid var(--line);border-radius:14px}.survey-publish-facts div{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;font-size:13px}.survey-publish-facts div+div{border-top:1px solid var(--line)}.survey-publish-facts dt{color:var(--muted)}.survey-publish-facts dd{margin:0;font-weight:600;text-align:right}.survey-publish-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;width:100%;margin-top:6px}.survey-publish .survey-setting{width:100%}.survey-restored{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:8px 12px;border-radius:10px;background:var(--soft);color:var(--accent);font-size:12.5px}.survey-restored .text-button{font-size:12.5px}.survey-form-progress{position:sticky;top:-34px;z-index:3;display:flex;align-items:center;gap:12px;margin:-10px -36px 0;padding:10px 36px;background:var(--surface);-webkit-backdrop-filter:blur(var(--glass-blur, 14px));backdrop-filter:blur(var(--glass-blur, 14px));border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.survey-form-progress small{color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.survey-form-progress-bar{flex:1;height:6px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 65%,transparent)}.survey-form-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .4s cubic-bezier(.22,1,.36,1)}.survey-form-section{padding-top:6px;border-top:2px solid color-mix(in srgb,var(--accent) 25%,var(--line))}.survey-form-section h3{padding-top:14px;font-size:17px;font-weight:650;letter-spacing:-.2px}.survey-form-section p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.survey-field.is-conditional{animation:survey-appear .3s ease-out}@keyframes survey-appear{0%{opacity:0;transform:translateY(-6px)}}.survey-field-hint.is-inline{margin:0 0 10px}.survey-text-answer{position:relative}.survey-count{display:block;margin:4px 0 0 38px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;text-align:right}.survey-count.is-over{color:var(--danger, #e5484d)}.survey-inline-answer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-left:38px}.survey-inline-answer small{font-size:12px}.survey-number-input,.survey-date-input{width:180px;min-height:46px;padding:0 14px;font-size:15px}.survey-inline-error{color:var(--danger, #e5484d);font-weight:550}.survey-stars{display:flex;align-items:center;gap:2px;margin-left:38px}.survey-star{position:relative;display:grid;place-items:center;padding:4px;border-radius:10px;color:color-mix(in srgb,var(--muted) 45%,transparent);cursor:pointer;transition:color .12s,transform .12s}.survey-star input{position:absolute;opacity:0;pointer-events:none}.survey-star:hover{transform:scale(1.12)}.survey-star.is-lit{color:#e5a50a}.survey-star.is-lit svg,.survey-stars-preview svg{fill:currentColor}.survey-star:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent)}.survey-stars-value{margin-left:10px;color:var(--muted);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.survey-scale{margin-left:38px}.survey-scale-values{display:grid;grid-template-columns:repeat(var(--survey-scale-count, 5),minmax(0,1fr));gap:6px;max-width:560px}.survey-scale-value{position:relative;display:grid;place-items:center;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .15s,background .15s}.modal .survey-scale-value,.modal .survey-star{display:grid;gap:0;margin:0}.modal .survey-scale-value{color:var(--text);font-size:14px}.modal .survey-scale-value.is-chosen{color:var(--accent-ink, #fff)}.modal .survey-star{color:color-mix(in srgb,var(--muted) 45%,transparent)}.modal .survey-star.is-lit{color:#e5a50a}.survey-scale-value input{position:absolute;opacity:0;pointer-events:none}.survey-scale-value:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.survey-scale-value.is-chosen{border-color:var(--accent);background:var(--accent);color:var(--accent-ink, #fff)}.survey-scale-value:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}.survey-scale-labels{display:flex;justify-content:space-between;gap:12px;max-width:560px;margin-top:8px;color:var(--muted);font-size:11.5px}.survey-ranking-wrap{margin-left:38px}.survey-ranking{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.survey-rank{display:flex;align-items:center;gap:10px;min-height:48px;padding:4px 6px 4px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:14px}.survey-ranking.is-set .survey-rank{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.survey-rank-place{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:8px;background:var(--soft);color:var(--accent);font-size:12px;font-weight:700}.survey-rank-place.is-first{background:var(--accent);color:var(--accent-ink, #fff)}.survey-rank-label{flex:1;min-width:0}.survey-rank .icon-button{width:32px;height:32px}.survey-rank-confirm,.survey-clear{display:inline-flex;align-items:center;gap:5px;margin:10px 0 0 38px;font-size:12.5px}.survey-rank-confirm{margin-left:0}.survey-inbox-started{color:#b7791f;font-weight:600}.survey-summary-actions{align-items:center}.survey-summary-actions .secondary{display:inline-flex;align-items:center;gap:6px}.survey-menu{position:relative}.survey-menu-list{display:flex;flex-direction:column;min-width:250px;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface-solid, var(--surface));box-shadow:0 12px 32px #0f0c2829}.survey-menu-list button{display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;border-radius:9px;background:transparent;color:var(--text);font-size:13px;text-align:left}.survey-menu-list button:hover:not(:disabled){background:var(--soft)}.survey-menu-list button:disabled{opacity:.45}.survey-menu-list app-icon{color:var(--accent)}.survey-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:16px}.survey-kpi{display:flex;flex-direction:column;gap:4px;min-width:0;padding:16px 20px}.survey-kpi.is-wide{grid-column:span 2}.survey-kpi>small{color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase}.survey-kpi>strong{font-size:24px;font-weight:650;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.survey-kpi>strong.is-text{font-size:16px;letter-spacing:0}.survey-kpi>.muted{font-size:12px}.survey-sparkline{width:100%;height:44px;overflow:visible}.survey-sparkline-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.survey-sparkline-area{fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:none}.survey-results-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.survey-tabs button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px}.survey-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:14px;background:var(--soft);color:var(--accent);font-size:13px}.survey-filters>span{margin-right:4px;font-weight:600}.survey-filters .text-button{margin-left:auto;font-size:12.5px}.survey-filter-chip{display:inline-flex;align-items:center;gap:6px;max-width:320px;padding:4px 8px 4px 12px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;background:var(--surface-solid, var(--surface));color:var(--text);font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.survey-filter-chip:hover{border-color:var(--accent)}.survey-filter-tip{display:flex;align-items:center;gap:6px;margin:12px 4px 0;font-size:12px}.survey-result{flex-direction:column}.survey-result-title{flex:1;min-width:0}.survey-result-title h3{padding-top:3px;font-size:15px;font-weight:600;line-height:1.4}.survey-result-sub{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}.survey-kind-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--line) 55%,transparent);color:var(--muted);font-size:11px;font-weight:550}.survey-kind-tag.is-branch{background:var(--soft);color:var(--accent)}.survey-result-count{display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.survey-result-count strong{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums}.survey-result-count small{color:var(--muted);font-size:11px}.survey-result-none{margin:0}.survey-result-note{margin:12px 0 0;font-size:11.5px}.survey-bar-button{display:block;padding:6px 8px;margin:-6px -8px;width:calc(100% + 16px);border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left}.survey-bar-button .survey-bar-track,.survey-ranking-row .survey-bar-track{display:block}.survey-bar-button:hover:not(:disabled){background:color-mix(in srgb,var(--soft) 70%,transparent)}.survey-bar-button:disabled{cursor:default;opacity:1}.survey-bar-text>span:first-child{display:inline-flex;align-items:center;gap:6px}.survey-bar.is-filtering .survey-bar-button{background:var(--soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.survey-bar.is-filtering .survey-bar-text{color:var(--accent);font-weight:600}.survey-split{display:flex;height:34px;margin-bottom:18px;overflow:hidden;border-radius:10px}.survey-split span{display:grid;place-items:center;min-width:0;flex-basis:0;color:#fff;font-size:12px;font-weight:650}.survey-split span[data-answer=yes]{background:var(--survey-good)}.survey-split span[data-answer=no]{background:color-mix(in srgb,var(--danger, #e5484d) 80%,var(--surface))}.survey-average{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-bottom:18px}.survey-average-figure{display:flex;align-items:baseline;gap:6px}.survey-average-figure strong{font-size:36px;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums}.survey-average-figure small{color:var(--muted);font-size:13px}.survey-average-stars{display:flex;gap:2px}.survey-star-fill{position:relative;display:inline-flex;color:color-mix(in srgb,var(--muted) 30%,transparent)}.survey-star-fill svg{fill:currentColor}.survey-star-fill>span{position:absolute;inset:0 auto 0 0;overflow:hidden;color:#e5a50a}.survey-nps{display:flex;flex:1 1 280px;flex-direction:column;gap:6px;padding:12px 16px;border-radius:14px;background:color-mix(in srgb,var(--soft) 55%,transparent)}.survey-nps-score{display:flex;align-items:baseline;gap:8px}.survey-nps-score strong{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.survey-nps[data-tone=good] .survey-nps-score strong{color:var(--survey-good)}.survey-nps[data-tone=bad] .survey-nps-score strong{color:var(--danger, #e5484d)}.survey-nps-score small{color:var(--muted);font-size:12px}.survey-nps-bar{display:flex;height:8px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 65%,transparent)}.survey-nps-bar span{flex-basis:0}.survey-nps-bar .is-bad,.survey-column-bar[data-nps=bad]>span{background:color-mix(in srgb,var(--danger, #e5484d) 75%,var(--surface))}.survey-nps-bar .is-mid,.survey-column-bar[data-nps=mid]>span{background:color-mix(in srgb,#e5a50a 75%,var(--surface))}.survey-nps-bar .is-good,.survey-column-bar[data-nps=good]>span{background:var(--survey-good)}.survey-nps>small{font-size:11.5px}.survey-columns{display:grid;grid-template-columns:repeat(var(--survey-columns, 5),minmax(0,1fr));gap:6px;align-items:end;height:150px}.survey-columns.is-histogram{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:18px}.survey-column{display:flex;flex-direction:column;align-items:stretch;gap:4px;height:100%;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text)}button.survey-column:hover:not(:disabled) .survey-column-bar>span{filter:brightness(1.08)}button.survey-column:disabled{cursor:default;opacity:1}.survey-column-count{min-height:16px;color:var(--muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center}.survey-column-bar{position:relative;flex:1;display:flex;align-items:flex-end;border-radius:8px;background:color-mix(in srgb,var(--line) 35%,transparent);overflow:hidden}.survey-column-bar>span{width:100%;border-radius:8px 8px 0 0;background:color-mix(in srgb,var(--accent) 55%,var(--surface-solid, var(--surface)));transition:height .6s cubic-bezier(.22,1,.36,1)}.survey-column.is-leading .survey-column-bar:not([data-nps])>span{background:var(--accent)}.survey-column.is-filtering .survey-column-bar{box-shadow:inset 0 0 0 2px var(--accent)}.survey-column small{color:var(--muted);font-size:11.5px;font-weight:600;text-align:center;white-space:nowrap}.survey-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:0}.survey-stats div{padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--soft) 55%,transparent)}.survey-stats dt{color:var(--muted);font-size:11px;font-weight:600}.survey-stats dd{margin:2px 0 0;font-size:20px;font-weight:650;font-variant-numeric:tabular-nums}.survey-ranking-result{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.survey-ranking-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 12px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);font-size:13.5px;text-align:left}.survey-ranking-row:hover{background:color-mix(in srgb,var(--soft) 70%,transparent)}.survey-ranking-row.is-filtering{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--soft)}.survey-ranking-label{font-weight:600}.survey-ranking-meta{color:var(--muted);font-size:12px;white-space:nowrap}.survey-ranking-row .survey-bar-track{grid-column:2 / -1;height:6px}.survey-text-tools{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.survey-text-tools .survey-search input{width:100%;max-width:320px}.survey-words{display:flex;flex-wrap:wrap;gap:6px}.survey-word{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:12px}.survey-word small{color:var(--muted);font-size:10.5px;font-weight:650}.survey-word:hover,.survey-word.is-on{border-color:var(--accent);background:var(--soft);color:var(--accent)}.survey-more{margin-top:10px;font-size:12.5px}.survey-response{margin-top:16px;padding:20px 26px 24px}.survey-response-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.survey-response-nav{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.survey-response-pick select{min-height:36px;max-width:260px;padding:0 30px 0 12px;font-size:13px}.survey-response-who{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}.survey-response-who strong{display:block;font-size:16px}.survey-response-who small{font-size:12px}.survey-avatar{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:var(--soft);color:var(--accent);font-size:14px;font-weight:700}.survey-response-answers{display:flex;flex-direction:column;gap:16px;margin:18px 0 0}.survey-response-answers dt{color:var(--muted);font-size:12px;font-weight:600}.survey-response-answers dd{margin:4px 0 0;font-size:14px;line-height:1.5;white-space:pre-line}.survey-response-section{margin:8px 0 -4px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.survey-table-wrap{margin-top:16px;padding:0;overflow:auto;max-height:70vh}.survey-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.survey-table th,.survey-table td{max-width:260px;padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);text-align:left;vertical-align:top;overflow:hidden;text-overflow:ellipsis}.survey-table thead th{position:sticky;top:0;z-index:2;background:var(--surface-solid, var(--surface));color:var(--muted);font-size:11px;font-weight:650;white-space:nowrap}.survey-table .is-sticky{position:sticky;left:0;z-index:1;background:var(--surface-solid, var(--surface));font-weight:600;white-space:nowrap}.survey-table thead .is-sticky{z-index:3}.survey-table tbody th{color:var(--text);font-size:12.5px;letter-spacing:0;text-transform:none}.survey-table th small{display:block;color:var(--muted);font-size:10.5px;font-weight:500}.survey-table tbody tr{cursor:pointer}.survey-table tbody tr:hover td,.survey-table tbody tr:hover th{background:color-mix(in srgb,var(--soft) 70%,var(--surface-solid, var(--surface)))}.survey-class-progress{display:flex;flex-direction:column;gap:10px;margin:4px 0 8px;padding:0 18px 12px;list-style:none}.survey-class-progress li{display:grid;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:14px;font-size:13px}.survey-class-progress-name{font-weight:650}.survey-missing-tools{display:flex;flex-wrap:wrap;gap:10px;padding:4px 18px 10px}.survey-missing-tools .secondary{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}@media(max-width:1100px){.survey-builder-layout{grid-template-columns:minmax(0,1fr)}.survey-outline{display:none}.survey-builder{max-width:780px}}@media(max-width:900px){.survey-stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.surveys-toolbar-end,.survey-search,.survey-search input{width:100%}.surveys-toolbar-end>.primary{width:100%}.survey-stat{padding:12px 14px}.survey-card-copy{opacity:1}.survey-question.is-conditional{margin-left:10px}.survey-question.is-conditional:before{display:none}.survey-option-tip{display:none}.survey-generator{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0}.survey-option-actions{margin-left:0}.survey-form-progress{margin:-10px -18px 0;padding:10px 18px;top:-28px}.survey-inline-answer,.survey-stars,.survey-scale,.survey-ranking-wrap,.survey-count,.survey-clear{margin-left:0}.survey-scale-values{gap:4px}.survey-scale-value{min-height:40px;font-size:13px}.survey-kpi.is-wide{grid-column:auto}.survey-response{padding:18px 16px}.survey-publish{width:auto}.survey-class-progress li{grid-template-columns:44px minmax(0,1fr)}.survey-class-progress .survey-bar-count{grid-column:2}}.survey-status[data-phase=Scheduled]{background:color-mix(in srgb,#d98a1c 14%,transparent);color:#b86f0c}.survey-status[data-phase=Scheduled]:before{border-radius:2px;transform:rotate(45deg)}.survey-option-rank.is-row{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.survey-grid-columns{display:flex;flex-direction:column;gap:10px;margin-top:4px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--soft) 55%,transparent)}.survey-grid-columns-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.survey-grid-preset select{min-height:32px;max-width:280px;padding:0 10px;font-size:12px}.survey-grid-column-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none}.survey-grid-column-list li{display:flex;align-items:center;gap:2px}.survey-grid-column-list input{width:150px;min-height:34px;padding:0 10px;font-size:13px}.survey-kind-settings.is-limits{margin-top:4px;align-items:center}.survey-kind-settings.is-limits>small{flex-basis:100%}.survey-question-foot .survey-switch app-icon{margin-right:4px;vertical-align:-2px}.survey-more-settings{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px}.survey-more-settings .muted{max-width:46ch;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:450}.survey-settings.is-more{margin-top:12px;padding-top:16px;border-top:1px dashed var(--line)}.survey-setting.is-wide{grid-column:1 / -1}.survey-thanks-input{width:100%;min-height:60px;padding:10px 12px;font-size:13px;resize:vertical}.survey-import-open{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px}.survey-import h2{margin:0;font-size:18px}.survey-import .survey-search{margin:14px 0 10px}.survey-import-list,.survey-import-questions{display:flex;flex-direction:column;gap:6px;max-height:min(56vh,520px);margin:0;padding:0;overflow-y:auto;list-style:none}.survey-import-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-align:left}.survey-import-list button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.survey-import-list small{grid-column:1;font-size:11.5px}.survey-import-list app-icon{grid-row:1 / 3;grid-column:2;color:var(--muted)}.survey-import-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:8px 0 10px;font-size:12px}.survey-import-questions .survey-choice>span:last-child{display:flex;flex-direction:column;gap:2px}.survey-import-questions small{display:inline-flex;align-items:center;gap:5px;font-size:11px}.survey-import-questions li.is-section strong{text-transform:uppercase;letter-spacing:.04em;font-size:12px}.survey-import .survey-publish-actions{margin-top:16px}.modal .survey-choice.is-spent,.survey-choice.is-spent{cursor:not-allowed;opacity:.45}.survey-choice kbd{margin-left:auto;padding:1px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;color:var(--muted);font:600 10.5px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.modal label.survey-focus-switch,.survey-focus-switch{flex-direction:row;margin:4px 0 0;font-size:12.5px}.survey-focus-switch app-icon{margin-right:4px;vertical-align:-2px}.survey-field.is-focus{min-height:220px;animation:survey-step-in .22s ease-out}.survey-field.is-focus legend{font-size:18px}@keyframes survey-step-in{0%{opacity:0;transform:translate(14px)}}@media(prefers-reduced-motion:reduce){.survey-field.is-focus{animation:none}}.survey-grid{--survey-grid-columns: 4;display:flex;flex-direction:column;gap:6px}.survey-grid-head,.survey-grid-row{display:grid;grid-template-columns:minmax(140px,1.4fr) repeat(var(--survey-grid-columns),minmax(56px,1fr));align-items:center;gap:4px}.survey-grid-head span{padding:0 2px;color:var(--muted);font-size:11px;font-weight:600;line-height:1.25;text-align:center}.survey-grid-row{padding:6px 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .15s}.survey-grid-row.is-done{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.survey-grid-row.is-missing{border-color:#d9534f}.survey-grid-label{padding-right:8px;font-size:13.5px}.modal label.survey-grid-cell,.survey-grid-cell{position:relative;display:grid;place-items:center;min-height:40px;margin:0;border-radius:10px;cursor:pointer}.survey-grid-cell:hover{background:var(--soft)}.survey-grid-cell input{position:absolute;opacity:0;pointer-events:none}.survey-grid-cell:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:1px}.survey-grid-dot{width:20px;height:20px;border:1.5px solid color-mix(in srgb,var(--muted) 70%,transparent);border-radius:50%;transition:background .15s,border-color .15s}.survey-grid-cell.is-chosen .survey-grid-dot{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--surface-solid, var(--surface))}.survey-grid-cell-label{display:none}.survey-field:disabled .survey-grid-cell{cursor:default}.survey-grid-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px;color:var(--muted);font-size:11.5px}.survey-grid-legend span{display:inline-flex;align-items:center;gap:6px}.survey-grid-legend i,.survey-stack button{background:color-mix(in srgb,var(--accent) calc(18% + var(--survey-step, 1) * 72%),var(--surface-solid, var(--surface)))}.survey-grid-legend i{width:12px;height:12px;border-radius:4px}.survey-grid-result{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.survey-grid-result li{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(0,2fr);align-items:center;gap:14px}.survey-grid-result-label{display:flex;flex-direction:column;font-size:13px}.survey-grid-result-label small{color:var(--muted);font-size:11px}.survey-stack{display:flex;height:28px;overflow:hidden;border-radius:9px;background:color-mix(in srgb,var(--line) 65%,transparent)}.survey-stack button{flex-basis:0;min-width:6px;padding:0;border:0;border-radius:0;color:var(--accent-ink, #fff);font-size:11px;font-weight:650;cursor:pointer}.survey-stack button+button{box-shadow:inset 1px 0 0 var(--surface-solid, var(--surface))}.survey-stack button:hover,.survey-stack button.is-filtering{filter:brightness(.9);outline:2px solid var(--text);outline-offset:-2px}.survey-result.is-static button{pointer-events:none;cursor:default}.survey-compare-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:14px;padding:14px 18px}.survey-compare-bar label:first-child{display:inline-flex;align-items:center;gap:10px}.survey-compare-bar select{min-height:36px;max-width:min(62vw,420px);padding:0 10px;font-size:13px}.survey-compare-bar small{margin-left:auto}.survey-compare{padding:22px 26px 24px}.survey-compare-scroll{overflow-x:auto}.survey-compare-table{width:100%;border-collapse:separate;border-spacing:3px;font-size:13px}.survey-compare-table th{padding:6px 8px;background:none;color:var(--text);font-size:12.5px;font-weight:550;letter-spacing:0;text-align:left;text-transform:none}.survey-compare-table thead th{color:var(--muted);font-size:11.5px;vertical-align:bottom;text-align:center;white-space:nowrap}.survey-compare-table thead small,.survey-compare-table td small{display:block;color:var(--muted);font-size:10.5px;font-weight:450}.survey-compare-table td{min-width:64px;color:var(--text);font-size:13px;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--accent) calc(var(--survey-heat, 0) * 42%),transparent);font-variant-numeric:tabular-nums;font-weight:600;text-align:center}.survey-compare-table td.is-top{box-shadow:inset 0 0 0 2px var(--accent)}.survey-compare-table tr.is-average td{background:var(--soft)}.survey-done-head{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0 6px;text-align:center}.survey-done-head h2{margin:4px 0 0}.survey-done-head p{max-width:52ch;margin:0;color:var(--muted);white-space:pre-line}.survey-done-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--survey-good) 16%,transparent);color:var(--survey-good);animation:survey-pop .35s cubic-bezier(.2,1.4,.4,1)}@keyframes survey-pop{0%{transform:scale(.6);opacity:0}}@media(prefers-reduced-motion:reduce){.survey-done-icon{animation:none}}.survey-done{--survey-good: #2f9e62}.survey-shared{display:flex;flex-direction:column;gap:12px;margin-top:18px}.survey-shared .eyebrow{margin:0}.survey-shared-wait{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;font-size:13px}.survey-done .survey-publish-actions{margin-top:18px}@media(max-width:700px){.survey-grid-head{display:none}.survey-grid-row{grid-template-columns:1fr;gap:6px;padding:10px 12px}.survey-grid-label{font-weight:600}.modal label.survey-grid-cell,.survey-grid-cell{grid-template-columns:auto 1fr;justify-items:start;gap:10px;min-height:38px;padding:0 8px;border:1px solid var(--line)}.survey-grid-cell.is-chosen{border-color:var(--accent);background:var(--soft)}.survey-grid-dot{width:16px;height:16px}.survey-grid-cell-label{display:inline;font-size:13px}.survey-grid-result li{grid-template-columns:1fr;gap:6px}.survey-grid-column-list input{width:120px}.survey-compare-bar small{margin-left:0}}.secondary.is-on{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.survey-card-link{display:inline-flex;align-items:center;gap:3px;color:var(--accent)}.survey-share{width:min(560px,calc(100vw - 32px))}.survey-share h2{margin:10px 0 6px}.survey-share-note{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding:9px 12px;border-radius:10px;background:color-mix(in srgb,#d98a1c 12%,transparent);color:#a4620a;font-size:12.5px}.survey-share-url{display:flex;gap:8px;margin-top:16px}.survey-share-url input{flex:1;min-width:0;min-height:40px;padding:0 12px;font:500 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.survey-share-body{display:grid;grid-template-columns:148px minmax(0,1fr);align-items:center;gap:18px;margin:16px 0}.survey-share-qr{width:148px;height:148px;border:1px solid var(--line);border-radius:12px}.survey-share-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.survey-share-actions a.secondary{text-decoration:none}.survey-share-actions small{font-size:11.5px;line-height:1.4}.modal label.survey-share-name,.survey-share-name{flex-direction:row;margin:14px 0 4px}.survey-share-name.is-disabled{opacity:.55;cursor:default}.survey-share-hint{display:block;font-size:11.5px;line-height:1.4}.survey-share-count{display:flex;align-items:center;gap:6px;margin:12px 0 0;color:var(--survey-good, #2f9e62);font-size:12.5px;font-weight:600}.survey-share-foot{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.survey-share .survey-publish-actions{margin-top:18px}app-root:has(>.public-survey){display:block;min-height:100vh;background:var(--bg)}.public-survey{--survey-good: #2f9e62;display:flex;flex-direction:column;gap:18px;width:min(760px,100%);margin:0 auto;padding:20px 16px 40px;color:var(--text)}.public-survey-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.public-survey-brand{display:inline-flex;align-items:center;gap:10px;min-width:0;font-size:15px;font-weight:650}.public-survey-brand span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.public-survey-language button{min-width:38px}.public-survey-card{padding:28px 30px;border-radius:var(--card-radius, 20px)}.public-survey-card.survey-skeleton{min-height:420px}.public-survey-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 30px;text-align:center}.public-survey-state h1,.public-survey .survey-done-head h1{margin:4px 0 0;font-size:22px;font-weight:650;letter-spacing:-.01em}.public-survey-state p{max-width:48ch}.public-survey-name{display:flex;flex-direction:column;gap:6px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}.public-survey-name input{max-width:360px;min-height:44px;padding:0 14px;font-size:15px;font-weight:450}.public-survey-name.is-missing input{border-color:#d9534f}.public-survey-note{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:13px}.public-survey .survey-done-head .secondary{margin-top:6px}.public-survey-foot{display:block;text-align:center;font-size:11.5px}@media(max-width:700px){.public-survey-card{padding:22px 18px}.survey-share-body{grid-template-columns:1fr;justify-items:center}.survey-share-actions{align-items:stretch;width:100%}}@media print{body.printing-survey *{visibility:hidden}body.printing-survey .survey-results,body.printing-survey .survey-results *{visibility:visible}body.printing-survey *:has(.survey-results){position:static!important;overflow:visible!important;transform:none!important;max-height:none!important}body.printing-survey .survey-results{position:absolute;inset:0 auto auto 0;width:100%;max-width:none;color:#000}body.printing-survey .survey-view-bar,body.printing-survey .survey-summary-actions,body.printing-survey .survey-results-bar,body.printing-survey .survey-filter-tip,body.printing-survey .survey-missing,body.printing-survey .survey-text-tools,body.printing-survey .survey-more{display:none!important}body.printing-survey .survey-result,body.printing-survey .survey-compare,body.printing-survey .survey-kpi,body.printing-survey .survey-summary{break-inside:avoid;box-shadow:none;border:1px solid #ccc}body.printing-survey .survey-filters{border:0;background:none;padding:0}body.printing-survey .survey-filters .text-button{display:none}}.sidebar{overflow:hidden}.sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding-bottom:14px;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent)}.sidebar nav::-webkit-scrollbar{display:none}.sidebar-bottom{flex-shrink:0;padding-top:10px}@media(max-height:960px){.sidebar nav button{min-height:36px;padding-block:7px}}.command-trigger>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(max-height:760px){.mobile-shell .sidebar nav button{min-height:40px;padding-block:9px}}app-support{--tl-good: #2f9e62;--tl-warn: #c27c0e;--tl-bad: #d14343;--tl-info: #3b82c4}.tl-summary{margin-top:16px;padding:18px 20px}.tl-summary-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px}.tl-summary-head small{font-size:11px}.tl-streak{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;color:var(--tl-streak, var(--accent));background:color-mix(in srgb,var(--tl-streak, var(--accent)) 13%,transparent);border:1px solid color-mix(in srgb,var(--tl-streak, var(--accent)) 30%,transparent)}.tl-streak[data-level=silver]{--tl-streak: var(--tl-info)}.tl-streak[data-level=gold]{--tl-streak: var(--tl-warn);background:linear-gradient(100deg,color-mix(in srgb,var(--tl-warn) 12%,transparent) 30%,color-mix(in srgb,var(--tl-warn) 30%,transparent),color-mix(in srgb,var(--tl-warn) 12%,transparent) 70%);background-size:250% 100%}.tl-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(18px,1fr));gap:4px;max-width:720px}.tl-cell{aspect-ratio:1;min-height:18px;padding:0;border:0;border-radius:5px;background:var(--tl-tone, var(--line));transition:transform .15s,box-shadow .15s}.tl-cell:hover,.tl-cell:focus-visible{transform:scale(1.25);box-shadow:0 0 0 2px var(--surface-solid, var(--surface)),0 0 0 4px var(--tl-tone, var(--line))}.tl-cell[data-status=Present],.tl-legend i[data-status=Present]{--tl-tone: var(--tl-good)}.tl-cell[data-status=Late],.tl-legend i[data-status=Late]{--tl-tone: var(--tl-warn)}.tl-cell[data-status=Absent],.tl-legend i[data-status=Absent]{--tl-tone: var(--tl-bad)}.tl-cell[data-status=Excused],.tl-legend i[data-status=Excused]{--tl-tone: var(--tl-info)}.tl-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:11px;color:var(--muted)}.tl-legend span{display:inline-flex;align-items:center;gap:6px}.tl-legend i{width:10px;height:10px;border-radius:3px;background:var(--tl-tone)}.tl-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 6px}.tl-filters{display:flex;flex-wrap:wrap;gap:6px}.tl-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;transition:color .15s,background .15s,border-color .15s}.tl-chip b{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--input);font-size:10px;font-weight:600}.tl-chip[aria-pressed=true]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--soft)}.tl-chip[aria-pressed=true] b{background:var(--accent);color:var(--accent-ink, #fff)}.tl-chip:disabled{cursor:default}.tl-search{flex:0 1 260px;min-width:0;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--input);color:var(--text);font-size:12px}.tl-month-head{position:sticky;top:70px;z-index:2;width:max-content;margin:18px 0 8px;padding:5px 12px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--surface-solid, var(--surface)) 85%,transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(var(--glass-blur, 12px));backdrop-filter:blur(var(--glass-blur, 12px))}.tl{position:relative;list-style:none;margin:0;padding:0 0 0 34px}.tl:before{content:"";position:absolute;left:13px;top:6px;bottom:6px;width:2px;border-radius:2px;background:linear-gradient(var(--line),color-mix(in srgb,var(--line) 40%,transparent))}.tl-row,.tl-card{--tl-tone: var(--accent)}.tl-row{position:relative;margin-bottom:10px}.tl-row[data-tone=good],.tl-card[data-tone=good]{--tl-tone: var(--tl-good)}.tl-row[data-tone=warn],.tl-card[data-tone=warn]{--tl-tone: var(--tl-warn)}.tl-row[data-tone=bad],.tl-card[data-tone=bad]{--tl-tone: var(--tl-bad)}.tl-row[data-tone=info],.tl-card[data-tone=info]{--tl-tone: var(--tl-info)}.tl-row[data-tone=neutral],.tl-card[data-tone=neutral]{--tl-tone: var(--muted)}.tl-dot{position:absolute;left:-34px;top:12px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--tl-tone);background:color-mix(in srgb,var(--tl-tone) 14%,var(--surface-solid, var(--surface)));border:2px solid color-mix(in srgb,var(--tl-tone) 45%,transparent);transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.tl-card{position:relative;padding:12px 16px;border-radius:14px;border:1px solid var(--line);border-left:3px solid color-mix(in srgb,var(--tl-tone) 70%,transparent);background:var(--surface);transition:transform .2s,box-shadow .2s,border-color .2s}.tl-card:hover{transform:translate(3px);box-shadow:0 6px 18px color-mix(in srgb,var(--tl-tone) 12%,transparent)}.tl-row:hover .tl-dot{transform:scale(1.15)}.tl-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.tl-head .pill{color:var(--tl-tone);font-weight:600}.tl-head .tl-status{color:var(--muted)}.tl-head .tl-status[data-status=Open]{color:var(--tl-warn)}.tl-head .tl-status[data-status=Resolved]{color:var(--tl-good)}.tl-head time{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}.tl-card p{margin-top:6px;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.tl-toggle{margin-top:0;padding:0;border:0;background:none}.tl-run-days{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:10px 0 2px;padding:0}.tl-run-days li{padding:3px 9px;border-radius:999px;font-size:11px;color:var(--tl-good);background:color-mix(in srgb,var(--tl-good) 11%,transparent)}.tl-row.flash>.tl-day-head,.tl-run-days li.flash{outline:2px solid var(--tl-tone, var(--tl-good));outline-offset:2px}.tl-card.fresh{border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.tl-nothing{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:20px 24px}.tl-more{display:block;margin:8px auto 0}.tl-day .tl-dot{top:0}.tl-day-head{width:max-content;max-width:100%;padding-right:10px;border-radius:999px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:28px}.tl-day-head time{font-size:12px;font-weight:600}.tl-mark{padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;color:var(--tl-tone);background:color-mix(in srgb,var(--tl-tone) 13%,transparent)}.tl-mark[data-status=Present]{--tl-tone: var(--tl-good)}.tl-mark[data-status=Late]{--tl-tone: var(--tl-warn)}.tl-mark[data-status=Absent]{--tl-tone: var(--tl-bad)}.tl-mark[data-status=Excused]{--tl-tone: var(--tl-info)}.tl-day .tl-card{margin-top:8px}.tl-head .pill{display:inline-flex;align-items:center;gap:4px}.tl-head .tl-status[data-status=Overdue]{color:var(--tl-bad)}.tl-by{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:11px;color:var(--muted)}.tl-card .tl-title{font-size:14px;font-weight:600}.tl-card .tl-meta{margin-top:4px;font-size:11px;color:var(--muted)}.tl-meta span+span:before{content:" \b7  "}.tl-card .tl-outcome{margin-top:8px;padding:8px 10px;border-radius:8px;font-size:12px;background:color-mix(in srgb,var(--tl-good) 9%,transparent)}.tl-card mark{padding:0 2px;border-radius:3px;color:inherit;background:color-mix(in srgb,var(--accent) 26%,transparent)}.tl-legend b{margin-left:4px;font-weight:600;color:var(--text)}.tl-cell.picked{box-shadow:0 0 0 2px var(--surface-solid, var(--surface)),0 0 0 4px var(--tl-tone, var(--line))}.tl-kinds{display:flex;flex-wrap:wrap;gap:6px;margin:-6px 0 16px}.tl-kind{--tl-tone: var(--accent);display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;transition:color .15s,background .15s,border-color .15s,transform .15s}.tl-kind[data-category=Praise]{--tl-tone: var(--tl-good)}.tl-kind[data-category=Incident]{--tl-tone: var(--tl-bad)}.tl-kind[aria-checked=true]{color:var(--tl-tone);border-color:color-mix(in srgb,var(--tl-tone) 50%,transparent);background:color-mix(in srgb,var(--tl-tone) 12%,transparent);font-weight:600}.tl-kind:active{transform:scale(.96)}.tl-card[data-category=Praise]{--tl-tone: var(--tl-good)}.tl-card[data-category=Incident]{--tl-tone: var(--tl-bad)}@media(max-width:700px){.tl-search{flex-basis:100%}.tl-month-head{top:8px}.tl-head time{margin-left:0}}@media(prefers-reduced-motion:no-preference){.tl-row{animation:tl-rise .38s cubic-bezier(.22,1,.36,1) backwards;animation-delay:calc(min(var(--i, 0),12)*28ms)}.tl-cell{animation:tl-pop .3s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--i, 0) * 14ms)}.tl-streak[data-level=gold]{animation:tl-shine 3.2s ease-in-out infinite}.tl-row.flash>.tl-day-head,.tl-run-days li.flash{animation:tl-flash .9s ease-out 2}.tl-card.fresh{animation:tl-fresh .6s cubic-bezier(.34,1.56,.64,1)}.tl-card.fresh[data-category=Praise]:after{content:"\2726  \2726  \2726";position:absolute;left:18px;top:-6px;font-size:13px;letter-spacing:10px;color:var(--tl-good);pointer-events:none;animation:tl-burst 1.1s ease-out forwards}}@keyframes tl-burst{0%{opacity:0;transform:translateY(6px) scale(.6)}30%{opacity:1}to{opacity:0;transform:translateY(-18px) scale(1.15);letter-spacing:22px}}@keyframes tl-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes tl-pop{0%{opacity:0;transform:scale(.4)}}@keyframes tl-shine{50%{background-position:0% 0}0%,to{background-position:100% 0}}@keyframes tl-flash{50%{outline-offset:5px;outline-color:transparent}}@keyframes tl-fresh{0%{transform:scale(.97)}}.tl-bar{position:relative;z-index:3;display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 20px;padding:16px 20px}.tl-picker{flex:1 1 260px;max-width:360px}.tl-nav,.tl-actions{display:flex;align-items:center;gap:8px}.tl-period{margin-left:6px;font-size:16px;white-space:nowrap;text-transform:capitalize}.tl-actions{margin-left:auto}.tl-new{display:inline-flex;align-items:center;gap:6px}.tl-welcome{display:flex;align-items:center;gap:14px;margin-top:16px;padding:28px 24px;color:var(--muted)}.tl-chip .tl-swatch{width:9px;height:9px;border-radius:3px;background:var(--tl-layer, var(--accent))}.tl-chip[aria-pressed=false]{opacity:.65}.tl-chip[aria-pressed=false] .tl-swatch{background:transparent;box-shadow:inset 0 0 0 1.5px var(--tl-layer, var(--accent))}.tl-chip[data-layer=Attendance]{--tl-layer: var(--tl-good)}.tl-chip[data-layer=Follow-up]{--tl-layer: var(--tl-warn)}.tl-chip[data-layer=School]{--tl-layer: #3f9a6c}.tl-hint{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:11px}.tl-month{margin-top:10px;overflow:hidden}.tl-month-names,.tl-month-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.8fr))}.tl-month-names span{padding:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line)}.tl-day-cell{--tl-tone: var(--tl-good);position:relative;display:flex;flex-direction:column;gap:3px;min-width:0;min-height:112px;padding:6px 7px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s}.tl-day-cell:nth-child(7n){border-right:0}.tl-day-cell:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.tl-day-cell.is-weekend,.tl-week-col.is-weekend{background:color-mix(in srgb,var(--muted) 5%,transparent)}.tl-day-cell.is-outside .tl-date,.tl-day-cell.is-outside>:not(.tl-cell-top){opacity:.45}.tl-day-cell.is-holiday,.tl-week-col.is-holiday{background:repeating-linear-gradient(135deg,transparent 0 8px,color-mix(in srgb,var(--muted) 10%,transparent) 8px 10px)}.tl-day-cell[data-status]:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--tl-tone);opacity:.85}.tl-day-cell[data-status=Late]{--tl-tone: var(--tl-warn)}.tl-day-cell[data-status=Absent]{--tl-tone: var(--tl-bad);background:color-mix(in srgb,var(--tl-bad) 6%,transparent)}.tl-day-cell[data-status=Excused]{--tl-tone: var(--tl-info)}.tl-cell-top{display:flex;align-items:center;gap:5px;min-height:26px}.tl-date{display:grid;place-items:center;min-width:26px;height:26px;padding:0 4px;border:0;border-radius:999px;background:transparent;color:var(--text);font-size:12px;font-weight:600}.tl-date:hover{background:var(--soft)}.is-today .tl-date,.is-today .tl-week-date{background:var(--accent);color:var(--accent-ink, #fff)}.tl-cell-mark{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--tl-tone)}.tl-cell-mark:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tl-tone)}.tl-cell-mark[data-status=Late]{--tl-tone: var(--tl-warn)}.tl-cell-mark[data-status=Absent]{--tl-tone: var(--tl-bad)}.tl-cell-mark[data-status=Excused]{--tl-tone: var(--tl-info)}.tl-add{display:grid;place-items:center;width:22px;height:22px;margin-left:auto;padding:0;border:0;border-radius:999px;background:var(--soft);color:var(--accent);opacity:0;transition:opacity .15s}.tl-day-cell:hover .tl-add,.tl-add:focus-visible{opacity:1}@media(hover:none){.tl-add{opacity:1}}.tl-entry{--tl-tone: var(--accent);display:flex;align-items:center;gap:5px;width:100%;min-width:0;padding:3px 7px;border:0;border-left:3px solid var(--tl-tone);border-radius:6px;background:color-mix(in srgb,var(--tl-tone) 11%,transparent);color:var(--text);font-size:11px;text-align:left;transition:background .15s,transform .15s}.tl-entry span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-entry app-icon{color:var(--tl-tone)}.tl-entry:hover{background:color-mix(in srgb,var(--tl-tone) 20%,transparent)}.tl-entry[draggable=true],.tl-week-entry[draggable=true]{cursor:grab}.tl-entry[data-tone=good],.tl-week-entry[data-tone=good]{--tl-tone: var(--tl-good)}.tl-entry[data-tone=warn],.tl-week-entry[data-tone=warn]{--tl-tone: var(--tl-warn)}.tl-entry[data-tone=bad],.tl-week-entry[data-tone=bad]{--tl-tone: var(--tl-bad)}.tl-entry[data-tone=info],.tl-week-entry[data-tone=info]{--tl-tone: var(--tl-info)}.is-dragging{opacity:.4}.tl-more-link{align-self:flex-start;padding:1px 6px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:11px;font-weight:600}.tl-more-link:hover{background:var(--soft);color:var(--accent)}.tl-day-cell.is-preview,.tl-week-col.is-preview{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 70%,transparent)}.tl-day-cell.is-preview-bad,.tl-week-col.is-preview-bad{background:color-mix(in srgb,var(--tl-bad) 10%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tl-bad) 60%,transparent)}.tl-day-cell.flash,.tl-week-col.flash{box-shadow:inset 0 0 0 2px var(--tl-tone, var(--accent))}.tl-day-cell .event-chip,.tl-week-day .event-chip{flex-shrink:0}.tl-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.8fr));grid-auto-rows:auto;margin-top:10px;overflow:hidden}.tl-week-col{border-right:1px solid var(--line);transition:background .15s}.tl-week-col:nth-last-child(1 of.tl-week-col){border-right:0}.tl-week-head,.tl-week-day,.tl-week-bar{position:relative;z-index:1}.tl-week-head{padding:10px 8px 8px;cursor:pointer}.tl-week-day{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:320px;padding:8px 8px 12px;cursor:pointer}.tl-week-bar{height:22px;margin:3px 6px 0}.tl-week-entry.tl-span-inline{display:none}.tl-week-head{display:flex;flex-direction:column;align-items:center;gap:4px;padding-bottom:8px;margin-bottom:2px;border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tl-week-date{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;font-size:17px;color:var(--text);letter-spacing:0}.tl-week-head .tl-mark{text-transform:none;letter-spacing:0}.tl-week-entry{--tl-tone: var(--accent);display:flex;flex-direction:column;gap:4px;padding:8px 9px;border:0;border-left:3px solid var(--tl-tone);border-radius:8px;background:color-mix(in srgb,var(--tl-tone) 10%,var(--surface));color:var(--text);text-align:left;transition:transform .15s}.tl-week-entry:hover{transform:translateY(-1px)}.tl-week-kind{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--tl-tone)}.tl-week-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.tl-week-text mark{padding:0 2px;border-radius:3px;color:inherit;background:color-mix(in srgb,var(--accent) 26%,transparent)}.tl-week-add{display:inline-flex;align-items:center;justify-content:center;gap:4px;margin-top:auto;padding:6px;border:1px dashed var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:11px}.tl-week-add:hover{color:var(--accent);border-color:var(--accent)}.tl-open{padding:0;border:0;background:none}.tl-card .tl-open{margin-left:auto}.tl-card .tl-by+.tl-open{margin-left:8px}.tl-compose{width:560px}.tl-compose-mode{margin-bottom:14px}.tl-compose .tl-kinds{margin:0 0 4px}.tl-compose textarea{min-height:110px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text);resize:vertical}.tl-compose .tl-share{align-self:end;flex-direction:row;align-items:center}.tl-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px}.tl-dialog-actions small{margin-right:auto;font-size:11px}.tl-dialog-actions .text-button{margin-right:auto;padding:0;border:0;background:none}.tl-dialog-actions button{display:inline-flex;align-items:center;gap:6px}.tl-details{--tl-tone: var(--accent);width:520px;border-top:4px solid var(--tl-tone)}.tl-details[data-tone=good]{--tl-tone: var(--tl-good)}.tl-details[data-tone=warn]{--tl-tone: var(--tl-warn)}.tl-details[data-tone=bad]{--tl-tone: var(--tl-bad)}.tl-details[data-tone=info]{--tl-tone: var(--tl-info)}.tl-details h2{margin-top:10px;font-size:18px}.tl-details-body{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.tl-details-by{display:inline-flex;align-items:center;gap:5px;margin-top:10px}.tl-head .tl-status[data-status=Shared]{color:var(--accent)}.tl-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0}.tl-facts dt{font-size:11px;color:var(--muted)}.tl-facts dd{margin:2px 0 0;font-weight:600}.tl-details .tl-outcome{margin-top:14px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--tl-good) 9%,transparent)}.tl-resolve{display:flex;gap:8px;margin-top:16px}.tl-resolve input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text)}.tl-day-dialog .panel-heading .tl-mark{display:inline-block;margin-top:6px}.tl-day-list{display:flex;flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none}.tl-day-list .tl-entry{padding:8px 10px;font-size:12px}.tl-keys{display:grid;gap:8px;margin:0}.tl-keys div{display:flex;align-items:center;gap:14px}.tl-keys dt{display:flex;gap:4px;min-width:96px}.tl-keys dd{margin:0;font-size:13px}.tl-keys kbd{min-width:24px;padding:2px 7px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:var(--input);font:600 11px/1.6 ui-monospace,monospace;text-align:center}@media(max-width:900px){.tl-actions{margin-left:0}.tl-week{display:flex;flex-direction:column}.tl-week-col,.tl-week-bar{display:none}.tl-week-entry.tl-span-inline{display:flex}.tl-week-day{min-height:0;border-bottom:1px solid var(--line)}.tl-week-head{flex-direction:row;justify-content:flex-start}}@media(max-width:700px){.tl-month-names,.tl-month-week{grid-template-columns:repeat(7,minmax(0,1fr))}.tl-day-cell{min-height:64px;padding:4px 3px}.tl-day-cell .event-chip,.tl-cell-mark span,.tl-day-cell .tl-entry span,.tl-add{display:none}.tl-day-cell .tl-entry{width:auto;padding:2px 4px}.tl-month-names span{padding:8px 2px;text-align:center}.tl-period{font-size:14px}}@media(prefers-reduced-motion:no-preference){.tl-entry.fresh,.tl-week-entry.fresh{animation:tl-fresh .6s cubic-bezier(.34,1.56,.64,1)}}.tl-month-week{position:relative}.tl-lane-space{flex:none;height:calc(var(--lanes, 0) * 24px);margin-top:-3px}.tl-bars{position:absolute;inset:36px 0 auto;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(0,.8fr));grid-auto-rows:21px;row-gap:3px;pointer-events:none}.tl-spanbar{--tl-tone: var(--accent);position:relative;display:flex;align-items:center;gap:5px;min-width:0;margin:0 6px;padding:0 10px;border:0;border-radius:6px;background:color-mix(in srgb,var(--tl-tone) 24%,var(--surface-solid, #fff));color:var(--text);font-size:11px;font-weight:600;text-align:left;pointer-events:auto;transition:filter .15s,opacity .15s}.tl-spanbar:hover{filter:brightness(.97) saturate(1.2)}.tl-spanbar app-icon{color:var(--tl-tone)}.tl-spanbar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-spanbar[data-tone=good]{--tl-tone: var(--tl-good)}.tl-spanbar[data-tone=warn]{--tl-tone: var(--tl-warn)}.tl-spanbar[data-tone=bad]{--tl-tone: var(--tl-bad)}.tl-spanbar[data-tone=info]{--tl-tone: var(--tl-info)}.tl-spanbar.cut-start{margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.tl-spanbar.cut-end{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.tl-entry,.tl-week-entry{position:relative}.can-drag{cursor:grab;touch-action:none}.tl-spanbar.fresh{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}.tl-grip{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize;touch-action:none}.tl-grip.start{left:0}.tl-grip.end{right:0}.tl-grip:after{content:"";position:absolute;top:50%;width:3px;height:12px;border-radius:2px;background:var(--tl-tone, var(--accent));opacity:0;transform:translateY(-50%);transition:opacity .15s}.tl-grip.start:after{left:2px}.tl-grip.end:after{right:2px}.tl-spanbar:hover .tl-grip:after,.tl-entry:hover .tl-grip:after,.tl-week-entry:hover .tl-grip:after{opacity:.8}@media(hover:none){.tl-grip:after{opacity:.6}}@media(max-width:700px){.tl-bars{top:30px;grid-template-columns:repeat(7,minmax(0,1fr))}.tl-spanbar{margin:0 2px;padding:0 4px}.tl-spanbar span{display:none}}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:768px){.md\:gap-6{gap:1.5rem}.md\:p-6{padding:1.5rem}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
