*,: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;-o-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]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,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::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}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}html,body,#root{height:100%}body{--tw-bg-opacity: 1;background-color:rgb(var(--color-background) / var(--tw-bg-opacity, 1));font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-background) / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}input::-moz-placeholder,textarea::-moz-placeholder{color:rgb(var(--app-text-muted));opacity:1}input::placeholder,textarea::placeholder{color:rgb(var(--app-text-muted));opacity:1}select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 8l5 5 5-5' stroke='%239498A5' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:20px!important;padding-right:2.75rem!important}.dark select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 8l5 5 5-5' stroke='%23BFCBDE' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sidenav{background:rgb(var(--app-sidebar))!important;border-color:rgb(var(--app-border) / .2)!important;color:#f4f7fc!important}.sidebar-logo-mark{background:rgb(var(--app-primary));color:rgb(var(--color-on-primary))}.sidebar-brand-title{color:#fff}.sidebar-brand-subtitle{color:#f4f7fcd6}.sidebar-footer{border-color:#f4f7fc29}.sidebar-nav-item{color:#f4f7fcd6}.sidebar-nav-item .material-symbols-outlined{color:currentColor}.sidebar-nav-item:hover{background:#ffffff14;color:#fff}.sidebar-nav-item.active{background:rgb(var(--app-primary) / .18);color:#fff}.dark .sidenav,.dark .topbar{background:rgb(var(--app-sidebar))!important;border-color:rgb(var(--app-border) / .7)!important}.dark .sidebar-logo-mark{background:rgb(var(--app-primary));color:rgb(var(--color-on-primary))}.dark .sidebar-nav-item.active{background:rgb(var(--app-primary) / .16)}.btn{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;white-space:nowrap;border-radius:.5rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(var(--color-primary) / .4);--tw-ring-offset-width: 2px;--tw-ring-offset-color: rgb(var(--color-surface) / 1)}.btn:active{--tw-scale-x: .98;--tw-scale-y: .98;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))}.btn:disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.btn:active:disabled{--tw-scale-x: 1;--tw-scale-y: 1;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))}.btn-sm{height:2.25rem;gap:.375rem;padding-left:.75rem;padding-right:.75rem}.btn-sm .material-symbols-outlined{font-size:16px}.btn-md{height:2.5rem;gap:.5rem;padding-left:1rem;padding-right:1rem}.btn-md .material-symbols-outlined{font-size:18px}.btn-lg{height:3rem;gap:.5rem;padding-left:1.5rem;padding-right:1.5rem;font-size:14px;line-height:1.5;font-weight:600}.btn-lg .material-symbols-outlined{font-size:20px}.btn-full{width:100%}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(var(--color-primary) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-on-primary) / var(--tw-text-opacity, 1));box-shadow:0 8px 18px rgb(var(--app-primary) / .18)}.btn-primary:hover,.btn-primary:active{background-color:rgb(var(--app-primary-hover))}.btn-secondary{border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.btn-secondary:hover,.btn-secondary:active{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-high) / var(--tw-bg-opacity, 1))}.btn-ghost{background-color:transparent;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.btn-ghost:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.btn-ghost:active{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.btn-danger{background-color:transparent;--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.btn-danger:hover,.btn-danger:active{--tw-bg-opacity: 1;background-color:rgb(var(--color-error-container) / var(--tw-bg-opacity, 1))}.btn-icon{border-radius:9999px;padding:0;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.btn-icon:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.btn-icon:active{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.dark .btn-icon{color:rgb(var(--app-text-secondary))}.dark .btn-icon:hover{color:rgb(var(--app-text-primary))}.btn-icon.btn-sm{width:2.25rem}.btn-icon.btn-md{width:2.5rem}.btn-icon.btn-lg{width:3rem}.btn-tone-danger.btn-icon:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-error-container) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.card{border-radius:.75rem;border-width:1px;border-color:rgb(var(--color-outline-variant) / .7);--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));box-shadow:0 1px 2px rgb(var(--app-text-primary) / .04)}.hero-card{border-radius:.75rem;border-width:1px;border-color:rgb(var(--color-outline-variant) / .7);--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));box-shadow:0 1px 2px rgb(var(--app-text-primary) / .04);display:flex;flex-direction:column;justify-content:space-between;gap:1rem;padding:24px}@media print{.hero-card{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}}@media(min-width:640px){.hero-card{flex-direction:row;align-items:center}}.section-heading{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.section-heading h2{font-family:Geist,sans-serif;font-size:24px;line-height:1.3;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.section-subtext{margin-top:.25rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.analysis-chip{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.25rem .625rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.wide-page{margin-left:auto;margin-right:auto;display:flex;width:100%;max-width:80rem;flex-direction:column;gap:20px}.filter-input{border-radius:.5rem;border-width:1px;border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.5rem 1rem .5rem 2.25rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.filter-input:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.filter-select{cursor:pointer;border-radius:.5rem;border-width:1px;border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.5rem 1rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.filter-select:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.empty-note{padding:1rem;text-align:center;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.empty-note.success-note{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.stat-card{border-radius:.75rem;border-width:1px;border-color:rgb(var(--color-outline-variant) / .7);--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));box-shadow:0 1px 2px rgb(var(--app-text-primary) / .04);display:flex;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.25rem}@media print{.stat-card{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}}.stat-card:nth-of-type(4n+1){background:rgb(var(--color-surface-container-lowest));border-color:rgb(var(--color-outline-variant))}.stat-card:nth-of-type(4n+2){background:rgb(var(--color-surface-container-lowest));border-color:rgb(var(--color-outline-variant))}.stat-card:nth-of-type(4n+3){background:rgb(var(--color-surface-container-lowest));border-color:rgb(var(--color-outline-variant))}.stat-card:nth-of-type(4n+4){background:rgb(var(--color-surface-container-lowest));border-color:rgb(var(--color-outline-variant))}.stat-card-head{display:flex;align-items:flex-start;justify-content:space-between;font-family:Geist,sans-serif;font-size:12px;line-height:1;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.stat-card strong{font-family:Geist,sans-serif;font-size:48px;line-height:1.1;letter-spacing:-.04em;font-weight:700;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.stat-card small{display:flex;align-items:center;gap:.25rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.stat-trend{display:flex;align-items:center;color:rgb(var(--app-success))}.stat-trend.down{--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;text-align:center}.empty-state-icon{display:flex;height:3rem;width:3rem;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.empty-state h3{font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.empty-state p{max-width:28rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.empty-state.empty-state-compact{gap:.375rem;padding:.5rem}.insight{display:flex;align-items:flex-start;gap:.75rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.75rem}.insight h3{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.insight p{font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.insight.success{border-color:rgb(var(--color-primary) / .2);background-color:rgb(var(--app-primary-soft) / var(--app-primary-soft-opacity))}.insight.success .material-symbols-outlined{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.insight.warning{border-color:rgb(var(--app-warning) / .28);background-color:rgb(var(--app-warning-soft) / var(--app-warning-soft-opacity))}.insight.warning .material-symbols-outlined{color:rgb(var(--app-warning))}.pagination-controls{display:flex;align-items:center;justify-content:space-between;border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.pagination-controls>div{display:flex;align-items:center;gap:.25rem}.status-line{position:fixed;bottom:1rem;left:50%;z-index:50;display:flex;--tw-translate-x: -50%;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));align-items:center;gap:.5rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-highest) / var(--tw-bg-opacity, 1));padding:.5rem 1rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));--tw-shadow: 0 10px 15px -3px rgba(0,0,0,.15);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.status-line .success{display:flex;align-items:center;gap:.25rem;color:rgb(var(--app-success))}.status-line .danger{display:flex;align-items:center;gap:.25rem;--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.spinner{display:inline-block;height:.75rem;width:.75rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite;border-radius:9999px;border-width:2px;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-border-opacity: 1;border-top-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1))}.badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.25rem .625rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500}.badge-success{border:1px solid rgb(var(--app-success) / .24);background-color:rgb(var(--app-success-soft) / var(--app-success-soft-opacity));color:rgb(var(--app-success))}.badge-warning{border:1px solid rgb(var(--app-warning) / .28);background-color:rgb(var(--app-warning-soft) / var(--app-warning-soft-opacity));color:rgb(var(--app-warning))}.badge-danger{--tw-bg-opacity: 1;background-color:rgb(var(--color-error-container) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.badge-neutral{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-high) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.status-chip{display:inline-flex;align-items:center;border-radius:9999px;padding:.25rem .625rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-high) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}@media print{.status-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.avatar-circle{display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500}.avatar-tone-primary{background-color:rgb(var(--app-primary-soft) / var(--app-primary-soft-opacity));color:rgb(var(--app-primary))}.avatar-tone-success{background-color:rgb(var(--app-success-soft) / var(--app-success-soft-opacity));color:rgb(var(--app-success))}.avatar-tone-navy{background-color:rgb(var(--color-secondary-container));color:rgb(var(--color-on-secondary-container))}.student-row.active{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.teacher-assignment-chip{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-high) / var(--tw-bg-opacity, 1));padding:.25rem .625rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.teacher-assignment-chip button{display:flex;align-items:center;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.teacher-assignment-chip button:hover{--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.teacher-assignment-more{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));padding:.25rem .625rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.teacher-assignment-more:hover{border-color:rgb(var(--color-primary) / .4);--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.teacher-assignment-popover{position:absolute;right:0;top:2rem;z-index:20;min-width:14rem;overflow:hidden;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding-top:.25rem;padding-bottom:.25rem;--tw-shadow: 0 8px 18px rgba(0,0,0,.16);--tw-shadow-colored: 0 8px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.teacher-assignment-popover-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.teacher-assignment-popover-row:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.teacher-assignment-popover-row button{display:flex;flex-shrink:0;align-items:center;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.teacher-assignment-popover-row button:hover{--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.students-page{gap:1rem}.students-header{display:flex;flex-direction:column;gap:.25rem}.students-toolbar{display:grid;align-items:center;gap:.75rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding:.75rem}@media(min-width:640px){.students-toolbar{grid-template-columns:minmax(240px,1fr) 180px auto}}.students-search{position:relative;min-width:0px}.students-search .filter-input,.students-class-filter{height:2.25rem;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem;padding-top:0;padding-bottom:0}.students-search .filter-input{padding-left:2.25rem;padding-right:2.25rem}.students-table-panel{overflow:hidden;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.students-table{border-collapse:separate;--tw-border-spacing-x: 0px;--tw-border-spacing-y: 0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.students-table thead tr{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.students-table th{padding:.625rem 1rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.students-table tbody>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-color:rgb(var(--color-outline-variant) / .7)}.students-table td{padding:.625rem 1rem;vertical-align:middle}.students-row{cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.students-row:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.students-comment{display:block;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.students-muted{color:rgb(var(--color-on-surface-variant) / .6)}.students-muted-badge{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));color:rgb(var(--color-on-surface-variant) / .6)}.students-pagination{display:flex;align-items:center;justify-content:space-between;border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.students-pagination>div{display:flex;align-items:center;gap:.25rem}.attendance-page{gap:1rem}.attendance-header h1{line-height:1.25}.attendance-header p{max-width:42rem;line-height:1.625}.attendance-toolbar{display:grid;align-items:flex-end;gap:.75rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding:.75rem}@media(min-width:768px){.attendance-toolbar{grid-template-columns:160px minmax(220px,1fr) 170px auto}}.attendance-toolbar label{display:flex;min-width:0px;flex-direction:column;gap:.375rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.attendance-toolbar .filter-select,.attendance-toolbar input{height:2.25rem;min-width:0px;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem;padding-top:0;padding-bottom:0;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.attendance-toolbar .filter-select:focus,.attendance-toolbar input:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1))}.attendance-toolbar .filter-select:disabled,.attendance-toolbar input:disabled{cursor:not-allowed;opacity:.5}.attendance-entry-panel{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.attendance-entry-head{display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));padding:.75rem 1rem}@media(min-width:1024px){.attendance-entry-head{flex-direction:row;align-items:flex-start}}.attendance-entry-head h2{margin-top:.25rem;font-family:Geist,sans-serif;font-size:24px;line-height:1.3;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.attendance-progress{margin-top:.5rem;width:100%;max-width:24rem}.attendance-progress p{margin-bottom:.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.attendance-progress>div{height:.375rem;overflow:hidden;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.attendance-progress>div>span{display:block;height:100%;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-primary) / var(--tw-bg-opacity, 1));transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.attendance-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.5rem}@media(min-width:1024px){.attendance-actions{justify-content:flex-end}}.attendance-roster-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-color:rgb(var(--color-outline-variant) / .7)}.attendance-roster-row{display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.attendance-roster-row:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}@media(min-width:640px){.attendance-roster-row{flex-direction:row;align-items:center}}.attendance-student-name{display:flex;min-width:0px;align-items:center;gap:.625rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.attendance-segmented-control{display:inline-flex;width:100%;overflow:hidden;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding:.125rem}@media(min-width:640px){.attendance-segmented-control{width:auto}}.attendance-segmented-control button{min-width:0px;flex:1 1 0%;padding:.375rem .75rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.attendance-segmented-control button:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}@media(min-width:640px){.attendance-segmented-control button{min-width:6rem}}.attendance-segmented-control button+button{border-left-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1))}.attendance-segmented-control button.selected{border-left-color:transparent;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: 0 1px 2px rgba(0,0,0,.16);--tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.attendance-segmented-control button.present.selected{background-color:rgb(var(--app-success));color:#fff}.attendance-segmented-control button.absent.selected{--tw-bg-opacity: 1;background-color:rgb(var(--color-error) / var(--tw-bg-opacity, 1))}.attendance-segmented-control button.excused.selected{background-color:rgb(var(--app-warning));color:#1f140c}.homework-page{gap:1rem}.homework-header{display:flex;flex-direction:column;justify-content:space-between;gap:1rem}@media(min-width:768px){.homework-header{flex-direction:row;align-items:flex-end}}.homework-header p{max-width:48rem;line-height:1.625}.homework-toolbar{display:grid;align-items:flex-end;gap:.75rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding:.75rem}@media(min-width:768px){.homework-toolbar{grid-template-columns:160px minmax(220px,1fr)}}.homework-toolbar label{display:flex;min-width:0px;flex-direction:column;gap:.375rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.homework-toolbar .filter-select{height:2.25rem;min-width:0px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem;padding-top:0;padding-bottom:0;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.homework-toolbar .filter-select:disabled{cursor:not-allowed;opacity:.5}.homework-list-panel{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.homework-list-head{display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));padding:.75rem 1rem}@media(min-width:640px){.homework-list-head{flex-direction:row;align-items:center}}.homework-list-head h2{font-family:Geist,sans-serif;font-size:24px;line-height:1.3;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.homework-list-head p{margin-top:.25rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.homework-list-head>span{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-family:Geist,sans-serif;font-size:12px;line-height:1.4;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.homework-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-color:rgb(var(--color-outline-variant) / .7)}.homework-row{display:grid;align-items:center;gap:.75rem;padding:.75rem 1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.homework-row:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}@media(min-width:1024px){.homework-row{grid-template-columns:minmax(220px,1fr) auto auto}}.homework-main{display:flex;min-width:0px;align-items:center;gap:.75rem}.homework-icon{display:flex;height:2.25rem;width:2.25rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.5rem;--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1));background-color:rgb(var(--app-primary-soft) / var(--app-primary-soft-opacity))}.homework-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.homework-meta{margin-top:.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.homework-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}@media(min-width:640px){.homework-stats{display:flex;align-items:center}}.homework-stats>span:not(.badge){border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.25rem .5rem}.homework-stats b{font-family:Geist,sans-serif;font-size:12px;line-height:1.4;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.homework-actions{display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.schedule-page{gap:1rem}.schedule-header{display:flex;flex-direction:column;justify-content:space-between;gap:1rem}@media(min-width:768px){.schedule-header{flex-direction:row;align-items:flex-end}}.schedule-header p{max-width:48rem;line-height:1.625}.schedule-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.schedule-week-nav{display:inline-flex;height:2rem;align-items:center;overflow:hidden;border-radius:.5rem;border-width:1px;border-color:rgb(var(--color-outline-variant) / .7);--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.schedule-week-nav button{display:flex;height:2rem;width:2rem;align-items:center;justify-content:center;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.schedule-week-nav button:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.schedule-week-nav .schedule-week-range{min-width:8rem;border-left-width:1px;border-right-width:1px;border-color:rgb(var(--color-outline-variant) / .6);padding-left:.75rem;padding-right:.75rem;text-align:center;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.schedule-calendar-panel{display:flex;flex-direction:column;overflow:hidden;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.schedule-calendar-head{border-bottom-width:1px;border-color:rgb(var(--color-outline-variant) / .6);--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.schedule-timezone{display:flex;align-items:flex-end;justify-content:flex-end;padding:.5rem;font-family:Geist,sans-serif;font-size:10px;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.schedule-day-head{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left-width:1px;border-color:rgb(var(--color-outline-variant) / .4);padding:.5rem}.schedule-day-head span{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.schedule-day-head small{margin-top:.125rem;font-family:Geist,sans-serif;font-size:10px;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.schedule-scroll{position:relative;overflow-y:auto;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.schedule-time-gutter{position:absolute;bottom:0;left:0;top:0;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.schedule-grid-line{position:absolute;right:0;border-top-width:1px;border-color:rgb(var(--color-outline-variant) / .2)}.schedule-grid-line.lesson-boundary{border-color:rgb(var(--color-outline-variant) / .45)}.schedule-time-label{position:absolute;left:0;padding-right:.5rem;text-align:right;font-family:Geist,sans-serif;font-size:10px;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.schedule-break-band{position:absolute;right:0;display:flex;align-items:center;justify-content:center;background-color:rgb(var(--color-surface-container-low) / .45);font-family:Geist,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.18em;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.schedule-day-column{position:relative;border-left-width:1px;border-color:rgb(var(--color-outline-variant) / .35);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.schedule-day-column.drag-over{background-color:rgb(var(--color-primary) / .05)}.schedule-event-card{position:absolute;left:.25rem;right:.25rem;display:flex;cursor:grab;flex-direction:column;justify-content:center;gap:.125rem;overflow:hidden;border-radius:.375rem;border-width:1px;padding:.375rem .5rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.schedule-event-card:hover{--tw-translate-y: -1px;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));--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.schedule-event-card:active{cursor:grabbing}.schedule-event-card.tone-primary{border-color:rgb(var(--color-primary) / .3);background-color:rgb(var(--color-primary) / .1);--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.schedule-event-card.tone-secondary{--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));background:rgb(var(--color-secondary-fixed-dim) / .35);border-color:rgb(var(--color-secondary-fixed-dim) / .95)}.schedule-event-card.warning{--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));border-color:rgb(var(--app-warning) / .8);background-color:rgb(var(--app-warning-soft) / var(--app-warning-soft-opacity));box-shadow:0 0 0 1px rgb(var(--app-warning) / .28)}.schedule-event-action{position:absolute;top:.25rem;display:flex;align-items:center;border-radius:.25rem;background-color:#0000001a;padding:.125rem;color:currentColor;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.schedule-event-action:hover{background-color:#00000026}.group:hover .schedule-event-action{opacity:1}.schedule-event-action.quick{right:1.5rem}.schedule-event-action.quick:hover{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.schedule-event-action.delete{right:.25rem}.schedule-event-action.delete:hover{--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.schedule-event-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:2.5rem;font-family:Geist,sans-serif;font-size:12px;letter-spacing:.02em;font-weight:600;line-height:1.375;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.schedule-event-classroom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Geist,sans-serif;font-size:12px;font-weight:400;line-height:1.25;--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.schedule-event-location{display:flex;align-items:center;gap:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Geist,sans-serif;font-size:12px;font-weight:400;line-height:1.25;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.schedule-event-warning{margin-top:.125rem;width:-moz-fit-content;width:fit-content;border-radius:.25rem;padding:.125rem .375rem;font-family:Geist,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.05em;background-color:rgb(var(--app-warning-soft) / var(--app-warning-soft-opacity));color:rgb(var(--app-warning))}.gradebook-page{gap:1rem}.gradebook-header{display:flex;flex-direction:column;justify-content:space-between;gap:.75rem}@media(min-width:768px){.gradebook-header{flex-direction:row;align-items:flex-end}}.gradebook-header h1{line-height:1.25}.gradebook-header p{max-width:42rem;line-height:1.625}.gradebook-toolbar{display:grid;align-items:flex-end;gap:.75rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding:.75rem}@media(min-width:768px){.gradebook-toolbar{grid-template-columns:160px minmax(220px,1fr) 190px}}.gradebook-toolbar label{display:flex;min-width:0px;flex-direction:column;gap:.375rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.gradebook-toolbar .filter-select{height:2.25rem;min-width:0px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem;padding-top:0;padding-bottom:0;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.gradebook-toolbar .filter-select:disabled{cursor:not-allowed;opacity:.5}.gradebook-list-panel,.gradebook-lessons-panel,.assessment-entry-panel{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.gradebook-list-head,.gradebook-lessons-head,.assessment-entry-head{display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));padding:.75rem 1rem}@media(min-width:640px){.gradebook-list-head,.gradebook-lessons-head,.assessment-entry-head{flex-direction:row;align-items:center}}.gradebook-list-head h2,.gradebook-lessons-head h2,.assessment-entry-title{font-family:Geist,sans-serif;font-size:24px;line-height:1.3;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.gradebook-list-head p,.gradebook-lessons-head p{margin-top:.25rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.gradebook-list-head>span{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-family:Geist,sans-serif;font-size:12px;line-height:1.4;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.gradebook-assessment-list>:not([hidden])~:not([hidden]),.gradebook-lesson-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-color:rgb(var(--color-outline-variant) / .7)}.gradebook-assessment-row{display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.gradebook-assessment-row:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}@media(min-width:640px){.gradebook-assessment-row{flex-direction:row;align-items:center}}.gradebook-assessment-main{display:flex;min-width:0px;align-items:center;gap:.75rem}.gradebook-assessment-icon{display:flex;height:2.25rem;width:2.25rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.5rem;--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1));background-color:rgb(var(--app-primary-soft) / var(--app-primary-soft-opacity))}.gradebook-assessment-title{display:flex;min-width:0px;flex-wrap:wrap;align-items:center;gap:.375rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.gradebook-assessment-meta{margin-top:.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.gradebook-row-actions{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:.25rem}@media(min-width:1024px){.gradebook-lessons-panel{position:sticky;top:1rem}}.gradebook-lessons-head{align-items:flex-start}.gradebook-lesson-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.gradebook-lesson-row:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.gradebook-lesson-row div:first-child{min-width:0px}.gradebook-lesson-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.gradebook-lesson-row small{margin-top:.125rem;display:block;font-family:Geist,sans-serif;font-size:12px;line-height:1.4;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.assessment-entry-head{align-items:flex-start}.assessment-entry-progress{margin-top:.5rem;max-width:24rem}.assessment-entry-progress p{margin-bottom:.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.assessment-entry-progress>div{height:.375rem;overflow:hidden;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.assessment-entry-progress>div>span{display:block;height:100%;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-primary) / var(--tw-bg-opacity, 1));transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.assessment-entry-table thead{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));font-family:Geist,sans-serif;font-size:12px;line-height:1;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.assessment-entry-table th,.assessment-entry-table td{padding:.75rem 1rem}.assessment-entry-table tbody tr{border-bottom-width:1px;border-color:rgb(var(--color-outline-variant) / .5);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.assessment-entry-table tbody tr:last-child{border-bottom-width:0px}.assessment-entry-table tbody tr:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.assessment-entry-table tbody td:first-child{display:flex;align-items:center;gap:.5rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.score-input{height:2.25rem;width:6rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem;text-align:right;font-family:Geist,sans-serif;font-size:12px;line-height:1.4;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.score-input:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-primary) / var(--tw-ring-opacity, 1))}.assessment-completion-cell{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.classroom-detail-page{gap:1rem}.classroom-detail-header{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));padding-bottom:1.25rem}@media(min-width:640px){.classroom-detail-header{flex-direction:row;align-items:flex-start}}.classroom-detail-header h1{margin-bottom:.625rem;font-family:Geist,sans-serif;font-size:32px;line-height:1.2;letter-spacing:-.02em;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.classroom-detail-header p{padding-bottom:0;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.classroom-breadcrumb{display:flex;align-items:center;gap:.375rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.classroom-breadcrumb button{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.classroom-breadcrumb button:hover{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.classroom-breadcrumb span{--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.classroom-summary-grid{display:grid;gap:.75rem}@media(min-width:640px){.classroom-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.classroom-summary-grid article{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding:.75rem 1rem}.classroom-summary-grid span{display:block;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.classroom-summary-grid strong{margin-top:.25rem;display:block;font-family:Geist,sans-serif;font-size:22px;line-height:1.25;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.classroom-table-panel{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.classroom-table-toolbar{display:grid;gap:.75rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));padding:.75rem}@media(min-width:768px){.classroom-table-toolbar{grid-template-columns:minmax(220px,1fr) 180px 160px}}.classroom-filter-field{display:flex;flex-direction:column;gap:.375rem}.classroom-filter-field>span{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.classroom-filter-field>div,.classroom-filter-field select{height:2.25rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.classroom-filter-field>div:focus-within,.classroom-filter-field select:focus-within{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1))}.classroom-filter-field>div:focus,.classroom-filter-field select:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1))}.classroom-filter-field>div{display:flex;align-items:center;gap:.5rem}.classroom-filter-field .material-symbols-outlined{font-size:20px;--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.classroom-filter-field input{min-width:0px;flex:1 1 0%;border-style:none;background-color:transparent;outline:2px solid transparent;outline-offset:2px}.classroom-filter-field input::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.classroom-filter-field input::placeholder{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.student-roster-table{overflow:hidden}.student-roster-table thead tr{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.student-roster-table th{padding:.625rem 1rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.student-roster-table tbody>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-color:rgb(var(--color-outline-variant) / .7)}.student-roster-table tbody{font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.student-roster-table tbody tr{cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.student-roster-table tbody tr:hover,.student-roster-table tbody tr.selected{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.student-roster-table td{padding:.75rem 1rem;vertical-align:middle}.student-roster-name{display:flex;align-items:center;gap:.625rem;font-weight:500}.student-row-menu{position:relative;display:inline-flex;justify-content:flex-end}.student-row-menu-button{display:flex;height:1.75rem;width:2rem;align-items:center;justify-content:center;border-radius:.375rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;font-weight:500;letter-spacing:.08em;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.student-row-menu-button:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-high) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.student-row-menu-popover{position:absolute;right:0;top:2rem;z-index:20;min-width:7rem;overflow:hidden;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding-top:.25rem;padding-bottom:.25rem;text-align:left;--tw-shadow: 0 8px 18px rgba(0,0,0,.16);--tw-shadow-colored: 0 8px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.student-row-menu-popover button{display:block;width:100%;padding:.5rem .75rem;text-align:left;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.student-row-menu-popover button:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.student-row-menu-popover button.danger{--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.student-row-menu-popover button.danger:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-error-container) / var(--tw-bg-opacity, 1))}.student-detail-page{gap:1rem}.student-back-link{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:.25rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.student-back-link:hover{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.student-profile-header{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding:1rem}@media(min-width:640px){.student-profile-header{flex-direction:row;align-items:center}}.student-profile-main{display:flex;align-items:center;gap:1rem}.student-profile-kicker{margin-bottom:.25rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.student-profile-header h1{font-family:Geist,sans-serif;font-size:32px;line-height:1.2;letter-spacing:-.02em;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.student-profile-meta{margin-top:.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.student-profile-meta span{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.25rem .5rem}.student-profile-actions{display:flex;flex-wrap:wrap;gap:.5rem}.student-tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1))}.student-tabs button{display:inline-flex;align-items:center;gap:.5rem;border-bottom-width:2px;border-color:transparent;padding:.5rem .75rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.student-tabs button:hover{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.student-tabs button.active{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.student-tabs button .tab-count{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-high) / var(--tw-bg-opacity, 1));padding:.125rem .375rem;font-family:Geist,sans-serif;font-size:10px;line-height:1;--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.student-tab-content{display:flex;flex-direction:column;gap:1rem}.student-metric-grid{display:grid;gap:.75rem}@media(min-width:768px){.student-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}}.student-metric-grid article{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding:.75rem 1rem}.student-metric-grid span{display:block;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.student-metric-grid strong{margin-top:.25rem;display:block;font-family:Geist,sans-serif;font-size:24px;line-height:1.25;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.student-metric-grid small{margin-top:.25rem;display:block;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.student-two-column{display:grid;gap:1rem}@media(min-width:1024px){.student-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-panel{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.student-panel-head{display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));padding:.75rem 1rem}@media(min-width:640px){.student-panel-head{flex-direction:row;align-items:center}}.student-panel-head h2{font-family:Geist,sans-serif;font-size:24px;line-height:1.3;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.student-panel-head>span{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.student-note{padding:1rem;font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:1.625;--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.student-activity-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-color:rgb(var(--color-outline-variant) / .7)}.student-activity-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem}.student-activity-item>.material-symbols-outlined{margin-top:.125rem;font-size:20px;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.student-activity-item strong,.student-list-row strong{font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.student-activity-item p,.student-list-row p{margin-top:.125rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.student-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-color:rgb(var(--color-outline-variant) / .7)}.student-list-row{display:grid;align-items:center;gap:.75rem;padding:.75rem 1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.student-list-row:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}@media(min-width:640px){.student-list-row{grid-template-columns:minmax(0,1fr) auto auto}}.student-list-row b{font-family:Geist,sans-serif;font-size:12px;line-height:1.4;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.lesson-average-grid{display:grid;gap:.75rem;padding:1rem}@media(min-width:640px){.lesson-average-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lesson-average-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.lesson-average-grid article{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.75rem}.lesson-average-grid span{display:block;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.lesson-average-grid strong{margin-top:.25rem;display:block;font-family:Geist,sans-serif;font-size:22px;line-height:1.25;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.lesson-average-grid small{margin-top:.25rem;display:block;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.lesson-average-grid small.success{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.lesson-average-grid small.danger{--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.assessment-head{align-items:flex-start}.student-filter-row{display:flex;flex-wrap:wrap;gap:.5rem}.student-empty-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;text-align:center}.student-empty-icon{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.student-empty-panel h3{font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.student-empty-panel p{max-width:28rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.ai-analysis-grid{display:grid;gap:.75rem;padding:1rem}@media(min-width:1024px){.ai-analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.ai-analysis-grid article{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:1rem}.ai-analysis-grid h3{margin-bottom:.5rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.ai-analysis-grid p{font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:1.625;--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.settings-summary-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.settings-summary-chip{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.375rem .75rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.settings-summary-chip strong{font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.settings-compact-field{display:flex;flex-direction:column;gap:.375rem}.settings-compact-field>span{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.settings-compact-field.is-disabled>span{--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.settings-number-box{display:inline-flex;height:2.5rem;width:-moz-fit-content;width:fit-content;align-items:center;gap:.375rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.settings-number-box:focus-within{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(var(--color-primary) / .3)}.settings-number-box.is-disabled{opacity:.5}.settings-number-input{width:2.5rem;border-style:none;background-color:transparent;padding:0;text-align:right;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px}.settings-number-suffix{flex-shrink:0;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.settings-time-input{height:2.5rem;width:8rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.settings-time-input:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(var(--color-primary) / .3)}.settings-select{height:2.5rem;cursor:pointer;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding-top:0;padding-bottom:0;padding-left:.75rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.settings-select:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(var(--color-primary) / .3)}.settings-select:disabled{cursor:not-allowed;opacity:.5}.settings-lunch-panel{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:1.25rem}.settings-preview-table th{padding:.5rem .75rem;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.settings-preview-table td{padding:.375rem .75rem}.settings-preview-table tr.is-lunch-row{background-color:rgb(var(--color-primary) / .05)}.settings-lunch-chip{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;background-color:rgb(var(--color-primary) / .1);padding:.125rem .5rem;font-family:Geist,sans-serif;font-size:11px;--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.settings-save-bar{position:sticky;bottom:1rem;z-index:10;display:flex;flex-direction:column;gap:.75rem;border-radius:.75rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding:1rem;--tw-shadow: 0 10px 25px -10px rgba(0,0,0,.35);--tw-shadow-colored: 0 10px 25px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(min-width:640px){.settings-save-bar{flex-direction:row;align-items:center;justify-content:space-between}}.ai-student-summary{display:flex;align-items:center;gap:.75rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding:.75rem 1rem}.ai-student-summary-stat{display:flex;flex-shrink:0;flex-direction:column;align-items:flex-end}.ai-student-summary-stat span{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.ai-student-summary-stat strong{display:block;font-family:Geist,sans-serif;font-size:20px;line-height:1.25;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.ai-student-summary-status{flex-shrink:0}.ai-output-card{border-radius:.75rem;border-width:1px;border-color:rgb(var(--color-outline-variant) / .7);--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));box-shadow:0 1px 2px rgb(var(--app-text-primary) / .04);display:flex;flex-direction:column;gap:1rem;padding:1.25rem}@media print{.ai-output-card{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none;-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}}.ai-output-card-head{display:flex;align-items:center;gap:.75rem}.ai-output-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.5rem;background-color:rgb(var(--color-primary) / .1);--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.ai-output-icon.tone-tertiary{background-color:rgb(var(--color-tertiary) / .1);--tw-text-opacity: 1;color:rgb(var(--color-tertiary) / var(--tw-text-opacity, 1))}.ai-output-icon.tone-secondary{background-color:rgb(var(--color-secondary) / .1);--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.ai-output-card-title{font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.ai-output-card-subtitle{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.ai-output-card-actions{display:flex;flex-shrink:0;align-items:center;gap:.25rem}.ai-output-empty{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.ai-report-title{font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.ai-report-paragraph{font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:1.625;--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.ai-report-section{display:flex;flex-direction:column;gap:.5rem}.ai-report-heading{font-family:Geist,sans-serif;font-size:12px;line-height:1;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.ai-report-list{display:flex;flex-direction:column;gap:.375rem}.ai-report-list li{display:flex;align-items:flex-start;gap:.5rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.ai-report-list li .material-symbols-outlined{margin-top:.125rem;font-size:16px;--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.student-info-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));border-color:rgb(var(--color-outline-variant) / .7)}.student-info-list div{padding:.75rem 1rem}.student-info-list dt{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.student-info-list dd{margin-top:.25rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.schedule-item{display:flex;align-items:flex-start;gap:.75rem;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));padding:.75rem}.schedule-item strong{width:3rem;flex-shrink:0;font-family:Geist,sans-serif;font-size:12px;line-height:1.4;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.schedule-item span{display:block;font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.schedule-item small{display:block;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.schedule-item.secondary{border-color:rgb(var(--color-primary) / .2);background-color:rgb(var(--color-primary) / .05)}.schedule-item.secondary span{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.searchable-select,.student-search{position:relative;display:flex;flex-direction:column;gap:.375rem}.searchable-select label{font-family:Geist,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.searchable-select-control,.student-combobox{display:flex;align-items:center;gap:.5rem;border-radius:.5rem;border-width:1px;border-color:rgb(var(--color-outline-variant) / .7);--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding:.5rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.searchable-select-control:focus-within,.student-combobox:focus-within{border-color:rgb(var(--color-primary) / .8);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(var(--color-primary) / .3)}.form-panel-body .searchable-select-control{height:2.75rem;padding-top:0;padding-bottom:0}.student-search{flex-direction:row;align-items:center;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding:.5rem .75rem}.student-search:focus-within{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1))}.student-search.student-search-compact{width:100%;max-width:24rem;padding:.375rem .75rem}.student-search.student-search-compact .material-symbols-outlined{font-size:20px}.student-search.student-search-compact input{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500}.student-search>.material-symbols-outlined{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.student-combobox{position:relative;width:100%;border-style:none;padding:0}.searchable-select-control input,.student-combobox input{width:100%;border-style:none;background-color:transparent;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px}.searchable-select-control input::-moz-placeholder,.student-combobox input::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.searchable-select-control input::placeholder,.student-combobox input::placeholder{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.searchable-select-control>.material-symbols-outlined{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.dark .student-search>.material-symbols-outlined,.dark .searchable-select-control>.material-symbols-outlined,.dark .classroom-filter-field .material-symbols-outlined{color:rgb(var(--app-text-secondary))}.clear-search-button{display:flex;align-items:center;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.clear-search-button:hover{--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.searchable-select-options,.student-options{position:absolute;left:0;right:0;top:100%;z-index:30;margin-top:.25rem;max-height:14rem;overflow-y:auto;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));--tw-shadow: 0 10px 15px -3px rgba(0,0,0,.08);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.searchable-select-options button,.student-options button{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:.125rem;padding:.5rem .75rem;text-align:left;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.searchable-select-options button:hover,.student-options button:hover,.searchable-select-options button.active,.searchable-select-options button.highlighted,.student-options button.active{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.student-options button small{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.searchable-select-empty,.student-option-empty{padding:.5rem .75rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.form-panel{display:flex;max-height:calc(100vh - 5rem);flex-direction:column}.form-panel-header{flex-shrink:0;padding-right:2.25rem}.form-panel h2{font-family:Geist,sans-serif;font-size:24px;font-weight:600;line-height:1.25;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.form-panel-header p{margin-top:.25rem;max-width:28rem;font-family:Inter,sans-serif;font-size:14px;font-weight:400;line-height:1.625;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.form-panel-body{margin-top:1.25rem;display:flex;min-height:0px;flex-direction:column;gap:1.5rem;overflow-y:auto;padding-right:.25rem}.modal-form-section{display:flex;flex-direction:column;gap:.75rem}.modal-form-section+.modal-form-section{padding-top:.25rem}.modal-form-section h3{font-family:Geist,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.14em;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.form-field-grid{display:grid;gap:.75rem}@media(min-width:640px){.form-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.form-field{display:flex;min-width:0px;flex-direction:column;gap:.375rem}.form-field>span{font-family:Geist,sans-serif;font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.form-field input:not([type=hidden]),.form-field textarea,.form-panel-body>input:not([type=hidden]),.form-panel-body>textarea,.form-panel-body>select{height:2.75rem;width:100%;border-radius:.5rem;border-width:1px;border-color:rgb(var(--color-outline-variant) / .7);--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.form-field input:not([type=hidden])::-moz-placeholder,.form-field textarea::-moz-placeholder,.form-panel-body>input:not([type=hidden])::-moz-placeholder,.form-panel-body>textarea::-moz-placeholder,.form-panel-body>select::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.form-field input:not([type=hidden])::placeholder,.form-field textarea::placeholder,.form-panel-body>input:not([type=hidden])::placeholder,.form-panel-body>textarea::placeholder,.form-panel-body>select::placeholder{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.form-field input:not([type=hidden]):focus,.form-field textarea:focus,.form-panel-body>input:not([type=hidden]):focus,.form-panel-body>textarea:focus,.form-panel-body>select:focus{border-color:rgb(var(--color-primary) / .8);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(var(--color-primary) / .3)}.form-field textarea,.form-panel-body>textarea{min-height:5rem;resize:vertical;padding-top:.625rem;padding-bottom:.625rem}.form-panel-footer{position:sticky;bottom:-24px;margin-left:-24px;margin-right:-24px;margin-top:1.25rem;display:flex;flex-shrink:0;justify-content:flex-end;gap:.5rem;--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));padding-left:24px;padding-right:24px;padding-bottom:.25rem;padding-top:.5rem}.form-panel-footer .btn{min-width:7rem}.form-error{font-family:Inter,sans-serif;font-size:14px;line-height:1.5;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.field-hint{font-family:Geist,sans-serif;font-size:12px;line-height:1.4;font-weight:400;--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.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}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-0\.5{left:.125rem}.left-3{left:.75rem}.left-\[80px\]{left:80px}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-12{top:3rem}.top-20{top:5rem}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[5\]{z-index:5}.mx-auto{margin-left:auto;margin-right:auto}.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}.mb-8{margin-bottom:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-96{max-height:24rem}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.min-h-24{min-height:6rem}.min-h-\[220px\]{min-height:220px}.min-h-\[260px\]{min-height:260px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[240px\]{width:240px}.w-\[420px\]{width:420px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[480px\]{min-width:480px}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-\[44vw\]{max-width:44vw}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x: 0px;--tw-border-spacing-y: 0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.-translate-x-full{--tw-translate-x: -100%;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))}.-translate-y-1\/2{--tw-translate-y: -50%;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))}.translate-x-0{--tw-translate-x: 0px;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))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-card-gap{gap:20px}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-outline-variant\/60>:not([hidden])~:not([hidden]){border-color:rgb(var(--color-outline-variant) / .6)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-error\/30{border-color:rgb(var(--color-error) / .3)}.border-outline-variant{--tw-border-opacity: 1;border-color:rgb(var(--color-outline-variant) / var(--tw-border-opacity, 1))}.border-outline-variant\/50{border-color:rgb(var(--color-outline-variant) / .5)}.border-outline-variant\/60{border-color:rgb(var(--color-outline-variant) / .6)}.border-outline-variant\/70{border-color:rgb(var(--color-outline-variant) / .7)}.border-secondary-fixed-dim{--tw-border-opacity: 1;border-color:rgb(var(--color-secondary-fixed-dim) / var(--tw-border-opacity, 1))}.border-surface-container-lowest{--tw-border-opacity: 1;border-color:rgb(var(--color-surface-container-lowest) / var(--tw-border-opacity, 1))}.bg-background{--tw-bg-opacity: 1;background-color:rgb(var(--color-background) / var(--tw-bg-opacity, 1))}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-error-container{--tw-bg-opacity: 1;background-color:rgb(var(--color-error-container) / var(--tw-bg-opacity, 1))}.bg-error-container\/20{background-color:rgb(var(--color-error-container) / .2)}.bg-outline-variant{--tw-bg-opacity: 1;background-color:rgb(var(--color-outline-variant) / var(--tw-bg-opacity, 1))}.bg-primary-container{--tw-bg-opacity: 1;background-color:rgb(var(--color-primary-container) / var(--tw-bg-opacity, 1))}.bg-primary\/10{background-color:rgb(var(--color-primary) / .1)}.bg-secondary-container{--tw-bg-opacity: 1;background-color:rgb(var(--color-secondary-container) / var(--tw-bg-opacity, 1))}.bg-surface{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1))}.bg-surface-container-low{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.bg-surface-container-lowest{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-container-padding{padding:24px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-container-padding{padding-left:24px;padding-right:24px}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-section-margin{padding-top:40px;padding-bottom:40px}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pr-11{padding-right:2.75rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-body-lg,.font-body-md{font-family:Inter,sans-serif}.font-headline-lg,.font-headline-md,.font-label-md{font-family:Geist,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-mono-sm{font-family:Geist,sans-serif}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[28px\]{font-size:28px}.text-body-lg{font-size:18px;line-height:1.6;font-weight:400}.text-body-md{font-size:14px;line-height:1.5;font-weight:400}.text-headline-lg{font-size:32px;line-height:1.2;letter-spacing:-.02em;font-weight:600}.text-headline-lg-mobile{font-size:24px;line-height:1.2;font-weight:600}.text-headline-md{font-size:24px;line-height:1.3;font-weight:600}.text-label-md{font-size:12px;line-height:1;letter-spacing:.02em;font-weight:500}.text-mono-sm{font-size:12px;line-height:1.4;font-weight:400}.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}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-error{--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.text-on-background{--tw-text-opacity: 1;color:rgb(var(--color-on-background) / var(--tw-text-opacity, 1))}.text-on-primary{--tw-text-opacity: 1;color:rgb(var(--color-on-primary) / var(--tw-text-opacity, 1))}.text-on-secondary-container{--tw-text-opacity: 1;color:rgb(var(--color-on-secondary-container) / var(--tw-text-opacity, 1))}.text-on-surface{--tw-text-opacity: 1;color:rgb(var(--color-on-surface) / var(--tw-text-opacity, 1))}.text-on-surface-variant{--tw-text-opacity: 1;color:rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1))}.text-outline{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.text-secondary{--tw-text-opacity: 1;color:rgb(var(--color-secondary) / var(--tw-text-opacity, 1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[0_10px_15px_-3px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow: 0 10px 15px -3px rgba(0,0,0,.05);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_30px_-12px_rgba\(15\,23\,42\,0\.28\)\]{--tw-shadow: 0 16px 30px -12px rgba(15,23,42,.28);--tw-shadow-colored: 0 16px 30px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(15\,23\,42\,0\.04\)\]{--tw-shadow: 0 1px 2px rgba(15,23,42,.04);--tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-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-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}:root{color-scheme:light;--app-primary: 255 138 52;--app-primary-hover: 245 122 31;--app-primary-soft: 255 241 231;--app-primary-soft-opacity: 1;--app-success: 46 159 117;--app-success-soft: 231 247 240;--app-success-soft-opacity: 1;--app-warning: 244 183 64;--app-warning-soft: 255 247 225;--app-warning-soft-opacity: 1;--app-background: 246 248 252;--app-surface: 255 255 255;--app-surface-2: 241 244 249;--app-sidebar: 35 63 115;--app-border: 225 231 240;--app-text-primary: 23 32 51;--app-text-secondary: 72 86 110;--app-text-muted: 112 127 150;--color-on-primary: 31 20 12;--color-tertiary: var(--app-primary);--color-surface: var(--app-surface);--color-surface-tint: var(--app-primary);--color-inverse-primary: var(--app-primary-hover);--color-on-error: 255 255 255;--color-primary: var(--app-primary);--color-on-secondary: 255 255 255;--color-surface-container-lowest: var(--app-surface);--color-primary-container: var(--app-primary-hover);--color-inverse-surface: 46 49 50;--color-secondary-fixed: var(--app-surface-2);--color-tertiary-fixed: var(--app-primary-soft);--color-primary-fixed-dim: var(--app-primary-soft);--color-surface-variant: var(--app-surface-2);--color-error: 181 80 72;--color-on-tertiary-fixed-variant: 133 65 17;--color-primary-fixed: var(--app-primary-soft);--color-outline: var(--app-text-muted);--color-secondary-fixed-dim: var(--app-surface-2);--color-surface-container-low: var(--app-surface-2);--color-outline-variant: var(--app-border);--color-on-primary-fixed: 112 52 10;--color-inverse-on-surface: 240 241 242;--color-tertiary-container: var(--app-primary);--color-error-container: 255 225 220;--color-on-tertiary-fixed: 112 52 10;--color-on-secondary-container: var(--app-sidebar);--color-surface-dim: 217 218 219;--color-on-secondary-fixed-variant: var(--app-sidebar);--color-secondary: var(--app-text-secondary);--color-on-primary-container: 31 20 12;--color-background: var(--app-background);--color-surface-container-high: 236 240 247;--color-secondary-container: var(--app-surface-2);--color-surface-bright: var(--app-surface);--color-surface-container-highest: 232 237 245;--color-on-tertiary: 255 255 255;--color-on-background: var(--app-text-primary);--color-on-tertiary-container: 31 20 12;--color-on-error-container: 113 34 34;--color-tertiary-fixed-dim: var(--app-primary-soft);--color-on-surface: var(--app-text-primary);--color-on-primary-fixed-variant: 112 52 10;--color-on-surface-variant: var(--app-text-muted);--color-surface-container: var(--app-surface-2);--color-on-secondary-fixed: var(--app-text-primary)}.dark{color-scheme:dark;--app-primary: 255 138 52;--app-primary-hover: 255 157 85;--app-primary-soft: 255 138 52;--app-primary-soft-opacity: .14;--app-success: 72 190 143;--app-success-soft: 46 159 117;--app-success-soft-opacity: .16;--app-warning: 244 183 64;--app-warning-soft: 244 183 64;--app-warning-soft-opacity: .16;--app-background: 7 13 24;--app-surface: 13 27 46;--app-surface-2: 17 35 58;--app-sidebar: 8 14 25;--app-border: 33 54 82;--app-text-primary: 244 247 252;--app-text-secondary: 191 203 222;--app-text-muted: 151 166 190;--color-primary: var(--app-primary);--color-on-primary: 31 20 12;--color-primary-container: var(--app-primary-hover);--color-on-primary-container: 51 29 12;--color-primary-fixed: var(--app-surface-2);--color-primary-fixed-dim: var(--app-surface-2);--color-on-primary-fixed: var(--app-text-primary);--color-on-primary-fixed-variant: var(--app-text-secondary);--color-secondary: var(--app-text-secondary);--color-on-secondary: 14 25 46;--color-secondary-container: var(--app-surface-2);--color-on-secondary-container: var(--app-text-primary);--color-secondary-fixed: var(--app-surface-2);--color-secondary-fixed-dim: var(--app-surface-2);--color-on-secondary-fixed: var(--app-text-primary);--color-on-secondary-fixed-variant: var(--app-text-secondary);--color-tertiary: var(--app-primary);--color-on-tertiary: 14 25 46;--color-tertiary-container: var(--app-primary);--color-on-tertiary-container: 31 20 12;--color-tertiary-fixed: var(--app-surface-2);--color-tertiary-fixed-dim: var(--app-surface-2);--color-on-tertiary-fixed: var(--app-text-primary);--color-on-tertiary-fixed-variant: var(--app-primary-hover);--color-error: 255 183 176;--color-on-error: 95 24 24;--color-error-container: 123 39 39;--color-on-error-container: 255 225 220;--color-background: var(--app-background);--color-on-background: var(--app-text-primary);--color-surface: var(--app-surface);--color-on-surface: var(--app-text-primary);--color-surface-variant: var(--app-surface-2);--color-on-surface-variant: var(--app-text-muted);--color-outline: var(--app-text-muted);--color-outline-variant: var(--app-border);--color-surface-dim: var(--app-background);--color-surface-bright: 24 45 72;--color-surface-container-lowest: var(--app-surface);--color-surface-container-low: var(--app-surface-2);--color-surface-container: var(--app-surface-2);--color-surface-container-high: 24 45 72;--color-surface-container-highest: 29 52 82;--color-inverse-surface: 227 226 230;--color-inverse-on-surface: 47 48 51;--color-inverse-primary: var(--app-primary);--color-surface-tint: var(--app-primary)}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;color:currentColor;vertical-align:middle}.material-symbols-outlined.fill-icon{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@page{size:A4;margin:16mm 14mm}@media print{.sidenav,.topbar,.no-print{display:none!important}.app-content-shell{margin-left:0!important}.page{margin:0!important;padding:14mm 12mm!important}html,body,.card,.badge,.avatar-circle,.stat-card{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.card,.stat-card{box-shadow:none!important}.print-section,.card{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}.material-symbols-outlined{display:none!important}.stat-card{padding:12px!important}.stat-card strong{font-size:24px!important}}.placeholder\:text-outline::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.placeholder\:text-outline::placeholder{--tw-text-opacity: 1;color:rgb(var(--color-outline) / var(--tw-text-opacity, 1))}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;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))}.hover\:border-primary:hover{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1))}.hover\:border-primary\/50:hover{border-color:rgb(var(--color-primary) / .5)}.hover\:bg-error-container:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-error-container) / var(--tw-bg-opacity, 1))}.hover\:bg-surface-container-low:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1))}.hover\:bg-surface-container-lowest:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1))}.hover\:text-error:hover{--tw-text-opacity: 1;color:rgb(var(--color-error) / var(--tw-text-opacity, 1))}.hover\:text-primary:hover{--tw-text-opacity: 1;color:rgb(var(--color-primary) / var(--tw-text-opacity, 1))}.hover\:shadow-\[0_14px_28px_-18px_rgba\(15\,23\,42\,0\.35\)\]:hover{--tw-shadow: 0 14px 28px -18px rgba(15,23,42,.35);--tw-shadow-colored: 0 14px 28px -18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-primary:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-primary) / var(--tw-border-opacity, 1))}.focus\:bg-surface:focus{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1))}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-primary) / var(--tw-ring-opacity, 1))}.focus\:ring-primary\/30:focus{--tw-ring-color: rgb(var(--color-primary) / .3)}.group:hover .group-hover\:bg-primary-container\/10{background-color:rgb(var(--color-primary-container) / .1)}.group:hover .group-hover\:opacity-100{opacity:1}.peer:checked~.peer-checked\:translate-x-5{--tw-translate-x: 1.25rem;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))}.peer:checked~.peer-checked\:bg-primary{--tw-bg-opacity: 1;background-color:rgb(var(--color-primary) / var(--tw-bg-opacity, 1))}@media(min-width:640px){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:table-cell{display:table-cell}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}}@media(min-width:768px){.md\:ml-\[240px\]{margin-left:240px}.md\:hidden{display:none}.md\:translate-x-0{--tw-translate-x: 0px;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))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:p-container-padding{padding:24px}.md\:pl-\[264px\]{padding-left:264px}.md\:pr-8{padding-right:2rem}.md\:text-headline-lg{font-size:32px;line-height:1.2;letter-spacing:-.02em;font-weight:600}}@media(min-width:1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-9{grid-column:span 9 / span 9}.lg\:w-56{width:14rem}.lg\:w-\[520px\]{width:520px}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-nowrap{flex-wrap:nowrap}}@media(min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{.print\:flex{display:flex}.print\:h-14{height:3.5rem}.print\:w-14{width:3.5rem}.print\:break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}.print\:items-end{align-items:flex-end}.print\:justify-between{justify-content:space-between}.print\:text-base{font-size:1rem;line-height:1.5rem}}
