@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8298327da6d5bcce-s.132ro2ak-rvxq.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0f~sf101j6mzi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2b402d8aebffd579-s.0dskwooysu3cf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a88409fdd7dc121c-s.0ir_pxtv760h..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.0fzkl03jw-sdz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_8cfc998c-module__YGIzgG__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_8cfc998c-module__YGIzgG__variable{--font-montserrat:"Montserrat", "Montserrat Fallback"}
:root{--background:#fff;--foreground:#242424;--muted:#5f5f5f;--panel:#fff;--border:#e7e7e7;--accent:#ffd400;--accent-strong:#2f2f2f;--accent-soft:#fff5b8;--accent-wash:#fff9d7;--paper-shadow:0 18px 45px #00000014;--button-radius:6px}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);font-family:var(--font-montserrat), Montserrat, Arial, sans-serif;margin:0;font-size:13px;font-weight:400}a{color:inherit;text-decoration:none}.shell{flex-direction:column;min-height:100vh;display:flex}.info-strip,.document-footer{background:var(--accent-wash);color:var(--foreground);letter-spacing:.03em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.25rem;padding:.4rem clamp(1rem,4vw,3rem);font-size:.76rem;font-weight:600;display:flex}.top-nav{border-bottom:3px solid var(--accent);z-index:10;background:#fffffff0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem clamp(1rem,4vw,3rem);display:flex;position:sticky;top:0}.brand{gap:.15rem;display:grid}.brand-name{color:var(--accent-strong);letter-spacing:-.02em;font-size:1rem;font-weight:700}.brand-subtitle{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.64rem;font-weight:600}.nav-links{flex-wrap:wrap;gap:.5rem;display:flex}.nav-link{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;border:1px solid #0000;border-radius:0;padding:.45rem .55rem;font-size:.72rem;font-weight:600}.nav-dropdown{position:relative}.nav-dropdown summary{cursor:pointer;list-style:none}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-menu{background:var(--panel);border:1px solid var(--border);box-shadow:var(--paper-shadow);z-index:20;gap:.15rem;min-width:190px;padding:.4rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.nav-menu a{color:var(--foreground);letter-spacing:.03em;text-transform:uppercase;padding:.55rem .65rem;font-size:.72rem;font-weight:600}.nav-menu a:hover,.nav-menu a:focus-visible{background:var(--accent-soft);outline:none}.nav-link:hover,.nav-link:focus-visible{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);outline:none}.page{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:clamp(1rem,3vw,2rem)}.hero,.placeholder-card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--paper-shadow);border-radius:0}.hero{gap:.55rem;padding:clamp(1rem,3vw,1.75rem);display:grid}.eyebrow{color:#9a7a00;letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.64rem;font-weight:700}h1{color:var(--accent-strong);letter-spacing:-.035em;margin:0;font-size:clamp(1.55rem,3.5vw,2.6rem);font-weight:700;line-height:1.02}.lead{color:var(--muted);max-width:760px;margin:0;font-size:clamp(.82rem,1.5vw,.95rem);line-height:1.55}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-top:1rem;display:grid}.placeholder-card{border-top:5px solid var(--accent);padding:1.25rem}.placeholder-card h2{color:var(--accent-strong);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.1rem;font-weight:700}.placeholder-card p{color:var(--muted);margin:0;line-height:1.5}.schedule-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.summary-card,.day-column,.slot-card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--paper-shadow)}.summary-card{border-top:5px solid var(--accent);gap:.5rem;padding:1.25rem;display:grid}.summary-card span,.day-header span,.slot-time{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}.summary-card strong{letter-spacing:-.06em;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1}.summary-card p,.slot-grades,.seat-count,.empty-slot{color:var(--muted);margin:0;line-height:1.45}.schedule-alert{margin-top:1.5rem}.weekly-schedule{grid-template-columns:repeat(5,minmax(180px,1fr));align-items:stretch;gap:.75rem;margin-top:1rem;display:grid;overflow-x:auto}.day-column{grid-template-rows:auto 1fr;gap:.65rem;min-width:180px;padding:.75rem;display:grid}.day-header{border-bottom:3px solid var(--accent);justify-content:space-between;align-items:baseline;gap:.75rem;padding-bottom:.5rem;display:flex}.day-header h2{letter-spacing:-.04em;margin:0;font-size:1rem;font-weight:700}.slot-stack{grid-auto-rows:minmax(150px,auto);align-content:start;gap:.65rem;display:grid}.slot-card{box-shadow:none;grid-template-rows:auto auto 1fr;gap:.55rem;min-height:150px;padding:.7rem;display:grid}.slot-card.rag-green{background:#dcfce7;border-color:#16a34a}.slot-card.rag-orange{background:#ffedd5;border-color:#f59e0b}.slot-card.rag-red{background:#fee2e2;border-color:#dc2626}.slot-card-header{justify-content:space-between;align-items:start;gap:.55rem;display:flex}.slot-time{margin:0 0 .35rem}.slot-card h3{letter-spacing:-.03em;margin:0 0 .25rem;font-size:.9rem;font-weight:700}.capacity-pill{color:var(--foreground);white-space:nowrap;background:#ffffffb8;border:1px solid #00000029;padding:.35rem .5rem;font-size:.7rem;font-weight:700}.capacity-pill.full{color:var(--foreground);background:#ffffffb8;border-color:#00000029}.slot-metrics{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;display:flex}.rag-indicator{white-space:nowrap;background:#ffffffb8;border:1px solid #00000029;align-items:center;gap:.35rem;padding:.28rem .4rem;display:inline-flex}.rag-dot{border-radius:999px;width:.55rem;height:.55rem;display:inline-block}.rag-indicator strong{letter-spacing:.05em;text-transform:uppercase;font-size:.62rem}.rag-dot.rag-green{background:#16a34a}.rag-dot.rag-orange{background:#f59e0b}.rag-dot.rag-red{background:#dc2626}.student-panel{border-top:1px solid #00000029;align-self:end;padding-top:.45rem}.student-panel summary{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:700}.student-panel .student-list{margin-top:.5rem}.rag-legend{border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem;display:flex}.rag-legend strong,.rag-legend span{align-items:center;gap:.35rem;display:inline-flex}.student-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.student-list li{border-left:4px solid var(--accent);gap:.15rem;padding:.15rem 0 .15rem .6rem;display:grid}.student-list span{font-weight:700}.student-list small{color:var(--muted);font-weight:500}.document-footer{border-top:1px solid var(--border);color:var(--muted);background:0 0;gap:.35rem 1rem;margin:auto clamp(1rem,4vw,3rem) 0;padding:1rem 0;font-size:.72rem}.document-footer strong{color:var(--foreground);font-weight:600}.onboarding-stack{gap:.9rem;margin-top:1rem;display:grid}.sub-nav{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.sub-nav-link{border:2px solid var(--foreground);letter-spacing:.06em;text-transform:uppercase;padding:.5rem .7rem;font-size:.68rem;font-weight:800}.sub-nav-link:hover,.sub-nav-link:focus-visible{background:var(--accent);outline:none}.upload-panel,.form-section,.success-card,.entity-card,.entity-detail{background:var(--panel);border:1px solid var(--border);border-top:4px solid var(--accent);box-shadow:var(--paper-shadow);padding:clamp(.85rem,2vw,1.25rem)}.upload-panel{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.upload-panel h2,.form-section h2,.success-card h2{letter-spacing:-.04em;margin:0 0 .5rem;font-size:clamp(1rem,2vw,1.35rem);font-weight:700}.upload-panel p,.success-card p{color:var(--muted);margin:0;line-height:1.55}.upload-actions{justify-items:start;gap:.75rem;display:grid}.drop-zone{border:2px dashed var(--border);cursor:pointer;gap:.25rem;min-width:min(300px,100%);padding:.9rem;display:grid}.drop-zone.dragging{background:var(--accent-soft);border-color:var(--foreground)}.drop-zone input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.drop-zone strong{font-size:.82rem}.drop-zone span{color:var(--muted);font-size:.72rem}.primary-button,.secondary-button{border-radius:var(--button-radius);cursor:pointer;font:inherit;letter-spacing:.04em;text-transform:uppercase;border:1px solid #0000;padding:.55rem 1rem;font-size:.68rem;font-weight:600;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}.primary-button{background:var(--accent);color:var(--foreground);border-color:#2424242e}.secondary-button{background:var(--panel);border-color:var(--border);color:var(--foreground)}.primary-button:hover,.primary-button:focus-visible{background:#f0c800;border-color:#24242447;outline:none;transform:translateY(-1px);box-shadow:0 4px 14px #0000001a}.secondary-button:hover,.secondary-button:focus-visible{background:#fafafa;border-color:#24242429;outline:none;transform:translateY(-1px);box-shadow:0 4px 14px #0000000f}.primary-button:active,.secondary-button:active{box-shadow:none;transform:translateY(0)}.alert{background:var(--accent-soft);border-left:5px solid var(--accent);color:var(--foreground);margin:0;padding:.7rem;font-weight:600}.alert p{margin:.25rem 0}.alert .secondary-button{margin-top:.6rem}.alert-error{background:#fff0f0;border-color:#cc1f1f}.alert-warning{background:#fffbe0}.review-form{gap:.9rem;display:grid}.form-section h3{margin:0 0 .5rem;font-size:.9rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;margin-top:.7rem;display:grid}.form-field{gap:.25rem;display:grid}.form-field span,.checkbox-group>span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:600}.form-field input,.form-field select{border:1px solid var(--border);font:inherit;width:100%;padding:.45rem .55rem}.field-help{color:var(--muted);font-size:.7rem;line-height:1.35}.form-field input:focus,.form-field select:focus{border-color:var(--foreground);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.checkbox-group{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-top:.7rem;display:flex}.checkbox-group label{align-items:center;gap:.4rem;font-weight:500;display:inline-flex}.nested-card{border:1px solid var(--border);padding:.7rem}.expansion-panel{border:1px solid var(--border)}.expansion-panel+.expansion-panel{margin-top:.65rem}.expansion-panel summary{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;padding:.7rem;font-size:.72rem;font-weight:700;list-style:none}.expansion-panel summary::-webkit-details-marker{display:none}.expansion-panel summary:after{color:var(--muted);content:"+";float:right;font-size:.9rem;font-weight:700}.expansion-panel[open] summary{border-bottom:1px solid var(--border)}.expansion-panel[open] summary:after{content:"−"}.expansion-panel-body{gap:.75rem;padding:.75rem;display:grid}.note-documents{border-top:1px solid var(--border);gap:.65rem;margin-top:.75rem;padding-top:.75rem;display:grid}.compact-document-list{margin:0}.note-document-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.note-document-upload-form{margin-top:0}.inline-form{margin:0;display:inline}.schedule-list{gap:.65rem;margin:.7rem 0;display:grid}.schedule-row{border:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(125px,1fr));align-items:end;gap:.5rem;padding:.65rem;display:grid}.form-actions{justify-content:flex-end;gap:.5rem;display:flex}.entity-grid{gap:.75rem;margin-top:1rem;display:grid}.entity-card,.entity-detail{gap:.75rem;display:grid}.entity-card h2,.entity-detail h2{letter-spacing:-.04em;margin:0;font-size:1rem;font-weight:700}.entity-meta{color:var(--muted);margin:0;line-height:1.4}.inline-link{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.2rem;font-weight:800;text-decoration-thickness:.25rem}.locked-note{border-left:5px solid var(--foreground);color:var(--muted);background:#f4f4f4;margin:0;padding:.6rem;font-weight:700}.compact-hero{box-shadow:none}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem;margin-top:1rem;display:grid}.dashboard-card{border:1px solid var(--border);border-top:4px solid var(--accent);gap:.4rem;padding:.9rem;display:grid}.dashboard-card span{font-size:.9rem;font-weight:700}.dashboard-card p{color:var(--muted);margin:0;line-height:1.4}.table-panel{border:1px solid var(--border);margin-top:1rem;position:relative}.toast{border:2px solid var(--foreground);box-shadow:4px 4px 0 var(--foreground);z-index:80;max-width:min(420px,100% - 2rem);padding:.75rem .9rem;font-weight:700;position:fixed;top:5.25rem;right:1rem}.toast-success{background:#dcfce7}.toast-error{background:#fff0f0}.table-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem;padding:.75rem;display:flex}.table-toolbar p{color:var(--muted);margin:0;font-weight:600}.search-field{gap:.3rem;min-width:min(360px,100%);display:grid}.search-field span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem;font-weight:700}.search-field input{border:1px solid var(--border);font:inherit;padding:.45rem .55rem}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.55rem .75rem}.data-table th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:#fafafa;font-size:.62rem;font-weight:700}.data-table th.filterable-column{vertical-align:bottom;min-width:8rem}.column-heading{margin-bottom:.35rem;display:block}.column-filter-input{border:1px solid var(--border);font:inherit;letter-spacing:normal;text-transform:none;width:100%;padding:.35rem .45rem;font-size:.78rem;font-weight:400}.column-filter-input::placeholder{color:#9a9a9a;font-weight:400}.data-table thead tr.filter-meta-row th{cursor:default;letter-spacing:normal;text-align:right;text-transform:none;background:#fff;border-bottom:none;padding-bottom:0;font-size:.72rem;font-weight:600}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover,.data-table tbody tr:focus{background:var(--accent-wash);outline:none}.data-table strong,.data-table small{display:block}.data-table small{color:var(--muted);margin-top:.1rem;font-size:.72rem}.schedule-summary-cell{min-width:10rem}.readonly-field input[readonly]{color:var(--foreground);cursor:default;background:#f6f6f6}.document-list{gap:.55rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.document-list li{border:1px solid var(--border);justify-content:space-between;align-items:start;gap:.75rem;padding:.55rem .65rem;display:flex}.document-list strong,.document-list small{display:block}.document-list small{color:var(--muted);margin-top:.15rem;font-size:.72rem}.document-upload-form{border-top:1px solid var(--border);gap:.65rem;margin-top:.85rem;padding-top:.85rem;display:grid}.student-notes-list{gap:.75rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.student-note-item{border:1px solid var(--border);padding:.75rem}.student-note-form{gap:.65rem;display:grid}.student-note-form-new{border-bottom:1px solid var(--border);margin-bottom:.85rem;padding-bottom:.85rem}.student-note-meta{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem 1.25rem;display:flex}.student-note-form textarea{border:1px solid var(--border);font:inherit;resize:vertical;width:100%;min-height:4.5rem;padding:.5rem .6rem}.modal-backdrop{z-index:50;background:#00000059;place-items:start center;padding:4vh 1rem;display:grid;position:fixed;inset:0;overflow:auto}.modal-card{background:var(--panel);border-top:5px solid var(--accent);box-shadow:var(--paper-shadow);gap:.85rem;width:min(100%,760px);max-width:760px;padding:1rem;display:grid}.wide-modal{width:min(100%,1040px);max-width:1040px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:1rem;padding-bottom:.75rem;display:flex}.modal-header h2{letter-spacing:-.03em;margin:0;font-size:1.2rem}.confirm-modal-backdrop{align-items:center}.confirm-modal-card{width:min(100%,440px);max-width:440px}.confirm-modal-message{color:var(--muted);margin:0;line-height:1.55}.icon-button{background:var(--panel);border:1px solid var(--border);border-radius:var(--button-radius);cursor:pointer;font:inherit;text-transform:uppercase;padding:.4rem .75rem;font-size:.72rem;font-weight:600;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}.icon-button:hover,.icon-button:focus-visible{background:#fafafa;border-color:#24242429;outline:none;transform:translateY(-1px);box-shadow:0 4px 14px #0000000f}.icon-button:active{box-shadow:none;transform:translateY(0)}.wide-field{grid-column:1/-1}.compact-list{margin-top:.5rem}.compact-section{gap:.5rem;display:grid}.compact-row,.compact-schedules{margin:0}.invoice-mode-tabs{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.invoice-mode-tab{border:1px solid var(--border);padding:.45rem .75rem;font-weight:600}.invoice-mode-tab.active{background:var(--accent-wash);border-color:var(--accent)}.schedule-lock-controls{grid-column:1/-1;gap:.35rem;display:grid}.override-note{color:#8a4b00}.invoice-controls{margin-top:1.5rem}.invoice-preview-card{align-content:start}.invoice-card-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.invoice-card-header>strong{background:var(--accent-wash);border:1px solid var(--accent);white-space:nowrap;padding:.45rem .65rem;font-size:1.15rem;font-weight:700}.invoice-card-header .entity-meta strong{font-size:inherit;background:0 0;border:0;padding:0;font-weight:700}.invoice-line-form,.invoice-line-list{gap:1rem;display:grid}.invoice-line-row{border:1px solid var(--border);grid-template-columns:minmax(80px,auto) minmax(240px,1fr) minmax(130px,.25fr);align-items:end;gap:.75rem;padding:1rem;display:grid}.checkbox-field{align-items:center;gap:.45rem;padding-bottom:.8rem;font-weight:600;display:inline-flex}.invoice-description-field{min-width:0}.invoice-amount-field input{text-align:right}.generated-invoices,.invoice-queue{margin-top:1.5rem}.invoice-student-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem;display:grid}.invoice-student-card{border:1px solid var(--border);border-left:4px solid var(--accent);gap:.2rem;padding:.75rem;display:grid}.invoice-student-card:hover,.invoice-student-card:focus-visible{background:var(--accent-wash);outline:none}.invoice-student-card span{font-weight:700}.invoice-student-card small{color:var(--muted);line-height:1.4}.package-line-row{grid-template-columns:minmax(240px,1fr) minmax(150px,.25fr)}.invoice-table{border:1px solid var(--border);display:grid;overflow-x:auto}.invoice-table-row{grid-template-columns:minmax(120px,.8fr) minmax(150px,1fr) minmax(180px,1.2fr) minmax(110px,.7fr) minmax(90px,.6fr) minmax(110px,.7fr) minmax(100px,.6fr);gap:1rem;min-width:980px;padding:.85rem 1rem;display:grid}.invoice-table-row+.invoice-table-row{border-top:1px solid var(--border)}.invoice-table-head{background:var(--accent-wash);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.config-section{margin-top:1rem}.config-list{gap:.75rem;display:grid}.preset-panels{gap:.65rem;margin-top:.85rem;display:grid}.preset-panels .expansion-panel+.expansion-panel{margin-top:0}.config-row{border:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end;gap:.75rem;padding:.85rem;display:grid}.config-row .grades-multi-select{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.config-row .grades-multi-select .checkbox-group{margin-top:.35rem}.config-row .grades-multi-select>span{display:block}.subject-row{grid-template-columns:minmax(180px,1fr) minmax(100px,.4fr) auto auto}.brand-with-logo{align-items:center;gap:.65rem;display:flex}.brand-logo{border:2px solid var(--accent);object-fit:cover;border-radius:50%;flex-shrink:0}.brand-text{gap:.15rem;display:grid}.nav-link-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-strong)}.nav-link-accent:hover,.nav-link-accent:focus-visible{color:var(--accent-strong);background:#f5cc00;border-color:#f5cc00}.public-page{gap:clamp(1rem,2vw,1.5rem);max-width:1240px;display:grid}.public-hero{border:1px solid var(--border);box-shadow:var(--paper-shadow);background:radial-gradient(circle at 100% 0,#ffd40047,#0000 34%),linear-gradient(135deg,#fff 0%,#fffaf0 56%,#fff2a8 100%);grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:clamp(1rem,3vw,2rem);padding:clamp(1.4rem,5vw,4rem);display:grid;position:relative;overflow:hidden}.public-hero:before{content:"";background:#2f2f2f0d;width:280px;height:210px;position:absolute;top:-100px;right:-90px;transform:rotate(22deg)}.public-hero-copy{z-index:1;gap:.8rem;display:grid;position:relative}.public-hero h1{color:var(--accent-strong);letter-spacing:-.07em;max-width:860px;margin:0;font-size:clamp(2.1rem,6vw,4.85rem);font-weight:800;line-height:.94}.public-hero .lead{color:#444;max-width:720px;font-size:clamp(.95rem,2vw,1.18rem);line-height:1.65}.hero-feature-card{z-index:1;background:#ffffffe0;border:1px solid #2f2f2f1f;align-self:end;gap:.75rem;padding:clamp(1rem,3vw,1.5rem);display:grid;position:relative;box-shadow:0 24px 70px #0000001c}.hero-feature-card strong{color:var(--accent-strong);letter-spacing:-.04em;font-size:1.35rem;line-height:1.05}.hero-feature-card p{color:var(--muted);margin:0;line-height:1.55}.hero-feature-kicker{color:#9a7a00;letter-spacing:.11em;text-transform:uppercase;font-size:.68rem;font-weight:800}.hero-stat-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.hero-stat-grid span{background:var(--accent-wash);border:1px solid var(--accent);color:var(--muted);gap:.1rem;padding:.65rem;display:grid}.hero-stat-grid strong{color:var(--accent-strong);font-size:1.25rem;line-height:1}.hero-actions{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.public-section{background:var(--panel);border:1px solid var(--border);box-shadow:var(--paper-shadow);gap:clamp(.85rem,2vw,1.2rem);padding:clamp(1.1rem,3vw,2rem);display:grid}.section-heading{gap:.45rem;max-width:820px;display:grid}.section-heading-spaced,.public-offering-block{margin-top:.75rem}.public-offering-block{gap:.75rem;display:grid}.section-heading h2{color:var(--accent-strong);letter-spacing:-.055em;margin:0;font-size:clamp(1.35rem,3vw,2.2rem);font-weight:700;line-height:1.06}.public-section h3{color:var(--accent-strong);letter-spacing:-.035em;margin:0;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:800;line-height:1.15}.section-heading p,.public-highlights{color:var(--muted);margin:0;line-height:1.55}.promise-grid,.pillar-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.promise-card,.pillar-card,.contact-card{border:1px solid var(--border);gap:.45rem;padding:.9rem;display:grid}.promise-card{background:var(--accent-wash);grid-template-columns:auto 1fr;align-items:start}.promise-card span{background:var(--accent);color:var(--accent-strong);border-radius:999px;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;font-weight:800;display:inline-flex}.promise-card p,.pillar-card p,.contact-card p{color:var(--muted);margin:0;line-height:1.55}.pillar-card{background:linear-gradient(#fff 0%,#fffaf0 100%);min-height:150px}.tag-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;display:grid}.subject-tag{background:var(--accent-wash);border:1px solid var(--accent);color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;padding:.75rem .85rem;font-size:.78rem;font-weight:800}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.public-empty{color:var(--muted);margin:0;font-size:.82rem}.public-support-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.public-support-item{background:linear-gradient(180deg, #fff 0%, var(--accent-wash) 100%);border:1px solid var(--border);gap:.35rem;padding:1rem;display:grid}.public-support-item strong{color:var(--accent-strong);letter-spacing:.02em;text-transform:uppercase;font-size:1rem}.public-support-item span{color:var(--muted);line-height:1.45}.public-class-schedule{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem;display:grid}.public-day-group{border:1px solid var(--border);background:#fff;gap:.65rem;padding:1rem;display:grid}.public-day-group h3{color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.9rem;font-weight:700}.public-slot-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.public-slot-item{border-top:1px solid var(--border);gap:.2rem;padding-top:.55rem;display:grid}.public-slot-item:first-child{border-top:0;padding-top:0}.public-slot-time{color:var(--accent-strong);font-size:.84rem;font-weight:700}.public-slot-meta{color:var(--muted);font-size:.76rem;line-height:1.4}.enrolment-steps{counter-reset:enrolment;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.enrolment-steps li{background:var(--accent-wash);border:1px solid var(--border);gap:.65rem;padding:1rem;display:grid}.enrolment-steps span{background:var(--accent-strong);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:800;display:inline-flex}.enrolment-steps p{color:var(--muted);margin:0;line-height:1.55}.contact-card-highlight{background:var(--accent-wash);border-color:var(--accent)}.login-page{justify-content:center;align-items:start;display:flex}.login-card{width:100%;max-width:420px}.login-form{gap:.75rem;margin-top:.35rem;display:grid}.login-actions{justify-content:stretch}.login-actions .primary-button{width:100%}.login-error{color:#8a1f1f;background:#fff1f1;border:1px solid #f1b7b7;margin:0;padding:.55rem .65rem;font-size:.78rem;font-weight:600}.login-back{color:var(--muted);margin:.35rem 0 0;font-size:.78rem}@media (max-width:760px){.public-hero{grid-template-columns:1fr;padding:1.2rem}.public-hero h1{font-size:clamp(2rem,12vw,3rem)}.hero-stat-grid,.enrolment-steps,.upload-panel,.invoice-card-header,.invoice-line-row,.package-line-row{grid-template-columns:1fr}.invoice-card-header{align-items:stretch;display:grid}.invoice-card-header>strong{justify-self:start}.checkbox-field{padding-bottom:0}.subject-row{grid-template-columns:1fr}}
