@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.2xm1k7t3a0pcd.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/b887d91685b8c137-s.330vchwb4izzb.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.16u3vygyjnhr0.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_742e4a16-module__7l5L7a__className{font-family:Fraunces,Fraunces Fallback}.fraunces_742e4a16-module__7l5L7a__variable{--font-serif:"Fraunces", "Fraunces Fallback"}
:root{--brand-forest:#3f6b57;--brand-sage:#a8c3b0;--brand-terracotta:#d97a5c;--brand-cream:#f7f1e8;--brand-sand:#e9dfd2;--brand-graphite:#23211f;--background:var(--brand-cream);--background-subtle:#f1e9dd;--surface:#fffcf7;--surface-card:var(--brand-sand);--surface-elevated:#fffcf7;--border:#e4dacb;--text-primary:var(--brand-graphite);--text-secondary:#6b625a;--text-muted:#6b625a;--text-inverse:#fff;--action-primary:#3f6b57;--action-primary-hover:#325746;--action-secondary:var(--brand-graphite);--success:#2f6b4f;--warning:#b25e09;--danger:#d92d20;--info:#325746;--focus-ring:#3f6b5759;--ink:var(--text-primary);--muted:var(--text-muted);--line:var(--border);--soft:var(--background-subtle);--primary:var(--action-primary);--primary-dark:var(--action-primary-hover);--accent:var(--brand-sage);--white:#fff;--shadow:0 18px 50px #23211f17;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{font-family:var(--font-inter),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--background);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.container{width:min(1160px,100% - 32px);margin-inline:auto}.nav{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#f7f1e8f0;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:20px;min-height:72px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.22rem;font-weight:900;display:inline-flex}.brand-mark{place-items:center;width:29px;height:36px;display:grid}.brand-mark img{object-fit:contain;width:100%;height:100%}.brand-name{align-items:baseline;display:inline-flex}.brand-on{color:#fff;background:var(--primary);letter-spacing:.04em;border-radius:7px;place-items:center;margin-left:4px;padding:2px 5px;font-size:.62em;display:inline-grid}.nav-links{align-items:center;gap:8px;display:flex}.nav-link{color:#3d3833;background:0 0;border:0;border-radius:10px;padding:10px 12px;font-weight:650}.nav-link:hover{background:var(--soft)}.mobile-toggle,.mobile-panel{display:none}.btn{border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:750;transition:all .18s;display:inline-flex}.btn:focus-visible,.icon-button:focus-visible,.tab:focus-visible,.conversation-item:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 22px #3f6b573d}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{color:var(--primary-dark);background:#e8f0ea}.btn-ghost{color:#3d3833;border:1px solid var(--line);background:0 0}.btn-danger{color:var(--danger);background:#fff0ee}.btn-accent{background:var(--brand-terracotta);color:var(--brand-graphite)}.btn-accent:hover{background:#c4664a}.btn-small{min-height:36px;padding:0 12px;font-size:.88rem}.hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 84% 12%,#d3e2d8 0,#0000 32%),linear-gradient(#fbf7f1 0%,#fff 100%);overflow:hidden}.hero-grid{grid-template-columns:1.08fr .92fr;align-items:center;gap:64px;min-height:610px;padding:72px 0;display:grid}.kicker{color:var(--primary-dark);background:#e8f0ea;border:1px solid #c9dbcd;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:800;display:inline-flex}.hero h1{letter-spacing:-.065em;margin:20px 0 18px;font-size:clamp(2.7rem,6vw,5.2rem);line-height:.98}.hero h1 span{color:var(--primary)}.hero-copy{color:#6b625a;max-width:650px;font-size:1.12rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.row{align-items:center;gap:14px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:16px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#3f6b57,#6e9a80);border-radius:16px;flex:none;place-items:center;width:54px;height:54px;font-size:1.1rem;font-weight:900;display:grid}.avatar.large{border-radius:26px;width:92px;height:92px;font-size:1.7rem}.verified{color:#2f6b4f;background:#e8f0ea;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.section{padding:76px 0}.section.soft{background:var(--soft)}.section-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.section h2,.page-head h1{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.section-sub{color:var(--muted);margin:10px 0 0;line-height:1.6}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.card,.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 30px #23211f0a}.feature-card h3{margin:14px 0 8px}.feature-card p{color:var(--muted);margin:0;line-height:1.6}.feature-icon{width:48px;height:48px;color:var(--primary);background:#e8f0ea;border-radius:14px;place-items:center;display:grid}.page{background:#f7f1e8;min-height:calc(100vh - 72px);padding:44px 0 80px}.page-head{margin-bottom:28px}.breadcrumb{color:var(--muted);margin-bottom:14px;font-size:.9rem}.layout-sidebar{grid-template-columns:280px 1fr;align-items:start;gap:24px;display:grid}.filters{position:sticky;top:96px}.field{gap:7px;margin-bottom:15px;display:grid}.field label{color:#3d3833;font-size:.86rem;font-weight:750}.input,input,select,textarea{width:100%;min-height:44px;color:var(--ink);background:var(--surface);border:1px solid #d8ccbb;border-radius:11px;outline:none;padding:10px 12px}textarea{resize:vertical;min-height:110px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3f6b571f}.teacher-list{gap:16px;display:grid}.teacher-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:20px;transition:all .18s;display:grid}.teacher-card:hover{box-shadow:var(--shadow);border-color:#bcd0c1;transform:translateY(-2px)}.teacher-card h3{margin:0 0 5px}.teacher-meta{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:.9rem;display:flex}.pills{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.pill{color:#3d3833;background:#f1e9dd;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:700}.price{text-align:right}.price strong{font-size:1.2rem;display:block}.empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed #cdbfad;border-radius:18px;padding:54px 24px}.profile-grid{grid-template-columns:1fr 370px;align-items:start;gap:24px;display:grid}.profile-header{align-items:start;gap:22px;display:flex}.profile-header h1{margin:0 0 8px;font-size:clamp(2rem,4vw,3.4rem)}.profile-copy{color:#6b625a;line-height:1.7}.sticky{position:sticky;top:96px}.auth-wrap{background:radial-gradient(circle at 20% 0,#e8f0ea,#0000 35%),#fbf7f1;place-items:center;min-height:calc(100vh - 72px);padding:44px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);border-radius:24px;padding:30px}.auth-card h1{margin:0 0 8px;font-size:2.2rem}.form-note{color:var(--muted);font-size:.88rem;line-height:1.5}.alert{border-radius:12px;padding:13px 15px;font-size:.9rem;line-height:1.45}.alert-info{color:#2f5243;background:#e8f0ea;border:1px solid #c9dbcd}.alert-success{color:#2f6b4f;background:#e8f0ea;border:1px solid #c9dbcd}.alert-warning{color:#93370d;background:#fffaeb;border:1px solid #fedf89}.alert-danger{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.dashboard-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}.stat-card span{color:var(--muted);font-size:.84rem}.stat-card strong{letter-spacing:-.04em;margin-top:7px;font-size:1.8rem;display:block}.tabs{border-bottom:1px solid var(--line);gap:7px;margin:24px 0 16px;display:flex;overflow:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:11px 14px;font-weight:750}.tab.active{color:var(--primary);border-color:var(--primary)}.booking-card{grid-template-columns:84px 1fr auto;align-items:center;gap:16px;display:grid}.date-box{text-align:center;color:var(--primary-dark);background:#e8f0ea;border-radius:14px;padding:12px 8px}.date-box strong{font-size:1.5rem;display:block}.status{border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:850;display:inline-flex}.status-confirmed,.status-pending_payment{color:#2f5243;background:#e8f0ea}.status-completed{color:#2f6b4f;background:#e8f0ea}.status-cancelled_by_student,.status-cancelled_by_teacher,.status-refunded,.status-rejected{color:#6b625a;background:#f1e9dd}.status-disputed,.status-no_show_student,.status-no_show_teacher{color:#9a5900;background:#fff7e8}.actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 16px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f7f1e8;font-size:.78rem}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.check{border:1px solid var(--line);border-radius:11px;align-items:center;gap:8px;padding:10px;display:flex}.check input{width:auto;min-height:auto}.availability-row{grid-template-columns:1.2fr 1fr 1fr 1fr auto;align-items:end;gap:8px;margin-bottom:10px;display:grid}.messages-layout{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:320px 1fr;min-height:620px;display:grid;overflow:hidden}.conversation-list{border-right:1px solid var(--line);overflow:auto}.conversation-item{text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface);width:100%;padding:16px}.conversation-item.active{background:#e8f0ea}.conversation-group{border-bottom:8px solid var(--soft)}.conversation-group-header{background:#f7f1e8;align-items:center;gap:12px;padding:14px 16px;display:flex}.conversation-item-sub{padding:10px 16px 10px 40px}.conversation-item-date{letter-spacing:-.01em;font-size:.86rem;display:block}.message-pane{flex-direction:column;display:flex}.message-scroll{flex:1;align-content:start;gap:10px;padding:20px;display:grid;overflow:auto}.message{background:#f1e9dd;border-radius:14px;max-width:75%;padding:11px 13px}.message.mine{background:#e8f0ea;justify-self:end}.message small{color:var(--muted);margin-bottom:4px;display:block}.message-form{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:8px;padding:14px;display:grid}.footer{background:var(--brand-graphite);color:#d9d0c4;padding:42px 0}.footer .brand{color:#fff}.footer .brand-on{color:#1f3a2e;background:#a8c3b0}.muted{color:var(--muted)}.danger-text{color:var(--danger)}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.stack{gap:16px;display:grid}.loading{min-height:280px;color:var(--muted);place-items:center;display:grid}.spinner{border:3px solid #d3e2d8;border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){.hero-grid,.profile-grid{grid-template-columns:1fr}.hero-grid{gap:30px;min-height:auto;padding:58px 0}.grid-3{grid-template-columns:1fr 1fr}.layout-sidebar{grid-template-columns:1fr}.filters,.sticky{position:static}.dashboard-grid{grid-template-columns:1fr 1fr}.teacher-card{grid-template-columns:auto 1fr}.teacher-card .price{text-align:left;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.messages-layout{grid-template-columns:1fr}.conversation-list{border-right:0;border-bottom:1px solid var(--line);max-height:220px}}@media (max-width:680px){.container{width:min(100% - 22px,1160px)}.nav-inner{min-height:64px}.nav-links{display:none}.mobile-toggle{display:inline-flex}.mobile-panel.open{padding:0 0 14px;display:grid}.mobile-panel a,.mobile-panel button{text-align:left;background:var(--surface);border:0;padding:12px}.hero-grid{padding:42px 0}.hero h1{font-size:2.85rem}.grid-3,.dashboard-grid{grid-template-columns:1fr}.section{padding:54px 0}.section-head{flex-direction:column;align-items:start}.profile-header{flex-direction:column}.booking-card{grid-template-columns:64px 1fr}.booking-card .actions{grid-column:1/-1;justify-content:start}.auth-card{padding:22px}.checkbox-grid{grid-template-columns:1fr}.availability-row{grid-template-columns:1fr 1fr}.availability-row>:last-child{grid-column:1/-1}.message{max-width:90%}}.classroom-access{background:#e8f0ea;border:1px solid #c9dbcd;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin:20px 0;padding:18px;display:flex}.classroom-access h3,.classroom-access p{margin:0}.classroom-access p{color:#2f6b4f;margin-top:5px}.classroom-page{color:#fff;background:#1c1a18;min-height:calc(100vh - 72px);padding:24px}.classroom-shell{gap:16px;width:min(1400px,100%);margin:0 auto;display:grid}.classroom-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.classroom-header h1{margin:0;font-size:clamp(1.5rem,3vw,2.3rem)}.classroom-header p{color:#cfc6ba;margin:7px 0 0}.classroom-header .breadcrumb{color:#cfc6ba}.call-state{color:#e6ded3;background:#35302b;border-radius:999px;padding:8px 12px;font-size:.8rem;font-weight:800;display:inline-flex}.call-state-joined{color:#d3e2d8;background:#1f3a2e}.call-state-error{color:#ffd2d5;background:#681f25}.daily-frame-host{background:#211f1d;border:1px solid #3f3a34;border-radius:16px;height:clamp(520px,75vh,900px);position:relative;overflow:hidden}.daily-frame-host>.loading{position:absolute;inset:0}.daily-frame-host.is-hidden{display:none}.classroom-ended{max-width:560px;color:var(--ink);text-align:center;margin:9vh auto}.classroom-ended p{color:var(--muted)}@media (max-width:680px){.classroom-access,.classroom-header{flex-direction:column;align-items:stretch}.classroom-page{padding:14px}.daily-frame-host{height:72vh;min-height:520px}.call-state{align-self:flex-start}}.status-no_show_both{color:#9a5900;background:#fff7e8}.panel-page{background:var(--background);min-height:calc(100vh - 72px);padding:24px clamp(18px,2.5vw,40px) 72px}.panel-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:24px;width:min(1540px,100%);margin:0 auto;transition:grid-template-columns .2s;display:grid}.panel-page-collapsed .panel-layout{grid-template-columns:76px minmax(0,1fr)}.panel-page-student .panel-layout{grid-template-columns:220px minmax(0,1fr) 280px;gap:18px;width:min(1640px,100%)}.panel-page-student.panel-page-collapsed .panel-layout{grid-template-columns:76px minmax(0,1fr) 280px}.panel-page-student.panel-page-calendar-collapsed .panel-layout{grid-template-columns:220px minmax(0,1fr) 76px}.panel-page-student.panel-page-collapsed.panel-page-calendar-collapsed .panel-layout{grid-template-columns:76px minmax(0,1fr) 76px}.panel-sidebar{border:1px solid var(--line);background:var(--surface);border-radius:20px;min-width:0;padding:14px;position:sticky;top:96px;box-shadow:0 8px 30px #23211f0d}.panel-sidebar-heading{white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:2px 4px 12px;display:flex;overflow:hidden}.panel-collapse{border:1px solid var(--line);width:34px;height:34px;color:var(--text-secondary);background:var(--surface);border-radius:10px;flex:0 0 34px;place-items:center;transition:all .18s;display:grid}.panel-collapse:hover{color:var(--primary);background:#e8f0ea;border-color:#c9dbcd}.panel-page-collapsed .panel-sidebar-heading strong{display:none}.panel-page-collapsed .panel-collapse{margin-inline:auto;transform:rotate(180deg)}.panel-sidebar-nav{gap:6px;display:grid}.panel-sidebar-link{min-height:46px;color:var(--text-secondary);white-space:nowrap;border-radius:12px;align-items:center;gap:12px;padding:0 13px;font-weight:720;transition:background .16s,color .16s;display:flex;overflow:hidden}.panel-sidebar-link svg{flex:none}.panel-sidebar-link:hover{color:var(--primary-dark);background:var(--soft)}.panel-sidebar-link.active{color:var(--primary-dark);box-shadow:inset 3px 0 var(--primary);background:#e8f0ea}.panel-sidebar-link.panel-signout{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;border-radius:0 0 12px 12px;width:100%;margin-top:8px}.panel-sidebar-link.panel-signout:hover{color:var(--danger);background:#fff0ee}.panel-page-collapsed .panel-sidebar-link{justify-content:center;padding-inline:0}.panel-page-collapsed .panel-sidebar-link span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.panel-content{width:100%;min-width:0}.panel-menu{margin-block:-8px;padding-block:8px;position:relative}.panel-menu-trigger svg{transition:transform .18s}.panel-menu-dropdown{visibility:hidden;opacity:0;pointer-events:none;border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:4px;width:250px;padding:10px;transition:all .16s;display:grid;position:absolute;top:calc(100% - 1px);right:0;transform:translateY(-6px);box-shadow:0 20px 50px #23211f29}.panel-menu:hover .panel-menu-dropdown,.panel-menu:focus-within .panel-menu-dropdown{visibility:visible;opacity:1;pointer-events:auto;transform:none}.panel-menu:hover .panel-menu-trigger svg,.panel-menu:focus-within .panel-menu-trigger svg{transform:rotate(180deg)}.panel-menu-dropdown a,.panel-menu-dropdown button{color:#3d3833;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 11px;font-weight:680;display:flex}.panel-menu-dropdown a:hover,.panel-menu-dropdown a:focus-visible,.panel-menu-dropdown button:hover,.panel-menu-dropdown button:focus-visible{color:var(--primary-dark);background:#e8f0ea;outline:none}.panel-menu-signout{margin-top:4px;border-top:1px solid var(--line)!important;color:var(--danger)!important}.student-calendar{border:1px solid var(--line);background:var(--surface);border-radius:20px;min-width:0;padding:14px;position:sticky;top:96px;overflow:hidden;box-shadow:0 8px 30px #23211f0d}.student-calendar-heading{justify-content:space-between;align-items:center;gap:8px;min-height:40px;display:flex}.calendar-collapse{border:1px solid var(--line);width:34px;height:34px;color:var(--text-secondary);background:var(--surface);border-radius:10px;flex:0 0 34px;place-items:center;display:grid}.calendar-collapse:hover{color:var(--primary);background:#e8f0ea}.panel-page-calendar-collapsed .student-calendar-heading{flex-direction:column-reverse;justify-content:center}.panel-page-calendar-collapsed .calendar-collapse{transform:rotate(180deg)}.student-calendar-body{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.calendar-mini-nav{text-align:center;text-transform:capitalize;grid-template-columns:32px 1fr 32px;align-items:center;display:grid}.calendar-mini-nav button{width:32px;height:32px;color:var(--primary);background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.calendar-mini-nav button:hover{background:#e8f0ea}.calendar-mini-nav strong{font-size:.92rem}.calendar-mini-weekdays,.calendar-mini-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-mini-weekdays{color:var(--muted);text-align:center;margin-top:10px;font-size:.68rem;font-weight:800}.calendar-mini-grid{row-gap:3px;margin-top:5px}.calendar-mini-day{color:#3d3833;border-radius:50%;place-items:center;min-height:31px;font-size:.76rem;display:grid;position:relative}.calendar-mini-day.outside{opacity:.32}.calendar-mini-day.today{color:#fff;background:var(--primary);font-weight:850}.calendar-mini-day i{background:var(--brand-terracotta);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px}.calendar-mini-day.today i{background:#fff}.calendar-upcoming{border-top:1px solid var(--line);gap:7px;margin-top:14px;padding-top:13px;display:grid}.calendar-upcoming>a{background:var(--soft);border-radius:10px;gap:2px;padding:8px;display:grid}.calendar-upcoming>a:hover{background:#e8f0ea}.calendar-upcoming span{color:var(--primary-dark);font-size:.78rem;font-weight:800}.calendar-upcoming small,.calendar-upcoming p{color:var(--muted);margin:0;line-height:1.35}.student-learning-summary{background:linear-gradient(135deg,#f9fcf9,#e8f0ea);border:1px solid #c9dbcd;border-radius:20px;margin:0 0 28px;padding:22px;box-shadow:0 8px 30px #23211f0a}.student-learning-summary h2{margin:4px 0 0}.summary-eyebrow{color:var(--primary);letter-spacing:.08em;font-size:.72rem;font-weight:850}.learning-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.learning-summary-grid>div{background:#ffffffb3;border:1px solid #3f6b5724;border-radius:13px;padding:14px}.learning-summary-grid span,.learning-summary-next span{color:var(--muted);font-size:.78rem;display:block}.learning-summary-grid strong{margin-top:5px;font-size:1.35rem;display:block}.learning-summary-next{background:var(--surface);border-radius:13px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:14px;display:flex}.learning-summary-next strong,.learning-summary-next small{margin-top:3px;display:block}@media (max-width:1180px){.panel-page-student .panel-layout,.panel-page-student.panel-page-collapsed .panel-layout{grid-template-columns:76px minmax(0,1fr) 250px}.panel-page-student.panel-page-calendar-collapsed .panel-layout,.panel-page-student.panel-page-collapsed.panel-page-calendar-collapsed .panel-layout{grid-template-columns:76px minmax(0,1fr) 76px}.panel-page-student .panel-sidebar-heading strong,.panel-page-student .panel-sidebar-link span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.panel-page-student .panel-sidebar-link{justify-content:center;padding-inline:0}.panel-page-student .panel-collapse{margin-inline:auto;transform:rotate(180deg)}}@media (max-width:900px){.panel-layout,.panel-page-collapsed .panel-layout,.panel-page-student .panel-layout,.panel-page-student.panel-page-collapsed .panel-layout,.panel-page-student.panel-page-calendar-collapsed .panel-layout,.panel-page-student.panel-page-collapsed.panel-page-calendar-collapsed .panel-layout{grid-template-columns:1fr}.panel-sidebar,.student-calendar{position:static}.panel-sidebar-heading{display:none}.panel-sidebar-nav{padding-bottom:3px;display:flex;overflow-x:auto}.panel-sidebar-link,.panel-page-collapsed .panel-sidebar-link,.panel-page-student .panel-sidebar-link{flex:none;justify-content:flex-start;padding:0 13px}.panel-page-collapsed .panel-sidebar-link span,.panel-page-student .panel-sidebar-link span{clip:auto;width:auto;height:auto;position:static;overflow:visible}.panel-page{padding:18px 14px 54px}.student-calendar{order:3}.panel-page-calendar-collapsed .student-calendar-heading{flex-direction:row}.learning-summary-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.student-learning-summary-head,.learning-summary-next{flex-direction:column;align-items:stretch}.learning-summary-grid{grid-template-columns:1fr 1fr}.student-learning-summary{padding:17px}}@media (max-width:680px){.panel-page{min-height:calc(100vh - 64px);padding-inline:11px}.panel-sidebar{border-radius:16px;padding:9px}.panel-sidebar-link{min-height:42px;font-size:.9rem}}@media (prefers-reduced-motion:reduce){.panel-layout,.panel-collapse,.panel-sidebar-link,.panel-menu-dropdown,.panel-menu-trigger svg{transition:none}}.footer-inner{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.footer-summary{gap:12px;display:grid}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:12px 20px;font-size:.9rem;display:flex}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-feedback-button{color:inherit;font-size:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.footer-feedback-button:hover{color:#fff;text-decoration:underline}.legal-page{width:min(840px,100% - 32px)}.legal-draft{color:#93370d;text-transform:uppercase;letter-spacing:.04em;background:#fffaeb;border:1px solid #fedf89;border-radius:999px;margin-bottom:16px;padding:7px 10px;font-size:.76rem;font-weight:850;display:inline-flex}.legal-content{gap:16px;display:grid}.legal-section{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:24px}.legal-section h2{margin:0 0 10px;font-size:1.25rem}.legal-section p{color:#6b625a;margin:0;line-height:1.75}@media (max-width:680px){.footer-inner{display:grid}.footer-links{justify-content:flex-start}.legal-section{padding:20px}}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.icon-button{border:1px solid var(--line);color:#3d3833;background:var(--surface);border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:inline-grid}.icon-button:hover{background:var(--soft)}.report-dialog{width:min(680px,100% - 24px);max-height:min(90vh,820px);color:var(--ink);background:var(--surface);border:0;border-radius:22px;padding:0;overflow:auto;box-shadow:0 28px 90px #23211f47}.report-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#23211fa3}.feedback-dialog{width:min(640px,100% - 24px);max-height:min(92vh,860px);color:var(--ink);background:var(--surface);border:0;border-radius:22px;padding:0;overflow:auto;box-shadow:0 28px 90px #23211f47}.feedback-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#23211fa3}.feedback-form,.feedback-success{padding:24px}.feedback-form>.field{margin-bottom:18px}.feedback-rating{border:0;margin:0 0 18px;padding:0}.feedback-rating legend{color:#3d3833;margin-bottom:9px;font-size:.86rem;font-weight:750}.feedback-stars{gap:5px;display:flex}.feedback-stars button{border:1px solid var(--line);color:#b8aa98;background:#fff;border-radius:10px;place-items:center;width:42px;height:42px;padding:0;display:grid}.feedback-stars button:hover,.feedback-stars button.selected{color:#d29439;background:#fff8e9;border-color:#d29439}.feedback-stars button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.feedback-upload{background:#fbf7f1;border:1px dashed #bcae9b;border-radius:14px;gap:7px;margin-bottom:18px;padding:15px;display:grid}.feedback-upload label{color:#3d3833;align-items:center;gap:8px;font-weight:800;display:flex}.feedback-upload input{background:#fff;min-height:auto;padding:8px}.feedback-upload small,.feedback-privacy{color:var(--muted);font-size:.8rem;line-height:1.5}.feedback-upload ul{gap:4px;margin:4px 0 0;padding-left:20px;font-size:.84rem;display:grid}.feedback-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.feedback-success{text-align:center}.feedback-success-icon{color:#2f6b4f;background:#e8f0ea;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 14px;font-size:1.8rem;font-weight:900;display:grid}.feedback-success h3{margin:0 0 8px;font-size:1.5rem}.feedback-success p{color:var(--muted);margin:0 0 18px;line-height:1.6}.feedback-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.feedback-admin-filters{grid-template-columns:repeat(3,minmax(0,220px));gap:10px;margin-bottom:20px;display:grid}.feedback-admin-list{gap:14px;display:grid}.feedback-admin-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:20px;box-shadow:0 8px 30px #23211f0a}.feedback-admin-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.feedback-admin-heading>div{align-items:center;gap:12px;display:flex}.feedback-admin-heading strong{color:#c98226;letter-spacing:.04em}.feedback-admin-heading time{color:var(--muted);font-size:.8rem}.feedback-admin-card>p{white-space:pre-wrap;margin:16px 0;line-height:1.65}.feedback-admin-details{background:#fbf7f1;border-radius:12px;grid-template-columns:90px 1fr;gap:7px 12px;margin:0;padding:13px;font-size:.86rem;display:grid}.feedback-admin-details dt{color:var(--muted);font-weight:750}.feedback-admin-details dd{overflow-wrap:anywhere;margin:0}.feedback-admin-details a{color:var(--primary-dark);font-weight:750;text-decoration:underline}.feedback-admin-images{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.feedback-admin-images a{border:1px solid var(--line);color:var(--primary-dark);background:#fff;border-radius:9px;padding:8px 10px;font-size:.82rem;font-weight:750}.feedback-admin-status{justify-content:flex-end;align-items:center;gap:9px;margin-top:14px;display:flex}.feedback-admin-status label{font-size:.84rem;font-weight:750}.feedback-admin-status select{width:auto;min-width:150px}.feedback-kind-bug{color:#b42318;background:#fff0ee}.feedback-kind-suggestion{color:#2f6b4f;background:#e8f0ea}.feedback-kind-criticism{color:#9a5900;background:#fff7e8}.feedback-kind-other{color:#6b625a;background:#f1e9dd}.report-dialog-header{z-index:2;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 18px;display:flex;position:sticky;top:0}.report-dialog-header h2{letter-spacing:-.03em;margin:4px 0 5px;font-size:1.6rem}.report-dialog-header p{margin:0}.report-step{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:850}.report-dialog form,.report-success{padding:24px}.report-dialog h3{margin:0 0 20px;font-size:1.2rem}.sr-focus-heading:focus{outline:none}.report-fieldset{border:0;margin:0 0 20px;padding:0}.report-fieldset legend{color:#3d3833;margin-bottom:9px;font-size:.86rem;font-weight:750}.report-choice-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.report-choice{border:1px solid var(--line);text-align:center;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;min-height:64px;padding:10px;font-weight:700;display:flex;position:relative}.report-choice:has(input:checked){border-color:var(--primary);color:var(--primary-dark);background:#e8f0ea;box-shadow:0 0 0 2px #3f6b571a}.report-choice input{opacity:0;pointer-events:none;position:absolute}.report-choice:has(input:focus-visible){outline-offset:2px;outline:3px solid #3f6b5747}.character-counter{text-align:right;color:var(--muted);font-size:.8rem}.file-drop{text-align:center;cursor:pointer;background:#fbf7f1;border:2px dashed #bcae9b;border-radius:16px;place-items:center;min-height:180px;padding:24px;display:grid}.file-drop:hover{border-color:var(--primary);background:#edf3ee}.file-drop span{color:var(--muted);margin-top:6px;font-size:.84rem}.file-list{gap:7px;margin:16px 0 0;padding:0;list-style:none;display:grid}.file-list li{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 12px}.report-review dl{grid-template-columns:130px 1fr;gap:10px 16px;margin:0 0 20px;display:grid}.report-review dt{color:var(--muted);font-weight:750}.report-review dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.report-confirmation{border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:11px;margin:18px 0;padding:14px;line-height:1.5;display:flex}.report-confirmation input{width:20px;min-height:20px;margin-top:2px}.report-error{min-height:24px;color:var(--danger);margin-top:12px;font-size:.88rem}.report-dialog-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.report-success{text-align:center}.report-success-icon{color:#2f6b4f;background:#e8f0ea;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 14px;font-size:1.8rem;font-weight:900;display:grid}.report-success h3{margin-bottom:8px;font-size:1.5rem}.report-success p{line-height:1.65}.report-success .actions{justify-content:center;margin-top:20px}.report-inline-actions{flex-wrap:wrap;gap:8px;display:flex}.message-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.message-report-button{min-width:40px;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:0}.message-report-button:hover{color:var(--danger);background:#fff0ee}.safety-notice{border-left:4px solid #f79009}.message-pane-header{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.message-pane-header>div{gap:3px;display:grid}.message-pane-header span{color:var(--muted);font-size:.82rem}.message-menu{position:relative}.message-menu summary{cursor:pointer;border-radius:10px;place-items:center;width:38px;height:38px;list-style:none;display:grid}.message-menu summary::-webkit-details-marker{display:none}.message-menu summary:hover,.message-menu[open] summary{background:#ffffffb3}.message-menu-popover{z-index:4;border:1px solid var(--line);background:var(--surface);width:190px;box-shadow:var(--shadow);border-radius:12px;padding:6px;position:absolute;top:40px;right:0}.message-menu-action{width:100%;min-height:42px;color:var(--danger);background:var(--surface);text-align:left;border:0;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;font-weight:700;display:flex}.message-menu-action:hover{background:#fff0ee}.classroom-header-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.classroom-report-button{color:#fff;border-color:#554e46}.classroom-report-button:hover{background:#35302b}.report-list-toolbar{justify-content:flex-end;align-items:center;gap:10px;margin:22px 0 16px;display:flex}.report-list-toolbar label{font-weight:750}.report-list-toolbar select{width:min(280px,100%)}.report-list-card{grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr) auto;align-items:center;gap:18px;display:grid}.report-list-card h2{margin:10px 0 4px;font-size:1.1rem}.report-list-meta{color:var(--muted);gap:7px;font-size:.84rem;display:grid}.report-detail-grid{grid-template-columns:180px 1fr;gap:12px 18px;display:grid}.report-detail-grid dt{color:var(--muted);font-weight:750}.report-detail-grid dd{white-space:pre-wrap;margin:0}.report-timeline{gap:14px;padding:0;list-style:none;display:grid}.report-timeline li{border-left:3px solid #d3e2d8;padding-left:18px}.report-timeline li>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.report-timeline time{color:var(--muted);font-size:.8rem}.report-timeline p{white-space:pre-wrap;margin:6px 0 0}.evidence-list{gap:10px;padding:0;list-style:none;display:grid}.evidence-list li{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.evidence-list li>div{gap:3px;display:grid}.evidence-list span{color:var(--muted);font-size:.82rem}.report-evidence-add{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:16px;display:grid}.report-evidence-add label{grid-column:1/-1;align-items:center;gap:7px;font-weight:750;display:flex}.report-metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.report-insight-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.stat-critical{background:#fff7f6;border-color:#fda29b}.stat-critical strong{color:#b42318}.stat-warning{background:#fffcf5;border-color:#fedf89}.stat-warning strong{color:#93370d}.metric-bars{gap:12px;margin:0;padding:0;list-style:none;display:grid}.metric-bars li{gap:5px;display:grid}.metric-bar{background:var(--primary);border-radius:999px;height:7px;display:block}.operational-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.operational-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.operational-list a{color:var(--primary-dark);font-weight:750}.admin-report-filters{grid-template-columns:repeat(3,1fr);gap:10px 14px;margin-top:18px;display:grid}.report-filter-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-reports-table{min-width:1500px}.table-link{color:var(--primary-dark);font-weight:850}.table-secondary{color:var(--muted);margin-top:4px;font-size:.8rem;display:block}.priority{border-radius:999px;align-items:center;padding:6px 9px;font-size:.76rem;font-weight:850;display:inline-flex}.priority-low{color:#3d3833;background:#f1e9dd}.priority-medium{color:#2f5243;background:#e8f0ea}.priority-high{color:#93370d;background:#fffaeb}.priority-critical{color:#b42318;background:#fef3f2;border:1px solid #fda29b}.minor-flag{color:#93370d;background:#fffaeb;border-radius:999px;margin:5px 0 0 6px;padding:4px 7px;font-size:.7rem;font-weight:850;display:inline-flex}.status-submitted,.status-triaged{color:#2f5243;background:#e8f0ea}.status-under_review,.status-awaiting_reporter,.status-awaiting_reported_user{color:#93370d;background:#fffaeb}.status-escalated{color:#b42318;background:#fef3f2}.status-resolved{color:#2f6b4f;background:#e8f0ea}.status-dismissed,.status-closed{color:#6b625a;background:#f1e9dd}.admin-report-title{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.report-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-report-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.admin-report-controls{position:sticky;top:90px}.party-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.party-card{border:1px solid var(--line);background:#f7f1e8;border-radius:14px;gap:6px;padding:16px;display:grid}.party-card span,.party-card small{color:var(--muted)}.party-card code{overflow-wrap:anywhere;font-size:.75rem}.snapshot-grid{gap:10px;display:grid}.snapshot-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.snapshot-card summary{cursor:pointer;background:#f7f1e8;padding:13px 15px;font-weight:800}.snapshot-card pre{color:#d3e2d8;white-space:pre-wrap;overflow-wrap:anywhere;background:#23211f;max-height:420px;margin:0;padding:15px;font-size:.75rem;line-height:1.55;overflow:auto}.internal-label{color:#6b625a;text-transform:uppercase;background:#e4dacb;border-radius:5px;margin-left:5px;padding:2px 5px;font-size:.65rem;display:inline-flex}.related-report-list{gap:9px;padding:0;list-style:none;display:grid}.related-report-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.related-report-list a{color:var(--primary-dark);font-weight:800}.related-report-list span{color:var(--muted);font-size:.82rem}@media (max-width:680px){.report-dialog{border-radius:20px 20px 0 0;width:100%;max-width:none;max-height:94vh;margin:auto 0 0}.report-dialog-header,.report-dialog form,.report-success{padding:18px}.report-choice-grid{grid-template-columns:1fr}.report-review dl{grid-template-columns:1fr;gap:4px}.report-review dd{margin-bottom:10px}.report-dialog-actions .btn{flex:1}.feedback-dialog{border-radius:20px 20px 0 0;width:100%;max-width:none;max-height:94vh;margin:auto 0 0}.feedback-dialog .report-dialog-header,.feedback-form,.feedback-success{padding:18px}.feedback-actions .btn{flex:1}.feedback-metrics,.feedback-admin-filters{grid-template-columns:1fr}.feedback-admin-heading{display:grid}.feedback-admin-details{grid-template-columns:1fr;gap:3px}.feedback-admin-details dd{margin-bottom:7px}.feedback-admin-status{justify-content:stretch}.feedback-admin-status select{flex:1}}@media (max-width:1100px){.admin-report-layout{grid-template-columns:1fr}.admin-report-controls{position:static}.report-metric-grid{grid-template-columns:1fr 1fr}}@media (max-width:900px){.report-list-card{grid-template-columns:1fr}.report-list-card>.btn{justify-self:start}.report-detail-grid{grid-template-columns:1fr;gap:4px}.report-detail-grid dd{margin-bottom:10px}.admin-report-filters{grid-template-columns:1fr 1fr}.report-insight-grid{grid-template-columns:1fr}}@media (max-width:680px){.report-list-toolbar{justify-content:stretch;display:grid}.report-list-toolbar select{width:100%}.report-timeline li>div,.evidence-list li{flex-direction:column;align-items:flex-start}.report-evidence-add,.report-metric-grid,.admin-report-filters,.party-grid{grid-template-columns:1fr}.admin-report-title{display:grid}.report-badges{justify-content:flex-start}.related-report-list li{flex-direction:column;align-items:flex-start}}.nav-inner{justify-content:flex-start}.nav-links{margin-left:auto}.header-notification{z-index:10;position:relative}.notification-center{position:relative}.notification-trigger{border:1px solid var(--line);color:#3d3833;background:var(--surface);border-radius:13px;place-items:center;width:44px;height:44px;display:grid;position:relative;box-shadow:0 5px 18px #23211f0f}.notification-trigger:hover,.notification-trigger[aria-expanded=true]{color:var(--primary-dark);background:#e8f0ea}.notification-trigger:focus-visible,.notification-mark-all:focus-visible,.notification-list a:focus-visible,.notification-list button:focus-visible{outline-offset:2px;outline:3px solid #3f6b5740}.notification-badge{color:#fff;background:var(--danger);border:2px solid #f7f1e8;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:.68rem;font-weight:900;line-height:1;display:grid;position:absolute;top:-6px;right:-7px}.notification-panel{border:1px solid var(--line);background:var(--surface);border-radius:18px;width:min(410px,100vw - 32px);max-height:min(620px,100vh - 145px);position:absolute;top:52px;right:0;overflow:hidden;box-shadow:0 24px 70px #23211f2e}.notification-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.notification-header>div{gap:2px;display:grid}.notification-header strong{font-size:1rem}.notification-header span{color:var(--muted);font-size:.76rem}.notification-mark-all{min-height:36px;color:var(--primary-dark);background:#e8f0ea;border:0;border-radius:9px;align-items:center;gap:6px;padding:0 9px;font-size:.78rem;font-weight:800;display:inline-flex}.notification-mark-all:disabled{opacity:.45;cursor:default}.notification-state{color:var(--muted);text-align:center;justify-items:center;gap:10px;margin:0;padding:34px 20px;line-height:1.5;display:grid}.notification-state p{margin:0}.notification-list{max-height:min(530px,100vh - 220px);margin:0;padding:0;list-style:none;overflow-y:auto}.notification-list li{border-bottom:1px solid var(--line);position:relative}.notification-list li:last-child{border-bottom:0}.notification-list li.is-unread{background:#edf3ee}.notification-list li.is-unread:before{content:"";z-index:1;background:var(--primary);border-radius:50%;width:7px;height:7px;position:absolute;top:20px;left:11px}.notification-list a,.notification-list button{width:100%;color:inherit;text-align:left;background:0 0;border:0;gap:5px;padding:16px 18px 16px 28px;display:grid}.notification-list a:hover,.notification-list button:hover{background:#3f6b570f}.notification-title{font-size:.88rem;font-weight:850}.notification-body{color:#6b625a;font-size:.83rem;line-height:1.45}.notification-list time{color:var(--muted);font-size:.72rem}@media (max-width:680px){.header-notification{margin-left:auto}.notification-panel{width:auto;max-height:calc(100vh - 88px);position:fixed;top:74px;left:11px;right:11px}.notification-list{max-height:calc(100vh - 175px)}}.nav .mobile-toggle{display:none}.soft-aurora{pointer-events:none;position:absolute;inset:0;overflow:hidden}.soft-aurora canvas{width:100%;height:100%;display:block}.spotlight-card{--spotlight-x:50%;--spotlight-y:50%;--spotlight-color:#a8c3b038;position:relative;overflow:hidden}.spotlight-card:before{content:"";z-index:0;background:radial-gradient(460px circle at var(--spotlight-x) var(--spotlight-y),var(--spotlight-color),transparent 72%);opacity:0;pointer-events:none;transition:opacity .38s;position:absolute;inset:0}.spotlight-card:hover:before,.spotlight-card:focus-within:before{opacity:1}.spotlight-card>*{z-index:1;position:relative}@media (max-width:680px){.nav .mobile-toggle{display:inline-flex}.spotlight-card:before{display:none}}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}}.teacher-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.price small{max-width:230px;margin-top:5px;font-size:.76rem;line-height:1.35;display:block}.price-breakdown{background:#fbf7f1;border:1px solid #d8ccbb;border-radius:16px;margin:20px 0;padding:18px}.price-breakdown-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.price-breakdown-heading h3{margin:0;font-size:1rem}.estimate-pill{color:#2f5243;background:#e8f0ea;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:850;display:inline-flex}.price-breakdown dl,.teacher-earnings{gap:9px;margin:0;display:grid}.price-breakdown dl>div,.teacher-earnings>div{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.price-breakdown dt,.teacher-earnings dt{color:#6b625a}.price-breakdown dd,.teacher-earnings dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:800}.price-breakdown-total{border-top:1px solid #d8ccbb;margin-top:5px;padding-top:12px;font-size:1.08rem}.price-breakdown-total dd{color:var(--primary-dark);font-size:1.22rem}.price-breakdown-note{margin:14px 0 0}.price-breakdown-compact{margin:14px 0}.price-breakdown-compact .price-breakdown-note{font-size:.78rem}.payment-page{background:radial-gradient(circle at 50% 0,#e8f0ea,#0000 34%),#f7f1e8}.payment-container{width:min(780px,100% - 32px)}.payment-card{gap:18px;display:grid}.payment-card h1,.payment-result-card h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.9rem,4vw,2.8rem)}.payment-title-row{align-items:flex-start}.payment-booking-meta{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-bottom:18px;display:grid}.payment-booking-meta div{gap:4px;display:grid}.payment-booking-meta span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:750}.payment-booking-meta strong{line-height:1.35}.payment-consent{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:13px;align-items:flex-start;gap:11px;padding:14px;line-height:1.5;display:flex}.payment-consent input{flex:none;width:18px;min-height:18px;margin-top:2px}.payment-consent:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.payment-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.payment-result-card{text-align:center;justify-items:center;max-width:660px;margin:6vh auto;padding:38px}.payment-result-card .alert{text-align:left;width:100%}.payment-result-card .spinner{margin:4px auto}.payment-icon-success{color:#2f6b4f}.payment-icon-danger{color:var(--danger)}.payment-icon-warning{color:#b16000}.payment-icon-info{color:var(--primary)}.payment-status-row{margin:16px 0}.payment-inline-status{gap:7px;margin-top:7px}.teacher-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.payment-connection-card,.commission-scale{align-content:start}.payment-connection-card h2,.commission-scale h2{margin:0 0 6px}.payment-connection-card .loading{min-height:160px}.payment-connection-card>.alert,.commission-scale>.alert{margin-top:14px}.payment-connection-actions{align-items:center;margin-top:4px}.connection-ready{color:#2f6b4f;align-items:center;gap:6px;font-size:.88rem;font-weight:800;display:inline-flex}.disconnect-confirmation{gap:12px;display:grid}.commission-tier-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.commission-tier-grid>div{border:1px solid var(--line);text-align:center;background:#f7f1e8;border-radius:12px;padding:12px 10px}.commission-tier-grid span{min-height:34px;color:var(--muted);font-size:.74rem;line-height:1.35;display:block}.commission-tier-grid strong{color:var(--primary-dark);margin-top:6px;font-size:1.25rem;display:block}.teacher-earnings{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.teacher-earnings>div{background:#f7f1e8;border-radius:10px;justify-content:stretch;gap:4px;padding:9px 10px;display:grid}.teacher-earnings dt{font-size:.72rem;line-height:1.3}.teacher-earnings dd{text-align:left;font-size:.86rem}.status-active,.status-approved,.status-authorized,.status-released{color:#2f6b4f;background:#e8f0ea}.status-disconnected,.status-sandbox,.status-retired{color:#6b625a;background:#f1e9dd}.status-draft,.status-preference_created,.status-pending,.status-in_process,.status-awaiting_payment{color:#2f5243;background:#e8f0ea}.status-requires_reauthorization,.status-suspended,.status-error,.status-failed,.status-charged_back{color:#b42318;background:#fef3f2}@media (max-width:900px){.teacher-payment-grid{grid-template-columns:1fr}.commission-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.payment-container{width:min(100% - 22px,780px)}.payment-booking-meta{grid-template-columns:1fr}.payment-title-row,.payment-actions{display:grid}.payment-actions .btn{width:100%}.payment-result-card{margin:0;padding:26px 20px}.price-breakdown dl>div{align-items:flex-start}.commission-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-earnings{grid-template-columns:1fr}.teacher-earnings>div{justify-content:space-between;align-items:baseline;display:flex}.teacher-earnings dd{text-align:right}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.admin-payment-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.admin-environment-field{width:190px;margin:0}.admin-payment-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0;display:grid}.admin-payment-summary .stat-card{min-width:0}.admin-payment-summary .stat-card strong{overflow-wrap:anywhere;font-size:clamp(1.2rem,2vw,1.7rem)}.admin-stat-danger{background:snow;border-color:#fecdca}.admin-stat-danger strong{color:#b42318}.admin-stat-warning{background:#fffdf7;border-color:#fedf89}.admin-stat-warning strong{color:#93370d}.admin-payment-toolbar{grid-template-columns:minmax(220px,320px) 1fr auto;align-items:end;gap:16px;display:grid}.admin-payment-toolbar .field{margin:0}.admin-payment-toolbar p{margin:0 0 10px}.admin-payments-table{min-width:1180px}.admin-reconciliations-table{min-width:1420px}.money-cell{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750}.admin-payment-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:14px;margin-top:16px;font-size:.88rem;font-weight:700;display:flex}.admin-payment-detail{border-color:#bcd0c1;margin-top:24px;box-shadow:0 18px 50px #23211f14}.admin-payment-detail-heading{border-bottom:1px solid var(--line);align-items:flex-start;padding-bottom:16px}.admin-payment-detail-heading h2{letter-spacing:-.03em;margin:4px 0 0;font-size:1.7rem}.admin-payment-detail-status{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.admin-payment-metadata{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;display:grid}.admin-payment-metadata>div{border:1px solid var(--line);background:#f7f1e8;border-radius:12px;min-width:0;padding:13px}.admin-payment-metadata dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-size:.75rem;font-weight:750}.admin-payment-metadata dd{overflow-wrap:anywhere;margin:0;font-weight:750}.admin-payment-comparison{min-width:620px}.admin-payment-subheading{align-items:flex-end;margin-bottom:14px}.admin-payment-subheading h3,.admin-payment-detail section>h3{margin:0 0 5px}.admin-payment-subheading p{margin:0}.admin-payment-reconciliation-list{gap:9px;margin:12px 0 0;padding:0;list-style:none;display:grid}.admin-payment-reconciliation-list li{border:1px solid var(--line);background:#f7f1e8;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.admin-payment-reconciliation-list li>div{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.difference-matched,.difference-incomplete,.difference-found{font-variant-numeric:tabular-nums;border-radius:999px;width:max-content;margin-top:4px;padding:4px 7px;font-size:.73rem;font-weight:850;display:inline-flex}.difference-matched{color:#2f6b4f;background:#e8f0ea}.difference-incomplete{color:#93370d;background:#fffaeb}.difference-found{color:#b42318;background:#fef3f2}.status-held,.status-processing,.status-requested,.status-incomplete,.status-creating,.status-investigating,.status-unknown_outcome{color:#93370d;background:#fffaeb}.status-matched,.status-created,.status-recovered,.status-resolved{color:#2f6b4f;background:#e8f0ea}.status-difference,.status-production,.status-duplicate_approved,.status-expired,.status-open{color:#b42318;background:#fef3f2}.admin-payment-trace{background:#fbf7f1;border:1px solid #d8ccbb;border-radius:16px;gap:16px;padding:18px;display:grid}.admin-payment-trace-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.admin-payment-trace-heading h3{margin:0 0 5px}.admin-payment-trace-heading p{margin:0}.admin-payment-incident-count,.admin-payment-trace-ok{white-space:nowrap;border-radius:999px;align-items:center;min-height:30px;padding:5px 9px;font-size:.76rem;font-weight:850;display:inline-flex}.admin-payment-incident-count{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.admin-payment-trace-ok{color:#2f6b4f;background:#e8f0ea;border:1px solid #c9dbcd}.admin-payment-trace-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.admin-payment-trace-stat{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:4px;min-width:0;padding:12px;display:grid}.admin-payment-trace-stat>span,.admin-payment-trace-stat>small{color:var(--muted);font-size:.76rem;line-height:1.35}.admin-payment-trace-stat>strong{letter-spacing:-.03em;font-size:1.45rem}.admin-payment-trace-stat.trace-danger{background:snow;border-color:#fecdca}.admin-payment-trace-stat.trace-danger>strong{color:#b42318}.admin-payment-trace-stat.trace-success>strong{color:#2f6b4f}.admin-payment-incidents{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-payment-incident{background:#fffdf7;border:1px solid #fedf89;border-left:4px solid #f79009;border-radius:12px;min-width:0;padding:13px}.admin-payment-incident.incident-critical{background:snow;border-color:#fda29b #fda29b #fda29b #d92d20}.admin-payment-incident-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-payment-incident-heading>div{flex-wrap:wrap;gap:7px;display:flex}.admin-payment-incident-heading time{color:var(--muted);white-space:nowrap;font-size:.75rem}.admin-payment-incident h4{margin:11px 0 5px;font-size:.98rem}.admin-payment-incident p{color:#6b625a;overflow-wrap:anywhere;margin:0;font-size:.83rem;line-height:1.5}.admin-payment-incident code{color:#3d3833;text-overflow:ellipsis;background:#f1e9dd;border-radius:6px;width:max-content;max-width:100%;margin-top:9px;padding:4px 7px;font-size:.74rem;display:block;overflow:hidden}.incident-severity{border-radius:999px;align-items:center;padding:5px 8px;font-size:.73rem;font-weight:850;display:inline-flex}.severity-medium{color:#2f5243;background:#e8f0ea}.severity-high{color:#93370d;background:#fffaeb}.severity-critical{color:#b42318;background:#fef3f2}.admin-payment-trace-disclosures{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-payment-trace-disclosures details{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0;overflow:hidden}.admin-payment-trace-disclosures summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;font-weight:800;list-style:none;display:flex}.admin-payment-trace-disclosures summary::-webkit-details-marker{display:none}.admin-payment-trace-disclosures summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.admin-payment-trace-disclosures summary span{min-width:25px;height:25px;color:var(--primary-dark);background:#e8f0ea;border-radius:999px;place-items:center;font-size:.75rem;display:grid}.admin-payment-attempt-list,.admin-payment-preference-list{gap:8px;margin:0;padding:0 12px 12px;list-style:none;display:grid}.admin-payment-attempt-list li,.admin-payment-preference-list li{border:1px solid var(--line);background:#f7f1e8;border-radius:10px;padding:11px}.admin-payment-attempt-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-payment-attempt-heading>div{flex-wrap:wrap;gap:7px;display:flex}.admin-payment-attempt-heading>strong{font-variant-numeric:tabular-nums;font-size:.85rem}.canonical-pill{color:#2f5243;background:#e8f0ea;border-radius:999px;align-items:center;padding:5px 8px;font-size:.73rem;font-weight:850;display:inline-flex}.admin-payment-attempt-list dl,.admin-payment-preference-list dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:11px 0 0;display:grid}.admin-payment-attempt-list dl>div,.admin-payment-preference-list dl>div{min-width:0}.admin-payment-attempt-list dt,.admin-payment-preference-list dt{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.admin-payment-attempt-list dd,.admin-payment-preference-list dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:.78rem;font-weight:700}.admin-payment-trace-empty,.admin-payment-trace-note{margin:0;padding:0 14px 14px;font-size:.82rem}.admin-refund-dialog{width:min(680px,100% - 24px);max-height:min(92vh,860px);color:var(--ink);background:var(--surface);border:0;border-radius:22px;padding:0;overflow:auto;box-shadow:0 28px 90px #23211f4d}.admin-refund-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#23211fad}.admin-refund-dialog-header{z-index:2;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px 18px;display:flex;position:sticky;top:0}.admin-refund-dialog-header h2{letter-spacing:-.03em;margin:4px 0 5px;font-size:1.65rem}.admin-refund-dialog-header p{color:var(--muted);margin:0}.admin-refund-dialog form{gap:18px;padding:24px;display:grid}.admin-refund-dialog form>.field{margin:0}.admin-refund-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;display:grid}.admin-refund-options legend{color:#3d3833;grid-column:1/-1;margin-bottom:3px;font-size:.86rem;font-weight:800}.admin-refund-options label{border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:13px;display:flex}.admin-refund-options label:has(input:checked){border-color:var(--primary);background:#fbf7f1}.admin-refund-options label:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:2px}.admin-refund-options input{flex:none;width:18px;min-height:18px;margin-top:2px}.admin-refund-options span{gap:4px;display:grid}.admin-refund-options small{color:var(--muted);line-height:1.35}.admin-refund-actions{justify-content:flex-end;align-items:center;gap:10px;padding-top:4px;display:flex}.admin-payment-rules-panel{gap:16px;display:grid}.admin-payment-rules-intro{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.admin-payment-rules-intro h2{letter-spacing:-.03em;margin:0 0 6px;font-size:1.65rem}.admin-payment-rules-intro p{margin:0}.admin-rules-card-heading{align-items:flex-start}.admin-rules-card-heading h3{margin:4px 0 6px;font-size:1.22rem}.admin-rules-card-heading p{margin:0;line-height:1.55}.admin-readonly-pill{color:#2f5243;text-transform:uppercase;letter-spacing:.04em;background:#e8f0ea;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:850;display:inline-flex}.admin-commission-range{color:var(--primary-dark);white-space:nowrap;background:#e8f0ea;border-radius:12px;flex:none;padding:9px 12px;font-size:1.25rem}.admin-commission-tier-grid{margin-bottom:12px}.admin-fee-rules-table{min-width:1480px}.admin-fee-rule-source{-webkit-line-clamp:3;color:#6b625a;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:260px;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.admin-fee-rule-form{gap:18px;margin-top:18px;display:grid}.admin-fee-rule-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.admin-fee-rule-form-grid>.field{margin:0}.admin-fee-rule-name,.admin-fee-rule-source-field{grid-column:span 2}.admin-fee-effective-rate{background:#fbf7f1;border:1px solid #c9dbcd;border-radius:12px;align-content:center;gap:5px;min-height:78px;padding:13px;display:grid}.admin-fee-effective-rate span{color:var(--muted);font-size:.78rem;font-weight:750}.admin-fee-effective-rate strong{color:var(--primary-dark);font-variant-numeric:tabular-nums;font-size:1.35rem}.admin-fee-provisional{min-height:78px;margin:0}.admin-fee-provisional span{gap:3px;display:grid}.admin-fee-provisional small{color:var(--muted)}.admin-fee-rule-actions{justify-content:space-between;align-items:center;gap:18px;padding-top:2px;display:flex}@media (max-width:1000px){.admin-payment-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-payment-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-payment-trace-disclosures,.admin-payment-incidents{grid-template-columns:1fr}.admin-fee-rule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-fee-rule-name,.admin-fee-rule-source-field{grid-column:1/-1}}@media (max-width:680px){.admin-payment-heading{align-items:stretch;display:grid}.admin-environment-field{width:100%}.admin-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-payment-toolbar{grid-template-columns:1fr}.admin-payment-toolbar p{margin:0}.admin-payment-toolbar .btn{width:100%}.admin-payment-pagination{justify-content:space-between}.admin-payment-detail-heading,.admin-payment-subheading,.admin-payment-trace-heading{display:grid}.admin-payment-metadata,.admin-payment-trace-summary,.admin-payment-attempt-list dl,.admin-payment-preference-list dl{grid-template-columns:1fr}.admin-payment-incident-heading{display:grid}.admin-refund-dialog{border-radius:20px 20px 0 0;width:100%;max-width:none;max-height:95vh;margin:auto 0 0}.admin-refund-dialog-header,.admin-refund-dialog form{padding:18px}.admin-refund-dialog-header{display:grid}.admin-refund-options{grid-template-columns:1fr}.admin-refund-actions{grid-template-columns:1fr;display:grid}.admin-refund-actions .btn{width:100%}.admin-payment-rules-intro,.admin-rules-card-heading,.admin-fee-rule-actions{display:grid}.admin-payment-rules-intro .btn,.admin-fee-rule-actions .btn{width:100%}.admin-commission-range{width:max-content}.admin-fee-rule-form-grid{grid-template-columns:1fr}.admin-fee-rule-name,.admin-fee-rule-source-field{grid-column:auto}}.calendar-page-head{align-items:flex-start}.calendar-next-card{align-content:start}.calendar-next-card-detail{letter-spacing:-.01em;font-size:1.02rem;line-height:1.5}.calendar-next-card-time{color:var(--muted);margin-top:2px;font-size:.82rem;font-weight:700;display:inline-block}.calendar-toolbar{flex-wrap:wrap;gap:14px;margin:18px 0}.calendar-toolbar .tabs{border-bottom:0;margin:0}.calendar-toolbar-actions{flex-wrap:wrap}.calendar-range-nav{justify-content:center;gap:16px;margin:0 0 16px}.calendar-range-nav strong{text-align:center;letter-spacing:-.01em;min-width:200px;font-size:1.05rem}.calendar-timezone-note{margin:-6px 0 16px}.calendar-scroll{padding-bottom:2px;overflow-x:auto}.calendar-month-grid{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:760px;overflow:hidden}.calendar-month-weekday-row{border-bottom:1px solid var(--line);background:#f7f1e8;grid-template-columns:repeat(7,1fr);display:grid}.calendar-month-weekday{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;padding:9px 10px;font-size:.76rem;font-weight:800}.calendar-month-days{grid-template-columns:repeat(7,1fr);display:grid}.calendar-month-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);align-content:start;gap:6px;min-height:120px;padding:8px;display:grid}.calendar-month-cell.is-outside{color:var(--muted);background:#f7f1e8}.calendar-month-cell.is-outside .calendar-month-day-number{color:var(--muted)}.calendar-month-cell.is-today{background:#e8f0ea}.calendar-month-day-number{font-size:.86rem;font-weight:800}.calendar-month-events{gap:4px;display:grid}.calendar-event-chip{color:#2f5243;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:#e8f0ea;border:1px solid #c9dbcd;border-radius:8px;width:100%;padding:5px 7px;font-size:.72rem;font-weight:700;line-height:1.3;display:block;overflow:hidden}.calendar-event-chip:hover{border-color:var(--primary)}.calendar-event-chip.status-cancelled_by_student,.calendar-event-chip.status-cancelled_by_teacher,.calendar-event-chip.status-rejected,.calendar-event-chip.status-refunded{color:#6b625a;background:#f1e9dd;border-color:#e4dacb}.calendar-event-chip.status-completed{color:#2f6b4f;background:#e8f0ea;border-color:#c9dbcd}.calendar-event-chip.status-disputed,.calendar-event-chip.status-no_show_student,.calendar-event-chip.status-no_show_teacher,.calendar-event-chip.status-no_show_both{color:#9a5900;background:#fff7e8;border-color:#fedf89}.calendar-month-more{color:var(--primary-dark);text-align:left;background:0 0;border:0;border-radius:8px;padding:4px 7px;font-size:.72rem;font-weight:800}.calendar-month-more:hover{background:#e8f0ea}.calendar-week-grid{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:56px repeat(7,minmax(104px,1fr));min-width:800px;display:grid;overflow:hidden}.calendar-week-corner{border-bottom:1px solid var(--line);background:#f7f1e8}.calendar-week-day-header{border-left:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;background:#f7f1e8;padding:10px 6px;font-size:.82rem;font-weight:800}.calendar-week-day-header small{color:var(--muted);font-weight:700}.calendar-week-hour-col{position:relative}.calendar-week-hour-label{border-top:1px solid var(--line);color:var(--muted);text-align:right;padding:4px 8px 0 0;font-size:.72rem}.calendar-week-day-col{border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent 80px);position:relative}.calendar-week-block{color:#2f5243;text-align:left;background:#e8f0ea;border:1px solid #c9dbcd;border-radius:9px;align-content:start;gap:2px;padding:5px 7px;display:grid;position:absolute;left:4px;right:4px;overflow:hidden}.calendar-week-block:hover{border-color:var(--primary)}.calendar-week-block.status-completed{color:#2f6b4f;background:#e8f0ea;border-color:#c9dbcd}.calendar-week-block.status-cancelled_by_student,.calendar-week-block.status-cancelled_by_teacher,.calendar-week-block.status-rejected,.calendar-week-block.status-refunded{color:#6b625a;background:#f1e9dd;border-color:#e4dacb}.calendar-week-block.is-next{box-shadow:0 0 0 2px var(--primary)}.calendar-week-block-time{font-size:.78rem;font-weight:850}.calendar-week-block-student{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.calendar-next-flag{background:var(--brand-terracotta);width:max-content;color:var(--brand-graphite);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:1px 6px;font-size:.62rem;font-weight:850;display:inline-flex}.calendar-list{gap:22px;display:grid}.calendar-list-heading{color:var(--muted);letter-spacing:.08em;margin:0;font-size:.78rem;font-weight:850}.calendar-list-rows{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.calendar-list-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:6px;display:flex}.calendar-list-row-main{text-align:left;background:0 0;border:0;border-radius:10px;flex-wrap:wrap;flex:320px;align-items:center;gap:12px;padding:10px;display:flex}.calendar-list-row-main:hover{background:#f7f1e8}.calendar-list-time{font-variant-numeric:tabular-nums;min-width:96px;font-weight:800}.calendar-list-subject{font-weight:750}.calendar-list-actions{flex-wrap:wrap;gap:8px;padding-right:6px;display:flex}.calendar-detail-body{padding:24px}.calendar-detail-status-row{gap:8px}.calendar-detail-grid{grid-template-columns:130px 1fr;gap:10px 16px;margin:18px 0;display:grid}.calendar-detail-grid dt{color:var(--muted);font-weight:750}.calendar-detail-grid dd{margin:0}.calendar-detail-actions{justify-content:flex-start}.calendar-detail-materials{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}@media (max-width:900px){.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar-actions{justify-content:space-between}}@media (max-width:680px){.calendar-page-head{flex-direction:column}.calendar-list-row{flex-direction:column;align-items:stretch}.calendar-list-actions{justify-content:flex-start}.calendar-detail-body{padding:18px}.calendar-detail-grid{grid-template-columns:1fr;gap:4px}.calendar-detail-actions .btn{flex:auto}}.material-section .material-list{margin-top:14px}.material-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.material-item{border:1px solid var(--line);background:#f7f1e8;border-radius:14px;padding:14px}.material-item-head{align-items:center;gap:8px;display:flex}.material-description{margin:6px 0 0}.material-deleted-flag{color:#6b625a;text-transform:uppercase;background:#f1e9dd;border-radius:999px;padding:2px 7px;font-size:.68rem;font-weight:850}.material-file-list{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.material-file-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.material-file-info{align-items:center;gap:9px;min-width:0;display:flex}.material-file-info div{min-width:0;display:grid}.material-file-info span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-file-info small{color:var(--muted)}.material-file-list-item{justify-content:space-between;align-items:center;gap:10px;display:flex}.material-file-remove{border-radius:9px;width:32px;height:32px}.material-dialog-status{min-height:20px;color:var(--muted);margin-top:8px;font-size:.82rem}.material-upload-status-list li{justify-content:space-between;align-items:center;gap:10px;display:flex}.material-file-status{font-size:.78rem;font-weight:800}.material-file-status-uploading{color:var(--primary-dark)}.material-file-status-done{color:#2f6b4f}.material-file-status-error{color:var(--danger)}.material-file-status-idle{color:var(--muted)}.material-message-card{align-items:flex-start;gap:10px;padding:4px 2px;display:flex}.material-message-card>div{gap:3px;display:grid}.material-message-link{color:var(--primary-dark);font-size:.86rem;font-weight:800}.home{--serif:var(--font-serif),Georgia,serif;z-index:1;position:relative;overflow-x:clip}.home>section{scroll-margin-top:76px}.home-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--brand-forest);align-items:center;gap:8px;font-size:.75rem;font-weight:700;display:inline-flex}.home-soon{color:#8a3f27;letter-spacing:.06em;background:#f5e4dc;border-radius:999px;padding:2px 8px;font-size:.62rem}.home-h2{max-width:680px;font-family:var(--serif);letter-spacing:-.02em;margin:14px 0 0;font-size:clamp(2rem,3.6vw,3rem);font-weight:400;line-height:1.08}.home-h2 em,.home-title em{color:var(--brand-forest);font-style:italic}.home-h2-sm{font-size:clamp(1.9rem,3.2vw,2.6rem)}.home-sub{max-width:580px;color:var(--text-secondary);margin:16px 0 0;font-size:1.05rem;line-height:1.65}.home-section{padding:90px 0}.home-section-tight{padding-top:0}.home-btn{border-radius:999px;min-height:48px;padding:0 22px}.home-btn-line{border:1px solid var(--brand-graphite);color:var(--brand-graphite);background:0 0}.home-btn-line:hover{background:#23211f0d}.home-btn-terra{background:var(--brand-terracotta);color:var(--brand-graphite)}.home-btn-terra:hover{background:#c4664a}.home-btn-line-light{color:#fff;background:0 0;border:1px solid #cfc6ba}.home-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.home-top{background-color:#0000;background-image:linear-gradient(#3f6b5712 1px,#0000 1px),linear-gradient(90deg,#3f6b5712 1px,#0000 1px);background-size:26px 26px;position:relative}.home-top:after{content:"";background:linear-gradient(transparent,var(--background));pointer-events:none;height:140px;position:absolute;bottom:0;left:0;right:0}.home-top .container{z-index:1;position:relative}.home-hero-grid{grid-template-columns:.95fr 1.05fr;align-items:center;gap:48px;padding:64px 0 96px;display:grid}.home-title{font-family:var(--serif);letter-spacing:-.02em;margin:18px 0 0;font-size:clamp(2.6rem,5vw,4.3rem);font-weight:400;line-height:1.02}.home-underline{color:var(--brand-forest);font-style:italic;display:inline-block;position:relative}.home-underline svg{width:104%;height:.4em;position:absolute;bottom:-.18em;left:-2%;overflow:visible}.home-underline path{fill:none;stroke:var(--brand-terracotta);stroke-width:5px;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420px;animation:1.1s .5s forwards home-draw}@keyframes home-draw{to{stroke-dashoffset:0}}.home-lead{max-width:470px;color:var(--text-secondary);margin:24px 0 0;font-size:1.08rem;line-height:1.65}.home-toggle{border:1px solid var(--border);background:var(--surface);color:var(--brand-graphite);text-align:left;border-radius:999px;align-items:center;gap:14px;margin-top:26px;padding:10px 18px 10px 10px;font-weight:650;display:inline-flex}.home-toggle small{color:var(--text-secondary);font-size:.78rem;font-weight:400;display:block}.home-toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.home-toggle-switch{background:var(--brand-sand);border-radius:999px;flex:none;width:62px;height:32px;transition:background .3s;position:relative}.home-toggle-switch:after{content:"OFF";width:26px;height:26px;color:var(--text-secondary);background:#fff;border-radius:50%;place-items:center;font-size:.5rem;font-weight:800;transition:left .3s;display:grid;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #23211f33}.is-on .home-toggle-switch{background:var(--brand-forest)}.is-on .home-toggle-switch:after{content:"ON";color:var(--brand-forest);left:33px}.home-app{background:var(--surface);border:1px solid var(--border);filter:grayscale();opacity:.55;border-radius:20px;margin:0;transition:filter .5s,opacity .5s;overflow:hidden;box-shadow:0 40px 80px #23211f21}.is-on .home-app{filter:none;opacity:1}.home-app-head{border-bottom:1px solid var(--border);color:var(--text-secondary);background:#fbf7f1;justify-content:space-between;align-items:center;padding:14px 18px;font-size:.78rem;display:flex}.home-app-brand{font-family:var(--serif);color:var(--brand-graphite);font-size:1.05rem}.home-app-brand b{background:var(--brand-forest);color:#fff;font-family:var(--font-inter),sans-serif;vertical-align:2px;border-radius:5px;margin-left:3px;padding:1px 5px;font-size:.6em}.home-app-body{grid-template-columns:1fr 180px;display:grid}.home-app-main{padding:20px}.home-app-main>small{color:var(--text-secondary)}.home-app-main h3{font-family:var(--serif);margin:2px 0 14px;font-size:1.3rem;font-weight:500}.home-task{border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;margin-bottom:9px;padding:12px;display:flex}.home-task>div{flex:1;min-width:0}.home-task b{font-size:.92rem;display:block}.home-task span{color:var(--text-secondary);font-size:.8rem}.home-task .home-task-tag{border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-size:.68rem;font-weight:800;display:grid}.home-task-cap .home-task-tag{color:#2f5243;background:#e8f0ea}.home-task-ex .home-task-tag{color:#8a3f27;background:#f5e4dc}.home-task-rev .home-task-tag{background:var(--brand-sand);color:var(--brand-graphite)}.home-task .home-task-check{border:2px solid var(--border);border-radius:50%;flex:none;width:22px;height:22px;transition:background .3s,border-color .3s}.is-on .home-task.is-done{opacity:.6}.is-on .home-task.is-done b{text-decoration:line-through}.is-on .home-task.is-done .home-task-check{border-color:var(--brand-forest);background:var(--brand-forest)}.home-app-side{border-left:1px solid var(--border);align-content:start;gap:14px;padding:20px 14px;display:grid}@property --home-p{syntax:"<number>";inherits:false;initial-value:0}.home-ring{--home-p:0;background:conic-gradient(var(--brand-terracotta) calc(var(--home-p)*1%),var(--brand-sand) 0);border-radius:50%;place-items:center;width:108px;height:108px;margin:0 auto;transition:--home-p 1s;display:grid}.is-on .home-ring{--home-p:50}.home-ring div{background:var(--surface);text-align:center;width:86px;height:86px;color:var(--text-secondary);border-radius:50%;align-content:center;place-items:center;font-size:.74rem;display:grid}.home-ring b{color:var(--brand-graphite);font-size:1.45rem;display:block}.home-ask{border:1px solid var(--border);background:#fbf7f1;border-radius:12px;padding:10px;font-size:.75rem;line-height:1.4}.home-ask b{color:#2f5243;margin-bottom:6px;font-size:.7rem;display:block}.home-ask-me{background:var(--brand-forest);color:#fff;border-radius:10px 10px 2px;width:max-content;max-width:90%;margin-left:auto;padding:6px 9px}.home-ask-bot{background:var(--surface);border:1px solid var(--border);border-radius:10px 10px 10px 2px;margin-top:6px;padding:6px 9px}.home-help{color:#2f5243;background:#e8f0ea;border-radius:12px;padding:12px;font-size:.78rem;line-height:1.45}.home-help a{text-underline-offset:3px;margin-top:6px;font-weight:700;text-decoration:underline;display:block}.home-pillars{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.home-pillars ul{grid-template-columns:repeat(5,1fr);margin-block:0;padding:0;list-style:none;display:grid}.home-pillars li{border-left:1px solid var(--border);padding:26px 20px}.home-pillars li:first-child{border-left:0;padding-left:0}.home-pillars strong{font-family:var(--serif);margin-bottom:6px;font-size:1.2rem;font-weight:500;display:block}.home-pillars span{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.home-arc{margin-top:44px;position:relative}.home-arc svg{width:100%;height:120px;position:absolute;inset:0 0 auto}.home-arc path{fill:none;stroke:var(--brand-forest);stroke-width:2px;stroke-dasharray:3 9;stroke-linecap:round}.home-arc ol{grid-template-columns:repeat(6,1fr);gap:18px;margin:0;padding:0;list-style:none;display:grid;position:relative}.home-arc li{text-align:center}.home-arc li:first-child,.home-arc li:nth-child(6){margin-top:78px}.home-arc li:nth-child(2),.home-arc li:nth-child(5){margin-top:30px}.home-arc li:nth-child(3),.home-arc li:nth-child(4){margin-top:4px}.home-arc-point{background:var(--background);border:2px solid var(--brand-forest);width:46px;height:46px;font-family:var(--serif);color:var(--brand-forest);border-radius:50%;place-items:center;margin:0 auto 16px;font-size:1.05rem;font-style:italic;display:grid}.home-arc li.is-ai .home-arc-point{background:var(--brand-forest);color:#fff}.home-arc li.is-optional .home-arc-point{border-color:var(--brand-terracotta);color:#8a3f27;background:#f5e4dc}.home-arc h3{margin:0 0 6px;font-size:1rem}.home-arc small{color:#8a3f27;margin:-2px 0 6px;font-size:.7rem;font-weight:700;display:block}.home-arc p{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.5}.home-inside{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}.home-shot{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin:0;padding:22px;box-shadow:0 30px 60px #23211f14}.home-shot-bar{gap:6px;margin-bottom:18px;display:flex}.home-shot-bar i{background:var(--border);border-radius:50%;width:9px;height:9px}.home-shot small,.home-capsule small{color:var(--text-secondary)}.home-shot h4,.home-capsule h4{font-family:var(--serif);margin:4px 0 0;font-size:1.3rem;font-weight:500}.home-question{border:1px solid var(--border);border-radius:12px;margin-top:16px;padding:16px}.home-question p{margin:0 0 12px}.home-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.home-options span{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:.9rem}.home-options .is-correct{border-color:var(--brand-forest);color:#2f5243;background:#e8f0ea;font-weight:650}.home-explain{border-left:3px solid var(--brand-terracotta);color:var(--text-secondary);margin-top:12px;padding-left:10px;font-size:.84rem;line-height:1.5}.home-list{gap:16px;margin:28px 0 0;padding:0;list-style:none;display:grid}.home-list li{color:var(--text-secondary);padding-left:26px;line-height:1.55;position:relative}.home-list li:before{content:"";background:var(--brand-terracotta);border-radius:50%;width:10px;height:10px;position:absolute;top:8px;left:0}.home-list b{color:var(--brand-graphite)}.home-tutor{background:var(--surface);border:1px solid var(--border);border-radius:20px;grid-template-columns:1.2fr 1fr;margin:40px 0 0;display:grid;overflow:hidden;box-shadow:0 30px 60px #23211f14}.home-capsule{border-right:1px solid var(--border);padding:24px}.home-capsule-idea{background:var(--brand-graphite);color:#e6ded3;border-radius:14px;margin-top:18px;padding:22px}.home-capsule-idea span,.home-capsule-example span{letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700}.home-capsule-idea span{color:var(--brand-sage)}.home-formula{font-family:var(--serif);margin:10px 0 0;font-size:clamp(1.3rem,2.4vw,1.9rem)}.home-formula em{color:var(--brand-sage);font-style:italic}.home-capsule-example{border:1px solid var(--border);border-radius:14px;margin-top:12px;padding:16px}.home-capsule-example span{color:var(--brand-forest)}.home-capsule-example p{margin:8px 0 0;font-size:.95rem}.home-chat{background:#fbf7f1;flex-direction:column;display:flex}.home-chat-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.home-chat-head>span{background:var(--brand-forest);color:#fff;width:34px;height:34px;font-family:var(--serif);border-radius:10px;place-items:center;font-style:italic;display:grid}.home-chat-head b{font-size:.92rem;display:block}.home-chat-head small{color:var(--text-secondary);font-size:.75rem}.home-chat-msgs{align-content:start;gap:10px;padding:18px;font-size:.88rem;line-height:1.5;display:grid}.home-chat-msgs p{margin:0}.home-chat-msgs .is-me{background:var(--brand-forest);color:#fff;border-radius:14px 14px 3px;justify-self:end;max-width:85%;padding:9px 12px}.home-chat-msgs .is-bot{background:var(--surface);border:1px solid var(--border);border-radius:14px 14px 14px 3px;max-width:92%;padding:10px 13px}.home-chat-msgs .is-bot small{color:#2f5243;margin-top:6px;font-size:.75rem;font-weight:650;display:block}.home-tutor-notes{grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0 0;padding:0;list-style:none;display:grid}.home-tutor-notes li{border-top:1px solid var(--brand-graphite);padding-top:14px}.home-tutor-notes h3{margin:0 0 6px;font-size:1rem}.home-tutor-notes p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.55}.home-audience{background:#e9dfd2db}.home-audience-grid{grid-template-columns:1.25fr 1fr;gap:18px;margin-top:44px;display:grid}.home-audience-col{gap:18px;display:grid}.home-schools{background:var(--brand-forest);color:#fff;border-radius:22px;padding:40px;scroll-margin-top:96px}.home-schools .home-eyebrow{color:var(--brand-sage)}.home-schools h3{font-family:var(--serif);letter-spacing:-.02em;margin:12px 0;font-size:1.9rem;font-weight:500}.home-schools p,.home-schools li{color:#dde9e0;line-height:1.65}.home-schools ul{margin:18px 0 0;padding-left:18px;line-height:1.9}.home-card{background:var(--surface);border-radius:16px;flex-direction:column;gap:10px;padding:26px;scroll-margin-top:96px;display:flex}.home-card h3{font-family:var(--serif);margin:0;font-size:1.45rem;font-weight:500}.home-card p{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.6}.home-card a{color:var(--brand-forest);margin-top:auto;padding-top:10px;font-weight:700}.home-card a:hover{text-underline-offset:3px;text-decoration:underline}.home-tag{color:#2f5243;letter-spacing:.06em;text-transform:uppercase;background:#e8f0ea;border-radius:999px;align-self:flex-start;padding:4px 9px;font-size:.72rem;font-weight:700}.home-final{color:#fff;background:#23211ff2;padding:96px 0;position:relative;overflow:hidden}.home-final .container{position:relative}.home-final .home-h2{font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.04}.home-final .home-h2 em{color:var(--brand-sage)}.home-final p{color:#cfc6ba;max-width:520px;margin:16px 0 0;line-height:1.6}@media (max-width:900px){.home-hero-grid,.home-inside,.home-tutor,.home-audience-grid,.home-tutor-notes{grid-template-columns:1fr}.home-hero-grid{padding:40px 0 70px}.home-app-body{grid-template-columns:1fr}.home-app-side{display:none}.home-pillars ul{grid-template-columns:1fr 1fr}.home-pillars li{border-left:0;padding-left:0}.home-arc svg{display:none}.home-arc ol{grid-template-columns:1fr 1fr}.home-arc li{margin-top:0!important}.home-capsule{border-right:0;border-bottom:1px solid var(--border)}.home-schools{padding:28px}}@media (prefers-reduced-motion:reduce){.home-underline path{stroke-dashoffset:0;animation:none}.home-app,.home-ring,.home-task-check,.home-toggle-switch,.home-toggle-switch:after{transition:none}}html.modo-gate-open{background:#1c1a18;overflow:hidden}.modo-gate{z-index:200;color:#e6ded3;background:#1c1a18;place-items:center;width:100vw;display:none;position:fixed;inset:0 auto 0 0;overflow:hidden}html.modo-gate-open .modo-gate,.modo-gate.is-turning{display:grid}.modo-gate.is-turning{animation:.4s 1.05s forwards modo-gate-out}.modo-gate-grid{background-image:linear-gradient(#a8c3b012 1px,#0000 1px),linear-gradient(90deg,#a8c3b012 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 68%);mask-image:radial-gradient(circle,#000 0,#0000 68%)}.modo-gate-content{text-align:center;justify-items:center;gap:30px;padding:24px;animation:.9s cubic-bezier(.2,.7,.2,1) both modo-gate-in;display:grid;position:relative}.modo-gate-brand{font-family:var(--font-serif),Georgia,serif;color:#cfc6ba;font-size:1.15rem}.modo-gate-brand b{color:#e6ded3;font-family:var(--font-inter),sans-serif;vertical-align:2px;background:#3f3a34;border-radius:6px;margin-left:4px;padding:1px 6px;font-size:.62em;transition:background .35s}.is-turning .modo-gate-brand b{background:var(--brand-forest);color:#fff}.modo-gate-title{max-width:14ch;font-family:var(--font-serif),Georgia,serif;letter-spacing:-.025em;color:#f7f1e8;margin:0;font-size:clamp(2.4rem,7vw,5rem);font-weight:400;line-height:1.02}.modo-gate-title em{color:#6b625a;font-style:italic;transition:color .45s,text-shadow .45s}.is-turning .modo-gate-title em{color:var(--brand-sage);text-shadow:0 0 32px #a8c3b099}.modo-gate-switch{cursor:pointer;background:#2b2825;border:1px solid #3f3a34;border-radius:999px;width:132px;height:66px;padding:0;transition:background .35s,border-color .35s,box-shadow .35s;animation:2.6s ease-in-out 1.4s infinite modo-gate-pulse;position:relative;box-shadow:inset 0 2px 8px #00000073}.modo-gate-switch:focus-visible{outline:3px solid var(--brand-sage);outline-offset:7px}.modo-gate-knob{background:#e6ded3;border-radius:50%;place-items:center;width:54px;height:54px;transition:left .38s cubic-bezier(.6,0,.2,1),transform .25s,background .35s;display:grid;position:absolute;top:5px;left:5px;box-shadow:0 4px 14px #0006}.modo-gate-knob:after{content:"OFF";letter-spacing:.08em;color:#6b625a;font-size:.72rem;font-weight:800}.modo-gate-switch:hover .modo-gate-knob{transform:translate(8px)}.is-turning .modo-gate-switch{background:var(--brand-forest);border-color:var(--brand-forest);animation:none;box-shadow:0 0 0 10px #3f6b5733,0 0 70px #a8c3b073}.is-turning .modo-gate-knob{background:#fff;left:73px;transform:none}.is-turning .modo-gate-knob:after{content:"ON";color:var(--brand-forest)}.modo-gate-hint{letter-spacing:.02em;color:#978a78;margin:0;font-size:.85rem;transition:opacity .3s}.is-turning .modo-gate-hint{opacity:0}.modo-gate-light{background-color:var(--background);clip-path:circle(0 at var(--gate-x) var(--gate-y));pointer-events:none;background-image:linear-gradient(#3f6b5712 1px,#0000 1px),linear-gradient(90deg,#3f6b5712 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0}.is-turning .modo-gate-light{animation:.8s cubic-bezier(.7,0,.25,1) .3s forwards modo-gate-light}@keyframes modo-gate-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes modo-gate-pulse{0%,to{box-shadow:inset 0 2px 8px #00000073,0 0 #a8c3b000}50%{box-shadow:inset 0 2px 8px #00000073,0 0 0 10px #a8c3b01f}}@keyframes modo-gate-light{to{clip-path:circle(150% at var(--gate-x) var(--gate-y))}}@keyframes modo-gate-out{to{opacity:0;visibility:hidden}}.nav{transition:transform .6s cubic-bezier(.2,.7,.2,1)}html.modo-gate-open .nav{transform:translateY(-100%)}.home-hero-copy>*{transition:opacity .7s,transform .8s cubic-bezier(.2,.7,.2,1)}.home-hero-copy>:nth-child(2){transition-delay:80ms}.home-hero-copy>:nth-child(3){transition-delay:.16s}.home-hero-copy>:nth-child(4){transition-delay:.24s}.home-hero-copy>:nth-child(5){transition-delay:.32s}.home-app{transition:filter .5s,opacity .6s,transform .9s cubic-bezier(.2,.7,.2,1)}html.modo-gate-open .home-hero-copy>*{opacity:0;transform:translateY(20px)}html.modo-gate-open .home-app{opacity:0;transform:translateY(28px)scale(.98)}html.modo-gate-open .home-underline path{animation:none}@media (prefers-reduced-motion:reduce){.modo-gate-content,.modo-gate-switch{animation:none}.modo-gate.is-turning{animation:.2s forwards modo-gate-out}.is-turning .modo-gate-light{animation:none}.nav,.home-hero-copy>*,.home-app{transition:none}}.home-title:focus{outline:none}.side-link[aria-current=page]{color:#2f5243;background:#e8f0ea;border-color:#c9dbcd}@media (max-width:680px){.mobile-toggle{margin-left:auto}}.compass-emblem{--compass-solid:120px;--compass-fade:240px;z-index:0;pointer-events:none;width:78vh;height:78vh;-webkit-mask-image:linear-gradient(to left,#000 var(--compass-solid),#00000024 var(--compass-fade));-webkit-mask-image:linear-gradient(to left,#000 var(--compass-solid),#00000024 var(--compass-fade));mask-image:linear-gradient(to left,#000 var(--compass-solid),#00000024 var(--compass-fade));position:fixed;top:11vh;right:0}.compass-emblem svg{width:100%;height:100%;display:block;overflow:visible}@media (max-width:900px){.compass-emblem{opacity:.4;width:56vh;height:56vh;top:auto;bottom:2vh}}.section-links{border:1px solid var(--border);background:#fffcf7b3;border-radius:999px;gap:2px;margin-right:8px;padding:4px;display:flex}.nav-inner-home{position:relative}.nav-inner-home .section-links{margin-right:0;position:absolute;left:50%;transform:translate(-50%)}.section-link{color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:8px 13px;font-size:.88rem;font-weight:600;transition:color .2s,background .2s;position:relative}.section-link:hover{color:var(--brand-graphite)}.section-link[aria-current=location]{color:#2f5243;background:#e8f0ea}.section-link[aria-current=location]:after{content:"";background:var(--brand-terracotta);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:3px;left:50%}.mobile-section-link[aria-current=location]{color:#2f5243;font-weight:700}@media (max-width:1100px){.section-link{padding:8px 9px;font-size:.84rem}}@media (max-width:960px){.nav-inner-home .nav-links{display:none}.nav-inner-home .header-notification{margin-left:auto}.nav-inner-home .mobile-toggle{margin-left:auto;display:inline-flex}}
