:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#241d1d;--muted:#716666;--surface:#fffdfa;--surface-strong:#fff;--line:#eadfda;--brand-red:#e40814;--brand-red-dark:#b8050e;--brand-red-soft:#ffe8e9;--brand-yellow:#ffd353;--brand-yellow-soft:#fff4cf;--danger:#a30e17;--success:#26734d;--shadow:0 24px 70px #672e1f1f}*{box-sizing:border-box}html{background:#fff8e9;min-width:320px}body{color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:10px;font-size:clamp(2rem,6vw,3.2rem);line-height:1.03}h2{letter-spacing:-.025em}.login-shell,.app-shell{background:radial-gradient(circle at 8% 8%,#ffd3537a,#0000 27rem),radial-gradient(circle at 92% 15%,#e408141a,#0000 24rem),linear-gradient(150deg,#fffcf3,#fff4df);min-height:100vh}.login-shell{place-items:center;padding:24px;display:grid}.login-card{width:min(100%,460px);box-shadow:var(--shadow);background:#fffdfaf0;border:1px solid #ffffffd9;border-radius:28px;padding:clamp(28px,7vw,48px)}.brand-mark{align-items:center;gap:14px;display:inline-flex}.brand-mark img{border-radius:18px;width:64px;height:64px;box-shadow:0 10px 28px #e408142e}.brand-mark>span{gap:2px;display:grid}.brand-mark strong{letter-spacing:-.035em;font-size:1.25rem}.brand-mark small{color:var(--muted);font-size:.75rem}.brand-mark--compact img{border-radius:13px;width:46px;height:46px}.brand-mark--compact strong{font-size:1.1rem}.brand-link{text-decoration:none}.eyebrow,.status-label{color:var(--brand-red);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:800}.login-eyebrow{margin-top:30px}.muted,.feature-card p,.privacy-note,.field-help{color:var(--muted);line-height:1.55}.login-form,.settings-form,.password-reset-form{gap:10px;display:grid}.login-form{margin-top:32px}.login-form label,.settings-form label,.password-reset-form label{margin-top:8px;font-size:.92rem;font-weight:750}.password-reset-form label{gap:7px;display:grid}.login-form input,.settings-form input,.password-reset-form input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:12px;padding:10px 14px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--brand-yellow);outline-offset:3px}.login-form button,.settings-form button,.password-request-action button,.password-reset-form button,.secondary-button{border:1px solid var(--brand-red);color:#fff;background:var(--brand-red);border-radius:12px;min-height:46px;padding:0 20px;font-weight:780}.login-form button,.settings-form button{margin-top:14px}.login-form button:hover,.settings-form button:hover,.password-request-action button:hover,.password-reset-form button:hover{background:var(--brand-red-dark)}.secondary-button{min-height:40px;color:var(--brand-red);background:0 0;padding-inline:14px}.form-error,.form-success{margin:6px 0 0;font-size:.92rem;font-weight:700}.form-error{color:var(--danger)}.form-success{color:var(--success)}.privacy-note,.field-help{margin:18px 0 0;font-size:.82rem}.field-help{margin:0}.app-shell{padding:clamp(18px,4vw,56px)}.app-header,.page-heading,.welcome-card,.dashboard-grid,.settings-grid,.request-list{width:min(100%,1120px);margin-inline:auto}.app-header{justify-content:space-between;align-items:center;gap:24px;display:flex}.app-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.app-nav a{color:#574a48;border-radius:10px;padding:10px 12px;font-size:.92rem;font-weight:700;text-decoration:none}.app-nav a:hover{color:var(--brand-red);background:var(--brand-yellow-soft)}.page-heading{margin-top:clamp(44px,8vw,88px);margin-bottom:26px}.page-heading .muted{max-width:680px}.welcome-card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #fffc;border-radius:26px;justify-content:space-between;align-items:center;gap:24px;margin-top:clamp(42px,7vw,76px);padding:clamp(24px,5vw,44px);display:flex}.welcome-person,.request-person{align-items:center;gap:18px;display:flex}.welcome-card h1{margin-bottom:8px;font-size:clamp(1.7rem,4vw,2.7rem)}.user-avatar{color:#fff;background:var(--brand-red);border-radius:15px;flex:none;place-items:center;width:50px;height:50px;font-size:1.2rem;font-weight:850;display:grid}.user-avatar--large{border-radius:21px;width:72px;height:72px;font-size:1.8rem}.status-badge,.request-status{color:#7a5100;background:var(--brand-yellow);border-radius:999px;flex:none;padding:10px 14px;font-size:.88rem;font-weight:800}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px;display:grid}.feature-card,.settings-card,.request-card,.empty-state{background:#fffdfae0;border:1px solid #ffffffd1;border-radius:22px;box-shadow:0 12px 36px #672e1f12}.feature-card{min-height:250px;padding:28px}.feature-card--accent{background:linear-gradient(145deg,#fff7db,#fffdf8)}.feature-card>span{color:var(--brand-red);margin-bottom:44px;font-weight:850;display:block}.feature-card h2{margin-bottom:8px}.card-link{color:var(--brand-red);text-underline-offset:4px;font-size:.92rem;font-weight:800}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.settings-card{padding:clamp(24px,4vw,36px)}.settings-form{margin-top:24px}.identity-list{margin:22px 0}.identity-list div{border-block:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;display:flex}.identity-list dt{color:var(--muted);font-size:.9rem}.identity-list dd{margin:0;font-weight:800}.request-status{border-radius:12px;margin-bottom:18px;line-height:1.4;display:inline-block}.password-request-action{justify-items:start;gap:8px;display:grid}.request-list{gap:18px;display:grid}.request-card{grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:32px;padding:clamp(22px,4vw,34px);display:grid}.request-person{align-items:flex-start}.request-person h2{margin-bottom:4px}.request-time{margin-bottom:0;font-size:.88rem;font-weight:700}.request-actions{gap:12px;display:grid}.text-button{text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:.88rem;font-weight:750;text-decoration:underline}.text-button--danger{color:var(--danger)}.empty-state{text-align:center;padding:clamp(28px,5vw,54px)}.empty-state p{margin-bottom:0}.notification-link{align-items:center;gap:6px;display:inline-flex}.notification-count{color:#fff;background:var(--brand-red);border-radius:999px;place-items:center;min-width:21px;height:21px;padding-inline:5px;font-size:.72rem;line-height:1;display:grid}.page-heading--actions{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.notification-list,.user-list{gap:16px;display:grid}.notification-card{border:1px solid var(--line);background:#ffffffc2;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;display:flex}.notification-card--unread{border-left:5px solid var(--brand-red);background:var(--surface-strong);box-shadow:0 10px 30px #672e1f14}.notification-card h2{margin-bottom:6px;font-size:1.15rem}.notification-card p:not(.notification-meta){color:var(--muted);margin-bottom:12px;line-height:1.5}.notification-meta{color:var(--muted);margin-bottom:6px;font-size:.78rem;font-weight:700}.section-card{width:min(100%,1120px);margin:0 auto 20px}.admin-form,.user-edit-form,.person-form,.availability-form{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid label,.person-form label{color:#4e4240;gap:7px;font-size:.9rem;font-weight:750;display:grid}.form-grid input,.form-grid select,.person-form input,.availability-row input[type=time]{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:11px;padding:9px 12px}.form-grid__wide{grid-column:1/-1}.admin-form>button,.user-edit-form>button,.person-form>button,.availability-form>button,.reminder-action>button{border:1px solid var(--brand-red);color:#fff;background:var(--brand-red);border-radius:12px;justify-self:start;min-height:46px;padding:0 20px;font-weight:780}.user-list,.people-grid{width:min(100%,1120px);margin-inline:auto}.user-edit-form__heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.user-edit-form__heading h2,.user-edit-form__heading p{margin-bottom:4px}.switch-label,.availability-toggle{flex-wrap:nowrap;align-items:center;gap:8px;font-size:.9rem;font-weight:750;display:inline-flex}.form-grid .switch-label:not(.switch-label--icon),.person-form .switch-label:not(.switch-label--icon),.schedule-editor .availability-override{flex-wrap:nowrap;grid-template-columns:none;align-items:center;gap:8px;display:inline-flex}.switch-label:not(.switch-label--icon) input,.availability-toggle input{flex:none;margin:0}.switch-label:not(.switch-label--icon) span,.availability-toggle span{white-space:nowrap}.switch-label input,.availability-toggle input{width:18px;height:18px;accent-color:var(--brand-red)}.user-card--inactive{opacity:.72}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.person-kind{color:var(--brand-red);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:850;display:inline-block}.birthday-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(100%,1120px);margin-inline:auto;display:grid}.birthday-grid .empty-state{grid-column:1/-1}.birthday-card{background:#fffdfae6;border:1px solid #ffffffd1;border-radius:20px;align-items:center;gap:20px;padding:24px;display:flex;box-shadow:0 12px 36px #672e1f12}.birthday-date{color:#754c00;background:var(--brand-yellow);text-align:center;border-radius:20px;flex:none;place-content:center;width:72px;height:72px;display:grid}.birthday-date strong{font-size:1.7rem;line-height:1}.birthday-date span{text-transform:lowercase;margin-top:4px;font-size:.72rem}.birthday-card h2{margin:4px 0}.birthday-card p{color:var(--muted);margin-bottom:0}.week-grid{grid-template-columns:repeat(7,minmax(160px,1fr));gap:10px;width:min(100%,1400px);margin:0 auto 24px;padding-bottom:8px;display:grid;overflow-x:auto}.day-column{border:1px solid var(--line);background:#ffffffbd;border-radius:16px;min-height:280px;padding:14px}.day-column h2{text-transform:capitalize;margin-bottom:14px;font-size:.95rem}.day-empty{color:var(--muted);font-size:.82rem}.lesson-card{border-left:4px solid var(--brand-red);background:var(--brand-yellow-soft);border-radius:11px;gap:4px;margin-bottom:10px;padding:12px;display:grid}.lesson-card span{font-weight:750}.lesson-card small{color:var(--muted);line-height:1.35}.lesson-status{margin-top:3px;font-weight:750}.schedule-availability{margin-top:28px}.availability-days{gap:8px;display:grid}.availability-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,1fr) 130px 130px;align-items:center;gap:12px;padding:10px 0;display:grid}.availability-row>label:not(.availability-toggle){color:var(--muted);grid-template-columns:22px 1fr;align-items:center;gap:5px;font-size:.8rem;display:grid}.reminder-action{justify-items:end;gap:7px;max-width:390px;display:grid}.reminder-action p{text-align:right;margin-bottom:0}@media (max-width:820px){.app-header{align-items:flex-start}.app-nav{flex-wrap:wrap}.dashboard-grid,.settings-grid,.request-card,.people-grid,.birthday-grid{grid-template-columns:1fr}.page-heading--actions{flex-direction:column;align-items:flex-start}.reminder-action{justify-items:start}.reminder-action p{text-align:left}}@media (max-width:600px){.app-header,.welcome-card{flex-direction:column;align-items:flex-start}.app-nav{justify-content:flex-start;width:100%}.app-nav a{padding-inline:6px}.welcome-person,.request-person{align-items:flex-start}.user-avatar--large{border-radius:16px;width:54px;height:54px;font-size:1.35rem}.feature-card{min-height:0}.feature-card>span{margin-bottom:24px}.form-grid{grid-template-columns:1fr}.form-grid__wide{grid-column:auto}.availability-row{grid-template-columns:1fr 1fr}.availability-toggle{grid-column:1/-1}.notification-card,.user-edit-form__heading{flex-direction:column;align-items:flex-start}}.app-shell{min-height:100vh;padding:clamp(24px,3vw,52px) clamp(18px,3vw,48px) clamp(40px,5vw,72px) calc(252px + clamp(18px,3vw,48px))}.app-sidebar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffcf7f0;border:1px solid #e8d8c4e6;border-radius:24px;flex-direction:column;width:236px;padding:22px 16px 16px;display:flex;position:fixed;inset:16px auto 16px 16px;box-shadow:0 22px 60px #5b36181a}.sidebar-user{background:var(--brand-yellow-soft);border-radius:16px;align-items:center;gap:10px;margin:24px 0 20px;padding:12px;display:flex}.sidebar-details{flex-direction:column;flex:1;min-height:0;display:flex}.sidebar-details>summary{cursor:pointer;color:var(--brand-red);font-weight:850;display:none}.sidebar-user>span:last-child{gap:2px;min-width:0;display:grid}.sidebar-user strong,.sidebar-user small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user small{color:var(--muted);font-size:.7rem}.sidebar-avatar{color:#fff;background:var(--brand-red);border-radius:12px;flex:0 0 36px;place-items:center;height:36px;font-weight:850;display:grid}.app-sidebar .app-nav{place-content:start stretch;gap:4px;display:grid}.app-sidebar .app-nav a{justify-content:space-between;padding:10px 12px;display:flex}.nav-group-title{color:#a68d81;letter-spacing:.1em;text-transform:uppercase;margin:16px 12px 3px;font-size:.68rem;font-weight:850}.nav-group-title:first-child{margin-top:0}.sidebar-logout{margin-top:auto;padding-top:18px}.sidebar-logout button{width:100%}.impersonation-banner{color:#754c00;background:var(--brand-yellow-soft);border:1px solid #efb9008c;border-radius:14px;gap:6px;margin-top:14px;padding:12px;font-size:.75rem;display:grid}.impersonation-banner strong{font-size:.8rem}.impersonation-banner button{color:#754c00;background:0 0;border:1px solid #754c00;border-radius:9px;width:100%;min-height:34px;margin-top:3px;font-size:.75rem;font-weight:850}.impersonate-action{justify-items:start;gap:8px;display:grid}.impersonate-action .field-help{max-width:640px;margin:0}.page-heading,.welcome-card,.dashboard-grid,.settings-grid,.request-list,.section-card,.user-list,.people-grid,.directory-create-grid,.schedule-workspace{width:min(100%,1440px);margin-inline:auto}.page-heading{margin-top:26px}.page-heading--compact{margin-top:36px;margin-bottom:16px}.page-heading--compact h2{font-size:clamp(1.4rem,3vw,2rem)}.account-list,.directory-create-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.account-card{color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}.account-card:hover{border-color:var(--brand-red);transform:translateY(-2px)}.account-card p{margin-bottom:10px}.danger-zone{border-color:#db262a47}.schedule-workspace{grid-template-columns:minmax(820px,1fr) minmax(620px,720px);align-items:start;gap:20px;width:min(100%,1800px);display:grid}.calendar-panel{min-width:0}.schedule-display{border:1px solid var(--line);background:#ffffffb8;border-radius:14px;margin-bottom:14px;padding:14px 16px}.schedule-display__heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.schedule-display__heading h2{margin:3px 0 0;font-size:1rem}.schedule-display__hint{max-width:340px;color:var(--muted);text-align:right;font-size:.82rem}.schedule-display__modes{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.schedule-display__mode{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:9px;padding:8px 11px;font-size:.84rem;font-weight:750}.schedule-display__mode--active{border-color:var(--brand-red);background:var(--brand-red);color:#fff}.schedule-display__content{gap:10px;margin-top:12px;display:grid}.schedule-display__content label{color:var(--muted);gap:5px;font-size:.8rem;font-weight:750;display:grid}.schedule-display__content input{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);font:inherit;border-radius:8px;padding:8px 10px}.schedule-display__teacher-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;max-height:132px;padding:2px;display:grid;overflow-y:auto}.schedule-display__teacher-list .schedule-display__teacher{color:var(--ink);align-items:center;gap:7px;font-size:.82rem;font-weight:650;display:flex}.schedule-display__teacher input{min-height:auto;margin:0}.week-navigation{border:1px solid var(--line);background:#ffffffb8;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:12px 16px;display:flex}.week-navigation a{color:var(--brand-red);font-weight:800;text-decoration:none}.week-grid{grid-template-columns:repeat(7,minmax(100px,1fr));width:100%;margin-bottom:0}.calendar-week{padding-bottom:4px;overflow-x:auto}.week-grid--timeline{border:1px solid var(--line);background:#ffffffbd;border-radius:14px;grid-template-columns:46px repeat(7,minmax(76px,1fr));gap:0;min-width:578px;display:grid;overflow:visible}.time-column{border-right:1px solid var(--line)}.time-column__header,.day-column__header{border-bottom:1px solid var(--line);height:54px;padding:10px}.time-column__hours{grid-template-rows:repeat(14,60px);display:grid}.time-column__hours span{color:var(--muted);text-align:right;padding-right:8px;font-size:.68rem;position:relative;top:-8px}.day-column--timeline{border:0;border-right:1px solid var(--line);background:0 0;min-height:0;padding:0}.day-column--timeline:last-child{border-right:0}.day-column__header{overflow:hidden}.day-column__header h2{margin:0}.day-column__header .birthday-marker{margin-top:7px;margin-bottom:0;padding:5px}.day-column__header .birthday-marker small{display:none}.day-timeline{background:repeating-linear-gradient(to bottom, transparent 0, transparent 59px, var(--line) 59px, var(--line) 60px);height:840px;position:relative}.availability-block{z-index:0;pointer-events:none;background:#56cd893b;border:1px solid #14854e59;border-left:3px solid #168a53;border-radius:6px;min-height:4px;display:block;position:absolute;left:4px;right:4px}.timeline-hour{height:60px;display:block}.day-timeline .lesson-card--button{z-index:1;background:var(--brand-yellow-soft);border-top:1px solid #db262a40;border-bottom:1px solid #db262a40;border-right:1px solid #db262a40;border-radius:7px;width:calc(100% - 8px);margin:0;padding:5px 7px;font-size:.72rem;position:absolute;left:4px;overflow:hidden}.day-timeline .lesson-card--button strong,.day-timeline .lesson-card--button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.day-timeline .lesson-card--button small{margin-top:2px}.day-column{min-height:420px;padding:9px}.lesson-card--button{border:0;border-left:4px solid var(--brand-red);width:100%;color:inherit;text-align:left;cursor:pointer}.lesson-card--button:hover,.lesson-card--button:focus-visible{outline-offset:2px;outline:2px solid #db262a47}.status-cancelled{opacity:.66;border-left-color:#8d817e}.status-confirmed{border-left-color:var(--success)}.status-pending_review{border-left-color:#d88a00}.birthday-marker{background:#fff8cd;border:1px solid #efb90073;border-radius:11px;gap:7px;margin-bottom:9px;padding:9px;font-size:.78rem;font-weight:800;display:flex}.birthday-marker span:last-child{gap:2px;display:grid}.birthday-marker small{color:var(--muted);font-size:.67rem;font-weight:650}.schedule-tools{gap:16px;display:grid;position:sticky;top:20px}.schedule-editor{padding:20px}.editor-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px;display:flex}.editor-heading h2{margin-bottom:0;font-size:1.45rem}.schedule-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-time-row{grid-template-columns:1.2fr 1fr 1fr;gap:12px;display:grid}.schedule-people-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px 12px;display:grid}.schedule-people-row__help{grid-column:1/-1;margin:0;padding-top:2px}.schedule-participant-picker{min-width:0;position:relative}.schedule-participant-picker>label{gap:6px;display:grid}.schedule-participant-picker>input{width:100%}.participant-options{z-index:5;border:1px solid var(--line);background:var(--surface-strong);border-radius:9px;max-height:240px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #32161438}.participant-option{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px 8px;font-size:.84rem;font-weight:750;display:grid}.participant-option:hover,.participant-option:focus-visible{background:var(--brand-yellow-soft);outline:none}.participant-option>span:first-child{font-size:1rem}.participant-option>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.participant-option small{color:var(--muted);font-size:.7rem;font-weight:700}.participant-options>p{color:var(--muted);margin:6px 8px;font-size:.82rem}.group-details{border:1px solid var(--line);color:var(--muted);border-radius:8px;margin-top:8px;padding:8px 10px;font-size:.8rem}.group-details summary{color:var(--brand-red);cursor:pointer;font-weight:800}.group-details ul{gap:3px;margin:8px 0 0;padding-left:18px;display:grid}.group-details p{margin:8px 0 0}.schedule-editor textarea{resize:vertical;min-height:76px}.availability-override{white-space:nowrap;width:fit-content;margin-top:12px;font-size:.78rem;line-height:1.35}.button-row{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.danger-button{color:#fff;background:#6e5b57}.birthday-sidebar{padding:20px}.birthday-sidebar h2{font-size:1.2rem}.birthday-sidebar ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.birthday-sidebar li{border-top:1px solid var(--line);gap:9px;padding-top:10px;display:flex}.birthday-sidebar li>span:last-child{gap:2px;display:grid}.birthday-sidebar small{color:var(--muted)}.theme-toggle{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:8px 12px;font-size:.82rem;font-weight:800;display:inline-flex}.theme-toggle:hover{border-color:var(--brand-red)}.theme-toggle--compact{width:42px;padding-inline:0}.app-sidebar>.theme-toggle{width:100%;margin-top:18px}.login-theme-toggle{z-index:5;position:fixed;inset:20px 20px auto auto}.directory-jump-nav{z-index:10;border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:16px;gap:8px;width:min(100%,1440px);margin:22px auto 38px;padding:8px;display:flex;position:sticky;top:16px;overflow-x:auto;box-shadow:0 12px 34px #00000014}.directory-jump-nav a{border-radius:10px;flex:none;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-size:.86rem;font-weight:750;text-decoration:none;display:inline-flex}.directory-jump-nav a:hover,.directory-jump-nav a:focus-visible{background:var(--brand-red-soft)}.directory-jump-nav strong{color:#fff;background:var(--brand-red);border-radius:999px;place-items:center;min-width:24px;height:24px;padding-inline:6px;font-size:.7rem;display:grid}.directory-section{width:min(100%,1440px);margin:0 auto 54px;scroll-margin-top:96px}.directory-section__heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.directory-section__heading h2{margin:5px 0 6px;font-size:clamp(1.65rem,3vw,2.3rem)}.directory-section__heading p{max-width:800px;color:var(--muted);margin-bottom:0;line-height:1.55}.directory-search{min-width:min(100%,320px);color:var(--muted);gap:5px;font-size:.76rem;font-weight:800;display:grid}.directory-search input,.member-search input{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--surface-strong);border-radius:10px;padding:8px 11px}.student-directory{gap:18px;width:min(100%,1440px);margin:24px auto 54px;display:grid}.directory-search--global{width:min(100%,640px)}.collapsible-directory{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:20px;padding:18px}.collapsible-directory>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:1.25rem;font-weight:850;display:flex}.collapsible-directory>summary::marker{color:var(--brand-red)}.collapsible-directory>summary strong{color:#fff;background:var(--brand-red);border-radius:999px;place-items:center;min-width:29px;height:29px;padding-inline:7px;font-size:.75rem;display:grid}.collapsible-directory[open]>summary{margin-bottom:18px}.collapsible-directory>.field-help{margin:-5px 0 18px}.parent-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.parent-card{padding:20px}.parent-card h3{margin:6px 0 10px;font-size:1.1rem}.parent-card p{margin:0 0 7px}.parent-card a,.group-members{color:var(--muted);font-size:.82rem}.parent-card a{color:var(--brand-red);margin-top:7px;font-weight:800;display:inline-block}.group-members{margin:16px 0 0;line-height:1.45}.created-meta{color:var(--muted);margin:18px 0 0;font-size:.71rem;line-height:1.45}.contact-fields{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;padding:14px}.contact-fields legend{padding-inline:6px;font-size:.88rem;font-weight:850}.contact-fields .field-help{margin:0 0 12px;font-size:.78rem}.form-grid--single{grid-template-columns:1fr}.person-form__heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.person-form__heading .switch-label{white-space:nowrap}.switch-label--icon{cursor:pointer;width:39px;height:23px;position:relative}.switch-label--icon input{opacity:0;width:1px;height:1px;position:absolute}.switch-control{border:1px solid var(--line);background:#857673;border-radius:999px;width:39px;height:23px;transition:background .15s;display:block}.switch-control:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;margin:2px;transition:transform .15s;display:block}.switch-label--icon input:checked+.switch-control{background:var(--brand-red)}.switch-label--icon input:checked+.switch-control:after{transform:translate(16px)}.switch-label--icon input:focus-visible+.switch-control{outline:3px solid var(--brand-yellow);outline-offset:3px}.member-search{color:var(--muted);gap:5px;margin-bottom:8px;font-size:.75rem;font-weight:800;display:grid}.calendar-weeks{gap:24px;display:grid}.calendar-week{min-width:0}.calendar-week-title{margin-bottom:10px;font-size:1.05rem}.day-availability{color:#754c00;background:var(--brand-yellow-soft);border-radius:8px;margin:-5px 0 12px;padding:6px 8px;font-size:.72rem;font-weight:800}.day-availability--empty{color:var(--muted);background:0 0}.availability-weeks{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.availability-week{border:1px solid var(--line);border-radius:14px;min-width:0;margin:0;padding:14px}.availability-week legend{padding-inline:6px;font-size:.96rem;font-weight:850}.directory-step{color:var(--brand-red);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:900}.directory-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.directory-create-card{border-color:color-mix(in srgb, var(--brand-red) 24%, var(--line));position:sticky;top:88px}.directory-items{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.directory-items>.empty-state{grid-column:1/-1}.compact-create-form h3{margin:0;font-size:1.25rem}.member-choices{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;padding:12px}.member-choices legend{padding-inline:6px;font-size:.84rem;font-weight:800}.member-choice-grid{gap:4px;max-height:250px;display:grid;overflow-y:auto}.person-form .member-choice{min-height:38px;color:var(--ink);border-radius:9px;align-items:center;gap:9px;padding:7px 8px;display:flex}.person-form .member-choice:hover{background:var(--brand-yellow-soft)}.person-form .member-choice input{width:17px;height:17px;min-height:17px;accent-color:var(--brand-red);padding:0}.parent-link-choice{grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:8px;display:grid}.parent-link-choice select{min-height:36px;padding:6px 8px;font-size:.76rem}.linked-person-list{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.linked-person-list li{flex-wrap:wrap;gap:7px;font-size:.82rem;display:flex}.linked-person-list span,.parent-slots strong{color:var(--muted)}.linked-person-list a,.parent-slots a{color:var(--brand-red);font-weight:800}.parent-slots{gap:8px;display:grid}.parent-slots p{gap:8px;margin:0;display:flex}.parent-picker{border-top:1px solid var(--line);gap:8px;margin-top:12px;padding-top:12px;display:grid}.parent-picker label{color:var(--muted);gap:5px;font-size:.78rem;font-weight:800;display:grid}.parent-picker__results{gap:5px;max-height:180px;display:grid;overflow-y:auto}.parent-picker__results button{border:1px solid var(--line);min-height:36px;color:var(--ink);background:var(--surface-strong);text-align:left;border-radius:9px}.parent-picker__results button:hover:not(:disabled){border-color:var(--brand-red)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f3ece8;--muted:#b9aaa4;--surface:#1d1919;--surface-strong:#252020;--line:#443837;--brand-red:#ff4b55;--brand-red-dark:#e5303b;--brand-red-soft:#3b2023;--brand-yellow:#e2b849;--brand-yellow-soft:#342b17;--danger:#ff7c83;--success:#70d3a3;--shadow:0 24px 70px #00000061;scrollbar-color:#594846 #171314;background:#100e0f}html[data-theme=dark] .login-shell,html[data-theme=dark] .app-shell{background:radial-gradient(circle at 8% 8%,#e2b8491f,#0000 28rem),radial-gradient(circle at 92% 15%,#ff4b5517,#0000 25rem),linear-gradient(150deg,#100e0f,#191415)}html[data-theme=dark] .login-card,html[data-theme=dark] .feature-card,html[data-theme=dark] .settings-card,html[data-theme=dark] .request-card,html[data-theme=dark] .empty-state,html[data-theme=dark] .birthday-card{border-color:var(--line);background:#1e1919f0;box-shadow:0 16px 42px #0000003d}html[data-theme=dark] .feature-card--accent{background:linear-gradient(145deg,#302817,#211c1a)}html[data-theme=dark] .app-sidebar{border-color:var(--line);background:#191515f5;box-shadow:0 22px 60px #0000004d}html[data-theme=dark] .sidebar-user,html[data-theme=dark] .birthday-marker{background:var(--brand-yellow-soft)}html[data-theme=dark] .impersonation-banner{color:#f0cf77;background:#342b17;border-color:#e2b8497a}html[data-theme=dark] .impersonation-banner button{color:#f0cf77;border-color:#f0cf77}html[data-theme=dark] .directory-search input,html[data-theme=dark] .member-search input{border-color:var(--line);color:var(--ink);background:#171313}html[data-theme=dark] .collapsible-directory{border-color:var(--line);background:#1e1919d6}html[data-theme=dark] .day-availability{color:#f0cf77;background:#342b17}html[data-theme=dark] .day-availability--empty{color:var(--muted);background:0 0}html[data-theme=dark] .nav-group-title{color:#9f8e87}html[data-theme=dark] .login-form input,html[data-theme=dark] .settings-form input,html[data-theme=dark] .password-reset-form input,html[data-theme=dark] .form-grid input,html[data-theme=dark] .form-grid select,html[data-theme=dark] .form-grid textarea,html[data-theme=dark] .person-form input,html[data-theme=dark] .person-form select,html[data-theme=dark] .person-form textarea,html[data-theme=dark] .availability-row input[type=time]{border-color:var(--line);color:var(--ink);background:#171313}html[data-theme=dark] .form-grid label,html[data-theme=dark] .person-form label{color:#ded2cd}html[data-theme=dark] .notification-card,html[data-theme=dark] .week-navigation,html[data-theme=dark] .schedule-display{border-color:var(--line);background:#1e1919e0}html[data-theme=dark] .notification-card--unread{background:var(--surface-strong);box-shadow:0 10px 30px #00000047}html[data-theme=dark] .day-column{border-color:var(--line);background:#1d1919}html[data-theme=dark] .week-grid--timeline,html[data-theme=dark] .day-column--timeline{background:#1d1919}html[data-theme=dark] .day-timeline{background:repeating-linear-gradient(to bottom, transparent 0, transparent 59px, var(--line) 59px, var(--line) 60px)}html[data-theme=dark] .schedule-display__content input{border-color:var(--line);background:#171313}html[data-theme=dark] .availability-block{background:#54d28b2e;border-color:#57d38b7a #57d38b7a #57d38b7a #54d28b}html[data-theme=dark] .participant-options{background:#252020;box-shadow:0 12px 28px #00000059}@media (max-width:1600px){.schedule-workspace{grid-template-columns:minmax(0,1fr) minmax(500px,540px)}}@media (max-width:760px){.schedule-display__heading{display:grid}.schedule-display__hint{text-align:left;max-width:none}.schedule-display__teacher-list{grid-template-columns:1fr}}html[data-theme=dark] .lesson-card{background:#302817}html[data-theme=dark] .birthday-marker{border-color:#e2b8496b}html[data-theme=dark] .theme-toggle,html[data-theme=dark] .directory-jump-nav{border-color:var(--line);background:#1d1919f0}html[data-theme=dark] .danger-button{background:#5b4140}@media (max-width:980px){.directory-layout{grid-template-columns:1fr}.directory-create-card{position:static}.availability-weeks{grid-template-columns:1fr}}@media (max-width:1180px){.schedule-workspace{grid-template-columns:1fr}.schedule-tools{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);position:static}}@media (max-width:900px){.app-shell{padding:18px}.app-sidebar{width:min(100%,1440px);margin:0 auto 28px;position:static}.sidebar-details{display:block}.sidebar-details>summary{border:1px solid var(--line);border-radius:12px;margin-top:14px;padding:11px 13px;display:block}.sidebar-details[open]>summary{margin-bottom:14px}.app-sidebar .app-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-group-title{grid-column:1/-1}.sidebar-logout{margin-top:12px}}@media (min-width:901px){.sidebar-details:not([open])>.sidebar-user{display:flex}.sidebar-details:not([open])>.app-nav{display:grid}.sidebar-details:not([open])>.sidebar-logout{display:block}}@media (max-width:680px){.app-sidebar .app-nav,.schedule-tools{grid-template-columns:1fr}.week-navigation{flex-wrap:wrap}.week-navigation strong{text-align:center;order:-1;width:100%}.schedule-editor .form-grid,.schedule-time-row,.schedule-people-row{grid-template-columns:1fr}.schedule-people-row__help,.schedule-editor .form-grid__wide{grid-column:auto}.directory-section__heading{flex-direction:column;align-items:stretch}.directory-search{width:100%}.availability-row{grid-template-columns:1fr 1fr}.availability-row .availability-toggle{grid-column:1/-1}}
