@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.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:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_c3260f88-module__ES_wYa__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_c3260f88-module__ES_wYa__variable{--font-body:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.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.0fu677rwbv-.g.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.0zzh68k1~whtc.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_266efccb-module__DbqD_G__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_266efccb-module__DbqD_G__variable{--font-display:"Fraunces", "Fraunces Fallback"}
:root{--background:#f9f4ec;--surface:#fefbf8;--surface-elevated:#fefbf8;--surface-muted:#f5efe7;--surface-sunken:#f6f1e9;--line:#dbd7d0;--border-subtle:#e7e4df;--text:#201914;--text-strong:#130b06;--muted:#67625d;--primary:#007245;--primary-strong:#005e34;--primary-light:#d5f4e2;--primary-hover:#00633b;--blue:#0f74c5;--amber:#e29000;--coral:#d74745;--shadow-sm:0 1px 3px #2019140a;--shadow-md:0 8px 24px #2019140f;--shadow-lg:0 18px 48px #20191414;--shadow-focus:0 0 0 3px #00724526;--font-body:"Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--dur-micro:.17s;--dur-short:.31s;--dur-long:.59s}@supports (color:lab(0% 0 0)){:root{--background:lab(96.554% .703454 4.53199);--surface:lab(98.8548% .282347 1.88134);--surface-elevated:lab(98.8548% .282347 1.88134);--surface-muted:lab(94.8166% .766784 4.91284);--surface-sunken:lab(95.394% .703841 4.5323);--line:lab(86.1085% .583261 3.77473);--border-subtle:lab(90.7431% .460297 3.0157);--text:lab(9.48198% 2.73063 4.99646);--text-strong:lab(3.65607% 2.39991 2.94624);--muted:lab(42.0038% 1.17734 3.62334);--primary:lab(41.5033% -47.7771 18.6417);--primary-strong:lab(34.6387% -51.2984 22.49);--primary-light:lab(93.5809% -12.8721 5.11038);--primary-hover:lab(36.8424% -47.2996 20.7577);--blue:lab(47.0007% -3.24479 -50.2754);--amber:lab(67.147% 26.4915 75.1288);--coral:lab(51.7988% 56.7776 34.0415);--shadow-sm:0 1px 3px lab(9.48198% 2.73063 4.99646/.04);--shadow-md:0 8px 24px lab(9.48198% 2.73063 4.99646/.06);--shadow-lg:0 18px 48px lab(9.48198% 2.73063 4.99646/.08);--shadow-focus:0 0 0 3px lab(41.5033% -47.7771 18.6417/.15)}}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--text);font-family:var(--font-body);font-feature-settings:"ss01" 1, "cv05" 1;text-rendering:optimizelegibility;margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e6e4e1;color:lab(90.7347% .282913 1.88171);background:radial-gradient(circle at 20% 0,#2741334d,#0000 34%),linear-gradient(#261d15,#1a120c 50%,#100906);background:radial-gradient(circle at 20% 0,lab(25.1348% -13.0549 5.16098/.3),#0000 34%),linear-gradient(lab(11.8075% 3.21209 7.26517),lab(6.14614% 3.09108 4.3797) 50%,lab(3.00959% 1.90753 2.06502));flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0;box-shadow:inset -1px 0 #f0eeeb14;box-shadow:inset -1px 0 lab(94.2147% .282645 1.88154/.08)}.brand{color:var(--text-strong);font-family:var(--font-display);letter-spacing:-.015em;border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;margin-bottom:14px;padding-bottom:24px;font-size:22px;font-weight:700;display:flex}.sidebar .brand{color:#fff;border-bottom-color:#f0eeeb24;border-bottom-color:lab(94.2147% .282645 1.88154/.14)}.brand-mark{background:var(--primary);color:#fff;width:32px;height:32px;font-family:var(--font-display);border-radius:8px;place-items:center;font-size:15px;font-weight:800;display:grid}.sidebar .brand-mark{background:#f0eeeb14;background:lab(94.2147% .282645 1.88154/.08);border:2px solid #f0eeebb3;border:2px solid lab(94.2147% .282645 1.88154/.7)}.nav{gap:8px;display:grid}.nav a{color:#e6e4e1b8;color:lab(90.7347% .282913 1.88171/.72);transition:background var(--dur-short) var(--ease-out), color var(--dur-micro) var(--ease-out);border-radius:10px;align-items:center;gap:10px;padding:12px;font-size:15px;font-weight:650;display:flex}.nav a.active,.nav a:hover{color:#fff;background:#007245a6;background:lab(41.5033% -47.7771 18.6417/.65)}.nav a.active svg,.nav a:hover svg{color:#fff}.sidebar-footer{color:#e6e4e1ad;color:lab(90.7347% .282913 1.88171/.68);border-top:1px solid #f0eeeb24;border-top:1px solid lab(94.2147% .282645 1.88154/.14);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;margin-top:auto;padding-top:16px;display:grid}.sidebar-avatar{color:#fff;background:#f0eeeb29;background:lab(94.2147% .282645 1.88154/.16);border-radius:50%;place-items:center;width:36px;height:36px;font-size:14px;font-weight:800;display:grid}.sidebar-email{color:#e6e4e1b8;color:lab(90.7347% .282913 1.88171/.72);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:650;overflow:hidden}.mobile-nav,.mobile-app-header{display:none}.main{min-width:0;padding:28px 28px 36px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}.eyebrow{color:var(--muted);margin:0 0 5px;font-size:13px;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-family:var(--font-display);color:var(--text-strong);letter-spacing:-.02em;margin-bottom:0;font-size:30px;font-weight:700;line-height:1.1}.page-title{font-family:var(--font-display);letter-spacing:-.015em;font-size:26px;font-weight:700}h2{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:14px;font-size:17px;font-weight:700}h3{margin-bottom:8px;font-size:15px;font-weight:760}.muted{color:var(--muted)}.text-sm{font-size:13px;line-height:1.5}.text-xs{font-size:11px;font-weight:650;line-height:1.4}.button{background:var(--primary);color:#fff;cursor:pointer;min-height:40px;box-shadow:var(--shadow-sm);transition:background var(--dur-short) var(--ease-out), transform .1s var(--ease-out);border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex}.button:hover{background:var(--primary-hover)}.button:active{transform:translateY(1px)}.button:focus-visible,.nav a:focus-visible,a.card:focus-visible,summary:focus-visible{box-shadow:var(--shadow-focus);outline:none}.button:disabled{cursor:not-allowed;opacity:.62}.button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--line)}.button.secondary:hover{background:var(--surface-muted)}.button.sm{border-radius:7px;min-height:32px;padding:6px 10px;font-size:13px}.button.warning{background:var(--amber)}.button.danger{background:var(--coral)}.checkbox-label{align-items:flex-start;gap:9px;line-height:1.5;display:flex}.checkbox-label input{margin-top:3px}.checkbox-label a,.muted a{color:var(--primary-strong);font-weight:650}.form-error{color:var(--coral);font-size:13px;font-weight:650}.card{background:var(--surface-elevated);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-short) var(--ease-out);border-radius:10px;padding:20px}.card.elevated{box-shadow:var(--shadow-sm)}.card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.card:has(>.data-table){overflow-x:auto}.status{background:var(--surface-muted);color:var(--muted);transition:background var(--dur-micro) var(--ease-out);border-radius:8px;align-items:center;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.status.paid,.status.completed{color:#00482a;color:lab(26.1515% -41.6261 16.1643);background:#d5f4e2;background:lab(93.5809% -12.8721 5.11038)}.status.unpaid,.status.warning{color:#8c4a00;color:lab(39.1323% 26.015 54.7031);background:#ffebd4;background:lab(94.2025% 4.94936 14.6758)}.status.rescheduled{color:#004f8b;color:lab(32.0502% -2.01271 -40.1671);background:#ddedff;background:lab(92.9868% -3.98928 -14.0939)}.status-large{padding:6px 10px;font-size:14px}.status-message{border-radius:8px;margin:0;padding:10px 12px;font-weight:650}.status-message.success{background:var(--primary-light);color:var(--primary-strong);border:1px solid var(--primary)}.status-message.warning{color:#8c4a00;color:lab(39.1323% 26.015 54.7031);border:1px solid var(--amber);background:#ffebd4;background:lab(94.2025% 4.94936 14.6758)}.grid{gap:16px;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-grid{grid-template-columns:1.4fr .9fr;align-items:start}.dashboard-overview-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr) minmax(320px,.95fr);align-items:start}.dashboard-focus-card{min-height:238px}.dashboard-activity-card{grid-column:span 2}.stat{min-height:118px}.stat-card{justify-content:space-between;gap:12px;padding:20px;display:flex}.stat-card svg{border-radius:var(--radius-pill);background:var(--primary-light);width:44px;height:44px;color:var(--primary);flex:none;padding:10px}.stat-warning{border-left:3px solid var(--amber)}.stat-warning svg,.stat-amber svg{color:#a75b00;color:lab(47.1545% 30.4528 65.1933);background:#ffebd4;background:lab(94.2025% 4.94936 14.6758)}.stat-success{background:var(--primary-light)}.stat-amber{border-left:3px solid var(--amber);background:#fef3e7;background:lab(96.5275% 2.35814 7.24906)}.stat-value{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-strong);font-size:30px;font-weight:700}.stat-label{color:var(--muted);font-size:14px}.form,.form-section{gap:13px;display:grid}.form-section+.form-section{border-top:1px solid var(--border-subtle);margin-top:14px;padding-top:14px}.field{gap:6px;display:grid}.field label{color:var(--muted);font-size:13px;font-weight:700}.field input,.field select,.field textarea,.table input{border:1px solid var(--line);background:var(--surface);min-height:40px;transition:border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), background var(--dur-micro) var(--ease-out);border-radius:8px;padding:9px 10px}.field input:hover,.field select:hover,.field textarea:hover,.table input:hover{background:var(--surface-muted)}.field input:focus,.field select:focus,.field textarea:focus,.table input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.optional-fields summary{cursor:pointer;color:var(--primary-strong);font-weight:700}.optional-fields[open] .optional-fields-body,details[open]>.form{animation:fadeIn var(--dur-short) var(--ease-out)}.optional-fields-body{margin-top:10px}.icon-field{position:relative}.icon-field svg{color:var(--muted);position:absolute;bottom:13px;left:12px}.icon-field input{padding-left:36px}.field-help{border-left:2px solid var(--border-subtle);padding-left:12px}.inline-edit{margin-top:6px}.inline-edit summary{cursor:pointer;color:var(--primary-strong);align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.confirm-panel{border:1px solid var(--line);background:var(--surface-sunken);border-radius:8px;padding:12px}.confirm-panel.highlight{background:var(--primary-light);border-color:var(--primary)}.danger-zone{background:#fff1f0;background:lab(96.3359% 6.12152 3.29586);border-color:#df7f7873;border-color:lab(64.0427% 37.4154 20.954/.45)}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 8px;font-size:14px}.table th{color:var(--muted);font-size:12px;font-weight:760}.table-section{border-top:1px solid var(--border-subtle);margin-top:14px}.row-paid{background:#e7f6ed;background:lab(95.6314% -6.41096 2.54827)}.lesson-row.rescheduled,.lesson-row.completed{background:var(--primary-light)}.lesson-row.tutor_cancelled,.lesson-row.warning{background:#fef3e7;background:lab(96.5275% 2.35814 7.24906)}.lesson-row td:first-child{border-left:0}.lesson-row.rescheduled td:first-child,.lesson-row.tutor_cancelled td:first-child{border-left-color:#0000}.payment-history tbody tr:nth-child(2n){background:var(--surface-sunken)}.agenda{gap:10px;display:grid}.agenda-item{border:1px solid var(--line);background:var(--surface);transition:box-shadow var(--dur-short) var(--ease-out);border-radius:10px;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.agenda-item.parent-lesson{grid-template-columns:48px minmax(0,1fr) auto}.agenda-item.term-agenda-item{grid-template-columns:minmax(82px,auto) minmax(0,1fr) auto}.agenda-item.rescheduled{background:#eef6ff;background:lab(96.5002% -2.1244 -7.10868);border-color:#c4daf2;border-color:lab(86.0249% -3.95444 -14.0786)}.agenda-item.warning{background:#fef3e7;background:lab(96.5275% 2.35814 7.24906);border-color:#f0dac2;border-color:lab(88.4011% 4.97431 14.6968)}.term-item.draft{border-left:3px solid var(--amber)}.term-item.completed{border-left:3px solid var(--muted)}.term-status{align-items:center;gap:6px;display:inline-flex}.pulse-dot{border-radius:var(--radius-pill);background:var(--primary);width:8px;height:8px;animation:1.6s ease-in-out infinite pulseDot}.agenda-time{font-family:var(--font-display);color:var(--text-strong);font-size:16px;font-weight:700}.timeline-item{grid-template-columns:18px minmax(0,1fr) auto}.timeline-dot{border-radius:var(--radius-pill);background:var(--blue);width:8px;height:8px}.term-band{background:var(--surface-muted);border-radius:8px;justify-content:space-between;gap:12px;padding:10px 12px;font-size:14px;display:flex}.sticky-term-band{z-index:var(--z-raised);position:sticky;top:0}.finance-list{gap:10px;display:grid}.finance-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.finance-row.paid{background:#e7f6ed;background:lab(95.6314% -6.41096 2.54827)}.finance-row span.muted{margin-top:2px;font-size:13px;display:block}.calendar{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(7,minmax(120px,1fr));display:grid;overflow:hidden}.calendar-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.calendar-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.date-nav{align-items:center;gap:8px;display:inline-flex}.segmented-control{background:var(--surface-muted);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segmented-control a{color:var(--muted);transition:color var(--dur-short) var(--ease-out), background var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:650}.segmented-control a.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.weekly-calendar{border:1px solid var(--line);border-radius:12px;grid-template-columns:62px repeat(7,minmax(120px,1fr));min-width:920px;display:grid;overflow:hidden}.time-gutter{border-right:1px solid var(--line);background:var(--surface-sunken)}.time-grid-lines{grid-template-rows:repeat(var(--calendar-rows), 1fr);min-height:520px;display:grid;position:relative}.time-grid-lines span{color:var(--muted);border-top:1px solid var(--border-subtle);padding:7px 8px;font-size:11px}.week-day{min-height:0}.week-day-grid{background:repeating-linear-gradient(to bottom, transparent 0, transparent calc((100% / var(--calendar-rows)) - 1px), var(--border-subtle) calc((100% / var(--calendar-rows)) - 1px), var(--border-subtle) calc(100% / var(--calendar-rows)));min-height:520px;position:relative}.today-column{background:var(--primary-light)}.today-date{border-radius:var(--radius-pill);background:var(--primary);color:#fff;place-items:center;width:22px;height:22px;display:inline-grid}.positioned-lesson{position:absolute;left:8px;right:8px;overflow:hidden}.current-time-line{z-index:4;background:#cc272e;background:lab(45.7636% 63.3818 40.1799);height:2px;position:absolute;left:0;right:0}.current-time-line:before{content:"";border-radius:var(--radius-pill);background:#cc272e;background:lab(45.7636% 63.3818 40.1799);width:8px;height:8px;position:absolute;top:-3px;left:-4px}.day{border-right:1px solid var(--line);background:var(--surface-sunken);min-height:220px}.day:last-child{border-right:0}.month-calendar{grid-template-rows:repeat(6,minmax(140px,auto))}.month-day{border-bottom:1px solid var(--line);min-height:140px}.month-day.weekend-day{background:var(--surface-sunken)}.month-day.today-cell{border:2px solid var(--primary)}.muted-day{background:var(--surface-sunken)}.muted-day .day-head{opacity:.55}.day-head{border-bottom:1px solid var(--line);color:var(--muted);padding:10px;font-size:12px;font-weight:750}.month-day-number{font-family:var(--font-display);color:var(--text);font-size:16px;font-weight:700}.more-lessons{color:var(--muted);margin:6px 8px;font-size:12px;font-weight:650}.daily-summary{background:var(--surface-sunken);border-radius:8px;padding:10px 12px}.duration-bar{border-radius:var(--radius-pill);background:var(--primary-light);max-width:100%;height:4px;margin-top:8px}.travel-gap{border-left:1px dashed var(--line);color:var(--muted);margin-top:8px;padding-left:8px}.lesson-block{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:8px;padding:9px;font-size:13px}.lesson-block.rescheduled{background:#eef6ff;background:lab(96.5002% -2.1244 -7.10868);border-color:#c4daf2;border-color:lab(86.0249% -3.95444 -14.0786)}.mini-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.mini-week-day{border:1px solid var(--line);background:var(--surface-sunken);border-radius:10px;align-content:center;justify-items:center;gap:5px;min-height:68px;display:grid}.mini-week-day span{color:var(--muted);font-size:11px;font-weight:760}.mini-week-day strong{color:var(--primary-strong);font-family:var(--font-display);font-size:18px}.mini-week-day.today-cell{background:var(--primary);border-color:var(--primary)}.mini-week-day.today-cell span,.mini-week-day.today-cell strong{color:#fff}.slot-list{flex-wrap:wrap;grid-column:1/-1;gap:8px;scroll-margin-top:80px;display:flex}.slot-date-header{width:100%;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:750}.paid-warning{border:1px solid var(--amber);color:#8c4a00;color:lab(39.1323% 26.015 54.7031);background:#fef3e7;background:lab(96.5275% 2.35814 7.24906);border-radius:8px;width:100%;padding:12px;font-weight:650}.slot-list.compact{margin-top:8px}.slot-list.compact .button{min-height:32px;padding:6px 8px;font-size:12px}.reschedule-panel{grid-column:1/-1;margin-top:8px}.reschedule-panel summary{cursor:pointer;color:var(--primary-strong);font-weight:750}.terms-layout{grid-template-columns:220px minmax(0,1.25fr) minmax(300px,.75fr);align-items:start}.term-create-card{grid-row:span 2}.term-stepper{gap:10px;display:grid;position:sticky;top:22px}.term-step{background:var(--surface-sunken);border-radius:10px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.term-step span{border-radius:var(--radius-pill);background:var(--primary);color:#fff;place-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:grid}.term-step p{margin:2px 0 0;font-size:12px;line-height:1.35}.live-summary-card{gap:14px;display:grid;position:sticky;top:22px}.existing-terms-card{grid-column:3}.summary-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.summary-stats>div,.summary-row{background:var(--surface-sunken);border-radius:8px;padding:10px}.summary-stats span,.summary-row span{display:block}.summary-list{gap:8px;display:grid}.summary-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-link{transition:color var(--dur-micro) var(--ease-out);align-items:center;gap:8px;font-weight:700;display:inline-flex}.student-link:hover{color:var(--primary-strong)}.status-dot{border-radius:var(--radius-pill);background:var(--muted);opacity:.5;flex:none;width:8px;height:8px}.status-dot.active{background:var(--primary);opacity:1}.student-detail-card{border-left:1px solid var(--line)}.contact-group{gap:12px;display:grid}.contact-group>div{gap:4px;display:grid}.contact-group .text-xs{display:block}.contact-group strong{line-height:1.35;display:block}.contact-group>div+div{border-top:1px solid var(--border-subtle);padding-top:12px}.contact-group p{margin:3px 0 0}.availability-grid{display:grid}.availability-card{max-width:980px}.availability-summary{background:var(--surface-sunken);border-radius:8px;justify-items:end;gap:3px;min-width:180px;padding:10px 12px;display:grid}.availability-summary span{color:var(--muted)}.availability-row{border-bottom:1px solid var(--line);transition:background var(--dur-micro) var(--ease-out);grid-template-columns:minmax(120px,1fr) minmax(140px,180px) minmax(140px,180px);align-items:center;gap:12px;padding:10px 0;display:grid}.availability-row:hover{background:#e7f6ed73;background:lab(95.6314% -6.41096 2.54827/.45)}.availability-row.weekend-row{background:var(--surface-sunken);border-radius:8px;padding-inline:8px}.availability-row strong{align-items:center;gap:8px;display:inline-flex}.availability-row label{gap:5px;display:grid}.availability-row input{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;min-height:40px;padding:9px 10px}.availability-head{color:var(--muted);font-size:12px;font-weight:700}.parent-lessons{order:1}.parent-guidance{order:2}.parent-confirmation{background:var(--primary-light);border-color:var(--primary);grid-template-columns:auto 1fr;align-items:center;margin-bottom:16px}.policy-copy{background:var(--surface-sunken);border-radius:8px;padding:14px}.policy-copy p:last-child{margin-bottom:0}.policy-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.policy-stats>div{border:1px solid var(--border-subtle);border-radius:8px;padding:12px}.policy-stats strong{font-family:var(--font-display);font-size:24px;font-weight:700;display:block}.policy-stats span{color:var(--muted);font-size:13px;line-height:1.4}.auth-card,.parent-lessons,.parent-guidance .card{border-radius:14px}.legal-note{margin:16px 0 0;font-size:13px}.auth-page{background:linear-gradient(160deg, var(--background) 0%, #f4eee4 100%);max-width:560px;min-height:100vh;margin:0 auto;padding-top:72px}@supports (color:lab(0% 0 0)){.auth-page{background:linear-gradient(160deg, var(--background) 0%, lab(94.2416% .894278 5.6751) 100%)}}.auth-brand{color:var(--text-strong);justify-content:center;margin-bottom:6px}.auth-brand .brand-mark,.mobile-app-header .brand-mark{background:var(--primary);border-color:var(--primary);color:#fff}.auth-brand .brand-mark{width:40px;height:40px;font-size:22px}.auth-brand span:last-child{font-size:28px}.auth-tagline{text-align:center;margin-bottom:18px}.auth-card{position:relative}.auth-card h1{max-width:10ch;font-size:clamp(30px,6vw,42px);line-height:1.05}.auth-icon{color:var(--primary);opacity:.6;margin-bottom:12px}.auth-banner{border-radius:8px;margin-bottom:14px;padding:12px;font-weight:700}.auth-banner.warning{color:#8c4a00;color:lab(39.1323% 26.015 54.7031);border:1px solid var(--amber);background:#fef3e7;background:lab(96.5275% 2.35814 7.24906)}.onboarding-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.progress-step{background:var(--surface-sunken);border-radius:8px;align-items:center;gap:8px;padding:10px;display:flex;position:relative}.progress-step span,.step-badge{border-radius:var(--radius-pill);background:var(--primary);color:#fff;flex:none;place-items:center;width:28px;height:28px;font-weight:800;display:inline-grid}.onboarding-card .field>.muted{border-left:2px solid var(--border-subtle);padding-left:12px}.finish-setup-button{min-height:48px;padding:12px 24px;font-size:16px}.landing-page{position:relative;overflow-x:clip}.hero-section{position:relative}.hero-section:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(at 30% 40%,#d5f4e2 0%,#0000 60%);background:radial-gradient(at 30% 40%,lab(93.5809% -12.8721 5.11038) 0%,#0000 60%);width:520px;height:520px;position:absolute;inset:-40px auto auto -120px}.hero-title{font-family:var(--font-display);letter-spacing:-.025em;max-width:720px;font-size:clamp(2.5rem,5vw + 1rem,3.5rem);font-weight:700;line-height:1.08}.hero-agenda{border-top:3px solid var(--primary);box-shadow:var(--shadow-lg);transform:rotate(1.5deg)}.hero-cta{border-radius:10px;min-height:48px;padding:12px 24px;font-size:16px}.scroll-indicator{color:var(--primary);place-items:center;margin:-24px 0 24px;animation:1.8s ease-in-out infinite bounce;display:grid}.feature-card{border-top:2px solid var(--primary);transition:transform var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out)}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.feature-icon{border-radius:var(--radius-pill);background:var(--primary-light);place-items:center;width:44px;height:44px;display:grid}.legal-page{max-width:920px;margin:0 auto}.legal-card{padding:26px}.legal-copy{margin-top:24px;line-height:1.65}.legal-copy h2{margin-top:28px}.legal-copy ul{padding-left:20px}.legal-copy li{margin:8px 0}.legal-copy a,.legal-footer a{color:var(--primary-strong);font-weight:650}.legal-footer{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:18px;padding:28px 0 8px;font-size:13px;display:flex}.empty,.notice{gap:8px;display:grid}.empty.designed-empty{text-align:center;place-items:center;padding:32px 16px}.empty.designed-empty svg{width:40px;height:40px;color:var(--muted);opacity:.5}.empty.designed-empty strong{font-size:16px}.notice{grid-template-columns:auto 1fr;align-items:center;margin-bottom:16px}.section-heading{align-items:center;gap:8px;display:inline-flex}.section-heading svg{color:var(--primary)}.action-stack{align-items:start;gap:8px;display:grid}.action-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.check-list{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:8px;padding:10px;display:grid}.date-list{gap:8px;display:grid}.date-list-row{grid-template-columns:minmax(0,1fr) 40px;gap:8px;display:grid}.icon-button{width:40px;padding:0}.compact-field{margin-top:8px}.time-grid{flex-wrap:wrap;gap:8px;display:flex}.time-grid .button{min-width:74px}.mobile-only{display:none}.fade-in{animation:fadeIn var(--dur-long) var(--ease-out) both}.stagger-1{animation-delay:70ms}.stagger-2{animation-delay:.14s}.stagger-3{animation-delay:.21s}.stagger-4{animation-delay:.28s}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}}@media (max-width:900px){.app-shell{display:block}.sidebar{display:none}.mobile-nav{z-index:var(--z-sticky);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#fefbf8eb;background:lab(98.8548% .282347 1.88134/.92);border-top:1px solid #dbd7d0e6;border-top:1px solid lab(86.1085% .583261 3.77473/.9);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px #2019140f;box-shadow:0 -8px 24px lab(9.48198% 2.73063 4.99646/.06)}.mobile-nav a{min-height:52px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:650;display:flex;position:relative}.mobile-nav a.active{color:var(--primary)}.mobile-nav a.active:after{content:"";border-radius:var(--radius-pill);background:var(--primary);width:4px;height:4px}.mobile-app-header{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;margin-bottom:22px;font-size:24px;font-weight:700;display:flex}.mobile-app-header .brand-mark{background:var(--primary);border:0;width:44px;height:44px}body{background:#fbf8f3;background:lab(97.7032% .459075 3.01486)}.main{padding:20px 18px 96px}.topbar{border-bottom:0;flex-direction:column;align-items:flex-start;margin-bottom:14px;padding-bottom:0}h1,.hero-title{letter-spacing:-.025em;font-size:28px;line-height:1.12}.page-title{font-size:24px}h2{font-size:18px}.dashboard-grid,.dashboard-overview-grid,.grid{grid-template-columns:1fr;gap:12px}.dashboard-activity-card{grid-column:auto}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{min-height:128px}.stat-card{padding:16px}.stat-value{font-size:26px}.card{border-radius:14px;padding:18px}.button{border-radius:10px;min-height:48px}.field input,.field select,.field textarea,.table input{min-height:44px}.data-table{min-width:680px}.responsive-table{min-width:0}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block}.responsive-table tr{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-bottom:10px;padding:10px}.responsive-table td{border-bottom:0;padding:7px 0}.responsive-table td:before{content:attr(data-label);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:750;display:block}.responsive-table td:empty{display:none}.responsive-table td:empty:before{content:none}.finance-row{grid-template-columns:minmax(0,1fr);justify-items:start}.parent-guidance{order:1}.parent-lessons{order:2}.agenda-item{border-radius:12px;grid-template-columns:52px minmax(0,1fr)}.agenda-item.term-agenda-item,.agenda-item.timeline-item{grid-template-columns:minmax(0,1fr);justify-items:start}.agenda-item.timeline-item .status{justify-self:start}.calendar{min-width:760px}.weekly-calendar{min-width:820px}.calendar-card{max-width:100%}.calendar-controls{justify-content:stretch;gap:10px;width:100%;display:grid}.date-nav{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;width:100%;display:grid}.date-nav strong{text-align:center;font-size:17px}.segmented-control{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.segmented-control a{text-align:center;padding:10px 8px}.daily-summary{text-align:center;font-size:14px}.terms-layout{grid-template-columns:1fr}.term-create-card{grid-row:auto}.term-stepper,.live-summary-card{position:static}.existing-terms-card{grid-column:auto}.save-button{width:100%}.policy-stats,.onboarding-progress{grid-template-columns:1fr}.auth-page{max-width:100%;padding:32px 20px 64px}.auth-brand{margin-bottom:24px}.auth-brand span:last-child{font-size:26px}.auth-card{padding:28px 24px}.auth-card h1{max-width:none;font-size:32px}.auth-icon svg{width:40px;height:40px}.hero-agenda{transform:none}.hero-title{max-width:100%;font-size:clamp(2rem,5vw,2.5rem)}.availability-card .card-header{align-items:start;display:grid}.availability-summary{justify-items:start;width:100%;min-width:0}.availability-row,.availability-head{grid-template-columns:1fr}.availability-row{gap:8px;padding:14px 0}.availability-row label span{color:var(--muted);font-size:12px;font-weight:700}.availability-head{display:none}.checkbox-label{grid-template-columns:24px minmax(0,1fr);gap:12px;font-size:15px;display:grid}.checkbox-label input{margin-top:2px}.desktop-only{display:none}.mobile-only{display:block}}
