/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */
.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0, decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9, decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{text-align:inherit;direction:rtl}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{vertical-align:middle;display:inline-block}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1px}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:1;margin-top:-1px;display:block;top:100%}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid #0000;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Save";border-right:0;padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}:root{--font-scale:1;--font-size-root:calc(100% * var(--font-scale));--font-family-ui:"Helvetica Neue", Helvetica, Arial, "Segoe UI", sans-serif;--font-family-heading:var(--font-family-ui);--font-family-numeric:var(--font-family-ui);--font-numeric:tabular-nums;--font-size-caption:.6875rem;--font-size-small:.75rem;--font-size-label:var(--font-size-small);--font-size-body:.875rem;--font-size-control:var(--font-size-body);--font-size-subtitle:1rem;--font-size-heading:1.125rem;--font-size-title:1.25rem;--font-size-page-title:1.75rem;--font-size-page-title-compact:var(--font-size-heading);--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-heavy:800;--line-height-none:0;--line-height-icon:1;--line-height-heading:1.2;--line-height-compact:1.35;--line-height-body:1.5;--line-height-relaxed:1.6;--letter-spacing-tight:-.02em;--letter-spacing-normal:0;--letter-spacing-label:.015em;--letter-spacing-caps:.04em;--letter-spacing-brand:.14em;--rich-text-small:max(var(--font-size-caption), .85em);--rich-text-normal:1em;--rich-text-medium:1.15em;--rich-text-large:1.4em;--rich-text-huge:1.75em;--rich-text-heading-1:2em;--rich-text-heading-2:1.5em;--rich-text-heading-3:1.17em;--rich-text-heading-4:1em;--rich-text-heading-5:max(var(--font-size-caption), .83em);--rich-text-heading-6:max(var(--font-size-caption), .67em);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-page:#f1f5f9;--surface-sidebar:#fff;--surface-card:#fff;--surface-subtle:#fafcfd;--surface-inset:#fbfdfe;--surface-field:#f8fbfd;--surface-control:#f5f9fc;--surface-key:#eef3f7;--surface-button:#fff;--surface-button-on-tint:#fff;--base-border:#e3eaf1;--base-border-subtle:#eef2f6;--base-border-control:#dce6ee;--base-border-strong:#dde8f0;--base-border-dashed:#c9d6e0;--base-text:#16232e;--base-text-secondary:#33475b;--base-text-body-muted:#41586c;--base-text-muted:#566a7d;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23566a7d' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' d='m2.5 4.5 3.5 3.5 3.5-3.5'/%3E%3C/svg%3E");--base-text-label:#5d7184;--base-text-caption:#5f7184;--base-text-faint:#607285;--base-text-ghost:#b0bfca;--text-strike:#c4d2dd;--contrast:0;--contrast-up:max(var(--contrast), 0);--contrast-down:max(-1 * var(--contrast), 0);--contrast-up-text:calc(var(--contrast-up) * 70%);--contrast-up-line:calc(var(--contrast-up) * 60%);--contrast-up-fill:calc(var(--contrast-up) * 30%);--contrast-down-text:calc(var(--contrast-down) * 50%);--contrast-down-quiet:calc(var(--contrast-down) * 35%);--contrast-down-line:calc(var(--contrast-down) * 50%);--contrast-down-fill:calc(var(--contrast-down) * 45%);--text:color-mix(in oklab, var(--base-text), var(--base-text-muted) var(--contrast-down-text));--text-secondary:color-mix(in oklab, color-mix(in oklab, var(--base-text-secondary), var(--base-text) var(--contrast-up-text)), var(--surface-card) var(--contrast-down-quiet));--text-body-muted:color-mix(in oklab, color-mix(in oklab, var(--base-text-body-muted), var(--base-text) var(--contrast-up-text)), var(--surface-card) var(--contrast-down-quiet));--text-muted:color-mix(in oklab, color-mix(in oklab, var(--base-text-muted), var(--base-text) var(--contrast-up-text)), var(--surface-card) var(--contrast-down-quiet));--text-label:color-mix(in oklab, color-mix(in oklab, var(--base-text-label), var(--base-text) var(--contrast-up-text)), var(--surface-card) var(--contrast-down-quiet));--text-caption:color-mix(in oklab, color-mix(in oklab, var(--base-text-caption), var(--base-text) var(--contrast-up-text)), var(--surface-card) var(--contrast-down-quiet));--text-faint:color-mix(in oklab, color-mix(in oklab, var(--base-text-faint), var(--base-text) var(--contrast-up-text)), var(--surface-card) var(--contrast-down-quiet));--text-ghost:color-mix(in oklab, color-mix(in oklab, var(--base-text-ghost), var(--base-text-muted) var(--contrast-up-text)), var(--surface-card) var(--contrast-down-quiet));--border:color-mix(in oklab, color-mix(in oklab, var(--base-border), var(--base-text-muted) var(--contrast-up-line)), var(--surface-card) var(--contrast-down-line));--border-subtle:color-mix(in oklab, color-mix(in oklab, var(--base-border-subtle), var(--base-text-muted) var(--contrast-up-line)), var(--surface-card) var(--contrast-down-line));--border-control:color-mix(in oklab, color-mix(in oklab, var(--base-border-control), var(--base-text-muted) var(--contrast-up-line)), var(--surface-card) var(--contrast-down-line));--border-strong:color-mix(in oklab, color-mix(in oklab, var(--base-border-strong), var(--base-text-muted) var(--contrast-up-line)), var(--surface-card) var(--contrast-down-line));--border-dashed:color-mix(in oklab, color-mix(in oklab, var(--base-border-dashed), var(--base-text-muted) var(--contrast-up-line)), var(--surface-card) var(--contrast-down-line));--button-primary-bg:color-mix(in oklab, color-mix(in oklab, var(--base-button-primary-bg), black var(--contrast-up-fill)), var(--surface-card) var(--contrast-down-fill));--button-primary-hover:color-mix(in oklab, color-mix(in oklab, var(--base-button-primary-hover), black var(--contrast-up-fill)), var(--surface-card) var(--contrast-down-fill));--accent:#00adef;--accent-hover:#0090c7;--base-button-primary-bg:#0079aa;--base-button-primary-hover:#0a6e96;--button-primary-fg:#fff;--button-focus-ring:#0a6e96;--accent-text:#0089be;--accent-text-strong:#0a6e96;--accent-text-deep:#0a3f55;--accent-tint:#eff9fe;--accent-tint-strong:#f0fafe;--accent-border:#d6eefa;--accent-border-strong:#b9e3f6;--accent-selection:#cbeefb;--pink:#ef00be;--pink-text:#b8006e;--pink-tint:#fde9f3;--pink-border:#f6c6df;--ok-text:#1b7a55;--ok-tint:#e8f5ee;--ok-border:#dcede4;--warn-text:#96601a;--warn-tint:#fdf3e0;--warn-border:#f2e0be;--danger:#bc3427;--danger-text:#a4453d;--danger-tint:#fee7e2;--danger-border:#efc7c3;--indigo-text:#3157d5;--indigo-tint:#dce4ff;--indigo-border:#91a5e9;--violet-text:#7c5bd1;--violet-tint:#eee8ff;--violet-border:#e8e0fa;--tone-violet-tint:#eee8ff;--tone-violet-text:#7255c8;--tone-blue-tint:#dceaff;--tone-blue-text:#37649b;--tone-coral-tint:#fee0d8;--tone-coral-text:#a65445;--tone-amber-tint:#faebc7;--tone-amber-text:#8d6d21;--tone-mint-tint:#d9f1e9;--tone-mint-text:#27745e;--tone-green-tint:#e7f7d8;--tone-green-text:#568529;--tone-pink-tint:#f7e4f8;--tone-pink-text:#96509d;--tone-cyan-tint:#dff8f4;--tone-cyan-text:#27847a;--logo-bird:#01adef;--logo-title:#c40e7a;--logo-city:#17327f;--scrollbar:#a9cdd7;--shadow-card:0 1px 2px #16232e0a;--shadow-raised:0 12px 34px #0b162052}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:#131b23;--surface-sidebar:#171f27;--surface-card:#1b242e;--surface-subtle:#1d262f;--surface-inset:#1f2932;--surface-field:#182028;--surface-control:#222c36;--surface-key:#242f39;--surface-button:#232d38;--surface-button-on-tint:#1e3a48;--base-border:#2a3540;--base-border-subtle:#232e38;--base-border-control:#2e3a46;--base-border-strong:#2f3e4c;--base-border-dashed:#3a4854;--base-text:#cbd6df;--base-text-secondary:#b2bfca;--base-text-body-muted:#9daab6;--base-text-muted:#8a97a3;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%238a97a3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' d='m2.5 4.5 3.5 3.5 3.5-3.5'/%3E%3C/svg%3E");--base-text-label:#87949f;--base-text-caption:#87949f;--base-text-faint:#8996a2;--base-text-ghost:#5e6b76;--text-strike:#3d4c58;--accent:#1290be;--accent-hover:#1298ce;--base-button-primary-bg:#0f7ea8;--base-button-primary-hover:#0c6d92;--button-focus-ring:#5fb6d6;--accent-text:#4fadd1;--accent-text-strong:#5fb6d6;--accent-text-deep:#a8d8ec;--accent-tint:#17313d;--accent-tint-strong:#16303c;--accent-border:#1e4557;--accent-border-strong:#1e4557;--accent-selection:#1b4256;--pink:#c8377f;--pink-text:#e77bae;--pink-tint:#341625;--pink-border:#4e2438;--ok-text:#56be91;--ok-tint:#1a2e26;--ok-border:#233b31;--warn-text:#c99f55;--warn-tint:#2e2716;--warn-border:#423824;--danger:#d4614f;--danger-text:#e08a7e;--danger-tint:#35191a;--danger-border:#4d2723;--indigo-text:#8fa4ec;--indigo-tint:#1b2440;--indigo-border:#33406b;--violet-text:#b09ce8;--violet-tint:#241f38;--violet-border:#3a3252;--tone-violet-tint:#241f38;--tone-violet-text:#b09ce8;--tone-blue-tint:#1b2440;--tone-blue-text:#8fa4ec;--tone-coral-tint:#35191a;--tone-coral-text:#e08a7e;--tone-amber-tint:#2e2716;--tone-amber-text:#c99f55;--tone-mint-tint:#1a2e26;--tone-mint-text:#56be91;--tone-green-tint:#22301a;--tone-green-text:#9ec97a;--tone-pink-tint:#331c34;--tone-pink-text:#d59adb;--tone-cyan-tint:#16302e;--tone-cyan-text:#57bfb2;--logo-bird:#01adef;--logo-title:#ea60b2;--logo-city:#8ba2e3;--scrollbar:#34434d;--shadow-card:0 1px 2px #0000004d;--shadow-raised:0 12px 34px #0000008c}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:#131b23;--surface-sidebar:#171f27;--surface-card:#1b242e;--surface-subtle:#1d262f;--surface-inset:#1f2932;--surface-field:#182028;--surface-control:#222c36;--surface-key:#242f39;--surface-button:#232d38;--surface-button-on-tint:#1e3a48;--base-border:#2a3540;--base-border-subtle:#232e38;--base-border-control:#2e3a46;--base-border-strong:#2f3e4c;--base-border-dashed:#3a4854;--base-text:#cbd6df;--base-text-secondary:#b2bfca;--base-text-body-muted:#9daab6;--base-text-muted:#8a97a3;--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%238a97a3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.6' d='m2.5 4.5 3.5 3.5 3.5-3.5'/%3E%3C/svg%3E");--base-text-label:#87949f;--base-text-caption:#87949f;--base-text-faint:#8996a2;--base-text-ghost:#5e6b76;--text-strike:#3d4c58;--accent:#1290be;--accent-hover:#1298ce;--base-button-primary-bg:#0f7ea8;--base-button-primary-hover:#0c6d92;--button-focus-ring:#5fb6d6;--accent-text:#4fadd1;--accent-text-strong:#5fb6d6;--accent-text-deep:#a8d8ec;--accent-tint:#17313d;--accent-tint-strong:#16303c;--accent-border:#1e4557;--accent-border-strong:#1e4557;--accent-selection:#1b4256;--pink:#c8377f;--pink-text:#e77bae;--pink-tint:#341625;--pink-border:#4e2438;--ok-text:#56be91;--ok-tint:#1a2e26;--ok-border:#233b31;--warn-text:#c99f55;--warn-tint:#2e2716;--warn-border:#423824;--danger:#d4614f;--danger-text:#e08a7e;--danger-tint:#35191a;--danger-border:#4d2723;--indigo-text:#8fa4ec;--indigo-tint:#1b2440;--indigo-border:#33406b;--violet-text:#b09ce8;--violet-tint:#241f38;--violet-border:#3a3252;--tone-violet-tint:#241f38;--tone-violet-text:#b09ce8;--tone-blue-tint:#1b2440;--tone-blue-text:#8fa4ec;--tone-coral-tint:#35191a;--tone-coral-text:#e08a7e;--tone-amber-tint:#2e2716;--tone-amber-text:#c99f55;--tone-mint-tint:#1a2e26;--tone-mint-text:#56be91;--tone-green-tint:#22301a;--tone-green-text:#9ec97a;--tone-pink-tint:#331c34;--tone-pink-text:#d59adb;--tone-cyan-tint:#16302e;--tone-cyan-text:#57bfb2;--logo-bird:#01adef;--logo-title:#ea60b2;--logo-city:#8ba2e3;--scrollbar:#34434d;--shadow-card:0 1px 2px #0000004d;--shadow-raised:0 12px 34px #0000008c}::selection{background:var(--accent-selection)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!fixed{position:fixed!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.\!end{inset-inline-end:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-nowrap{text-wrap:nowrap}.break-all{word-break:break-all}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[no-new-privileges\:true\]{no-new-privileges:true}}:root{--ink:var(--text);--muted:var(--text-muted);--line:var(--border);--blue:var(--accent);--canvas:var(--surface-page);--brand-cyan:var(--accent);--brand-cyan-dark:var(--accent-text-strong);--brand-pink:var(--pink);--brand-violet:var(--violet-text);--ui-radius:6px;--ui-radius-subtle:4px}*{box-sizing:border-box}html{font-size:var(--font-size-root)}html,body{background:var(--canvas);width:100%;height:100%;color:var(--ink);margin:0;overflow:hidden}body{font-family:var(--font-family-ui);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}h1,.welcome-card h2,.modal>header h2,.profile-person h2,.panel>header h3{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold)}button,input,select,textarea{font:inherit}select:not([multiple]),.family-picker-value{-webkit-appearance:none;appearance:none;background-image:var(--select-chevron)!important;background-position:right 12px center!important;background-repeat:no-repeat!important;background-size:12px 12px!important;padding-right:34px!important}button{color:inherit}.app-shell{grid-template-columns:var(--sidebar-width,238px) minmax(0, 1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}.sidebar{background:var(--surface-card);border-right:1px solid var(--line);flex-direction:column;height:100vh;padding:28px 20px 22px;display:flex;position:sticky;top:0}.brand{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:100%;min-height:94px;padding:0;display:flex}.brand-logo{object-fit:contain;width:112px;height:112px;display:block}.school-year{margin:22px 8px 14px}.school-year>span{color:var(--text-faint);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:var(--letter-spacing-label);margin-bottom:8px;display:block}.school-year select{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-control);width:100%;height:auto;color:var(--ink);cursor:pointer;font-weight:var(--font-weight-semibold);outline:0;min-height:42px;padding:8px 34px 8px 12px}.school-year select:focus{border-color:var(--indigo-border);box-shadow:0 0 0 3px #3157d514}.school-year b{color:var(--muted)}nav{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:1;align-content:start;gap:2px;min-height:0;display:grid;overflow-y:auto}.nav-item{border-radius:var(--ui-radius);text-align:left;width:100%;height:auto;color:var(--text-muted);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-control);overflow-wrap:anywhere;background:0 0;border:0;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;column-gap:11px;min-height:40px;padding:8px 11px;transition:all .16s;display:grid}.nav-item.active{background:var(--border);color:var(--blue)}.nav-icon{border-radius:var(--ui-radius);background:var(--border-subtle);width:26px;height:26px;font-size:var(--font-size-body);font-weight:var(--font-weight-heavy);place-items:center;display:grid}.nav-icon svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.nav-item.active .nav-icon{background:var(--indigo-tint)}.nav-item small{border-radius:var(--ui-radius);background:var(--indigo-tint);font-size:var(--font-size-small);padding:3px 7px}.sidebar-footer{border-top:1px solid var(--line);flex:none;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:16px 8px 0;display:grid}.user-avatar{background:var(--danger-tint);width:36px;height:36px;color:var(--tone-coral-text);font-size:var(--font-size-small);font-weight:var(--font-weight-heavy);border-radius:50%;place-items:center;display:grid}.sidebar-footer>div:not(.user-avatar,.sidebar-footer-actions){min-width:0}.sidebar-footer strong,.sidebar-footer span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-footer strong{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.sidebar-footer span{color:var(--muted);font-size:var(--font-size-small);margin-top:3px}.sidebar-footer-actions{gap:2px;display:flex}.sidebar-footer button{border-radius:var(--ui-radius);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.sidebar-footer button:hover{background:var(--indigo-tint);color:var(--ink)}.sidebar-footer button svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.sidebar-role{gap:8px;display:grid}.sidebar-role>label{gap:4px;display:grid}.sidebar-role>label>span{color:var(--text-faint);font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps)}.sidebar-role select{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-field);width:100%;height:30px;color:var(--text-body);font-size:var(--font-size-control);padding:0 8px}.sidebar-role-groups summary{color:var(--text-muted);font-size:var(--font-size-small);cursor:pointer}.sidebar-role-groups p{color:var(--text-faint);font-size:var(--font-size-caption);margin:6px 0 0}.sidebar-role-groups ul{max-height:180px;margin:6px 0 0;padding:0;list-style:none;overflow:auto}.sidebar-role-groups li label{color:var(--text-body);font-size:var(--font-size-small);align-items:center;gap:6px;padding:3px 0;display:flex}.sidebar-role-actions{gap:6px;margin-top:6px;display:flex}.sidebar-version{color:var(--text-faint);font-size:var(--font-size-caption);line-height:var(--line-height-compact);text-align:center;opacity:.72;flex:none;margin:10px 8px 0}.workspace{min-width:0;height:100dvh;padding:31px 36px 38px;overflow:auto}.workspace-students{flex-direction:column;min-height:0;display:flex;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px;display:flex}.topbar>div:first-child,.top-actions{min-width:0}.eyebrow{color:var(--text-faint);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:var(--letter-spacing-label);margin:0 0 5px}h1{font-size:var(--font-size-page-title);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-tight);margin:0}.top-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.mobile-year-picker{display:none}.mobile-year-picker select{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);max-width:190px;height:42px;color:var(--ink);outline:0;padding:0 32px 0 11px}.sidebar-settings{z-index:1400;border:1px solid var(--border-control);background:var(--surface-card);width:260px;max-height:calc(100dvh - 16px);box-shadow:var(--shadow-raised);border-radius:10px;gap:14px;padding:14px;display:grid;position:fixed;overflow-y:auto}.sidebar-settings h3{color:var(--text-faint);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);margin:0 0 6px}:root.theme-transition::view-transition-old(root){animation-duration:.45s;animation-timing-function:ease}:root.theme-transition::view-transition-new(root){animation-duration:.45s;animation-timing-function:ease}.theme-toggle{border:1px solid var(--border-control);background:var(--surface-control);border-radius:10px;gap:3px;padding:3px;display:flex}.theme-toggle button{color:var(--text-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 8px;display:flex}.theme-toggle button.active{background:var(--surface-button);color:var(--text);box-shadow:var(--shadow-card)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.display-slider{grid-template-columns:minmax(0,1fr) 6.5em;align-items:center;gap:10px;display:grid}.display-slider input{width:100%;min-width:0;accent-color:var(--accent);cursor:pointer;margin:0}.display-slider output{color:var(--text-muted);font-size:var(--font-size-small);font-variant-numeric:var(--font-numeric);text-align:right}.language-toggle{border:1px solid var(--border-control);background:var(--surface-control);border-radius:10px;flex:none;gap:3px;padding:3px;display:flex}.language-toggle button{color:var(--text-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;padding:6px 8px}.language-toggle button.active{background:var(--surface-button);color:var(--text);box-shadow:var(--shadow-card)}.language-toggle.login-language{width:max-content;margin:16px auto 0}.language-toggle.login-language button{flex:none;min-width:44px}.session-checking{background:var(--surface-page);width:100%;height:100dvh}.login-screen{background:var(--surface-page);place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{border:1px solid var(--border);background:var(--surface-card);width:100%;max-width:360px;box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;gap:14px;padding:28px 26px 24px;display:flex}.login-brand{flex-direction:column;gap:3px;margin-bottom:2px;display:flex}.login-brand strong{color:var(--accent);font-size:var(--font-size-heading);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-brand);line-height:var(--line-height-icon)}.login-brand span{color:var(--pink);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-brand)}.login-card h1{font-size:var(--font-size-title);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);margin:0 0 4px}.login-card label{flex-direction:column;gap:5px;display:flex}.login-card label span{color:var(--text-label);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.login-card input{border:1px solid var(--border-control);background:var(--surface-field);min-height:40px;color:var(--ink);font-size:var(--font-size-control);border-radius:10px;padding:0 12px}.login-card input:focus{border-color:var(--accent);outline:0}.brand strong{font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-caps)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.stat-icon{border-radius:var(--ui-radius);place-items:center;width:46px;height:46px;display:grid}.stat-icon svg{stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.student-stats-toggle-row{justify-content:flex-end;align-items:center;min-height:32px;margin:-4px 0 8px;display:flex}.student-stats-toggle{height:30px;color:var(--text-label);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);background:0 0;border:0;align-items:center;gap:5px;padding:0 8px;display:inline-flex}:is(.student-stats-toggle:hover,.student-stats-toggle:focus-visible){background:var(--accent-tint);color:var(--brand-cyan-dark);outline:0}.student-stats-toggle svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform .15s}.student-stats-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.content-grid{grid-template-columns:minmax(420px,.85fr) minmax(520px,1.15fr);align-items:start;gap:17px;display:grid}.list-card,.profile-card{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--ui-radius);overflow:hidden;box-shadow:0 4px 16px #27355908}.list-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:72px;padding:14px 16px;display:flex}.search-field{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-field);height:42px;color:var(--text-faint);flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search-field input{min-width:0;color:var(--ink);font-size:var(--font-size-control);background:0 0;border:0;outline:0;flex:1}.search-field input::placeholder{color:var(--text-faint)}.list-heading{background:var(--surface-subtle);min-height:40px;color:var(--text-faint);text-transform:uppercase;grid-template-columns:1.25fr 1fr 78px;align-items:center;gap:12px;padding:0 16px 0 67px;display:grid}.student-list{min-height:356px}.student-row{border:0;border-bottom:1px solid var(--border-subtle);background:var(--surface-card);text-align:left;cursor:pointer;grid-template-columns:39px 1.25fr 1fr 78px;align-items:center;gap:12px;width:100%;min-height:80px;padding:12px 16px;display:grid}.student-row>*{min-width:0}.avatar,.profile-avatar{font-weight:var(--font-weight-heavy);border-radius:50%;place-items:center;display:grid}.avatar{width:39px;height:39px;font-size:var(--font-size-small)}.violet{background:var(--violet-border);color:var(--tone-violet-text)}.blue{background:var(--indigo-tint);color:var(--tone-blue-text)}.coral{background:var(--danger-tint);color:var(--danger-text)}.amber{background:var(--warn-border);color:var(--warn-text)}.student-name strong,.student-name small,.student-program strong,.student-program small{display:block}.student-name strong,.student-program strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact);overflow:hidden}.student-name small,.student-program small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--font-size-small);margin-top:5px;overflow:hidden}.status{border-radius:var(--ui-radius);text-overflow:ellipsis;white-space:nowrap;width:fit-content;max-width:100%;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);padding:5px 8px;overflow:hidden}.status.active{background:var(--ok-tint);color:var(--ok-text)}.status.waiting{background:var(--warn-tint);color:var(--warn-text)}.status.unregistered{background:var(--border-subtle);color:var(--text-label)}.list-footer{min-height:57px;color:var(--muted);font-size:var(--font-size-small);justify-content:space-between;align-items:center;padding:0 16px;display:flex}.list-pager{align-items:center;gap:4px;display:flex}.list-pager>button,.list-pager>b{border-radius:var(--ui-radius);cursor:pointer;width:27px;height:27px;font-size:var(--font-size-caption);background:0 0;border:0;place-items:center;display:grid}.list-pager>b{background:var(--blue);color:var(--surface-card)}.list-pager>button:disabled{opacity:.35}.student-list-loading{min-height:180px;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}.student-loading-spinner{border:3px solid var(--accent-border);border-top-color:var(--brand-cyan);border-radius:50%;flex:none;width:27px;height:27px;animation:.7s linear infinite student-loading-spin}.student-loading-copy{text-align:left;gap:2px;display:grid}.student-loading-copy strong{color:var(--text-secondary);font-size:var(--font-size-small);font-weight:var(--font-weight-bold)}.student-loading-copy small{color:var(--muted);font-size:var(--font-size-caption)}@keyframes student-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.student-loading-spinner{animation-duration:1.5s}}.student-kpi{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.kpi-card{border:1px solid var(--border);background:var(--surface-card);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:3px;padding:13px 15px;display:flex}.kpi-card:hover{border-color:var(--accent-border)}.kpi-card.active{border-color:var(--accent);background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--accent)}.kpi-label{color:var(--text-label);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase}.kpi-value-row{align-items:baseline;gap:8px;display:flex}.kpi-value-row strong{font-size:var(--font-size-title);font-weight:var(--font-weight-bold);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric)}.kpi-value-row small{color:var(--text-caption);font-size:var(--font-size-small)}.kpi-card.ok .kpi-value-row strong{color:var(--ok-text)}.kpi-card.warn .kpi-value-row strong{color:var(--warn-text)}.kpi-card.muted .kpi-value-row strong{color:var(--text-muted)}.student-toolbar{border-bottom:1px solid var(--border-subtle);padding:14px 16px 12px}.student-toolbar-row{align-items:center;gap:8px;display:flex}.student-toolbar .search-field{border-color:var(--border-control);border-radius:10px;min-width:0;height:42px}.student-toolbar .search-field:focus-within{border-color:var(--accent);background:var(--surface-card)}.student-toolbar .search-field input{font-size:var(--font-size-control)}.search-field kbd{border:1px solid var(--border-control);background:var(--surface-key);color:var(--text-faint);font:inherit;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);border-radius:6px;padding:3px 7px}.density-toggle{border:1px solid var(--border-control);background:var(--surface-button);height:42px;color:var(--text-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;border-radius:10px;flex:none;place-items:center;padding:0 12px;display:inline-grid}.density-toggle-icon{width:42px;padding:0}.density-toggle-icon svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.density-toggle:hover{border-color:var(--accent);color:var(--accent-text)}.student-chips{flex-wrap:wrap;gap:6px;margin-top:10px}.student-chip,.student-chip-add,.student-chip-saved,.student-chip-reset{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;border-radius:20px;align-items:center;gap:7px;padding:6px 10px;display:inline-flex}.student-chip{border:1px solid var(--accent-border);background:var(--accent-tint);max-width:100%;color:var(--accent-text-strong);cursor:default;gap:0;padding:0}.student-chips .student-chip-edit{text-overflow:ellipsis;border-radius:20px 0 0 20px;min-width:0;padding:6px 4px 6px 11px;overflow:hidden}.student-chips .student-chip-remove{color:var(--text-faint);font-size:var(--font-size-subtitle);line-height:var(--line-height-icon);border-radius:0 20px 20px 0;padding:6px 10px 6px 6px}.student-chips .student-chip-edit:hover,.student-chips .student-chip-edit[aria-expanded=true]{text-decoration:underline}.student-chips .student-chip-remove:hover{color:var(--danger-text,var(--accent-text-strong))}.student-chip-saved{border:1px solid var(--border-control);color:var(--text-muted);background:0 0}.student-chip-saved:hover,.student-chip-saved.current{border-color:var(--accent);color:var(--accent-text)}.student-chip-saved span{font-size:var(--font-size-caption)}.student-chip-add{border:1px dashed var(--border-dashed);color:var(--text-muted);background:0 0}.student-chip-add:hover,.student-chip-add[aria-expanded=true]{border-color:var(--accent);color:var(--accent-text)}.student-chip-reset{color:var(--text-muted);background:0 0;border:0;text-decoration:underline}.student-found{color:var(--text-faint);font-size:var(--font-size-small);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);white-space:nowrap;margin-left:auto}.list-heading.has-selection{background:var(--accent-tint-strong)}.student-selection-bar{min-width:0;color:var(--accent-text-strong);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);text-transform:none;grid-column:2/-1;align-items:center;gap:10px;display:flex}.student-selection-bar>span{flex:1}.student-selection-bar>*{white-space:nowrap}.student-selection-bar strong{text-overflow:ellipsis;min-width:0;overflow:hidden}.list-card{--student-columns:1.25fr 1fr 118px;--student-gap:12px}.list-heading{grid-template-columns:15px var(--student-columns);gap:var(--student-gap);min-height:40px;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);padding:0 16px}.student-row{align-items:center;gap:var(--student-gap);border-bottom:1px solid var(--border-subtle);background:var(--surface-card);min-height:0;padding:0 16px;display:flex}.student-row:hover,.student-row.selected{background:var(--surface-control)}.student-row.selected{box-shadow:inset 3px 0 0 var(--blue)}.student-row-check{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex:none}.student-row-open{background:inherit;grid-template-columns:var(--student-columns);align-items:center;gap:var(--student-gap);text-align:left;cursor:pointer;border:0;flex:1;min-width:0;min-height:80px;padding:12px 0;display:grid}.student-row-open>*{min-width:0}.list-card.dense .student-row-open{min-height:46px;padding:6px 0}.list-card.dense .student-name small,.list-card.dense .student-program small{display:none}.student-list-footer{flex-wrap:wrap;gap:12px}.student-list-footer>.form-validation-message{flex-basis:100%;margin:0}.student-list-footer>.split-button{margin-left:auto}.student-list-more{color:var(--muted);font-size:var(--font-size-small);text-align:center;margin:0;padding:14px}.student-list-sentinel{height:1px}.workspace-students .student-list{overflow-x:auto}.list-heading,.student-row{min-width:var(--student-row-min,0)}.list-heading{z-index:2;position:sticky;top:0}.list-heading.has-selection{grid-template-columns:15px minmax(0,1fr);min-width:0;left:0}.student-row-pin,.list-heading-pin{z-index:1;margin:0 calc(-1 * var(--student-gap)) 0 -16px;padding:0 var(--student-gap) 0 16px;background:inherit;align-self:stretch;align-items:center;display:flex;position:sticky;left:0}.student-row-pin{box-shadow:inherit}.student-pinned{z-index:1;left:calc(16px + 15px + var(--student-gap));margin-right:calc(-1 * var(--student-gap));padding-right:var(--student-gap);align-self:stretch;align-items:center;gap:var(--student-gap);background:inherit;display:flex;position:sticky}.student-pinned>.student-name{flex:1;min-width:0}.list-heading .student-pinned{z-index:2;padding-left:calc(39px + var(--student-gap));position:sticky}.list-heading .student-pinned .student-column-resizer{right:calc(var(--student-gap) / 2 - 5px)}.list-card[data-student-unpinned] .student-pinned{position:static}.student-column-head{align-self:stretch;align-items:center;min-width:0;display:flex;position:relative}.student-column-sort{min-width:0;max-width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.student-column-sort>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-column-sort:hover,.student-column-head[aria-sort] .student-column-sort{color:var(--ink)}.student-column-sort b{width:1.1em;color:var(--accent-text);white-space:nowrap;flex:none;transform:translateY(-2px)}.student-column-sort small{font-size:var(--font-size-caption)}.student-column-ghost,.student-column-drop{z-index:5;pointer-events:none;position:absolute;top:0;left:0}.student-column-ghost{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);opacity:.94;overflow:hidden;box-shadow:0 12px 32px #27355933}.student-column-ghost .list-heading{min-width:0;padding:0 calc(var(--student-gap) / 2);grid-template-columns:100%;position:relative}.student-column-ghost .student-row{min-width:0;padding:0 calc(var(--student-gap) / 2);box-shadow:none;content-visibility:visible;position:absolute;left:0;right:0}.student-column-ghost .student-row-open{grid-template-columns:100%}.student-column-ghost .student-column-resizer{display:none}.student-column-drop{background:var(--brand-cyan);border-radius:1px;width:2px}body.column-dragging,body.column-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.student-column-resizer{z-index:1;top:0;right:calc(var(--student-gap) / -2 - 5px);cursor:col-resize;touch-action:none;background:0 0;border:0;width:10px;height:100%;padding:0;position:absolute}.student-column-resizer:after{content:"";background:var(--border-dashed);width:1px;position:absolute;top:9px;bottom:9px;left:4px}.student-column-resizer:hover:after,.student-column-resizer.resizing:after{background:var(--brand-cyan);width:2px}.student-column-resizer:focus-visible:after{background:var(--brand-cyan);width:2px}.student-cell{color:var(--ink);font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-column-panel{width:320px}.student-column-hint{color:var(--muted);font-size:var(--font-size-small);margin:0;padding:8px 14px 4px}.student-column-list{margin:0;padding:4px 0;list-style:none}.student-column-list li{align-items:center;gap:8px;min-height:36px;padding:0 8px 0 14px;display:flex}.student-column-list label{min-width:0;color:var(--ink);font-size:var(--font-size-control);cursor:pointer;flex:1;align-items:center;gap:8px;display:flex}.student-column-list li.hidden-column label{color:var(--muted)}.student-column-list input{accent-color:var(--accent)}.student-column-move{display:flex}.student-column-step{color:var(--text-faint);font-size:var(--font-size-control);cursor:pointer;background:0 0;border:0;padding:4px 8px}.student-column-step:hover:not(:disabled){color:var(--ink)}.student-column-step:disabled{opacity:.35;cursor:default}.student-column-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;padding:8px 14px 10px;display:flex}.anchored-panel{z-index:1400;border:1px solid var(--border-control);background:var(--surface-card);max-width:calc(100vw - 16px);box-shadow:var(--shadow-raised);border-radius:10px;position:fixed;overflow-y:auto}.student-filter-panel{width:300px}.saved-filters-panel{width:320px;padding-bottom:10px}.student-filter-panel-head{z-index:1;border-bottom:1px solid var(--border-subtle);background:var(--surface-card);min-height:40px;font-size:var(--font-size-body);align-items:center;gap:8px;padding:8px 12px;display:flex;position:sticky;top:0}.student-filter-panel-head strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.student-filter-back,.student-filter-clear{color:var(--accent-text);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:2px 4px}.student-filter-back:hover,.student-filter-clear:hover{text-decoration:underline}.student-filter-menu,.student-filter-options,.saved-filters-list{margin:0;padding:4px 0;list-style:none}.student-filter-menu button{width:100%;color:var(--ink);font-size:var(--font-size-control);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 14px;display:flex}:is(.student-filter-menu button:hover,.student-filter-menu button:focus-visible){background:var(--surface-subtle)}.student-filter-menu button span:first-child{flex:1}.student-filter-menu small{color:var(--accent-text);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.student-filter-menu button span:last-child{color:var(--text-faint)}.student-filter-search{border:1px solid var(--border-control);border-radius:var(--ui-radius);background:var(--surface-field);width:calc(100% - 24px);height:32px;color:var(--ink);margin:10px 12px 2px;padding:0 10px}.student-filter-section{color:var(--text-faint);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;padding:10px 14px 4px;display:block}.student-filter-option{font-size:var(--font-size-control);cursor:pointer;align-items:center;gap:10px;padding:6px 14px;display:flex}.student-filter-option:hover{background:var(--surface-subtle)}.student-filter-option input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:0}.student-filter-option span{flex:1;min-width:0}.student-filter-option small{color:var(--text-faint);font-size:var(--font-size-control);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric)}.student-filter-option.empty{color:var(--text-faint)}.student-filter-note{color:var(--text-caption);font-size:var(--font-size-small);margin:0;padding:8px 14px}.saved-filters-list li{align-items:center;display:flex}.saved-filters-list li.current{background:var(--accent-tint)}.saved-filter-apply{min-width:0;color:var(--ink);font-size:var(--font-size-control);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;padding:8px 14px;overflow:hidden}.saved-filter-apply:hover{text-decoration:underline}.saved-filter-outdated{color:var(--warn-text);font-size:var(--font-size-small);text-overflow:ellipsis;display:block;overflow:hidden}.saved-filter-remove{color:var(--text-faint);font-size:var(--font-size-subtitle);cursor:pointer;background:0 0;border:0;padding:6px 12px}.saved-filter-remove:hover{color:var(--ink)}.saved-filters-form{border-top:1px solid var(--border-subtle);align-items:flex-end;gap:8px;padding:8px 14px 0;display:flex}.saved-filters-form label{flex:1;min-width:0}.saved-filters-form label span{color:var(--text-caption);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);margin-bottom:4px;display:block}.saved-filters-form input{border:1px solid var(--border-control);border-radius:var(--ui-radius);background:var(--surface-field);width:100%;height:32px;color:var(--ink);padding:0 10px}.student-name small.student-match{color:var(--accent-text)}.search-scope{height:30px;color:var(--text-faint);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;align-items:center;gap:5px;margin-left:-6px;padding:0 8px;display:inline-flex}.search-scope:hover,.search-scope[aria-expanded=true]{background:var(--surface-subtle);color:var(--text-muted)}.search-scope span:first-child{color:var(--brand-cyan-dark,var(--accent-text));font-size:var(--font-size-subtitle)}.search-scope span:last-child{font-size:var(--font-size-caption)}.search-scope.narrowed{background:var(--accent-tint);color:var(--accent-text-strong)}.search-scope-panel{width:290px}.search-scope-hint{color:var(--text-faint);font-size:var(--font-size-small);font-style:normal;display:block}.list-card.dense .student-name small.student-match{display:block}.search-scope-fuzzy{border-top:1px solid var(--border-subtle);margin-top:2px;padding-top:10px;padding-bottom:10px}.status.contract-sent{background:var(--violet-tint);color:var(--indigo-text)}.status.trial{background:var(--accent-tint);color:var(--accent-text-strong)}.profile-card{position:sticky;top:24px}.profile-actions{border-bottom:1px solid var(--line);min-height:52px;color:var(--muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:var(--letter-spacing-label);justify-content:space-between;align-items:center;padding:0 16px;display:flex}.profile-actions div{gap:4px;display:flex}.profile-actions button{border-radius:var(--ui-radius);background:var(--surface-control);width:29px;height:29px;color:var(--text-caption);cursor:pointer;border:0}.profile-person{align-items:center;gap:13px;padding:21px 20px 17px;display:flex}.profile-avatar{width:48px;height:48px;font-size:var(--font-size-body)}.profile-person h2{margin:0}.profile-person p{color:var(--muted);margin:5px 0 0}.tabs{border-bottom:1px solid var(--line);gap:3px;padding:0 15px;display:flex;overflow-x:auto}.tabs button{min-width:max-content;color:var(--text-faint);cursor:pointer;font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 8px 10px}.tabs button.active{border-bottom-color:var(--blue);color:var(--blue)}.profile-content{min-height:300px;padding:18px 20px}.profile-actions button:disabled{opacity:.45;cursor:not-allowed}.student-card-full{min-width:0}.student-card-heading{padding:15px 18px}.student-card-heading>div{min-width:0}.student-card-heading h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.year-picker{gap:4px;margin-left:auto;display:grid}.year-picker span{color:var(--text-faint);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:var(--letter-spacing-label)}.year-picker select{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-field);min-width:142px;height:34px;color:var(--ink);font-size:var(--font-size-control);padding:0 9px}.student-tabs button{font-size:var(--font-size-control);flex:1;padding-inline:5px}.student-card-full>.profile-content{max-height:calc(100vh - 310px);overflow:auto}.card-loading,.card-error{min-height:520px;color:var(--muted);font-size:var(--font-size-small);place-items:center;display:grid}.card-error,.inline-error{color:var(--danger-text)}.lock-banner{border:1px solid var(--accent-border-strong);border-left:3px solid var(--accent);background:var(--surface-control);grid-template-columns:12px minmax(0,1fr);align-items:start;gap:11px;margin:12px 15px 0;padding:12px 14px;display:grid}.lock-banner>div{gap:3px;min-width:0;display:grid}.lock-banner b{color:var(--text-body-muted);font-size:var(--font-size-small);text-transform:none;letter-spacing:var(--letter-spacing-label)}.lock-banner strong{color:var(--text);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.lock-banner span{color:var(--text-label);font-size:var(--font-size-small);line-height:var(--line-height-body)}.lock-presence-dot{border:2px solid var(--surface-card);background:var(--ok-text);width:10px;height:10px;margin-top:4px;box-shadow:0 0 0 1px #22a47e;border-radius:50%!important}.lock-banner-background .lock-presence-dot{background:var(--violet-text);box-shadow:0 0 0 1px #7c6fd0}.lock-banner-idle .lock-presence-dot{background:var(--warn-text);box-shadow:0 0 0 1px #d5962e}.lock-banner-offline .lock-presence-dot{background:var(--danger-text);box-shadow:0 0 0 1px #c6534b}.lock-banner-floating{z-index:1320;background:var(--surface-card);width:min(520px,100vw - 36px);margin:0;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 38px #00101738}.inline-error{border-radius:var(--ui-radius);background:var(--danger-tint);font-size:var(--font-size-small);white-space:pre-line;overflow-wrap:anywhere;margin:10px 15px 0;padding:9px 11px}.year-registration-banner{border:1px solid var(--border-control);border-radius:var(--ui-radius);background:var(--surface-control);margin:12px 15px 0;padding:11px 13px}.year-registration-banner strong,.year-registration-banner span{display:block}.year-registration-banner strong{color:var(--text-body-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.year-registration-banner span{color:var(--text-label);font-size:var(--font-size-small);line-height:var(--line-height-body);margin-top:4px}.detail-sections{align-content:start;gap:14px;display:grid}.detail-sections>section{border-bottom:1px solid var(--line);padding-bottom:14px}.detail-sections>section:last-child{border:0;padding-bottom:0}.detail-sections h3{color:var(--text-body-muted);font-size:var(--font-size-small);text-transform:none;letter-spacing:var(--letter-spacing-label);font-weight:var(--font-weight-semibold);margin:0 0 11px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;display:grid}.detail-value{min-width:0;padding:7px 0}.detail-value span,.detail-value strong{display:block}.detail-value span,.text-block>span{color:var(--text-faint);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:var(--letter-spacing-label)}.detail-value strong{overflow-wrap:anywhere;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin-top:5px}.text-block{border-radius:var(--ui-radius);background:var(--surface-control);margin-top:10px;padding:11px 12px}.text-block p{color:var(--text-muted);font-size:var(--font-size-body);line-height:var(--line-height-relaxed);white-space:pre-wrap;margin:6px 0 0}.text-block .rich-text-content{color:var(--text-muted);font-size:var(--font-size-body);line-height:var(--line-height-relaxed);overflow-wrap:anywhere;margin-top:6px}.text-block .rich-text-content p{margin:0 0 .45em}.text-block .rich-text-content p:last-child{margin-bottom:0}.text-block .rich-text-content ul,.text-block .rich-text-content ol{margin:.35em 0 .45em;padding-left:1.55em}.text-block .rich-text-content li{margin:.12em 0}.text-block .rich-text-empty{color:var(--text-faint)}.rich-text-content a{color:var(--accent-text);text-decoration:underline}.rich-text-content .rich-text-heading{font-weight:var(--font-weight-bold);line-height:var(--line-height-compact)}.rich-text-content .rich-text-heading[data-header="1"]{font-size:var(--rich-text-heading-1)}.rich-text-content .rich-text-heading[data-header="2"]{font-size:var(--rich-text-heading-2)}.rich-text-content .rich-text-heading[data-header="3"]{font-size:var(--rich-text-heading-3)}.rich-text-content .rich-text-heading[data-header="4"]{font-size:var(--rich-text-heading-4)}.rich-text-content .rich-text-heading[data-header="5"]{font-size:var(--rich-text-heading-5)}.rich-text-content .rich-text-heading[data-header="6"]{font-size:var(--rich-text-heading-6)}.rich-text-content blockquote{border-left:3px solid var(--text-strike);margin:.5em 0;padding:.2em .8em}.rich-text-content .rich-text-table-scroll{max-width:100%;overflow-x:auto}.rich-text-content table{table-layout:fixed;border-collapse:collapse;width:100%;margin:.4em 0}.rich-text-content td{border:1px solid var(--border-dashed);overflow-wrap:anywhere;vertical-align:top;padding:.4em}.rich-text-content .rich-text-checklist{padding-left:0;list-style:none}.rich-text-content .rich-text-checklist li{padding-left:1.5em;position:relative}.rich-text-check{border:1px solid var(--text-secondary);width:.9em;height:.9em;position:absolute;top:.25em;left:0}.rich-text-check[data-checked=true]:after{content:"";border-right:1.5px solid var(--text-secondary);border-bottom:1.5px solid var(--text-secondary);width:.35em;height:.6em;position:absolute;top:.03em;left:.18em;transform:rotate(40deg)}.enrollment-list{gap:7px;display:grid}.enrollment-list article{border:1px solid var(--line);border-radius:var(--ui-radius);padding:9px 11px}.enrollment-list span,.enrollment-list strong,.enrollment-list small{display:block}.enrollment-list span{color:var(--violet-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:var(--letter-spacing-label)}.enrollment-list strong{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin-top:4px}.enrollment-list small{color:var(--muted);font-size:var(--font-size-small);margin-top:4px}.muted-copy{color:var(--muted);font-size:var(--font-size-small);line-height:var(--line-height-body);margin:0}.family-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.family-columns>*{overflow-wrap:anywhere;min-width:0}.rich-text-content .rich-text-list{padding-left:1.5em;list-style:none}.rich-text-list>li{position:relative}.rich-text-list-marker{white-space:nowrap;position:absolute;right:calc(100% + .3em)}.profile-person>div:first-of-type{flex:1;min-width:0}.profile-person h2{font-size:var(--font-size-heading);letter-spacing:var(--letter-spacing-tight)}.profile-person p{color:var(--text-label);font-size:var(--font-size-body);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);text-transform:none;letter-spacing:var(--letter-spacing-normal);margin-top:3px}.profile-person-actions{flex:none;align-items:center;gap:7px;display:flex}.history-controls{justify-content:flex-end;margin-bottom:8px;display:flex}.history-toggle-all{color:var(--brand-cyan-dark);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);cursor:pointer;background:0 0;border:0;padding:2px 0}.history-row{gap:10px;padding-bottom:12px;display:flex}.history-rail{flex-direction:column;flex:none;align-items:center;width:9px;display:flex}.history-timeline-dot{background:var(--line);border-radius:50%;flex:none;width:7px;height:7px;margin-top:5px}.history-timeline-dot.latest{background:var(--brand-cyan)}.history-line{background:var(--line);flex:1;width:1px;margin-top:3px}.history-card{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);flex:1;min-width:0;padding:9px 11px}.history-card.expanded{background:var(--surface-inset);border-color:var(--border-strong)}.history-card-head{align-items:flex-start;gap:8px;display:flex}.history-card-heading{flex:1;min-width:0}.history-card-title{font-size:var(--font-size-body);font-weight:var(--font-weight-bold);line-height:var(--line-height-body)}.history-card-meta{font-size:var(--font-size-small);color:var(--muted);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);margin-top:2px}.history-toggle{border:1px solid var(--border-control);background:var(--surface-card);color:var(--text-secondary);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);border-radius:var(--ui-radius);cursor:pointer;white-space:nowrap;flex:none;padding:4px 8px}.history-toggle:hover{border-color:var(--brand-cyan)}.history-diff{border-top:1px solid var(--border-subtle);flex-direction:column;gap:6px;margin-top:9px;padding-top:9px;display:flex}.history-diff-row{align-items:baseline;gap:8px;display:flex}.history-diff-label{width:118px;font-size:var(--font-size-small);color:var(--muted);line-height:var(--line-height-body);flex:none}.history-diff-values{flex-wrap:wrap;flex:1;align-items:baseline;gap:6px;min-width:0;display:flex}.history-diff-before,.history-diff-after{font-size:var(--font-size-body);white-space:pre-wrap;overflow-wrap:anywhere}.history-diff-before{color:var(--text-faint);text-decoration:line-through;-webkit-text-decoration-color:var(--text-strike);text-decoration-color:var(--text-strike)}.history-diff-arrow{font-size:var(--font-size-small);color:var(--text-ghost)}.history-diff-after{font-weight:var(--font-weight-semibold);color:var(--ink)}.student-audit-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;margin-bottom:12px;display:flex}.student-audit-heading h3{margin:0}.student-audit-heading .section-help{margin:6px 0 0}.student-audit-filter{border:1px solid var(--border-dashed);background:var(--surface-field);flex:none;display:flex}.student-audit-filter button{border:0;border-right:1px solid var(--border-dashed);min-width:94px;height:36px;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);background:0 0;padding:0 11px}.student-audit-filter button:last-child{border-right:0}.student-audit-filter button:hover{background:var(--accent-tint-strong)}.student-audit-filter button.active{background:var(--button-primary-bg);color:var(--button-primary-fg)}.student-audit-filter span{opacity:.78;font-size:var(--font-size-caption);margin-left:6px}.section-help{color:var(--muted);font-size:var(--font-size-small);line-height:var(--line-height-body);margin:3px 0 12px}.audit-manager{gap:16px;display:grid}.audit-toolbar{border:1px solid var(--line);background:var(--surface-card);grid-template-columns:minmax(280px,1.5fr) minmax(170px,.75fr) 150px 150px auto;align-items:end;gap:12px;padding:16px;display:grid}.audit-toolbar label{gap:6px;display:grid}.audit-toolbar label>span{color:var(--muted);font-size:var(--font-size-label);font-weight:var(--font-weight-bold)}.audit-toolbar input,.audit-toolbar select{border:1px solid var(--line);background:var(--surface-card);width:100%;height:42px;color:var(--text);font:inherit;outline:none;padding:0 12px}.audit-toolbar input:focus,.audit-toolbar select:focus{border-color:var(--brand-cyan);box-shadow:0 0 0 2px #00adef1f}.audit-date-presets{border-top:1px solid var(--line);grid-column:1/-1;align-items:center;gap:7px;padding-top:11px;display:flex}.audit-date-presets>span{color:var(--muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);margin-right:3px}.audit-date-presets .audit-reset-filters{margin-left:auto}.audit-summary{border:1px solid var(--line);background:var(--surface-card);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.audit-summary>div{border-right:1px solid var(--line);align-items:baseline;gap:10px;min-height:76px;padding:15px 18px;display:flex}.audit-summary>div:last-child{border-right:0}.audit-summary strong{color:var(--text);font-size:var(--font-size-title)}.audit-summary span{color:var(--muted);font-size:var(--font-size-small)}.audit-table-scroll{border:1px solid var(--line);background:var(--surface-card);overflow-x:auto}.audit-table{--audit-date:150px;--audit-entity:140px;--audit-action:150px;--audit-user:130px;--audit-details:170px;width:100%;min-width:calc(var(--audit-date) + var(--audit-entity) + var(--audit-action) + var(--audit-user) + var(--audit-details))}.audit-table-header,.audit-event-list>button{grid-template-columns:var(--audit-date) var(--audit-entity) var(--audit-action) var(--audit-user) minmax(var(--audit-details), 1fr);display:grid}.audit-table-header{border-bottom:1px solid var(--border-dashed);background:var(--surface-field);min-height:46px;color:var(--text-muted)}.audit-table-header>div{border-right:1px solid var(--border-strong);min-width:0;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);align-items:center;padding:0 16px;display:flex;position:relative}.audit-table-header>div:last-child{border-right:0}.audit-sort-button{height:100%;color:var(--brand-cyan-dark);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);background:0 0;border:0;align-items:center;gap:7px;padding:0;display:flex}.audit-sort-button b{font-size:var(--font-size-subtitle);line-height:var(--line-height-icon)}.audit-column-resizer{z-index:2;cursor:col-resize;touch-action:none;background:0 0;border:0;width:10px;height:100%;padding:0;position:absolute;top:0;right:-5px}.audit-column-resizer:after{content:"";background:var(--border-dashed);width:1px;transition:background-color .12s,width .12s;position:absolute;top:9px;bottom:9px;left:4px}.audit-column-resizer:hover:after{background:var(--brand-cyan);outline:0;width:2px}.audit-column-resizer:focus-visible:after{background:var(--brand-cyan);outline:0;width:2px}.audit-table-header>div:last-child .audit-column-resizer{right:0}.audit-event-list{background:var(--surface-card);border:0}.audit-event-list>button{border:0;border-bottom:1px solid var(--border-subtle);background:var(--surface-card);width:100%;height:44px;color:inherit;text-align:left;cursor:pointer;contain-intrinsic-size:auto 44px;align-items:center;padding:0 16px;transition:background-color .12s,box-shadow .12s}.audit-event-list>button:last-child{border-bottom:0}.audit-event-list>button:hover{box-shadow:inset 3px 0 var(--brand-cyan);background:#00adef0d}.audit-event-list>button>*{min-width:0;font-size:var(--font-size-body);line-height:var(--line-height-body);white-space:nowrap;text-overflow:ellipsis;padding-right:16px;overflow:hidden}.audit-event-list time{color:var(--muted);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric)}.audit-event-list small{color:var(--muted)}.audit-event-list strong{color:var(--ink);font-weight:var(--font-weight-semibold)}.audit-event-kind{color:var(--ink);font-weight:var(--font-weight-regular)}.audit-event-id{color:var(--muted)}.audit-pagination{border:1px solid var(--line);background:var(--surface-card);justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:10px 14px;display:flex}.audit-pagination>span{color:var(--muted);font-size:var(--font-size-small)}.audit-pagination>div{align-items:center;gap:8px;display:flex}.audit-page-size select{border:1px solid var(--border-dashed);background:var(--surface-card);min-width:68px;height:34px;color:var(--text-body-muted);cursor:pointer;font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);outline:0;padding:0 28px 0 10px}.audit-page-size select:focus{border-color:var(--brand-cyan);box-shadow:0 0 0 2px #00adef1f}.audit-pagination strong{background:var(--button-primary-bg);min-width:30px;height:30px;color:var(--button-primary-fg);font-size:var(--font-size-small);place-items:center;display:grid}.audit-pagination>div>span{color:var(--muted);font-size:var(--font-size-caption)}.modal.audit-modal{flex-direction:column;width:min(1100px,100%);display:flex;overflow:hidden}.audit-modal-body{gap:20px;min-height:0;padding:20px 22px 24px;display:grid;overflow:auto}.audit-modal-actions{border-top:1px solid var(--line);background:var(--surface-field);flex:none;justify-content:flex-end;align-items:center;min-height:64px;padding:12px 22px;display:flex}.audit-meta-grid{border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.audit-meta-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-content:center;gap:5px;min-height:76px;padding:13px 15px;display:grid;overflow:hidden}.audit-meta-grid>div:nth-child(4n){border-right:0}.audit-meta-grid>div:nth-last-child(-n+4){border-bottom:0}.audit-meta-grid span{color:var(--muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps)}.audit-meta-grid strong{min-width:0;font-size:var(--font-size-small);overflow-wrap:anywhere}.audit-changes{border:1px solid var(--line)}.audit-changes>header{border-bottom:1px solid var(--line);background:var(--surface-field);padding:13px 15px}.audit-changes>header>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.audit-changes h3{font-size:var(--font-size-body);margin:0}.audit-changes header span{color:var(--muted);font-size:var(--font-size-caption)}.audit-change-table{overflow-x:auto}.audit-change-head,.audit-change-row{grid-template-columns:minmax(190px,.8fr) minmax(240px,1fr) minmax(240px,1fr);min-width:720px;display:grid}.audit-change-head{background:var(--surface-field);color:var(--muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase}.audit-change-head span,.audit-change-row>*{border-right:1px solid var(--line);padding:10px 13px}.audit-change-head span:last-child,.audit-change-row>:last-child{border-right:0}.audit-change-row{border-top:1px solid var(--line)}.audit-change-row strong{font-size:var(--font-size-caption);overflow-wrap:anywhere}.audit-change-row pre{color:var(--text-body-muted);font-size:var(--font-size-body);line-height:var(--line-height-body);font-family:var(--font-family-ui);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.audit-change-row pre:last-child{background:#00adef08}.audit-technical{border:1px solid var(--line)}.audit-technical summary{color:var(--brand-cyan-dark);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);cursor:pointer;padding:13px 15px}.audit-technical dl{border-top:1px solid var(--line);margin:0}.audit-technical dl>div{border-bottom:1px solid var(--line);grid-template-columns:130px minmax(0,1fr);gap:14px;padding:12px 15px;display:grid}.audit-technical dl>div:last-child{border-bottom:0}.audit-technical dt{color:var(--muted);font-size:var(--font-size-label)}.audit-technical dd{min-width:0;font-size:var(--font-size-caption);overflow-wrap:anywhere;margin:0}.audit-technical pre{white-space:pre-wrap;max-height:260px;margin:0;overflow:auto}@keyframes record-focus-flash{0%,28%{background:var(--accent-border);box-shadow:inset 4px 0 var(--brand-cyan)}to{background:var(--surface-card);box-shadow:inset 4px 0 #0000}}.record-focus-flash{animation:2.5s ease-out record-focus-flash}.year-history{gap:10px;display:grid}.year-history-row{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);padding:11px 13px}.year-history-row header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.year-history-row header strong{font-size:var(--font-size-small)}.year-history-row header span{color:var(--muted);font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps)}.year-history-row ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.year-history-row li{gap:2px;display:grid}.year-history-row li b{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.year-history-row small{color:var(--muted);font-size:var(--font-size-caption);display:block}.year-history-row>small{margin-top:8px}.year-history-row .muted-copy{margin:8px 0 0}.profile-content.file-drop-active{outline:2px dashed var(--accent);outline-offset:-4px;background:var(--surface-control)}.file-drop-hint{z-index:1;border:1px dashed var(--accent);border-radius:var(--ui-radius);background:var(--surface-card);color:var(--accent-text-deep);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);text-align:center;pointer-events:none;padding:12px;position:sticky;top:0}.file-drop-hint+.file-toolbar,.file-drop-hint+.file-upload-success{margin-top:12px}.file-upload-success{border:1px solid var(--ok-border);border-radius:var(--ui-radius);background:var(--ok-tint);color:var(--ok-text);font-size:var(--font-size-small);line-height:var(--line-height-body);overflow-wrap:anywhere;gap:4px;padding:10px 12px;display:grid}.file-upload-success+.file-toolbar{margin-top:12px}.file-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.file-toolbar strong,.file-toolbar span{display:block}.file-toolbar strong{font-size:var(--font-size-small)}.file-toolbar span{color:var(--muted);font-size:var(--font-size-caption);margin-top:4px}.file-toolbar>label{border:1px solid var(--indigo-tint);border-radius:var(--ui-radius);background:var(--border);height:34px;color:var(--accent-text-strong);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-bold);align-items:center;padding:0 11px;display:flex}.file-toolbar>label.disabled{opacity:.45;cursor:not-allowed}.file-toolbar input{display:none}.file-row{border:1px solid var(--line);border-radius:var(--ui-radius);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:10px;padding:10px;display:grid}.file-row>span{border-radius:var(--ui-radius);background:var(--border);width:32px;height:32px;color:var(--blue);font-size:var(--font-size-caption);font-weight:var(--font-weight-heavy);place-items:center;display:grid}.file-row strong,.file-row small{display:block}.file-row strong{font-size:var(--font-size-body);overflow-wrap:anywhere}.file-row small{color:var(--muted);font-size:var(--font-size-caption);margin-top:4px}.file-actions{gap:5px;display:flex}.record-modal{width:min(980px,100%)}.modal.record-modal,.modal.billing-payer-modal{flex-direction:column;display:flex;overflow:hidden}.modal.record-modal>header,.modal.billing-payer-modal>header{flex:none}.modal.record-modal>form,.modal.billing-payer-modal>form{scrollbar-gutter:auto;flex-direction:column;flex:auto;min-height:0;padding:0;display:flex;overflow:hidden}.modal.record-modal .record-form,.modal.billing-payer-modal .record-form{scrollbar-gutter:stable;flex:auto;gap:15px;min-height:0;max-height:none;padding:18px 22px;display:grid;overflow:hidden auto}.modal.record-modal form>footer,.modal.billing-payer-modal form>footer{background:var(--surface-card);flex:none;margin:0;padding:14px 22px 18px}.record-form fieldset{border:1px solid var(--line);border-radius:var(--ui-radius);min-width:0;margin:0;padding:15px}.record-form legend{color:var(--text-body-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;padding:0 7px}.section-toggle{border-radius:var(--ui-radius);max-width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex}:is(.section-toggle:hover,.section-toggle:focus-visible){color:var(--brand-cyan-dark);outline:0}.section-toggle:focus-visible{box-shadow:0 0 0 2px var(--accent)}.section-toggle[aria-disabled=true]{cursor:not-allowed}.section-toggle svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px;transition:transform .15s}.section-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.section-summary{min-width:0;color:var(--text-faint);font-weight:var(--font-weight-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.section-summary:before{content:"· "}.collapsible-section[data-collapsed]>:not(.section-head){display:none}.form-section[data-collapsed]{padding-top:0;padding-bottom:4px}@media (prefers-reduced-motion:no-preference){.form-section[data-animated]{transition:padding .16s}.collapsible-section[data-animated]>:not(.section-head){transition:opacity .16s ease, transform .16s ease, display .16s allow-discrete}.collapsible-section[data-animated][data-collapsed]>:not(.section-head){opacity:0;transform:translateY(-4px)}@starting-style{.collapsible-section[data-animated]:not([data-collapsed])>:not(.section-head){opacity:0;transform:translateY(-4px)}}}.billing-payers-panel .billing-payer-list{gap:8px;margin:0;display:grid}.billing-payers-panel{gap:12px;min-width:0;display:grid}.billing-payers-panel>h3,.billing-payers-panel>h4{margin:0}.billing-payers-panel .contact-card,.billing-payer-modal .contact-card{overflow-wrap:anywhere;min-width:0}.billing-payers-panel .billing-payer-list small{color:var(--text-muted);font-size:var(--font-size-caption)}.billing-payer-modal{resize:none;width:min(560px,100%);min-height:0}.address-fields{grid-column:1/-1;gap:10px;min-width:0;display:grid}.form-grid.address-fields-grid{grid-template-columns:104px minmax(0,1fr) 76px}.address-fields-grid>.record-field:first-child{grid-column:span 2}.address-fields-grid .stable-field-error{width:max-content;min-width:100%;max-width:16rem;right:auto}.address-fields-grid>.record-field:is(:nth-child(2),:nth-child(5)) .stable-field-error{justify-items:end;left:auto;right:0}.address-fields-grid>.record-field:is(:nth-child(2),:nth-child(5)) .stable-field-error>.field-error:before{left:auto;right:12px}.address-search{min-width:0;position:relative}.address-search .record-field{margin:0}.address-search-input{width:100%}.address-options{z-index:1400;border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);max-height:190px;position:fixed;overflow-y:auto;box-shadow:0 12px 28px #00101730}.address-option,.address-option-note{font-size:var(--font-size-small);line-height:var(--line-height-compact);padding:9px 11px}.address-option{cursor:pointer}.address-option:hover,.address-option.selected{background:var(--accent-tint)}.address-attribution{color:var(--text-muted);font-size:var(--font-size-caption);margin-top:4px;display:block}@media (max-width:720px){.address-fields-grid>.record-field:nth-child(4){grid-column:span 2}.address-fields-grid>.record-field:nth-child(5) .stable-field-error{justify-items:start;left:0;right:auto}.address-fields-grid>.record-field:nth-child(5) .stable-field-error>.field-error:before{left:12px;right:auto}}.billing-setup{gap:10px;margin-top:13px;display:grid}.billing-setup .row-actions{margin-top:10px}.billing-setup .billing-rate-periods{color:var(--text-muted);font-size:var(--font-size-small);margin-top:10px}.billing-rate-periods ul{margin:6px 0 0;padding:0;list-style:none}.billing-rate-periods{container-type:inline-size}.billing-rate-periods ul{grid-template-columns:max-content max-content max-content max-content 1fr;column-gap:14px;display:grid}.billing-rate-periods li{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;margin:0;display:grid}.billing-rate-period-dates{color:var(--text-body)}.billing-rate-period-state{justify-self:start}@container (width<=640px){.billing-rate-periods ul{grid-template-columns:max-content max-content 1fr;row-gap:0}.billing-rate-periods li{grid-template-areas:"dates state action""price kind action";row-gap:2px}.billing-rate-period-dates{grid-area:dates}.billing-rate-period-price{grid-area:price}.billing-rate-period-kind{grid-area:kind}.billing-rate-period-state{grid-area:state}}@container (width<=420px){.billing-rate-periods ul{display:block}.billing-rate-periods li{grid-template-columns:max-content minmax(0,1fr) auto;grid-template-areas:"dates dates action""price kind kind""state state state";column-gap:10px}}.billing-rate-periods li.past,.billing-rate-periods li.never{opacity:.7}.record-field{min-width:0;margin-top:11px;display:block}.record-field:first-child{margin-top:0}.text-field-pair{gap:6px;display:grid}.field-error{color:var(--danger-text);font-size:var(--font-size-caption);line-height:var(--line-height-compact);overflow-wrap:anywhere;margin:4px 0 0;display:block}.record-field input[aria-invalid=true]:not(:focus){border-color:var(--danger)}.stable-field{align-content:start;align-self:start;gap:4px;min-width:0;display:grid}.stable-field-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.stable-field-control{min-width:0;display:grid;position:relative}.stable-field-error{z-index:3;pointer-events:none;justify-items:start;gap:4px;display:grid;position:absolute;top:calc(100% - 6px);left:0;right:0}.stable-field-error>.field-error{border-radius:var(--ui-radius);background:var(--danger);color:#fff;max-width:100%;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);opacity:.9;margin:0;padding:4px 9px;position:relative;box-shadow:0 4px 12px #00000040}label[data-typing] .stable-field-error{visibility:hidden}.stable-field-error>.field-error:before{content:"";border:5px solid #0000;border-top:0;border-bottom-color:var(--danger);position:absolute;top:-5px;left:12px}.stable-form .billing-action-body{scrollbar-gutter:stable}.form-grid.parent-name-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media (max-width:720px){.form-grid.parent-name-row{grid-template-columns:minmax(0,1fr)}}.record-field>span:first-child{color:var(--text-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin-bottom:6px;display:block}.field-body{min-width:0;display:block;position:relative}.record-field input,.record-field select,.record-field textarea{border:1px solid var(--border-control);border-radius:var(--ui-radius);background:var(--surface-subtle);width:100%;color:var(--ink);font-size:var(--font-size-control);outline:0}.record-field input,.record-field select{min-height:38px;padding:7px 9px}.record-field textarea{resize:vertical;line-height:var(--line-height-body);padding:9px}.record-field-value{min-height:38px;color:var(--ink);font-size:var(--font-size-body);align-items:center;display:flex}.record-field input:focus,.record-field select:focus,.record-field textarea:focus{border-color:var(--indigo-border);box-shadow:0 0 0 3px #3157d514}.record-field input:disabled,.record-field select:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}.date-input{min-width:0;position:relative}.date-input>.date-input-text{width:100%;padding-right:38px}.date-input-calendar{border-radius:var(--ui-radius);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.date-input-calendar svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.date-input-calendar:hover:not(:disabled){background:var(--accent-tint);color:var(--accent-text)}.date-input-calendar:focus-visible{outline:2px solid var(--button-focus-ring);outline-offset:0}.date-input-calendar:disabled{cursor:not-allowed;opacity:.5}.money-input{min-width:0;position:relative}.money-input>.money-input-text{width:100%;font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);padding-left:48px}.money-input-currency{color:var(--text-muted);pointer-events:none;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:11px}.money-input-text:disabled+.money-input-currency{opacity:.6}.rich-text-editor{border:1px solid var(--border-control);border-radius:var(--ui-radius);background:var(--surface-subtle);min-width:0}.rich-text-editor:focus-within{border-color:var(--indigo-border);box-shadow:0 0 0 3px #3157d514}.rich-text-editor .ql-toolbar.ql-snow{border:0;border-bottom:1px solid var(--border);border-radius:var(--ui-radius) var(--ui-radius) 0 0;background:var(--surface-page);padding:7px;font-family:inherit}.rich-text-editor .ql-toolbar .ql-formats{margin-right:6px}.rich-text-editor .ql-snow .ql-stroke{stroke:var(--text-body-muted)}.rich-text-editor .ql-snow .ql-fill,.rich-text-editor .ql-snow .ql-stroke.ql-fill{fill:var(--text-body-muted)}.rich-text-editor .ql-snow .ql-picker{color:var(--text-body-muted)}.rich-text-editor .ql-snow .ql-picker-options{border-color:var(--border-control);background:var(--surface-card);box-shadow:var(--shadow-raised)}.rich-text-editor .ql-snow button:hover .ql-stroke,.rich-text-editor .ql-snow button:focus .ql-stroke,.rich-text-editor .ql-snow button.ql-active .ql-stroke,.rich-text-editor .ql-snow .ql-picker-label:hover .ql-stroke,.rich-text-editor .ql-snow .ql-picker-label.ql-active .ql-stroke,.rich-text-editor .ql-snow .ql-picker-item:hover .ql-stroke,.rich-text-editor .ql-snow .ql-picker-item.ql-selected .ql-stroke{stroke:var(--accent-text)}.rich-text-editor .ql-snow button:hover .ql-fill,.rich-text-editor .ql-snow button:focus .ql-fill,.rich-text-editor .ql-snow button.ql-active .ql-fill,.rich-text-editor .ql-snow .ql-picker-label:hover .ql-fill,.rich-text-editor .ql-snow .ql-picker-label.ql-active .ql-fill,.rich-text-editor .ql-snow .ql-picker-item:hover .ql-fill,.rich-text-editor .ql-snow .ql-picker-item.ql-selected .ql-fill{fill:var(--accent-text)}.rich-text-editor .ql-snow .ql-picker-label:hover,.rich-text-editor .ql-snow .ql-picker-label.ql-active,.rich-text-editor .ql-snow .ql-picker-item:hover,.rich-text-editor .ql-snow .ql-picker-item.ql-selected{color:var(--accent-text)}.rich-text-editor .ql-toolbar button:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:1px}.rich-text-editor .ql-picker-label:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:1px}.rich-text-editor .ql-toolbar button:disabled,.rich-text-editor[data-in-table=true] .ql-header{opacity:.35;pointer-events:none}.rich-text-editor .ql-snow .ql-picker.ql-header{width:143px}.rich-text-editor .ql-snow .ql-header .ql-picker-label:before,.rich-text-editor .ql-snow .ql-header .ql-picker-item:before{content:"Обычный текст";font-size:var(--font-size-small)}.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Заголовок 1"}.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Заголовок 2"}.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Заголовок 3"}.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Заголовок 4"}.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Заголовок 5"}.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.rich-text-editor .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Заголовок 6"}.rich-text-editor .ql-snow .ql-tooltip:before{content:"Ссылка:"}.rich-text-editor .ql-snow .ql-tooltip[data-mode=link]:before{content:"Адрес:"}.rich-text-editor .ql-snow .ql-tooltip a.ql-action:after{content:"Изменить"}.rich-text-editor .ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Сохранить"}.rich-text-editor .ql-snow .ql-tooltip a.ql-remove:before{content:"Удалить"}.rich-text-tools{border-top:1px solid var(--border);background:var(--surface-control);font-size:var(--font-size-small);padding:8px 10px}.rich-text-history,.rich-text-table-insert{flex-wrap:wrap;align-items:end;gap:7px;display:flex}.rich-text-table-tools{margin-top:8px}.rich-text-table-tools summary{cursor:pointer;width:fit-content;font-weight:var(--font-weight-semibold)}.rich-text-table-insert{padding-top:10px}.rich-text-table-insert label{gap:4px;display:grid}.rich-text-table-insert input{width:76px;height:32px}.rich-text-table-actions{gap:6px;padding-top:10px;display:grid}.rich-text-table-actions label{gap:4px;display:grid}.rich-text-table-actions small{color:var(--muted)}.rich-text-table-actions select{width:100%;max-width:320px}.rich-text-editor .ql-editor table{table-layout:fixed;border-collapse:collapse;width:100%}.rich-text-editor .ql-editor td{border:1px solid var(--border-dashed);overflow-wrap:anywhere;padding:5px}.rich-text-editor .ql-container.ql-snow{font-family:inherit;font-size:var(--font-size-body);border:0}.rich-text-editor .ql-editor{border-radius:0 0 var(--ui-radius) var(--ui-radius);min-height:126px;max-height:320px;color:var(--ink);line-height:var(--line-height-body);overflow-wrap:anywhere;padding:11px 12px}.rich-text-editor .ql-editor.ql-blank:before{color:var(--text-faint);font-style:normal}.rich-text-editor .ql-snow .ql-picker.ql-size{width:132px}.rich-text-editor .ql-snow .ql-picker.ql-size .ql-picker-label:before,.rich-text-editor .ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Обычный";font-size:var(--font-size-small)}.rich-text-editor .ql-snow .ql-picker.ql-size [data-value=small]:before{content:"Мелкий"}.rich-text-editor .ql-snow .ql-picker.ql-size [data-value=medium]:before{content:"Средний"}.rich-text-editor .ql-snow .ql-picker.ql-size [data-value=large]:before{content:"Большой"}.rich-text-editor .ql-snow .ql-picker.ql-size [data-value=huge]:before{content:"Очень большой"}.rich-text-editor .ql-editor .ql-size-small{font-size:var(--rich-text-small)}.rich-text-editor .ql-editor .ql-size-medium{font-size:var(--rich-text-medium)}.rich-text-editor .ql-editor .ql-size-large{font-size:var(--rich-text-large)}.rich-text-editor .ql-editor .ql-size-huge{font-size:var(--rich-text-huge)}.rich-text-status{color:var(--muted);font-size:var(--font-size-small);margin:0;padding:12px}.check-field{width:max-content;max-width:100%;min-height:38px;color:var(--text-body-muted);font-size:var(--font-size-control);line-height:var(--line-height-compact);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.parent-language-field{gap:6px;margin-top:14px;display:grid}.parent-language-field>span{color:var(--text-body-muted);font-size:var(--font-size-label)}.parent-language-field>div{flex-wrap:wrap;gap:6px;display:flex}.parent-language-field label{border:1px solid var(--line);border-radius:var(--ui-radius);min-height:32px;color:var(--text-body-muted);font-size:var(--font-size-control);cursor:pointer;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.parent-language-field label.selected{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-text-strong)}.group-checkboxes{grid-template-columns:1fr 1fr;gap:7px;display:grid}.group-checkboxes>label{border:1px solid var(--line);border-radius:var(--ui-radius);cursor:pointer;grid-template-columns:16px 1fr;align-items:start;gap:8px;min-width:0;padding:9px;display:grid}.group-checkboxes+.groups-from{margin-top:15px}.group-checkboxes input{accent-color:var(--blue);margin-top:2px}.group-checkboxes strong,.group-checkboxes small{display:block}.group-checkboxes strong{font-size:var(--font-size-small)}.group-checkboxes small{color:var(--muted);font-size:var(--font-size-caption);line-height:var(--line-height-compact);margin-top:4px}.family-picker{position:relative}.family-picker-value{border:1px solid var(--border-control);border-radius:var(--ui-radius);background-color:var(--surface-subtle);width:100%;min-height:40px;color:var(--ink);font-size:var(--font-size-control);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;outline:0;padding:7px 10px;display:block;overflow:hidden}.family-picker-value:focus-visible{border-color:var(--indigo-border);box-shadow:0 0 0 3px #3157d514}.family-picker-value:disabled,.family-picker-value[aria-disabled=true]{color:var(--text-muted);cursor:not-allowed;opacity:.6}.family-picker-panel{z-index:20;border:1px solid var(--border-control);background:var(--surface-card);width:100%;min-width:min(260px,100%);box-shadow:var(--shadow-raised);border-radius:10px;padding:8px;position:absolute;top:calc(100% + 4px);left:0}.family-picker-panel>input{border:1px solid var(--border-control);background:var(--surface-field);width:100%;min-height:34px;color:var(--ink);border-radius:8px;padding:0 10px}.family-picker-panel ul{max-height:260px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.family-picker-panel li button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:1px;width:100%;padding:7px 9px;display:flex}.family-picker-panel li button:hover{background:var(--surface-control)}.family-picker-panel li button.chosen{background:var(--accent-tint)}.family-picker-panel li strong{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.family-picker-panel li small{color:var(--text-caption);font-size:var(--font-size-small)}.family-picker-empty{color:var(--text-caption);font-size:var(--font-size-small);margin:10px 4px}.family-picker-create{border:1px dashed var(--border-dashed);width:100%;color:var(--text-muted);font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;background:0 0;border-radius:8px;margin-top:8px;padding:8px 9px}.family-picker-create:hover{border-color:var(--accent);color:var(--accent-text)}.brand{text-align:left;cursor:pointer;color:inherit;background:0 0;border:0}.brand>span:last-child{margin:0}.brand small{color:var(--muted);font-size:var(--font-size-small);font-weight:var(--font-weight-regular);margin-top:2px;display:block}.tone-0{background:var(--tone-violet-tint);color:var(--tone-violet-text)}.tone-1{background:var(--tone-blue-tint);color:var(--tone-blue-text)}.tone-2{background:var(--tone-coral-tint);color:var(--tone-coral-text)}.tone-3{background:var(--tone-amber-tint);color:var(--tone-amber-text)}.tone-4{background:var(--tone-mint-tint);color:var(--tone-mint-text)}.gender-avatar{position:relative;overflow:visible}.gender-avatar>span:first-child{line-height:var(--line-height-icon)}.gender-female{background:var(--pink-tint);color:var(--pink-text)}.gender-male{background:var(--indigo-tint);color:var(--indigo-text)}.gender-other{background:var(--surface-key);color:var(--text-secondary)}.gender-avatar-marker{background:var(--surface-card);min-width:15px;height:15px;font-size:var(--font-size-caption);font-weight:var(--font-weight-heavy);line-height:var(--line-height-icon);border:1px solid;border-radius:50%;place-items:center;padding:0 3px;display:grid;position:absolute;bottom:-2px;right:-3px}.profile-avatar .gender-avatar-marker{min-width:17px;height:17px;font-size:var(--font-size-caption);bottom:-1px;right:-2px}.status.left{background:var(--border-subtle);color:var(--text-caption)}.status.open{background:var(--violet-tint);color:var(--indigo-text)}.contact-card{border:1px solid var(--line);border-radius:var(--ui-radius);padding:13px}.contact-card header{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.contact-card header span{color:var(--text-faint);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:none;letter-spacing:var(--letter-spacing-label)}.contact-card header b{border-radius:var(--ui-radius);background:var(--ok-tint);color:var(--ok-text);font-size:var(--font-size-caption);padding:3px 7px}.contact-card .contact-chips{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.contact-card>strong{font-size:var(--font-size-body);display:block}.contact-card p{color:var(--muted);font-size:var(--font-size-body);margin:5px 0 0}.contact-card .contact-languages{color:var(--text-body);font-weight:var(--font-weight-bold)}.contact-link{color:var(--brand-cyan-dark);text-decoration:none}.contact-link:hover{text-decoration:underline}.sibling-content{min-height:300px}.sibling-toolbar{margin-top:22px}.sibling-row{border-bottom:1px solid var(--line);grid-template-columns:39px 1fr auto;align-items:center;gap:11px;padding:13px 0;display:grid}.sibling-row strong,.sibling-row small{display:block}.sibling-row strong{font-size:var(--font-size-body)}.sibling-row small{color:var(--muted);font-size:var(--font-size-caption);margin-top:5px}.sibling-row b{color:var(--text-faint);font-size:var(--font-size-caption)}.student-photo-image{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block;position:absolute;inset:0}.student-photo-preview{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-subtle);object-fit:contain;max-width:100%;max-height:min(360px,100vh - 310px);margin:0 auto;display:block}.modal.student-photo-modal{width:min(560px,100%)}.student-photo-viewport{border-radius:50%;position:absolute;inset:0;overflow:hidden}.student-photo-viewport .student-photo-image{object-fit:fill;border-radius:0;max-width:none;max-height:none;inset:auto}.photo-crop-editor{grid-template:"picture side""picture size""picture actions"1fr"hint hint"/auto minmax(150px,1fr);align-items:start;gap:10px 20px;min-width:0;display:grid}.photo-crop-picture{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-subtle);width:fit-content;max-width:100%;line-height:var(--line-height-none);grid-area:picture;position:relative;overflow:hidden}.photo-crop-picture .student-photo-preview{border:0;border-radius:0;max-height:min(380px,max(160px,100dvh - 290px))}.photo-crop-surface{position:absolute;inset:0}.photo-crop-side{grid-area:side;align-content:start;justify-items:start;gap:12px;min-width:0;display:grid}.photo-crop-caption{color:var(--muted);font-size:var(--font-size-small);margin:0}.photo-crop-previews{gap:10px;display:grid}.photo-crop-preview{color:var(--text-body-muted);font-size:var(--font-size-small);align-items:center;gap:10px;display:flex}.photo-crop-size{font-size:var(--font-size-small);grid-area:size;gap:4px;min-width:0;display:grid}.photo-crop-actions{grid-area:actions}.photo-crop-hint{grid-area:hint}.photo-crop-size input{width:100%;min-width:0;margin:0}@media (max-width:520px){.photo-crop-editor{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"picture""size""side""actions""hint"}.photo-crop-picture{margin:0 auto}.photo-crop-previews{grid-auto-flow:column;justify-content:start;gap:18px}}.dashboard{gap:17px;display:grid}.welcome-card{border:1px solid var(--border-strong);background:linear-gradient(108deg, var(--surface-card) 0 68%, var(--accent-tint-strong) 100%);min-height:132px;color:var(--ink);justify-content:space-between;align-items:center;gap:24px;padding:24px 28px 24px 32px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 28px #03749f0b}.welcome-card:before{content:"";background:linear-gradient(180deg, var(--brand-cyan) 0 74%, var(--brand-pink) 74%);width:4px;position:absolute;top:0;bottom:0;left:0}.welcome-card:after{content:"";pointer-events:none;border:1px solid #00adef16;border-radius:50%;width:190px;height:190px;position:absolute;top:-72px;right:116px}.welcome-card>div:first-child{z-index:1;max-width:620px;position:relative}.welcome-card span{color:var(--brand-violet);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:var(--letter-spacing-label)}.welcome-card h2{font-size:var(--font-size-title);letter-spacing:var(--letter-spacing-tight);margin:7px 0 5px}.welcome-card p{max-width:590px;color:var(--muted);font-size:var(--font-size-body);line-height:var(--line-height-relaxed);margin:0}.welcome-emblem{z-index:1;border-left:1px solid var(--accent-border);flex:0 0 116px;place-items:center;height:84px;display:grid;position:relative}.welcome-emblem img{object-fit:contain;mix-blend-mode:multiply;width:78px;height:78px}.overview-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.overview-stats article{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:17px;display:grid}.overview-stats article>small{color:var(--text-faint);font-size:var(--font-size-caption);grid-column:2;margin-top:-10px}.overview-stats strong,.overview-stats div span{display:block}.overview-stats strong{font-size:var(--font-size-title)}.overview-stats div span{color:var(--muted);font-size:var(--font-size-caption);margin-top:3px}.dashboard-grid{grid-template-columns:1.2fr .8fr;gap:17px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);overflow:hidden}.panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:68px;padding:14px 18px;display:flex}.panel>header>div{min-width:0}.panel>header h3{overflow-wrap:anywhere}.panel>header span,.panel>header h3{display:block}.panel>header span{color:var(--text-faint);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:var(--letter-spacing-label)}.panel>header h3{font-size:var(--font-size-subtitle);margin:5px 0 0}.schedule-item{border-bottom:1px solid var(--border-subtle);grid-template-columns:64px 3px 1fr auto;align-items:center;gap:12px;min-height:72px;padding:12px 18px;display:grid}.schedule-item:last-child{border-bottom:0}.schedule-item time{white-space:nowrap;color:var(--text-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold)}.schedule-line{border-radius:var(--ui-radius);height:36px}.schedule-line.blue{background:#5d7fea}.schedule-line.violet{background:#9376df}.schedule-line.coral{background:#ea8b78}.schedule-item strong,.schedule-item small{display:block}.schedule-item strong{font-size:var(--font-size-small)}.schedule-item small{color:var(--muted);font-size:var(--font-size-caption);margin-top:5px}.schedule-item b{border-radius:var(--ui-radius);background:var(--surface-page);width:27px;height:27px;color:var(--text-label);font-size:var(--font-size-caption);place-items:center;display:grid}.attention-panel>button{border:0;border-bottom:1px solid var(--border-subtle);background:var(--surface-card);text-align:left;cursor:pointer;grid-template-columns:38px 1fr;align-items:center;gap:11px;width:100%;min-height:72px;padding:12px 17px;display:grid}.attention-panel>button:hover{background:var(--surface-field)}.attention-icon{border-radius:var(--ui-radius);width:38px;height:38px;font-size:var(--font-size-small);font-weight:var(--font-weight-heavy);place-items:center;display:grid}.attention-icon.amber{background:var(--warn-tint);color:var(--warn-text)}.attention-icon.coral{background:var(--danger-tint);color:var(--danger-text)}.attention-icon.blue{background:var(--violet-tint);color:var(--indigo-text)}.attention-panel button strong,.attention-panel button small{display:block}.attention-panel button strong{font-size:var(--font-size-caption)}.attention-panel button small{color:var(--muted);font-size:var(--font-size-caption);margin-top:5px}.lists-view,.invoices-view{gap:17px;display:grid}.lists-heading-row{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.lists-heading-row>div:first-child{align-items:flex-end;gap:14px;min-width:0;display:flex}.section-intro{max-width:540px;color:var(--text-muted);font-size:var(--font-size-small);line-height:var(--line-height-body);margin:0 0 2px}.lists-heading-row .year-picker{margin:0}.entity-filter-bar{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);gap:10px;padding:14px 16px;display:grid;box-shadow:0 4px 16px #27355908}.entity-filter-bar>span{color:var(--text-caption);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold)}.entity-filter-bar>div{flex-wrap:wrap;gap:7px;display:flex}.entity-filter{border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--surface-field);min-height:38px;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);align-items:center;gap:7px;padding:5px 9px 5px 6px;transition:all .15s;display:flex}.entity-filter:hover{border-color:var(--indigo-tint);background:var(--surface-page);color:var(--text-secondary)}.entity-filter>span:first-child{border-radius:var(--ui-radius);background:var(--surface-card);place-items:center;width:26px;height:26px;display:grid}.entity-filter>span:first-child svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.entity-filter>b{border-radius:var(--ui-radius);background:var(--border);min-width:21px;color:var(--text-muted);font-size:var(--font-size-caption);text-align:center;padding:2px 6px}.groups-panel .export-hint{color:var(--text-faint);font-size:var(--font-size-small);text-transform:none;letter-spacing:var(--letter-spacing-normal);align-self:center}.groups-panel>header>div:last-child{color:var(--text-faint);font-size:var(--font-size-caption);text-transform:none;letter-spacing:var(--letter-spacing-normal);align-self:center}.table-scroll{overscroll-behavior-inline:contain;scrollbar-gutter:auto;max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{background:var(--surface-subtle);height:38px;color:var(--text-faint);text-align:left;font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);padding:0 15px}td{border-top:1px solid var(--border-subtle);height:64px;color:var(--text-muted);overflow-wrap:anywhere;font-size:var(--font-size-body);padding:10px 15px}td strong,td small{display:block}td strong{color:var(--ink);font-size:var(--font-size-body)}td small{color:var(--text-faint);font-size:var(--font-size-small);margin-top:4px}td:last-child{width:30px;padding-left:0}.compact-table th:last-child,.compact-table td:last-child,.manual-invoice-panel th:last-child,.manual-invoice-panel td:last-child{width:104px}.inline-student-action{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.enrollment-row-action{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;display:grid!important}.enrollment-row-action>span,.enrollment-row-action>.group-student-name-link,.enrollment-row-action>small{grid-column:1}.count-pill{border-radius:var(--ui-radius);background:var(--border);width:27px;height:27px;color:var(--blue);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);place-items:center;display:grid}.manual-invoices{gap:12px}.billing-runs-panel{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);grid-auto-rows:max-content;gap:16px;max-width:100%;padding:18px;display:grid}.billing-runs-panel h2,.billing-runs-panel h3,.billing-runs-panel p{margin:0}.billing-runs-panel header p{color:var(--text-muted)}.billing-run-create,.billing-charge-actions,.billing-list-heading{flex-wrap:wrap;align-items:end;gap:9px;display:flex}.billing-run-head{border:1px solid var(--border-strong);border-radius:var(--ui-radius);background:var(--surface-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding:12px 14px;display:flex}.billing-run-head-summary{flex:320px;min-width:0}.billing-run-head>.billing-run-toolbar{flex:0 auto;justify-content:flex-end;min-width:0;max-width:100%;margin-left:auto}.billing-run-head>.form-validation-message{border-left:2px solid var(--accent-border-strong);background:var(--accent-tint);border-radius:0 4px 4px 0;flex:0 0 100%;padding:8px 10px}.billing-run-head>.form-validation-message[data-kind=info]{color:var(--accent-text-strong)}.billing-run-head>.form-validation-message[data-kind=warning]{border-left-color:var(--warn-border);background:var(--warn-tint)}.billing-run-head>.form-validation-message[data-kind=error]{border-left-color:var(--danger-border);background:var(--danger-tint)}.billing-run-head h3{font-size:var(--font-size-subtitle);margin:0}.billing-run-meta{color:var(--text-muted);font-size:var(--font-size-small);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:5px 0 0;display:flex}.billing-run-toolbar,.billing-run-toolbar-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.billing-run-toolbar-main{justify-content:flex-end;min-width:0}.billing-run-toolbar-aside{border-right:1px solid var(--line);margin-right:12px;padding-right:20px}@media (max-width:720px){.billing-run-head>.billing-run-toolbar,.billing-run-toolbar-main{width:100%}.billing-run-toolbar-aside{border-right:0;border-bottom:1px solid var(--line);text-align:right;width:100%;margin:0;padding:0 0 8px}}.billing-list-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:12px}.billing-list-heading small{color:var(--text-faint);font-weight:var(--font-weight-semibold)}.billing-list-empty{color:var(--text-muted)}.billing-run-cancelled{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.billing-run-cancelled .billing-list-empty{flex:260px;margin:0}.billing-table-frame{border:1px solid var(--line);border-radius:var(--ui-radius);scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;max-height:min(292px,40vh);overflow-y:auto}.billing-table-frame th{z-index:1;position:sticky;top:0}.billing-table{min-width:860px}.billing-run-created-compact,.billing-invoice-meta-compact{display:none}.billing-table th,.billing-table td{padding-inline:12px}.billing-table th{white-space:nowrap}.billing-table td{white-space:nowrap;height:46px;padding-block:7px}.billing-table td.wrap{white-space:normal;overflow-wrap:break-word;min-width:170px}.billing-table td:last-child{width:auto;padding-left:12px}.billing-table .numeric{text-align:right;white-space:nowrap;font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric)}.billing-table tbody tr{cursor:pointer}.billing-table tbody tr:hover>td{background:var(--surface-control)}.billing-table tbody tr.active>td{background:var(--indigo-tint)}.billing-table.static tbody tr{cursor:default}.billing-table.static tbody tr:hover>td{background:0 0}.billing-table tbody tr.attention>td:last-child{color:var(--warn-text);font-weight:var(--font-weight-semibold)}.billing-run-back{margin-bottom:-6px}.billing-run-tabs{padding:0}.billing-run-tabs b{border-radius:var(--ui-radius);background:var(--border);color:var(--text-muted);white-space:nowrap;margin-left:4px;padding:1px 6px}.billing-run-tabs b.attention{background:var(--warn-tint);color:var(--warn-text)}.billing-run-tabpanel{gap:12px;min-width:0;display:grid}.billing-run-tabpanel>*{min-width:0}.billing-run-summary{color:var(--text-muted);font-weight:var(--font-weight-semibold);margin:0}.billing-charge-filters .entity-filter{padding-left:10px}.billing-charge-filters .entity-filter>b{white-space:nowrap}.billing-table.static{min-width:560px}.billing-table tbody tr.cancelled>td,.billing-table tbody tr.cancelled strong{color:var(--text-faint)}.billing-row-open{cursor:pointer;color:var(--ink);font-weight:var(--font-weight-bold);white-space:nowrap;background:0 0;border:0;padding:0}.billing-run-create label,.billing-run-family-field,.billing-action-dialog label{font-weight:var(--font-weight-semibold);gap:5px;display:grid}.billing-month-picker{border:1px solid var(--line);border-radius:var(--ui-radius);min-width:0;margin:0;padding:12px}.billing-month-picker legend{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);padding-inline:4px}.billing-month-grid{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:6px;display:grid}.billing-month-summary{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:10px;display:flex}.billing-month-summary p{min-width:0;font-size:var(--font-size-body);flex:200px}.billing-month-picker .billing-month-hint{color:var(--text-muted);font-size:var(--font-size-small);margin-top:6px}.billing-run-create>label,.billing-run-family-field{min-width:0;max-width:100%}.billing-run-create select{width:100%;min-width:min(160px,100%);max-width:100%}.billing-table td.billing-period-cell{white-space:normal}.billing-period-set{overflow-wrap:anywhere;min-width:0;max-width:230px;display:grid}.billing-period-label{white-space:normal;overflow-wrap:anywhere}.billing-invoices-table .billing-invoice-meta-compact.billing-period-label{font-size:var(--font-size-body);color:var(--text-muted)}.billing-invoice-heading{flex:200px;min-width:0}@media (max-width:720px){.billing-table.billing-runs-table,.billing-table.billing-invoices-table{min-width:640px}}.billing-family-picker .student-picker-controls{grid-template-columns:minmax(0,1fr)}.billing-family-picker .student-choice-row{grid-template-columns:19px minmax(0,1fr)}.billing-run-create select,.billing-action-dialog input,.billing-action-dialog select,.billing-action-dialog textarea{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);min-width:160px;min-height:40px;color:var(--text);padding:7px 9px}.billing-run-problems{gap:8px;margin:0;padding:0;list-style:none;display:grid}.billing-run-problems>li{border:1px solid var(--warn-border);border-radius:var(--ui-radius);background:var(--surface-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.billing-run-problems>li>div:first-child{overflow-wrap:anywhere;min-width:0}.billing-run-problems li strong,.billing-run-problems li small{display:block}.billing-run-problems li small{color:var(--text-muted);font-size:var(--font-size-small);margin-top:4px}.billing-run-problems li strong a{color:var(--blue);text-underline-offset:2px;text-decoration:underline}.billing-run-problem-related{color:var(--text-muted);font-size:var(--font-size-small);margin-top:5px}.billing-run-problem-related ul{margin:3px 0 0;padding-left:18px;list-style:outside}.billing-run-problem-related a{color:var(--blue);text-underline-offset:2px;text-decoration:underline}.billing-run-problem-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.billing-payer-group{border:1px solid var(--border-strong);border-radius:var(--ui-radius);background:var(--surface-subtle);gap:8px;padding:12px;display:grid}.billing-payer-group>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.billing-payer-group>header>div:first-child{overflow-wrap:anywhere;min-width:0}.billing-payer-group>header small{color:var(--text-muted);font-size:var(--font-size-small);margin-top:3px;display:block}.billing-payer-total{text-align:right;white-space:nowrap;flex:none}.billing-payer-group .billing-charge-row{background:var(--surface-card)}.billing-charge-row{border:1px solid var(--line);border-radius:var(--ui-radius);gap:8px;padding:12px;display:grid}.billing-charge-row>div:first-child,.billing-charge-row>div:nth-child(2){flex-wrap:wrap;align-items:center;gap:10px;display:flex}.billing-charge-row>div:nth-child(2){color:var(--text-muted)}.billing-charge-row strong{color:var(--text)}.billing-charge-payer-source{color:var(--text-muted);font-size:var(--font-size-small)}.billing-runs-panel .billing-student-link{cursor:pointer;font-weight:var(--font-weight-bold);color:var(--blue);background:0 0;border:0;padding:0}.billing-action-backdrop{z-index:1000;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.billing-action-dialog{border-radius:var(--ui-radius);background:var(--surface-card);gap:12px;width:min(100%,460px);padding:20px;display:grid;box-shadow:0 12px 40px #0003}.billing-action-dialog textarea{resize:vertical;min-height:80px}.billing-action-dialog:has(.billing-charge-add){width:min(100%,560px)}.billing-charge-add label{gap:4px;display:grid}.billing-charge-add-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.billing-charge-add-student{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.billing-charge-add-student small,.billing-charge-add-found small{color:var(--text-muted);font-size:var(--font-size-small)}.billing-charge-add-found{border:1px solid var(--line);border-radius:var(--ui-radius);max-height:180px;margin:-6px 0 0;padding:4px;list-style:none;overflow:auto}.billing-charge-add-found li.field-hint{padding:6px 8px}.billing-charge-add-found button{border-radius:var(--ui-radius);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;gap:8px;padding:6px 8px;display:flex}:is(.billing-charge-add-found button:hover,.billing-charge-add-found button:focus-visible){background:var(--surface-control)}.billing-charge-add-total{font-weight:var(--font-weight-bold);margin:-4px 0 0}@media (max-width:720px){.billing-charge-add-row{grid-template-columns:minmax(0,1fr)}}.billing-action-dialog>div:not(.form-grid):not(.billing-payment-progress){justify-content:flex-end;gap:8px;display:flex}.billing-invoice-filter{width:100%;min-width:0;font-weight:var(--font-weight-semibold);flex:36ch;gap:5px;display:grid}.billing-invoice-filter input,.billing-invoice-filter select{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);width:100%;min-width:0;min-height:40px;color:var(--text);padding:7px 9px}.billing-invoice-lines{gap:10px;display:grid}.invoice-department-tabs{gap:8px;display:flex}.invoice-department-tabs button{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);min-height:40px;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);padding:0 15px}.invoice-department-tabs button span{border-radius:var(--ui-radius);background:var(--border-subtle);color:var(--text-caption);margin-left:7px;padding:3px 6px}.invoice-department-tabs button.active{border-color:var(--indigo-border);background:var(--border);color:var(--blue);box-shadow:inset 0 -2px 0 var(--blue)}.manual-invoice-panel table{table-layout:fixed;min-width:1900px}.manual-invoice-panel th,.manual-invoice-panel td{vertical-align:top;white-space:normal;width:135px;padding:9px 8px}.manual-invoice-panel th:nth-child(6),.manual-invoice-panel td:nth-child(6),.manual-invoice-panel th:nth-child(11),.manual-invoice-panel td:nth-child(11){width:210px}.invoice-create-modal{width:min(900px,100%)}.invoice-form-hint{color:var(--text-caption);font-size:var(--font-size-small);line-height:var(--line-height-body);margin:12px 0 0}.invoice-draft-state{min-height:88px;color:var(--text-muted);font-size:var(--font-size-small);place-items:center;display:grid}.staff-grid{grid-template-columns:minmax(480px,1.15fr) minmax(390px,.85fr)}.directories-view{gap:14px;display:grid}.directory-tabs{flex-wrap:wrap;gap:6px;display:flex}.directory-tabs button{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);height:38px;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);padding:0 11px}.directory-tabs button.active{border-color:var(--indigo-border);background:var(--border);color:var(--indigo-text)}.directory-tabs-divider{background:var(--line);align-self:stretch;width:1px;margin:4px 2px}.directory-table{min-width:0}.directory-table td{height:48px;padding-block:8px}.directory-table td:last-child{width:auto;padding-left:15px}.directory-table .directory-state{white-space:nowrap;text-align:right;width:1%}.directory-table .status{display:inline-block}.directory-table .focused-row{background:var(--accent-tint-strong);box-shadow:inset 3px 0 0 var(--brand-pink)}.trash-view{min-width:0}.trash-view .trash-table-frame{min-width:0;overflow-x:hidden}.trash-table{table-layout:fixed;width:100%}.trash-table th:first-child{width:11%}.trash-table th:nth-child(2){width:18%}.trash-table th:nth-child(3),.trash-table th:nth-child(4){width:16%}.trash-table th:nth-child(5){width:12%}.trash-table th:nth-child(6){width:27%}.trash-table td{overflow-wrap:anywhere;vertical-align:middle}.trash-table td:last-child{text-align:right;padding-left:8px}.trash-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.trash-toolbar{border-bottom:1px solid var(--line);justify-content:flex-end;padding:10px 15px;display:flex}.trash-restore-blockers{color:var(--danger-text);margin:0 16px 12px}.trash-kept{color:var(--danger-text);margin:12px 16px}.trash-kept p{margin:0 0 6px}.trash-kept ul{margin:0;padding-left:18px}.directory-filter{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:12px 15px;display:grid}.directory-filter label span{color:var(--text-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);margin-bottom:6px;display:block}.directory-filter select{border:1px solid var(--border-control);border-radius:var(--ui-radius);background:var(--surface-subtle);width:100%;height:38px;color:var(--ink);padding:0 10px}.modal.directory-modal{width:min(680px,100%)}.directory-form{padding:18px 22px}.directory-form>label{min-width:0}.directory-form>label>span{color:var(--text-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin-bottom:7px;display:block}.directory-form input,.directory-form textarea{border:1px solid var(--border-control);border-radius:var(--ui-radius);background:var(--surface-subtle);width:100%;color:var(--ink);font-size:var(--font-size-control)}.directory-form input{min-height:40px;padding:7px 10px}.directory-form textarea{resize:vertical;padding:10px}.directory-form input:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}.staff-list{min-height:496px}.staff-position-filter{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);width:min(180px,30%);height:42px;color:var(--text-body-muted);cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);outline:0;padding:0 34px 0 11px}.staff-position-filter:focus{border-color:var(--indigo-border);box-shadow:0 0 0 3px #3157d514}.staff-row{border:0;border-bottom:1px solid var(--border-subtle);background:var(--surface-card);grid-template-columns:var(--staff-columns);text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;min-height:58px;padding:12px 16px;display:grid}.staff-row>*{min-width:0}.staff-row>strong,.staff-row-position{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-row:hover,.staff-row.selected{background:var(--surface-control)}.staff-row.selected{box-shadow:inset 3px 0 0 var(--blue)}.staff-row>strong{font-size:var(--font-size-body)}.staff-row-position,.staff-row>b{color:var(--muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.staff-heading,.staff-row{--staff-columns:39px minmax(0, 1.3fr) minmax(0, 1fr) 96px}.staff-heading{grid-template-columns:var(--staff-columns);flex:none;gap:12px;padding-inline:16px}.clickable-row{cursor:pointer;outline:0}:is(.clickable-row:hover,.clickable-row:focus-visible){background:var(--accent-tint-strong)}.clickable-row:focus-visible{box-shadow:inset 3px 0 0 var(--brand-pink)}.teacher-profile .tabs button{font-size:var(--font-size-control);font-weight:var(--font-weight-semibold)}.assignments{min-height:300px}.assignments article{border-bottom:1px solid var(--line);padding:14px 42px 14px 0;position:relative}.assignments article span,.assignments article strong,.assignments article small{display:block}.assignments article span{color:var(--violet-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:none;letter-spacing:var(--letter-spacing-label)}.assignments article strong{font-size:var(--font-size-body);margin-top:5px}.assignments article small{color:var(--muted);font-size:var(--font-size-small);margin-top:4px}.assignments article b{color:var(--text-muted);font-size:var(--font-size-caption);position:absolute;top:28px;right:0}.billing-invoices-panel .billing-table-frame{max-height:max(320px,100dvh - 330px)}.billing-invoices-panel .billing-table td small{font-size:var(--font-size-body)}.billing-draft-problems{color:var(--danger-text);font-weight:var(--font-weight-semibold)}.billing-print-links{flex-wrap:wrap;gap:8px;display:flex}.billing-run-focus{border:1px solid var(--border-strong);border-radius:var(--ui-radius);background:var(--surface-subtle);font-weight:var(--font-weight-semibold);flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:8px 12px;display:flex}.billing-invoice-filters .entity-filter{padding-left:10px}.entity-filter.attention>b{background:var(--warn-tint);color:var(--warn-text)}.billing-list-totals{color:var(--text-muted);margin:0}.billing-list-totals strong{color:var(--text-body)}.billing-action-dialog.billing-bulk-issue,.billing-action-dialog.billing-bulk-dispatch{width:min(100%,540px)}.billing-bulk-skipped{max-height:40vh;overflow-y:auto}.modal.billing-invoice-modal{width:min(960px,100%)}.billing-invoice-modal>header h2 .roster-status-badge{vertical-align:middle;margin-left:8px}.billing-invoice-head-actions{flex-wrap:wrap-reverse;justify-content:flex-end;align-items:center;gap:10px;display:flex}.billing-invoice-nav{color:var(--text-muted);font-weight:var(--font-weight-semibold);white-space:nowrap;align-items:center;gap:4px;display:flex}.billing-invoice-body{align-content:start;gap:18px;padding:18px 22px;display:grid}.billing-invoice-body h3{font-size:var(--font-size-body);margin:0}.billing-invoice-facts{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(120px,1fr));gap:14px 18px;margin:0;display:grid}.billing-invoice-facts dt{color:var(--text-faint);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);margin-bottom:4px}.billing-invoice-facts dd{font-size:var(--font-size-body);margin:0}.billing-invoice-facts dd strong,.billing-invoice-facts dd small{display:block}.billing-invoice-facts dd small{color:var(--text-muted);font-size:var(--font-size-small);margin-top:3px}.billing-invoice-office{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.billing-office-block{border:1px solid var(--border-strong);border-radius:var(--ui-radius);background:var(--surface-subtle);align-content:start;gap:10px;padding:14px;display:grid}.billing-office-block>header{justify-content:space-between;align-items:center;gap:12px;min-height:40px;display:flex}.billing-office-state{color:var(--text-muted);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin:0}.billing-office-state.done{color:var(--tone-green-text)}.billing-office-pending{color:var(--text-muted)}.billing-payment-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.billing-payment-figures>div{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);padding:8px 10px}.billing-payment-figures dt{color:var(--text-faint);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps)}.billing-payment-figures dd{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-bold);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);margin:3px 0 0}.billing-payment-figures .settled dd{color:var(--tone-green-text)}.billing-payment-figures .overdue dd{color:var(--danger-text)}.billing-payment-figures .overpaid dd{color:var(--indigo-text)}.billing-office-overdue{color:var(--danger-text);font-weight:var(--font-weight-semibold)}.billing-payment-progress{background:var(--border-strong);border-radius:3px;height:6px;overflow:hidden}.billing-payment-progress span{background:var(--tone-green-text);height:100%;display:block}.billing-office-records{gap:6px;margin:0;padding:0;list-style:none;display:grid}.billing-office-records li{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);font-size:var(--font-size-body);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.billing-office-records li>div>small{display:block}.billing-record-line{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.billing-record-line strong{font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric)}.billing-record-line span{color:var(--text-muted)}.billing-office-records li small{color:var(--text-muted);font-size:var(--font-size-small);margin-top:3px}.billing-office-records li.cancelled .billing-record-line{color:var(--text-faint);text-decoration:line-through}.billing-office-records li.cancelled .billing-record-line strong,.billing-office-records li.cancelled .billing-record-line span{color:inherit}.billing-record-cancel-note{color:var(--danger-text)}.billing-invoice-lines-table{min-width:640px}.billing-invoice-lines-table td.wrap{min-width:120px}.billing-invoice-lines-table td:nth-child(3),.billing-invoice-lines-table td:nth-child(4){white-space:normal}.billing-invoice-lines-table td small{font-size:var(--font-size-body)}.billing-invoice-lines-table tfoot td{border-top:1px solid var(--border-strong);height:auto;font-weight:var(--font-weight-bold);padding-block:10px}.billing-invoice-modal>footer.billing-invoice-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:14px 22px 18px;display:flex}.billing-invoice-actions>:first-child:not(:last-child){margin-right:auto}@media (max-width:760px){.billing-invoice-facts{grid-template-columns:1fr 1fr}.billing-invoice-payer{grid-column:1/-1}}.directory-stack{gap:14px;display:grid}.modal-backdrop{z-index:1000;overscroll-behavior:contain;background:radial-gradient(circle at 14% 12%,#00adef1f 0,#0000 34%),radial-gradient(circle at 88% 84%,#e1009717 0,#0000 32%),#091b22b8;place-items:center;padding:24px;animation:.14s ease-out modal-backdrop-in;display:grid;position:fixed;inset:0}@keyframes modal-backdrop-in{0%{opacity:0}}body:has(.modal-backdrop){overflow:hidden}.modal{border:1px solid var(--border-dashed);border-radius:var(--ui-radius);background:var(--surface-card);flex-direction:column;width:min(680px,100%);min-width:0;max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 16px 48px #111a2f38}.modal>header{background:var(--surface-card);border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex:none;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:20px 22px;display:flex}.modal>header span{color:var(--text-faint);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-transform:none;letter-spacing:var(--letter-spacing-label)}.modal>header h2{font-size:var(--font-size-title);overflow-wrap:anywhere;margin:5px 0 0}.modal>:not(header):not(footer):not(.modal-banner){overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-width:0;min-height:0;overflow:auto}.modal>footer{flex-wrap:wrap;flex:none}.modal form{padding:20px 22px 0}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.form-grid+.form-grid{margin-top:14px}.form-grid>:is(label,.record-field):not(.check-field){grid-row:span 2;grid-template-rows:subgrid;min-width:0;margin-top:0;display:grid}.form-grid>:is(label,.record-field):not(.check-field)>span:first-child{color:var(--text-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;grid-row:1;align-self:end;margin-bottom:0;display:block}.form-grid>:is(label,.record-field):not(.check-field)>.field-body{grid-row:2;margin-top:-7px}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--border-control);border-radius:var(--ui-radius);background:var(--surface-subtle);width:100%;color:var(--ink);font-size:var(--font-size-control);outline:0}.form-grid input,.form-grid select{min-height:40px;padding:7px 10px}.form-grid textarea{resize:vertical;padding:10px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--indigo-border);box-shadow:0 0 0 3px #3157d514}.form-grid .full{grid-column:1/-1}.record-form input[type=checkbox],.directory-form input[type=checkbox]{-webkit-appearance:none;appearance:none;border:1px solid var(--text-strike);border-radius:var(--ui-radius-subtle);background:var(--surface-card);cursor:pointer;flex:0 0 17px;width:17px;min-width:17px;height:17px;min-height:17px;margin:0;padding:0;box-shadow:0 1px 2px #1c29420a}.record-form input[type=checkbox]:hover,.directory-form input[type=checkbox]:hover{border-color:var(--indigo-border)}.record-form input[type=checkbox]:checked,.directory-form input[type=checkbox]:checked{border-color:var(--blue);background-color:var(--blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='m3.5 8.3 2.8 2.8 6.2-6.2'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:13px 13px}:is(.record-form input[type=checkbox]:focus-visible,.directory-form input[type=checkbox]:focus-visible){outline:0;box-shadow:0 0 0 3px #3157d526}.record-form input[type=checkbox]:disabled,.directory-form input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.form-grid>.check-field{grid-row:span 2;align-self:start;min-height:61px;padding-top:21px}.form-grid>.check-field.full{grid-row:auto;min-height:38px;padding-top:0}.form-grid:not(:has(>:not(.check-field)))>.check-field{grid-row:auto;min-height:0;padding-top:0}.form-grid:not(:has(>:not(.check-field)))>.check-field.full{grid-row:auto;min-height:0;padding-top:0}.modal form>footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:20px;padding:14px 0 18px;display:flex}.group-detail-modal{width:min(980px,100%)}.student-card-modal{width:min(1040px,100%);height:min(820px,100vh - 48px)}.staff-card-modal{width:min(900px,100%);height:min(780px,100vh - 48px)}.staff-card-modal-body{padding:0;display:flex;overflow:hidden!important}.staff-card-modal .teacher-profile{min-height:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:auto;display:flex;position:static;top:auto;overflow:hidden}.staff-card-modal .teacher-profile>.profile-actions{display:none}.staff-card-modal .teacher-profile>.profile-person,.staff-card-modal .teacher-profile>.tabs,.staff-card-modal .teacher-profile>.lock-banner,.staff-card-modal .teacher-profile>.inline-error{flex:none}.staff-card-modal .teacher-profile>.profile-content{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-height:0;max-height:none;overflow:auto}.student-card-modal-body{padding:0;display:flex;overflow:hidden!important}.student-card-modal .student-card-full{min-height:0;box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:auto;display:flex;position:static;top:auto;overflow:hidden}.student-card-modal .student-card-full>.profile-actions{display:none}.student-card-modal .student-card-full>.profile-person,.student-card-modal .student-card-full>.tabs,.student-card-modal .student-card-full>.lock-banner,.student-card-modal .student-card-full>.inline-error,.student-card-modal .student-card-full>.year-registration-banner{flex:none}.student-card-modal .student-card-full>.profile-content{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-height:0;max-height:none;overflow:auto}.student-card-modal .student-card-full>.card-loading,.student-card-modal .student-card-full>.card-error{flex:auto;min-height:0}.group-detail-body{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px 22px;display:grid}.group-detail-body>section{border-top:1px solid var(--line);padding-top:16px}.group-detail-body h3{color:var(--text-body-muted);font-size:var(--font-size-small);text-transform:none;letter-spacing:var(--letter-spacing-label);font-weight:var(--font-weight-semibold);margin:0 0 11px}.group-detail-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:14px 22px 18px;display:flex}.compact-table table{min-width:650px}.compact-table td{height:52px}.staff-editor{gap:9px;display:grid}.staff-editor>div{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-field);grid-template-columns:minmax(190px,1.4fr) minmax(150px,1fr) 32px;align-items:end;gap:9px;padding:10px;display:grid}.staff-editor>div .record-field{margin:0}.staff-editor>div>button{border:1px solid var(--danger-border);border-radius:var(--ui-radius);background:var(--surface-card);width:32px;height:38px;color:var(--danger-text);cursor:pointer}.toast-region{z-index:1200;pointer-events:none;gap:8px;width:min(350px,100vw - 32px);display:grid;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--ok-border);border-left:3px solid var(--ok-text);background:var(--surface-card);min-height:54px;color:var(--text);font-size:var(--font-size-small);pointer-events:auto;font-weight:var(--font-weight-semibold);grid-template-columns:26px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:10px 8px 10px 11px;animation:5s both toast-life;display:grid;position:relative;box-shadow:0 12px 34px #102b3226}.toast.error{border-color:var(--danger-tint);border-left-color:var(--danger);background:var(--surface-card);color:var(--danger-text)}.toast .toast-icon{background:var(--ok-text);width:26px;height:26px;color:var(--surface-card);font-size:var(--font-size-body);font-weight:var(--font-weight-heavy);place-items:center;display:grid;border-radius:50%!important}.toast.error .toast-icon{background:var(--danger)}.toast strong{min-width:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact);overflow-wrap:anywhere}.toast button{width:28px;height:28px;color:var(--text-caption);cursor:pointer;font-size:var(--font-size-heading);line-height:var(--line-height-icon);opacity:.72;background:0 0;border:0;padding:0}:is(.toast button:hover,.toast button:focus-visible){background:var(--surface-page);color:var(--text);opacity:1;outline:0}@keyframes toast-life{0%{opacity:0;transform:translateY(10px)}4%,94%{opacity:1;transform:none}to{opacity:0;transform:translateY(5px)}}.app-update-notice{z-index:1450;border:1px solid var(--accent-border-strong);border-left:4px solid var(--accent-text);background:var(--surface-card);width:min(420px,100vw - 32px);color:var(--text);gap:12px;padding:16px;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 54px #00101759}.app-update-notice b{font-size:var(--font-size-body);margin-bottom:4px;display:block}.app-update-notice span{color:var(--text-muted);font-size:var(--font-size-body)}.app-update-notice>div:last-child{justify-content:flex-end;gap:8px;display:flex}.tooltip-anchor{text-underline-offset:3px;cursor:help;border-radius:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tooltip-anchor:focus-visible{outline:2px solid var(--button-focus-ring);outline-offset:2px}.tooltip-bubble{z-index:1500;overflow-wrap:anywhere;border-radius:var(--ui-radius);background:var(--text);max-width:min(340px,100vw - 16px);max-height:calc(100dvh - 16px);color:var(--surface-card);font-size:var(--font-size-small);line-height:var(--line-height-body);pointer-events:none;padding:5px 9px;position:fixed;overflow-y:auto;box-shadow:0 4px 14px #00101733}.truncated-text-tooltip{pointer-events:auto;overscroll-behavior:contain}.cadence-parts>div{grid-template-columns:minmax(150px,.9fr) minmax(120px,1fr) minmax(120px,1fr) 32px}@media (max-width:1200px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding:24px 13px}.brand{justify-content:center;min-height:58px;padding:0}.brand-logo{width:58px;height:58px}.school-year,.nav-item>span:not(.nav-icon),.nav-item small,.sidebar-footer>div:not(.user-avatar,.sidebar-footer-actions),.sidebar-version{display:none}.sidebar-footer-actions{flex-direction:column}.mobile-year-picker{display:block}.nav-item{grid-template-columns:1fr;justify-items:center;padding:0}.sidebar-footer{grid-template-columns:1fr;justify-items:center;gap:6px;padding:12px 0 0}.content-grid{grid-template-columns:1fr}.profile-card{position:static}.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1200px) and (max-height:640px){.sidebar{padding-top:16px;padding-bottom:16px}}@media (max-width:720px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;width:100%;height:auto;padding:13px 16px;position:static}.brand{width:52px;min-height:52px}.brand-logo{width:52px;height:52px}.sidebar nav{margin-left:auto;display:flex}.nav-item{width:38px;height:38px}.nav-item:not(.active){display:none}.sidebar-footer{border:0;margin:0 0 0 8px;padding:0}.workspace{height:calc(100dvh - 79px);padding:22px 14px 30px}.workspace-students>.resizable-split{grid-template-columns:minmax(280px,44%) minmax(340px,1fr);overflow:auto hidden}.topbar{flex-wrap:wrap;align-items:flex-end}.topbar>div:first-child{flex:auto}.top-actions{flex:100%;justify-content:space-between}.mobile-year-picker{flex:1}.mobile-year-picker select{width:100%;max-width:none}.eyebrow{display:none}.content-grid{display:block}.list-card{margin-bottom:14px}.list-heading{display:none}.student-row{grid-template-columns:39px 1fr auto}.student-program,.list-footer span{display:none}.staff-toolbar{flex-direction:column;align-items:stretch}.staff-position-filter{width:100%}.welcome-card{padding:22px}.welcome-card:after,.welcome-emblem{display:none}.overview-stats,.dashboard-grid{grid-template-columns:1fr}.lists-heading-row{flex-direction:column;align-items:stretch}.lists-heading-row>div:first-child{flex-direction:column;align-items:stretch;gap:9px}.entity-filter-bar{padding:12px}.entity-filter-bar>div{flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.entity-filter{flex:none}.form-grid{grid-template-columns:1fr}.form-grid:not(.address-fields-grid)>:is(label,.record-field):not(.check-field){grid-row:auto;display:block}.form-grid:not(.address-fields-grid)>:is(label,.record-field):not(.check-field)>span:first-child{margin-bottom:7px}.form-grid:not(.address-fields-grid)>:is(label,.record-field):not(.check-field)>.field-body{margin-top:0}.form-grid>.check-field{grid-row:auto}.form-grid .full{grid-column:auto}.modal-backdrop{padding:10px}.panel>header{flex-wrap:wrap;align-items:flex-start}.groups-panel>header>div:last-child,.invoice-department-tabs{padding-bottom:3px;overflow-x:auto}.invoice-department-tabs button{flex:none}.list-footer{flex-wrap:wrap;gap:8px;padding-block:10px}}@media (max-width:430px){.workspace{padding-inline:10px}.top-actions{flex-direction:column;align-items:stretch}.modal-backdrop{padding:6px}.modal{border-radius:var(--ui-radius)}.modal>header,.modal form{padding-left:16px;padding-right:16px}}::selection{color:var(--text);background:#00adef33}body{background:linear-gradient(145deg, var(--surface-field) 0%, var(--surface-control) 58%, var(--surface-page) 100%)}.sidebar{border-right-color:var(--border-strong);box-shadow:8px 0 28px #03749f0a}.sidebar:before{content:"";background:linear-gradient(90deg, var(--brand-cyan) 0 70%, var(--brand-pink) 70%);height:4px;position:absolute;top:0;left:0;right:0}h1,.welcome-card h2,.modal>header h2,.profile-person h2,.panel>header h3{color:var(--text)}.eyebrow{color:var(--brand-violet)}.school-year select,.mobile-year-picker select{border-color:var(--border-strong);background:var(--surface-field)}.school-year select:focus,.mobile-year-picker select:focus{border-color:var(--brand-cyan);box-shadow:0 0 0 3px #00adef20}.nav-item:hover{background:var(--accent-tint-strong);color:var(--text-secondary)}.nav-item.active{background:var(--accent-tint);color:var(--brand-cyan-dark);box-shadow:inset 3px 0 0 var(--brand-pink)}.nav-icon{background:var(--surface-key)}.nav-item.active .nav-icon,.nav-item small{background:var(--accent-border);color:var(--brand-cyan-dark)}.list-card,.profile-card,.panel,.overview-stats article,.entity-filter-bar{border-color:var(--border-strong);box-shadow:0 8px 24px #03749f0a}.overview-stats article{position:relative;overflow:hidden}.overview-stats article:before{content:"";background:var(--brand-cyan);width:3px;position:absolute;top:0;bottom:0;left:0}.overview-stats article:nth-child(4):before{background:var(--brand-pink)}.stat-icon.blue{color:var(--brand-cyan-dark);background:var(--accent-border)}.stat-icon.mint{color:var(--tone-cyan-text);background:var(--ok-tint)}.stat-icon.violet{color:var(--tone-violet-text);background:var(--violet-tint)}.stat-icon.amber{color:var(--warn-text);background:var(--warn-tint)}.search-field:focus-within{border-color:var(--brand-cyan);box-shadow:0 0 0 3px #00adef16}.search-field>span{color:var(--brand-cyan-dark)}.student-row:hover,.student-row.selected,.staff-row:hover,.staff-row.selected{background:var(--accent-tint-strong)}.student-row.selected,.staff-row.selected{box-shadow:inset 3px 0 0 var(--brand-pink)}.tabs button.active,.student-tabs button.active{border-bottom-color:var(--brand-pink);color:var(--brand-cyan-dark)}.entity-filter:hover{border-color:var(--accent-border-strong);background:var(--accent-tint-strong)}.entity-filter.active{border-color:var(--brand-cyan);background:var(--accent-tint);color:var(--brand-cyan-dark);box-shadow:inset 0 -2px 0 var(--brand-pink), 0 3px 10px #00adef14}.entity-filter.active>b{background:var(--accent-border);color:var(--brand-cyan-dark)}.invoice-department-tabs button.active,.directory-tabs button.active{border-color:var(--brand-cyan);background:var(--accent-tint);color:var(--brand-cyan-dark);box-shadow:inset 0 -2px 0 var(--brand-pink)}.count-pill{background:var(--accent-border);color:var(--brand-cyan-dark)}.panel>header,th,.list-heading{background:var(--surface-field)}.panel>header{border-top:3px solid var(--brand-cyan)}.modal{border:1px solid var(--text-strike);border-top:4px solid var(--brand-cyan);box-shadow:0 24px 72px #00101770}.modal>header{position:relative}.modal>header:after{content:"";background:var(--brand-pink);width:64px;height:2px;position:absolute;bottom:-1px;left:22px}.record-form input:focus,.record-form select:focus,.record-form textarea:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.directory-form input:focus,.directory-form textarea:focus,.staff-position-filter:focus{border-color:var(--brand-cyan);box-shadow:0 0 0 3px #00adef18}.record-form input[type=checkbox]:checked{border-color:var(--brand-cyan);background-color:var(--brand-cyan)}.avatar,.profile-avatar,.user-avatar,.history-timeline-dot,.roster-section-dot,.enrollment-period-state i,.student-choice-availability i,.student-loading-spinner,.page-activity-spinner{border-radius:50%!important}.stat-icon{place-items:center;width:56px;height:56px;display:grid;border-radius:50%!important}.overview-stats .stat-icon{place-items:center;display:grid}.stat-icon svg{width:29px;height:29px}.overview-stats article{grid-template-columns:56px minmax(0,1fr);align-content:center;column-gap:14px}.overview-stats article>.stat-icon{grid-row:1/3;place-self:center}body.layout-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.sidebar-resize-handle{z-index:5;cursor:col-resize;touch-action:none;background:0 0;border:0;place-items:center;width:14px;height:100%;padding:0;display:grid;position:absolute;top:0;right:-7px}.sidebar-resize-handle span{background:var(--accent-border-strong);opacity:0;width:2px;height:54px;transition:opacity .12s,background-color .12s}.sidebar:hover .sidebar-resize-handle span{opacity:1}.sidebar-resize-handle:focus-visible span{opacity:1}:is(.sidebar-resize-handle:hover span,.sidebar-resize-handle:focus-visible span){background:var(--brand-cyan)}.resizable-split{grid-template-columns:minmax(340px, var(--split-left,44%)) 17px minmax(420px, 1fr);gap:0}.resizable-split>*{min-width:0}.workspace-students>.topbar,.workspace-students>.student-stats-toggle-row{flex:none}.workspace-students>.resizable-split{flex:auto;align-items:stretch;width:100%;min-height:0;display:grid;overflow:hidden}.workspace-students>.resizable-split>.list-card,.workspace-students>.resizable-split>.profile-card{height:100%;min-height:0;margin:0;position:relative;top:auto}.workspace-students>.resizable-split>.list-card{flex-direction:column;display:flex}.workspace-students>.resizable-split.students-single{grid-template-columns:minmax(0,1fr)}.workspace-students .list-toolbar,.workspace-students .list-heading,.workspace-students .list-footer{flex:none}.workspace-students .student-list{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:auto;min-height:0;overflow-y:auto}.workspace-students .student-list::-webkit-scrollbar{width:9px}.student-card-full>.profile-content::-webkit-scrollbar{width:9px}.workspace-students .student-list::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:padding-box;border:2px solid #0000}.student-card-full>.profile-content::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:padding-box;border:2px solid #0000}.workspace-students .student-list::-webkit-scrollbar-track{background:0 0}.student-card-full>.profile-content::-webkit-scrollbar-track{background:0 0}.workspace-students .student-card-full{flex-direction:column;display:flex;overflow:hidden}.workspace-students .student-card-full>.profile-actions,.workspace-students .student-card-full>.profile-person,.workspace-students .student-card-full>.tabs,.workspace-students .student-card-full>.lock-banner,.workspace-students .student-card-full>.inline-error,.workspace-students .student-card-full>.year-registration-banner{flex:none}.workspace-students .student-card-full>.profile-content{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:auto;min-height:0;max-height:none;overflow-y:auto}.workspace-students .student-card-full>.card-loading,.workspace-students .student-card-full>.card-error{flex:auto;min-height:0}.workspace-lists{flex-direction:column;min-height:0;display:flex;overflow:hidden}.workspace-lists>.topbar{flex:none}.workspace-lists>.lists-view{flex-direction:column;flex:auto;min-height:0;display:flex}.workspace-lists>.lists-view>.inline-error,.workspace-lists>.lists-view>.lists-heading-row,.workspace-lists>.lists-view>.entity-filter-bar{flex:none}.workspace-lists>.lists-view>.groups-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.workspace-lists .groups-panel>header{flex:none}.workspace-lists .groups-panel>.groups-table-frame{flex:auto;min-height:0}.workspace-lists .groups-table-body{scrollbar-gutter:stable;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:auto;min-height:0;overflow-y:auto}.workspace-lists .groups-table-body::-webkit-scrollbar{width:9px}.workspace-lists .groups-table-body::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:padding-box;border:2px solid #0000}.workspace-lists .groups-table-body::-webkit-scrollbar-track{background:0 0}.groups-table-frame{overscroll-behavior-inline:contain;flex-direction:column;max-width:100%;display:flex;overflow-x:auto}.groups-table{table-layout:fixed}.groups-table-head-frame{scrollbar-gutter:stable;scrollbar-width:thin;flex:none;overflow:hidden}.groups-table-head{box-shadow:inset 0 -1px var(--border-subtle)}.groups-table-head-frame,.groups-table-body{min-width:760px;overflow-x:hidden}.groups-table td:last-child{width:auto;padding-left:15px}.group-name-cell{align-items:center;gap:10px;display:flex}.group-name-cell>div{min-width:0}.group-roster-toggle{border:1px solid var(--border-subtle);border-radius:var(--ui-radius);background:var(--surface-card);width:22px;height:22px;color:var(--text-muted);font:inherit;font-size:var(--font-size-body);line-height:var(--line-height-icon);cursor:pointer;flex:none;place-items:center;padding:0;display:grid}.group-roster-toggle:hover,.group-roster-toggle[aria-expanded=true]{background:var(--accent-tint-strong);color:var(--ink)}.group-roster-toggle:focus-visible{outline:2px solid var(--brand-pink);outline-offset:1px}.groups-table .group-roster-preview td{background:var(--surface-subtle);border-top:0;height:auto;padding:6px 15px 12px 47px}.group-roster-preview ol{columns:180px;font-size:var(--font-size-caption);column-gap:16px;margin:0;padding:0;list-style-position:inside}.group-roster-preview li{break-inside:avoid;padding-block:2px}.group-roster-preview a{color:var(--ink);text-decoration:none}:is(.group-roster-preview a:hover,.group-roster-preview a:focus-visible){text-decoration:underline}.group-roster-note{color:var(--text-faint);font-size:var(--font-size-caption);margin:0}.workspace-staff{flex-direction:column;min-height:0;display:flex;overflow:hidden}.workspace-staff>.topbar{flex:none}.workspace-staff>.resizable-split{flex:auto;align-items:stretch;width:100%;min-height:0;display:grid;overflow:hidden}.workspace-staff>.resizable-split>.list-card,.workspace-staff>.resizable-split>.profile-card{height:100%;min-height:0;margin:0;position:relative;top:auto}.workspace-staff>.resizable-split>.list-card{flex-direction:column;display:flex}.workspace-staff>.resizable-split.staff-single{grid-template-columns:minmax(0,1fr)}.workspace-staff .list-toolbar,.workspace-staff .list-footer{flex:none}.workspace-staff .staff-list{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:auto;min-height:0;overflow-y:auto}.workspace-staff .staff-heading{scrollbar-gutter:stable;scrollbar-width:thin;overflow-y:auto}.workspace-staff .teacher-profile{flex-direction:column;display:flex;overflow:hidden}.workspace-staff .teacher-profile>.profile-actions,.workspace-staff .teacher-profile>.profile-person,.workspace-staff .teacher-profile>.tabs,.workspace-staff .teacher-profile>.lock-banner,.workspace-staff .teacher-profile>.inline-error{flex:none}.workspace-staff .teacher-profile>.profile-content{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:auto;min-height:0;max-height:none;overflow-y:auto}.workspace-staff .teacher-profile>.card-loading,.workspace-staff .teacher-profile>.card-error{flex:auto;min-height:0}.workspace-staff .staff-list::-webkit-scrollbar{width:9px}.workspace-staff .teacher-profile>.profile-content::-webkit-scrollbar{width:9px}.workspace-staff .staff-list::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:padding-box;border:2px solid #0000}.workspace-staff .teacher-profile>.profile-content::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:padding-box;border:2px solid #0000}.workspace-staff .staff-list::-webkit-scrollbar-track{background:0 0}.workspace-staff .teacher-profile>.profile-content::-webkit-scrollbar-track{background:0 0}.workspace-invoices{flex-direction:column;min-height:0;display:flex;overflow:hidden}.workspace-invoices>.topbar{flex:none}.workspace-invoices>.invoices-view{flex-direction:column;flex:auto;min-height:0;display:flex}.workspace-invoices>.invoices-view>.invoice-department-tabs{flex:none}.workspace-invoices>.invoices-view>.invoices-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.workspace-invoices>.invoices-view>.billing-runs-panel{scrollbar-gutter:stable;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:auto;align-content:start;min-height:0;overflow-y:auto}.workspace-invoices>.invoices-view>.billing-runs-panel.billing-runs-panel-list{flex-direction:column;display:flex}.billing-runs-panel-list>*{flex:none}.billing-runs-panel-list>.billing-table-frame{flex:auto;min-height:min(292px,40vh);max-height:none}.workspace-invoices .invoices-panel>header,.workspace-invoices .invoices-panel>.list-footer{flex:none}.workspace-invoices .invoices-panel>.invoices-table-frame{flex:auto;min-height:0}.workspace-invoices .invoices-table-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:auto;min-height:0;overflow-y:auto}.workspace-invoices .invoices-table-body::-webkit-scrollbar{width:9px}.workspace-invoices .invoices-table-body::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:padding-box;border:2px solid #0000}.workspace-invoices .invoices-table-body::-webkit-scrollbar-track{background:0 0}.invoices-table-frame{overscroll-behavior-inline:contain;flex-direction:column;max-width:100%;display:flex;overflow-x:auto}.invoices-table{table-layout:fixed}.invoices-table-head{min-width:1980px;box-shadow:inset 0 -1px var(--border-subtle);flex:none}.invoices-table-body{min-width:1980px;overflow-x:hidden}.invoices-table td:last-child{width:auto;padding-left:15px}.load-error-notice{z-index:1450;border:1px solid var(--danger-border);border-left:4px solid var(--danger-text);border-radius:var(--ui-radius);background:linear-gradient(var(--danger-tint), var(--danger-tint)), var(--surface-card);width:min(640px,100vw - 32px);color:var(--danger-text);font-size:var(--font-size-small);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:14px 16px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 18px 54px #00101759}.load-error-notice strong{margin-bottom:3px;display:block}.load-error-notice ul,.load-error-notice p{margin:0}.load-error-notice ul{padding-left:17px}@media (min-width:761px) and (min-height:700px){.workspace-audit{flex-direction:column;min-height:0;display:flex;overflow:hidden}.workspace-audit>.topbar{flex:none}.workspace-audit>.audit-manager{flex-direction:column;flex:auto;min-height:0;display:flex}.workspace-audit>.audit-manager>.audit-toolbar,.workspace-audit>.audit-manager>.audit-summary,.workspace-audit>.audit-manager>.error-banner,.workspace-audit>.audit-manager>.audit-pagination{flex:none}.workspace-audit>.audit-manager>.audit-table-scroll,.workspace-audit>.audit-manager>.loading-state,.workspace-audit>.audit-manager>.empty-state{flex:auto;min-height:0}.workspace-audit .audit-table-scroll{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex-direction:column;display:flex;overflow-y:hidden}.workspace-audit .audit-table-scroll::-webkit-scrollbar{height:9px}.workspace-audit .audit-table-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:padding-box;border:2px solid #0000}.workspace-audit .audit-table-scroll::-webkit-scrollbar-track{background:0 0}.workspace-audit .audit-table{flex-direction:column;flex:auto;min-height:0;display:flex}.workspace-audit .audit-table-header{flex:none}.workspace-audit .audit-event-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:auto;min-height:0;overflow:hidden auto}.workspace-audit .audit-event-list::-webkit-scrollbar{width:9px}.workspace-audit .audit-event-list::-webkit-scrollbar-thumb{background:var(--scrollbar);background-clip:padding-box;border:2px solid #0000}.workspace-audit .audit-event-list::-webkit-scrollbar-track{background:0 0}}.layout-divider{cursor:col-resize;touch-action:none;background:0 0;border:0;place-items:center;width:17px;min-height:100%;padding:0;display:grid;position:relative}.layout-divider:before{content:"";background:var(--border-strong);opacity:0;transition:opacity .12s,background-color .12s;position:absolute;inset:0 5px}.layout-divider span{background:var(--scrollbar);border-radius:4px;width:7px;height:47px;transition:background-color .12s;position:sticky;top:calc(50vh - 24px)}.layout-divider span:before{content:"";background:var(--surface-card);width:3px;height:3px;box-shadow:0 -7px var(--surface-card), 0 7px var(--surface-card);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.layout-divider:hover:before{opacity:1;background:#00adef1c}.layout-divider:focus-visible:before{opacity:1;background:#00adef1c}:is(.layout-divider:hover span,.layout-divider:focus-visible span){background:var(--brand-cyan)}:is(body:has(.modal-backdrop) .layout-divider,body:has(.modal-backdrop) .sidebar-resize-handle){visibility:hidden;pointer-events:none}.modal{resize:both;outline:1px solid #0000;min-width:min(420px,100vw - 48px);max-width:calc(100vw - 48px);min-height:260px;max-height:calc(100vh - 48px);transition:outline-color .12s;position:relative}.modal:hover{outline-color:#00adef26}.modal>header{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;min-height:64px}.modal>header:active{cursor:grabbing}.modal>header>div{min-width:0}.modal>header .modal-close-button{border:1px solid var(--border-control);border-radius:var(--ui-radius);background:var(--surface-control);width:40px;height:40px;color:var(--text-muted);cursor:pointer;line-height:var(--line-height-icon);flex:0 0 40px;align-self:center;place-items:center;margin:0;padding:0;transition:background-color .1s,color .1s,border-color .1s;display:grid}.modal-close-button svg{width:18px;height:18px}.modal>header .modal-close-button:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--danger-border);background:var(--danger-tint);color:var(--danger)}.modal>header .modal-close-button:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:3px}.modal>header .modal-close-button:active:not(:disabled):not([aria-disabled=true]){border-color:var(--danger);background:var(--danger);color:var(--surface-card)}.modal>header .modal-close-button:disabled,.modal>header .modal-close-button[aria-disabled=true]{opacity:.5;cursor:default}body.window-dragging{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.modal.modal-drag-active{will-change:transform}.student-row,.staff-row,.audit-event-list>button{content-visibility:auto;contain-intrinsic-size:auto 78px}.student-list,.staff-list,.audit-event-list{contain:layout style}.resizable-split>.list-card{contain:layout paint}body.layout-resizing .list-card,body.layout-resizing .profile-card,body.layout-resizing .workspace{transition:none!important}.lock-conflict-backdrop{background:radial-gradient(circle at 18% 14%,#00adef29 0,#0000 32%),radial-gradient(circle at 84% 86%,#e100971c 0,#0000 30%),#071a22c9}.lock-conflict-modal{border-color:var(--text-strike);border-top-color:var(--accent);background:var(--surface-card);width:min(570px,100vw - 32px);min-width:min(440px,100vw - 32px);height:auto;min-height:0;overflow:hidden}.lock-conflict-modal>header{border-bottom:1px solid var(--border-strong);background:linear-gradient(90deg, var(--surface-field), var(--surface-card) 72%);min-height:76px;padding:21px 26px 19px}.lock-conflict-modal>header:after{background:var(--pink);width:74px;left:26px}.lock-conflict-modal>header span{color:var(--text-label);font-size:var(--font-size-small);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase}.lock-conflict-modal>header h2{font-size:var(--font-size-title);line-height:var(--line-height-heading);color:var(--text);margin-top:5px}.lock-conflict-content{gap:22px;padding:26px;display:grid}.lock-conflict-intro{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:17px;display:grid}.lock-conflict-icon{border:1px solid var(--accent-border-strong);background:var(--accent-tint);width:58px;height:58px;color:var(--accent-text);box-shadow:inset 3px 0 0 var(--pink);place-items:center;display:grid}.lock-conflict-icon svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.lock-conflict-intro strong{color:var(--text);font-size:var(--font-size-subtitle);line-height:var(--line-height-compact);margin:1px 0 7px;display:block}.lock-conflict-intro p{color:var(--text-muted);font-size:var(--font-size-body);line-height:var(--line-height-relaxed);margin:0}.lock-conflict-details{border:1px solid var(--border-control);background:var(--surface-inset);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.lock-conflict-details>div{border-right:1px solid var(--border-control);border-bottom:1px solid var(--border-control);min-width:0;padding:13px 15px}.lock-conflict-details>div:nth-child(2){border-right:0}.lock-conflict-details>div:last-child{border-bottom:0;border-right:0;grid-column:1/-1}.lock-conflict-details dt{color:var(--text-caption);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;margin:0 0 5px}.lock-conflict-details dd{color:var(--text);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body);overflow-wrap:anywhere;margin:0}.lock-conflict-details>div:nth-child(2n){border-right:0}.lock-conflict-details>div:nth-last-child(-n+2){border-bottom:0}.lock-conflict-details>div:last-child{grid-column:auto}.lock-conflict-actions{border-top:1px solid var(--border-strong);background:var(--surface-field);justify-content:flex-end;align-items:center;gap:8px;min-height:64px;padding:12px 26px;display:flex}.lock-request-sent{border-left:3px solid var(--ok-text);background:var(--ok-tint);color:var(--ok-text);font-size:var(--font-size-small);margin:0;padding:11px 13px}.lock-request-rejected{border-left:3px solid var(--danger);background:var(--surface-card);color:var(--danger-text);font-size:var(--font-size-small);line-height:var(--line-height-body);margin:0;padding:11px 13px}.lock-request-rejected strong{color:var(--danger-text)}.lock-conflict-available{border:1px solid var(--ok-border);border-left:4px solid var(--ok-text);background:var(--ok-tint);gap:5px;padding:18px;display:grid}.lock-conflict-available strong{color:var(--ok-text);font-size:var(--font-size-subtitle)}.lock-conflict-available span{color:var(--text-muted);font-size:var(--font-size-body)}.lock-state-offline .lock-conflict-icon{border-color:var(--danger-border);background:var(--danger-tint);color:var(--danger-text)}.lock-state-idle .lock-conflict-icon{border-color:var(--warn-border);background:var(--warn-tint);color:var(--warn-text)}.lock-state-background .lock-conflict-icon{border-color:var(--violet-border);background:var(--surface-page);color:var(--violet-text)}.release-request-notice{z-index:1450;border:1px solid var(--accent-border-strong);border-top:4px solid var(--pink);background:var(--surface-card);width:min(500px,100vw - 32px);color:var(--text);gap:14px;padding:18px;animation:.16s ease-out release-request-in;display:grid;position:fixed;top:24px;right:24px;box-shadow:0 18px 54px #00101759}.edit-lease-notice,.edit-idle-notice{border:1px solid var(--warn-border);background:var(--warn-tint);color:var(--warn-text);border-radius:6px;flex:none;justify-content:space-between;align-items:center;gap:18px;margin:14px 18px 0;padding:12px 14px;display:flex}.edit-lease-notice>div,.edit-idle-notice>div{gap:3px;display:grid}.edit-lease-notice span,.edit-idle-notice span{font-size:var(--font-size-small);line-height:var(--line-height-body)}.edit-idle-notice{border-color:var(--accent-border-strong);background:var(--accent-tint);color:var(--accent-text)}.edit-lease-notice-lost,.edit-lease-notice-auth-required{border-color:var(--danger-border);background:var(--danger-tint);color:var(--danger-text)}.release-request-notice>div:first-child{gap:5px;display:grid}.release-request-notice b{font-size:var(--font-size-body);font-weight:var(--font-weight-bold)}.release-request-notice span{color:var(--text-muted);font-size:var(--font-size-small);line-height:var(--line-height-body)}.release-request-notice>div:last-child{justify-content:flex-end;gap:8px;display:flex}@keyframes release-request-in{0%{opacity:0;transform:translateY(-10px)}}.closed-row td{opacity:.62}.closed-badge{border:1px solid var(--danger-border);border-radius:var(--ui-radius);background:var(--surface-card);color:var(--danger-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);vertical-align:middle;white-space:nowrap;margin-left:8px;padding:2px 7px}.closed-notice{border:1px solid var(--danger-border);border-left:3px solid var(--danger-border);border-radius:var(--ui-radius);background:var(--surface-card);gap:3px;margin-bottom:14px;padding:11px 13px;display:grid}.closed-notice strong{color:var(--danger-text);font-size:var(--font-size-small)}.closed-notice span{color:var(--text-muted);font-size:var(--font-size-small)}.groups-panel-tools{align-items:center}.inline-toggle{color:var(--text-muted);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.inline-toggle input{width:15px;height:15px;accent-color:var(--brand-cyan);cursor:pointer;margin:0}.section-heading-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px;display:flex}.section-heading-row>h3{margin:0}.row-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.enrollment-period-cell{white-space:normal}.enrollment-started-on{min-width:66px;font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);display:inline-block}.enrollment-row-action>.row-actions{grid-area:1/2/-1;justify-content:flex-end;align-self:center}.enrollment-row-action>.enrollment-staff{color:var(--text-secondary)}.group-student-name-link{width:fit-content;color:var(--brand-cyan-dark);border-radius:var(--ui-radius-subtle);text-decoration:none}.group-student-name-link:hover{color:var(--blue);text-underline-offset:2px;text-decoration:underline}.group-student-name-link:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:3px}.past-enrollments{margin-top:10px}.past-enrollments>summary{color:var(--brand-cyan-dark);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);cursor:pointer;padding:7px 0}.past-enrollments[open]>summary{margin-bottom:7px}.past-enrollments .enrollment-list article{background:var(--surface-subtle)}.date-prompt-modal{resize:none;width:min(440px,100%);min-height:0}.date-prompt-body{gap:12px;padding-bottom:4px;display:grid}.period-note{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-field);justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.period-note>span{color:var(--muted);font-size:var(--font-size-small)}.history-period{border-left:2px solid var(--brand-cyan);border-radius:0 var(--ui-radius) var(--ui-radius) 0;background:var(--surface-control);color:var(--text-body-muted);font-size:var(--font-size-small);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);margin-top:7px;padding:6px 9px}.field-hint{color:var(--muted);font-size:var(--font-size-caption);margin:0}.record-form .field-hint{margin-top:9px}.date-prompt-modal form>footer,.student-picker-modal>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:16px;padding:14px 22px 18px;display:flex}.student-picker-results{scrollbar-width:thin;gap:6px;max-height:320px;padding-right:5px;display:grid;overflow:hidden auto}.student-picker-results button{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);text-align:left;cursor:pointer;gap:3px;width:100%;padding:9px 11px;display:grid}.student-picker-results button:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--brand-cyan);background:var(--accent-tint-strong)}.student-picker-results button:disabled,.student-picker-results button[aria-disabled=true]{opacity:.5;cursor:default}.student-picker-selection-bar{border:1px solid var(--border-strong);border-radius:var(--ui-radius);background:var(--surface-field);justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:7px 9px;display:flex}.student-picker-selection-bar>strong{color:var(--brand-cyan-dark);font-size:var(--font-size-small);white-space:nowrap}.student-choice-row{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--surface-card);cursor:pointer;grid-template-columns:19px minmax(0,1fr);align-items:start;gap:10px;width:100%;min-height:72px;padding:11px 12px;transition:border-color .12s,background-color .12s,box-shadow .12s;display:grid}.student-choice-row:hover:not(.already-enrolled){border-color:var(--accent-border-strong);background:var(--accent-tint-strong)}.student-choice-row.selected{border-color:var(--brand-cyan);background:var(--accent-tint);box-shadow:inset 3px 0 0 var(--brand-cyan)}.student-choice-row.already-enrolled{border-color:var(--border);background:var(--surface-field);color:var(--text-label);cursor:default}.picker-group{gap:6px;display:grid}.picker-group:first-child h4{margin-top:0}.picker-group h4{color:var(--text-caption);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);margin:10px 0 2px}.student-picker-results strong{overflow-wrap:anywhere;min-width:0;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact)}.student-picker-results small{color:var(--muted);font-size:var(--font-size-caption)}.student-choice-meta{overflow-wrap:anywhere;min-width:0;line-height:var(--line-height-compact)}.student-choice-availability{border-radius:var(--ui-radius);background:var(--ok-tint);overflow-wrap:anywhere;width:fit-content;max-width:100%;font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);padding:3px 7px;color:var(--ok-text)!important;font-size:var(--font-size-caption)!important}.group-students-table th,.group-students-table td{overflow-wrap:anywhere;min-width:0}.group-student-history-row>td{background:var(--surface-subtle);border-top:0!important;padding:0 12px 9px!important}.group-student-history>summary{width:fit-content;color:var(--text-muted);cursor:pointer;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);padding:5px 0}.group-student-periods{gap:6px;padding:5px 0 4px;display:grid}.group-student-period{border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--surface-card);grid-template-columns:90px minmax(170px,1fr) auto;align-items:center;gap:10px;min-height:34px;padding:5px 7px;display:grid}.group-student-period>strong{color:var(--text-body-muted);font-size:var(--font-size-small);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric)}.scheduled-enrollment{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);margin-top:3px;display:block;color:var(--accent-text-strong)!important}.student-membership-status>span{max-width:100%;line-height:var(--line-height-compact)}.student-membership-status.current .enrollment-started-on{color:var(--text-body-muted);font-weight:var(--font-weight-semibold)}.inactive-students-heading{align-items:flex-start}.inactive-students-heading h3{margin:0}.inactive-students-heading p{color:var(--muted);font-size:var(--font-size-caption);margin:4px 0 0}.student-picker-date{border:1px solid var(--accent-border);border-radius:var(--ui-radius);background:var(--surface-control);padding:11px 12px}.student-picker-date-block{grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;display:grid}.student-picker-date-block .unknown-start-check{margin-top:0}@media (max-width:720px){.student-picker-modal{width:100%}.student-picker-body{padding-inline:16px}.student-picker-modal>footer{flex-wrap:wrap;padding-inline:16px}.student-picker-actions>span{width:100%}.group-student-period{grid-template-columns:1fr}}.tariff-choice{cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:3px 10px;margin-top:12px;display:grid}.tariff-choice input{margin-top:3px}.tariff-choice small{color:var(--text-muted);font-size:var(--font-size-small);grid-column:2}.tariff-choice-date{max-width:220px;margin:8px 0 0 26px}.tariff-choice-note{margin:6px 0 0 26px}.trash-dialog{resize:none;width:min(480px,100%);min-height:0}.trash-dialog-body{gap:10px;display:grid}.trash-dialog-body p{margin:0}.trash-dialog-list{gap:6px;margin:0;padding-left:18px;list-style:outside;display:grid}.unknown-start-check{margin-top:10px}.enrollment-row-action>.contract-migrated{color:var(--warn-text)}.modal.form-dialog{flex-direction:column;display:flex;overflow:hidden}.modal.form-dialog>header{flex:none}.modal.form-dialog>form{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.modal.form-dialog .date-prompt-body{flex:auto;min-height:0;overflow-y:auto}.modal.form-dialog form>footer{flex:none}.contracts-note{flex-wrap:wrap;margin-bottom:8px}.contracts-note>span{flex:240px}.student-roster-section{--roster-border:var(--border);--roster-soft:var(--surface-subtle);--roster-muted:#718087}.group-detail-body>.student-roster-section{padding-top:20px}.student-roster-heading{min-height:42px;margin-bottom:13px}.student-roster-title{grid-template-columns:9px minmax(0,auto);align-items:center;gap:10px;min-width:0;display:grid}.student-roster-title>div{min-width:0}.student-roster-title-line{align-items:baseline;gap:7px;display:flex}.group-detail-body .student-roster-title h3{color:var(--text-secondary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact);letter-spacing:var(--letter-spacing-tight);text-transform:none;margin:0}.student-roster-title p{color:var(--roster-muted);font-size:var(--font-size-caption);line-height:var(--line-height-compact);margin:3px 0 0}.roster-section-dot{background:var(--scrollbar);width:8px;height:8px;box-shadow:0 0 0 4px var(--surface-key);border-radius:50%}.roster-section-dot.current{background:var(--ok-text);box-shadow:0 0 0 4px var(--ok-tint)}.roster-section-dot.undated{background:var(--accent-text-strong);box-shadow:0 0 0 4px var(--accent-tint)}.roster-section-count{color:var(--text-caption);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);align-items:center;display:inline-flex}.roster-section-count:before{content:"·";color:var(--text-ghost);margin-right:7px}.group-students-table.table-scroll{border:1px solid var(--roster-border);border-radius:var(--ui-radius);background:var(--surface-card);overflow-x:auto}.group-students-table table{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:700px}.group-students-table th,.group-students-table td,.group-students-table th:last-child,.group-students-table td:last-child{overflow-wrap:anywhere;width:auto;min-width:0;padding-left:12px;padding-right:12px}.group-students-table th{border-bottom:1px solid var(--roster-border);background:var(--roster-soft);height:39px;color:var(--text-caption);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps)}.group-students-table tbody>tr:first-child>td{background:var(--surface-card);height:66px;color:var(--text-muted);vertical-align:middle;border-top:0;transition:background-color .12s}.group-students-table tbody+tbody>tr:first-child>td{border-top:1px solid var(--roster-border)}.group-students-table tbody:hover>tr:first-child>td,.group-students-table tbody:hover>.group-student-history-row>td{background:var(--surface-inset)}.group-student-name-link{max-width:100%;color:var(--text-secondary);line-height:var(--line-height-compact);text-decoration:none}.group-student-name-link strong{font-weight:var(--font-weight-semibold)}.group-student-name-link:hover{color:var(--brand-cyan-dark);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.group-students-table td>small{color:var(--text-faint)}.student-membership-status{flex-direction:column;align-items:flex-start;gap:5px;min-width:0;display:flex}.roster-status-badge{color:var(--text-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.roster-status-badge:before{content:"";background:#9ca9ae;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.roster-status-badge.current{color:var(--ok-text)}.roster-status-badge.current:before{background:var(--ok-text)}.roster-status-badge.leaving{color:var(--danger-text)}.roster-status-badge.leaving:before{background:var(--danger-border)}.roster-status-badge.future,.roster-status-badge.undated{color:var(--accent-text-strong)}.roster-status-badge.future:before,.roster-status-badge.undated:before{background:var(--accent-text-strong)}.roster-status-badge.past,.roster-status-badge.neutral{color:var(--text-label)}.roster-period-date,.student-membership-status.current .enrollment-started-on{min-width:0;color:var(--text-label);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);white-space:nowrap}.scheduled-enrollment{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact);margin-top:5px;color:var(--text-muted)!important}.roster-action-cell{white-space:normal}.roster-action-placeholder{color:var(--text-ghost);text-align:center;display:block}.group-student-history-row>td,.group-students-table tbody:hover>.group-student-history-row>td{background:var(--surface-card);height:auto;border-top:0!important;padding:0 12px 10px!important}.group-student-history{width:100%}.group-student-history>summary{width:fit-content;min-height:26px;color:var(--text-label);cursor:pointer;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);align-items:center;gap:6px;padding:2px 4px 2px 0;list-style:none;display:inline-flex}.group-student-history>summary::-webkit-details-marker{display:none}.group-student-history>summary:hover{color:var(--brand-cyan-dark)}.history-disclosure{border:1px solid var(--border-control);border-radius:var(--ui-radius-subtle);background:var(--surface-field);place-items:center;width:18px;height:18px;display:grid}.history-disclosure svg{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px;transition:transform .12s}.group-student-history[open] .history-disclosure svg{transform:rotate(90deg)}.group-student-periods{border-left:1px solid var(--border-control);gap:0;margin:3px 0 4px 9px;padding:3px 0 2px 17px;display:grid}.group-student-period{border:0;border-bottom:1px solid var(--border-subtle);background:0 0;border-radius:0;grid-template-columns:108px minmax(170px,1fr) auto;align-items:center;gap:12px;min-height:36px;padding:6px 0;display:grid}.group-student-period:last-child{border-bottom:0}.enrollment-period-state{color:var(--text-label);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);align-items:center;gap:6px;display:inline-flex}.enrollment-period-state i{background:var(--text-ghost);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.enrollment-period-state.current{color:var(--ok-text)}.enrollment-period-state.current i{background:var(--ok-text)}.enrollment-period-state.future,.enrollment-period-state.undated{color:var(--text-muted)}.enrollment-period-state.future i,.enrollment-period-state.undated i{background:var(--accent-text-strong)}.enrollment-period-dates{color:var(--text-muted);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric)}.inactive-group-students{opacity:1}.student-picker-modal{width:min(720px,100%)}.student-picker-body{gap:16px;padding:22px 24px 0;display:grid}.student-picker-controls{border:1px solid var(--border-strong);border-radius:var(--ui-radius);background:var(--surface-field);grid-template-columns:minmax(170px,.42fr) minmax(240px,1fr);align-items:start;gap:14px;padding:15px;display:grid}.student-picker-controls .record-field{min-width:0;margin:0}.student-picker-controls>.record-field:only-child{grid-column:1/-1}.student-choice-row:not(:has(.student-choice-availability)){grid-template-columns:19px minmax(0,1fr)}.student-picker-controls .record-field>span:first-child{color:var(--text-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);margin-bottom:7px}.student-picker-controls .record-field input{border-color:var(--border-control);background:var(--surface-card)}.student-picker-date{background:0 0;border:0;border-radius:0;padding:0}.student-picker-date>small{color:var(--text-caption);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);margin-top:6px}.student-picker-list{border:1px solid var(--border-strong);border-radius:var(--ui-radius);background:var(--surface-card);min-height:0;overflow:hidden}.student-picker-views{border-bottom:1px solid var(--border-strong);justify-content:space-between;align-items:center;gap:12px;padding-right:12px;display:flex}.student-picker-views .tabs{border-bottom:0;padding:0 6px}.student-picker-elsewhere,.student-picker-actions .student-picker-selected-count{min-height:0;color:var(--brand-cyan-dark);cursor:pointer;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.student-picker-actions .student-picker-selected-count{margin-right:auto}.student-picker-selection-bar{border:0;border-bottom:1px solid var(--border-strong);background:var(--surface-field);border-radius:0;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:8px 12px;display:flex}.student-picker-select-all{color:var(--text-body-muted);cursor:pointer;font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);align-items:center;gap:9px;display:flex}.student-picker-select-all.disabled{opacity:.5;cursor:default}.student-picker-availability-summary{color:var(--text-caption);font-size:var(--font-size-caption);white-space:nowrap}.student-picker-availability-summary strong{color:var(--text-body-muted);font-size:inherit;font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric)}.student-picker-results{scrollbar-width:thin;height:350px;max-height:350px;padding:0;display:block;overflow:hidden auto}.student-choice-row{border:0;border-bottom:1px solid var(--border-subtle);background:var(--surface-card);cursor:pointer;border-radius:0;grid-template-columns:19px minmax(0,1fr) minmax(118px,auto);align-items:center;gap:11px;width:100%;min-height:64px;padding:11px 13px;transition:background-color .12s;display:grid}.student-choice-row:last-of-type{border-bottom:0}.student-choice-row:hover:not(.already-enrolled){background:var(--surface-control);border-color:#0000}.student-choice-row.selected{background:var(--accent-tint-strong);box-shadow:inset 3px 0 0 var(--brand-cyan);border-color:#0000}.student-choice-row.already-enrolled{background:var(--surface-subtle);color:var(--text-caption);cursor:default;border-color:#0000}.student-choice-row input,.student-picker-select-all input{-webkit-appearance:none;appearance:none;border:1px solid var(--text-strike);border-radius:var(--ui-radius-subtle);background:var(--surface-card);width:18px;height:18px;cursor:inherit;margin:0}.student-choice-row>input{margin-top:0}.student-choice-row input:checked,.student-picker-select-all input:checked,.student-picker-select-all input:indeterminate{border-color:var(--brand-cyan);background-color:var(--brand-cyan);background-position:50%;background-repeat:no-repeat;background-size:13px 13px}.student-choice-row input:checked,.student-picker-select-all input:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='m3.5 8.3 2.8 2.8 6.2-6.2'/%3E%3C/svg%3E")}.student-picker-select-all input:indeterminate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-width='2.2' d='M4 8h8'/%3E%3C/svg%3E")}:is(.student-choice-row input:focus-visible,.student-picker-select-all input:focus-visible){outline:2px solid var(--brand-cyan);outline-offset:2px}.student-choice-copy{gap:4px;min-width:0;display:grid}.student-choice-copy>strong{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact)}.student-choice-meta{overflow-wrap:anywhere;min-width:0;line-height:var(--line-height-compact);color:var(--text-caption)!important;font-size:var(--font-size-caption)!important}.student-choice-availability{overflow-wrap:anywhere;width:auto;max-width:180px;font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact);text-align:right;background:0 0;border-radius:0;justify-self:end;align-items:flex-start;gap:6px;padding:0;display:inline-flex;color:var(--ok-text)!important;font-size:var(--font-size-caption)!important}.student-choice-availability i{background:var(--ok-text);border-radius:50%;flex:0 0 6px;width:6px;height:6px;margin-top:3px}.student-choice-availability.returning{background:0 0;color:var(--text-muted)!important}.student-choice-availability.returning i{background:var(--accent-text-strong)}.student-choice-availability.blocked{background:0 0;color:var(--text-caption)!important}.student-choice-availability.blocked i{background:var(--text-ghost)}.student-picker-sentinel{height:1px}.student-picker-results>.muted-copy{place-items:center;min-height:92px;margin:0;padding:18px;display:grid}.student-picker-modal>footer.student-picker-actions{background:var(--surface-subtle);margin-top:18px;padding:14px 24px 18px}.student-picker-actions>span{color:var(--text-label);font-size:var(--font-size-caption);margin-right:auto}@media (max-width:720px){.student-roster-heading{flex-direction:column;align-items:stretch}.student-picker-modal{width:100%}.student-picker-body{padding-inline:16px}.student-picker-controls{grid-template-columns:1fr}.student-picker-modal>footer.student-picker-actions{flex-wrap:wrap;padding-inline:16px}.student-picker-actions>span,.student-picker-actions .student-picker-selected-count{text-align:left;width:100%}.student-choice-row{grid-template-columns:19px minmax(0,1fr)}.student-choice-availability{text-align:left;grid-column:2;justify-self:start;max-width:100%}.group-student-period{grid-template-columns:1fr;gap:5px}}@media (max-width:430px){.student-picker-selection-bar{flex-direction:column;align-items:flex-start}.student-picker-availability-summary{padding-left:27px}}@media (max-width:1100px){.audit-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-search-filter,.audit-date-presets{grid-column:1/-1}.audit-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-meta-grid>div:nth-child(2n){border-right:0}.audit-meta-grid>div:nth-last-child(-n+4){border-bottom:1px solid var(--line)}.audit-meta-grid>div:nth-last-child(-n+2){border-bottom:0}}@media (max-width:1200px){.sidebar-resize-handle{display:none}.resizable-split{grid-template-columns:1fr;gap:17px}.workspace-students>.resizable-split{grid-template-columns:minmax(250px, var(--split-left,44%)) minmax(300px, 1fr);gap:0}.workspace-staff>.resizable-split.staff-grid{grid-template-columns:minmax(340px, var(--split-left,54%)) 17px minmax(390px, 1fr);gap:0}.workspace-staff>.resizable-split.staff-grid>.layout-divider{display:block}.layout-divider{display:none}}@media (min-width:721px) and (max-width:1200px){.workspace{padding:24px 20px 28px}table,.groups-table-head-frame,.groups-table-body{min-width:640px}.billing-runs-table,.billing-invoices-table{table-layout:fixed;width:100%;min-width:0}.billing-runs-table th,.billing-runs-table td,.billing-invoices-table th,.billing-invoices-table td{white-space:normal;padding-inline:5px}.billing-runs-table td.wrap,.billing-invoices-table td.wrap{min-width:0}.billing-runs-table th:first-child{width:7%}.billing-runs-table th:nth-child(2){width:17%}.billing-runs-table th:nth-child(3){width:20%}.billing-runs-table th:nth-child(4){width:13%}.billing-runs-table th:nth-child(5){width:7%}.billing-runs-table th:nth-child(6){width:16%}.billing-runs-table th:nth-child(7){width:20%}.billing-runs-table th:nth-child(8),.billing-runs-table td:nth-child(8),.billing-invoices-table th:nth-child(3),.billing-invoices-table td:nth-child(3),.billing-invoices-table th:nth-child(n+6),.billing-invoices-table td:nth-child(n+6){display:none}.billing-invoices-table th:first-child{width:20%}.billing-invoices-table th:nth-child(2){width:32%}.billing-invoices-table th:nth-child(4){width:18%}.billing-invoices-table th:nth-child(5){width:30%}.billing-runs-table .billing-run-created-compact,.billing-invoices-table .billing-invoice-meta-compact{color:var(--text-faint);font-size:var(--font-size-caption);margin-top:3px;display:block}.billing-invoice-meta-compact small{margin-top:2px;display:block}}@media (min-width:721px) and (max-height:700px){.workspace-students,.workspace-lists{padding-top:10px;padding-bottom:10px}.workspace-students>.topbar,.workspace-lists>.topbar{margin-bottom:8px}.workspace-students>.student-stats-toggle-row{min-height:22px;margin:0 0 3px}.workspace-students .student-stats-toggle{height:22px}.workspace-students .student-toolbar{padding:6px 12px}.workspace-students .student-toolbar .search-field,.workspace-students .density-toggle{height:34px}.workspace-students .density-toggle-icon{width:34px}.workspace-students .student-chips{margin-top:4px}.workspace-students .list-heading{min-height:30px}.workspace-students .student-row-open{min-height:68px;padding-block:6px}.workspace-students .student-list-footer{min-height:36px;padding-block:4px}.workspace-lists>.lists-view{gap:7px}.workspace-lists .section-intro,.workspace-lists .entity-filter-bar>span,.workspace-lists .groups-panel .export-hint{display:none}.workspace-lists .entity-filter-bar{gap:0;padding:6px 10px}.workspace-lists .entity-filter{min-height:30px;padding-block:2px}.workspace-lists .entity-filter>span:first-child{width:22px;height:22px}.workspace-lists .groups-table th{height:31px}.workspace-lists .groups-table td{height:58px;padding-block:5px}}@media (max-width:760px){.audit-toolbar{grid-template-columns:1fr}.audit-search-filter,.audit-date-presets{grid-column:auto}.audit-date-presets{flex-wrap:wrap;align-items:stretch}.audit-date-presets>span{width:100%}.audit-date-presets .audit-reset-filters{margin-left:0}.audit-summary{grid-template-columns:1fr}.audit-summary>div{border-right:0;border-bottom:1px solid var(--line);min-height:58px}.audit-summary>div:last-child{border-bottom:0}.audit-event-list>button{contain-intrinsic-size:auto 78px;grid-template-columns:1fr auto;gap:5px 12px;height:auto;min-height:72px;padding:11px 14px}.audit-event-list>button>*{white-space:normal;overflow-wrap:anywhere;overflow:visible}.audit-event-list time,.audit-event-list>button strong,.audit-event-list>button small{grid-column:1/-1}.audit-event-list>button small{margin-top:4px}.audit-table-scroll{border:0;overflow:visible}.audit-table{min-width:0}.audit-table-header{display:none}.audit-event-list{border:1px solid var(--line)}.audit-pagination{flex-direction:column;align-items:stretch;gap:9px}.audit-pagination>div{justify-content:space-between}.audit-meta-grid{grid-template-columns:1fr}.audit-meta-grid>div{border-right:0;min-height:62px;border-bottom:1px solid var(--line)!important}.audit-meta-grid>div:last-child{border-bottom:0!important}.audit-technical dl>div{grid-template-columns:1fr;gap:5px}.modal{resize:none;min-width:0;max-width:100%;min-height:0;max-height:calc(100vh - 20px);width:100%!important}.modal>header .modal-close-button{flex-basis:44px;width:44px;height:44px}.lock-conflict-content{padding:20px 18px}.lock-conflict-intro{grid-template-columns:48px minmax(0,1fr);gap:13px}.lock-conflict-icon{width:48px;height:48px}.lock-conflict-details{grid-template-columns:1fr}.lock-conflict-details>div{border-right:0}.lock-conflict-details>div:last-child{grid-column:auto}.lock-conflict-actions{flex-direction:column;align-items:stretch;padding-inline:18px}.release-request-notice{width:calc(100vw - 16px);top:8px;right:8px}.release-request-notice>div:last-child{flex-direction:column}.edit-idle-notice{flex-direction:column;align-items:stretch}}.content-grid.resizable-split[data-collapsed=left]{grid-template-columns:0 17px minmax(0,1fr);gap:0}.content-grid.resizable-split[data-collapsed=right]{grid-template-columns:minmax(0,1fr) 17px 0;gap:0}.content-grid.resizable-split[data-collapsed=left]:not([data-resizing])>:first-child,.content-grid.resizable-split[data-collapsed=right]:not([data-resizing])>:nth-child(3){visibility:hidden;overflow:hidden}.content-grid.resizable-split[data-collapsed]>.layout-divider{display:grid}.content-grid.resizable-split[data-resizing]{grid-template-columns:var(--split-left) 17px minmax(0, 1fr);gap:0;position:relative}.content-grid.resizable-split[data-preview=left]>:first-child,.content-grid.resizable-split[data-preview=right]>:nth-child(3){visibility:hidden}.content-grid.resizable-split[data-preview]:after{content:"";border:1px solid var(--accent-border-strong);border-radius:var(--ui-radius);background:radial-gradient(120% 55% at 25% 18%, color-mix(in srgb, var(--brand-cyan) 22%, transparent), transparent 70%), radial-gradient(90% 50% at 85% 88%, color-mix(in srgb, var(--accent-border-strong) 60%, transparent), transparent 72%), color-mix(in srgb, var(--accent-tint) 75%, transparent);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);box-shadow:inset 0 0 40px color-mix(in srgb, var(--brand-cyan) 12%, transparent);pointer-events:none;position:absolute;top:0;bottom:0}.content-grid.resizable-split[data-preview=left]:after{width:var(--split-left);left:0}.content-grid.resizable-split[data-preview=right]:after{left:calc(var(--split-left) + 17px);right:0}@media (min-width:1201px){.app-shell[data-sidebar-collapsed] .sidebar,.app-shell[data-sidebar-preview] .sidebar{border-right:0;padding:0}.app-shell[data-sidebar-collapsed] .sidebar>:not(.sidebar-resize-handle){display:none}.app-shell[data-sidebar-preview] .sidebar>:not(.sidebar-resize-handle){visibility:hidden}.app-shell[data-sidebar-preview] .sidebar{background:radial-gradient(160% 40% at 30% 12%, color-mix(in srgb, var(--brand-cyan) 22%, transparent), transparent 70%), radial-gradient(140% 40% at 70% 90%, color-mix(in srgb, var(--accent-border-strong) 60%, transparent), transparent 72%), color-mix(in srgb, var(--accent-tint) 75%, transparent);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);box-shadow:inset 0 0 40px color-mix(in srgb, var(--brand-cyan) 12%, transparent)}.app-shell[data-sidebar-collapsed] .sidebar-resize-handle{right:-14px}.app-shell[data-sidebar-collapsed] .sidebar-resize-handle span,.app-shell[data-sidebar-preview] .sidebar-resize-handle span{opacity:1}}@media (max-width:720px){.family-columns{grid-template-columns:minmax(0,1fr)}.app-shell{flex-direction:column;display:flex}.sidebar{height:auto;box-shadow:none;border:0;flex:none;order:2;padding:0}.sidebar>:not(nav),.sidebar:before{display:none}.date-input-calendar{width:44px;height:100%;right:0}.date-input>.date-input-text{padding-right:46px}.sidebar nav{z-index:40;padding:4px max(8px, env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--surface-card);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid;position:static}.sidebar .nav-item,.sidebar .nav-item:not(.active){justify-content:center;gap:8px;width:auto;min-height:44px;padding:0 6px;display:flex}.sidebar .nav-item>span:not(.nav-icon){display:inline}.sidebar .nav-item small{display:none}.workspace{width:100%;height:auto;min-height:0;padding:env(safe-area-inset-top) max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));flex:1 1 0}.topbar{flex-wrap:nowrap;align-items:center;gap:8px;min-height:48px;margin:0}.topbar h1{font-size:var(--font-size-page-title-compact);line-height:var(--line-height-heading)}.top-actions{flex-direction:row;flex:none}.mobile-year-picker{flex:none}.mobile-year-picker select{width:136px;height:40px;font-size:var(--font-size-subtitle);padding:0 6px}.workspace-students>.list-card{flex-direction:column;flex:auto;min-height:0;margin:0;display:flex}.density-toggle,.search-field kbd,.student-chip-add,.student-chip-saved,.student-found{display:none}.student-toolbar{flex:none;padding:6px}.student-chips:not(:has(.student-chip)){display:none}.student-chips{flex-wrap:nowrap;margin-top:6px;overflow-x:auto}.student-chips>button{flex:none;min-height:36px}.search-field{height:40px;padding:0 8px}.student-toolbar .search-field input{font-size:var(--font-size-subtitle)}.student-row{padding:0 10px}.student-row-open{grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"avatar name status""avatar program program";gap:2px 8px;min-height:64px;padding:6px 0}.student-pinned{display:contents}.student-row-open .avatar{grid-area:avatar;width:32px;height:32px;display:grid}.student-name{grid-area:name}.student-name strong{white-space:normal;overflow-wrap:anywhere}.student-name small{margin-top:1px}.student-row-open>.status{grid-area:status;align-self:start;margin-top:1px;padding:2px 5px}.student-program{line-height:var(--line-height-compact);grid-area:program;align-items:baseline;gap:6px;display:flex}.student-program strong,.student-program small{min-width:0;margin:0}.student-program small{flex:1}.workspace-students .student-list{scrollbar-gutter:auto}.student-list-footer{border-top:1px solid var(--line);min-height:26px;padding:3px 10px}.student-list-footer>span{display:inline}.modal-backdrop:has(>.student-card-modal,>.group-detail-modal,>.student-picker-modal){padding:0}.student-card-modal,.group-detail-modal,.student-picker-modal{resize:none;border-radius:0;width:100%;min-width:0;max-width:none;height:100dvh;max-height:none}.student-card-modal .student-card-full>.profile-actions{display:none}.student-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.student-tabs>button{flex:none}.quick-call{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.file-toolbar{flex-wrap:wrap;gap:8px}.file-toolbar>div{flex-basis:100%;min-width:0}.file-toolbar>div>span{display:none}.file-toolbar>label{flex:1 1 0;justify-content:center;min-height:44px}.file-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px}.file-row>span{display:none}.file-row strong{line-height:var(--line-height-body)}.file-row small{overflow-wrap:anywhere}.file-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workspace-lists>.lists-view{gap:6px;overflow:hidden}.lists-heading-row,.entity-filter-bar>span,.groups-panel>header h3{display:none}.entity-filter-bar{box-shadow:none;background:0 0;border:0;padding:0}.entity-filter-bar>div{scrollbar-width:none;gap:5px;padding-bottom:2px}.entity-filter{gap:5px;min-height:40px;padding:4px 8px}.entity-filter>span:first-child{display:none}.groups-panel>header{border-top:0;flex-wrap:nowrap;align-items:center;gap:8px;min-height:28px;padding:3px 10px}.groups-panel>header span{font-weight:var(--font-weight-regular);text-transform:none;letter-spacing:var(--letter-spacing-normal);white-space:nowrap}.groups-panel>header>div.groups-panel-tools{width:auto}.groups-panel-tools .inline-toggle{min-height:36px}.groups-phone-list{scrollbar-width:thin;overscroll-behavior:contain;flex:1 1 0;min-height:0;margin:0;padding:0;list-style:none;overflow:hidden auto}.groups-phone-list button{border:0;border-bottom:1px solid var(--border-subtle);background:var(--surface-card);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:56px;padding:7px 10px;display:flex}.groups-phone-list button>span:first-child{gap:2px;min-width:0;display:grid}.groups-phone-list strong{overflow-wrap:anywhere;font-size:var(--font-size-body);line-height:var(--line-height-compact)}.groups-phone-list small{color:var(--muted);font-size:var(--font-size-small);overflow-wrap:anywhere}.groups-phone-list .count-pill{flex:none;min-width:28px}.groups-phone-list .closed-row{opacity:.6}.groups-panel-tools .export-hint{display:none}.group-detail-body{gap:12px;padding:10px 12px}.group-detail-body>section,.group-detail-body>.student-roster-section{padding-top:10px}.group-students-table table{min-width:0}.group-students-table table,.group-students-table tbody,.group-students-table tr,.group-students-table td{display:block}.group-students-table colgroup,.group-students-table thead,.group-students-table .group-student-history-row{display:none}.group-students-table tbody>tr:first-child{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:7px 10px;display:grid}.group-students-table tbody>tr:first-child>td,.group-students-table tbody+tbody>tr:first-child>td{border:0;height:auto;padding:0}.group-students-table tbody+tbody{border-top:1px solid var(--roster-border)}.group-students-table .enrollment-period-cell{text-align:right;justify-items:end;display:grid}.group-students-table .student-membership-status{align-items:flex-end}.group-students-table tbody>tr:first-child>td:nth-child(n+3){display:none}.student-roster-heading{flex-flow:wrap;align-items:center;gap:6px;margin-bottom:8px}.student-roster-heading p{display:none}.student-picker-modal .student-picker-body{flex:auto;grid-template-rows:auto minmax(0,1fr);min-height:0}.student-picker-modal .student-picker-list{flex-direction:column;min-height:0;display:flex}.student-picker-results{flex:auto;height:auto;min-height:0;max-height:none}.search-scope:not(.narrowed) span:nth-child(2){display:none}}.page-activity-overlay{z-index:10000;pointer-events:auto;overscroll-behavior:contain;cursor:wait;background:#163d4a24;outline:none;place-items:center;padding:20px;animation:.12s ease-out .3s both page-activity-appear;display:grid;position:fixed;inset:0;overflow:auto}.page-activity-overlay-progress{animation:none}.page-activity-card{overscroll-behavior:contain;border:1px solid var(--text-strike);border-radius:var(--ui-radius);background:var(--surface-card);width:min(520px,100%);max-height:calc(100dvh - 40px);color:var(--accent-text-deep);padding:24px;overflow-y:auto;box-shadow:0 12px 42px #163d4a26}.page-activity-heading{align-items:center;gap:18px;display:flex}.page-activity-heading>div{gap:5px;min-width:0;display:grid}.page-activity-card strong{font-size:var(--font-size-heading);line-height:var(--line-height-compact)}.page-activity-heading div>span{font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--text-muted)}.page-activity-progress{margin-top:18px}.page-activity-progress-heading{color:var(--text-muted);font-size:var(--font-size-small);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);justify-content:space-between;gap:12px;margin-bottom:7px;display:flex}.page-activity-progress-heading span:last-child{color:var(--accent-text-deep);font-weight:var(--font-weight-bold)}.page-activity-progress progress{-webkit-appearance:none;appearance:none;background:var(--border-strong);border:0;border-radius:999px;width:100%;height:10px;display:block;overflow:hidden}.page-activity-progress progress::-webkit-progress-bar{background:var(--border-strong)}.page-activity-progress progress::-webkit-progress-value{background:var(--brand-cyan,var(--accent))}.page-activity-progress progress::-moz-progress-bar{background:var(--brand-cyan,var(--accent))}.page-activity-progress p{font-size:var(--font-size-body);line-height:var(--line-height-body);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);overflow-wrap:anywhere;margin:8px 0 0}.page-activity-warning{border:1px solid var(--danger-border);border-radius:var(--ui-radius);background:var(--danger-tint);color:var(--danger-text);font-size:var(--font-size-small);line-height:var(--line-height-body);overflow-wrap:anywhere;margin-top:12px;padding:10px 12px}.page-activity-cancel{margin-top:14px}.page-activity-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 12px;display:grid}.page-activity-metrics>div{border-radius:var(--ui-radius);background:var(--surface-page);padding:10px 12px}.page-activity-details dt{font-size:var(--font-size-label);color:var(--text-muted)}.page-activity-details dd{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-semibold);font-family:var(--font-family-numeric);font-variant-numeric:var(--font-numeric);overflow-wrap:anywhere;margin:4px 0 0}.page-activity-hint,.page-activity-technical p{font-size:var(--font-size-small);line-height:var(--line-height-body);color:var(--text-muted);margin:10px 0 0}.page-activity-technical{border-top:1px solid var(--border-strong);cursor:default;margin-top:16px;padding-top:12px}.page-activity-technical summary{cursor:pointer;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);border-radius:var(--ui-radius-subtle)}.page-activity-technical summary:focus-visible{outline:2px solid var(--brand-cyan,var(--accent));outline-offset:4px}.page-activity-technical dl{margin:12px 0}.page-activity-technical dl>div{justify-content:space-between;align-items:baseline;gap:16px;padding:4px 0;display:flex}.page-activity-technical dd{font-size:var(--font-size-small);text-align:right}@media (max-width:420px){.page-activity-overlay{padding:12px}.page-activity-card{max-height:calc(100dvh - 24px);padding:16px}}.page-activity-spinner{border:3px solid var(--border-strong);border-top-color:var(--brand-cyan,var(--accent));border-right-color:var(--brand-pink,var(--pink));border-radius:50%;flex:0 0 36px;width:36px;height:36px;animation:.8s linear infinite page-activity-spin}@keyframes page-activity-spin{to{transform:rotate(360deg)}}@keyframes page-activity-appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.page-activity-overlay{animation-duration:0s}.page-activity-spinner{animation:none}}.button{border:1px solid var(--border-control);border-radius:var(--ui-radius);background:var(--surface-button);width:auto;min-width:0;height:auto;min-height:40px;box-shadow:none;color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-control);font-weight:var(--font-weight-semibold);line-height:var(--line-height-compact);letter-spacing:var(--letter-spacing-normal);text-transform:none;white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;max-width:100%;margin:0;padding:8px 16px;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.button>.button-label,.button>span:not([class]){text-overflow:ellipsis;min-width:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;overflow:hidden}.button-sm{min-height:32px;padding:5px 11px}.button svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.button:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--text-strike);background:var(--surface-control)}.button[aria-pressed=true]{background:var(--accent-tint);border-color:var(--accent-border-strong);color:var(--accent-text-strong)}.button:focus-visible{outline:2px solid var(--button-focus-ring);outline-offset:2px}.button[aria-invalid=true],.button[aria-invalid=true]:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--danger-border);background:var(--danger-tint);color:var(--danger-text)}.button-primary{border-color:var(--button-primary-bg);background:var(--button-primary-bg);color:var(--button-primary-fg)}.button-primary:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--button-primary-hover);background:var(--button-primary-hover)}.button-warning{border-color:var(--warn-border);color:var(--warn-text)}.button-warning:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--warn-text);background:var(--warn-tint)}.button-danger{border-color:var(--danger-border);color:var(--danger-text)}.button-danger:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--danger-text);background:var(--danger-tint)}.button-ghost{color:var(--accent-text-strong);background:0 0;border-color:#0000}.button-ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--accent-tint);border-color:#0000}.button:disabled,.button[aria-disabled=true]{border-color:var(--border-control);background:var(--surface-key);color:var(--text-ghost);cursor:not-allowed}.button-ghost:disabled,.button-ghost[aria-disabled=true]{background:0 0;border-color:#0000}.group-detail-actions .button-danger,.trash-button,.footer-leading-action{margin-right:auto}.sibling-row .button{justify-self:end}.audit-pagination .button{min-width:92px}.sidebar-role-actions .button{flex:1}.billing-rate-periods li>.button{justify-self:end}@container (width<=640px){.billing-rate-periods li>.button{grid-area:action}}.split-button{min-width:0;max-width:100%;display:inline-flex;position:relative}.split-button>.button:first-child{border-top-right-radius:0;border-bottom-right-radius:0;flex:auto}.split-button>.split-button-toggle{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding:0 9px}.split-button-menu{z-index:1400;border:1px solid var(--border-control);background:var(--surface-card);box-shadow:var(--shadow-raised);border-radius:10px;gap:2px;padding:6px;display:grid;position:fixed}.split-button-menu [role=menuitem]{color:var(--ink);font-size:var(--font-size-control);white-space:nowrap;box-shadow:none;background:0 0;border:0;border-radius:8px;justify-content:flex-start;padding:8px 10px;text-decoration:none}:is(.split-button-menu [role=menuitem]:hover,.split-button-menu [role=menuitem]:focus-visible){background:var(--surface-control)}@media (max-width:760px){.audit-pagination .button{flex:1;min-width:0}}@media (max-width:720px){.button,.button-sm{min-height:44px;padding:8px 16px}.lists-heading-row .button{width:100%}.sibling-row>.row-actions{grid-column:1/-1}}@media (max-width:430px){.top-actions .button{width:100%}}.button.student-photo-trigger{background:0 0;border:0;border-radius:50%;flex:0 0 48px;width:48px;height:48px;min-height:0;padding:0}.button.student-photo-remove{margin-right:auto}.button.photo-crop-circle,.button.photo-crop-circle:hover:not(:disabled):not([aria-disabled=true]){border:2px dashed var(--button-primary-fg);cursor:move;touch-action:none;background:0 0;border-radius:50%;min-width:0;min-height:0;margin:0;padding:0;transition:none;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0009}@media (max-width:520px){.student-photo-modal form>footer{flex-direction:column-reverse;align-items:stretch}.student-photo-modal form>footer>.button{margin-right:0}}.billing-payers-panel>.button{justify-self:start}.billing-run-problem-actions .button{max-width:100%}.billing-month-grid .button{min-height:40px}.billing-tab,.billing-tab>section h3{font-size:var(--font-size-body);line-height:var(--line-height-body)}.billing-tab .contact-card{padding:14px}.billing-tab .contact-card p,.billing-tab .muted-copy{font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--text-secondary);overflow-wrap:anywhere}.billing-tab .field-hint,.billing-tab .contact-card .field-hint,.billing-editor .field-hint{font-size:var(--font-size-small);line-height:var(--line-height-body)}.billing-tab .contact-card .inline-error{color:var(--danger-text)}.billing-tab .billing-setup,.billing-tab .directory-list{gap:12px}.billing-tab .directory-list{display:grid}.billing-tab .billing-rate-periods{font-size:var(--font-size-small);line-height:var(--line-height-body)}.billing-tab .billing-rate-periods li{padding:7px 0}.billing-tab .billing-rate-periods li+li{border-top:1px solid var(--border-subtle)}.billing-payer-line{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.billing-payer-line>div{overflow-wrap:anywhere;flex:1;min-width:0}.billing-payer-line p{margin:0}.billing-payer-line p+p{margin-top:5px}.billing-fee-table{table-layout:fixed;min-width:0}.billing-fee-table td{vertical-align:top;font-size:inherit;padding:10px 0}.billing-fee-table td strong{font-size:inherit}.billing-fee-table.compact-table td:last-child{width:auto}.year-fee-list{gap:10px;display:grid}.year-fee-row{grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:4px 12px;display:grid}.year-fee-row>.field-hint{grid-column:1/-1;margin:0}.form-validation-message{min-width:0;max-height:none;color:var(--danger-text);font-size:var(--font-size-small);line-height:var(--line-height-body);overflow-wrap:anywhere;white-space:normal;background:0 0;border:0;margin:0;padding:0;overflow:visible}.form-validation-message[data-kind=info]{color:var(--text-muted)}.form-validation-message[data-kind=warning]{color:var(--warn-text)}form :is(input,textarea,select)[aria-invalid=true],form :is(input,textarea,select)[aria-invalid=true]:focus{border-color:var(--danger)}.modal>form.form-with-footer{scrollbar-gutter:auto;flex-direction:column;flex:auto;min-height:0;padding:0;display:flex;overflow:hidden}.modal>form.form-with-footer>:not(footer):not([hidden]){flex:auto;min-height:0;padding:18px 22px;overflow:auto}.modal form>footer.form-footer,.modal>footer.form-footer,.billing-action-dialog footer.form-footer,footer.form-footer{border-top:1px solid var(--line);scrollbar-gutter:auto;flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:flex-end;gap:12px;min-width:0;min-height:88px;margin:0;padding:14px 22px 18px;display:flex;overflow:visible}.form-footer>.form-validation-message{flex:100%}.form-footer>:not(.form-validation-message){flex:none}.stable-form>footer.form-footer{--stable-form-message-top:10px;--stable-form-message-line:calc(var(--font-size-small) * var(--line-height-body));padding-top:calc(var(--stable-form-message-top) + var(--stable-form-message-line) + 8px);position:relative}.stable-form>footer.form-footer>.form-validation-message{left:22px;right:22px;bottom:calc(100% - var(--stable-form-message-top) - var(--stable-form-message-line));background:var(--surface-card);width:auto;position:absolute}.form-footer>.footer-leading-action,.form-footer>.student-photo-remove{margin-right:auto}.form-panel-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;min-height:40px;display:flex}.form-panel-actions>.form-validation-message{flex:120px}.form-panel-actions>:not(.form-validation-message){flex:0 auto;min-width:0;max-width:100%}.login-card .form-panel-actions{grid-template-rows:minmax(36px,auto) auto;grid-template-columns:minmax(0,1fr);display:grid}.login-card .form-panel-actions>.form-validation-message{grid-row:1;min-height:36px}.login-card .form-panel-actions>:not(.form-validation-message){grid-row:2;justify-self:stretch}.billing-action-dialog.form-dialog{flex-direction:column;gap:0;max-height:calc(100dvh - 32px);padding:0;display:flex;overflow:hidden}.billing-action-dialog.form-dialog>h3{flex:none;margin:0;padding:20px 22px 12px}.billing-action-dialog.form-dialog>form{flex-direction:column;min-height:0;display:flex;overflow:hidden}.billing-action-body{grid-auto-rows:max-content;gap:12px;min-height:0;padding:0 22px 14px;display:grid;overflow:auto}@media (max-width:720px){.modal form>footer.form-footer,.modal>footer.form-footer,.billing-action-dialog footer.form-footer,footer.form-footer{flex-flow:column;align-items:stretch}.form-footer>.form-validation-message{flex:none;width:100%;margin:0}.form-footer>:not(.form-validation-message){width:100%;margin:0}.form-panel-actions{flex-direction:column;align-items:stretch}.form-panel-actions>.form-validation-message{flex:none;width:100%}.form-panel-actions>:not(.form-validation-message){width:100%}}.empty-state{text-align:center;width:100%;min-width:0;min-height:140px;color:var(--text-muted);align-content:center;justify-items:center;gap:8px;padding:20px;display:grid}.empty-state>*{min-width:0;max-width:100%}.empty-state .empty-state-message{max-width:440px;font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);overflow-wrap:anywhere}.empty-state .empty-state-hint{max-width:440px;color:var(--text-muted);font-size:var(--font-size-small);line-height:var(--line-height-body);overflow-wrap:anywhere;margin:0}.empty-state-icon{color:var(--text-muted);opacity:.7;place-items:center;display:grid}.empty-state-icon svg{stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.empty-state-compact{gap:8px;min-height:96px;padding:16px 12px}.empty-state-inline{text-align:left;border:1px dashed var(--border-dashed);border-radius:10px;grid-template-columns:minmax(0,1fr);place-items:start;gap:4px 10px;min-height:0;margin-top:12px;padding:11px 14px}.empty-state-inline:has(>.empty-state-icon){grid-template-columns:auto minmax(0,1fr)}.empty-state-inline:has(>.empty-state-icon)>:not(.empty-state-icon){grid-column:2}.empty-state-inline>.empty-state-icon{height:calc(var(--font-size-body) * var(--line-height-body));grid-row:1}.empty-state-inline>.empty-state-icon svg{width:18px;height:18px}.empty-state-inline .empty-state-message,.empty-state-inline .empty-state-hint{max-width:none}.empty-state-inline .empty-state-actions{justify-content:flex-start}.empty-state-row>td:only-child{text-align:center;height:auto;padding:0}.invoices-table-body:has(.empty-state-row){min-width:0}.groups-table-body:has(.empty-state-row){min-width:0}.invoices-table-body:has(.empty-state-row)>table{min-width:0}.groups-table-body:has(.empty-state-row)>table{min-width:0}
