:root{--ink:#1b2925;--paper:#f6f0e2;--sun:#f5c64c;--tomato:#d95c48;--moss:#4f725d;--line:#d8cdb8}*{box-sizing:border-box}html{background:var(--paper)}body{background:radial-gradient(circle at 85% 8%, #f5c64c8c, transparent 24rem), linear-gradient(118deg, #4f725d1f, transparent 42%), var(--paper);color:var(--ink);min-height:100vh;margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Palatino,serif}.shell{max-width:760px;min-height:100vh;margin:0 auto;padding:clamp(3rem,9vw,7rem) clamp(1.5rem,5vw,4rem)}.hero{max-width:630px}.eyebrow,.step-mark{color:var(--tomato);letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-family:Courier New,monospace;font-size:.78rem;font-weight:700}h1,h2,p{margin-top:0}h1{letter-spacing:-.065em;margin-bottom:1.8rem;font-size:clamp(2.65rem,8vw,5.8rem);font-weight:500;line-height:.91}h2{letter-spacing:-.03em;margin:0;font-size:1.6rem;font-weight:500}.lede{max-width:590px;font-family:Georgia,serif;font-size:clamp(1.1rem,3vw,1.35rem);line-height:1.5}.flow-card,.receipt-card{border:1px solid var(--line);background:#fffbf2bf;margin:3.5rem 0 1.4rem;padding:clamp(1.4rem,5vw,2.3rem);box-shadow:10px 10px #4f725d29}.flow-head{align-items:baseline;gap:1rem;display:flex}.flow-card ol{counter-reset:item;margin:2rem 0 0;padding:0;list-style:none}.flow-card li{border-top:1px solid var(--line);padding:1rem 0 1rem 2.5rem;font-size:1.12rem;line-height:1.4;position:relative}.flow-card li:before{color:var(--moss);content:counter(item, decimal-leading-zero);counter-increment:item;font-family:Courier New,monospace;font-size:.75rem;position:absolute;top:1.25rem;left:0}.notice{border-left:4px solid var(--sun);padding:.6rem 0 .6rem 1rem;font-family:Georgia,serif;line-height:1.5}.centered{align-content:center;display:grid}.text-link{color:var(--ink);margin-top:1.5rem;font-family:Courier New,monospace;font-size:.86rem;font-weight:700}.receipt-shell h1{font-size:clamp(2.4rem,7vw,4.8rem)}.receipt-card{grid-template-columns:minmax(0,180px) 1fr;align-items:center;gap:1.5rem;display:grid}.receipt-card img,.file-symbol{aspect-ratio:4/5;background:var(--sun);border:1px solid var(--ink);object-fit:cover;width:180px;max-width:100%;height:auto}.file-symbol{justify-content:center;align-items:center;font-family:Courier New,monospace;font-weight:700;display:flex}.receipt-name{overflow-wrap:anywhere;font-size:1.25rem;font-weight:700}.receipt-card p:not(.receipt-name){color:#54615d;overflow-wrap:anywhere;margin-bottom:.55rem;font-family:Courier New,monospace;font-size:.75rem;line-height:1.5}.receipts-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);align-items:end;gap:2rem;padding:clamp(3rem,8vw,6rem) 0 2.2rem;display:grid}.receipts-hero h1{font-size:clamp(3.4rem,8vw,6.8rem)}.receipt-upload-card{border:1px solid var(--line);background:#fffbf2b8;padding:1.25rem}.receipt-upload-card h2{margin-bottom:.55rem}.receipt-upload-card>p:not(.eyebrow){color:#54615d;font-family:Georgia,serif;line-height:1.45}.receipt-upload-card form,.receipt-assignment-form,.receipt-validation-form{gap:.55rem;display:grid}.receipt-upload-card label,.receipt-assignment-form label{text-transform:uppercase;font-family:Courier New,monospace;font-size:.7rem;font-weight:700}.receipt-validation-form{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.receipt-validation-form>label{color:var(--moss)}.receipt-upload-card input[type=file],.receipt-assignment-form select,.receipt-validation-form select{border:1px solid var(--ink);color:var(--ink);background:#fffdf7;border-radius:0;min-height:2.75rem;padding:.55rem;font-family:Courier New,monospace;font-size:.76rem}.receipt-inbox{padding-top:1rem}.receipt-filter-card{border:1px solid var(--line);background:#fffbf2b8;padding:1rem}.receipt-filter-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.7rem;display:grid}.receipt-filter-form>div{gap:.35rem;display:grid}.receipt-filter-form label,.filter-hint{color:#54615d;font-family:Courier New,monospace;font-size:.7rem}.receipt-filter-form input{border:1px solid var(--ink);color:var(--ink);background:#fffdf7;border-radius:0;width:100%;min-height:2.75rem;padding:.65rem;font-family:Courier New,monospace}.filter-hint{margin:.65rem 0 0}.receipt-inbox-list{gap:1rem;margin-top:1.2rem;display:grid}.receipt-inbox-item{border:1px solid var(--line);background:#fffbf2d1;grid-template-columns:110px minmax(0,1fr) auto;align-items:start;gap:1.25rem;min-width:0;max-width:100%;padding:1rem;display:grid;overflow:hidden}.receipt-preview{aspect-ratio:1;background:var(--sun);border:1px solid var(--ink);justify-content:center;align-items:center;display:flex;overflow:hidden}.receipt-preview img{object-fit:contain;width:100%;height:100%}.receipt-preview a{color:var(--ink);font-family:Courier New,monospace;font-weight:700}.receipt-inbox-details h3{overflow-wrap:anywhere;margin:0 0 .3rem;font-size:1.15rem}.receipt-inbox-details,.receipt-inbox-details>*,.receipt-validation-form,.receipt-validation-form .plan-schedule-picker,.receipt-renewal,.receipt-plan-change{min-width:0;max-width:100%}.receipt-inbox-details>p:not(.eyebrow){color:#54615d;margin-bottom:1rem;font-family:Courier New,monospace;font-size:.72rem;line-height:1.45}.receipt-assignment-form>div{gap:.5rem;display:flex}.receipt-validation-form,.receipt-renewal,.receipt-plan-change form{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}.receipt-assignment-form select{width:100%;min-width:0}.receipt-validation-form select,.receipt-validation-form .primary-action,.receipt-validation-form .secondary-action,.receipt-renewal .primary-action{width:100%;max-width:100%}.receipt-validation-prompt,.receipt-renewal{border:1px solid var(--line);background:#ffe0652e;margin-top:1rem;padding:1rem}.receipt-renewal>strong,.receipt-renewal>span{overflow-wrap:anywhere;display:block}.receipt-renewal>span{color:#54615d;font-family:Courier New,monospace;font-size:.76rem}.receipt-plan-change{border-top:1px solid var(--line);margin-top:.25rem;padding-top:.75rem}.receipt-plan-change summary{cursor:pointer;font-family:Courier New,monospace;font-size:.76rem;font-weight:700}.receipt-plan-change form{margin-top:.8rem}.auth-shell,.dashboard-shell{max-width:1240px;min-height:100vh;margin:0 auto;padding:clamp(1.25rem,4vw,3.5rem)}.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:clamp(2rem,8vw,8rem);display:grid}.auth-intro{max-width:620px}.auth-intro h1{font-size:clamp(3.3rem,8vw,6.7rem)}.auth-card,.dashboard-card,.context-card,.receipt-cta{border:1px solid var(--line);background:#fffbf2d1;box-shadow:8px 8px #4f725d24}.auth-card{padding:clamp(1.5rem,5vw,2.7rem)}.auth-card h2,.dashboard-card h2,.receipt-cta h2{letter-spacing:-.045em;font-size:clamp(1.75rem,3vw,2.35rem)}.auth-kicker{color:var(--tomato);letter-spacing:.14em;font-family:Courier New,monospace;font-size:.73rem;font-weight:700}.login-form{gap:.85rem;margin-top:2rem;display:grid}.login-form label,.login-form input{font-family:Courier New,monospace;font-size:.85rem;font-weight:700}.login-form input{border:1px solid var(--ink);color:var(--ink);background:#fffdf7;border-radius:0;min-height:3rem;padding:.75rem}.login-form input:focus-visible,button:focus-visible,.text-link:focus-visible,.wordmark:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}.primary-action{background:var(--ink);border:1px solid var(--ink);color:var(--paper);cursor:pointer;border-radius:0;min-height:3rem;margin-top:.8rem;padding:.75rem 1rem;font-family:Courier New,monospace;font-size:.82rem;font-weight:700}.primary-action:disabled{cursor:wait;opacity:.65}.form-error{color:#a63328;margin:0;font-family:Courier New,monospace;font-size:.8rem}.auth-note{border-top:1px solid var(--line);color:#54615d;margin-top:2rem;padding-top:1.25rem;font-family:Georgia,serif;font-size:.9rem;line-height:1.5}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:1.1rem;display:flex}.wordmark{color:var(--ink);letter-spacing:-.07em;font-size:1.75rem;font-weight:700;text-decoration:none}.wordmark span{color:var(--tomato)}.staff-chip{align-items:center;gap:.6rem;display:flex}.header-controls{align-items:center;gap:1rem;display:flex}.header-nav{flex-wrap:wrap;gap:.85rem;display:flex}.header-link,.text-action{color:var(--ink);font-family:Courier New,monospace;font-size:.72rem;font-weight:700}.header-link{border-bottom:1px solid var(--tomato);padding:.35rem 0;text-decoration:none}.header-link[aria-current=page]{background:var(--sun);border:1px solid var(--ink);padding:.35rem .45rem}.staff-chip>span,.initials{background:var(--sun);border:1px solid var(--ink);justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-family:Courier New,monospace;font-size:.78rem;font-weight:700;display:flex}.staff-chip strong,.staff-chip small{display:block}.staff-chip strong{font-size:.9rem}.staff-chip small{color:#54615d;font-family:Courier New,monospace;font-size:.67rem}.sign-out{color:#54615d;cursor:pointer;background:0 0;border:0;margin-left:.45rem;padding:.4rem;font-family:Courier New,monospace;font-size:.72rem}.dashboard-hero{justify-content:space-between;align-items:end;gap:2rem;padding:clamp(3rem,8vw,6rem) 0 2.5rem;display:flex}.dashboard-hero h1{margin-bottom:1.2rem;font-size:clamp(3.4rem,8vw,6.8rem)}.dashboard-hero .lede{margin-bottom:0}.context-card{gap:.25rem;min-width:195px;padding:1.25rem;display:grid}.context-card span{color:#54615d;letter-spacing:.08em;text-transform:uppercase;margin-top:.7rem;font-family:Courier New,monospace;font-size:.7rem}.context-card span:first-child{margin-top:0}.context-card strong{letter-spacing:-.04em;font-size:1.3rem}.metric-strip{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(6,1fr);display:grid}.metric-strip article{gap:.35rem;padding:1.25rem 1rem;display:grid}.metric-strip article+article{border-left:1px solid var(--line)}.metric-strip span{color:#54615d;letter-spacing:.06em;text-transform:uppercase;font-family:Courier New,monospace;font-size:.7rem}.metric-strip strong{letter-spacing:-.055em;font-size:clamp(1.5rem,3vw,2.15rem)}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.9fr);gap:1.25rem;padding-top:1.5rem;display:grid}.dashboard-alerts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;padding-top:1.25rem;display:grid}.dashboard-alert-card{gap:1rem;display:grid}.dashboard-alert-card p{color:#54615d;margin:0;font-family:Georgia,serif;line-height:1.45}.dashboard-alert-card .text-action{justify-self:start}.dashboard-alert-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.dashboard-alert-list li{border-top:1px solid var(--line);gap:.2rem;padding-top:.8rem;display:grid}.dashboard-alert-list span{color:#54615d;font-family:Courier New,monospace;font-size:.72rem}.reports-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);align-items:end;gap:2rem;padding:clamp(3rem,8vw,6rem) 0 2.2rem;display:grid}.reports-hero h1{font-size:clamp(3.4rem,8vw,6.8rem)}.report-filter-form{border:1px solid var(--line);background:#fffbf2b8;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:1rem;display:grid}.report-filter-form>div{gap:.35rem;display:grid}.report-filter-form label{color:#54615d;text-transform:uppercase;font-family:Courier New,monospace;font-size:.7rem;font-weight:700}.report-filter-form input{border:1px solid var(--ink);color:var(--ink);background:#fffdf7;border-radius:0;min-height:2.75rem;padding:.65rem;font-family:Courier New,monospace}.report-filter-form .primary-action{grid-column:1/-1;justify-self:start}.report-metrics{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.report-metrics article{gap:.35rem;padding:1.25rem 1rem;display:grid}.report-metrics article+article{border-left:1px solid var(--line)}.report-metrics span,.report-metrics small,.attendance-strip{color:#54615d;font-family:Courier New,monospace;font-size:.7rem}.report-metrics span{letter-spacing:.06em;text-transform:uppercase}.report-metrics strong{letter-spacing:-.05em;font-size:clamp(1.4rem,3vw,2rem)}.attendance-strip{flex-wrap:wrap;gap:1.2rem;padding:1rem 0;display:flex}.attendance-strip strong{color:var(--ink);margin-left:.25rem}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.report-list{margin-top:1.25rem}.report-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.report-row>div{gap:.25rem;display:grid}.report-row span,.report-row a{color:#54615d;font-family:Courier New,monospace;font-size:.68rem;line-height:1.45}.report-row-value{text-align:right;justify-items:end}.report-row-value>strong{color:var(--moss);font-size:1.05rem}.plan-report-card{grid-column:1/-1}.report-plan-filter{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(220px,.55fr) auto;align-items:end;gap:.7rem;margin-top:1.25rem;padding-bottom:1.25rem;display:grid}.report-plan-filter>div{gap:.35rem;display:grid}.report-plan-filter label{color:#54615d;text-transform:uppercase;font-family:Courier New,monospace;font-size:.7rem;font-weight:700}.report-plan-filter input,.report-plan-filter select{border:1px solid var(--ink);color:var(--ink);background:#fffdf7;border-radius:0;width:100%;min-height:2.75rem;padding:.65rem;font-family:Courier New,monospace}.plan-report-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem;display:grid}.dashboard-card,.receipt-cta{padding:clamp(1.25rem,3vw,2rem)}.schedule-card{grid-row:span 2}.section-heading{justify-content:space-between;align-items:start;display:flex}.section-heading .eyebrow{margin-bottom:.5rem}.count-badge{background:var(--sun);border:1px solid var(--ink);padding:.35rem .45rem;font-family:Courier New,monospace;font-size:.68rem;font-weight:700}.schedule-list,.student-list{margin-top:1.6rem}.schedule-row{border-top:1px solid var(--line);grid-template-columns:4.4rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.25rem 0;display:grid}.time-block{font-family:Courier New,monospace;display:grid}.time-block strong{font-size:1.25rem}.time-block span,.schedule-details p,.student-row p,.receipt-cta p{color:#54615d;font-family:Georgia,serif;font-size:.92rem;line-height:1.45}.time-block span{text-transform:uppercase;margin-top:.2rem;font-family:Courier New,monospace;font-size:.68rem}.schedule-details h3,.student-row h3{letter-spacing:-.035em;margin-bottom:.2rem;font-size:1.16rem}.schedule-details p,.student-row p{margin-bottom:.45rem}.student-line{color:var(--moss);font-family:Courier New,monospace;font-size:.72rem;font-weight:700}.capacity{color:var(--moss);background:#e5efe1;border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;font-family:Courier New,monospace;font-size:.75rem;font-weight:700;display:flex}.student-row{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:1rem 0;display:grid}.student-row .initials{background:#f8dbc7;width:2.4rem;height:2.4rem}.student-row strong{color:var(--moss);font-family:Courier New,monospace;font-size:.77rem}.dashboard-preview-note{color:#54615d;margin:1rem 0 0;font-family:Courier New,monospace;font-size:.72rem;line-height:1.45}.pagination-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1rem;display:flex}.pagination-nav>span{color:#54615d;font-family:Courier New,monospace;font-size:.72rem}.pagination-nav>div{gap:.5rem;display:flex}.receipt-cta{background:linear-gradient(135deg,#d95c481c,#0000 55%),#fffbf2d1}.receipt-cta .eyebrow{margin-bottom:.5rem}.receipt-cta h2{margin-bottom:.8rem}.receipt-cta span{color:var(--tomato);margin-top:1.3rem;font-family:Courier New,monospace;font-size:.72rem;font-weight:700;display:block}.students-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);align-items:end;gap:2rem;padding:clamp(3rem,8vw,6rem) 0 2.2rem;display:grid}.students-hero h1{margin-bottom:1.2rem;font-size:clamp(3.4rem,8vw,6.8rem)}.students-hero .lede{margin-bottom:0}.student-search{border:1px solid var(--line);background:#fffbf2b8;gap:.6rem;padding:1rem;display:grid}.student-search label,.student-form label,.grid-form label{letter-spacing:.04em;text-transform:uppercase;font-family:Courier New,monospace;font-size:.7rem;font-weight:700}.student-search>div{gap:.5rem;display:flex}.student-search input,.student-search select,.student-form input,.student-form select,.grid-form input,.grid-form select{border:1px solid var(--ink);color:var(--ink);background:#fffdf7;border-radius:0;width:100%;min-width:0;min-height:2.75rem;padding:.65rem;font-family:Courier New,monospace;font-size:.82rem}.student-search input{width:100%;min-width:0}.student-search select{border:1px solid var(--ink);color:var(--ink);background:#fffdf7;border-radius:0;min-height:2.75rem;padding:.65rem;font-family:Courier New,monospace}.student-search input:focus-visible,.student-search select:focus-visible,.student-form input:focus-visible,.student-form select:focus-visible,.grid-form input:focus-visible,.grid-form select:focus-visible,.student-details summary:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}.secondary-action{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;min-height:2.75rem;padding:.65rem .8rem;font-family:Courier New,monospace;font-size:.72rem;font-weight:700}.form-notice,.form-banner{border:1px solid var(--line);margin:0 0 1rem;padding:.9rem 1rem;font-family:Courier New,monospace;font-size:.8rem;font-weight:700}.form-notice{color:var(--moss);background:#e5efe1}.form-banner{background:#f8dbc7}.student-management-grid{grid-template-columns:minmax(280px,.58fr) minmax(0,1.42fr);align-items:start;gap:1.25rem;padding-top:1rem;display:grid}.create-student-card{position:sticky;top:1rem}.create-student-card h2{margin-bottom:.6rem}.card-copy,.empty-state{color:#54615d;font-family:Georgia,serif;font-size:.95rem;line-height:1.45}.student-form{gap:.55rem;margin-top:1.5rem;display:grid}.student-form .primary-action,.student-form .secondary-action{justify-self:start}.grid-form{gap:.55rem;margin-top:1.5rem;display:grid}.grid-form .primary-action,.grid-form .secondary-action{justify-self:start}.grid-form-row{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.grid-form-row>div{gap:.55rem;display:grid}.weekday-picker{border:0;gap:.5rem;margin:0;padding:0;display:grid}.weekday-picker legend{letter-spacing:.04em;text-transform:uppercase;padding:0;font-family:Courier New,monospace;font-size:.7rem;font-weight:700}.weekday-picker p{color:#54615d;margin:0;font-family:Georgia,serif;font-size:.86rem}.weekday-picker>div{flex-wrap:wrap;gap:.45rem;display:flex}.weekday-picker label{border:1px solid var(--ink);cursor:pointer;text-transform:none;background:#fffdf7;align-items:center;gap:.25rem;min-height:2.3rem;padding:.45rem .55rem;font-family:Courier New,monospace;font-size:.76rem;display:inline-flex}.weekday-picker input{accent-color:var(--moss);min-height:auto;padding:0}.student-directory{border:1px solid var(--line);background:#fffbf28f;padding:clamp(1.25rem,3vw,2rem)}.student-directory-list{gap:.9rem;margin-top:1.6rem;display:grid}.student-record{border:1px solid var(--line);background:#fffbf2d1;padding:1rem;box-shadow:5px 5px #4f725d1a}.student-summary{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;display:grid}.student-summary .initials{background:#f8dbc7;width:2.4rem;height:2.4rem}.student-summary h3{letter-spacing:-.035em;margin:0 0 .15rem;font-size:1.16rem}.student-summary p,.student-plan-summary span{color:#54615d;margin:0;font-family:Courier New,monospace;font-size:.72rem;line-height:1.45}.status-pill{border:1px solid var(--moss);color:var(--moss);text-transform:uppercase;background:#e5efe1;padding:.3rem .4rem;font-family:Courier New,monospace;font-size:.67rem;font-weight:700}.status-pill.is-muted{color:#62665f;background:#eee7d8;border-color:#8a8c83}.student-plan-summary{border-top:1px solid var(--line);gap:.2rem;margin-top:1rem;padding-top:.8rem;display:grid}.student-plan-summary strong{letter-spacing:-.025em;font-size:1.05rem}.plan-type-metrics{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem;padding-top:.8rem;display:grid}.plan-type-metrics span{color:#54615d;gap:.15rem;font-family:Courier New,monospace;font-size:.68rem;display:grid}.plan-type-metrics strong{color:var(--ink);font-family:Georgia,serif;font-size:1.05rem}.student-payment-history{border-top:1px solid var(--line);gap:.25rem;margin-top:1rem;padding-top:.8rem;display:grid}.student-payment-history span,.student-payment-history a{color:#54615d;font-family:Courier New,monospace;font-size:.72rem;line-height:1.45}.student-payment-history a{color:var(--ink);font-weight:700}.student-details{border-top:1px solid var(--line);margin-top:1rem;padding-top:.85rem}.student-details summary{color:var(--tomato);cursor:pointer;font-family:Courier New,monospace;font-size:.72rem;font-weight:700}.student-details-content{gap:1.2rem;display:grid}.compact-form{grid-template-columns:1fr 1fr auto}.compact-form label{grid-row:1}.compact-form input,.compact-form select{grid-row:2}.compact-form button{grid-row:2;align-self:end}.plan-form{border-top:1px solid var(--line);padding-top:1.2rem}.plan-form label{grid-column:1/-1}.plan-form select{grid-column:1/span 2}.plan-schedule-picker{grid-column:1/-1;gap:.7rem;display:grid}.plan-schedule-picker fieldset{border:1px solid var(--line);gap:.8rem;min-inline-size:0;margin:0;padding:1rem;display:grid}.schedule-day-options{flex-wrap:wrap;gap:.55rem 1rem;display:flex}.schedule-day-options label{align-items:center;gap:.35rem;display:flex}.schedule-day-slot{grid-template-columns:minmax(6rem,.5fr) minmax(10rem,1fr);align-items:center;gap:.65rem;display:grid}.schedule-day-slot select{width:100%}.deactivate-form{border-top:1px solid var(--line);padding-top:.8rem}.text-action{cursor:pointer;background:0 0;border:0;padding:0}.danger-action{color:#a63328}.grids-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);align-items:end;gap:2rem;padding:clamp(3rem,8vw,6rem) 0 2.2rem;display:grid}.grids-hero h1{margin-bottom:1.2rem;font-size:clamp(3.4rem,8vw,6.8rem)}.grids-hero .lede{margin-bottom:0}.grid-management-grid{grid-template-columns:minmax(280px,.58fr) minmax(0,1.42fr);align-items:start;gap:1.25rem;padding-top:1rem;display:grid}.create-grid-card{position:sticky;top:1rem}.create-grid-card h2{margin-bottom:.6rem}.grid-directory{border:1px solid var(--line);background:#fffbf28f;padding:clamp(1.25rem,3vw,2rem)}.grid-directory-list{gap:.9rem;margin-top:1.6rem;display:grid}.grid-record{border:1px solid var(--line);background:#fffbf2d1;grid-template-columns:4.6rem minmax(0,1fr) minmax(110px,auto);align-items:start;gap:.9rem;padding:1rem;display:grid;box-shadow:5px 5px #4f725d1a}.grid-record>*,.student-details-content,.reassignment-fieldset{min-width:0}.grid-record-time{font-family:Courier New,monospace;display:grid}.grid-record-time strong{font-size:1.25rem}.grid-record-time span,.grid-record-summary p,.grid-occupancy span{color:#54615d;font-family:Courier New,monospace;font-size:.72rem;line-height:1.45}.grid-record-time span{text-transform:uppercase;margin-top:.2rem}.grid-record-summary{gap:.55rem;display:grid}.grid-record-summary h3{letter-spacing:-.035em;margin:0 0 .2rem;font-size:1.16rem}.grid-record-summary p{margin:0}.grid-occupancy{border-left:1px solid var(--line);gap:.3rem;padding-left:.9rem;display:grid}.grid-occupancy strong{color:var(--moss);font-family:Courier New,monospace;font-size:.8rem}.grid-record .student-details{grid-column:1/-1}.pending-reassignments{margin-bottom:1.5rem}.pending-reassignment-list,.reassignment-fieldset{gap:.75rem;display:grid}.pending-reassignment-list{margin-top:1rem}.pending-reassignment-row{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(240px,1.4fr) auto;align-items:end;gap:.8rem;padding-top:.8rem;display:grid}.pending-reassignment-row div,.pending-reassignment-row label,.reassignment-fieldset label{gap:.35rem;display:grid}.pending-reassignment-row span,.reassignment-fieldset p,.reassignment-fieldset label>span{color:#54615d;font-family:Courier New,monospace;font-size:.72rem;line-height:1.45}.reassignment-fieldset{border:1px solid var(--line);margin:.5rem 0;padding:.85rem}.reassignment-fieldset legend{padding:0 .35rem;font-weight:700}.range-form-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.pending-schedule-link{color:#9c3f2f;font-weight:700}.grid-enrollment{border-top:1px solid var(--line);grid-column:1/-1;padding-top:.9rem}.grid-enrollment .eyebrow{margin-bottom:.35rem}.grid-enrollment h4{letter-spacing:-.025em;margin:0;font-size:1.05rem}.grid-enrollment-list{gap:.5rem;margin-top:.8rem;display:grid}.grid-enrollment-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.55rem;display:flex}.grid-enrollment-row strong,.grid-enrollment-row span{display:block}.grid-enrollment-row strong{font-size:.92rem}.grid-enrollment-row span,.enrollment-note{color:#54615d;margin:.15rem 0 0;font-family:Courier New,monospace;font-size:.7rem;line-height:1.45}.grid-enrollment-form{gap:.55rem;margin-top:1rem;display:grid}.grid-enrollment-form label{letter-spacing:.04em;text-transform:uppercase;font-family:Courier New,monospace;font-size:.7rem;font-weight:700}.schedule-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);align-items:end;gap:2rem;padding:clamp(3rem,8vw,6rem) 0 2.2rem;display:grid}.schedule-hero h1{margin-bottom:1.2rem;font-size:clamp(3.4rem,8vw,6.8rem)}.schedule-hero .lede{margin-bottom:0}.week-picker{border:1px solid var(--line);background:#fffbf2b8;gap:.6rem;padding:1rem;display:grid}.week-picker label{letter-spacing:.04em;text-transform:uppercase;font-family:Courier New,monospace;font-size:.7rem;font-weight:700}.grid-enrollment-form>div{gap:.5rem;display:flex}.week-picker input{border:1px solid var(--ink);color:var(--ink);background:#fffdf7;border-radius:0;width:100%;min-width:0;min-height:2.75rem;padding:.65rem;font-family:Courier New,monospace;font-size:.82rem}.week-picker>div{gap:.5rem;display:flex}.grid-enrollment-form select{border:1px solid var(--ink);color:var(--ink);background:#fffdf7;border-radius:0;width:100%;min-width:0;min-height:2.75rem;padding:.65rem;font-family:Courier New,monospace;font-size:.8rem}.grid-enrollment-form select:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}.schedule-toolbar{border-bottom:1px solid var(--line);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;display:flex}.schedule-toolbar strong{letter-spacing:-.035em;text-transform:capitalize;font-size:1.15rem}.schedule-metrics{grid-template-columns:repeat(4,1fr)}.schedule-week{gap:1.25rem;padding-top:1.25rem;display:grid}.schedule-day{border:1px solid var(--line);background:#fffbf28f;padding:clamp(1.25rem,3vw,2rem)}.schedule-day-heading{justify-content:space-between;align-items:start;display:flex}.schedule-day-heading h2{text-transform:capitalize;font-size:clamp(1.5rem,3vw,2.2rem)}.schedule-day-heading .eyebrow{margin-bottom:.45rem}.schedule-day-list{margin-top:1.2rem;display:grid}.schedule-instance{border-top:1px solid var(--line);grid-template-columns:5rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 0;display:grid}.schedule-instance-time{font-family:Courier New,monospace;display:grid}.schedule-instance-time strong{font-size:1.25rem}.schedule-instance-time span,.schedule-instance-details p,.schedule-instance-details>span{color:#54615d;font-family:Courier New,monospace;font-size:.7rem;line-height:1.45}.schedule-instance-details h3{letter-spacing:-.035em;margin:0 0 .15rem;font-size:1.16rem}.schedule-instance-title{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.schedule-instance-title h3{margin:0}.schedule-instance-details p,.schedule-instance-details>span{margin:.15rem 0 0;display:block}.schedule-attendance-link{margin-top:.7rem;display:inline-block}.schedule-instance.is-cancelled{background:#eee7d86b}.schedule-instance.is-cancelled .schedule-instance-time,.schedule-instance.is-cancelled .capacity{color:#62665f}.schedule-instance-management{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.75rem}.schedule-instance-management summary{color:var(--tomato);cursor:pointer;font-family:Courier New,monospace;font-size:.72rem;font-weight:700}.schedule-instance-management summary:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}.schedule-instance-edit-form{border:1px solid var(--line);background:#fffbf2b8;padding:1rem}.schedule-instance-cancel{border-top:1px solid var(--line);gap:.55rem;margin-top:1rem;padding-top:.9rem;display:grid}.schedule-instance-cancel p,.schedule-cancelled-note{color:#62665f;margin:0;font-family:Georgia,serif;font-size:.85rem;line-height:1.45}.schedule-instance-cancel .text-action{justify-self:start}.attendance-panel{border:1px solid var(--ink);background:#fffbf2d1;margin-top:1.25rem;padding:clamp(1.25rem,3vw,2rem)}.attendance-panel .section-heading{margin-bottom:1.2rem}.attendance-panel .section-heading p:not(.eyebrow){color:#54615d;margin-top:.35rem;font-family:Courier New,monospace;font-size:.75rem}.attendance-form{gap:1rem;display:grid}.attendance-list{border-top:1px solid var(--line)}.attendance-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.attendance-row>div{gap:.2rem;display:grid}.attendance-row span{color:#54615d;font-family:Courier New,monospace;font-size:.7rem}.attendance-row select{border:1px solid var(--ink);color:var(--ink);background:#fffdf7;border-radius:0;min-height:2.5rem;padding:.5rem;font-family:Courier New,monospace;font-size:.76rem}.attendance-row select:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}@media (max-width:520px){.receipt-card{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr;align-items:start;padding-top:3.5rem}.app-header,.header-controls{flex-direction:column;align-items:flex-start}.header-controls{width:100%;margin-top:.8rem}.dashboard-hero{flex-direction:column;align-items:start}.context-card{width:100%}.metric-strip{grid-template-columns:1fr}.metric-strip article+article{border-left:0;border-top:1px solid var(--line)}.dashboard-grid,.dashboard-alerts,.reports-hero,.report-grid,.report-filter-form,.report-metrics,.report-plan-filter,.plan-report-list{grid-template-columns:1fr}.report-metrics article+article{border-left:0;border-top:1px solid var(--line)}.header-controls{gap:.35rem}.header-nav{gap:.45rem}.header-link{margin-right:.25rem}.students-hero,.student-management-grid,.grids-hero,.grid-management-grid,.schedule-hero,.receipts-hero{grid-template-columns:1fr}.receipt-inbox-item{grid-template-columns:minmax(0,1fr);align-items:stretch}.receipt-preview{aspect-ratio:auto;width:100%;height:11rem}.receipt-inbox-item>.status-pill{grid-column:1;justify-self:start}.receipt-assignment-form>div{flex-direction:column}.receipt-filter-form{grid-template-columns:1fr}.pagination-nav{flex-direction:column;align-items:stretch}.create-student-card,.create-grid-card{position:static}.student-search>div{flex-direction:column}.compact-form{grid-template-columns:1fr}.compact-form label,.compact-form input,.compact-form select,.compact-form button{grid-area:auto/1}.plan-form label{grid-column:1}.schedule-day-slot{grid-template-columns:1fr;align-items:stretch}.grid-form-row,.grid-record,.pending-reassignment-row{grid-template-columns:1fr}.grid-occupancy{border-left:0;border-top:1px solid var(--line);padding-top:.8rem;padding-left:0}.grid-enrollment-form>div{flex-direction:column}.week-picker>div,.schedule-toolbar{flex-direction:column;align-items:stretch}.schedule-instance{grid-template-columns:4rem minmax(0,1fr);align-items:start}.schedule-instance .capacity{grid-column:2}.attendance-row{flex-direction:column;align-items:stretch}.schedule-card{grid-row:auto}.schedule-row{grid-template-columns:3.7rem minmax(0,1fr);align-items:start}.capacity{grid-column:2}}
