@charset "UTF-8";:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:linear-gradient(135deg,#eff6ff,#f8fafc 45%,#eef2ff);line-height:1.5;font-weight:400;--bg: linear-gradient(135deg, #eff6ff, #f8fafc 45%, #eef2ff);--radius-button: 14px;--surface: #ffffff;--surface-alt: #f8fafc;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--accent: #2563eb;--accent-alt: #4f46e5;--sidebar-start: #0f172a;--sidebar-end: #1d4ed8;--sidebar-text: #ffffff;--sidebar-muted: #dbeafe;--brand-abhi: #8fdcff;--brand-tutor: #ffffff;--brand-mark: #22c55e;--sidebar-brand-abhi: #8fdcff;--sidebar-brand-mark: #4ade80;--pill-bg: #dbeafe;--pill-text: #1d4ed8;--button-bg: rgba(255, 255, 255, .12);--button-hover: #ffffff;--button-hover-text: var(--accent);--hero-gradient: linear-gradient(135deg, var(--accent), var(--accent-alt));--input-bg: #f8fafc;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) );--year-8-header: color-mix(in srgb, var(--accent) 88%, var(--text) 12%);--year-8-accent: color-mix(in srgb, var(--accent) 14%, var(--surface));--year-9-header: color-mix(in srgb, var(--accent-alt) 86%, var(--text) 14%);--year-9-accent: color-mix(in srgb, var(--accent-alt) 14%, var(--surface));--year-10-header: color-mix(in srgb, var(--accent) 70%, var(--accent-alt));--year-10-accent: color-mix(in srgb, var(--accent) 12%, var(--surface-alt));--year-11-header: color-mix(in srgb, var(--accent-alt) 70%, var(--accent));--year-11-accent: color-mix( in srgb, var(--accent-alt) 12%, var(--surface-alt) );--year-12-header: color-mix(in srgb, var(--accent) 72%, var(--muted));--year-12-accent: color-mix(in srgb, var(--accent) 10%, var(--surface));--year-unassigned-header: color-mix( in srgb, var(--muted) 78%, var(--text) 22% );--year-unassigned-accent: color-mix( in srgb, var(--surface-alt) 82%, var(--muted) 18% )}[data-theme=sunset]{--bg: linear-gradient(135deg, #fff7ed, #fef2f2 45%, #ffe4e6);--accent: #ea580c;--accent-alt: #d946ef;--sidebar-start: #431407;--sidebar-end: #b45309;--pill-bg: #ffedd5;--pill-text: #9a2c00}[data-theme=forest]{--bg: linear-gradient(135deg, #ecfdf5, #f0fdf4 45%, #dcfce7);--accent: #15803d;--accent-alt: #0f766e;--sidebar-start: #052e16;--sidebar-end: #166534;--pill-bg: #dcfce7;--pill-text: #166534}[data-theme=midnight]{--brand-abhi: #8fdcff;--brand-mark: #4ade80;--bg: linear-gradient(135deg, #020617, #111827 45%, #1e293b);--text: #e2e8f0;--muted: #94a3b8;--surface: #111827;--surface-alt: #1f2937;--border: #334155;--accent: #6366f1;--accent-alt: #8b5cf6;--sidebar-start: #020617;--sidebar-end: #312e81;--pill-bg: #312e81;--pill-text: #e0e7ff;--input-bg: #1f2937;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=lavender]{--bg: linear-gradient(135deg, #f5f3ff, #faf5ff 45%, #fdf2f8);--accent: #7c3aed;--accent-alt: #ec4899;--sidebar-start: #2e1065;--sidebar-end: #7c3aed;--pill-bg: #ede9fe;--pill-text: #6d28d9;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=coral]{--bg: linear-gradient(135deg, #fff1f2, #ffe4e6 45%, #ffedd5);--accent: #f43f5e;--accent-alt: #fb923c;--sidebar-start: #4c0519;--sidebar-end: #be123c;--pill-bg: #ffe4e6;--pill-text: #be123c;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=sage]{--bg: linear-gradient(135deg, #f0fdf4, #ecfccb 45%, #d9f99d);--accent: #4d7c0f;--accent-alt: #65a30d;--sidebar-start: #111827;--sidebar-end: #4d7c0f;--pill-bg: #ecfccb;--pill-text: #365314;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=amber]{--bg: linear-gradient(135deg, #fffbeb, #fef3c7 45%, #fde68a);--accent: #d97706;--accent-alt: #f59e0b;--sidebar-start: #451a03;--sidebar-end: #92400e;--pill-bg: #fef3c7;--pill-text: #92400e;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=berry]{--bg: linear-gradient(135deg, #fdf2f8, #fce7f3 45%, #f5e0ff);--accent: #db2777;--accent-alt: #8b5cf6;--sidebar-start: #2d0a1d;--sidebar-end: #7e22ce;--pill-bg: #fce7f3;--pill-text: #9d174d;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=slate]{--bg: linear-gradient(135deg, #f8fafc, #e2e8f0 45%, #cbd5e1);--accent: #475569;--accent-alt: #64748b;--sidebar-start: #0f172a;--sidebar-end: #334155;--pill-bg: #e2e8f0;--pill-text: #334155;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=spring]{--bg: linear-gradient(135deg, #f0fdf4, #ecfccb 45%, #fef3c7);--accent: #0f766e;--accent-alt: #84cc16;--sidebar-start: #022c22;--sidebar-end: #0f766e;--pill-bg: #dcfce7;--pill-text: #166534;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=summer]{--bg: linear-gradient(135deg, #eff6ff, #fef3c7 45%, #fef2f2);--accent: #0284c7;--accent-alt: #f59e0b;--sidebar-start: #082f49;--sidebar-end: #0f766e;--pill-bg: #e0f2fe;--pill-text: #075985;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=autumn]{--bg: linear-gradient(135deg, #fff7ed, #ffedd5 45%, #fde68a);--accent: #b45309;--accent-alt: #a16207;--sidebar-start: #431407;--sidebar-end: #92400e;--pill-bg: #ffedd5;--pill-text: #9a2c00}[data-theme=winter]{--bg: linear-gradient(135deg, #eff6ff, #e0f2fe 45%, #dbeafe);--accent: #2563eb;--accent-alt: #38bdf8;--sidebar-start: #0f172a;--sidebar-end: #1d4ed8;--pill-bg: #dbeafe;--pill-text: #1d4ed8}[data-theme=mono]{--bg: #ffffff;--surface-alt: #fafafa;--muted: #71717a;--border: #e4e4e7;--accent: #111827;--accent-alt: #6b7280;--sidebar-start: #09090b;--sidebar-end: #3f3f46;--sidebar-muted: #d4d4d8;--pill-bg: #f4f4f5;--pill-text: #18181b;--input-bg: #fafafa}[data-theme=graphite]{--brand-abhi: #8fdcff;--brand-mark: #4ade80;--bg: linear-gradient(135deg, #09090b, #18181b 45%, #27272a);--text: #e4e4e7;--muted: #a1a1aa;--surface: #18181b;--surface-alt: #27272a;--border: #3f3f46;--accent: #a1a1aa;--accent-alt: #71717a;--sidebar-start: #030303;--sidebar-end: #27272a;--pill-bg: #27272a;--pill-text: #e4e4e7;--input-bg: #27272a;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=deepsea]{--brand-abhi: #8fdcff;--brand-mark: #4ade80;--bg: linear-gradient(135deg, #041420, #0a1929 45%, #102a43);--text: #dbeafe;--muted: #94a3b8;--surface: #0a1929;--surface-alt: #102a43;--border: #1e3a5f;--accent: #38bdf8;--accent-alt: #22d3ee;--sidebar-start: #041420;--sidebar-end: #075985;--pill-bg: #0c4a6e;--pill-text: #e0f2fe;--input-bg: #102a43;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=pine]{--brand-abhi: #8fdcff;--brand-mark: #4ade80;--bg: linear-gradient(135deg, #04140c, #0a1f14 45%, #143024);--text: #d1fae5;--muted: #9db8ab;--surface: #0a1f14;--surface-alt: #143024;--border: #1e4034;--accent: #34d399;--accent-alt: #2dd4bf;--sidebar-start: #04140c;--sidebar-end: #166534;--pill-bg: #14532d;--pill-text: #d1fae5;--input-bg: #143024;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=silver]{--bg: linear-gradient(135deg, #e6eaef, #f4f6f9 42%, #d5dbe2);--accent: #64748b;--accent-alt: #94a3b8;--sidebar-start: #2f343b;--sidebar-end: #3d434c;--pill-bg: #e5e9ee;--pill-text: #3f4650;--sidebar-gradient: linear-gradient( 160deg, var(--sidebar-start), #848d99 48%, var(--sidebar-end) )}[data-theme=gold]{--bg: linear-gradient(135deg, #f7eed6, #fdf8ea 42%, #ecd9ab);--accent: #a16207;--accent-alt: #ca8a04;--sidebar-start: #56300d;--sidebar-end: #6f4a0a;--pill-bg: #f3e4bd;--pill-text: #713f12;--sidebar-gradient: linear-gradient( 160deg, var(--sidebar-start), #c1902c 48%, var(--sidebar-end) )}[data-theme=rosegold]{--bg: linear-gradient(135deg, #f8e8e6, #fdf4f3 42%, #eed2cc);--accent: #9d5560;--accent-alt: #b76e79;--sidebar-start: #5f3038;--sidebar-end: #7e4650;--pill-bg: #f5dfda;--pill-text: #7c3f48;--sidebar-gradient: linear-gradient( 160deg, var(--sidebar-start), #c8877f 48%, var(--sidebar-end) )}[data-theme=steel]{--bg: linear-gradient(135deg, #0a0d12, #12161d 45%, #1a2029);--text: #dbe2ea;--muted: #93a1b3;--surface: #12161d;--surface-alt: #1a2029;--border: #2c3644;--accent: #9fb0c3;--accent-alt: #7d8da1;--sidebar-start: #0a0e13;--sidebar-end: #121820;--pill-bg: #232c38;--pill-text: #dbe2ea;--input-bg: #1a2029;--sidebar-gradient: linear-gradient( 160deg, var(--sidebar-start), #414d61 48%, var(--sidebar-end) )}[data-theme=daylight]{--brand-abhi: #0284c7;--brand-tutor: var(--sidebar-text);--sidebar-brand-abhi: #0284c7;--sidebar-brand-mark: #16a34a;--bg: linear-gradient(135deg, #f8fafc, #eff6ff 45%, #e0f2fe);--accent: #2563eb;--accent-alt: #0ea5e9;--sidebar-start: #f1f5f9;--sidebar-end: #dbe4ee;--sidebar-text: #1e293b;--sidebar-muted: #5b6b7f;--button-bg: rgba(15, 23, 42, .06);--button-hover: var(--accent);--button-hover-text: #ffffff;--pill-bg: #dbeafe;--pill-text: #1d4ed8;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}[data-theme=parchment]{--brand-abhi: #0284c7;--brand-tutor: var(--sidebar-text);--sidebar-brand-abhi: #0284c7;--sidebar-brand-mark: #16a34a;--bg: linear-gradient(135deg, #fdfaf3, #faf5ea 45%, #f3e9d6);--surface-alt: #faf6ee;--accent: #b45309;--accent-alt: #c2701a;--sidebar-start: #faf5ec;--sidebar-end: #ece0cc;--sidebar-text: #4a3418;--sidebar-muted: #8a7355;--button-bg: rgba(74, 52, 24, .07);--button-hover: var(--accent);--button-hover-text: #ffffff;--pill-bg: #f3e6cf;--pill-text: #92400e;--sidebar-gradient: linear-gradient( 180deg, var(--sidebar-start), var(--sidebar-end) )}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:var(--sidebar-gradient, linear-gradient(180deg, var(--sidebar-start), var(--sidebar-end)));color:var(--sidebar-text);padding:24px;display:flex;flex-direction:column;gap:24px;width:100%;min-width:0;overflow-x:hidden}@media (min-width: 901px){.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto}}.sidebar h1{margin:0 0 8px;font-size:1.8rem}.sidebar p{margin:0;color:var(--sidebar-muted)}.sidebar .sidebar-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.sidebar .mobile-nav-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-button);background:#ffffff1f;padding:0}.sidebar .mobile-nav-toggle span{display:block;width:18px;height:2px;border-radius:999px;background:var(--sidebar-text)}.sidebar nav{display:flex;flex-direction:column;gap:18px}.sidebar nav .sidebar-nav-group{display:flex;flex-direction:column;gap:10px}.sidebar nav .sidebar-nav-group-label{margin:0 0 2px;padding-left:4px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-muted)}.sidebar nav button{border:none;border-radius:var(--radius-button);padding:12px 14px;text-align:left;background:var(--button-bg);color:var(--sidebar-text);display:flex;align-items:center;gap:10px}.sidebar nav button.active,.sidebar nav button:hover{background:var(--button-hover);color:var(--button-hover-text)}.sidebar nav button .nav-icon{display:inline-flex;opacity:.85}.sidebar .sidebar-footer{margin-top:auto;padding-top:8px;font-size:.85rem;letter-spacing:.04em;color:var(--sidebar-muted)}.main-content{padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0;overflow-x:clip}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-radius:18px;color:var(--sidebar-text);box-shadow:0 10px 30px #0f172a1f}.topbar h2{margin:2px 0 0;color:var(--sidebar-text)}.topbar .eyebrow{color:var(--sidebar-muted)}.topbar-greeting{min-width:0}.welcome-quote{margin:6px 0 0;font-style:italic;font-size:.9rem;max-width:46rem;color:var(--sidebar-muted);text-wrap:pretty}.eyebrow{margin:0;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;font-size:.8rem}.pill{display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;background:var(--button-bg);color:var(--sidebar-text);font-weight:600;font-size:.9rem}.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.topbar-actions>*{min-height:40px}.theme-picker{position:relative;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:999px;background:var(--button-bg)}.theme-toggle{border:none;background:transparent;padding:0;display:flex;align-items:center;gap:6px;color:var(--sidebar-text);cursor:pointer}.theme-toggle:hover{color:var(--button-hover-text)}.theme-toggle-dot{width:14px;height:14px;border-radius:999px;border:1px solid var(--sidebar-muted)}.theme-swatches{position:absolute;top:calc(100% + 8px);right:0;display:flex;flex-direction:column;gap:10px;padding:12px 14px;width:max-content;max-width:min(340px,100vw - 24px);border-radius:18px;background:var(--surface);box-shadow:0 12px 28px #0f172a2e;z-index:30;animation:theme-swatches-slide .16s ease-out}.theme-swatch-group-label{margin:0 0 6px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.theme-swatch-row{display:flex;flex-wrap:wrap;gap:6px}@keyframes theme-swatches-slide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.theme-swatch{width:26px;height:26px;border-radius:999px;border:2px solid transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:var(--surface-alt)}.theme-swatch.active{border-color:var(--accent)}.swatch-accent,.swatch-accent-alt{display:block;width:10px;height:18px}.swatch-accent{clip-path:polygon(0 0,100% 0,0 100%)}.swatch-accent-alt{clip-path:polygon(100% 0,100% 100%,0 100%);margin-left:-2px}.grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px}.card{background:var(--surface);border-radius:16px;padding:18px;box-shadow:0 10px 30px #0f172a14;max-width:100%}.hero-card{background:var(--hero-gradient);color:#fff}.hero-card button{margin-top:10px;border:none;padding:10px 12px;border-radius:var(--radius-button);background:#fff;color:#1d4ed8;font-weight:700}.dashboard-hero{grid-column:1/-1}.dashboard-hero .page-heading svg{color:inherit}.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.dashboard-hero h3{margin:0 0 4px}.dashboard-hero p{margin:0;max-width:34rem}.dashboard-hero-stats{display:flex}.dashboard-hero-stats button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 16px;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:10px}.dashboard-hero-stats button:first-child{padding-left:4px}.dashboard-hero-stats button+button{border-left:1px solid rgba(255,255,255,.3);border-radius:0 10px 10px 0}.dashboard-hero-stats button:hover,.dashboard-hero-stats button:focus-visible{background:#ffffff1a}.dashboard-hero-stats button span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.85;white-space:nowrap}.dashboard-hero-stats button strong{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.content-stack{display:flex;flex-direction:column;gap:16px}.section-subtitle{margin:4px 0 12px;color:var(--muted)}.page-heading{display:flex;align-items:center;gap:8px}.page-heading svg{color:var(--accent)}@font-face{font-family:Alex Brush;src:url(/assets/alex-brush-BAneDka5.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.brand-logo{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;transform-origin:left center;transition:transform .25s ease}.brand-logo:hover,.sidebar-brand:hover .brand-logo,.topbar-greeting:hover .brand-logo{transform:scale(1.05)}.brand-logo.entered .brand-abhi,.brand-logo.entered .brand-tutor,.brand-logo.entered .brand-mark,.brand-logo.entered .brand-pen{animation:none}.brand-logo:hover .brand-mark,.sidebar-brand:hover .brand-mark,.topbar-greeting:hover .brand-mark{animation:brand-ink-draw-replay .9s ease-in-out both}.brand-logo:hover .brand-pen,.sidebar-brand:hover .brand-pen,.topbar-greeting:hover .brand-pen{animation:brand-pen-write-replay .9s ease-in-out both}@keyframes brand-ink-draw{0%{transform:scaleX(0)}10%{transform:scaleX(.03)}85%{transform:scaleX(1)}to{transform:scaleX(1)}}@keyframes brand-pen-write{0%{transform:translate(-8.2em,.9em) rotate(-4deg)}10%{transform:translate(-8.1em,.9em) rotate(-4deg)}85%{transform:translate(-.7em,.9em) rotate(-4deg)}to{transform:translateY(.28em) rotate(0)}}@keyframes brand-ink-draw-replay{0%{transform:scaleX(0)}10%{transform:scaleX(.03)}85%{transform:scaleX(1)}to{transform:scaleX(1)}}@keyframes brand-pen-write-replay{0%{transform:translate(-8.2em,.9em) rotate(-4deg)}10%{transform:translate(-8.1em,.9em) rotate(-4deg)}85%{transform:translate(-.7em,.9em) rotate(-4deg)}to{transform:translateY(.28em) rotate(0)}}@keyframes brand-fade-up{0%{opacity:0;transform:translateY(.25em)}to{opacity:1;transform:none}}@keyframes brand-badge-fly-in{0%{opacity:0;transform:translate(-3.4em) scale(.85)}70%{opacity:1;transform:translate(.12em) scale(1.06)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes brand-badge-trail{0%{width:0;opacity:0}25%{width:2.8em;opacity:.9}65%{width:2em;opacity:.6}to{width:0;opacity:0}}@media (prefers-reduced-motion: reduce){.brand-logo,.brand-badge{transition:none}.brand-logo:hover,.sidebar-brand:hover .brand-logo,.topbar-greeting:hover .brand-logo,.brand-badge:hover,.sidebar-brand:hover .brand-badge{transform:none}.brand-abhi,.brand-tutor,.brand-mark,.brand-pen,.brand-badge,.brand-badge:after,.brand-logo:hover .brand-mark,.sidebar-brand:hover .brand-mark,.topbar-greeting:hover .brand-mark,.brand-logo:hover .brand-pen,.sidebar-brand:hover .brand-pen,.topbar-greeting:hover .brand-pen{animation:none}}.brand-wordline{display:inline-flex;align-items:baseline;white-space:nowrap}.brand-abhi{font-family:Alex Brush,cursive;font-weight:400;font-size:2.1em;line-height:.9;color:var(--brand-abhi);margin-right:.14em;animation:brand-fade-up .5s ease both}.brand-tutor{font-weight:800;font-size:1.32em;letter-spacing:-.02em;color:var(--brand-tutor);animation:brand-fade-up .5s ease .15s both}.brand-pen{margin-left:.45em;transform:translateY(.28em);color:var(--brand-tutor);width:2.5em;height:auto;animation:brand-pen-write .9s ease-in-out .45s both}.brand-mark{margin-top:-.24em;margin-left:.15em;fill:var(--brand-mark);transform-origin:left center;width:7.7em;height:auto;animation:brand-ink-draw .9s ease-in-out .45s both}.sidebar .brand-abhi{color:var(--sidebar-brand-abhi)}.sidebar .brand-mark{fill:var(--sidebar-brand-mark)}.brand-badge{border-radius:50%;border-style:solid;border-color:#0284c7;background:linear-gradient(135deg,#0b1f33,#123152);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:inset 0 0 0 1px #ffffff24;transition:transform .25s ease;position:relative;animation:brand-badge-fly-in .9s cubic-bezier(.34,1.3,.64,1) both}.brand-badge:after{content:"";position:absolute;top:50%;right:100%;height:100%;width:0;border-radius:999px;transform:translateY(-50%);background:linear-gradient(90deg,#8fdcff00,#8fdcff8c 55%,#8fdcfff2);opacity:0;pointer-events:none;animation:brand-badge-trail .9s cubic-bezier(.34,1.3,.64,1) both}.brand-badge.entered,.brand-badge.entered:after{animation:none}.brand-badge:hover,.sidebar-brand:hover .brand-badge{transform:rotate(-6deg) scale(1.1)}.brand-badge.env-dev{border-color:#facc15}.brand-badge:active{transform:scale(.9);transition-duration:.08s}.brand-badge-word{display:inline-flex;align-items:baseline;line-height:1}.brand-badge-a{font-family:Alex Brush,cursive;color:#8fdcff;line-height:.9}.brand-badge-t{font-weight:800;letter-spacing:-.02em;color:#fff}.brand-badge-tick{fill:#4ade80;margin-top:4%}.sidebar-brand{display:flex;align-items:center;gap:12px;min-width:0}.sidebar-brand h1{margin:0;line-height:1;font-size:.95rem}.sidebar-brand p{margin:4px 0 0;font-size:.82rem}.topbar-greeting h2 .brand-logo{font-size:1.05rem}.visitor-offer-line{margin-top:6px}.home-hero-brand{display:flex;align-items:center;gap:18px}.home-hero-brand>div{min-width:0}.home-hero-brand .eyebrow{margin-bottom:2px}.home-hero-brand .offerings-hero-headline{margin:0}.table-wrapper{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:16px}.testimonial-card{display:flex;flex-direction:column;gap:10px;margin:0;padding:18px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface-alt) 55%,transparent)}.testimonial-card blockquote{margin:0;font-size:1rem;line-height:1.5;color:var(--text)}.testimonial-card blockquote:before{content:"“";margin-right:2px;color:var(--muted)}.testimonial-card blockquote:after{content:"”";margin-left:2px;color:var(--muted)}.testimonial-card figcaption{display:flex;flex-direction:column;gap:2px}.testimonial-card figcaption strong{font-size:.95rem}.testimonial-card figcaption span,.testimonial-card figcaption small{color:var(--muted);font-size:.82rem}.testimonial-card.review{background:color-mix(in srgb,var(--card-accent) 8%,var(--surface));border-color:color-mix(in srgb,var(--card-accent) 30%,var(--border));border-left:5px solid var(--card-accent)}.testimonial-card.review blockquote:before,.testimonial-card.review blockquote:after{color:var(--card-accent)}.testimonial-card.review figcaption strong{color:var(--card-accent)}.testimonial-card.review .MuiRating-iconFilled{color:var(--card-accent)}.testimonial-card.review:nth-child(2n){border-left:1px solid color-mix(in srgb,var(--card-accent) 30%,var(--border));border-top:5px solid var(--card-accent)}.testimonial-card.review:nth-child(2n) blockquote{font-style:italic}.testimonial-card.review:nth-child(6n+1){--card-accent: #2563eb}.testimonial-card.review:nth-child(6n+2){--card-accent: #0d9488}.testimonial-card.review:nth-child(6n+3){--card-accent: #7c3aed}.testimonial-card.review:nth-child(6n+4){--card-accent: #16a34a}.testimonial-card.review:nth-child(6n+5){--card-accent: #d97706}.testimonial-card.review:nth-child(6n+6){--card-accent: #db2777}.moderation-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.testimonial-card.flagged{border-color:color-mix(in srgb,#d97706 55%,var(--border));background:color-mix(in srgb,#d97706 8%,var(--surface))}.testimonial-flag{display:flex;align-items:center;gap:6px;margin:0;padding:6px 10px;border-radius:8px;background:color-mix(in srgb,#d97706 16%,var(--surface));color:#b45309;font-size:.8rem;font-weight:700}.review-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;max-width:640px}.review-form .review-quote,.review-form .review-rating,.review-form .review-submit,.review-form .review-consent,.review-form .review-error{grid-column:1/-1}.review-rating{display:flex;flex-direction:column;gap:4px}.review-rating span{color:var(--muted);font-size:.85rem}.review-rating.has-error #review-rating-label,.review-rating .required-mark{color:#dc2626}.review-rating .review-field-error{color:#dc2626;font-size:.78rem}.star-buttons{display:inline-flex;gap:4px}.star-buttons .star{border:none;background:none;padding:0 2px;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--border)}.star-buttons .star.on{color:#f59e0b}.review-consent{margin:0;color:var(--muted);font-size:.8rem}.review-error{margin:0;color:#dc2626;font-weight:600}.review-submit{justify-self:start}.review-website{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.snapshot-table{width:100%;min-width:720px;border-collapse:collapse;background:var(--surface)}.snapshot-table th,.snapshot-table td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left}.snapshot-table th{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid color-mix(in srgb,var(--accent) 55%,var(--border))}.snapshot-table tr:nth-child(2n){background:color-mix(in srgb,var(--surface-alt) 70%,transparent)}.sort-button{border:none;background:transparent;color:inherit;padding:0;font:inherit;font-weight:700;cursor:pointer}.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;color:var(--muted)}.page-size-control{display:inline-flex;align-items:center;gap:8px}.page-size-control label{font-size:.9rem}.page-size-control select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:5px 8px;font-size:.9rem}.pagination-controls{display:flex;gap:8px}.pagination-controls button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-button);padding:6px 12px}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.student-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-form .MuiInputBase-root{min-height:40px}.student-form .MuiSelect-select{display:flex;align-items:center}.student-form .MuiFormControlLabel-root{margin-right:8px}.student-form input,.student-form select,.student-form textarea{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--text)}.student-form input{box-sizing:border-box;height:40px;padding-top:0;padding-bottom:0}.student-form textarea{grid-column:span 2;min-height:80px;resize:vertical}.modal-form{padding-top:8px}.modal-form .span-2{grid-column:span 2}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header-actions{display:flex;align-items:center;gap:8px}.payment-list{display:flex;flex-direction:column;gap:12px}.student-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:start}.year-group{border:1px solid color-mix(in srgb,var(--year-color) 22%,var(--border));border-top:3px solid var(--year-color);border-radius:14px;background:color-mix(in srgb,var(--year-tint) 35%,var(--surface));padding:2px 14px 6px}.year-group-head{display:flex;align-items:center;gap:8px;padding:10px 0 8px;border-bottom:1px solid color-mix(in srgb,var(--year-color) 18%,var(--border))}.year-group-head:before{content:"";width:9px;height:9px;border-radius:999px;background:var(--year-color)}.year-group-head h4{margin:0;font-size:.95rem}.year-count{margin-left:auto;font-size:.78rem;font-weight:600;color:var(--muted);white-space:nowrap}.year-students{list-style:none;margin:0;padding:0}.year-students li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0}.year-students li+li{border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.student-cell{display:flex;flex-direction:column;gap:1px;min-width:0}.student-cell small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-code{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.payment-item{border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;align-items:stretch;gap:12px}.student-summary{border:0;background:transparent;padding:0;display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;color:var(--text)}.student-summary span{display:flex;flex-direction:column;gap:2px}.student-link{color:var(--accent);font-weight:700;text-decoration:none}.student-link:hover,.student-link:focus-visible{text-decoration:underline}.rotated{transform:rotate(180deg)}.student-details{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;padding-top:8px;border-top:1px solid var(--border)}.student-tabs{display:flex;gap:4px;margin:4px 0 16px;border-bottom:1px solid var(--border)}.student-tabs .student-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;padding:10px 16px;font-size:.95rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.student-tabs .student-tab:hover{color:var(--text)}.student-tabs .student-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.student-detail-text{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-alt) 70%,transparent)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.detail-grid p{margin:0}.detail-grid-full{grid-column:span 2}.student-side{display:flex;flex-direction:column;gap:12px;min-width:0}.edit-fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 12px;margin-top:8px;align-items:start}.edit-fields>*{grid-column:span 6}.edit-fields .col-2{grid-column:span 2}.edit-fields .col-3{grid-column:span 3}.edit-fields .col-4{grid-column:span 4}.edit-fields .col-5{grid-column:span 5}.edit-fields .col-7{grid-column:span 7}.edit-fields .col-8{grid-column:span 8}.edit-fields .col-12,.edit-span-2{grid-column:span 12}@media (max-width: 640px){.edit-fields{display:flex;flex-direction:column}}.subject-chips{display:flex;flex-wrap:wrap;gap:4px;padding:1px 0}.student-meta{display:flex;flex-direction:column;gap:8px;min-width:180px;padding:10px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-alt) 70%,transparent)}.student-meta input{width:100%}.meta-top{display:flex;justify-content:space-between;align-items:center}.subject-progress-list{display:grid;gap:6px}.subject-progress-row{display:grid;grid-template-columns:minmax(72px,auto) minmax(0,1fr) auto;align-items:center;gap:10px}.subject-progress-row .MuiSlider-root{padding:8px 0}.subject-progress-label{font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subject-progress-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--border) 55%,transparent);overflow:hidden}.subject-progress-fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.subject-progress-value{font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.progress-value{color:var(--accent)}.meta-pills{display:flex;flex-wrap:wrap;gap:8px}.mode-pill,.subject-count-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:700;border:1px solid var(--border);background:var(--surface)}.subjects-line,.school-line{margin:0;color:var(--muted);font-size:.9rem}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-header p{margin:4px 0 0;color:#64748b}.paid{color:#059669;font-weight:700}.pending{color:#dc2626;font-weight:700}.calendar-card,.dashboard-chart-card{grid-column:span 2;display:flex;flex-direction:column;gap:12px}.attention-card{--band-on-track: #059669;--band-developing: #b45309;--band-needs-attention: #dc2626}.attention-body{display:flex;flex-direction:column;gap:16px}.attention-empty{margin:0;color:var(--muted)}.attention-bar{display:flex;gap:2px;height:16px;border-radius:999px;overflow:hidden}.attention-bar-segment{min-width:8px;border:none;padding:0;cursor:pointer;transition:filter .15s ease}.attention-bar-segment.on-track{background:var(--band-on-track)}.attention-bar-segment.developing{background:var(--band-developing)}.attention-bar-segment.needs-attention{background:var(--band-needs-attention)}.attention-bar-segment:hover,.attention-bar-segment:focus-visible,.attention-bar-segment.active{filter:brightness(1.12) saturate(1.1);outline:none}.attention-legend{list-style:none;margin:0;padding:0;display:grid;gap:4px}.attention-legend-item{display:flex}.attention-legend-button{flex:1;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.attention-legend-button:hover,.attention-legend-button:focus-visible,.attention-legend-button.active{background:var(--surface-alt);border-color:var(--border);outline:none}.attention-dot{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.attention-dot.on-track{background:var(--band-on-track)}.attention-dot.developing{background:var(--band-developing)}.attention-dot.needs-attention{background:var(--band-needs-attention)}.attention-legend-label{flex:1}.attention-legend-count{font-variant-numeric:tabular-nums;font-size:1.05rem}.attention-detail{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--border);min-height:8rem}.attention-detail-hint{margin:0;color:var(--muted);font-size:.85rem}.attention-detail-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.attention-detail-names{display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px 12px;height:5.5rem;overflow-y:auto}.payment-tracker-view{gap:14px}.payment-tracker-hero{display:flex;justify-content:space-between;gap:16px;align-items:center}.payment-month-filter{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;padding:8px 8px 8px 14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface-alt) 70%,var(--surface))}.payment-month-filter label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.82rem;font-weight:600;white-space:nowrap}.payment-month-filter select{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-weight:600;padding:8px 10px;cursor:pointer}.payment-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.payment-tab{border:none;background:none;padding:10px 16px;margin-bottom:-1px;font-size:.95rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer}.payment-tab:hover{color:var(--text)}.payment-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.session-breakdown-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 12px}.session-student-filter{display:flex;align-items:center;gap:10px}.session-student-filter label{color:var(--muted);font-size:.82rem;font-weight:600}.session-student-filter select{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-weight:600;padding:8px 10px;cursor:pointer}.calendar-filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 4px}.calendar-student-filter{width:280px;max-width:100%}.calendar-filter-hint{color:var(--muted);font-size:.85rem;max-width:46ch}.session-breakdown-empty{margin:16px 0 0;color:var(--muted)}.session-breakdown-table td:last-child,.session-breakdown-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.session-breakdown-table tbody tr.student-group-0{background:color-mix(in srgb,var(--accent) 26%,var(--surface))}.session-breakdown-table tbody tr.student-group-1{background:color-mix(in srgb,var(--accent-alt) 26%,var(--surface))}.session-breakdown-table tbody tr.student-group-2{background:color-mix(in srgb,var(--muted) 30%,var(--surface))}.session-breakdown-table tbody tr.student-group-3{background:color-mix(in srgb,var(--accent) 42%,var(--surface-alt))}.session-breakdown-table tbody tr.student-group-4{background:color-mix(in srgb,var(--accent-alt) 42%,var(--surface-alt))}.session-breakdown-table tbody tr.session-monthly-row,.session-breakdown-table tbody tr.session-student-total-row{font-weight:700}.session-breakdown-table tbody tr.session-student-total-row td{border-top:1px solid var(--border);border-bottom:2px solid var(--border)}.session-breakdown-table tbody tr.session-student-total-row td:first-child{text-align:right;color:var(--muted)}.session-breakdown-table tfoot .session-total-row{font-weight:700}.session-breakdown-table tfoot .session-total-row td{border-top:2px solid var(--border)}.session-breakdown-table tfoot .session-total-row td:first-child{text-align:right;color:var(--muted)}.payment-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.payment-summary-card{display:flex;flex-direction:column;gap:4px}.payment-summary-card span{color:var(--muted);font-size:.85rem}.payment-summary-card strong{font-size:1.4rem}.payment-summary-card.received strong,.payment-row.paid td:first-child strong,.paid{color:#059669}.payment-summary-card.pending strong,.payment-row.pending td:first-child strong,.pending{color:#dc2626}.payment-summary-card.total strong,.payment-row.partial td:first-child strong,.partial{color:#b45309}.payment-summary-card.status strong{color:var(--accent)}.payment-table-wrapper .snapshot-table{min-width:920px}.payment-tracker-table td{vertical-align:top}.payment-tracker-table small{display:block;color:var(--muted);margin-top:4px}.payment-tracker-table input,.payment-tracker-table select{width:100%;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:7px 9px}.payment-amount-cell{display:flex;align-items:center;gap:8px}.payment-amount-cell .MuiTextField-root{flex:1;min-width:0}.payment-amount-cell .payment-amount-save{flex:0 0 auto}.payment-row.paid{background:color-mix(in srgb,#dcfce7 45%,transparent)}.payment-row.partial{background:color-mix(in srgb,#ffedd5 55%,transparent)}.payment-row.pending{background:color-mix(in srgb,#fee2e2 55%,transparent)}.payment-row-legend{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.payment-row-legend span{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;border:1px solid var(--border);background:var(--surface);font-size:.82rem;font-weight:700}.calendar-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.calendar-header h3{margin:0}.calendar-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.calendar-list{display:grid;gap:10px}.session-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--surface-alt) 60%,transparent)}.session-date-pill{border-radius:999px;padding:6px 10px;background:var(--surface);border:1px solid var(--border);font-weight:700;font-size:.82rem}.session-content strong{display:block}.session-content .session-group-tag{display:inline-block;margin-right:6px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);vertical-align:middle}.session-content p{margin:2px 0 0;color:var(--muted);font-size:.9rem}.session-content small{display:block;margin-top:4px;color:var(--muted)}.session-mode{border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700;border:1px solid var(--border)}.session-mode.online{color:#1d4ed8;background:#dbeafe}.session-mode.face{color:#92400e;background:#ffedd5}.session-mode.booked{color:#0f766e;background:#ccfbf1}.student-session-summary{margin-top:8px;padding:12px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-alt) 55%,transparent)}.student-session-summary h4{margin:0 0 8px}.student-session-summary p{margin:0;color:var(--muted)}.student-session-summary .session-mini-table{width:100%;border-collapse:collapse;font-size:.85rem}.student-session-summary .session-mini-table th{text-align:left;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:0 6px 6px 0;border-bottom:1px solid var(--border)}.student-session-summary .session-mini-table td{padding:7px 6px 7px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);vertical-align:top}.student-session-summary .session-mini-table td small{display:block;color:var(--muted)}.student-session-summary .session-mini-table .session-with-group{color:var(--accent);font-weight:600}.student-session-summary .session-mini-table .session-actions{white-space:nowrap;text-align:right}.student-session-summary .session-mini-table tr:last-child td{border-bottom:0}.student-notes-card{--paper: color-mix(in srgb, #fbf6e3 62%, var(--surface));--paper-line: color-mix(in srgb, #5b86c4 40%, transparent);--paper-margin: color-mix(in srgb, #d9524b 70%, transparent);background:var(--paper);padding:0;overflow:hidden}.student-notes-log{position:relative;padding:22px 26px 26px 60px}.student-notes-log:before{content:"";position:absolute;top:0;bottom:0;left:44px;width:2px;background:var(--paper-margin)}.student-notes-log .notes-log-head{margin-bottom:18px}.student-notes-log .notes-log-head h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;letter-spacing:.01em;color:var(--text)}.student-notes-log .notes-log-head p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.student-notes-log .note-add-form{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--paper-line) 60%,transparent);background:color-mix(in srgb,var(--surface) 60%,transparent);margin-bottom:22px}.student-notes-log .note-add-form .MuiButton-root{flex:0 0 auto;margin-top:2px}.student-notes-log .note-add-form .note-date-field{flex:0 0 172px}.student-notes-log .note-empty{margin:0;color:var(--muted);font-style:italic}.student-notes-log .note-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:26px}.student-notes-log .note-entry{display:flex;flex-direction:column}.student-notes-log .note-date-rail{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;font-family:Georgia,Times New Roman,serif}.student-notes-log .note-date-rail .note-weekday{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--paper-margin)}.student-notes-log .note-date-rail .note-day{font-size:1.25rem;font-weight:700;color:var(--text)}.student-notes-log .note-date-rail .note-monthyear{font-size:.85rem;color:var(--muted)}.student-notes-log .note-body{display:flex;align-items:flex-start;gap:8px}.student-notes-log .note-text{flex:1;margin:0;white-space:pre-wrap;line-height:32px;min-height:32px;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,var(--paper-line) 31px,var(--paper-line) 32px);background-position:0 0}.student-notes-log .note-actions{flex:0 0 auto;white-space:nowrap}.student-notes-log .note-edit{flex:1}.student-notes-log .note-edit .note-edit-actions{display:flex;gap:8px;margin-top:8px}@media (max-width: 640px){.student-notes-log{padding-left:44px}.student-notes-log .note-add-form{flex-direction:column}.student-notes-log .note-add-form .MuiButton-root{align-self:flex-end}}.session-summary-meta{font-size:.9rem;margin-bottom:8px}.delete-warning{margin:0;font-size:.85rem;color:var(--muted)}.day-modal-content{display:flex;flex-direction:column;gap:12px}.day-modal-content h4{margin:0}.day-modal-sessions{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.day-modal-picker{display:flex;flex-wrap:wrap;gap:6px}.day-modal-picker-chip{min-width:30px;height:30px;padding:0 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface-alt);color:inherit;font:inherit;font-weight:700;cursor:pointer}.day-modal-picker-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.day-modal-picker-chip.cancelled{background:color-mix(in srgb,#dc2626 14%,var(--surface-alt));border-color:color-mix(in srgb,#dc2626 40%,var(--border));color:#dc2626;text-decoration:line-through}.day-modal-picker-chip.add{border-style:dashed;font-weight:400;font-size:1.1rem}.day-modal-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.scheduling-student-option{display:flex;flex-direction:column;gap:2px;line-height:1.3}.scheduling-student-option small{color:var(--muted);font-size:.78rem}.scheduling-hero{display:flex;justify-content:space-between;gap:16px;align-items:center}.scheduling-hero-stats{display:flex;gap:12px}.scheduling-hero-stats div{padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);min-width:110px}.scheduling-hero-stats strong{display:block;font-size:1.4rem;color:var(--accent)}.scheduling-hero-stats span{display:block;color:var(--muted);font-size:.85rem}.scheduling-form{display:grid;gap:12px}.scheduling-form .MuiTextField-root{width:100%}.scheduling-calendar-card{display:flex;flex-direction:column;gap:12px}.scheduling-calendar-header{align-items:flex-start}.scheduling-calendar-header>div:first-child{flex:1;min-width:0}.scheduling-calendar-header .calendar-actions{flex-shrink:0;flex-wrap:nowrap;align-items:center}@media (max-width: 900px){.scheduling-calendar-header .calendar-actions{flex-wrap:wrap}}.calendar-nav-button{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);padding:6px 12px;font-weight:700}.calendar-nav-button:disabled{opacity:.45;cursor:default}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.calendar-day{position:relative;min-height:128px;border-radius:14px;border:1px solid var(--border);padding:10px;background:color-mix(in srgb,var(--surface-alt) 55%,transparent);display:flex;flex-direction:column;gap:8px}.calendar-day:hover,.calendar-day:focus-within{border-color:var(--accent)}.calendar-day-open{flex:1;border:0;padding:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.calendar-day-chips{display:flex;flex-wrap:wrap;gap:4px}.calendar-day-chip{min-width:22px;height:22px;padding:0 6px;border-radius:999px;border:1px solid transparent;background:var(--accent);color:#fff;font:inherit;font-size:.75rem;font-weight:700;line-height:1;cursor:pointer}.calendar-day-chip:hover,.calendar-day-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.calendar-day-chip.cancelled{background:color-mix(in srgb,#dc2626 16%,var(--surface));border-color:color-mix(in srgb,#dc2626 45%,var(--border));color:#dc2626;text-decoration:line-through}.calendar-day.weekend{background:color-mix(in srgb,#f59e0b 8%,var(--surface-alt));border-color:color-mix(in srgb,#f59e0b 25%,var(--border))}.calendar-day.weekend .calendar-day-number{color:#b45309}.calendar-day.muted{opacity:.5;background:transparent;border-style:dashed}.calendar-day.today:after{content:"";position:absolute;top:0;right:0;width:26px;height:26px;border-top-right-radius:14px;background:linear-gradient(to top right,transparent 0 50%,color-mix(in srgb,var(--accent) 72%,#0b1220) 50% 100%);pointer-events:none}.calendar-day-number{font-weight:700}.calendar-session-list{display:flex;flex-direction:column;gap:6px}.calendar-session-chip{border:0;border-radius:12px;padding:8px;background:var(--surface);color:var(--text);text-align:left;display:flex;flex-direction:column;gap:2px;box-shadow:0 4px 12px #0f172a0f}.calendar-session-chip span{font-weight:700;color:var(--accent)}.calendar-session-chip small{color:var(--muted)}.calendar-session-more{font-size:.8rem;color:var(--muted)}.student-page-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.archived-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.archived-banner p{margin:4px 0 0;color:var(--muted)}.archive-dialog-copy{margin:0 0 12px;color:var(--muted)}.session-edit-form{display:grid;gap:12px;margin-top:4px}.session-members{display:grid;gap:8px;padding-top:4px;border-top:1px solid var(--border)}.session-member-chips{display:flex;flex-wrap:wrap;gap:6px}.student-page-details{margin-top:8px;min-height:320px;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.contact-channel-grid{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.contact-channel-card{display:flex;flex-direction:column;gap:10px;height:100%;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-alt);text-decoration:none;color:var(--text);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.contact-channel-card:hover,.contact-channel-card:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a1a;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.contact-channel-card.preferred{border-color:color-mix(in srgb,#16a34a 45%,var(--border));background:color-mix(in srgb,#16a34a 5%,var(--surface-alt))}.contact-channel-head{display:flex;align-items:center;gap:10px}.contact-channel-head .contact-preferred-pill{margin-left:auto}.contact-channel-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.call .contact-channel-icon{color:var(--accent-alt);background:color-mix(in srgb,var(--accent-alt) 12%,var(--surface))}.whatsapp .contact-channel-icon{color:#1faf53;background:color-mix(in srgb,#25d366 14%,var(--surface))}.contact-channel-name{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.contact-channel-value{font-size:1.05rem;font-weight:700;word-break:break-word}.contact-channel-card:hover .contact-channel-value,.contact-channel-card:focus-visible .contact-channel-value{color:var(--accent)}.contact-note{margin:16px 0 0;font-size:.85rem;color:var(--muted)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;max-width:46rem}@media (max-width: 640px){.contact-form{grid-template-columns:1fr}}.contact-form-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.offerings-heading{margin:18px 0 12px;font-size:.95rem;font-weight:700;color:var(--text)}.offerings-hero-headline{margin:10px 0 8px;font-size:clamp(1.5rem,3.5vw,2rem);font-weight:800;line-height:1.15;letter-spacing:-.01em;color:var(--text)}.offerings-hero-subhead{margin:0;max-width:60ch;font-size:1.02rem;line-height:1.55;color:var(--muted)}.offerings-availability{display:inline-block;margin:14px 0 0;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--accent);font-size:.85rem;font-weight:600}.offerings-cta{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:18px}.offerings-cta-secondary{color:var(--accent);font-weight:600;text-decoration:none}.offerings-cta-secondary:hover,.offerings-cta-secondary:focus-visible{text-decoration:underline}.offerings-subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-rows:1fr;gap:14px;margin-top:4px}.offerings-subject-card:nth-child(6n+1){--subject-accent: var(--accent)}.offerings-subject-card:nth-child(6n+2){--subject-accent: var(--accent-alt)}.offerings-subject-card:nth-child(6n+3){--subject-accent: color-mix(in srgb, var(--accent) 50%, var(--accent-alt))}.offerings-subject-card:nth-child(6n+4){--subject-accent: color-mix(in srgb, var(--accent) 72%, var(--text))}.offerings-subject-card:nth-child(6n+5){--subject-accent: color-mix(in srgb, var(--accent-alt) 72%, var(--text))}.offerings-subject-card:nth-child(6n+6){--subject-accent: color-mix(in srgb, var(--accent-alt) 45%, var(--accent))}.offerings-subject-card{display:grid;perspective:1000px;cursor:pointer;border-radius:12px}.subject-card-inner{display:grid;height:100%;border-radius:12px}.subject-card-front,.subject-card-back{grid-area:1/1;height:100%;border-radius:12px}.subject-card-front{display:flex;flex-direction:column;gap:8px;padding:0 16px 16px;border:1.5px solid color-mix(in srgb,var(--subject-accent) 55%,var(--border));border-top:4px solid var(--subject-accent);overflow:hidden;background:color-mix(in srgb,var(--subject-accent) 9%,var(--surface))}.subject-card-back{display:none;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:170px;padding:16px;color:#fff;background:linear-gradient(135deg,#ffffff6b,#ffffff1f,#fff0 52%),radial-gradient(120% 80% at 50% 0%,#ffffff4d,#fff0 60%),linear-gradient(150deg,var(--subject-accent),color-mix(in srgb,var(--subject-accent) 62%,#000));box-shadow:inset 0 1px #ffffff80,inset 0 -18px 32px #0000002e;transform:rotateY(180deg)}.subject-card-stage{display:grid;place-items:center;width:100%;height:132px}.subject-card-emoji{grid-area:1/1;font-size:7rem;line-height:1;opacity:0;filter:drop-shadow(0 5px 10px rgba(0,0,0,.3))}.subject-card-back-label{font-size:1.05rem;font-weight:800;letter-spacing:.01em}@media (prefers-reduced-motion: no-preference){.subject-card-emoji{animation:subject-image-cycle 6s infinite;animation-play-state:paused}.offerings-subject-card.flipped .subject-card-emoji{animation-play-state:running}}@media (prefers-reduced-motion: no-preference) and (hover: hover){.offerings-subject-card:hover .subject-card-emoji{animation-play-state:running}}@keyframes subject-image-cycle{0%{opacity:0;transform:scale(.8)}3%{opacity:1;transform:scale(1)}17%{opacity:1;transform:scale(1)}20%{opacity:0;transform:scale(.8)}to{opacity:0}}@media (prefers-reduced-motion: no-preference){.subject-card-inner{transition:transform .6s;transform-style:preserve-3d}.subject-card-front,.subject-card-back{backface-visibility:hidden}.subject-card-back{display:flex}.offerings-subject-card.flipped .subject-card-inner{transform:rotateY(180deg)}}@media (prefers-reduced-motion: no-preference) and (hover: hover){.offerings-subject-card:hover .subject-card-inner{transform:rotateY(180deg)}}.subject-card-front .offerings-subject-name{display:flex;align-items:center;gap:10px;margin:0 -16px 6px;padding:12px 16px;background:color-mix(in srgb,var(--subject-accent) 24%,var(--surface));border-bottom:2px solid color-mix(in srgb,var(--subject-accent) 60%,var(--border));font-size:1.05rem;font-weight:800;color:color-mix(in srgb,var(--subject-accent) 82%,var(--text))}.offerings-subject-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#fff;background:var(--subject-accent)}.subject-specs{margin:0;display:grid}.subject-spec{display:grid;grid-template-columns:1fr;gap:5px;padding:8px 0}.subject-spec+.subject-spec{border-top:1px solid color-mix(in srgb,var(--subject-accent) 30%,transparent)}.subject-spec dt{margin:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.subject-spec dd{margin:0;display:flex;flex-wrap:wrap;gap:6px}.subject-chip{font-size:.78rem;font-weight:600;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--subject-accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--subject-accent) 50%,transparent);color:color-mix(in srgb,var(--subject-accent) 82%,var(--text))}.offerings-journey{list-style:none;margin:4px 0 0;padding:0;display:grid}.offerings-step{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.offerings-step:first-child{padding-top:4px}.offerings-step:last-child{padding-bottom:0;border-bottom:none}.offerings-step-icon{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));font-size:1.2rem;line-height:1}.offerings-step-title{margin:0 0 4px;font-size:.98rem;font-weight:700;color:var(--text)}.offerings-step-detail{margin:0;font-size:.9rem;line-height:1.55;color:var(--muted)}.offerings-closing{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.offerings-approach{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.offerings-point{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid color-mix(in srgb,#16a34a 22%,var(--border));border-radius:12px;background:color-mix(in srgb,#16a34a 5%,var(--surface))}.offerings-point-tick{flex:0 0 auto;margin-top:1px;color:#16a34a}.offerings-point-title{margin:0 0 6px;font-size:.9rem;font-weight:700;color:var(--text)}.offerings-point-detail{margin:0;font-size:.85rem;line-height:1.55;color:var(--muted)}.calendar-day.booked{position:relative;border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.calendar-day.booked-light{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.calendar-day.booked-medium{background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.calendar-day.booked-heavy{background:color-mix(in srgb,var(--accent) 32%,var(--surface))}.calendar-day.booked:hover,.calendar-day.booked:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.calendar-tooltip strong{display:block;margin-bottom:6px;font-size:.78rem}.calendar-tooltip ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.calendar-tooltip{max-width:220px}.calendar-tooltip li{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 7px;font-size:.75rem}.tooltip-entry{flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:anywhere}.tooltip-number{min-width:16px;height:16px;border-radius:999px;background:color-mix(in srgb,#fff 25%,transparent);font-size:.62rem;font-weight:700;display:grid;place-items:center}.tooltip-time{font-weight:700;font-variant-numeric:tabular-nums}.tooltip-cancelled{font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 5px;border-radius:999px;border:1px solid currentColor;opacity:.75}.payment-student-link{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--accent);cursor:pointer;text-align:left}.payment-student-link:hover,.payment-student-link:focus-visible{text-decoration:underline}.payment-basis strong{font-size:1rem}.payment-basis small{display:block;color:var(--muted);font-size:.7rem}.payment-status-pill{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid currentColor}.payment-status-pill.nofee{color:var(--muted);border-color:var(--border)}.payment-nofee{color:var(--muted);font-size:.85rem}.status-mini-table{width:100%;margin-top:6px;border-collapse:collapse}.status-mini-table th,.status-mini-table td{text-align:left;padding:1px 10px}.status-mini-table th:first-child,.status-mini-table td:first-child{padding-left:0}.status-mini-table th+th,.status-mini-table td+td{border-left:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.status-mini-table th{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.status-mini-table td{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.payment-summary-card small{display:block;margin-top:2px;color:var(--muted);font-size:.72rem}.signin-card{max-width:460px;margin:48px auto;display:grid;gap:12px;justify-items:start}.signin-card h3{margin:0}.signin-visitor-actions{display:flex;flex-wrap:wrap;gap:12px}.signin-teacher-line{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--border);justify-self:stretch;font-size:.88rem;color:var(--muted)}.topbar-auth{display:flex;align-items:center;padding:0 4px;border-radius:999px;background:var(--button-bg)}.topbar-auth .MuiButton-root{border-radius:999px;padding-block:4px;font-weight:700;color:var(--sidebar-text)}.busy-bar.busy-bar{position:fixed;top:0;left:0;right:0;z-index:1400}.page-loading-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.week-card{grid-column:span 4}.week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;align-items:end;margin-top:8px;max-width:620px}.week-bar-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;border:0;background:transparent;padding:0;min-height:112px;cursor:pointer;border-bottom:1px solid var(--border)}.week-bar-cell .week-bar{width:14px;border-radius:4px 4px 0 0;background:color-mix(in srgb,var(--accent) 35%,var(--surface))}.week-bar-cell.today .week-bar{background:var(--accent)}.week-bar-cell:hover .week-bar,.week-bar-cell:focus-visible .week-bar{background:color-mix(in srgb,var(--accent) 70%,var(--surface))}.week-bar-cell.today:hover .week-bar{background:var(--accent)}.week-bar-value{font-size:.7rem;color:var(--muted);white-space:nowrap}.week-bar-label{font-size:.7rem;color:var(--muted);padding:4px 0 2px}.week-bar-cell.today .week-bar-label{color:var(--accent);font-weight:700}.chip-group-size{font-size:.62rem;margin-left:2px;opacity:.85}.home-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.home-teacher-line{margin:4px 0 12px;text-align:center;color:var(--muted);font-size:.9rem}.outcomes-strip{list-style:none;margin:0;padding:26px 20px;display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),color-mix(in srgb,var(--accent-alt) 16%,var(--surface)));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border))}.outcomes-strip li{flex:1 1 0;max-width:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:4px 28px}.outcomes-strip li+li{border-left:1px solid color-mix(in srgb,var(--accent) 28%,var(--border))}.outcomes-strip strong{font-size:2.3rem;font-weight:800;line-height:1;letter-spacing:-.02em}.outcomes-strip strong span{font-size:1.4rem;margin-left:4px;color:#faaf00}.outcomes-strip li>span,.outcomes-strip li a>span{color:var(--muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em}.outcomes-strip li a{display:flex;flex-direction:column;align-items:center;gap:6px;color:inherit;text-decoration:none;border-radius:10px}.outcomes-strip li a:hover>span,.outcomes-strip li a:focus-visible>span{color:var(--accent);text-decoration:underline}.enquire-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;max-width:640px}.enquire-form .enquire-goal,.enquire-form .enquire-submit,.enquire-form .enquire-consent{grid-column:1/-1}.enquire-submit{justify-self:start}.enquire-consent{margin:0;color:var(--muted);font-size:.8rem}.enquire-website{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.enquire-thanks{text-align:center;padding:40px 24px}.enquire-thanks .enquire-thanks-icon{color:var(--accent)}.enquire-thanks h3{margin:10px 0 6px}.enquire-thanks p{margin:0;color:var(--muted)}.lead-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}.lead-card{border:1px solid var(--border);border-left:5px solid var(--accent);border-radius:12px;padding:14px 16px;background:color-mix(in srgb,var(--surface-alt) 55%,transparent)}.lead-card.contacted{border-left-color:#d97706}.lead-card.converted{border-left-color:#16a34a;opacity:.75}.lead-card-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.lead-status-pill{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent)}.lead-status-pill.contacted{background:color-mix(in srgb,#d97706 15%,var(--surface));color:#b45309}.lead-status-pill.converted{background:color-mix(in srgb,#16a34a 15%,var(--surface));color:#15803d}.lead-meta{margin:4px 0 0;color:var(--muted);font-size:.85rem}.lead-goal{margin:10px 0;padding-left:12px;border-left:3px solid var(--border);font-style:italic;color:var(--text)}.lead-contact{margin:0 0 10px;font-size:.9rem}.lead-contact a{color:var(--accent);font-weight:600;text-decoration:none}.lead-actions{display:flex;gap:8px;flex-wrap:wrap}.dashboard-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dashboard-enquiries-pill{border:none;border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer;background:color-mix(in srgb,#d97706 18%,var(--surface));color:#b45309}.sortable-rows{display:flex;flex-direction:column;gap:8px}.sortable-item{display:flex;align-items:flex-start;gap:6px;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.sortable-item.dragging{position:relative;z-index:2;opacity:.95;box-shadow:0 10px 24px #0f172a2e}.sortable-grip{border:none;background:none;color:var(--muted);padding:8px 2px;border-radius:6px;display:inline-flex;align-items:center;cursor:grab;touch-action:none}.sortable-grip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.site-editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (min-width: 901px){.site-editor-header{position:sticky;top:0;z-index:5;box-shadow:0 8px 26px #0f172a1f}}.site-editor-fields{display:flex;flex-direction:column;gap:16px;margin-top:12px;max-width:40rem}.site-editor-section-name{align-self:center;font-weight:600}.site-editor-row{flex:1;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:8px;align-items:start}.site-editor-point-row{flex:1;display:grid;grid-template-columns:1fr 2fr auto;gap:8px;align-items:start}@media (max-width: 760px){.site-editor-row,.site-editor-point-row{grid-template-columns:1fr}}.site-editor-preview-note{margin:0;padding:10px 14px;border:1px dashed var(--border);border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--text);font-size:.9rem}.offerings-bio .bio-body{max-width:68ch}.offerings-bio .bio-qualifications{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.offerings-bio .bio-qualifications li{padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 10%,var(--surface));font-size:.85rem}.offerings-bio .bio-safeguarding{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.offerings-bio .bio-safeguarding p{margin:8px 0 0;color:var(--muted);font-size:.92rem;max-width:68ch}.offerings-bio .bio-dbs-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:.85rem;font-weight:700;color:#fff;background:#2e7d32}.offerings-faq .faq-list{margin-top:12px;display:flex;flex-direction:column}.offerings-faq .faq-item{border-bottom:1px solid var(--border)}.offerings-faq .faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 2px;font-weight:600;cursor:pointer;list-style:none}.offerings-faq .faq-item summary::-webkit-details-marker{display:none}.offerings-faq .faq-item summary:after{content:"▾";color:var(--muted);transition:transform .15s ease}.offerings-faq .faq-item[open] summary:after{transform:rotate(180deg)}.offerings-faq .faq-item[open] summary{color:var(--accent)}.offerings-faq .faq-item p{margin:0 0 14px;padding:0 2px;color:var(--muted);max-width:68ch}.offerings-faq .faq-cta{margin:14px 0 0;color:var(--muted);font-size:.92rem}.offerings-faq .faq-cta .MuiButton-root{text-transform:none;padding:0 4px;vertical-align:baseline}.offerings-freeform{background-color:#c08552;background-image:radial-gradient(rgba(74,38,12,.13) 2px,transparent 2.5px),radial-gradient(rgba(255,241,214,.1) 1.5px,transparent 2px),radial-gradient(rgba(74,38,12,.09) 1px,transparent 1.5px);background-size:23px 19px,17px 13px,11px 11px;border:10px solid #7b4b22;border-radius:10px;box-shadow:inset 0 0 14px #1e0c0259,0 6px 16px #0f172a26;padding:30px 24px 26px}.freeform-note{position:relative;max-width:40rem;margin:0 auto;padding:30px 26px 22px;background:linear-gradient(172deg,#fffdf3 60%,#f7edc8);border-radius:4px 10px 6px 9px;box-shadow:0 12px 20px #1e0c0259;transform:rotate(-1.3deg);transform-origin:50% 0;animation:freeform-sway 7s ease-in-out infinite;font-family:Caveat,Bradley Hand,Segoe Print,cursive;font-size:1.4rem;line-height:1.45;color:#313b52}.freeform-note:before{content:"📌";position:absolute;top:-16px;left:50%;transform:translate(-50%) rotate(10deg);font-size:1.7rem;filter:drop-shadow(0 4px 3px rgba(30,12,2,.4))}.freeform-note:after{content:"";position:absolute;top:-10px;right:22px;width:88px;height:26px;transform:rotate(7deg);border-radius:2px;background:linear-gradient(100deg,#ec4899b3,#6366f1b3)}.freeform-note .offerings-heading{margin:0 0 10px;font-family:inherit;font-size:2.1rem;font-weight:700;color:#b91c1c;transform:rotate(-.6deg)}.freeform-note a{color:#1d4ed8;text-decoration-thickness:2px;text-underline-offset:3px}.freeform-note ul,.freeform-note ol{margin:8px 0;padding-left:26px}.freeform-note strong{color:#0f172a}@keyframes freeform-sway{0%,to{transform:rotate(-1.3deg)}50%{transform:rotate(1.1deg)}}@media (prefers-reduced-motion: reduce){.freeform-note{animation:none}}.privacy-page p{margin:8px 0 0;color:var(--text);line-height:1.55}.privacy-page p a{color:var(--accent);font-weight:600}.privacy-updated{font-size:.85rem;color:var(--muted)}.privacy-table-scroll{overflow-x:auto;margin-top:10px}.privacy-table{width:100%;border-collapse:collapse;font-size:.9rem}.privacy-table th,.privacy-table td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--border)}.privacy-table th{color:var(--muted);font-weight:700;white-space:nowrap}.privacy-list{margin:10px 0 0;padding-left:20px;line-height:1.6}.lead-privacy-reminder{margin:8px 0 0;font-size:.85rem;color:var(--muted)}.lead-privacy-reminder a{color:var(--accent);font-weight:600}.lead-delete{margin-left:auto;color:var(--muted)}.lead-delete:hover{color:#dc2626}.contact-availability{font-size:.85rem;color:var(--muted)}.contact-preferred-pill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.62rem;letter-spacing:.06em;background:color-mix(in srgb,#16a34a 15%,var(--surface));color:#15803d}.day-modal-copy{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-top:6px;padding-top:14px;border-top:1px dashed var(--border)}.calendar-view-toggle{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface-alt)}.calendar-view-toggle:before{content:"";position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:var(--accent);transition:transform .18s ease}.calendar-view-toggle.week:before{transform:translate(100%)}.calendar-view-segment{position:relative;z-index:1;border:none;background:none;padding:5px 16px;border-radius:999px;font:inherit;font-weight:700;font-size:.85rem;color:var(--muted);cursor:pointer;transition:color .18s ease}.calendar-view-segment.active{color:#fff}.calendar-view-segment:not(.active):hover{color:var(--text)}.calendar-nav-group{display:inline-flex;gap:6px;margin-left:auto}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:14px}@media (min-width: 761px){.week-grid{min-height:825px}}.week-day{display:flex;flex-direction:column;gap:8px;min-height:220px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-alt)}.week-day.today{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.week-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border:none;background:none;padding:2px 4px;border-radius:8px;cursor:pointer;font:inherit;color:var(--text)}.week-day-head:hover,.week-day-head:focus-visible{background:color-mix(in srgb,var(--accent) 10%,transparent)}.week-day-head .week-day-name{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.week-day-entries{display:flex;flex-direction:column;gap:6px}.week-entry{display:flex;flex-direction:column;gap:2px;text-align:left;border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--surface);cursor:pointer;font:inherit;color:var(--text)}.week-entry:hover,.week-entry:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.week-entry strong{font-size:.8rem;color:var(--accent)}.week-entry .week-entry-title{font-size:.85rem;font-weight:600}.week-entry .week-entry-subject{font-size:.78rem;color:var(--muted)}.week-entry.cancelled{opacity:.55}.week-entry.cancelled .week-entry-title{text-decoration:line-through}.week-day-empty{font-size:.8rem;color:var(--muted);padding:4px}@media (max-width: 760px){.week-grid{grid-template-columns:1fr}.week-day{min-height:0}}.week-day.weekend{background:color-mix(in srgb,#f59e0b 8%,var(--surface-alt));border-color:color-mix(in srgb,#f59e0b 25%,var(--border))}.week-day.weekend .calendar-day-number{color:#b45309}.calendar-weekdays span:first-child,.calendar-weekdays span:last-child{color:#b45309}.draggable-entry{display:flex;touch-action:none}.draggable-entry>*{flex:1}.draggable-entry.dragging{position:relative;z-index:5;opacity:.85;cursor:grabbing}.drop-target>.calendar-day,.drop-target>.week-day{outline:2px dashed var(--accent);outline-offset:-2px;background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.clash-warning{margin:0;padding:8px 12px;border-radius:10px;font-size:.85rem;background:color-mix(in srgb,#d97706 12%,var(--surface));color:#b45309}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{padding-bottom:16px;position:sticky;top:0;z-index:10}.sidebar .mobile-nav-toggle{display:inline-flex}.sidebar .sidebar-nav{display:none;flex-direction:column;width:100%}.sidebar.mobile-open{height:100vh;height:100dvh;overflow:hidden}.sidebar.mobile-open .sidebar-nav{display:flex;flex:1 1 auto;min-height:0;overflow-y:auto}.sidebar .sidebar-nav button{flex:1 1 100%;text-align:center;white-space:nowrap;width:100%}.grid{grid-template-columns:1fr 1fr}.dashboard-chart-card,.payment-summary-grid{grid-column:span 2}}@media (max-width: 640px){.main-content{padding:16px}.section-header{flex-wrap:wrap}.section-header .MuiButton-root{white-space:nowrap}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.welcome-quote{white-space:normal;overflow:visible;max-width:none}.topbar-actions{width:100%;justify-content:space-between}.sidebar{padding:16px;gap:14px}.sidebar h1{font-size:1.4rem}.sidebar .sidebar-nav button{flex:1 1 100%}.grid{grid-template-columns:1fr}.payment-summary-grid{grid-template-columns:1fr 1fr}.dashboard-chart-card,.calendar-card{grid-column:span 1}.payment-tracker-hero,.scheduling-hero{flex-direction:column;align-items:flex-start}.payment-summary-grid{gap:10px}.student-form{grid-template-columns:1fr}.student-form .span-2,.student-form .subjects-control,.student-form textarea,.student-form button{grid-column:1/-1}.modal-form .MuiDialogActions-root{justify-content:stretch;gap:8px}.modal-form .MuiDialogActions-root button{flex:1}.modal-header{position:relative;flex-direction:column;align-items:stretch;gap:10px;padding-right:44px}.modal-header-actions{align-self:flex-end}.modal-header-actions .MuiIconButton-root{position:absolute;top:8px;right:12px}.table-footer{flex-direction:column;align-items:flex-start;gap:8px}.student-item,.payment-item{flex-direction:column;align-items:flex-start}.student-details,.detail-grid{grid-template-columns:1fr}.detail-grid-full,.calendar-card{grid-column:span 1}.session-item{grid-template-columns:1fr;align-items:flex-start}.session-item .session-mode{justify-self:start}.student-row{flex-direction:column;align-items:flex-start}.scheduling-calendar-header{flex-direction:column;align-items:stretch}.calendar-actions{width:100%;justify-content:space-between}.scheduling-hero{flex-direction:column;align-items:flex-start}.scheduling-hero-stats{width:100%}.scheduling-hero-stats div{flex:1;min-width:0}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays span{font-size:.6rem;letter-spacing:0}.calendar-day{min-height:44px;padding:4px;border-radius:8px;gap:2px}.calendar-day-number{font-size:.8rem}.calendar-day-count{right:3px;bottom:3px;min-width:14px;height:14px;padding:0 3px;font-size:.6rem;line-height:14px}}@media (max-width: 640px){.theme-swatches{right:auto;left:0}}@media (max-width: 1024px){.week-card{grid-column:span 2}}@media (max-width: 640px){.week-card{grid-column:span 1}}@media (max-width: 640px){.edit-fields{grid-template-columns:minmax(0,1fr)}.edit-span-2{grid-column:span 1}}@media (max-width: 640px){.dashboard-hero-stats button{padding:2px 10px}.dashboard-hero-stats button strong{font-size:1.15rem}.dashboard-hero-stats button span{white-space:normal}}@media (max-width: 640px){.snapshot-table,.payment-table-wrapper .snapshot-table{min-width:0}.snapshot-table{display:block}.snapshot-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.snapshot-table tbody{display:block}.snapshot-table tr{display:block;border:1px solid var(--border);border-radius:12px;padding:6px 14px;margin-bottom:12px;background:var(--surface)}.snapshot-table tr:nth-child(2n){background:var(--surface)}.snapshot-table td{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--border);text-align:right}.snapshot-table td:last-child{border-bottom:none}.snapshot-table td:before{content:attr(data-label);flex:0 0 auto;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.snapshot-table td.cell-title{display:block;text-align:left;padding-top:4px;border-bottom:2px solid var(--border);font-size:1.02rem}.snapshot-table td.cell-title:before{content:none}.snapshot-table td.cell-index{display:none}.snapshot-table td.cell-input{display:block;text-align:left}.snapshot-table td.cell-input:before{display:block;margin-bottom:6px}.payment-tracker-table .payment-basis strong{margin-right:8px}.payment-tracker-table .payment-basis small{display:inline;margin-top:0}.payment-amount-cell{width:100%}}@media (max-width: 640px){.outcomes-strip{padding:20px 8px}.outcomes-strip li{padding:4px 12px}.outcomes-strip strong{font-size:1.8rem}}@media (max-width: 640px){.session-breakdown-table{display:table;min-width:0;width:100%;font-size:.72rem}.session-breakdown-table thead{position:static;width:auto;height:auto;margin:0;clip:auto;overflow:visible;white-space:normal}.session-breakdown-table tbody{display:table-row-group}.session-breakdown-table tr{display:table-row;border:0;border-radius:0;padding:0;margin:0}.session-breakdown-table th,.session-breakdown-table td{display:table-cell;padding:7px 4px;border-bottom:1px solid var(--border);text-align:left}.session-breakdown-table td:before{content:none}.session-breakdown-table th:last-child,.session-breakdown-table td:last-child{text-align:right;border-bottom:1px solid var(--border)}}@media (max-width: 640px){.privacy-table{display:block}.privacy-table thead{display:none}.privacy-table tbody{display:block}.privacy-table tr{display:block;padding:12px 0;border-bottom:1px solid var(--border)}.privacy-table td{display:block;padding:0;border-bottom:none}.privacy-table td:before{content:attr(data-label);display:block;margin:10px 0 2px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.privacy-table td:first-child{font-weight:600}.privacy-table td:first-child:before{content:none;margin:0}}
