@font-face{font-family:manrope;src:url(../media/manrope_variable-s.p.028c8tq42ci30.ttf)format("truetype");font-display:swap;font-weight:200 800}@font-face{font-family:manrope Fallback;src:local(Arial);ascent-override:106.45%;descent-override:29.96%;line-gap-override:0.0%;size-adjust:100.14%}.manrope_dd832682-module__u-rt5a__className{font-family:manrope,manrope Fallback}.manrope_dd832682-module__u-rt5a__variable{--font-ui:"manrope", "manrope Fallback"}
@font-face{font-family:literata;src:url(../media/literata_variable-s.1gynbi6k8o8pi.ttf)format("truetype");font-display:swap;font-weight:200 900}@font-face{font-family:literata Fallback;src:local(Arial);ascent-override:108.97%;descent-override:28.52%;line-gap-override:0.0%;size-adjust:108.01%}.literata_ac0c0125-module__bkkaCG__className{font-family:literata,literata Fallback}.literata_ac0c0125-module__bkkaCG__variable{--font-editorial:"literata", "literata Fallback"}
:root{--canvas:#f5f7f6;--surface:#fff;--ink:#223039;--muted:#64716f;--brand-primary:#137d60;--brand-hover:#0e644d;--attention:#aa7334;--success-bg:#e7f5ed;--success:#20744a;--warning-bg:#fff3d7;--warning:#8a5b00;--error-bg:#fde9e7;--error:#b9362b;--info-bg:#eaf5ef;--unavailable:#eff2f0;--unavailable-ink:#62716a;--calendar-hour-height:68px;--content-width:1240px;--border:#dce4df;--border-strong:#bac9c1;--control-border:#82948a;--warning-subtle:#fcf8ef;--warning-border:#e9ddc4;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-control:8px;--radius-card:12px;--radius-panel:16px;--sidebar-width:244px;--focus:0 0 0 3px #137d6029;--brand-logo:#2db987;--brand-soft:#eaf5ef;--surface-subtle:#f8faf9;--motion-fast:.16s;--motion-panel:.22s}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:var(--canvas);font-family:var(--font-ui), Inter, system-ui, sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;font-size:15px;font-weight:450;line-height:1.53}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-ui), system-ui, sans-serif;letter-spacing:-.035em;font-size:21px;font-weight:700}h1{margin-bottom:var(--space-2);letter-spacing:-.045em;font-size:30px;font-weight:750;line-height:1.21}h2{font-size:22px;font-weight:600;line-height:1.27}h3{font-size:18px;font-weight:650;line-height:1.33}::selection{background:var(--info-bg);color:var(--ink)}:focus-visible{box-shadow:var(--focus);outline:2px solid var(--brand-primary);outline-offset:3px;border-radius:5px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--ink);color:#fff;border-radius:var(--radius-control);padding:10px 14px;transition:top .15s;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}.brand{flex-shrink:0;align-items:center;padding:6px 0;display:inline-flex}.brand-artwork{background:#fff;flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.brand-symbol{object-fit:contain;flex-shrink:0;width:34px;height:auto}.brand-wordmark{object-fit:contain;flex-shrink:0;width:132px;height:auto}.brand-compact-label{display:none}.brand--public .brand-symbol{width:40px}.brand--public .brand-wordmark{width:146px}.eyebrow{margin:0 0 var(--space-2);color:var(--muted);font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:650;line-height:16px}.eyebrow--light{color:#ffffffb3}.text-link{min-height:40px;color:var(--brand-primary);background:0 0;border:0;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.back-link{min-height:40px;margin-bottom:var(--space-4);color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:650;display:inline-flex}.button{border-radius:var(--radius-control);min-height:40px;transition:background var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) ease;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:700;line-height:20px;display:inline-flex}.button:hover:not(:disabled){transform:none}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button--primary{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.button--primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.button--secondary{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.button--secondary:hover:not(:disabled){border-color:var(--brand-primary);color:var(--brand-primary)}.button--quiet{color:var(--muted);background:0 0;border-color:#0000}.button--quiet:hover:not(:disabled){background:var(--unavailable);color:var(--ink)}.button--danger-soft{background:var(--error-bg);color:var(--error);border-color:#f4c9c4}.button--large{min-height:48px;padding:12px 20px;font-size:14px}.button--full{width:100%}.button--inline{align-self:flex-start}.button--small{min-height:40px;padding:6px 10px;font-size:12px}.icon-button{width:40px;height:40px;color:var(--muted);border-radius:var(--radius-control);background:0 0;border:1px solid #0000;flex:0 0 40px;place-items:center;padding:0;display:inline-grid}.icon-button:hover{color:var(--ink);background:var(--unavailable)}.icon-button--border{border-color:var(--border);background:var(--surface)}.icon-button--blue{color:#fff;background:var(--brand-primary)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:6px;min-width:0;font-size:13px;font-weight:650;display:grid}.field>span{color:var(--ink);justify-content:space-between;display:flex}.field>span small{color:var(--muted);font-weight:500}.field input,.field select,.field textarea,.search-field input{background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-control);width:100%;min-height:42px;transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;padding:9px 11px;font-size:14px;font-weight:500;line-height:21px}.field textarea{resize:vertical}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-primary);box-shadow:var(--focus);outline:none}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--error)}.field input[readonly]{color:var(--muted);background:var(--unavailable)}.field input:disabled,.field select:disabled{color:var(--unavailable-ink);background:var(--unavailable);border-color:var(--border);cursor:not-allowed;opacity:.72}.field>small{color:var(--muted);font-size:12px;font-weight:500}.field-error{font-size:12px;font-weight:650;color:var(--error)!important}.field-group{gap:var(--space-4);border:0;border-top:1px solid var(--border);border-radius:0;min-width:0;margin:0;padding:20px 0 0;display:grid}.field-group legend{padding:0 12px 0 0;font-size:14px;font-weight:750}.form-stack{gap:var(--space-6);display:grid}.form-row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.check-row{cursor:pointer;align-items:center;gap:9px;min-height:40px;font-size:13px;font-weight:650;display:flex}.check-row input{width:17px;height:17px;accent-color:var(--brand-primary)}.place-choice{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-control);align-items:flex-start;width:fit-content;padding:9px 12px}.place-choice input{margin-top:2px}.place-choice span{gap:1px;display:grid}.place-choice small{color:var(--muted);font-size:11px;font-weight:500}.place-choice--disabled{cursor:not-allowed;opacity:.55}.form-alert,.conflict-panel,.integration-error{color:var(--error);background:var(--error-bg);border-radius:var(--radius-control);border:1px solid #f2c9c4;padding:12px 14px;font-size:13px;font-weight:600}.inline-empty{padding:var(--space-4);color:var(--muted);background:var(--canvas);border:1px dashed var(--border-strong);border-radius:var(--radius-control);font-size:13px}.inline-empty--action{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.landing{background:var(--surface);min-height:100vh}.landing-nav{border-bottom:0;justify-content:space-between;align-items:center;max-width:1240px;height:88px;margin:0 auto;padding:0 32px;display:flex}.landing-nav nav{align-items:center;gap:22px;font-size:13px;font-weight:650;display:flex}.landing-hero{grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);align-items:center;gap:56px;max-width:1240px;min-height:620px;margin:0 auto;padding:64px 32px 80px;display:grid}.hero-copy h1{text-wrap:balance;letter-spacing:-.05em;max-width:690px;margin-bottom:24px;font-size:clamp(40px,4.1vw,60px);font-weight:750;line-height:1.12}.hero-lead{max-width:480px;color:var(--muted);margin-bottom:28px;font-size:17px;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-note{color:var(--muted);align-items:center;gap:7px;margin:18px 0 0;font-size:12px;font-weight:600;display:flex}.hero-workspace{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:none;border-color:var(--border);padding:26px;position:relative}.hero-workspace:before{content:"";background:var(--brand-primary);border-radius:16px 0 0 16px;width:4px;display:none;position:absolute;top:0;bottom:0;left:0}.hero-workspace-top,.hero-lesson-meta{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hero-workspace-top h2{margin:0;font-size:24px}.hero-workspace-top>time{color:var(--brand-primary);font-family:var(--font-ui);font-size:25px;font-weight:700}.hero-lesson-meta{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;margin:16px 0 24px;padding-bottom:18px;font-size:13px}.hero-lesson-meta>span:first-child{align-items:center;gap:7px;display:flex}.hero-open{margin-top:8px}.feature-ribbon{grid-template-columns:repeat(3,1fr);gap:28px;max-width:1240px;margin:0 auto;padding:24px 32px 80px;display:grid}.feature-ribbon article{border-top:1px solid var(--border-strong);border:0;min-height:180px;padding:24px 0 0}.feature-ribbon article:last-child{border-right:0}.feature-ribbon article>span{font-family:var(--font-ui);color:var(--brand-primary)}.feature-ribbon h2{margin:24px 0 10px;font-size:20px}.feature-ribbon p{color:var(--muted)}.pricing-section{gap:var(--space-12);background:var(--brand-soft);grid-template-columns:1fr 380px;align-items:center;padding:72px max(32px,50vw - 588px);display:grid}.pricing-section>div:first-child{max-width:620px}.pricing-section h2{font-size:36px}.pricing-section>div:first-child>p:last-child{color:var(--muted);font-size:17px}.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);border-color:var(--border-strong);padding:32px}.pricing-amount{font-family:var(--font-ui);font-size:36px;font-weight:500}.pricing-card p{color:var(--muted)}.landing-footer{max-width:1240px;color:var(--muted);border-top:1px solid var(--border);gap:24px;margin:0 auto;padding:28px 32px;font-size:12px;display:flex}.landing-footer span{margin-right:auto}.auth-layout{background:var(--surface);grid-template-columns:minmax(480px,1fr) minmax(400px,.9fr);min-height:100vh;display:grid}.auth-panel{flex-direction:column;padding:32px 56px;display:flex}.auth-card{width:100%;max-width:400px;margin:auto;padding:48px 0 32px}.auth-card h1{margin-bottom:10px;font-size:32px;line-height:1.25}.auth-card>p:not(.eyebrow,.auth-switch){color:var(--muted);margin-bottom:28px}.auth-form{gap:16px;display:grid}.auth-helper{color:var(--brand-primary);justify-self:end;align-items:center;min-height:40px;margin-top:-5px;font-size:12px;font-weight:650;display:flex}.auth-divider{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-switch{color:var(--muted);text-align:center;margin:24px 0 0;font-size:13px}.auth-switch a{color:var(--brand-primary);font-weight:700}.auth-aside{color:var(--ink);background:var(--brand-soft);border-radius:var(--radius-panel);flex-direction:column;justify-content:center;margin:16px 16px 16px 0;padding:56px;display:flex;overflow:hidden}.auth-aside blockquote{max-width:560px;font-family:var(--font-editorial), Georgia, serif;letter-spacing:-.04em;margin:20px 0 24px;font-size:clamp(32px,3.5vw,46px);line-height:1.23}.auth-mini-thread{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:0 16px;max-width:100%;padding:24px;display:grid}.auth-mini-thread div{grid-column:2;padding:4px 0;display:grid}.auth-mini-thread small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.mini-node{border:2px solid #b9c1d3;border-color:var(--muted);border-radius:50%;grid-column:1;width:11px;height:11px}.mini-node--done{background:var(--brand-primary);border-color:var(--brand-primary)}.mini-node--now{border-color:var(--brand-primary);border-radius:2px;transform:rotate(45deg)}.mini-line{background:var(--border-strong);grid-column:1;width:1px;height:24px;margin:0 0 0 5px}.legal-page{background:var(--surface);min-height:100vh;padding:32px 6vw}.legal-page article{max-width:720px;margin:10vh auto}.legal-page h1{font-size:42px}.legal-page h2{margin-top:36px}.legal-page p{color:var(--muted);font-size:16px;line-height:1.7}.app-shell{min-height:100vh}.sidebar{z-index:30;width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;padding:28px 16px 20px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-head{justify-content:space-between;align-items:center;padding:0 4px 28px;display:flex}.sidebar-close{display:none}.sidebar-add{border-color:var(--border-strong);width:100%;margin-bottom:28px}.sidebar-nav{gap:6px;display:grid}.sidebar-nav a{min-height:44px;color:var(--muted);border-radius:var(--radius-control);transition:background var(--motion-fast) ease, color var(--motion-fast) ease;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:600;display:flex}.sidebar-nav a:hover{color:var(--ink);background:var(--canvas)}.sidebar-nav a.active{color:var(--brand-primary);background:var(--info-bg);box-shadow:none;font-weight:750}.sidebar-nav a.active svg{color:var(--brand-primary)}.sidebar-account{border-top:1px solid var(--border);grid-template-columns:38px minmax(0,1fr) 36px;align-items:center;gap:9px;margin-top:auto;padding:14px 0 0;display:grid}.sidebar-account>span:nth-child(2){min-width:0;display:grid}.sidebar-account strong,.sidebar-account small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-account strong{font-size:12px}.sidebar-account small{color:var(--muted);font-size:12px}.avatar{width:38px;height:38px;color:var(--ink);background:var(--unavailable);border:1px solid var(--border);border-radius:12px;flex:0 0 38px;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.avatar--small{flex-basis:32px;width:32px;height:32px;font-size:12px}.avatar--large{background:var(--brand-soft);width:64px;height:64px;color:var(--brand-primary);border-radius:18px;flex-basis:64px;font-size:17px}.app-main{min-width:0;min-height:100vh;margin-left:var(--sidebar-width);padding:32px clamp(24px,3vw,52px) 64px}.mobile-header,.bottom-nav{display:none}.offline-banner,.readonly-banner{border-radius:var(--radius-control);z-index:90;color:#523a00;background:var(--warning-bg);text-align:center;border-bottom:1px solid #ead49c;margin-bottom:20px;padding:8px 24px;font-size:12px;font-weight:650;position:relative;top:0;left:0;right:0}.readonly-banner a{color:var(--brand-primary);text-decoration:underline}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin:0 auto 32px;display:flex}.page-header h1{margin-bottom:4px}.page-intro{max-width:660px;color:var(--muted);margin:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-heading h2{margin:0}.empty-state{color:var(--muted);justify-items:start;gap:12px;padding:24px 16px;display:grid}.empty-state p{max-width:520px;margin:0}.empty-rule{background:var(--brand-primary);border-radius:2px;width:28px;height:2px;display:block}.route-error,.not-found{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);justify-items:start;gap:8px;max-width:620px;margin:16vh auto;padding:36px;display:grid}.route-error svg{color:var(--error)}.route-error h1,.not-found h1{margin:0}.route-error p,.not-found p{color:var(--muted)}.page-loading{gap:24px;padding-top:16px;display:grid}.skeleton{background:var(--border);border-radius:var(--radius-control);animation:1.2s ease-in-out infinite alternate skeleton}.skeleton--title{width:280px;height:38px}.skeleton--wide{width:100%;height:140px}.skeleton-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.skeleton--card{height:320px}@keyframes skeleton{to{opacity:.5}}.status-badge{width:max-content;font-family:var(--font-ui);white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;max-width:100%;padding:3px 7px;font-size:12px;font-weight:650;line-height:16px;display:inline-flex}.status-badge--scheduled{color:var(--muted);background:var(--unavailable)}.status-badge--needs_completion,.status-badge--warning,.status-badge--payment-unpaid{color:var(--warning);background:var(--warning-bg)}.status-badge--completed,.status-badge--payment-paid{color:var(--success);background:var(--success-bg)}.status-badge--cancelled,.status-badge--payment-cancelled{color:var(--unavailable-ink);background:var(--unavailable)}.status-badge--integration-connected{color:var(--success);background:var(--success-bg)}.status-badge--integration-error{color:var(--error);background:var(--error-bg)}.status-badge--integration-not_configured,.status-badge--integration-not_connected{color:var(--muted);background:var(--unavailable)}.status-dot{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:750;display:inline-flex}.status-dot:before{content:"";border:2px solid;border-radius:50%;width:7px;height:7px}.status-dot--active{color:var(--success)}.today-page{max-width:1240px;margin:0 auto}.today-grid{grid-template-columns:minmax(0,1fr) minmax(360px,1fr);align-items:start;gap:20px;display:grid}.day-plan{background:0 0;border:0;border-radius:0;padding:24px}.agenda-list{gap:0;margin:22px 0 0;padding:0;list-style:none;display:grid}.agenda-list li{grid-template-columns:52px 17px 1fr;align-items:stretch;min-height:68px;display:grid}.agenda-list>li>time{color:var(--ink);font-family:var(--font-ui);padding-top:13px;font-size:13px;font-weight:500}.agenda-line{position:relative}.agenda-line:before{content:"";z-index:1;background:var(--surface);border:2px solid var(--brand-primary);border-radius:50%;width:7px;height:7px;position:absolute;top:20px;left:7px}.agenda-line:after{content:"";background:var(--border);width:1px;position:absolute;top:27px;bottom:-20px;left:10px}.agenda-list li:last-child .agenda-line:after{display:none}.agenda-card{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-width:0;margin-bottom:7px;padding:11px 13px;display:flex}.agenda-card:hover{background:var(--canvas);border-radius:var(--radius-control)}.agenda-card>span:first-child{min-width:0;display:grid}.agenda-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.agenda-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.next-lesson-card{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-top:1px solid var(--border-strong);border-radius:var(--radius-panel);border-color:var(--border-strong);padding:28px;position:relative;overflow:hidden}.next-lesson-card .eyebrow{color:var(--muted)}.next-identity{grid-template-columns:1fr;align-items:baseline;gap:8px;min-width:0;margin:24px 0 20px;display:grid}.next-identity>time{font-family:var(--font-ui);color:var(--brand-primary);letter-spacing:-.04em;font-size:32px;font-weight:750}.next-identity h2{overflow-wrap:anywhere;margin:0 0 4px;font-size:26px}.next-identity p{color:var(--muted);margin:0;font-size:13px}.lesson-facts{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);flex-wrap:wrap;gap:8px 14px;padding:14px 0 18px;font-size:12px;display:flex}.lesson-facts>span{align-items:center;gap:6px;display:inline-flex}.next-lesson-card .button--primary{background:var(--brand-primary)}.completion-section{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;margin-top:20px;padding:20px 0}.attention-count{min-width:28px;height:28px;color:var(--warning);background:var(--warning-bg);font-family:var(--font-ui);border-radius:6px;place-items:center;font-size:12px;display:grid}.completion-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin-top:16px;display:grid}.completion-list>a{border-top:1px solid var(--border);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.completion-marker{background:var(--attention);width:8px;height:8px;transform:rotate(45deg)}.completion-list a>span:nth-child(2){min-width:0;display:grid}.completion-list strong,.completion-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.completion-list strong{font-size:13px}.completion-list small{color:var(--muted);font-size:12px}.completion-action{color:var(--brand-primary);align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.quiet-metrics{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin-top:20px;display:grid}.quiet-metrics>div,.quiet-metrics>a{border-right:1px solid var(--border);justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.quiet-metrics>:last-child{border-right:0}.quiet-metrics small{color:var(--muted);font-size:12px;font-weight:650}.quiet-metrics strong{font-family:var(--font-ui);font-size:18px}.metric-warning{color:var(--error);gap:10px;justify-content:flex-start!important}.metric-warning span{display:grid}.progress-thread{margin:24px 0;display:grid}.thread-node{grid-template-columns:22px minmax(0,1fr);gap:16px;min-height:88px;padding-bottom:20px;display:grid;position:relative}.thread-node:not(:last-child):after{content:"";z-index:0;background:var(--border-strong);width:1px;position:absolute;top:20px;bottom:-3px;left:10px}.thread-symbol{z-index:1;width:21px;height:21px;color:var(--muted);background:var(--surface);border:1.5px solid;border-radius:50%;place-items:center;display:grid}.thread-node--done .thread-symbol{color:var(--success);background:var(--success-bg)}.thread-node--now .thread-symbol{color:var(--brand-primary);background:var(--brand-soft);border-radius:4px;transform:rotate(45deg)}.thread-node--now .thread-symbol svg{transform:rotate(-45deg)}.thread-node>div{align-content:start;display:grid}.thread-node small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:12px;font-weight:650}.thread-node strong{font-family:var(--font-ui);font-size:15px;font-weight:700;line-height:1.35}.thread-node p{color:var(--muted);margin:3px 0 0;font-size:12px}.progress-thread--compact{margin:22px 0 16px}.progress-thread--compact .thread-node{min-height:68px}.progress-thread--compact .thread-symbol{color:var(--muted);background:var(--surface)}.progress-thread--compact .thread-node--done .thread-symbol{color:var(--success);background:var(--success-bg)}.progress-thread--compact .thread-node--now .thread-symbol{color:var(--brand-primary);background:var(--brand-soft)}.progress-thread--compact .thread-node:not(:last-child):after{background:var(--border)}.progress-thread--compact .thread-node small,.progress-thread--compact .thread-node p{color:var(--muted)}.progress-thread--hero{margin-bottom:12px}.students-page,.student-detail,.payments-page,.statistics-page,.settings-page,.lesson-page,.calendar-page{max-width:1240px;margin:0 auto}.list-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.search-field{width:min(440px,100%);min-height:44px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);align-items:center;gap:8px;padding:0 12px;display:flex}.search-field input{border:0;outline:0;min-height:40px;padding:0}.segmented-control{background:var(--unavailable);border-radius:10px;width:max-content;padding:3px;display:flex}.segmented-control button,.segmented-control label span{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:6px 13px;font-size:12px;font-weight:700;display:grid}.segmented-control button.selected{color:var(--ink);background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 2px #1820330f}.segmented-control label:has(input:checked) span{color:var(--ink);background:var(--surface);border:1px solid var(--border);box-shadow:0 1px 2px #1820330f}.segmented-control label input{opacity:0;pointer-events:none;position:absolute}.segmented-control--compact button{min-height:40px}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);flex-direction:column;min-width:0;min-height:268px;padding:20px;display:flex}.student-card:hover{border-color:var(--border-strong)}.student-card-top{justify-content:space-between;align-items:center;display:flex}.student-card h2{overflow-wrap:anywhere;margin:16px 0 6px;font-size:20px}.student-card h2 a:hover{color:var(--brand-primary)}.student-card>p{min-height:24px;color:var(--muted);font-size:13px}.student-card dl{gap:8px;margin:8px 0 20px;display:grid}.student-card dl div{justify-content:space-between;gap:16px;font-size:12px;display:flex}.student-card dt{color:var(--muted)}.student-card dd{text-align:right;margin:0}.student-card-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;display:flex}.student-hero{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:28px;margin-bottom:24px;padding:26px 0;display:flex}.student-hero-main{align-items:center;gap:18px;min-width:0;display:flex}.student-hero h1{overflow-wrap:anywhere;max-width:760px;margin:5px 0 2px;font-size:36px}.student-hero p{color:var(--muted);margin:0}.student-hero-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:24px;margin-bottom:24px;display:flex;overflow-x:auto}.tabs button{min-height:44px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 1px;font-size:12px;font-weight:750}.tabs button.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.student-overview{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;display:grid}.progress-panel,.student-facts{padding:24px}.progress-panel .progress-thread{max-width:680px}.student-facts dl{gap:0;margin:18px 0;display:grid}.student-facts dl div{border-bottom:1px solid var(--border);grid-template-columns:120px 1fr;gap:12px;padding:10px 0;font-size:12px;display:grid}.student-facts dt{color:var(--muted)}.student-facts dd{align-items:center;gap:6px;margin:0;font-weight:650;display:flex}.breakable{overflow-wrap:anywhere}.student-note{background:var(--warning-bg);border-left:3px solid var(--attention);padding:12px 14px}.student-note strong{font-size:12px}.student-note p{color:var(--muted);margin:3px 0 0;font-size:12px}.upcoming-panel{grid-column:1/-1;margin-top:4px}.tab-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:24px}.lesson-rows,.payment-rows{margin-top:16px;display:grid}.lesson-rows>a,.payment-rows>a{border-top:1px solid var(--border);grid-template-columns:minmax(170px,.7fr) minmax(220px,1fr) auto;align-items:center;gap:20px;min-height:72px;padding:12px 8px;display:grid}.lesson-rows>a:hover,.payment-rows>a:hover{background:var(--canvas)}.lesson-rows>a>span:not(.status-badge),.payment-rows>a>span:not(.status-badge){min-width:0;display:grid}.lesson-rows small,.payment-rows small{color:var(--muted);font-size:12px}.lesson-rows strong,.payment-rows strong{font-size:13px}.payment-rows>a{grid-template-columns:1fr 120px auto}.money-value{font-family:var(--font-ui);text-align:right;justify-content:end;font-weight:500}.progress-history{grid-template-columns:.7fr 1.3fr;gap:48px;display:grid}.topic-history{align-content:start;display:grid}.topic-history>a{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 8px;display:flex}.topic-history a>span:first-child{display:grid}.topic-history small{color:var(--muted);font-size:12px}.score-number{color:var(--brand-primary);font-family:var(--font-ui);font-size:16px}.dialog-overlay{z-index:100;background:#18203338;animation:.18s ease-out overlay-in;position:fixed;inset:0}.dialog-content{z-index:101;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);flex-direction:column;max-height:calc(100vh - 32px);animation:.22s ease-out dialog-in;display:flex;position:fixed;box-shadow:0 24px 70px #18203333}.dialog-content--sheet{width:min(600px,100vw - 32px);top:16px;bottom:16px;right:16px}.dialog-content--medium{width:min(620px,100vw - 32px);animation-name:dialog-center-in;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog-content--alert{width:min(520px,100vw - 32px);min-height:250px;padding:28px;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog-content--alert h2{margin-bottom:8px}.dialog-content--alert>p{color:var(--muted)}.dialog-alert-icon{width:42px;height:42px;color:var(--error);background:var(--error-bg);border-radius:50%;place-items:center;display:none;position:absolute;top:24px;right:24px}.dialog-content--alert .dialog-footer{flex-wrap:wrap;margin:auto -28px -28px;padding-inline:0}.dialog-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 18px;display:flex}.dialog-header h2{margin:0 0 4px}.dialog-header p{color:var(--muted);max-width:46ch;margin:0;font-size:12px}.dialog-scroll{overscroll-behavior:contain;min-height:0;padding:22px 24px 100px;overflow-y:auto}.dialog-footer{background:var(--surface);border-top:1px solid var(--border);border-radius:0 0 var(--radius-panel) var(--radius-panel);min-height:72px;padding:14px 24px;padding-bottom:max(16px, env(safe-area-inset-bottom));flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;margin-top:auto;display:flex}@keyframes overlay-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translate(12px)}}@keyframes dialog-center-in{0%{opacity:0;transform:translate(-50%,-48%)}}.student-picker{gap:6px;max-height:220px;display:grid;overflow-y:auto}.student-option{cursor:pointer;border:0;border-bottom:1px solid var(--border);border-radius:0;grid-template-columns:18px 34px minmax(0,1fr);align-items:center;gap:9px;padding:8px;display:grid}.student-option:has(input:checked){border-color:var(--border-strong);background:var(--info-bg)}.student-option input{accent-color:var(--brand-primary)}.student-option>span:last-child{min-width:0;display:grid}.student-option strong,.student-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-option strong{overflow-wrap:anywhere;font-size:12px}.student-option small{color:var(--muted);font-size:12px}.occurrence-list{gap:10px;display:grid}.occurrence-row{grid-template-columns:minmax(140px,1.2fr) minmax(105px,.8fr) minmax(100px,.7fr) 40px;align-items:end;gap:8px;display:grid}.occurrence-row:not(:has(.occurrence-remove)){grid-template-columns:minmax(140px,1.2fr) minmax(105px,.8fr) minmax(100px,.7fr)}.recurrence-preview{color:var(--brand-primary);background:var(--info-bg);border-radius:var(--radius-control);gap:12px;padding:13px;display:flex}.recurrence-preview div{min-width:0}.recurrence-preview strong{font-size:12px}.recurrence-preview p,.recurrence-preview small{color:var(--muted);font-family:var(--font-ui);margin:2px 0 0;font-size:12px;line-height:1.7}.conflict-panel{gap:12px;display:flex}.conflict-panel p{margin:3px 0 12px}.toast{z-index:120;color:#fff;background:var(--ink);border-radius:var(--radius-control);justify-content:space-between;align-items:center;gap:16px;min-width:280px;max-width:440px;min-height:48px;padding:12px 16px;font-size:13px;font-weight:650;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #18203333}.toast--error{background:#81291f}.toast button{color:#9ce1c7;background:0 0;border:0;font-size:12px;font-weight:750}.calendar-header{margin-bottom:18px}.calendar-header-actions{align-items:center;gap:8px;display:flex}.picker-section-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:8px 10px 4px;font-size:10px;font-weight:750;display:block}.recurrence-weekdays{margin:0}.weekday-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.weekday-picker label{cursor:pointer}.weekday-picker input{opacity:0;position:absolute}.weekday-picker span{border:1px solid var(--border);min-height:38px;color:var(--muted);border-radius:6px;place-items:center;font-size:11px;font-weight:700;display:grid}.weekday-picker input:checked+span{color:var(--brand-primary);background:var(--brand-soft);border-color:var(--brand-primary)}.weekday-picker input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.calendar-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-nav>strong{font-family:var(--font-ui);text-transform:capitalize;margin-left:8px;font-size:18px}.planning-bar{border-radius:var(--radius-control);background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;min-height:50px;margin-bottom:12px;padding:8px 0;display:flex}.planning-bar label{align-items:center;gap:8px;font-size:12px;font-weight:650;display:flex}.planning-bar label svg{color:var(--brand-primary)}.planning-bar select{background:var(--canvas);border:1px solid var(--border);border-radius:6px;min-height:40px;padding:5px 32px 5px 9px;font-size:12px}.calendar-grid-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);grid-template-rows:64px auto;grid-template-columns:56px minmax(0,1fr);max-height:calc(100dvh - 230px);display:grid;overflow:hidden auto}.calendar-corner{border-right:1px solid var(--border);border-bottom:1px solid var(--border);grid-area:1/1}.calendar-day-heads{grid-area:1/2;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-grid-shell--day .calendar-day-heads{grid-template-columns:1fr}.calendar-day-heads>div{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;grid-template-rows:auto auto;grid-template-columns:auto auto;place-content:center;column-gap:5px;display:grid;position:relative}.calendar-day-heads>div.today{color:var(--brand-primary);box-shadow:inset 0 -2px var(--brand-primary);background:var(--brand-soft)}.calendar-day-heads>div.calendar-day-head--unavailable{color:var(--unavailable-ink);background-color:var(--unavailable);background-image:linear-gradient(to top right, transparent 48.8%, var(--border-strong) 49.5%, var(--border-strong) 50.5%, transparent 51.2%), repeating-linear-gradient(135deg, transparent 0 8px, #62716a14 8px 9px);box-shadow:none}.calendar-day-head--unavailable>small{opacity:0}.calendar-day-heads .calendar-day-status{color:var(--unavailable-ink);letter-spacing:.03em;text-transform:uppercase;font-size:9px;line-height:12px;position:absolute;bottom:2px;left:3px;right:3px}.calendar-day-heads span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:750}.calendar-day-heads strong{font-family:var(--font-ui);font-size:15px}.calendar-day-heads small{color:var(--muted);grid-column:1/-1;font-size:12px}.calendar-times{height:var(--calendar-height,952px);border-right:1px solid var(--border);grid-area:2/1;position:relative}.calendar-times time{height:var(--calendar-hour-height);color:var(--muted);font-family:var(--font-ui);text-align:right;padding:0 8px;font-size:12px;display:block;transform:translateY(2px)}.calendar-columns{grid-area:2/2;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-grid-shell--day .calendar-columns{grid-template-columns:1fr}.calendar-day-column{min-width:0;height:var(--calendar-height,952px);border-right:1px solid var(--border);cursor:crosshair;position:relative}.calendar-day-column.today{background:var(--surface-subtle)}.calendar-day-column--unavailable{cursor:not-allowed}.calendar-full-day-block{z-index:1;color:var(--unavailable-ink);background-color:var(--unavailable);background-image:linear-gradient(to top right, transparent 49.7%, var(--border-strong) 49.9%, var(--border-strong) 50.1%, transparent 50.3%), repeating-linear-gradient(135deg, transparent 0 10px, #62716a17 10px 11px);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.calendar-full-day-block span{border:1px solid var(--border-strong);text-align:center;background:#eff2f0eb;border-radius:4px;padding:5px 8px;font-size:10px;font-weight:750}.hour-line{background:var(--border);pointer-events:none;height:1px;position:absolute;left:0;right:0}.hour-line:after{content:"";border-top:1px dashed var(--unavailable);position:absolute;top:34px;left:0;right:0}.calendar-event{z-index:3;min-height:40px;color:var(--ink);background:var(--unavailable);border-left:3px solid var(--border-strong);cursor:pointer;transition:background var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border-radius:6px;align-content:start;padding:5px 7px;display:grid;position:absolute;left:3px;right:3px;overflow:hidden}.calendar-event:hover{z-index:6;box-shadow:0 0 0 1px var(--brand-primary);background:var(--brand-soft);min-height:68px}.calendar-event time{font-family:var(--font-ui);align-items:center;gap:4px;font-size:12px;line-height:16px;display:flex}.calendar-event[data-compact]{grid-template-rows:16px 17px}.calendar-event[data-compact]:not(:hover):not(:focus-visible) small{display:none}.calendar-event strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.calendar-event small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;font-size:12px;display:flex;overflow:hidden}.calendar-event--needs_completion{background:var(--warning-subtle);border-left-color:var(--attention)}.calendar-event--completed{background:var(--surface-subtle);border-left-color:var(--success)}.calendar-event--sync-error{outline:1px solid var(--error);outline-offset:-1px}.event-grip{color:var(--muted);opacity:0;position:absolute;top:3px;right:2px}.calendar-event:hover .event-grip{opacity:1}.calendar-block{z-index:2;min-height:30px;color:var(--muted);background:var(--surface-subtle);border:1px dashed var(--border-strong);cursor:default;border-radius:5px;align-content:start;padding:5px 7px;display:grid;position:absolute;left:4px;right:4px;overflow:hidden}.calendar-block time,.calendar-block strong,.calendar-block small{text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.calendar-block strong{color:var(--ink)}.calendar-block-delete{width:24px;height:24px;color:var(--muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;opacity:0;border-radius:4px;place-items:center;padding:0;display:grid;position:absolute;top:3px;right:3px}.calendar-block:hover .calendar-block-delete,.calendar-block:focus-within .calendar-block-delete{opacity:1}.availability-block{z-index:1;color:var(--unavailable-ink);background-color:var(--unavailable);border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);text-align:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath d='M-2 2L2-2M0 8L8 0M6 10L10 6' stroke='%23d9dce3' stroke-width='1'/%3E%3C/svg%3E");place-items:center;padding:4px;font-size:12px;display:grid;position:absolute;left:0;right:0;overflow:hidden}.current-time-line{z-index:5;background:var(--attention);pointer-events:none;height:1px;position:absolute;left:0;right:0}.current-time-line i{background:var(--attention);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:-3px}.calendar-agenda{gap:20px;display:grid}.calendar-agenda section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.calendar-agenda section.agenda-day--unavailable{background-color:var(--unavailable);background-image:linear-gradient(to top right,#0000 49.8%,#82948a57 50%,#0000 50.2%),repeating-linear-gradient(135deg,#0000 0 12px,#62716a0f 12px 13px)}.agenda-day--unavailable .agenda-day-head{background:#eff2f0e0}.agenda-day-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.agenda-day-head>span{display:grid}.agenda-day-head strong{font-family:var(--font-ui);text-transform:capitalize}.agenda-day-head small{color:var(--muted);font-size:12px}.agenda-event-row{border-bottom:1px solid var(--border);grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.agenda-event-row>time{font-family:var(--font-ui);font-size:12px}.agenda-event-row>span:nth-child(2){display:grid}.agenda-event-row small{color:var(--muted);font-size:12px}.agenda-event-row--block{color:var(--muted);background:var(--surface-subtle);border-left:3px solid var(--border-strong)}.agenda-empty{color:var(--muted);margin:0;padding:16px;font-size:12px}.mobile-calendar-agenda{display:none}.month-view{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays span{color:var(--muted);border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;padding:10px;font-size:12px;font-weight:750}.month-grid>button,.month-grid>span{background:var(--surface);border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;align-content:start;gap:3px;min-height:112px;padding:8px;display:grid}.month-grid>button{position:relative}.month-grid>button.month-day--unavailable{color:var(--unavailable-ink);background-color:var(--unavailable);background-image:linear-gradient(to top right, transparent 49.3%, var(--border-strong) 49.8%, var(--border-strong) 50.2%, transparent 50.7%), repeating-linear-gradient(135deg, transparent 0 9px, #62716a17 9px 10px)}.month-grid>button.month-day--unavailable:hover{background-color:var(--unavailable)}.month-unavailable-label{width:fit-content;color:var(--unavailable-ink);border:1px solid var(--border-strong);text-transform:uppercase;background:#ffffffb8;border-radius:3px;padding:2px 5px;font-size:9px;font-weight:750}.month-grid>button:hover{background:var(--canvas)}.month-grid>button.today{box-shadow:inset 0 0 0 2px var(--brand-primary)}.month-grid button strong{font-family:var(--font-ui);font-size:12px}.month-grid button>span{color:var(--brand-primary);background:var(--info-bg);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:3px 4px;font-size:12px;overflow:hidden}.month-count{color:var(--muted);font-size:12px}.calendar-add-day{width:28px;height:28px;color:var(--brand-primary);background:0 0;border:0;border-radius:5px;place-items:center;display:grid;position:absolute;top:2px;right:2px}.calendar-add-day:hover{background:var(--info-bg)}.calendar-slot-preview{border:1px dashed var(--brand-primary);height:34px;color:var(--brand-primary);background:var(--info-bg);pointer-events:none;z-index:4;border-radius:4px;align-items:center;gap:4px;padding:4px;font-size:12px;display:flex;position:absolute;inset-inline:2px}.agenda-unavailable{background:var(--unavailable);color:var(--muted);border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin:0;padding:12px 16px;font-size:12px;display:flex}.agenda-unavailable--all-day{color:var(--unavailable-ink);border-top-color:var(--border-strong);border-bottom:1px solid var(--border-strong);background:#eff2f0eb;font-weight:650;position:relative}.agenda-event-row .agenda-sync-error{color:var(--warning);align-items:center;gap:5px;margin-top:5px;display:flex}.lesson-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:16px;padding-bottom:24px;display:flex}.lesson-header-status{align-items:center;gap:8px;margin-bottom:8px;display:flex}.group-label{color:var(--brand-primary);align-items:center;gap:5px;font-size:12px;font-weight:750;display:inline-flex}.lesson-header h1{overflow-wrap:anywhere;max-width:760px;margin-bottom:3px;font-size:30px}.lesson-header>div:first-child>p{color:var(--muted);margin:0}.lesson-header-facts{color:var(--muted);justify-items:end;gap:5px;font-size:12px;display:grid}.lesson-header-facts span{overflow-wrap:anywhere;text-align:right;align-items:center;gap:7px;max-width:430px;display:flex}.lesson-header-facts>span:last-child{color:var(--ink);font-family:var(--font-ui);font-size:15px}.sync-alert{color:var(--error);background:var(--error-bg);border-radius:var(--radius-control);border:1px solid #efc7c2;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:16px;padding:13px 15px;display:grid}.sync-alert>div:nth-child(2){display:grid}.sync-alert strong{font-size:12px}.sync-alert p{color:#76473f;margin:0;font-size:12px}.sync-alert>div:last-child{gap:6px;display:flex}.lesson-workspace{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.lesson-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);gap:20px;padding:28px;display:grid}.field--topic textarea{font-family:var(--font-ui);field-sizing:content;min-height:54px;font-size:20px;line-height:1.4}.plan-heading{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:4px;padding-top:20px;display:flex}.plan-heading h2{margin:0}.plan-list{gap:0;display:grid}.plan-item{background:var(--surface);border:0;border-bottom:1px solid var(--border);border-radius:0;grid-template-columns:40px minmax(0,1fr) 40px;gap:8px;padding:16px 0;transition:border-color .15s,background .15s;display:grid}.plan-reorder{color:var(--muted);align-content:start;justify-items:center;display:grid}.plan-reorder button{width:24px;height:21px;color:var(--muted);background:0 0;border:0;place-items:center;min-width:40px;min-height:40px;padding:0;display:grid}.plan-reorder button:disabled{opacity:.25}.plan-main{gap:9px;display:grid}.plan-main>.check-row{min-height:40px}.field .plan-text-input{background:var(--surface);field-sizing:content;min-height:52px;font-weight:650;line-height:1.5}.score-control{grid-template-columns:90px 1fr;align-items:center;gap:12px;display:grid}.score-control label{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.score-control label strong{color:var(--brand-primary);font-family:var(--font-ui);font-size:14px}.score-control input{width:100%;min-height:32px;accent-color:var(--brand-primary)}.plan-note summary{color:var(--brand-primary);cursor:pointer;min-height:40px;padding-block:10px;font-size:12px;font-weight:700}.plan-note textarea{border:1px solid var(--border);resize:vertical;border-radius:6px;width:100%;min-height:72px;margin-top:8px;padding:8px;font-size:12px}.plan-delete{align-self:start}.lesson-textarea{margin-top:4px}.lesson-sidebar{gap:14px;display:grid;position:sticky;top:24px}.participant-tabs{background:var(--unavailable);border-radius:10px;gap:4px;padding:4px;display:flex;overflow-x:auto}.participant-tabs button{min-width:max-content;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:700}.participant-tabs button.active{color:var(--ink);background:var(--surface);border:1px solid var(--border)}.participant-panel,.lesson-side-actions,.lesson-save{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);gap:14px;padding:18px;display:grid}.participant-title{align-items:center;gap:10px;display:flex}.participant-title h2{font-family:var(--font-ui);letter-spacing:normal;margin:0;font-size:14px}.participant-title p{color:var(--muted);margin:0;font-size:12px}.lesson-save{border-top:3px solid var(--brand-primary)}.reschedule-box{background:var(--canvas);border-radius:var(--radius-control);gap:12px;padding:12px;display:grid}.scope-choice{border:1px solid var(--border);gap:7px;padding:10px;display:grid}.scope-choice legend{font-size:12px;font-weight:750}.scope-choice label{align-items:center;gap:8px;min-height:40px;font-size:12px;display:flex}.finance-strip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:repeat(3,1fr);margin-bottom:22px;display:grid}.finance-strip div{border-right:1px solid var(--border);gap:4px;padding:20px 24px;display:grid}.finance-strip div:last-child{border-right:0}.finance-strip small{color:var(--muted);font-size:13px;font-weight:650}.finance-strip strong{font-family:var(--font-ui);font-size:20px}.finance-strip .finance-due{color:var(--warning);background:var(--warning-bg)}.data-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:clip}.data-table-head,.data-table-row{grid-template-columns:1fr 1.4fr 110px 130px 180px;align-items:center;gap:14px;display:grid}.data-table-head{z-index:2;min-height:42px;color:var(--muted);background:var(--unavailable);border-bottom:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;font-size:12px;font-weight:800;position:sticky;top:0}.data-table-row{border-bottom:1px solid var(--border);min-height:70px;padding:11px 16px}.data-table-row:last-child{border-bottom:0}.data-table-row>span{min-width:0;display:grid}.data-table-row a{text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;font-size:13px;font-weight:700;overflow:hidden}.data-table-row a:hover{color:var(--brand-primary)}.data-table-row small{color:var(--muted);font-size:12px}.export-actions{gap:8px;display:flex}.statistics-header{align-items:flex-end}.statistics-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.statistics-toolbar .period-switch{margin-bottom:0}.statistics-view-switch button{gap:7px}.period-switch{margin-bottom:22px}.stats-ledger{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--ink);grid-template-columns:repeat(3,1fr);margin-bottom:18px;display:grid}.stats-ledger>div{border-right:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:23px 26px;display:grid}.stats-ledger span{color:var(--muted);font-family:var(--font-ui);font-size:12px}.stats-ledger small{color:var(--muted)}.stats-ledger strong{font-family:var(--font-ui);font-size:24px}.financial-breakdown{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;grid-template-columns:.8fr 1.2fr;align-items:center;gap:40px;margin-bottom:18px;padding:26px;display:grid}.financial-breakdown h2{margin:0}.financial-breakdown dl{grid-template-columns:repeat(3,1fr);margin:0;display:grid}.financial-breakdown dl div{border-left:1px solid var(--border);gap:4px;padding:8px 18px;display:grid}.financial-breakdown dt{color:var(--muted);font-size:12px;font-weight:650}.financial-breakdown dd{font-family:var(--font-ui);margin:0;font-size:16px}.financial-breakdown .due dd{color:var(--warning)}.financial-breakdown .received dd{color:var(--success)}.trend-panel{padding:24px}.bar-chart{border-bottom:1px solid var(--border);justify-content:space-around;align-items:flex-end;gap:22px;height:250px;margin-top:26px;padding:28px 12px 0;display:flex}.bar-chart>div{grid-template-rows:20px 1fr 28px;place-items:end center;width:min(62px,12%);height:100%;display:grid}.bar{background:var(--brand-primary);border-radius:4px 4px 0 0;width:100%;display:block}.bar-value{font-family:var(--font-ui);font-size:12px}.bar-chart small{color:var(--muted);text-transform:capitalize;align-self:center;font-size:12px}.student-stat-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:minmax(220px,.7fr) minmax(280px,1.3fr) auto;align-items:end;gap:24px;margin-bottom:12px;padding:20px 22px;display:grid}.student-stat-identity{align-items:center;gap:12px;min-width:0;display:flex}.student-stat-identity .avatar{flex:none}.student-stat-identity strong{font-size:16px;display:block}.student-stat-identity p{color:var(--muted);overflow-wrap:anywhere;margin:3px 0 0;font-size:12px}.import-status{color:var(--success);background:var(--success-bg);border-radius:var(--radius-control);border:1px solid #c8e7d6;margin-bottom:10px;padding:10px 13px;font-size:13px;font-weight:650}.csv-hint{color:var(--muted);margin:0 0 18px;font-size:12px}.csv-hint code{color:var(--ink);font-size:11px}.student-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);align-items:flex-start;gap:12px;min-width:0;padding:19px;display:flex}.stats-ledger .metric-card{border:0;border-right:1px solid var(--border);border-radius:0}.metric-card>span:last-child{min-width:0;display:grid}.metric-icon{width:34px;height:34px;color:var(--brand-primary);background:var(--brand-soft);border-radius:9px;flex:0 0 34px;place-items:center;display:grid}.metric-card small{color:var(--muted);font-size:11px;font-weight:650}.metric-card strong{margin-top:2px;font-size:22px;line-height:1.25}.metric-card em{color:var(--muted);margin-top:3px;font-size:11px;font-style:normal}.student-analytics-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:18px;margin-bottom:18px;display:grid}.score-trend-panel,.learning-rhythm,.skills-panel,.activity-log{padding:22px}.score-chart{align-items:stretch;gap:14px;height:238px;margin-top:22px;display:flex}.score-chart>div{flex:1;grid-template-rows:20px 1fr auto;justify-items:center;gap:5px;min-width:0;display:grid}.score-chart-value{font-size:11px;font-weight:700}.score-track{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px 6px 2px 2px;align-items:flex-end;width:100%;max-width:54px;display:flex;position:relative;overflow:hidden}.score-track>span{background:var(--brand-primary);width:100%}.score-chart small{color:var(--muted);text-align:center;text-transform:capitalize;font-size:11px;display:grid}.score-chart small b{color:var(--ink);text-transform:none;font-size:10px;font-weight:650}.learning-rhythm h2{margin-bottom:14px}.learning-rhythm dl{gap:0;margin:0;display:grid}.learning-rhythm dl div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.learning-rhythm dl div:last-child{border-bottom:0}.learning-rhythm dt{color:var(--muted);font-size:12px}.learning-rhythm dd{text-align:right;margin:0;font-size:14px;font-weight:750}.skills-panel,.activity-log{margin-bottom:18px}.section-note{color:var(--muted);font-size:11px;font-weight:650}.skills-table-head,.skills-table-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) 70px 60px;align-items:center;gap:18px;min-height:48px;font-size:12px;display:grid}.skills-table-head{min-height:34px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.skills-table-row:last-child{border-bottom:0}.mastery-track{background:var(--unavailable);border-radius:999px;height:7px;overflow:hidden}.mastery-track span{background:var(--brand-primary);border-radius:inherit;height:100%;display:block}.activity-table-head,.activity-table-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,1.6fr) 90px 110px 80px 70px;align-items:center;gap:16px;min-height:54px;font-size:12px;display:grid}.activity-table-head{min-height:34px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.activity-table-row:last-child{border-bottom:0}.activity-table-row>span:first-child{min-width:0;display:grid}.activity-table-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-table-row small{color:var(--muted)}.source-badge{color:var(--brand-primary);background:var(--brand-soft);border-radius:999px;padding:3px 7px;font-size:10px;font-style:normal;font-weight:700;display:inline-flex}.source-badge--import{color:var(--warning);background:var(--warning-bg)}.analytics-empty{color:var(--muted);background:var(--surface-subtle);border:1px dashed var(--border-strong);border-radius:var(--radius-control);margin:18px 0 4px;padding:20px;font-size:13px}.statistics-empty{justify-items:start;padding:32px;display:grid}@media (max-width:980px){.student-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.student-analytics-grid{grid-template-columns:1fr}.student-stat-hero{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.student-stat-hero>.text-link{grid-column:2}.activity-table{overflow-x:auto}.activity-table-head,.activity-table-row{min-width:720px}}@media (max-width:767px){.statistics-header{align-items:flex-start}.statistics-toolbar{flex-direction:column;align-items:stretch}.statistics-toolbar .segmented-control{width:100%}.statistics-toolbar .segmented-control button{flex:1}.student-stat-hero{grid-template-columns:1fr;align-items:start;gap:16px;padding:16px}.student-stat-hero>.text-link{grid-column:auto}.student-metrics{grid-template-columns:1fr}.metric-card{padding:15px}.score-trend-panel,.learning-rhythm,.skills-panel,.activity-log{padding:17px 14px}.score-chart{gap:7px}.skills-table{overflow-x:auto}.skills-table-head,.skills-table-row{min-width:590px}.csv-hint{line-height:1.65}}.lesson-workspace-page{max-width:1180px;margin-inline:auto;padding-bottom:56px}.lesson-breadcrumbs{color:var(--muted);align-items:center;gap:9px;margin-bottom:20px;font-size:13px;display:flex}.lesson-breadcrumbs a{align-items:center;gap:6px;min-height:40px;display:inline-flex}.lesson-breadcrumbs a:hover{color:var(--brand-primary)}.lesson-hero{border-bottom:1px solid var(--border-strong);grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:32px;padding:0 0 28px;display:grid}.lesson-hero h1{margin:2px 0 3px;font-size:clamp(30px,4vw,44px);line-height:1.08}.lesson-hero__identity>p,.lesson-hero__when,.lesson-hero__when span{color:var(--muted)}.lesson-hero__identity>p{margin:0}.lesson-hero__when{gap:2px;padding-bottom:3px;display:grid}.lesson-hero__when strong{color:var(--ink);text-transform:capitalize;font-size:15px}.lesson-hero__when span{align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.lesson-hero__when small{color:var(--muted);background:var(--unavailable);border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700}.lesson-hero__actions{justify-content:flex-end;gap:8px;display:flex}.lesson-state-banner,.lesson-inline-error{color:var(--warning);background:var(--warning-subtle);border:1px solid var(--warning-border);border-radius:var(--radius-control);align-items:flex-start;gap:12px;margin-top:18px;padding:14px 16px;display:flex}.lesson-state-banner--complete{color:var(--success);background:var(--success-bg);border-color:#bcdcca}.lesson-state-banner strong,.lesson-state-banner p{margin:0}.lesson-state-banner p{color:var(--muted);margin-top:2px;font-size:13px}.lesson-inline-error{color:var(--error);background:var(--error-bg);border-color:#efc7c2}.lesson-inline-error button{color:inherit;background:0 0;border:0;margin-left:auto;padding:0;font-size:12px;font-weight:750}.lesson-flow-layout{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:48px;margin-top:34px;display:grid}.lesson-teaching-thread{display:grid;position:relative}.lesson-teaching-thread:before{z-index:0;background:linear-gradient(var(--brand-primary), var(--border));content:"";width:1px;position:absolute;top:34px;bottom:82px;left:18px}.lesson-flow-section{z-index:1;gap:20px;padding:0 0 38px 58px;display:grid;position:relative}.lesson-flow-section+.lesson-flow-section{border-top:1px solid var(--border);padding-top:30px}.lesson-section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid;position:relative}.lesson-section-icon{width:37px;height:37px;color:var(--brand-primary);background:var(--surface);border:1px solid var(--border-strong);border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:-58px}.lesson-section-heading h2{margin:2px 0 3px;font-size:24px}.lesson-section-heading p{max-width:620px;color:var(--muted);margin:0;font-size:13px}.lesson-privacy-badge{color:var(--muted);background:var(--surface-subtle);border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750}.lesson-section-fields{border:0;gap:14px;min-width:0;padding:0;display:grid}.lesson-section-fields textarea{resize:vertical;line-height:1.6}.lesson-section-fields:disabled{opacity:.72}.lesson-section-footer{justify-content:space-between;align-items:center;gap:12px;min-height:42px;display:flex}.lesson-section-footer>div{gap:8px;display:flex}.lesson-save-label{color:var(--muted);font-size:12px}.lesson-save-label--saved{color:var(--success)}.lesson-save-label--error{color:var(--error)}.lesson-form-grid{grid-template-columns:minmax(0,1.5fr) minmax(180px,.7fr);gap:12px;display:grid}.lesson-quiet-empty{color:var(--muted);background:var(--surface-subtle);border:1px dashed var(--border-strong);border-radius:var(--radius-control);margin:0;padding:18px;font-size:13px}.lesson-material-list{gap:8px;display:grid}.lesson-material-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:52px;padding:9px 10px 9px 13px;display:grid}.lesson-material-row>svg{color:var(--brand-primary)}.lesson-material-row>div{display:grid}.lesson-material-row small{color:var(--muted)}.lesson-material-actions,.lesson-quick-material[open]{gap:12px;display:grid}.lesson-attach-existing{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.lesson-quick-material summary{min-height:40px;color:var(--brand-primary);cursor:pointer;align-items:center;gap:6px;font-weight:750;display:inline-flex}.lesson-mark-all{justify-self:start}.lesson-attendance-list{border-top:1px solid var(--border);display:grid}.lesson-attendance-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(210px,1fr) auto;align-items:center;gap:20px;padding:15px 0;display:grid}.lesson-attendance-person{align-items:center;gap:10px;min-width:0;display:flex}.lesson-attendance-person>div{display:grid}.lesson-attendance-person small{color:var(--muted)}.attendance-choice{background:var(--unavailable);border-radius:9px;padding:3px;display:flex}.attendance-choice button{min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:700}.attendance-choice button[aria-pressed=true]{color:var(--brand-primary);background:var(--surface);box-shadow:0 1px 3px #1832281f}.attendance-choice button:disabled{cursor:default;opacity:.7}.lesson-completion-panel{z-index:1;color:#fff;border-radius:var(--radius-panel);background:#174a3b;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin:6px 0 0 58px;padding:24px;display:grid;position:relative}.lesson-completion-panel h2{color:#fff;margin:2px 0 4px}.lesson-completion-panel p,.lesson-completion-panel small,.lesson-completion-panel .eyebrow{color:#c6ded5;margin:0}.lesson-completion-panel>small{grid-column:1/-1}.lesson-completion-actions{gap:6px;min-width:190px;display:grid}.lesson-completion-panel .button--primary{color:#174a3b;background:#fff}.lesson-completion-panel .button--quiet{color:#d9e9e3}.lesson-context-rail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);gap:0;display:grid;position:sticky;top:22px}.lesson-context-block{border-bottom:1px solid var(--border);gap:4px;padding:18px;display:grid}.lesson-context-block:last-child{border-bottom:0}.lesson-context-block p{color:var(--muted);margin:0;font-size:12px}.lesson-context-block .text-link{justify-self:start;margin-top:5px}.lesson-package-context{background:var(--brand-soft)}.lesson-danger-zone button{color:var(--error);background:0 0;border:0;justify-self:start;padding:5px 0;font-size:12px;font-weight:700}@media (max-width:980px){.lesson-hero{grid-template-columns:minmax(0,1fr) auto}.lesson-hero__actions{grid-column:1/-1;justify-content:flex-start}.lesson-flow-layout{grid-template-columns:minmax(0,1fr);gap:30px}.lesson-context-rail{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.lesson-context-block{border-right:1px solid var(--border)}}@media (max-width:640px){.lesson-workspace-page{padding-bottom:116px}.lesson-breadcrumbs{margin-bottom:12px}.lesson-hero{grid-template-columns:1fr;align-items:start;gap:18px;padding-bottom:22px}.lesson-hero h1{font-size:32px}.lesson-hero__when span{font-size:18px}.lesson-hero__actions{grid-column:auto;grid-template-columns:1fr 1fr;width:100%;display:grid}.lesson-flow-layout{margin-top:26px}.lesson-teaching-thread:before{display:none}.lesson-flow-section{gap:16px;padding:0 0 30px}.lesson-flow-section+.lesson-flow-section{padding-top:26px}.lesson-section-heading{grid-template-columns:40px minmax(0,1fr)}.lesson-section-icon{grid-area:1/1;position:static}.lesson-section-heading>div{grid-column:2}.lesson-privacy-badge{grid-column:2;justify-self:start}.lesson-section-heading h2{font-size:21px}.lesson-section-footer{flex-direction:column;align-items:stretch}.lesson-section-footer>div,.lesson-section-footer .button{width:100%}.lesson-form-grid,.lesson-attach-existing,.lesson-attendance-row,.lesson-completion-panel{grid-template-columns:1fr}.lesson-material-row{grid-template-columns:auto minmax(0,1fr) auto}.lesson-material-row .text-link{grid-column:2}.lesson-attendance-row{gap:12px}.attendance-choice{grid-template-columns:repeat(3,1fr);display:grid}.attendance-choice button{padding-inline:5px}.lesson-completion-panel{margin-left:0;padding:20px}.lesson-context-rail{grid-template-columns:1fr}.lesson-context-block{border-right:0}}.settings-nav{border-bottom:1px solid var(--border);gap:22px;margin-bottom:24px;display:flex}.settings-nav a{min-height:44px;color:var(--muted);border-bottom:2px solid #0000;padding:10px 1px;font-size:12px;font-weight:750}.settings-nav a.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.settings-panel{gap:var(--space-12);background:var(--surface);border:0;border-top:1px solid var(--border);border-radius:0;grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);align-items:start;padding:32px;display:grid}.settings-copy>p:last-child{color:var(--muted)}.settings-form{gap:18px;display:grid}.settings-form>.button{justify-self:start}.settings-panel--stack{grid-template-columns:280px 1fr}.integration-list{display:grid}.integration-card{border-top:1px solid var(--border);grid-template-columns:42px 1fr;gap:15px;padding:20px 0;display:grid}.integration-card:first-child{border-top:0;padding-top:0}.integration-icon{width:42px;height:42px;color:var(--muted);background:var(--unavailable);border-radius:10px;place-items:center;display:grid}.integration-icon svg{width:19px}.integration-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.integration-title h3{font-family:var(--font-ui);margin:0;font-size:15px}.integration-card p{color:var(--muted);margin:4px 0;font-size:12px}.integration-card small{color:var(--muted)}.integration-note{color:var(--muted);background:var(--unavailable);border-radius:var(--radius-control);margin:12px 0;padding:11px 12px;font-size:12px}.integration-error{margin:10px 0}.settings-panel--availability{grid-template-columns:1fr 1fr}.availability-list{margin-top:24px;display:grid}.availability-list>div{border-top:1px solid var(--border);grid-template-columns:28px 1fr 40px;align-items:center;gap:8px;padding:11px 0;display:grid}.availability-list>div>span{display:grid}.availability-list strong{font-size:12px}.availability-list small{color:var(--muted);font-size:12px}.all-day-choice{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-control);align-items:flex-start;padding:11px 12px}.all-day-choice input{margin-top:2px}.all-day-choice span{gap:1px;display:grid}.all-day-choice small{color:var(--muted);font-size:11px;font-weight:500}.settings-panel--subscription{grid-template-columns:280px 1fr}.subscription-card{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius-card);padding:24px}.subscription-status{align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.subscription-status svg{color:var(--brand-primary)}.subscription-status span{display:grid}.subscription-status small{color:var(--muted);font-size:12px}.subscription-status strong{font-family:var(--font-ui);font-size:20px}.subscription-status p{color:var(--muted);margin:1px 0 0;font-size:12px}.price-choice{grid-template-columns:1fr 1fr;gap:10px;display:grid}.price-choice article{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);padding:16px}.price-choice strong{font-family:var(--font-ui);font-size:21px}.price-choice span{color:var(--muted);font-size:12px}.price-choice p{color:var(--success);align-items:center;gap:5px;margin:10px 0 0;font-size:12px;display:flex}button:disabled{cursor:not-allowed}svg{stroke-width:1.75px;flex-shrink:0}input,select,textarea{max-width:100%}fieldset{min-width:0}button,summary{touch-action:manipulation}.search-field:focus-within{outline:2px solid var(--brand-primary);outline-offset:2px}.segmented-control label:has(input:focus-visible) span{outline:2px solid var(--brand-primary);outline-offset:2px}.segmented-control label{position:relative}.segmented-control button:hover,.tabs button:hover,.settings-nav a:hover{color:var(--brand-primary)}.status-badge svg{flex-shrink:0}.student-card:focus-within{border-color:var(--brand-primary)}.student-hero-main>div,.participant-title>div{min-width:0}.student-facts dd,.thread-node strong,.lesson-header p,.agenda-event-row strong{overflow-wrap:anywhere}.student-note p,.thread-node p{white-space:pre-wrap;overflow-wrap:anywhere}.next-participants{margin-bottom:8px}.thread-node--now>div{border-left:0;margin-left:0;padding-left:0}.thread-node:last-child{min-height:0;padding-bottom:0}.context-actions{position:relative}.context-actions>summary,.optional-plan>summary{cursor:pointer;min-height:44px;padding:10px 12px;font-size:13px;font-weight:650}.context-actions[open]>button{z-index:20;background:var(--surface);border:1px solid var(--border);min-width:200px;position:absolute;top:48px;right:0;box-shadow:0 8px 24px #18203316}.optional-plan{border-top:1px solid var(--border)}.optional-plan>summary{padding-inline:0}.optional-plan>summary small{color:var(--muted);margin-left:6px;font-weight:450}.optional-plan>.field{margin-top:12px}.schedule-context{background:var(--canvas);border-radius:var(--radius-control);padding:16px}.schedule-context h3{margin-bottom:12px;font-size:13px}.schedule-context p{gap:12px;margin-bottom:8px;font-size:13px;display:flex}.schedule-context time{font-family:var(--font-ui);white-space:nowrap;font-size:12px}.schedule-context span{overflow-wrap:anywhere}.schedule-context small,.field-group legend small{color:var(--muted);font-size:12px;font-weight:450}.dialog-content--sheet .field-group{border:0;border-bottom:1px solid var(--border);border-radius:0;padding:0 0 20px}.dialog-content--sheet .field-group legend{padding:0 0 12px}.mobile-menu-panel{z-index:101;background:var(--surface);width:min(320px,90vw);padding:12px;position:fixed;inset:0 auto 0 0;box-shadow:12px 0 40px #18203322}.mobile-menu-panel .sidebar-nav{margin-block:24px}.toast-dismiss{order:3;margin-left:auto}.password-toggle{min-height:40px;color:var(--muted);background:0 0;border:0;justify-self:end;align-items:center;gap:6px;font-size:12px;display:flex}.lesson-context-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);z-index:12;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px;min-width:0;padding:12px 16px;display:flex;position:sticky;top:8px}.lesson-context-bar>span,.lesson-context-bar>small{color:var(--muted);font-size:12px}.lesson-context-bar>small{margin-left:auto}.lesson-context-bar .participant-tabs{min-width:0;max-width:100%;display:flex;overflow-x:auto}.lesson-context-bar .participant-tabs button{white-space:normal;overflow-wrap:anywhere;text-align:left;flex-shrink:0;max-width:260px;min-height:40px}.lesson-content,.participant-panel{min-width:0;margin:0}.lesson-header>div{min-width:0}.lesson-roster{color:var(--muted);font-size:14px}.lesson-roster summary{cursor:pointer;min-height:40px;padding-block:8px}.lesson-roster ul{padding-left:20px}.participant-select{flex:220px;min-width:0;max-width:100%}.participant-select select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--canvas);width:100%;min-width:0;min-height:44px;color:var(--ink);padding:8px}.plan-item--done{border-left:3px solid var(--success);background:var(--surface-subtle)}.plan-item--done .check-row{color:var(--success)}.plan-reorder>svg{display:none}.save-status{color:var(--muted);text-align:center;margin:0;font-size:12px}.calendar-event--cancelled{background:var(--unavailable);border-color:var(--unavailable-ink);color:var(--muted)}.calendar-event--cancelled strong{text-decoration:line-through}.calendar-event:active{opacity:.8}.calendar-event:focus-visible{z-index:10;min-height:68px;overflow:visible;height:auto!important}.calendar-corner,.calendar-day-heads{z-index:10;background:var(--surface);position:sticky;top:0}.calendar-day-column:hover{background-color:var(--surface-subtle)}.data-table-row:hover{background:var(--surface-subtle)}.data-table-row .button{text-align:left}.payment-period{color:var(--muted);align-items:center;gap:12px;margin-bottom:16px;font-size:13px;display:flex}.payment-period select{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-control);min-height:40px;padding:8px}.settings-page{max-width:1080px}.integration-title .status-badge{white-space:normal}@media (max-width:1199px){:root{--sidebar-width:84px}.sidebar{padding:20px 12px 14px}.sidebar .brand{justify-content:center;font-size:0}.sidebar-head{justify-content:center;padding-inline:0}.sidebar-add{align-self:center;width:48px;height:44px;padding:0;font-size:0}.sidebar-nav a{justify-content:center;padding-inline:0}.sidebar-nav span{display:none}.sidebar-account{grid-template-columns:1fr;justify-items:center}.sidebar-account>span:nth-child(2){display:none}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-grid{grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}.data-table-head,.data-table-row{grid-template-columns:.9fr 1.2fr 90px 120px 145px}}@media (max-width:980px){.landing-hero{grid-template-columns:1fr;gap:50px}.hero-copy{max-width:760px}.hero-workspace{max-width:600px}.auth-layout{grid-template-columns:1fr}.auth-aside{display:none}.today-grid{grid-template-columns:1fr}.next-lesson-card{grid-row:1;min-height:auto}.completion-list,.student-overview{grid-template-columns:1fr}.student-facts{grid-row:2}.progress-history,.lesson-workspace{grid-template-columns:1fr}.lesson-sidebar{grid-template-columns:1fr 1fr;position:static}.participant-tabs{grid-column:1/-1}.participant-panel{grid-column:1}.lesson-save{grid-area:2/2}.lesson-side-actions{grid-column:1/-1}.settings-panel,.settings-panel--stack,.settings-panel--availability,.settings-panel--subscription{grid-template-columns:1fr;gap:30px}.data-table-head{display:none}.data-table{background:0 0;border:0;grid-template-columns:1fr 1fr;gap:12px;padding:12px;display:grid}.data-table-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:1fr auto;gap:12px;padding:16px;display:grid}.data-table-row>span{display:grid}.data-table-row>span:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:750}}@media (max-width:767px){.app-shell{padding-bottom:calc(68px + env(safe-area-inset-bottom))}h1{font-size:26px}.landing-nav{height:68px;padding:0 18px}.landing-nav nav>a:not(.button--primary){display:none}.landing-nav .button--primary{min-height:40px;font-size:12px}.landing-hero{min-height:auto;padding:56px 18px 72px}.hero-copy h1{font-size:42px}.hero-lead{font-size:16px}.hero-actions{display:grid}.hero-workspace{box-shadow:none;padding:20px}.hero-workspace-top h2{font-size:23px}.feature-ribbon{grid-template-columns:1fr;padding:0 18px 64px}.feature-ribbon article{border-right:0;min-height:170px}.feature-ribbon h2{margin-top:26px}.pricing-section{grid-template-columns:1fr;gap:30px;padding:64px 18px}.pricing-section h2{font-size:30px}.landing-footer{flex-wrap:wrap;padding-inline:18px}.landing-footer span{width:100%}.auth-panel{min-height:100vh;padding:22px 20px}.auth-card{padding:56px 0 30px}.auth-card h1{font-size:30px}.sidebar{visibility:hidden;z-index:80;width:min(320px,88vw);padding:24px 16px;transition:transform .22s;right:0;transform:translate(-110%);box-shadow:16px 0 50px #1820332e}.sidebar--open{visibility:visible;transform:translate(0)}.sidebar .brand{justify-content:flex-start;font-size:20px}.sidebar-head{justify-content:space-between;padding:0 4px 20px}.sidebar-close{display:grid}.sidebar-add{align-self:auto;width:100%;height:auto;font-size:13px}.sidebar-nav a{justify-content:flex-start;padding-inline:12px}.sidebar-nav span{display:inline}.sidebar-account{grid-template-columns:38px 1fr 40px;justify-items:stretch}.sidebar-account>span:nth-child(2){display:grid}.mobile-header{z-index:25;border-bottom:1px solid var(--border);background:#fffffff5;justify-content:space-between;align-items:center;height:60px;padding:0 14px;display:flex;position:sticky;top:0}.mobile-header .brand{font-size:18px}.bottom-nav{z-index:60;height:68px;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{min-height:60px;color:var(--muted);background:0 0;border:0;place-content:center;justify-items:center;gap:2px;font-size:12px;font-weight:700;display:grid}.bottom-nav a.active{color:var(--brand-primary)}.app-main{min-height:calc(100vh - 128px);margin-left:0;padding:22px 14px 36px}.offline-banner,.readonly-banner{padding-inline:12px;top:0;left:0}.page-header{align-items:center;margin-bottom:22px}.page-header .page-intro,.desktop-primary{display:none}.button,.icon-button{min-height:44px}.icon-button{width:44px;height:44px}.form-row,.form-row--three{grid-template-columns:1fr}.quiet-metrics{grid-template-columns:1fr 1fr}.quiet-metrics>div,.quiet-metrics>a{border-bottom:1px solid var(--border)}.completion-section{padding:18px 14px}.completion-action{font-size:0}.student-grid{grid-template-columns:1fr}.student-card{min-height:248px}.list-toolbar{flex-direction:column;align-items:stretch}.list-toolbar .segmented-control{width:100%}.list-toolbar .segmented-control button{flex:1}.student-hero{flex-direction:column;align-items:flex-start}.student-hero h1{font-size:29px}.student-hero-actions{flex-direction:column;width:100%}.student-hero-actions .button{width:100%}.student-overview{display:grid}.progress-panel,.student-facts,.tab-panel{padding:18px 14px}.lesson-rows>a,.payment-rows>a{grid-template-columns:1fr auto;gap:8px}.lesson-topic{grid-area:2/1/auto/-1}.payment-rows>a{grid-template-columns:1fr auto}.payment-rows>a .status-badge{grid-column:1/-1}.dialog-content{border:0;border-radius:0;max-height:none}.dialog-content--sheet,.dialog-content--medium{width:100vw;height:100dvh;inset:0;transform:none}.dialog-content--medium{top:0;left:0}.dialog-scroll{padding:18px 14px 24px}.dialog-header,.dialog-footer{border-radius:0;padding-inline:14px}.dialog-footer{z-index:2;min-height:76px;position:static;bottom:0;left:0;right:0}.dialog-footer .button{flex:1}:is(.occurrence-row,.occurrence-row:not(:has(.occurrence-remove))){border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr 44px;padding-bottom:12px}.occurrence-row .field:first-child{grid-column:1/-1}.occurrence-row .field--duration{grid-column:1/2}.occurrence-remove{grid-area:2/3}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-header-actions{width:100%}.calendar-header-actions .button{flex:1}.calendar-nav{justify-content:space-between}.calendar-nav>strong{order:-1;width:100%;margin:0;font-size:16px}.view-switch{width:100%}.view-switch button{flex:1}.planning-bar{flex-direction:column;align-items:stretch}.planning-bar label{flex-wrap:wrap;align-items:flex-start}.planning-bar select{width:100%;min-height:40px}.calendar-grid-shell{display:none}.mobile-calendar-agenda{display:block}:is(.calendar-page:has(.view-switch button[data-view=agenda].selected) .mobile-calendar-agenda,.calendar-page:has(.view-switch button[data-view=month].selected) .mobile-calendar-agenda){display:none}.agenda-event-row{grid-template-columns:48px minmax(0,1fr)}.agenda-event-row .status-badge{grid-column:2}.lesson-header{flex-direction:column;align-items:flex-start}.lesson-header h1{font-size:29px}.lesson-header-facts{justify-items:start}.lesson-header-facts span{text-align:left}.sync-alert{grid-template-columns:auto 1fr}.sync-alert>div:last-child{grid-column:1/-1;display:grid}.lesson-content{padding:18px 12px}.plan-item{grid-template-columns:22px minmax(0,1fr) 40px;padding:10px 7px}.score-control{grid-template-columns:74px 1fr}.lesson-sidebar{grid-template-columns:1fr}.participant-tabs,.participant-panel,.lesson-save,.lesson-side-actions{grid-area:auto/1}.lesson-save{left:14px;right:14px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:10;position:fixed;box-shadow:0 -8px 18px #f6f8fcf2}.finance-strip{grid-template-columns:1fr}.finance-strip div{border-right:0;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.finance-strip strong{font-size:20px}.data-table{grid-template-columns:1fr;padding:0}.data-table-row{grid-template-columns:1fr}.data-table-row>span{grid-template-columns:90px 1fr;align-items:center}.data-table-row .money-value{text-align:left;justify-content:stretch}.export-actions{flex-wrap:wrap;display:flex}.stats-ledger{grid-template-columns:1fr}.stats-ledger>div{border-bottom:1px solid #ffffff26;border-right:0}.financial-breakdown{grid-template-columns:1fr;gap:18px;padding:18px}.financial-breakdown dl{grid-template-columns:1fr}.financial-breakdown dl div{border-left:0;border-top:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.bar-chart{gap:8px;padding-inline:0}.settings-nav{scrollbar-width:none;overflow-x:auto}.settings-panel{padding:18px 14px}.price-choice{grid-template-columns:1fr}.toast{min-width:0;bottom:80px;left:12px;right:12px}}@media (max-width:420px){.next-identity{grid-template-columns:1fr;gap:4px}.student-hero-main{align-items:flex-start}.avatar--large{flex-basis:52px;width:52px;height:52px}.student-facts dl div{grid-template-columns:100px 1fr}.dialog-content--alert{width:auto;inset:auto 10px 50%;transform:translateY(50%)}}@media (max-width:767px){.field input,.field select,.field textarea,.search-field input{min-height:44px;font-size:16px}.segmented-control{flex-wrap:wrap;max-width:100%}.segmented-control button,.segmented-control label span{min-height:44px}.page-header{flex-wrap:wrap;gap:12px}.student-hero-actions{flex-direction:row;justify-content:flex-start}.student-hero-actions .button{width:auto}.student-hero-actions>.button--primary{width:100%}.context-actions[open]>button{left:0;right:auto}.day-plan{padding:16px}.agenda-card{flex-wrap:wrap;gap:6px;padding-inline:8px}.agenda-card strong,.agenda-card small{white-space:normal;overflow-wrap:anywhere}.agenda-list li{grid-template-columns:48px 12px minmax(0,1fr)}.next-lesson-card{padding:20px}.completion-list strong,.completion-list small{white-space:normal;overflow-wrap:anywhere}.lesson-page{padding-bottom:160px}.lesson-context-bar{gap:6px;padding:8px;top:60px}.lesson-context-bar>span{display:none}.lesson-context-bar>small{margin-left:0}.lesson-context-bar .participant-tabs{width:100%}.lesson-save{grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid;box-shadow:0 -4px 20px #18203312}.lesson-save .save-status,.lesson-save .form-alert{grid-column:1/-1}.lesson-save .button{padding:8px;font-size:12px}.plan-item{grid-template-columns:32px minmax(0,1fr) 32px;padding-inline:0}.plan-reorder button{min-width:32px;min-height:44px}.plan-delete{width:32px}.score-control{grid-template-columns:70px 1fr}.plan-text-input{font-size:16px}.dialog-content--alert .dialog-footer{min-height:0;position:static}.dialog-content--alert{max-height:85dvh;overflow-y:auto}.dialog-scroll .occurrence-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.occurrence-row .field--duration{grid-column:2}.month-grid>button,.month-grid>span{min-height:72px;padding:5px}.month-grid button span{display:none}.month-grid button small{font-size:12px}.month-weekdays span{padding:6px 0;font-size:12px}.calendar-nav>strong{flex-basis:100%}.payment-period{flex-direction:column;align-items:flex-start}.payment-period select{width:100%}.settings-nav{grid-template-columns:1fr 1fr;gap:0;display:grid;overflow:visible}.settings-nav a{min-height:44px}.stats-ledger>div{border-color:var(--border)}.bottom-nav{height:calc(68px + env(safe-area-inset-bottom))}.schedule-context p{flex-wrap:wrap;gap:4px}.hero-copy h1{font-size:36px}.landing-nav nav>a[href=\/logowanie]{display:inline-flex}.landing-nav nav{gap:12px}.landing-nav .button--primary{display:none}}@media (min-width:981px){.today-page.today-page--new{grid-template-columns:minmax(0,720px)}.today-page{grid-template-columns:minmax(340px,.95fr) minmax(0,1.05fr);align-items:start;gap:20px;display:grid}.today-page>.page-header{grid-column:1/-1;width:100%;margin-bottom:8px}.today-grid{display:contents}.day-plan{grid-area:2/2}.next-lesson-card{grid-area:2/1/span 2}.completion-section{grid-area:3/2;margin-top:0}.completion-list{grid-template-columns:1fr}.quiet-metrics{grid-column:1/-1;margin-top:0}}.today-page--new .desktop-primary{display:none}.selected-participants{justify-content:space-between;align-items:center;gap:12px;display:flex}.selected-participants strong{overflow-wrap:anywhere;font-size:14px}.selected-participants+div .student-picker{margin-top:12px}.next-lesson-card .thread-node strong{font-size:16px}.thread-node--now strong{color:var(--brand-primary)}@media (max-width:767px){.selected-participants{flex-direction:column;align-items:flex-start;gap:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.today-dashboard{width:min(100%,1180px);margin:0 auto}.today-dashboard__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;padding-bottom:22px;display:flex}.today-dashboard__header h1{letter-spacing:-.055em;margin-bottom:2px;font-size:clamp(30px,3vw,42px)}.today-dashboard__date{color:var(--muted);font-family:var(--font-editorial), Georgia, serif;margin:0;font-size:17px}.today-dashboard__layout{grid-template-columns:minmax(0,1.72fr) minmax(300px,.78fr);align-items:start;gap:clamp(28px,4vw,56px);display:grid}.today-dashboard__main,.today-dashboard__rail{min-width:0}.today-dashboard__main{gap:42px;display:grid}.today-dashboard__rail{border-top:1px solid var(--border-strong);gap:0;display:grid}.dashboard-section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.dashboard-section-heading h2{margin:0;font-size:24px;font-weight:700}.dashboard-section-heading--compact h2{font-size:19px}.dashboard-section-count{color:var(--muted);padding-top:4px;font-size:12px;font-weight:700}.day-context{background:var(--brand-soft);border-left:3px solid var(--brand-primary);border-radius:0 var(--radius-control) var(--radius-control) 0;align-items:center;gap:12px;margin:22px 0 8px;padding:12px 14px;display:flex}.day-context__pulse{background:var(--brand-primary);border:3px solid var(--surface);border-radius:50%;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 0 2px #137d6038}.day-context>div{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.day-context strong{font-size:13px}.day-context span:last-child{color:var(--muted);font-size:12px}.day-context--done{background:var(--surface-subtle);border-left-color:var(--border-strong)}.day-context--done .day-context__pulse{background:var(--border-strong);box-shadow:none}.today-lesson-list{margin:8px 0 0;padding:0;list-style:none}.today-lesson{grid-template-columns:58px 18px minmax(0,1fr);min-height:106px;display:grid}.today-lesson__time{align-content:start;gap:1px;padding-top:21px;display:grid}.today-lesson__time time{letter-spacing:-.02em;font-size:15px;font-weight:750}.today-lesson__time span{color:var(--muted);font-size:11px}.today-lesson__rail{position:relative}.today-lesson__rail:before{content:"";z-index:1;background:var(--surface);border:2px solid var(--border-strong);border-radius:50%;width:9px;height:9px;position:absolute;top:25px;left:5px}.today-lesson__rail:after{content:"";background:var(--border);width:1px;position:absolute;top:36px;bottom:-25px;left:9px}.today-lesson:last-child .today-lesson__rail:after{display:none}.today-lesson__body{border:1px solid #0000;border-bottom-color:var(--border);border-radius:var(--radius-control);transition:background var(--motion-fast) ease, border-color var(--motion-fast) ease;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:8px;padding:15px 16px;display:grid}.today-lesson__body:hover{background:var(--surface-subtle)}.today-lesson--emphasized .today-lesson__body{background:var(--surface);border-color:var(--border-strong);box-shadow:0 8px 24px #2230390f}.today-lesson--emphasized .today-lesson__rail:before{border-color:var(--brand-primary);background:var(--brand-primary);box-shadow:0 0 0 4px var(--brand-soft)}.today-lesson--completed{opacity:.66}.today-lesson__identity{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.today-lesson__identity>div{min-width:0}.today-lesson__identity h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 2px;font-size:16px;overflow:hidden}.today-lesson__identity p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.today-lesson__actions{align-items:center;gap:10px;display:flex}.today-lesson__actions .button{min-height:36px;padding:7px 11px}.dashboard-attention{border-top:1px solid var(--border-strong);padding-top:26px}.attention-list{margin:18px 0 0;padding:0;list-style:none}.attention-item{border-bottom:1px solid var(--border);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 0;display:grid}.attention-item__marker{background:var(--attention);width:8px;height:8px;transform:rotate(45deg)}.attention-item--sync_failure .attention-item__marker{background:var(--error);border-radius:50%;transform:none}.attention-item>div{min-width:0}.attention-item strong{font-size:13px;display:block}.attention-item p{color:var(--muted);margin:2px 0 0;font-size:12px}.dashboard-rail-section{border-bottom:1px solid var(--border);padding:24px 2px 26px}.icon-link{width:40px;height:40px;color:var(--brand-primary);border:1px solid var(--border);border-radius:var(--radius-control);place-items:center;display:grid}.upcoming-list{margin:18px 0 0;padding:0;list-style:none}.upcoming-list__day{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:14px 0 4px;font-size:11px;font-weight:750}.upcoming-list li:first-child .upcoming-list__day{margin-top:0}.upcoming-list a{border-bottom:1px solid var(--border);grid-template-columns:46px minmax(0,1fr) 16px;align-items:center;gap:10px;min-height:54px;padding:8px 4px;display:grid}.upcoming-list time{font-size:13px;font-weight:750}.upcoming-list a>span{min-width:0;display:grid}.upcoming-list strong,.upcoming-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upcoming-list strong{font-size:13px}.upcoming-list small{color:var(--muted);font-size:11px}.dashboard-rail-link{margin-top:8px}.quick-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.quick-actions button,.quick-actions a{min-height:48px;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);align-items:center;gap:8px;padding:10px 11px;font-size:12px;font-weight:700;display:flex}.quick-actions button:hover:not(:disabled),.quick-actions a:hover:not([aria-disabled=true]){color:var(--brand-primary);border-color:var(--brand-primary)}.quick-actions button:disabled,.quick-actions a[aria-disabled=true]{cursor:not-allowed;opacity:.52}.monthly-summary dl{gap:0;margin:16px 0 0;display:grid}.monthly-summary dl>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;display:flex}.monthly-summary dt{color:var(--muted);font-size:12px}.monthly-summary dd{margin:0;font-size:15px;font-weight:750}.monthly-summary__note{color:var(--muted);margin:12px 0 0;font-size:11px}.dashboard-calm-state{color:var(--muted);margin:18px 0 0;font-size:13px}.today-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:3px minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:22px;padding:26px 22px;display:grid}.today-empty__line{background:var(--brand-primary);border-radius:3px;align-self:stretch}.today-empty h3{margin:0 0 4px;font-size:17px}.today-empty p{color:var(--muted);margin:0;font-size:13px}.dashboard-partial-error{color:var(--warning);background:var(--warning-subtle);border:1px solid var(--warning-border);border-radius:var(--radius-control);align-items:center;gap:10px;margin:-10px 0 24px;padding:10px 12px;font-size:12px;display:flex}.dashboard-partial-error span{flex:1}.new-tutor-state{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-panel);grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);display:grid;overflow:hidden}.new-tutor-state__intro{padding:clamp(30px,5vw,62px)}.new-tutor-state__intro h2{max-width:520px;margin-bottom:12px;font-size:clamp(28px,4vw,44px)}.new-tutor-state__intro>p:not(.eyebrow){max-width:560px;color:var(--muted);margin-bottom:26px}.new-tutor-steps{background:var(--brand-soft);align-content:center;gap:0;margin:0;padding:34px;list-style:none;display:grid}.new-tutor-steps li{border-bottom:1px solid #137d6029;grid-template-columns:34px 1fr;align-items:center;gap:12px;min-height:70px;display:grid}.new-tutor-steps li:last-child{border-bottom:0}.new-tutor-steps span{width:28px;height:28px;color:var(--brand-primary);background:var(--surface);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.new-tutor-steps strong{font-size:13px}.today-dashboard-loading{gap:30px;width:min(100%,1180px);margin:0 auto;padding-top:12px;display:grid}.today-dashboard-loading__grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:40px;display:grid}.today-dashboard-loading__grid>div{gap:18px;display:grid}.today-dashboard-loading .skeleton--wide{height:180px}.today-dashboard-loading .skeleton--card{height:280px}@media (max-width:980px){.today-dashboard__layout,.today-dashboard-loading__grid{grid-template-columns:1fr}.today-dashboard__rail{border-top-color:var(--border)}.new-tutor-state{grid-template-columns:1fr}}@media (max-width:767px){.today-dashboard__header{align-items:flex-start;margin-bottom:24px;padding-bottom:18px}.today-dashboard__header h1{font-size:29px}.today-dashboard__date{font-size:15px}.today-dashboard__primary-action{display:none}.today-dashboard__main,.today-dashboard__layout{gap:32px}.dashboard-section-heading h2{font-size:21px}.day-context{margin-top:18px}.today-lesson{grid-template-columns:50px 15px minmax(0,1fr)}.today-lesson__body{grid-template-columns:1fr;gap:8px;padding:14px 10px}.today-lesson__identity{flex-direction:column;align-items:flex-start;gap:5px}.today-lesson__actions{justify-content:space-between}.today-lesson__actions .text-link{margin-left:auto}.attention-item{grid-template-columns:9px minmax(0,1fr);align-items:start}.attention-item .text-link{grid-column:2;justify-self:start}.today-empty{grid-template-columns:3px 1fr;align-items:start;padding:20px 16px}.today-empty .button{grid-column:2;justify-self:start}.dashboard-partial-error{flex-wrap:wrap;align-items:flex-start}.dashboard-partial-error span{min-width:calc(100% - 32px)}.dashboard-partial-error .text-link{margin-left:28px}.new-tutor-state__intro,.new-tutor-steps{padding:24px 20px}.new-tutor-state__intro h2{font-size:28px}}.hero-copy h1 em{font-family:var(--font-editorial), Georgia, serif;color:var(--brand-primary);letter-spacing:-.045em;font-style:normal;font-weight:500}.hero-product-preview{background:var(--brand-soft);border-radius:var(--radius-panel);min-width:0;padding:20px}.preview-caption{color:var(--muted);justify-content:space-between;gap:12px;padding:0 2px 16px;font-size:12px;display:flex}.preview-caption span:first-child{color:var(--brand-primary);font-weight:700}.auth-aside-description{max-width:42ch;color:var(--muted);margin-bottom:32px;line-height:1.75}.auth-aside-note{color:var(--muted);margin:28px 0 0;font-size:12px}.auth-mini-thread .mini-node--now,.auth-mini-thread .mini-node--now+div{grid-row:3}.auth-mini-thread .mini-node:last-of-type,.auth-mini-thread div:last-child{grid-row:5}.reset-page{background:var(--surface);min-height:100dvh;padding:32px max(24px,5vw)}.reset-page .auth-card{margin:64px auto}.sidebar-nav a:last-child{margin-top:20px}.sidebar-nav a[aria-current=page]{color:var(--brand-primary);background:var(--brand-soft)}.student-facts{align-self:start}.progress-panel .thread-node--now>div{background:var(--brand-soft);border-radius:var(--radius-control);margin:-8px 0 12px;padding:12px 16px}.progress-panel .thread-node--now small,.progress-panel .section-heading>svg{color:var(--brand-primary)}.plan-item:focus-within{background:var(--surface-subtle)}.lesson-form .field-group:first-child{border-top:0;padding-top:0}.calendar-page .planning-bar:has(select option:checked:not([value=""])){color:var(--brand-primary)}.calendar-event:focus-visible{background:var(--brand-soft)}.settings-nav a[aria-current=page]{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}@media (min-width:768px) and (max-width:1199px){.sidebar .brand-wordmark{display:none}.sidebar .brand-compact-label{display:block}.sidebar .brand-symbol{width:38px}}@media (max-width:980px){.hero-product-preview{width:100%;max-width:580px}}@media (max-width:767px){.brand--public .brand-symbol{width:30px}.brand--public .brand-wordmark{width:120px}.mobile-header .brand-symbol{width:28px}.mobile-header .brand-wordmark{width:112px}.hero-product-preview{padding:12px}.preview-caption{flex-wrap:wrap;padding:2px 4px 12px}.hero-copy h1{font-size:clamp(34px,9vw,46px)}.hero-note{align-items:flex-start}.auth-card{margin:auto}.reset-page .auth-card{margin-top:32px}.auth-panel{min-height:100dvh}.next-identity{grid-template-columns:1fr}.today-grid{gap:16px}.day-plan{padding:20px 0}.quiet-metrics>div,.quiet-metrics>a{flex-wrap:wrap;gap:6px;min-width:0;padding:14px 8px}.tabs{gap:16px}.bottom-nav a.active{background:var(--brand-soft)}.settings-panel{padding:24px 16px}}.thread-node strong a{transition:border-color var(--motion-fast) ease;border-bottom:1px solid #0000}.thread-node strong a:hover{border-bottom-color:currentColor}.calendar-sync-notice{color:var(--warning);background:var(--warning-subtle);border:1px solid var(--warning-border);border-radius:var(--radius-control);align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:12px;display:flex}.calendar-sync-notice span{flex:1}.calendar-sync-notice a{text-underline-offset:3px;flex-shrink:0;font-weight:700;text-decoration:underline}@media (min-width:981px){.today-page--no-next .next-lesson-card{background:var(--brand-soft);grid-area:2/1/auto/-1;padding:20px 24px}.today-page--no-next .next-lesson-card .empty-state{justify-content:space-between;align-items:center;padding:8px 0 0;display:flex}.today-page--no-next .next-lesson-card .empty-rule{display:none}.today-page--no-next .day-plan{grid-area:3/1;padding:20px 0}.today-page--no-next .completion-section{border-top:0;grid-area:3/2}}@media (max-width:767px){.calendar-sync-notice{flex-wrap:wrap;align-items:flex-start}.calendar-sync-notice a{align-items:center;min-height:32px;margin-left:26px;display:inline-flex}}.account-settings{border-top:1px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:24px;padding-top:24px;display:flex}.account-settings h3{margin-bottom:6px}.account-settings p{color:var(--muted);margin:0;font-size:13px}.account-settings .button{flex-shrink:0}@media (max-width:767px){.account-settings{flex-direction:column;align-items:flex-start;gap:16px}.plan-main>.check-row,.plan-note summary,.score-control input{min-height:44px}.plan-note textarea{font-size:16px}.lesson-page{scroll-margin-top:140px}html:has(.lesson-page){scroll-padding-top:150px;scroll-padding-bottom:210px}}@media (min-width:768px) and (max-width:1100px){.student-hero{flex-direction:column;align-items:flex-start;gap:20px}.student-hero-actions{justify-content:flex-start}}.module-switch{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:4px;margin-bottom:24px;padding:4px;display:inline-flex}.module-switch a{min-height:40px;color:var(--muted);border-radius:7px;align-items:center;padding:0 18px;font-size:14px;font-weight:700;display:inline-flex}.module-switch a.active{color:var(--brand-primary);background:var(--brand-soft)}.list-toolbar--crm{grid-template-columns:minmax(260px,1fr) auto auto auto;align-items:center;gap:12px;display:grid}.filter-menu{position:relative}.filter-menu>summary{cursor:pointer;list-style:none}.filter-menu>summary::-webkit-details-marker{display:none}.filter-popover{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:14px;width:280px;padding:18px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 34px #22303924}.sort-field{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.sort-field select{border:1px solid var(--control-border);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;border-radius:8px;padding:0 34px 0 12px}.filter-chips{flex-wrap:wrap;gap:8px;margin:-8px 0 20px;display:flex}.filter-chips button{border:1px solid var(--border);background:var(--brand-soft);min-height:34px;color:var(--brand-primary);cursor:pointer;border-radius:8px;padding:0 11px;font-weight:700}.filter-chips .filter-clear{color:var(--muted);background:0 0}.student-list{border:1px solid var(--border);background:var(--surface);border-radius:14px;overflow:hidden}.student-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,.9fr) minmax(560px,2fr) 44px;align-items:center;gap:20px;min-height:98px;padding:18px 18px 18px 20px;display:grid}.student-row:last-child{border-bottom:0}.student-row:hover,.student-row:focus-within{background:var(--surface-subtle)}.student-row__identity{align-items:center;gap:13px;min-width:0;display:flex}.student-row__identity>span:last-child,.member-list a>span:last-child,.member-picker label>span:last-child{gap:3px;min-width:0;display:grid}.student-row__identity strong,.member-list strong,.member-picker strong{color:var(--ink);font-size:15px}.student-row__identity small,.member-list small,.member-picker small{color:var(--muted);font-size:12px}.student-row__facts{grid-template-columns:1.2fr 1fr .8fr 1fr;gap:22px;margin:0;display:grid}.student-row__facts div{min-width:0}.student-row__facts dt{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:650}.student-row__facts dd{overflow-wrap:anywhere;color:var(--ink);margin:0;font-size:13px;font-weight:650}.amount-due{color:var(--warning)!important}.amount-paid{color:var(--success)!important}.student-row__open{width:44px;height:44px;color:var(--brand-primary);border-radius:8px;place-items:center;font-size:26px;display:grid}.student-row__open:hover{background:var(--brand-soft)}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.group-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:44px minmax(0,1fr) 28px;align-items:start;gap:14px;padding:20px;display:grid}.group-card:hover,.group-card:focus-visible{border-color:var(--border-strong);background:var(--surface-subtle)}.group-card__icon{background:var(--brand-soft);width:44px;height:44px;color:var(--brand-primary);border-radius:11px;place-items:center;display:grid}.group-card__main{gap:4px;display:grid}.group-card__main strong{color:var(--ink);font-size:17px}.group-card__main small{color:var(--muted)}.group-card dl{grid-column:2/3;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:14px 0 0;display:grid}.group-card dt{color:var(--muted);font-size:12px}.group-card dd{color:var(--ink);margin:3px 0 0;font-size:13px;font-weight:650}.group-card__arrow{color:var(--brand-primary);font-size:25px}.profile-summary-strip{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:18px 0 24px;display:grid}.profile-summary-strip>div{border-right:1px solid var(--border);gap:5px;min-width:0;padding:16px 18px;display:grid}.profile-summary-strip>div:last-child{border-right:0}.profile-summary-strip span{color:var(--muted);font-size:12px;font-weight:650}.profile-summary-strip strong{overflow-wrap:anywhere;font-size:14px}.overview-wide{grid-column:1/-1}.contact-list,.membership-links,.member-list{display:grid}.contact-list article,.member-list article,.membership-links a{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.contact-list article:last-child,.member-list article:last-child,.membership-links a:last-child{border-bottom:0}.contact-list article>div:first-child,.membership-links a>span:first-child{gap:3px;display:grid}.contact-list small,.membership-links small,.contact-list span{color:var(--muted);font-size:13px}.membership-links a{color:var(--brand-primary)}.member-list article>a{align-items:center;gap:12px;min-width:0;display:flex}.member-picker{border:1px solid var(--border);border-radius:10px;max-height:330px;display:grid;overflow-y:auto}.member-picker label{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:22px 40px minmax(0,1fr);align-items:center;gap:10px;min-height:64px;padding:10px 12px;display:grid}.member-picker label:last-child{border-bottom:0}.member-picker label:hover{background:var(--surface-subtle)}.empty-inline{color:var(--muted);margin:0;padding:18px}.inline-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-alert--warning{border-color:var(--warning-border);background:var(--warning-subtle);color:var(--warning);gap:8px;display:grid}.button--danger{background:var(--error);color:#fff}.button--danger:hover{filter:brightness(.92)}.text-link--danger{color:var(--error)}@media (max-width:1100px){.list-toolbar--crm{grid-template-columns:minmax(240px,1fr) auto auto}.sort-field{grid-column:1/-1;justify-self:end}.student-row{grid-template-columns:minmax(210px,.8fr) minmax(440px,1.7fr) 44px}.student-row__facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}}@media (max-width:767px){.module-switch{width:100%}.module-switch a{flex:1;justify-content:center}.list-toolbar--crm{grid-template-columns:1fr auto}.list-toolbar--crm .search-field{grid-column:1/-1}.filter-menu{justify-self:end}.filter-popover{width:auto;position:fixed;inset:auto 14px 86px}.sort-field{grid-column:1/-1;justify-content:space-between;width:100%}.sort-field select{flex:1}.student-list{background:0 0;border:0;gap:12px;display:grid;overflow:visible}.student-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1fr) 44px;gap:14px;min-height:0;padding:16px}.student-row:last-child{border-bottom:1px solid var(--border)}.student-row__facts{border-top:1px solid var(--border);grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:13px}.student-row__facts div:nth-child(2){display:none}.student-row__open{grid-area:1/2}.group-grid{grid-template-columns:1fr}.group-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-summary-strip{grid-template-columns:1fr 1fr}.profile-summary-strip>div{border-bottom:1px solid var(--border)}.profile-summary-strip>div:nth-child(2n){border-right:0}.profile-summary-strip>div:nth-last-child(-n+2){border-bottom:0}.contact-list article{flex-direction:column;align-items:flex-start}.member-list article{align-items:center}}
