.cashbook-table table{min-width:51.25rem}.cashbook-table caption{padding:.625rem var(--panel-gutter);text-align:left;color:var(--muted);font-size:.75rem}.cashbook-table tbody th{text-align:left;border-bottom:.0625rem solid var(--line-soft);padding:.875rem 1rem;font-weight:600}.cashbook-table .cashbook-description{white-space:normal;overflow-wrap:anywhere;min-width:14.375rem;max-width:30rem}.cashbook-description small{margin-top:.1875rem;display:block}.cashbook-income{color:var(--primary)}.cashbook-carry{background:var(--surface-hover)}.cashbook-total{background:var(--primary-soft);font-weight:700}.cashbook-empty{text-align:left;color:var(--muted);padding:2.25rem!important}.cashbook-help{padding:0 var(--panel-gutter) 1rem;color:var(--muted);font-size:.75rem}.cashbook-source-actions{flex-wrap:wrap;margin-left:auto}.cashbook-footnote{color:var(--muted);margin-top:.75rem;font-size:.75rem}.cashbook-sheet{margin-top:1.5rem}.cashbook-sheet h2{text-align:center;letter-spacing:.25em;font-size:1.5625rem}.cashbook-sheet-meta{justify-content:space-between;gap:1rem;margin:1.25rem 0 .75rem;display:flex}.cashbook-print{display:none}@media print{@page{size:A4 portrait;margin:12mm}body:has(.cashbook-print){color:#000;background:#fff}body:has(.cashbook-print)>:not(.cashbook-print){display:none!important}.cashbook-print{display:block}.cashbook-print .cashbook-sheet{margin:0}.cashbook-print .table-scroll{overflow:visible}.cashbook-print table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0;font-size:9pt}.cashbook-print th,.cashbook-print td{white-space:normal;overflow-wrap:anywhere;color:#000;border:.0625rem solid #666;padding:.4375rem .3125rem!important}.cashbook-print thead{display:table-header-group}.cashbook-print tr{break-inside:avoid}.cashbook-print th:first-child{width:17%}.cashbook-print th:nth-child(2){width:29%}.cashbook-print .cashbook-description{min-width:0}.cashbook-print caption{display:none}}.attendance-section{border-top:.0625rem solid var(--line)}.attendance-section h2{padding:1rem var(--panel-gutter);align-items:center;gap:.625rem;margin:0;font-size:.9375rem;display:flex}.attendance-section h2 span{background:var(--primary-soft);color:var(--primary);border-radius:.375rem;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.payment-entries{gap:.625rem;display:grid}.payment-entries>div{min-height:3rem}.ledger-memo{white-space:pre-wrap;overflow-wrap:anywhere;min-width:7.5rem;max-width:15rem;display:block}@font-face{font-family:Noto Sans KR;src:url(/fonts/noto-sans-kr.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--canvas:#f5f7fb;--ink:#172b46;--muted:#5e6c80;--line:#dce3ed;--line-soft:#e9eef5;--paper:#fff;--surface-hover:#f8faff;--primary:#01285b;--primary-hover:#003b80;--primary-soft:#eaf0f8;--primary-muted:#ccdaed;--accent:#c1da06;--accent-soft:#f4f8d8;--success:#45620a;--success-soft:#f1f7dd;--red:#b74337;--amber:#956000;--amber-soft:#fff1c9;--red-soft:#fbece8;--shadow:0 .5rem 2rem #01285b08;--overlay:#01285b66;--radius:.875rem;--panel-gutter:1.375rem}*{box-sizing:border-box}html{font-size:100%}body{background:var(--canvas);color:var(--ink);letter-spacing:-.035em;margin:0;font-family:Noto Sans KR,Malgun Gothic,sans-serif;font-size:.8125rem;line-height:1.6}button,input,select,textarea{font:inherit;letter-spacing:inherit}button,a,input,select,textarea{outline-offset:.1875rem}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:.125rem solid var(--primary)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-.06em;font-size:1.6875rem;line-height:1.4}h2{font-size:1.0625rem;font-weight:700}h3{font-size:.875rem}small{color:var(--muted);font-size:.6875rem}.muted{color:var(--muted)}.green{color:var(--success)}.red{color:var(--red)}.num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.icon{vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:1.125rem;height:1.125rem;display:inline-block}.sidebar{background:var(--paper);border-right:.0625rem solid var(--line);z-index:20;width:14.5rem;max-width:100%;padding:1.75rem 1.0625rem 5rem;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{align-items:center;padding:0 .6875rem 1.75rem;display:flex}.brand-logo{object-fit:contain;width:13.5rem;max-width:100%;height:auto;display:block}.brand-symbol{object-fit:contain;width:2.5rem;max-width:100%;height:auto;display:none}.academy-switch{border:.0625rem solid var(--line);border-radius:.625rem;justify-content:space-between;align-items:center;margin-bottom:1.625rem;padding:.75rem;display:flex}.nav-label{letter-spacing:.1em;color:var(--muted);margin:1.25rem .75rem .5rem;font-size:.625rem}.navitem{text-align:left;width:100%;color:var(--muted);background:0 0;border:0;border-radius:.5625rem;align-items:center;gap:.75rem;margin:.125rem 0;padding:.6875rem .8125rem;font-weight:500;display:flex}.navitem:hover{background:var(--canvas);color:var(--ink)}.navitem.active{background:var(--accent-soft);color:var(--primary);box-shadow:inset .1875rem 0 var(--accent);font-weight:700}.navitem .chev{margin-left:auto;font-size:.6875rem}.subnav{border-left:.0625rem solid var(--line);margin:.3125rem 0 .75rem 1.9375rem;padding-left:.5625rem}.subnav a{color:var(--muted);border-radius:.3125rem;padding:.4375rem .625rem;font-size:.6875rem;display:block}.subnav a.active{color:var(--primary);background:var(--primary-soft);font-weight:700}.nav-help{background:var(--canvas);border-radius:.625rem;margin-top:1.75rem;padding:.875rem;font-size:.6875rem}.nav-help button{margin-top:.5rem}.app{margin-left:14.5rem}.topbar{border-bottom:.0625rem solid var(--line);background:var(--paper);z-index:12;justify-content:space-between;align-items:center;height:4.75rem;padding:0 2.125rem;display:flex;position:sticky;top:0}.crumb{color:var(--muted);align-items:center;gap:.75rem;font-size:.75rem;display:flex}.crumb b{color:var(--ink);font-weight:500}.top-right{align-items:center;gap:1.25rem;display:flex}.global-search{border:.0625rem solid var(--line);color:var(--muted);background:var(--paper);border-radius:.5rem;align-items:center;gap:.75rem;width:14.125rem;padding:.5rem .75rem;font-size:.6875rem;display:flex}.key{border:.0625rem solid var(--line);border-radius:.1875rem;margin-left:auto;padding:0 .25rem;font-size:.5625rem}.avatar{background:var(--primary-soft);width:2.125rem;height:2.125rem;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar.yellow{background:var(--amber-soft);color:var(--amber)}.user{align-items:center;gap:.625rem;font-size:.75rem;display:flex}.user small{font-size:.5625rem;display:block}.iconbtn{color:var(--muted);background:0 0;border:0;padding:.3125rem;position:relative}.dot{background:var(--red);border-radius:50%;width:.3125rem;height:.3125rem;position:absolute;top:.1875rem;right:.25rem}.main{max-width:100rem;margin:auto;padding:1.875rem 2.125rem 6.375rem}.eyebrow{letter-spacing:.14em;color:var(--primary);margin-bottom:.4375rem;font-size:.625rem;font-weight:600}.pagehead{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5625rem;display:flex}.pagehead p{color:var(--muted);margin-top:.4375rem;font-size:.75rem}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn{border:.0625rem solid var(--line);background:var(--paper);color:var(--ink);white-space:nowrap;border-radius:.5rem;justify-content:center;align-items:center;gap:.4375rem;min-height:2.375rem;padding:.5625rem .875rem;font-size:.75rem;font-weight:500;display:inline-flex}.btn:hover{filter:brightness(.98);border-color:var(--muted)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.yellow{background:var(--accent);border-color:var(--accent);color:var(--primary)}.btn.danger{background:var(--red-soft);border-color:var(--red-soft);color:var(--red)}.btn.sm{min-height:1.8125rem;padding:.3125rem .5625rem;font-size:.6875rem}.btn.ghost{color:var(--primary);background:0 0;border-color:#0000}.pill{background:var(--canvas);color:var(--muted);white-space:nowrap;border-radius:.3125rem;align-items:center;gap:.25rem;padding:.1875rem .4375rem;font-size:.625rem;display:inline-flex}.pill.success{background:var(--success-soft);color:var(--success)}.pill.warn{background:var(--amber-soft);color:var(--amber)}.pill.error{background:var(--red-soft);color:var(--red)}.pill.outline{border:.0625rem solid var(--line);background:#fff}.panel{background:var(--paper);border:.0625rem solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1rem;overflow:hidden}.panel-pad{padding:1.375rem var(--panel-gutter)}.panel-title{padding:1.25rem var(--panel-gutter);border-bottom:.0625rem solid var(--line);justify-content:space-between;align-items:center;display:flex}.panel-title small{margin-top:.125rem;display:block}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.375rem;display:grid}.kpis[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{background:var(--paper);border:.0625rem solid var(--line);border-radius:.75rem;padding:1.25rem 1.375rem;position:relative}.kpi.highlight{background:var(--accent);border-color:var(--accent)}.kpi .caption{color:var(--muted);font-size:.75rem}.kpi.highlight .caption{color:var(--primary-muted)}.kpi strong{letter-spacing:-.06em;margin:.625rem 0 .25rem;font-size:1.875rem;font-weight:650;line-height:1.2;display:block}.kpi strong em{letter-spacing:-.02em;color:var(--muted);margin-left:.25rem;font-size:.75rem;font-style:normal;font-weight:400}.kpi small{font-size:.625rem}.kpi .kicon{color:var(--muted);position:absolute;top:1.1875rem;right:1.1875rem}.kpi a{border-radius:.75rem;position:absolute;inset:0}.split{grid-template-columns:minmax(0,1.65fr) minmax(18.125rem,1fr);gap:1.25rem;display:grid}.split.equal{grid-template-columns:1fr 1fr}.split.form-layout{grid-template-columns:minmax(0,1fr) 17.5rem}.toolbar{padding:1.125rem var(--panel-gutter);border-bottom:.0625rem solid var(--line);flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.toolbar .grow{flex:1}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap .icon{color:var(--muted);width:.9375rem;position:absolute;left:.6875rem}.input-wrap input{padding-left:2.125rem}.input,select,textarea{border:.0625rem solid var(--line);background:var(--paper);color:var(--ink);border-radius:.4375rem;width:100%;min-height:2.4375rem;padding:.5625rem .6875rem;font-size:.75rem}select{width:auto;min-width:6.375rem}input::placeholder,textarea::placeholder{color:var(--muted);font-size:.6875rem}.toolbar .input-wrap{width:15.625rem}.toolbar .input-wrap input{width:100%}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}th{background:var(--canvas);color:var(--muted);border-bottom:.0625rem solid var(--line);padding:.75rem 1rem;font-size:.625rem;font-weight:500}td{border-bottom:.0625rem solid var(--line-soft);padding:.9375rem 1rem;font-size:.75rem}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-hover)}td .sub{color:var(--muted);margin-top:.1875rem;font-size:.625rem;display:block}td a.name{color:var(--ink);font-weight:650}td a.name:hover{color:var(--primary)}td input[type=checkbox],th input{accent-color:var(--primary);width:.875rem;height:.875rem}.student-cell{align-items:center;gap:.625rem;display:flex}.student-cell .avatar{width:2rem;height:2rem;font-size:.6875rem}.pagination{padding:.875rem var(--panel-gutter);border-top:.0625rem solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;font-size:.6875rem;display:flex}.pages{gap:.3125rem;display:flex}.pages button{border:.0625rem solid var(--line);min-width:1.8125rem;height:1.8125rem;color:var(--muted);background:#fff;border-radius:.375rem}.pages button.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.tabs{border-bottom:.0625rem solid var(--line);background:var(--paper);gap:1.375rem;padding:0 1.375rem;display:flex;overflow:auto}.tabs button,.tabs a{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:.125rem solid #0000;padding:.9375rem 0;font-size:.75rem}.tabs .active{color:var(--primary);border-color:var(--primary);font-weight:700}.profile-head{align-items:center;gap:1.125rem;padding:1.5rem;display:flex}.profile-head .avatar{width:3.75rem;height:3.75rem;font-size:1.5rem}.profile-head h2{margin-bottom:.25rem;font-size:1.4375rem}.profile-head .right{text-align:right;margin-left:auto}.profile-body{padding:1.5rem}.info-grid{grid-template-columns:1fr 1fr;gap:0 2.1875rem;display:grid}.info-row{border-bottom:.0625rem solid var(--line-soft);grid-template-columns:7.8125rem 1fr;padding:.9375rem 0;font-size:.75rem;display:grid}.info-row .label{color:var(--muted)}.section-label{justify-content:space-between;align-items:center;margin:1.5rem 0 .1875rem;font-size:.875rem;font-weight:700;display:flex}.section-label:first-child{margin-top:0}.section-label small{font-weight:400}.form-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.field label{color:var(--ink);margin-bottom:.4375rem;font-size:.75rem;font-weight:500;display:block}.field label .required{color:var(--primary);margin-left:.1875rem}.field .hint{color:var(--muted);margin-top:.375rem;font-size:.625rem}.field .error-msg{color:var(--red);margin-top:.3125rem;font-size:.625rem}.field.invalid .input{border-color:var(--red);background:var(--red-soft)}.span2{grid-column:1/-1}.field select{width:100%}.radio-row{align-items:center;gap:1.25rem;height:2.375rem;display:flex}.radio-row label{align-items:center;gap:.375rem;margin:0;font-weight:400;display:flex}.radio-row input{accent-color:var(--primary)}.form-footer{border-top:.0625rem solid var(--line);background:var(--surface-hover);justify-content:space-between;align-items:center;padding:1.125rem 1.375rem;display:flex}.stepper{gap:.3125rem;margin-bottom:1.5rem;display:flex}.step{background:var(--paper);border:.0625rem solid var(--line);color:var(--muted);border-radius:.625rem;flex:1;align-items:center;gap:.5625rem;padding:.8125rem 1.0625rem;font-size:.75rem;display:flex}.step span{border:.0625rem solid var(--line);border-radius:50%;place-items:center;width:1.4375rem;height:1.4375rem;font-size:.625rem;display:grid}.step.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:700}.step.active span{background:var(--primary);color:#fff;border-color:var(--primary)}.summary{padding:1.4375rem}.summary dl{grid-template-columns:5.3125rem 1fr;gap:.9375rem .25rem;margin-top:1.375rem;font-size:.75rem;display:grid}.summary dt{color:var(--muted)}.summary dd{text-align:right;margin:0}.callout{background:var(--primary-soft);color:var(--primary);border-radius:.5625rem;gap:.625rem;margin:1rem 0;padding:.8125rem 1rem;font-size:.6875rem;display:flex}.callout.warn{background:var(--amber-soft);color:var(--amber)}.callout.error{background:var(--red-soft);color:var(--red)}.callout .icon{width:1rem;margin-top:.0625rem}.callout p{flex:1}.activity{margin:0;padding:0;list-style:none}.activity li{border-left:.0625rem solid var(--line);margin-left:.3125rem;padding:0 0 1.4375rem 1.4375rem;position:relative}.activity li:last-child{border:0;padding-bottom:0}.activity li:before{content:"";background:var(--primary);border:.125rem solid var(--paper);box-sizing:content-box;border-radius:50%;width:.4375rem;height:.4375rem;position:absolute;top:.3125rem;left:-.25rem}.activity small{margin-top:.1875rem;display:block}.activity p{margin:.25rem 0;font-size:.75rem}.schedule-list{gap:.9375rem;padding:1.25rem;display:grid}.schedule-item{align-items:center;gap:.875rem;display:flex}.schedule-time{min-width:3.0625rem;font-size:.75rem;font-weight:650}.schedule-box{border-left:.1875rem solid var(--primary);background:var(--primary-soft);border-radius:0 .5rem .5rem 0;flex:1;justify-content:space-between;align-items:center;padding:.8125rem .9375rem;display:flex}.schedule-box small{color:var(--primary);font-size:.625rem}.schedule-box.yellow{background:var(--amber-soft);border-color:var(--amber)}.task{border-bottom:.0625rem solid var(--line-soft);align-items:center;gap:.75rem;padding:1rem 0;display:flex}.task:last-child{border:0}.task .task-icon{background:var(--canvas);width:2.1875rem;height:2.1875rem;color:var(--primary);border-radius:.5625rem;place-items:center;display:grid}.task .arrow{color:var(--muted);margin-left:auto}.task p{font-size:.75rem;font-weight:500}.task small{font-size:.625rem}.bar-chart{background:repeating-linear-gradient(to top, transparent 0, transparent 2.25rem, var(--line-soft) 2.3125rem);align-items:flex-end;gap:1.25rem;height:9.375rem;padding:.9375rem .9375rem 1.625rem;display:flex;position:relative}.bar{background:var(--primary-soft);border-radius:.3125rem .3125rem 0 0;flex:1;min-width:1.125rem;position:relative}.bar:nth-child(3n){background:var(--primary)}.bar.highlight{background:var(--accent)}.bar span{color:var(--muted);font-size:.625rem;position:absolute;bottom:-1.375rem;left:50%;transform:translate(-50%)}.bar b{font-size:.625rem;font-weight:500;position:absolute;top:-1.1875rem;left:50%;transform:translate(-50%)}.legend{color:var(--muted);gap:.875rem;margin-bottom:1.125rem;font-size:.625rem;display:flex}.legend i{background:var(--primary);border-radius:.125rem;width:.4375rem;height:.4375rem;margin-right:.3125rem;display:inline-block}.progress{background:var(--canvas);border-radius:.3125rem;min-width:5rem;height:.375rem;overflow:hidden}.progress span{background:var(--primary);height:100%;display:block}.progress-row{align-items:center;gap:.625rem;display:flex}.progress-row .progress{flex:1}.progress-row span.num{width:1.875rem;color:var(--muted);font-size:.6875rem}.list-cards{grid-template-columns:repeat(3,1fr);gap:1.125rem;display:grid}.course{flex-direction:column;gap:.9375rem;padding:1.375rem;display:flex}.course .course-cover{background:var(--primary-soft);height:6.25rem;color:var(--primary);border-radius:.625rem;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.course:nth-child(2) .course-cover{background:var(--amber-soft);color:var(--amber)}.course:nth-child(3) .course-cover{background:var(--canvas);color:var(--ink)}.course-cover strong{font-size:1.5625rem;line-height:1.25}.course-cover .icon{stroke-width:1.2px;width:2.5rem;height:2.5rem}.course h3{font-size:1rem}.course .meta-line{color:var(--muted);font-size:.6875rem;line-height:1.9}.course .btn{align-self:flex-start}.note{border:.0625rem solid var(--line);background:#fff;border-radius:.75rem;margin-bottom:1rem;padding:1.375rem}.note-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.note-body{font-size:.75rem;line-height:1.95}.note-footer{border-top:.0625rem solid var(--line);color:var(--muted);justify-content:space-between;margin-top:1.25rem;padding-top:.75rem;font-size:.625rem;display:flex}.calendar{border:.0625rem solid var(--line);border-radius:.625rem;grid-template-columns:3.4375rem repeat(5,1fr);display:grid;position:relative;overflow:hidden}.calendar .day{text-align:center;background:var(--canvas);border-right:.0625rem solid var(--line);padding:.8125rem;font-size:.6875rem}.calendar .day.today{background:var(--primary-soft);color:var(--primary);font-weight:700}.cal-time{border-top:.0625rem solid var(--line);color:var(--muted);background:#fff;height:4.75rem;padding:.75rem .5rem;font-size:.625rem}.cal-slot{border-left:.0625rem solid var(--line);border-top:.0625rem solid var(--line);height:4.75rem;padding:.3125rem}.cal-event{background:var(--primary-soft);border-left:.1875rem solid var(--primary);height:100%;color:var(--primary);cursor:pointer;border-radius:.3125rem;padding:.5rem .5625rem;font-size:.625rem}.cal-event.yellow{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}.cal-event strong{font-size:.6875rem;display:block}.cal-event small{color:inherit;font-size:.5625rem}.check-days{gap:.4375rem;display:flex}.check-day{position:relative}.check-day input{opacity:0;position:absolute}.check-day span{border:.0625rem solid var(--line);width:2.1875rem;height:2.1875rem;color:var(--muted);border-radius:.4375rem;place-items:center;display:grid}.check-day input:checked+span{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.check-day input:focus-visible+span{outline:.125rem solid var(--primary)}.empty-state{text-align:center;padding:4.375rem 1.5625rem}.empty-state .empty-icon{background:var(--canvas);width:4.375rem;height:4.375rem;color:var(--muted);border-radius:50%;place-items:center;margin:0 auto 1.25rem;display:grid}.empty-state .icon{width:1.875rem;height:1.875rem}.empty-state h3{margin-bottom:.5rem;font-size:1.0625rem}.empty-state p{color:var(--muted);margin-bottom:1.25rem;font-size:.75rem}.skeleton{background:linear-gradient(90deg, var(--canvas), var(--line-soft), var(--canvas));background-size:200% 100%;border-radius:.4375rem;height:2.5rem;margin:.9375rem;animation:1.2s infinite load}@keyframes load{to{background-position:-200% 0}}.switch{vertical-align:middle;width:2.125rem;height:1.25rem;display:inline-flex;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{background:var(--line);cursor:pointer;border-radius:1.25rem;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:.875rem;height:.875rem;transition:all .15s;position:absolute;top:.1875rem;left:.1875rem}.switch input:checked+span{background:var(--primary)}.switch input:checked+span:before{transform:translate(.875rem)}.switch input:focus-visible+span{outline:.125rem solid var(--primary);outline-offset:.1875rem}.settings-row{border-bottom:.0625rem solid var(--line);justify-content:space-between;align-items:center;padding:1.0625rem 0;display:flex}.settings-row:last-child{border:0}.settings-row small{margin-top:.1875rem;display:block}.settings-row strong{font-size:.75rem}.modal-backdrop{background:var(--overlay);z-index:80;-webkit-backdrop-filter:blur(.125rem);backdrop-filter:blur(.125rem);justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border-radius:1rem;width:35rem;max-height:90vh;overflow:auto;box-shadow:0 1.5rem 5rem #01285b30}.modal.wide{width:45rem}.modal.drawer{border-radius:1rem 0 0 1rem;width:33.125rem;max-height:100vh;position:absolute;top:0;bottom:0;right:0}.modal-header{border-bottom:.0625rem solid var(--line);justify-content:space-between;align-items:center;padding:1.4375rem 1.625rem;display:flex}.modal-header h2{font-size:1.1875rem}.modal-body{padding:1.5rem 1.625rem}.modal-footer{border-top:.0625rem solid var(--line);justify-content:flex-end;gap:.5rem;padding:1.0625rem 1.625rem;display:flex}.modal .student-summary{background:var(--canvas);border-radius:.5625rem;align-items:center;gap:.75rem;margin-bottom:1.375rem;padding:.9375rem;display:flex}.modal .student-summary .right{margin-left:auto;font-size:.75rem}.modal .field{margin-bottom:1.0625rem}.toast{background:var(--ink);color:#fff;z-index:100;border-radius:.625rem;align-items:center;gap:.625rem;padding:.8125rem 1.25rem;font-size:.75rem;display:flex;position:fixed;bottom:5rem;left:50%;transform:translate(-50%);box-shadow:0 .5rem 1.875rem #01285b30}.toast .icon{color:var(--accent)}.designbar{background:var(--ink);color:#fff;z-index:40;letter-spacing:-.02em;justify-content:space-between;align-items:center;height:3rem;padding:0 1.375rem;font-size:.625rem;display:flex;position:fixed;bottom:0;left:14.5rem;right:0}.designbar strong{color:var(--accent);margin-right:.625rem}.designbar .left{align-items:center;gap:.625rem;display:flex}.designbar button,.designbar select{color:#fff;background:#183e6d;border:.0625rem solid #47658c;border-radius:.3125rem;min-height:1.6875rem;padding:.1875rem .5625rem;font-size:.625rem}.designbar .links{align-items:center;gap:.5rem;display:flex}.designbar select{min-width:5.625rem;max-width:15rem}.designbar .label{color:var(--primary-muted);font-size:.625rem}.inspector{z-index:50;background:var(--paper);border:.0625rem solid var(--primary);border-radius:.875rem;width:25rem;max-height:75vh;padding:1.4375rem;position:fixed;bottom:4rem;right:1.125rem;overflow:auto;box-shadow:0 .625rem 3.125rem #01285b20}.inspector h2{margin-bottom:.875rem;font-size:1.0625rem}.inspector dl{margin:0}.inspector dt{color:var(--primary);margin-top:.9375rem;font-size:.625rem;font-weight:700}.inspector dd{margin:.3125rem 0;font-size:.75rem}.annotation{background:var(--primary);color:#fff;z-index:3;pointer-events:none;border:.125rem solid #fff;border-radius:50%;place-items:center;width:1.375rem;height:1.375rem;font-size:.625rem;display:grid;position:absolute;top:.5rem;right:.5rem;box-shadow:0 .125rem .375rem #0002}.annotated{position:relative}.login-layout{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-art{background:var(--primary);color:#fff;flex-direction:column;justify-content:space-between;padding:5rem;display:flex;position:relative;overflow:hidden}.login-art h1{z-index:1;letter-spacing:-.07em;font-size:2.625rem;font-weight:500;line-height:1.55;position:relative}.login-art h1 mark{color:var(--accent);background:0 0}.login-art p{color:var(--primary-muted);margin-top:1.25rem;font-size:.8125rem}.orbit{border:.0625rem solid #ffffff20;border-radius:50%;width:30rem;height:30rem;position:absolute;bottom:1.875rem;right:-6.25rem}.orbit:before{content:"";border:.0625rem solid #ffffff30;border-radius:50%;position:absolute;inset:2.8125rem}.orbit:after{content:"";background:var(--accent);border-radius:1.875rem;width:8.125rem;height:8.125rem;position:absolute;top:7.5rem;left:3.125rem;transform:rotate(-15deg)}.login-form{justify-content:center;align-items:center;padding:4.375rem;display:flex}.login-form>div{width:100%;max-width:21.875rem}.login-form h2{margin-bottom:.5rem;font-size:1.75rem}.login-form .field{margin-top:1.5rem}.login-form .btn.primary{width:100%;margin-top:1.5625rem}.login-meta{color:var(--muted);margin-top:3.125rem;font-size:.625rem}.mobile-menu{display:none}.mini-total{color:var(--muted);font-size:.6875rem}.money{text-align:right;font-weight:600}.file-icon{background:var(--primary-soft);color:var(--primary);border-radius:.3125rem;place-items:center;width:2.125rem;height:2.5rem;margin-right:.5625rem;font-size:.5625rem;font-weight:700;display:inline-grid}.error-inline{background:var(--red-soft);color:var(--red);border-radius:.375rem;margin-top:.9375rem;padding:.625rem .75rem;font-size:.6875rem;display:none}.compact-list .item{border-bottom:.0625rem solid var(--line);justify-content:space-between;align-items:center;padding:.9375rem 0;display:flex}.compact-list .item:last-child{border:0}.big-number{letter-spacing:-.07em;margin:.9375rem 0;font-size:2.125rem;font-weight:700;line-height:1.2}.donut{background:conic-gradient(var(--primary) 0 50%, var(--accent) 50% 66.666%, var(--primary-soft) 66.666% 100%);border-radius:50%;width:8.4375rem;height:8.4375rem;margin:.3125rem auto;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:1.25rem}.donut-label{text-align:center;z-index:1;place-content:center;font-size:1.5625rem;font-weight:700;display:grid;position:absolute;inset:0}.donut-label small{font-size:.625rem;font-weight:400;display:block}.faq-item{border-bottom:.0625rem solid var(--line);padding:1rem 0}.faq-item summary{cursor:pointer;justify-content:space-between;font-size:.8125rem;font-weight:500;list-style:none;display:flex}.faq-item summary:after{content:"+";color:var(--primary);font-size:1.125rem}.faq-item[open] summary:after{content:"−"}.faq-item p{color:var(--muted);padding-top:.9375rem;font-size:.75rem;line-height:1.9}.view-chips{flex-wrap:wrap;align-items:center;gap:.4375rem;margin-bottom:1.125rem;display:flex}.view-chips button{border:.0625rem solid var(--line);color:var(--muted);background:#fff;border-radius:1.25rem;padding:.4375rem .8125rem;font-size:.6875rem}.view-chips .active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}.mobile-only,body.capture .designbar{display:none}body.capture .main{padding-bottom:1.875rem}body.capture .sidebar{padding-bottom:1.5625rem}body.capture .topbar{position:relative}body.capture .main{min-height:51.5rem}body.capture .nav-help{display:none}body.capture .annotation{display:grid}.demo-note{color:var(--muted);text-align:right;margin-top:.875rem;font-size:.625rem}@media (min-width:100rem){.main{padding-left:2.8125rem;padding-right:2.8125rem}}@media (max-width:75rem){.sidebar{width:12.8125rem}.app{margin-left:12.8125rem}.designbar{left:12.8125rem}.main{padding:1.625rem 1.5rem 5.625rem}.topbar{padding:0 1.5rem}.split{grid-template-columns:1.3fr 1fr}.kpi{padding:1.0625rem}.top-right{gap:.75rem}.global-search{width:10.625rem}.designbar .label{display:none}td,th{padding-left:.75rem;padding-right:.75rem}}@media (max-width:62.5rem){.sidebar{width:14.5rem;transition:all .2s;transform:translate(-100%);box-shadow:.5rem 0 1.875rem #0001}.sidebar.open{transform:translate(0)}.app{margin-left:0}.designbar{left:0}.mobile-menu{display:block}.split,.split.equal,.split.form-layout{grid-template-columns:1fr}.list-cards{grid-template-columns:repeat(2,1fr)}.summary{display:none}.info-grid{column-gap:1.375rem}.designbar .left span{display:none}}@media (max-width:40rem){:root{--panel-gutter:1rem}.topbar{height:3.875rem;padding:0 1.0625rem}.crumb{gap:.4375rem}.crumb>b,.top-right .global-search,.top-right .user>div{display:none}.main{padding:1.375rem 1rem 5.3125rem}.pagehead{flex-direction:column;align-items:flex-start;gap:.9375rem}h1{font-size:1.4375rem}.kpis,.kpis[data-count="3"]{grid-template-columns:1fr 1fr;gap:.625rem}.kpi{padding:1rem}.kpi strong{font-size:1.5625rem}.panel-title,.panel-pad,.profile-body{padding:1rem var(--panel-gutter)}.toolbar{padding:1rem var(--panel-gutter);gap:.625rem}.toolbar .input-wrap{width:100%}.info-grid,.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.info-row{grid-template-columns:5.9375rem 1fr}.profile-head{gap:.75rem;padding:1.125rem}.profile-head .right{display:none}.tabs{gap:1.1875rem;padding:0 1.0625rem}.list-cards{grid-template-columns:1fr}.step{gap:.375rem;padding:.625rem;font-size:.625rem}.step span{width:1.25rem;height:1.25rem}.designbar{height:3.25rem;padding:0 .625rem}.designbar .left{display:none}.designbar .links{justify-content:space-between;width:100%}.designbar select{min-width:4.375rem;max-width:11.25rem}.login-layout{grid-template-columns:1fr}.login-art{display:none}.login-form{min-height:100vh;padding:3.125rem 1.875rem}.modal-backdrop{padding:.75rem}.modal.drawer{border-radius:0;width:100%}.modal-header,.modal-body,.modal-footer{padding:1.25rem}.inspector{width:auto;left:.75rem;right:.75rem}.calendar{min-width:40.625rem}.mobile-only{display:block}.pagination{padding:.75rem var(--panel-gutter)}.panel{border-radius:.6875rem}}
[hidden]{display:none!important}button{border:.0625rem solid var(--line);color:var(--ink);background:#fff;border-radius:.5rem;justify-content:center;align-items:center;gap:.4375rem;min-height:2.375rem;padding:.5625rem .875rem;display:inline-flex}button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.primary:hover:not(:disabled),button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:var(--paper)}button.danger{color:var(--red);background:var(--red-soft);border-color:#e5b6ae}input:not([type=checkbox]):not([type=radio]),select,textarea{border:.0625rem solid var(--line);color:var(--ink);background:#fff;border-radius:.4375rem;min-width:0;max-width:100%;min-height:2.5rem;padding:.5625rem .6875rem}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:1.0625rem;height:1.0625rem}textarea{resize:vertical}input:disabled,select:disabled,textarea:disabled{background:var(--canvas)}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset:disabled{opacity:.7}.field input:not([type=checkbox]),.field textarea,.field select{width:100%}.field label{margin-bottom:.4375rem;font-weight:600;display:block}.field small{margin-top:.3125rem;display:block}.field em{color:var(--red);font-style:normal}.field-error{color:var(--red)}.plain{text-align:left;color:inherit;background:0 0;border:0;border-radius:0;padding:0}.link-button{color:var(--primary);background:0 0;border:0;min-height:1.875rem;padding:.1875rem .3125rem;font-size:.75rem}.icon-button{background:0 0;border:.0625rem solid #0000;width:2.125rem;min-height:2.125rem;padding:.3125rem}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.eyebrow{letter-spacing:.13em;color:var(--primary);margin-bottom:.5rem;font-size:.5625rem;font-weight:700}.pagehead .actions{justify-content:flex-end}.badge{white-space:nowrap;background:var(--canvas);color:var(--muted);border-radius:.3125rem;align-items:center;padding:.25rem .5625rem;font-size:.625rem;font-weight:600;display:inline-flex}.badge.green{background:var(--success-soft);color:var(--success)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.red{background:var(--red-soft);color:var(--red)}.notice{background:var(--amber-soft);color:var(--amber);border-radius:.5625rem;margin:.875rem 0;padding:.8125rem 1rem;font-size:.75rem;line-height:1.8}.notice.red{background:var(--red-soft);color:var(--red)}.notice.green{background:var(--success-soft);color:var(--success)}.notice p+p{margin-top:.5rem}.notice .actions{margin-top:.625rem}.notice ul{margin:0;padding-left:1.25rem}.panel{min-width:0}.panel-title{justify-content:space-between;align-items:center;gap:.625rem;display:flex}.section-label{justify-content:space-between;align-items:center;gap:.75rem;margin:1.5rem 0 1rem;font-size:.875rem;font-weight:700;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.toolbar input{flex:1;min-width:10rem}.toolbar>input[type=date],.toolbar>input[type=month]{flex:0 11.25rem}.toolbar select{max-width:13.125rem}.toolbar>button,.filter-actions>button{white-space:nowrap;height:2.5rem;min-height:2.5rem}.filter-toolbar{background:var(--surface-hover);align-items:flex-end;gap:.875rem .75rem}.filter-field{flex-direction:column;flex:0 12.5rem;gap:.4375rem;min-width:0;display:flex}.filter-field>span,.filter-caption{color:var(--muted);font-size:.6875rem;font-weight:600}.filter-field-date{flex-basis:11.25rem}.filter-field-search{flex:15rem}.toolbar .filter-field input,.toolbar .filter-field select{flex:none;width:100%;min-width:0;max-width:none;height:2.5rem}.filter-actions{align-items:center;gap:.5rem;display:flex}.filter-toolbar .advanced-filters{border-top:.0625rem solid var(--line);flex:0 0 100%;min-width:0;padding-top:.75rem}.filter-toolbar .advanced-filters>summary{border:.0625rem solid var(--line);background:var(--paper);cursor:pointer;border-radius:.5rem;align-items:center;width:max-content;min-height:2.5rem;margin-left:auto;padding:0 .75rem;display:flex}.filter-toolbar .advanced-filters>summary:after{content:"+";margin-left:.5rem}.filter-toolbar .advanced-filters[open]>summary:after{content:"−"}.attendance-panel .filter-toolbar{border-bottom:0;padding-bottom:.875rem}.view-chips.attendance-filters{padding:0 var(--panel-gutter) 1.125rem;background:var(--surface-hover);gap:.5rem;margin:0}.attendance-filters .filter-caption{margin-right:.375rem}.attendance-filters button{border-radius:.4375rem;min-width:3.5rem;min-height:2.125rem;padding:.375rem .875rem}.attendance-filters .active{background:var(--primary);color:var(--paper)}.attendance-filters .active:hover:not(:disabled){color:var(--paper)}.attendance-table table{table-layout:fixed;min-width:68.75rem}.table-scroll{width:100%;overflow:auto}table{border-collapse:collapse;width:100%}th,td{white-space:nowrap;text-align:left}td{vertical-align:middle}th:first-child,td:first-child{padding-left:var(--panel-gutter)}th:last-child,td:last-child{padding-right:var(--panel-gutter)}.cell-center{text-align:center}.cell-right{text-align:right;font-variant-numeric:tabular-nums}.table-detail{width:4rem}.attendance-table td{white-space:normal;overflow-wrap:anywhere}.attendance-table td .badge+.badge{margin-top:.25rem}td small{display:block}td details{white-space:normal;max-width:22.5rem}td .actions{flex-wrap:nowrap}.pagination{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pagination>div{align-items:center;gap:.875rem;display:flex}.pagination b{font-size:.75rem}.kpi{text-align:left;min-width:0;color:var(--ink);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.625rem;display:flex}.kpi:disabled{opacity:1;cursor:default}.kpi em{margin-left:.3125rem;font-size:.875rem;font-style:normal;font-weight:400}.kpi.highlight{background:var(--primary);border-color:var(--primary);color:#fff}.kpi.highlight small,.kpi.highlight>span,.kpi.highlight strong em,.kpi.highlight .kicon{color:var(--primary-muted)}.kpi.highlight strong{color:var(--accent)}.kpi.highlight:hover:not(:disabled){color:#fff}.schedule-item{width:100%;min-width:0}.schedule-box{text-align:left;overflow-wrap:anywhere;flex-wrap:wrap;gap:.5rem;min-width:0}.schedule-box small,.task small{display:block}.task.plain{justify-content:flex-start;width:100%;padding:1rem 0}.task>div{flex:1;min-width:0}.distribution{align-items:center;gap:.9375rem;margin:.875rem 0;display:flex}.distribution>span{min-width:3.75rem}.distribution progress{flex:1}.distribution b{min-width:2.8125rem}progress{height:.4375rem;accent-color:var(--primary);border:0;border-radius:.625rem;max-width:100%;overflow:hidden}progress::-webkit-progress-bar{background:var(--primary-soft)}progress::-webkit-progress-value{background:var(--primary)}.nested-card{border:.0625rem solid var(--line);border-radius:.625rem;margin-bottom:.875rem;padding:1.125rem}.nested-card .actions{margin-top:.875rem}.long-text,.note-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.note-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.6875rem;display:flex}.detail-content>p{margin:.9375rem 0}.detail-content>details{margin-top:1.5rem}.detail-content pre,td pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--canvas);max-height:16.25rem;padding:.75rem;font-size:.6875rem;overflow:auto}.tabs{display:flex;overflow-x:auto}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:0;flex-shrink:0;padding:1rem 0}.tabs button.active{color:var(--primary);border-bottom:.1875rem solid var(--primary);font-weight:700}.info-grid{margin-bottom:.75rem}.info-row{min-width:0}.info-row>span{overflow-wrap:anywhere}.profile-head .avatar{width:3.4375rem;height:3.4375rem;font-size:1.375rem}.profile-head .right strong{display:block}.form-footer{gap:.75rem;margin:1.25rem -.0625rem 0}.form-grid{gap:1.25rem}.student-picker{gap:.5rem;display:grid}.student-picker input{width:100%}.empty{text-align:center;color:var(--muted);padding:2.5rem 1.25rem}.empty>span{background:var(--canvas);border-radius:50%;place-items:center;width:2.625rem;height:2.625rem;margin:0 auto .75rem;font-size:1.375rem;display:grid}.empty h3{color:var(--ink);margin-bottom:.5rem}.empty button{margin-top:1rem}.skeleton{gap:.875rem;padding:1.875rem;display:grid}.skeleton i{background:linear-gradient(90deg, var(--line-soft), var(--surface-hover), var(--line-soft));background-size:200% 100%;border-radius:.375rem;height:1.125rem;animation:1.8s infinite shimmer;display:block}.skeleton i:nth-child(2){width:80%}.skeleton i:nth-child(3){width:60%}@keyframes shimmer{to{background-position:-200% 0}}.startup{flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:100vh;display:flex}.startup .brand{padding:0}.toast{z-index:90;background:var(--ink);color:#fff;max-width:calc(100vw - 2rem);box-shadow:var(--shadow);border-radius:.625rem;align-items:center;gap:1.125rem;padding:.8125rem 1.0625rem;display:flex;position:fixed;bottom:1.5625rem;left:50%;transform:translate(-50%)}.toast button{color:#fff;background:0 0;border:0;min-height:1.5625rem;padding:0}.session-bar{border-bottom:.0625rem solid var(--line);background:var(--paper);color:var(--muted);justify-content:flex-end;align-items:center;gap:.625rem;padding:.1875rem 1.875rem;font-size:.625rem;display:flex}.session-bar button{min-height:1.5rem;font-size:.625rem}.app-footer{border-top:.0625rem solid var(--line);color:var(--muted);padding:.9375rem 1.875rem;font-size:.625rem}.main{min-height:calc(100vh - 9.6875rem);padding-bottom:2rem}.menu-search{width:100%;margin:-.3125rem 0 .3125rem;font-size:.6875rem}.sidebar .subitem{padding-left:2.0625rem;font-size:.75rem}.sidebar .subitem .icon{width:.875rem;height:.875rem}.sidebar .nav-help{margin-top:1.5rem}.sidebar .cart-shortcut{margin-top:1rem}.user small{display:block}.user{white-space:nowrap}.global-search{align-items:center;gap:.5rem;display:flex}.global-search input{outline-offset:0;width:100%;min-height:1.875rem;padding:.1875rem;background:0 0!important;border:0!important}.skip-link{z-index:100;background:var(--primary);color:#fff;padding:.625rem;position:fixed;top:-6.25rem;left:.625rem}.skip-link:focus{top:.625rem}.nav-collapsed .sidebar{width:4.875rem;padding-left:.75rem;padding-right:.75rem}.nav-collapsed .sidebar .brand{justify-content:center;padding:0 0 1.5625rem}.nav-collapsed .sidebar .brand-symbol{display:block}.nav-collapsed .sidebar .brand-logo,.nav-collapsed .academy-switch,.nav-collapsed .menu-search,.nav-collapsed .nav-label,.nav-collapsed .navitem span,.nav-collapsed .nav-help{display:none}.nav-collapsed .sidebar .navitem{padding:.75rem 1rem}.nav-collapsed .app{margin-left:4.875rem}.login-submit{width:100%;height:2.8125rem;margin-top:1.75rem}.login-art mark{color:var(--accent);background:0 0}.login-art>.brand{background:var(--paper);border-radius:var(--radius);z-index:1;width:fit-content;max-width:100%;padding:.75rem 1.125rem;position:relative;top:auto;left:auto}.login-art .brand-logo{width:15.75rem}.login-mobile-brand{display:none}.login-art>div:not(.brand):not(.orbit){z-index:1;position:relative}.login-art>small{z-index:1;color:var(--primary-muted);position:relative}.login-art h1{margin:0 0 1.625rem;font-size:3.25rem;font-weight:650;line-height:1.45}.login-art p{color:var(--primary-muted);line-height:1.9}.login-help{margin-top:1.125rem}.login-layout{min-height:100vh}.login-art{flex-direction:column;justify-content:space-between;padding:3.4375rem 4rem;display:flex;overflow:hidden}.login-form>div{max-width:22.8125rem}.login-form .notice{margin-top:1.25rem}.login-form .eyebrow{margin-bottom:.9375rem}.login-form h2{font-size:1.75rem}.login-art .orbit{border:4.0625rem solid #ffffff09;border-radius:50%;width:26.875rem;height:26.875rem;position:absolute;bottom:4.375rem;right:-9.375rem}.nav-overlay{display:none}dialog{border:.0625rem solid var(--line);width:min(45rem,100vw - 2rem);max-height:calc(100dvh - 2.5rem);color:var(--ink);background:#fff;border-radius:.9375rem;padding:0;box-shadow:0 1.25rem 5.625rem #0003}dialog::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(.125rem);backdrop-filter:blur(.125rem)}dialog .modal-header{border-bottom:.0625rem solid var(--line);justify-content:space-between;align-items:center;padding:1.3125rem 1.5625rem;display:flex}dialog .modal-body{padding:1.5rem;overflow:auto}dialog .modal-header .eyebrow{margin-bottom:.1875rem}dialog .modal-footer{justify-content:flex-end;gap:.625rem;margin-top:1.25rem;display:flex}dialog.drawer{border-radius:0;flex-direction:column;width:min(45rem,100%);height:100dvh;max-height:100dvh;margin:0;display:flex;position:fixed;inset:0 0 0 auto}dialog.drawer .modal-body{flex:1}.attendance-layout{grid-template-columns:15.9375rem minmax(0,1fr);gap:1.25rem;display:grid}.schedule-choice{text-align:left;flex-direction:column;align-items:flex-start;width:100%;margin-bottom:.5rem;display:flex}.schedule-choice.active{background:var(--primary-soft);border-color:var(--primary)}.attendance-layout>.panel{align-self:start}.mini-total{margin-left:auto}@media (max-width:75rem){.topbar .user small{text-overflow:ellipsis;max-width:8.125rem;overflow:hidden}.login-art{padding:2.8125rem}.login-art h1{font-size:2.625rem}.topbar .global-search{width:9.0625rem}.attendance-layout{grid-template-columns:13.125rem minmax(0,1fr)}}@media (max-width:62.5rem){.desktop-menu{display:none}.nav-collapsed .app{margin-left:0}.nav-open .sidebar{width:14.5rem;transform:translate(0)}.nav-open .nav-overlay{background:var(--overlay);z-index:19;border:0;border-radius:0;display:block;position:fixed;inset:0}.nav-open .sidebar .brand{justify-content:flex-start;padding:0 .6875rem 1.75rem}.nav-open .sidebar .brand-logo{display:block}.nav-open .sidebar .brand-symbol{display:none}.nav-open .academy-switch,.nav-open .menu-search,.nav-open .nav-label,.nav-open .navitem span,.nav-open .nav-help{display:revert}.nav-open .sidebar .navitem{padding:.6875rem .8125rem}.attendance-layout{grid-template-columns:1fr}.attendance-layout .schedule-list{display:flex;overflow:auto}.schedule-choice{min-width:11.875rem}.topbar .user small{max-width:11.25rem}}@media (max-width:40rem){.top-right{gap:.25rem}.topbar .user{gap:0}.topbar .link-button{font-size:.625rem}.login-form{padding:2.625rem 1.5rem}.session-bar{padding-right:.9375rem}.form-footer{flex-wrap:wrap;padding:.9375rem}.form-footer button{margin-left:auto}.form-grid{gap:.9375rem}.section-label{flex-wrap:wrap}.toolbar input{flex-basis:100%;width:100%}.toolbar select{flex:1}.filter-toolbar .filter-field{flex:calc(50% - .75rem)}.filter-toolbar .filter-field-search{flex-basis:100%}.filter-toolbar .filter-actions{flex-wrap:wrap}.nested-card{padding:.8125rem}.info-row{gap:.625rem}.kpi strong{overflow-wrap:anywhere;font-size:clamp(1.125rem,5vw,1.5rem)}.kpis[data-count="3"]>.kpi:last-child{grid-column:1/-1}.pagehead .actions{justify-content:flex-start}.pagination{font-size:.625rem}.pagination>div{gap:.5rem}dialog .modal-header,dialog .modal-body{padding:1.125rem}.list-cards{grid-template-columns:1fr}.note-footer{align-items:flex-start}.login-art{display:none}.login-mobile-brand{margin-bottom:2rem;display:block}.login-mobile-brand .brand{padding:0}.note{padding:1.0625rem}.toast{width:calc(100vw - 2rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.navitem{justify-content:flex-start}.academy-switch small,.academy-switch strong{display:block}.table-tools{padding:.75rem var(--panel-gutter);color:var(--muted);align-items:center;gap:.5rem;font-size:.6875rem;display:flex}.table-tools>span{margin-right:auto}.advanced-filters .form-grid{padding:1.25rem 0 .3125rem}.check-list{flex-direction:column;justify-content:center;gap:.625rem;display:flex}.check-list label{align-items:center;gap:.5rem;display:flex}.student-summary{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.one-time-secret{background:var(--canvas);overflow-wrap:anywhere;margin:.9375rem 0;padding:1.25rem;font-size:1rem;display:block}@media (max-width:40rem){.table-tools{padding:.75rem var(--panel-gutter);flex-wrap:wrap}.table-tools>span{flex-basis:100%}.table-tools select{flex:1}}@media (max-width:23.75rem){.attendance-filters .filter-caption{flex-basis:100%;margin:0}}@media (max-width:24rem){.topbar{flex-wrap:wrap;gap:.5rem;height:auto;min-height:3.875rem;padding-block:.5rem}.top-right{flex-wrap:wrap;margin-left:auto}.schedule-item{flex-direction:column;align-items:stretch}}
.menu-group{margin:.4375rem 0}.menu-group summary{cursor:pointer;color:var(--muted,#64748b);padding:.5625rem .75rem;font-weight:650}.menu-group .menu-group{border-left:.0625rem solid var(--line);margin-left:.75rem}.menu-group .navitem{padding-left:1.625rem}.menu-depth-1 summary{font-size:.75rem}.menu-empty{padding:.875rem;font-size:.75rem}.grant-fieldset{border:0;min-width:0;padding:0}.grant-table th{white-space:normal}.grant-table td input{width:1.125rem;height:1.125rem}.temporary-password{overflow-wrap:anywhere;padding:1.25rem;font:1.125rem monospace;display:block}.student-options{border:.0625rem solid #dce5e0;border-radius:.5rem;gap:.5rem;max-height:15rem;padding:.75rem;display:grid;overflow-y:auto}.student-options label{align-items:center;gap:.625rem;display:flex}.student-options input{width:auto}.selected-students{gap:.5rem;padding:0;list-style:none;display:grid}.selected-students li{background:#f2f7f4;border-radius:.375rem;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.import-preview{max-height:22.5rem;margin-bottom:1.25rem}.import-preview th,.import-preview td{white-space:nowrap}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem;display:grid}.profile-grid dt{color:#66736d;margin-bottom:.375rem;font-size:.8125rem}.profile-grid dd{overflow-wrap:anywhere;margin:0}.import-step{border-top:.0625rem solid var(--line,#dce5df);padding:1.25rem 0}.import-step>form{margin:1rem 0}.import-step>p{margin:.625rem 0}.import-weekdays{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.import-weekdays legend{margin-bottom:.625rem;font-weight:600}.import-weekdays label{align-items:center;gap:.3125rem;display:inline-flex}.import-weekdays input{width:auto}.code-management{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.125rem;margin-top:1.125rem;display:grid}.code-management>.panel{min-width:0;margin:0;padding:1rem}.code-management .table-scroll{max-height:min(62vh,41.25rem)}.code-management button[aria-pressed=true]{border-color:var(--primary);font-weight:700}@media (max-width:68.75rem){.code-management{grid-template-columns:minmax(0,1fr)}.code-management .table-scroll{max-height:22.5rem}}.btn-move-to-user-grants{margin-top:1rem}
.management-workbench,.workbench-grid:where(:has(>:nth-child(2))){grid-template-columns:minmax(0,1.55fr) minmax(21.25rem,1fr);align-items:start;gap:1.5rem;display:grid}.management-workbench>*,.workbench-grid>*,.student-workbench>*{min-width:0}.management-workbench .panel-pad,.workbench-grid .panel-pad{padding:1.625rem}.management-workbench .panel-pad>h2{margin:0 0 1rem;font-size:1.25rem}.management-workbench .toolbar,.workbench-grid .toolbar{flex-wrap:wrap;gap:1rem}.management-workbench .form-grid,.workbench-grid .form-grid{gap:1.125rem}.management-workbench .field,.workbench-grid .field{min-width:0}.management-workbench .field input,.management-workbench .field select{width:100%}.student-workbench.has-selection{grid-template-columns:minmax(21.25rem,.85fr) minmax(0,1.45fr);align-items:start;gap:1.5rem;display:grid}.student-detail-pane{border:.0625rem solid var(--line);background:var(--paper);border-radius:1.125rem;padding:1.5rem}.student-detail-pane .page-head{margin-bottom:1.25rem}.student-detail-pane .page-head h1{font-size:1.375rem}.student-detail-pane .profile-head{flex-wrap:wrap;gap:1.125rem;padding:1.375rem}.student-detail-pane .info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-detail-pane .info-row{flex-direction:column;align-items:flex-start;gap:.375rem}.student-detail-pane .tabs{white-space:nowrap;padding:0 1rem;overflow-x:auto}.student-detail-pane .management-workbench,.student-detail-pane .workbench-grid{display:block}.student-detail-pane .management-workbench>*,.student-detail-pane .workbench-grid>*{margin-bottom:1.25rem}.slot-options,.timetable-cards{gap:.75rem;padding:1.25rem;display:grid}.slot-option{border:.0625rem solid var(--line);cursor:pointer;border-radius:.75rem;align-items:center;gap:.875rem;padding:1rem;display:flex}.slot-option:has(:checked){background:var(--primary-soft);border-color:var(--primary)}.slot-option input{width:auto}.slot-option small,.timetable-card small{color:var(--muted);margin-top:.4375rem;display:block}.timetable-card{text-align:left;white-space:normal;border-radius:.875rem;gap:.5625rem;width:100%;height:auto;padding:1.375rem;line-height:1.5;display:grid}.timetable-card strong{font-size:1.25rem;font-weight:650}.timetable-card.selected{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 .0625rem var(--primary)}.timetable-card .section-label{margin:0}.schedule-input{grid-template-columns:5rem 7.1875rem 1fr auto;align-items:center;gap:.625rem;margin-bottom:.75rem;display:grid}.schedule-input input,.schedule-input select{width:100%;min-width:0}.schedule-input span{color:var(--muted);font-size:.75rem}.assigned-list{flex-wrap:wrap;gap:.5rem;margin:.875rem 0 1.5rem;display:flex}.assigned-list span{background:var(--primary-soft);border-radius:.5rem;padding:.5rem .75rem}.fixed-month{background:var(--surface-hover);border-radius:.625rem;margin:0 0 1.25rem;padding:.75rem 1rem}.fixed-month strong{margin-left:.75rem}.receipt-list{border-bottom:.0625rem solid var(--line);margin-bottom:1.375rem;padding-bottom:.75rem}.receipt-list p{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.ledger-editor{padding:1.25rem 1.75rem 1.75rem}.ledger-editor table{border-collapse:collapse;width:100%;min-width:61.25rem}.ledger-editor th,.ledger-editor td{border:.0625rem solid var(--line);padding:.875rem .75rem}.ledger-editor th{background:var(--surface-hover);text-align:center;font-size:.8125rem}.ledger-editor th:nth-child(3){width:35%}.ledger-editor td:first-child,.ledger-editor td:nth-child(2){text-align:center;width:3.25rem}.ledger-editor .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ledger-description{white-space:normal;overflow-wrap:anywhere;line-height:1.6}.ledger-description small{color:var(--muted);display:block}.ledger-edit-row{background:var(--primary-soft)}.ledger-edit-row input{width:100%;min-width:4.6875rem;padding:.625rem .5rem}.ledger-edit-row td:nth-child(3) input{min-width:13.75rem}.ledger-edit-row input[type=number]{max-width:8.75rem}.ledger-editor form .form-grid{display:none}.ledger-editor form .form-actions,.ledger-editor form .form-footer{border:0;margin:0;padding:0}.ledger-editor form .form-footer small{display:none}.ledger-editor .actions{flex-wrap:nowrap;gap:.375rem}.message-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-hover);border-radius:.875rem;margin:1.375rem 0;padding:1.5rem;font-family:inherit;line-height:1.85}.delivery-attempt{border-bottom:.0625rem solid var(--line);padding:1rem 0;line-height:1.6}.delivery-attempt>b{margin-right:.75rem}@media (max-width:75rem){.management-workbench,.workbench-grid:where(:has(>:nth-child(2))),.student-workbench.has-selection{grid-template-columns:minmax(0,1fr)}.student-detail-pane{margin-top:.5rem}}@media (max-width:40rem){.management-workbench{gap:1rem}.management-workbench .panel-pad,.workbench-grid .panel-pad,.student-detail-pane{padding:1.125rem}.student-detail-pane .info-grid{grid-template-columns:1fr}.ledger-editor{padding:.75rem}.schedule-input{grid-template-columns:4.375rem 6.875rem 1fr}.schedule-input span{grid-area:2/1/auto/-1}}.inline-editor-cell,.inline-editor-row>td{white-space:normal;background:#f8faff;border-block:.125rem solid #cad7ed;padding:0!important}
.grid-caption{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;font-size:.75rem;display:flex}.grid-caption strong{color:#294e9b;white-space:nowrap}.edit-grid{border:.0625rem solid var(--line);border-radius:.75rem;max-width:100%}.edit-grid table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.edit-grid th{white-space:nowrap;background:#f3f6fb;padding:.75rem;font-size:.75rem}.edit-grid td{vertical-align:top;white-space:normal;border-bottom:.0625rem solid #e5eaf2;padding:.5rem}.edit-grid tbody tr:last-child>td{border-bottom:0}.edit-grid .grid-row>td{background:#fff}.edit-grid .grid-row:nth-child(2n)>td{background:#fafbfe}.edit-grid .grid-row:focus-within>td{background:#f3f7ff}.edit-grid .grid-row-dirty>td{border-bottom-color:#abc5ec}.edit-grid .grid-row-dirty>td:first-child{box-shadow:inset .1875rem 0 #3c6bd2}.edit-grid .field{gap:0;width:9.375rem;min-width:8.125rem;margin:0;position:relative}.edit-grid .field>label{clip-path:inset(50%);white-space:nowrap;width:.0625rem;height:.0625rem;margin:-.0625rem;padding:0;position:absolute;overflow:hidden}.edit-grid .field.span2{width:12.5rem}.address-main,.address-detail{align-items:center;gap:.5rem;display:flex}.address-main>input,.address-detail>input{flex:1;min-width:0}.address-main>button{white-space:nowrap;flex:none}.address-detail{margin-top:.5rem}.address-detail>input:first-child{width:5.5rem;color:var(--muted);background:#f4f6fa;flex:0 0 5.5rem}.edit-grid .field.address-field{width:21.25rem}.edit-grid .field.address-field input:not([type]){min-width:0}dialog.address-dialog{width:min(32.5rem,100vw - 1.5rem)}.address-search-body{position:relative}.address-search-frame{height:min(32.5rem,100dvh - 8.75rem);min-height:25rem}.address-search-status{text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:1rem;margin:0;padding:2rem 1.125rem;display:flex;position:absolute;inset:0}.edit-grid input:not([type=checkbox]):not([type=radio]),.edit-grid select,.edit-grid textarea{background:#fff;border:.0625rem solid #d8e1ee;border-radius:.375rem;width:100%;min-width:8.125rem;min-height:2.25rem;padding:.4375rem .5625rem;font-size:.8125rem}.edit-grid input[type=number]{text-align:right;max-width:9.375rem}.edit-grid input[type=date]{min-width:9.0625rem}.edit-grid input[readonly]{background:#f4f6fa}.edit-grid textarea{resize:vertical;min-width:12.5rem;height:4rem}.edit-grid .field>small:empty{display:none}.edit-grid .field>small:not(:empty){max-width:13.125rem;margin-top:.3125rem;font-size:.6875rem}.edit-grid .grid-actions{border-left:.0625rem solid var(--line);z-index:1;min-width:9.375rem;max-width:14.375rem;position:sticky;right:0;box-shadow:-.25rem 0 .75rem #172c4a08}.edit-grid th.grid-actions{z-index:2}.grid-row-buttons{flex-wrap:wrap;gap:.375rem;display:flex}.edit-grid button{min-height:2rem;padding:.375rem .625rem;font-size:.75rem}.grid-actions>button{margin-top:.375rem}.grid-actions .notice{margin-bottom:.5rem;padding:.5rem;font-size:.75rem}.grid-readonly{min-width:4.375rem;padding:.5rem .25rem;line-height:1.5;display:block}.grid-cell-stack{gap:.375rem;display:grid}.grid-guardians{min-width:14.375rem}.grid-guardian{border-bottom:.0625rem solid var(--line);margin-bottom:.5rem;padding-bottom:.5rem}.grid-guardian label,.grid-timetable-options label{align-items:center;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:flex}.grid-timetable-options{min-width:13.75rem;max-height:16.25rem;overflow-y:auto}.grid-schedules{min-width:15.625rem}.grid-schedule{gap:.375rem;margin-bottom:.375rem;display:flex}.edit-grid .grid-schedule select,.edit-grid .grid-schedule input{min-width:5.9375rem}.grid-schedules small{margin:.5rem 0;display:block}.edit-grid td[data-column=description] .field{min-width:16.875rem}.edit-grid td[data-column=day] .field,.edit-grid td[data-column=day] input[type=number]{width:4.0625rem;min-width:3.75rem}.edit-grid td[data-column=studentIds]{min-width:21.25rem}@media (max-width:40rem){.edit-grid .grid-actions{position:static}.grid-caption{align-items:flex-start;font-size:.6875rem}}.inline-row-form{text-align:left;white-space:normal;min-width:0;padding:1.5rem}.inline-row-form .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.125rem}.inline-row-form .section-label{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.inline-row-form .section-label>button:last-child{margin-left:auto}.inline-row-form .nested-card{margin-block:.875rem}.inline-row-form .slot-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;display:grid}.inline-row-form .receipt-list p{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}@media (max-width:62.5rem){.inline-row-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:40rem){.inline-row-form{padding:1rem}.inline-row-form .form-grid,.inline-row-form .slot-options{grid-template-columns:1fr}}
.time-picker{min-width:8.75rem;position:relative}.time-picker input.time-picker-validation[type=time]{clip-path:inset(50%);pointer-events:none;border:0;width:1px;min-width:0;height:1px;min-height:0;padding:0;position:absolute;overflow:hidden}.time-picker .time-picker-trigger{border:1px solid var(--line);background:var(--paper);width:100%;min-height:2.4375rem;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.8125rem;font-weight:500;transition:border-color .15s,box-shadow .15s;display:flex}.edit-grid .time-picker-trigger{min-height:2.25rem}.time-picker-trigger:hover:not(:disabled),.time-picker-trigger[aria-expanded=true]{border-color:var(--primary-muted);background:var(--surface-hover);box-shadow:0 0 0 3px var(--primary-soft)}.time-picker-trigger[data-invalid=true]{border-color:var(--red)}.time-picker-trigger svg{fill:none;width:1rem;height:1rem;stroke:var(--muted);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 1rem}.time-picker-chevron{margin-left:auto}.time-picker-placeholder{color:var(--muted)}.time-picker-popover{border:1px solid var(--line);background:var(--paper);width:min(20rem,100vw - 1rem);max-height:calc(100dvh - 1rem);color:var(--ink);white-space:normal;border-radius:1rem;margin:0;padding:1.125rem;font-size:.8125rem;position:fixed;inset:auto;overflow-y:auto;box-shadow:0 1rem 3rem #01285b24,0 .25rem .75rem #01285b0a}.time-picker-heading{justify-content:space-between;align-items:center;display:flex}.time-picker-heading strong{font-size:.875rem}.time-picker-heading>span{background:var(--primary-soft);color:var(--primary);border-radius:1rem;padding:.1875rem .5rem;font-size:.6875rem}.time-picker-preview{color:var(--primary);font-variant-numeric:tabular-nums;margin:.75rem 0 1rem;font-size:1.75rem;font-weight:700;line-height:1.3}.time-picker-popover .time-picker-group{border:0;min-width:0;margin:.875rem 0 0;padding:0}.time-picker-group legend{color:var(--muted);margin-bottom:.375rem;padding:0;font-size:.6875rem;font-weight:600}.time-picker-options{grid-template-columns:repeat(6,minmax(0,1fr));gap:.375rem;display:grid}.time-picker-period .time-picker-options{background:var(--canvas);border-radius:.625rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;padding:.25rem}.time-picker-popover .time-picker-option{cursor:pointer;margin:0;font-size:.8125rem;font-weight:500;display:block;position:relative}.time-picker-option input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.time-picker-option span{background:var(--canvas);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;min-height:2.25rem;display:flex}.time-picker-option:hover input:not(:disabled)+span{background:var(--primary-soft);border-color:var(--primary-muted)}.time-picker-option input:checked+span{background:var(--primary);color:#fff;font-weight:700}.time-picker-option:hover input:checked+span{background:var(--primary-hover)}.time-picker-period input:checked+span{background:var(--paper);color:var(--primary);box-shadow:0 1px 4px #01285b14}.time-picker-period .time-picker-option:hover input:checked+span{background:var(--paper)}.time-picker-option input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}.time-picker-option input:disabled+span{opacity:.3;cursor:not-allowed}.time-picker-footer{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.875rem;display:flex}.time-picker-popover .time-picker-footer button{min-height:2.25rem;padding:.375rem .75rem;font-size:.75rem}.time-picker-error{color:var(--red);margin-top:.75rem;font-size:.75rem}.grid-schedule .time-picker{flex:1 0 auto}

