.assisted-review{max-width:800px;margin:2rem auto;padding:0 1rem 3rem}.assisted-review-brand{color:#196b49;font-weight:750}.assisted-review .card{margin-block:1.5rem}.assisted-review-classes{padding:0;list-style:none}.assisted-review-classes li{border-bottom:1px solid #d7dcd7;justify-content:space-between;gap:1rem;padding:1rem 0;display:flex}.assisted-review-classes p{margin:.35rem 0}.assisted-review-total{justify-content:space-between;font-size:1.25rem;display:flex}.assisted-review-policy{border-bottom:1px solid #d7dcd7;padding-block:1rem}.assisted-review-policy summary{color:#196b49;cursor:pointer;padding-block:.8rem;font-weight:650}.assisted-review-check{align-items:flex-start;gap:.8rem;margin:1rem 0;line-height:1.6;display:flex}.assisted-review-check input{flex:none;width:22px;height:22px;margin-top:.25rem}.assisted-review label:not(.assisted-review-check){gap:.5rem;display:grid}.assisted-review .stack button{white-space:normal}@media (width<=500px){.assisted-review-classes li{flex-wrap:wrap}.assisted-review .card{padding:1rem}.assisted-review h1{font-size:2rem}}.child-agreements{margin-block:var(--space-5);max-width:76ch}.agreement-intro h3{margin-bottom:var(--space-2)}.agreement-intro p{margin-block:var(--space-2)}.agreement-progress{color:var(--color-primary,#196e4e);font-weight:700}.agreement-section{padding-block:var(--space-5);border-top:1px solid #dce1da}.agreement-section h4{margin:0 0 var(--space-2);font-size:1.2rem;line-height:1.4}.agreement-section>p{margin-block:var(--space-2) var(--space-3);line-height:1.6}.agreement-fees{color:#202624;padding:var(--space-4);margin-block:var(--space-3);background:#fff;border:1px solid #b9bfbd;border-radius:8px}.agreement-fees dl{margin:var(--space-2) 0 0}.agreement-fees dl>div{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-2);border-bottom:1px solid #c7cdca;display:flex}.agreement-fees dl>div:last-child{border-bottom:0}.agreement-fees dt{flex:1}.agreement-fees dd{text-align:end;flex:0 45%;margin:0;font-weight:600}.agreement-fees p,.agreement-help,.agreement-reader-meta{color:#536057;font-size:.9rem;line-height:1.55}.agreement-important{padding-block:var(--space-2)}.agreement-important strong{display:block}.agreement-document{margin-block:var(--space-2)}button.agreement-read{justify-content:space-between;align-items:center;gap:var(--space-3);text-align:start;white-space:normal;color:#196e4e;width:100%;min-height:48px;padding:var(--space-3);background:0 0;border:1px solid #bcc9bd;border-radius:8px;display:flex}button.agreement-read:hover,button.agreement-read[aria-expanded=true]{background:#f3f4f5}button.agreement-read:disabled{opacity:.6;cursor:not-allowed}.agreement-reader-meta{justify-content:space-between;gap:var(--space-2);margin-block:var(--space-3);flex-wrap:wrap;display:flex}.child-agreements .waiver-scroll{max-height:min(55vh,28rem);padding:var(--space-4);overscroll-behavior:contain;scrollbar-color:#748879 #f1f5ef;line-height:1.7}label.agreement-choice{align-items:flex-start;gap:var(--space-3);margin-top:var(--space-3);padding-block:var(--space-2);cursor:pointer;font-weight:500;line-height:1.6;display:flex}.agreement-choice input[type=checkbox]{accent-color:#196e4e;flex:0 0 1.25rem;width:1.25rem;height:1.25rem;margin:.2rem 0 0}.agreement-choice:has(input:disabled){color:#536057;cursor:default}.agreement-signature{max-width:76ch;padding-top:var(--space-4);border-top:1px solid #dce1da}@media (width<=480px){.agreement-fees dl>div{display:block}.agreement-fees dd{text-align:start;margin-top:.25rem}.child-agreements .waiver-scroll{padding:var(--space-3)}}.family-welcome{max-width:850px;margin:auto}.family-steps{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.75rem 1.5rem;padding:1rem 0;list-style:none;display:flex}.family-steps [aria-current=step]{color:var(--accent);font-weight:700}.family-contact-form{gap:.75rem;max-width:34rem;margin:2rem 0;display:grid}.family-contact-form>label{font-weight:600}.family-contact-form>input{width:100%;min-height:44px}.family-readiness{padding:0;list-style:none}.family-readiness li{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.75rem;padding:1rem 0;display:flex}.shell-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.child-form-step[hidden]{display:none}.child-form-step{border:0;min-width:0;margin:0;padding:0}.child-form-step>legend{margin-bottom:1rem;font-size:1.2rem;font-weight:700}@media (width<=520px){.family-steps{gap:.75rem;display:grid}}.parent-tour-layer{z-index:1000;pointer-events:none;position:fixed;inset:0}.parent-tour-spotlight{outline:3px solid var(--accent);pointer-events:none;border-radius:10px;position:fixed;box-shadow:0 0 0 9999px #12201847}.parent-tour{pointer-events:auto;text-align:left;background:var(--surface);width:min(360px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--text);border-radius:14px;padding:22px;position:fixed;overflow:auto;box-shadow:0 12px 40px #12201838}.parent-tour-centered{top:50%;left:50%;transform:translate(-50%,-50%)}.parent-tour h2{margin:0 0 16px;font-size:1.5rem;line-height:1.2}.parent-tour h2:focus{outline:none}.parent-tour p{margin:16px 0;font-size:1rem;line-height:1.5}.parent-tour-progress{align-items:center;gap:5px;display:flex}.parent-tour-progress>span:not(.parent-tour-count){background:var(--border);border-radius:2px;width:24px;height:4px}.parent-tour-progress>.visited{background:var(--accent)!important}.parent-tour-count{color:var(--muted);margin-left:auto;font-size:.8rem}.parent-tour-arrow{background:var(--surface);width:14px;height:14px;position:fixed;transform:translate(-50%)rotate(45deg)}.parent-tour-arrow.points-up{position:absolute;top:-7px}.parent-tour-arrow.points-down{position:absolute;bottom:-7px}.parent-tour-anchored{overflow:visible}.parent-tour button{min-height:44px}.parent-tour-try{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.parent-tour .parent-tour-arrived{background:var(--accent-soft,#e5f2e9);color:#17583d;border-radius:8px;padding:10px 12px;font-size:.9rem}.parent-tour-actions{align-items:center;gap:8px;margin-top:18px;display:flex}.parent-tour-actions button{padding:8px 12px}.parent-tour-actions .parent-tour-skip{color:var(--text);text-underline-offset:3px;background:0 0;border:0;margin-right:auto;padding-left:0;text-decoration:underline}@media (height<=520px){.parent-tour-anchored{overflow:auto}.parent-tour-arrow{display:none}}@media (prefers-reduced-motion:no-preference){.parent-tour{animation:.18s ease-out tour-appear}@keyframes tour-appear{0%{opacity:.6}to{opacity:1}}}[data-parent-guide]{scroll-margin-top:16px}.parent-tour-overview{color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}.parent-tour-count{white-space:nowrap;flex-shrink:0}.parent-tour-docked{width:min(360px,100vw - 24px);top:auto;bottom:12px;left:12px}.parent-tour-docked h2{margin-bottom:8px;font-size:1.1rem}.parent-tour-docked .parent-tour-actions{margin-top:8px}:root{--text:#1c2420;--text-muted:#5a665f;--bg:#fff;--surface:#f4f7f5;--border:#dde5e0;--accent:#1a6b47;--accent-soft:#e6f2ea;--accent-contrast:#fff;--danger:#c62828;--danger-bg:#fdecea;--success:#1e7d34;--success-bg:#e8f5e9;--warning:#8a5a00;--warning-bg:#fff4e0;--info:#2f6fed;--info-bg:#eaf1ff;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:8px;--radius:14px;--radius-lg:20px;--radius-pill:999px;--shadow-sm:0 1px 2px #1c24200f;--shadow:0 1px 2px #1c24200f, 0 8px 24px #1c242012;--tap-min:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#e4ebe7;--text-muted:#9aa89f;--bg:#101614;--surface:#18201c;--border:#2a352f;--accent:#4fd394;--accent-soft:#16291f;--accent-contrast:#08120d;--danger:#ff6b6b;--danger-bg:#3a1f1f;--success:#6fcf87;--success-bg:#16281a;--warning:#e0b04e;--warning-bg:#332405;--info:#5b8dfb;--info-bg:#16233d;--shadow-sm:0 1px 2px #00000073;--shadow:0 1px 2px #00000073, 0 8px 24px #00000059}}*,:before,:after{box-sizing:border-box}body{font-family:var(--sans);color:var(--text);background:var(--bg);margin:0}#root{min-height:100svh}h1,h2,h3{color:var(--text)}a{color:var(--accent)}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:inherit;font-size:var(--text-md);padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);cursor:pointer;min-height:var(--tap-min)}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{color:var(--accent);background:0 0}.icon-button{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);min-height:0}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;min-height:0;padding:0;text-decoration:underline}.auth-page{min-height:100svh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.auth-form{gap:var(--space-3);width:min(360px,100%);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex}.auth-form label{font-size:var(--text-base);color:var(--text-muted)}.auth-form input{font:inherit;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);min-height:var(--tap-min)}.mfa-secret-block{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.mfa-qr-frame{align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;flex-direction:column;display:flex}.mfa-qr{width:176px;max-width:100%;height:176px;display:block}.mfa-qr-frame .mfa-secret-hint{color:#444}.mfa-secret-label{font-size:var(--text-sm,.85rem);color:var(--text-muted);margin:0}.mfa-secret{box-sizing:border-box;letter-spacing:.03em;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);max-width:100%;padding:var(--space-3);-webkit-user-select:all;user-select:all;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;line-height:1.55;display:block}.mfa-secret-hint{font-size:var(--text-sm,.85rem);color:var(--text-muted);margin:0}.mfa-secret-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.mfa-secret-actions .button{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.form-hint{font-size:var(--text-sm,.85rem);color:var(--text-muted);margin:0}.form-error{color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-base);margin:0}.empty-state{text-align:center;color:var(--text-muted);padding:2.5rem var(--space-4);border-radius:var(--radius);background:var(--accent-soft);border:1px solid #0000}:root{--bg:#f8f6f1;--surface:#fff;--text:#1a211c;--text-muted:#5c675f;--border:#e3e4de;--accent:#1a6b47;--accent-soft:#e6f2ea;--accent-contrast:#fff;--serif:"Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#f8f6f1;--surface:#fff;--text:#1a211c;--text-muted:#5c675f;--border:#e3e4de;--accent:#1a6b47;--accent-soft:#e6f2ea;--accent-contrast:#fff;--danger:#c62828;--danger-bg:#fdecea;--success:#1e7d34;--success-bg:#e8f5e9;--warning:#8a5a00;--warning-bg:#fff4e0;--info:#2f6fed;--info-bg:#eaf1ff;--shadow-sm:0 1px 2px #1c24200f;--shadow:0 1px 2px #1c24200f, 0 8px 24px #1c242012;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;font-weight:600}.session-chip{background:var(--info-bg);min-width:0;color:var(--text);text-align:left;border-left:3px solid #0000;border-radius:6px;padding:.3rem .4rem;font-size:.75rem;line-height:1.25;text-decoration:none;display:block}.session-chip-title{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.session-chip-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.1rem;font-size:.7rem;display:flex}.session-chip-detail{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.05rem;font-size:.68rem;display:block;overflow:hidden}.session-chip-badge{text-transform:uppercase;letter-spacing:.02em;background:#0000000f;border-radius:3px;padding:0 .25rem;font-size:.65rem;font-weight:600}.session-chip-booked{background:var(--success-bg);border-left-color:var(--success)}.session-chip-booked .session-chip-badge{background:var(--success);color:var(--accent-contrast)}.session-chip-full{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--border);color:var(--text-muted)}.session-chip-full .session-chip-title{font-weight:500}.session-chip-done{border-left-color:var(--border);color:var(--text-muted);opacity:.72;background:0 0}.session-chip-done .session-chip-title{font-weight:500}.session-chip-cancelled{background:var(--bg);border-left-color:var(--danger);color:var(--text-muted)}.session-chip-cancelled .session-chip-title{text-decoration:line-through}.session-chip-cancelled .session-chip-badge{background:var(--danger);color:#fff}a.session-chip,a .session-chip{color:inherit;text-decoration:none}a:hover .session-chip,a.session-chip:hover{filter:brightness(.97)}.calendar-event-link{min-width:0;color:inherit;text-decoration:none;display:block}button:disabled{background:var(--border);border-color:var(--border);color:var(--text-muted);opacity:1}button.secondary:disabled{border-color:var(--border);color:var(--text-muted);background:0 0}.shell{flex-direction:column;min-height:100svh;display:flex}.shell-nav{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:1.25rem;min-height:56px;padding:.35rem 1.5rem;display:flex}.shell-brand{white-space:nowrap;align-items:center;gap:.5rem;margin-right:.5rem;display:flex}.shell-brand-mark{object-fit:contain;flex:none;width:30px;height:30px}.shell-brand-text{flex-direction:column;line-height:1.1;display:flex}.shell-brand-name{font-family:var(--serif);letter-spacing:-.01em;font-size:.95rem;font-weight:600}.shell-brand-sub{letter-spacing:.01em;color:var(--accent);white-space:nowrap;font-size:.68rem;font-weight:500}.shell-links{flex-wrap:wrap;flex:1;gap:.25rem;display:flex}.shell-links a{color:var(--text-muted);border-radius:var(--radius-sm);padding:.4rem .65rem;font-size:.9rem;text-decoration:none}.shell-links a:hover{background:var(--bg);color:var(--text)}.shell-links a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}@media (width<=700px){.shell-nav{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand user""links links";align-items:center;gap:.35rem .75rem;padding:.55rem .85rem .4rem;display:grid}.shell-brand{grid-area:brand;min-width:0;margin-right:0}.shell-user{grid-area:user}.shell-user>span{display:none}.shell-links{flex-wrap:wrap;grid-area:links;gap:.1rem .15rem;margin-inline:0;padding-inline:0;overflow:visible;-webkit-mask-image:none;mask-image:none}.shell-links a{white-space:nowrap;align-items:center;min-height:2.5rem;padding:.2rem .5rem;font-size:.84rem;display:inline-flex}.shell-user .icon-button{min-height:2.5rem;padding:.2rem .7rem}.shell-user{gap:.4rem}}.shell-user{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.875rem;display:flex}.shell-body{flex:1;width:100%}.shell-footer{text-align:center;padding:.75rem 1.5rem 1.25rem}.shell-footer a{color:var(--text-muted);font-size:.8125rem;text-decoration:none}.shell-footer a:hover{color:var(--text);text-decoration:underline}.page{max-width:960px;margin:0 auto;padding:1.5rem 1rem 4rem}.page.page-calendar{max-width:min(1200px,100%)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1{margin:0 0 .25rem}.page-subtitle{color:var(--text-muted);font-size:var(--text-base);margin:0}.quick-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.action-chip{min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:var(--text-base);white-space:nowrap;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.action-chip:hover{border-color:var(--accent);color:var(--accent)}.action-chip-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.action-chip-primary:hover{color:var(--accent-contrast);filter:brightness(1.08)}.booking-card{color:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm);text-decoration:none;display:block}.booking-card:hover{border-color:var(--accent)}.booking-card-next{border-left:4px solid var(--accent);background:var(--bg);box-shadow:var(--shadow)}.booking-card h3{font-size:var(--text-lg);margin:0}.eyebrow{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-1);font-weight:700;display:block}.booking-card-meta{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-base)}.booking-card-child:before{content:"·";margin-inline:.4em}.booking-card-panel{margin-top:var(--space-3);margin-bottom:0}.booking-card-note{margin-top:var(--space-1);margin-bottom:0}.filter-bar{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-4) var(--space-5) var(--space-2);margin-bottom:var(--space-5)}.course-card{gap:var(--space-1);color:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm);flex-direction:column;text-decoration:none;display:flex}.course-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.course-card h3{font-size:var(--text-lg);margin:0}.course-card-meta{color:var(--text-muted);font-size:var(--text-sm);margin:0}.course-card-price{padding-top:var(--space-2);font-size:var(--text-md);margin:auto 0 0}.session-card{gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm);flex-direction:column;min-width:0;display:flex}.session-card-when{font-size:var(--text-md);overflow-wrap:anywhere;margin:0;font-weight:600}.session-card-meta{color:var(--text-muted);font-size:var(--text-sm);margin:0}.session-card-action{margin-top:var(--space-1)}.inline-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.stack{gap:var(--space-3);flex-direction:column;display:flex}.check-row{align-items:center;gap:var(--space-2);min-height:var(--tap-min);display:flex}fieldset.field{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin:0}fieldset.field legend{padding-inline:var(--space-1);color:var(--text-muted);font-size:.8125rem}.field-label{color:var(--text-muted);margin-bottom:.35rem;font-size:.8125rem;display:block}.request-slot-row{flex-wrap:wrap;gap:.4rem;display:flex}.booking-cart{margin-top:.9rem}.booking-cart-list{flex-direction:column;gap:.4rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.booking-cart-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .7rem;display:flex}.booking-cart-list button{white-space:nowrap;flex-shrink:0;min-height:2rem;padding:.15rem .7rem}.request-slot{min-height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:.05rem;padding:.35rem .75rem;font-size:.875rem;font-weight:600;display:flex}.request-slot-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.request-slot-teacher{color:var(--text-muted);font-size:.7rem;font-weight:500}.request-slot-contested{background:var(--bg);border-style:dashed}.request-slot-contested .request-slot-time{color:var(--text-muted)}.request-slot-note{color:var(--text-muted);font-size:.68rem;font-weight:500}.request-slot-active .request-slot-teacher{color:var(--accent)}.slot-calendar{flex-direction:column;gap:.75rem;display:flex}.slot-teacher-filter{flex-wrap:wrap;gap:.4rem;display:flex}.slot-teacher-chip{min-height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;padding:.3rem .7rem;font-size:.8125rem;font-weight:600}.slot-teacher-chip:before{content:"";background:var(--teacher-color,transparent);vertical-align:baseline;border-radius:50%;width:.55rem;height:.55rem;margin-right:.4rem;display:inline-block}.slot-teacher-chip-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.teacher-color-1{--teacher-color:#1a6b47}.teacher-color-2{--teacher-color:#b4531a}.teacher-color-3{--teacher-color:#2b5f9e}.teacher-color-4{--teacher-color:#8a1c5c}.slot-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;max-width:42rem;display:grid}.slot-calendar-weekday{color:var(--text-muted);font-size:var(--text-xs);text-align:center;padding:.5rem 0}.slot-calendar-cell{background:var(--bg);min-height:3.75rem;color:var(--text);font:inherit;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:.5rem;display:flex}.slot-calendar-cell.is-empty{color:var(--text-muted);background:0 0}.slot-calendar-cell.is-open{cursor:pointer}.slot-calendar-cell.is-open:hover:not(.has-pick),.slot-calendar-cell.is-active{border-color:var(--accent);background:var(--accent-soft)}.slot-calendar-cell.has-pick,.slot-calendar-cell.has-pick:hover{color:#24496b;background:#e8f0fb;border-color:#b8cde6}.slot-calendar-cell.is-active,.slot-calendar-cell.has-pick.is-active{outline:3px solid var(--accent);outline-offset:-3px}.slot-calendar-cell:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.slot-calendar-date{font-size:var(--text-sm);font-weight:700}.slot-day-times{padding-top:1rem;scroll-margin-top:5rem;scroll-margin-bottom:7rem}.slot-day-times-label{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin:0 0 .75rem;font-size:1.125rem;font-weight:700;display:flex}.slot-day-count{color:var(--text-muted);font-size:.8125rem;font-weight:400}.slot-day-times .request-slot-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;max-width:42rem;max-height:min(36rem,70vh);padding-bottom:.25rem;display:grid;overflow-y:auto}.tutoring-release-notice{margin-bottom:1rem}.slot-day-times .request-slot{border-radius:12px;justify-content:center;align-items:flex-start;padding:.75rem 1rem}.slot-day-times .request-slot-active{background:var(--accent);color:#fff}.slot-calendar-hint{margin:0}@media (width<=620px){.slot-calendar-grid{gap:.25rem}.slot-calendar-cell{min-height:3rem;padding:.25rem}.slot-day-times .request-slot-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.muted{color:var(--text-muted)}.small{font-size:.8125rem}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1rem 1.25rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.card-list{flex-direction:column;gap:.75rem;display:flex}.section{margin-top:2rem}.request-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-4) var(--space-5)}.request-row h3{font-size:var(--text-lg);margin:0}.request-row h3 a{color:inherit}.request-row-meta{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-base)}.request-row-outcome{margin:var(--space-1) 0 0}.request-row .action-chip{margin-top:var(--space-3)}.child-color-1{--child-color:#1a6b47}.child-color-2{--child-color:#b4531a}.child-color-3{--child-color:#2b5f9e}.child-color-4{--child-color:#8a1c5c}.child-color-5{--child-color:#6b6110}.child-color-6{--child-color:#4a4a8f}.session-chip.child-color-1,.session-chip.child-color-2,.session-chip.child-color-3,.session-chip.child-color-4,.session-chip.child-color-5,.session-chip.child-color-6{border-left-color:var(--child-color)}.session-chip-afterschool{background:#efe9f8;border-left-color:#7a5fa8}.session-chip-afterschool .session-chip-badge{color:#fff;background:#7a5fa8}.calendar-legend{margin-bottom:var(--space-3);color:var(--text-muted);font-size:var(--text-sm);flex-wrap:wrap;gap:.4rem 1rem;display:flex}.legend-item{align-items:center;gap:.4rem;display:inline-flex}.legend-swatch{background:var(--child-color,var(--border));border-radius:3px;flex:none;width:.85rem;height:.85rem}.legend-swatch-tutoring{background:var(--success,#1a6b47)}.legend-swatch-afterschool{background:#7a5fa8}.section-flush{margin-top:var(--space-5)}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.week-col{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:.35rem;min-width:0;min-height:5rem;padding:.5rem;display:flex}.week-col-today{border-color:var(--accent);box-shadow:var(--shadow-sm)}.week-col-head{color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:baseline;gap:.35rem;display:flex}.week-col-date{font-weight:700;font-size:var(--text-base);color:var(--text)}.week-col-empty{color:var(--text-muted);font-size:var(--text-xs);margin:0}@media (width<=720px){.week-strip{grid-template-columns:repeat(7,9rem);padding-bottom:.35rem;overflow-x:auto}}.progress-row{border:1px solid var(--border);border-left:3px solid var(--child-color,var(--accent));border-radius:var(--radius);background:var(--surface);padding:var(--space-4) var(--space-5)}.progress-row h3{font-size:var(--text-base);margin:0}.progress-row h3 a{color:inherit}.progress-row-note{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.note-list{flex-direction:column;gap:.75rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.afterschool-seasons{margin-bottom:1.75rem}.afterschool-seasons h2{margin:0 0 .25rem;font-size:1.25rem}.season-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-top:.85rem;display:grid}.season-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.85rem 1rem}.season-card h3{margin:.15rem 0 0;font-size:1rem}.season-card-now{border-color:var(--accent);background:var(--bg)}.season-when{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.afterschool-child-card h4{margin:1.15rem 0 .5rem;font-size:.95rem}.afterschool-progress{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.85rem}.afterschool-billing-actions{border-top:1px solid var(--border);margin-top:1.15rem;padding-top:.85rem}.report-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;margin-bottom:.85rem;display:grid}.report-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:.7rem .85rem}.report-card p{margin:.25rem 0 0}.work-photo{object-fit:contain;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);width:100%;max-height:320px;margin:.5rem 0}.card-title-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card h3{margin:0 0 .25rem}.badge{border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--text-muted);background:var(--bg);white-space:nowrap;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{color:var(--success);background:var(--success-bg);border-color:#0000}.badge-warning{color:var(--warning);background:var(--warning-bg);border-color:#0000}.badge-danger{color:var(--danger);background:var(--danger-bg);border-color:#0000}.badge-info{color:var(--info);background:var(--info-bg);border-color:#0000}.panel{border-radius:var(--radius);border:1px solid var(--border);padding:.85rem 1rem;font-size:.9rem}.panel-info{background:var(--info-bg);color:var(--text);border-color:#0000}.panel-warning{background:var(--warning-bg);color:var(--text);border-color:#0000}.panel-danger{background:var(--danger-bg);color:var(--text);border-color:#0000}.panel-success{background:var(--success-bg);color:var(--text);border-color:#0000}.panel h3,.panel h4{margin-top:0}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.25rem;margin-bottom:1.25rem;display:flex}.tab-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-right:1rem;padding:.55rem .25rem;font-size:.9rem}.tab-button:hover{color:var(--text)}.tab-button.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.field{flex-direction:column;gap:.3rem;margin-bottom:.85rem;display:flex}.field label{color:var(--text-muted);font-size:.8125rem}.field input,.field select,.field textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);padding:.55rem .6rem}.field textarea{resize:vertical}.field-row{flex-wrap:wrap;gap:1rem;display:flex}.field-row>.field{flex:1;min-width:160px}.radio-option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;padding:.6rem .75rem;display:flex}.radio-option input{margin-top:.2rem}.radio-option.selected{border-color:var(--accent);background:var(--info-bg)}.radio-option.disabled{opacity:.55;cursor:not-allowed}.actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .6rem}.table th{color:var(--text-muted);font-size:.8125rem;font-weight:600}.table-wrap{overflow-x:auto}.progress-bar{margin-bottom:1.5rem}.progress-bar-track{border-radius:var(--radius-pill);background:var(--border);height:6px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-pill);background:var(--accent);height:100%;transition:width .25s}.progress-bar-meta{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:.75rem;margin-top:.45rem;font-size:.8rem;display:flex}.progress-bar-label{color:var(--text);font-weight:600}.calendar-grid{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;width:100%;display:grid;overflow:hidden}.calendar-weekday{background:var(--surface);color:var(--text-muted);text-align:center;min-width:0;padding:.4rem .2rem;font-size:.75rem}.calendar-cell{background:var(--bg);flex-direction:column;gap:.2rem;min-width:0;min-height:118px;padding:.35rem;display:flex;overflow:hidden}.calendar-cell.outside{background:var(--surface);color:var(--text-muted)}.calendar-cell.today{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-date{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.calendar-nav{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.calendar-date-weekday{display:none}@media (width<=700px){.calendar-grid{background:0 0;border:none;border-radius:0;display:block;overflow:visible}.calendar-weekday,.calendar-cell.outside{display:none}.calendar-cell:not(:has(.session-chip)){display:none}.calendar-grid:not(:has(.session-chip)):after{content:"No tutoring on the calendar this month.";color:var(--text-muted);text-align:center;padding:var(--space-5) var(--space-4);border-radius:var(--radius);background:var(--accent-soft);border:1px solid #0000;display:block}.calendar-cell{border:1px solid var(--border);border-radius:var(--radius);min-height:0;margin-bottom:var(--space-2);padding:var(--space-3) var(--space-4);gap:var(--space-2);overflow:visible}.calendar-cell.today{border-color:var(--accent)}.calendar-date{font-size:var(--text-base);color:var(--text);font-weight:700}.calendar-date-weekday{margin-right:.35em;display:inline}.calendar-event-link,.calendar-cell .session-chip{font-size:var(--text-base);white-space:normal;min-height:var(--tap-min);overflow:visible}.calendar-nav{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-nav h2{text-align:center;flex:1 0 100%;order:-1}}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.icon-button{padding:.35rem .6rem;font-size:.8125rem}.empty-state{text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius);padding:2.5rem 1rem}.auth-form-wide{width:min(28rem,100%)}.legal-accept-list{flex-direction:column;gap:.65rem;margin-top:.25rem;display:flex}.legal-accept{align-items:flex-start;gap:.65rem;display:flex}.legal-accept input[type=checkbox]{width:1.15rem;min-width:1.15rem;height:1.15rem;min-height:1.15rem;accent-color:var(--accent);flex:none;margin-top:.2rem}.legal-accept label{color:var(--text);font-size:.9rem;line-height:1.4}.legal-accept a{color:var(--accent)}.waiver-block{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.waiver-block h4{margin:0}.signup-legal-scroll{max-height:14rem;margin-top:.5rem}.waiver-scroll{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);max-height:16rem;color:var(--text);white-space:pre-wrap;overscroll-behavior:contain;padding:.85rem 1rem;font-size:.85rem;line-height:1.45;overflow:auto}.legal-page{max-width:48rem;margin:0 auto;padding:1.5rem 1.25rem 3rem}.legal-reader{flex-direction:column;gap:1.25rem;display:flex}.legal-reader-nav{flex-wrap:wrap;gap:.4rem;display:flex}.legal-article{color:var(--text);line-height:1.55}.legal-article h1{margin:0 0 .85rem;font-size:1.85rem}.legal-article h2{margin:1.75rem 0 .65rem;font-size:1.2rem}.legal-article h3{margin:1.25rem 0 .45rem;font-size:1.05rem}.legal-article p{margin:0 0 .85rem}.legal-article ul,.legal-article ol{margin:0 0 .85rem;padding-left:1.25rem}.legal-article li{margin-bottom:.35rem}.legal-table{border-collapse:collapse;width:100%;margin:0 0 1.1rem;font-size:.9rem}.legal-table th,.legal-table td{text-align:left;vertical-align:top;border:1px solid var(--border);padding:.5rem .65rem}.legal-table th{background:var(--surface);font-weight:600}.late-pickup{margin-top:1.1rem}.late-pickup h4{margin:0 0 .35rem}.late-pickup-table{border-collapse:collapse;width:100%;margin:.4rem 0 0;font-size:.875rem}.late-pickup-table th,.late-pickup-table td{text-align:left;vertical-align:top;border:1px solid var(--border);padding:.45rem .55rem}.late-pickup-table th{background:var(--surface);font-weight:600}@media (width<=700px){.page{padding:var(--space-4) var(--space-4) max(4rem, calc(var(--space-6) + env(safe-area-inset-bottom,0px)))}.page-header{align-items:stretch;gap:var(--space-3);flex-direction:column}.quick-actions{width:100%}.filter-bar{padding:var(--space-4)}.filter-bar .field-row,.field-row{gap:var(--space-3);flex-direction:column}.field-row>.field{width:100%;min-width:0;margin-bottom:0}.field input,.field select,.field textarea,.auth-form input,.auth-form select,.auth-form textarea,.inline-actions select{min-height:var(--tap-min);font-size:16px}.report-grid,.season-grid{grid-template-columns:1fr}.card-title-row{flex-wrap:wrap;align-items:flex-start}.tabs{scrollbar-width:none;margin-inline:calc(var(--space-4) * -1);flex-wrap:nowrap;padding-inline-start:var(--space-4);padding-inline-end:2rem;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 1.25rem),#0000);mask-image:linear-gradient(90deg,#000 0 calc(100% - 1.25rem),#0000)}.tabs::-webkit-scrollbar{display:none}.tab-button{white-space:nowrap;min-height:var(--tap-min);margin-right:var(--space-4)}.actions{flex-direction:column;align-items:stretch}.actions button,.actions a,.actions .action-chip{text-align:center;justify-content:center;width:100%}.actions a button,.session-card-action button,.session-card-action a,.session-card-action .icon-button{width:100%;min-height:var(--tap-min);justify-content:center}.session-card-action a{display:block}.inline-actions{flex-direction:column;align-items:stretch}.inline-actions select,.inline-actions button,.stack>button{width:100%;min-height:var(--tap-min)}.table thead{display:none}.table,.table tbody,.table tr,.table th,.table td{width:100%;display:block}.table-wrap{overflow:visible}.table tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.table td{justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0;border-bottom:none;display:flex}.table td:before{content:attr(data-label);color:var(--text-muted);font-weight:600;font-size:var(--text-sm);flex:none}.late-pickup-table,.late-pickup-table thead,.late-pickup-table tbody,.late-pickup-table tr,.late-pickup-table th,.late-pickup-table td{width:100%;display:block}.late-pickup-table thead{display:none}.late-pickup-table tr{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);margin-bottom:var(--space-2)}.late-pickup-table td:first-child{padding-bottom:var(--space-1);font-weight:600}.late-pickup-table td{border:none;padding:.15rem 0}.progress-bar-meta{flex-wrap:wrap}.auth-form,.auth-form-wide{width:100%;padding:var(--space-5) var(--space-4)}.booking-card,.course-card,.card,.session-card{overflow-wrap:anywhere;min-width:0}}.notice-age{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg);flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem .9rem;display:flex}.notice-age p{margin:0}.maintenance-page{max-width:34rem;margin:0 auto;padding:3rem 1.25rem}.maintenance-page .lede{font-size:1.05rem}.maintenance-contacts{flex-direction:column;gap:.4rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.family-child-filter{max-width:24rem;margin-bottom:1.5rem}.booking-form{scroll-margin-top:6rem}.booking-submit-bar{z-index:2;background:var(--surface);border-top:1px solid var(--border);padding:1rem 0;position:sticky;bottom:0}.booking-selection-summary{flex:12rem;margin:0;font-weight:600}@media (width<=640px){.booking-submit-bar{margin-inline:-.75rem;padding:.75rem;bottom:0}.booking-submit-bar>button{width:100%}.booking-selection-summary{flex-basis:100%}}.booking-manage-link{color:var(--accent);text-underline-offset:.2em;margin-top:.75rem;text-decoration:underline;display:inline-block}.add-booking-button{margin:0 .5rem .75rem 0}.booking-progress{margin-block:1.5rem 2rem}.booking-progress p{margin:0 0 .8rem;font-weight:650}.booking-progress ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.booking-progress li{border-top:3px solid var(--border);color:var(--text-muted);align-items:center;gap:.5rem;padding-top:.7rem;font-size:.9rem;display:flex}.booking-progress li[aria-current],.booking-progress li.is-complete{border-top-color:var(--accent);color:var(--text)}.booking-progress li[aria-current]{font-weight:700}.booking-progress-number{border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:50%;flex-shrink:0;place-items:center;width:1.7rem;height:1.7rem;display:inline-grid}.booking-progress li[aria-current] .booking-progress-number,.booking-progress li.is-complete .booking-progress-number{background:var(--accent);color:#fff;border-color:var(--accent)}.family-agreements{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-block:1rem;padding:1rem 1.25rem}.shell-body>.family-agreements{max-width:1100px;margin:1.25rem auto 0}.family-agreements p{margin-block:.4rem .75rem}.family-agreements a{margin-inline-end:1rem;display:inline-block}.booking-view-tabs{flex-wrap:wrap;gap:.5rem;margin-block:1.5rem;display:flex}.booking-view-tabs button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.checkout-total{font-variant-numeric:tabular-nums;font-size:1.25rem}.reschedule-review{border-block:1px solid var(--border);margin-block:1.5rem;padding-block:1rem}.reschedule-review dt{color:var(--text-muted);margin-top:1rem}.reschedule-review dd{margin:.25rem 0 0;font-weight:600}.cancellation-policy-details{margin-block:1rem}.auth-brand{align-items:center;gap:.6rem;margin-bottom:1.5rem;font-weight:650;line-height:1.25;display:flex}.auth-brand img{width:42px;height:42px}.auth-brand small{color:var(--accent)}.shell-body:focus{outline:none}@media (width<=600px){.booking-progress li{font-size:.875rem;display:block}.booking-progress-number{margin-bottom:.4rem;display:grid}.shell-body>.family-agreements{margin-inline:1rem}.booking-view-tabs button{flex:auto;min-height:44px}.booking-cart-list button,.booking-form .actions>a{min-height:44px}.booking-form .actions>a{justify-content:center;align-items:center;display:inline-flex}}.booking-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1rem;display:grid}.booking-facts dt{color:var(--text-muted);font-size:.9rem}.booking-facts dd{font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-weight:650}.refund-summary{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.refund-summary h3{margin-top:0}.saved-draft-list{margin:0;padding:0;list-style:none}.saved-draft-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding-block:.75rem;display:flex}.booking-refresh{min-height:44px;margin-bottom:.5rem}.checkout-pay-actions{background:var(--surface);border-top:1px solid var(--border);padding-block:.75rem}@media (width<=600px){.booking-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-block:1rem .25rem;display:grid}.booking-view-tabs button{padding:.65rem .4rem}.checkout-pay-actions{padding-bottom:max(.75rem, env(safe-area-inset-bottom))}.checkout-pay-actions>button{flex:1;min-height:44px}}.language-toggle{border:1px solid var(--border);background:var(--bg);border-radius:999px;align-items:stretch;display:inline-flex;overflow:hidden}.language-toggle button{color:var(--text-muted);background:0 0;border:0;border-radius:0;min-height:2rem;padding:.1rem .55rem;font-size:.78rem;font-weight:600}.language-toggle button+button{border-left:1px solid var(--border)}.language-toggle button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.public-frame{flex-direction:column;min-height:100svh;display:flex}.language-toggle-bar{justify-content:flex-end;padding:.75rem .85rem 0;display:flex}.public-frame .auth-page,.public-frame .page{flex:1;min-height:0}.maintenance-page .language-toggle-bar{justify-content:flex-end;margin-bottom:.5rem;display:flex}@media (width<=700px){.shell-user{gap:.4rem}.language-toggle button{padding:.1rem .4rem}}.request-slot-end{font-size:.8125rem;font-weight:400}.tutoring-release-notice{border-left:4px solid var(--accent);margin-block:1rem 1.5rem}.tutoring-release-notice h2{margin:0 0 .5rem;font-family:inherit;font-size:1.125rem;line-height:1.5}.tutoring-release-notice p{max-width:80ch;margin:0}.shell-nav{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand language user""links links links";gap:.75rem 1rem;padding:.75rem clamp(1rem,3vw,2.5rem) 0;display:grid}.shell-brand{grid-area:brand}.shell-links{border-top:1px solid var(--border);grid-area:links;gap:.25rem .5rem;padding-block:.5rem}.shell-links a{align-items:center;min-height:44px;display:inline-flex}.shell-account{grid-area:user;display:block;position:relative}.shell-account summary{cursor:pointer;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:44px;padding:.65rem .85rem}.shell-account summary:hover{background:var(--bg)}.shell-account-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);gap:1rem;width:min(20rem,100vw - 2rem);padding:1rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.shell-account-email{overflow-wrap:anywhere}.shell-account-panel .language-toggle,.shell-account-panel button.secondary{justify-self:start}@media (width<=700px){.shell-links{gap:.15rem}.shell-links a{padding-inline:.5rem}}.shell-language{grid-area:language}@media (width<=520px){.shell-nav{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand user""language language""links links";gap:.5rem .75rem}.shell-language{justify-self:end}}.slot-day-times .request-slot-hour{grid-column:1}.slot-day-times .request-slot-half{grid-column:2}.request-slot-row button.request-slot-overlap{color:#58605b;background:repeating-linear-gradient(135deg,#edf0ee 0 7px,#e3e7e4 7px 9px);border-color:#cbd1cd}.request-slot-row button.request-slot-active[aria-pressed=true]{color:#fff;background:#1a704f;border-color:#1a704f}.request-slot-row .request-slot-active .request-slot-end,.request-slot-row .request-slot-active .request-slot-time{color:#fff}.slot-calendar-pick-label{font-size:.65rem;line-height:1}.slot-day-times-label{color:var(--text);font-family:inherit;font-size:1.5rem}.slot-calendar{overflow-anchor:none}.slot-day-times .request-slot-row{gap:.4rem}.slot-day-times .request-slot{align-items:center;min-height:44px;padding:.5rem .65rem}.slot-day-times .request-slot-time{font-size:.875rem}
