:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f1e7;--surface:#fffdf8;--surface-2:#f1ece0;--border:#e2d8c3;--border-strong:#cfc0a1;--field-border:#6f6250;--text:#2a241e;--muted:#6f6250;--accent:#8a6d21;--accent-text:#755a15;--accent-ink:#fffdf8;--accent-soft:#efe7d8;--danger:#9b2c2c;--danger-soft:#f3e3e3;--danger-border:#c98a8a;--success:#2f6b46;--success-soft:#e6f0e9;--success-border:#7fa891;--warn-soft:#f6ecd8;--warn-ink:#7a5f16;--nav-bg:#2a241e;--nav-text:#e7ddcd;--nav-muted:#b9a98f;--nav-border:#574d41;--nav-surface:#3a322b;--nav-accent:#c8a24a;--nav-danger:#e08a80;--row-hover:#faf6ed;--font-head:Georgia, "Times New Roman", serif;--font-ui:system-ui, "Segoe UI", Roboto, sans-serif;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--r-control:3px;--r-section:6px;--r-badge:2px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#17130f;--surface:#201b16;--surface-2:#2a241e;--border:#3a322b;--border-strong:#4d4238;--field-border:#b9a98f;--text:#ece2d2;--muted:#b9a98f;--accent:#c8a24a;--accent-text:#c8a24a;--accent-ink:#1b1714;--accent-soft:#2f2618;--danger:#e08a80;--danger-soft:#33201d;--danger-border:#7a4740;--success:#8ec5a3;--success-soft:#1c2a22;--success-border:#3f6650;--warn-soft:#302617;--warn-ink:#d8b968;--nav-bg:#100d0a;--nav-text:#ece2d2;--nav-muted:#b9a98f;--nav-border:#3a322b;--nav-surface:#201b16;--nav-accent:#c8a24a;--nav-danger:#e08a80;--row-hover:#262019}@media (prefers-color-scheme:dark){:root[data-theme=auto]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#17130f;--surface:#201b16;--surface-2:#2a241e;--border:#3a322b;--border-strong:#4d4238;--field-border:#b9a98f;--text:#ece2d2;--muted:#b9a98f;--accent:#c8a24a;--accent-text:#c8a24a;--accent-ink:#1b1714;--accent-soft:#2f2618;--danger:#e08a80;--danger-soft:#33201d;--danger-border:#7a4740;--success:#8ec5a3;--success-soft:#1c2a22;--success-border:#3f6650;--warn-soft:#302617;--warn-ink:#d8b968;--nav-bg:#100d0a;--nav-text:#ece2d2;--nav-muted:#b9a98f;--nav-border:#3a322b;--nav-surface:#201b16;--nav-accent:#c8a24a;--nav-danger:#e08a80;--row-hover:#262019}}:root[data-theme=telegram]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--tg-theme-bg-color,#f6f1e7);--surface:var(--tg-theme-section-bg-color,#fffdf8);--surface-2:var(--tg-theme-secondary-bg-color,#f1ece0);--text:var(--tg-theme-text-color,#2a241e);--muted:var(--tg-theme-hint-color,#6f6250);--field-border:var(--tg-theme-hint-color,#6f6250);--accent:var(--tg-theme-button-color,#8a6d21);--accent-ink:var(--tg-theme-button-text-color,#fffdf8);--accent-text:var(--tg-theme-link-color,#755a15);--danger:var(--tg-theme-destructive-text-color,#9b2c2c)}:root[data-theme=telegram][data-tg-scheme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--tg-theme-bg-color,#17130f);--surface:var(--tg-theme-section-bg-color,#201b16);--surface-2:var(--tg-theme-secondary-bg-color,#2a241e);--border:#3a322b;--border-strong:#4d4238;--text:var(--tg-theme-text-color,#ece2d2);--muted:var(--tg-theme-hint-color,#b9a98f);--field-border:var(--tg-theme-hint-color,#b9a98f);--accent:var(--tg-theme-button-color,#c8a24a);--accent-ink:var(--tg-theme-button-text-color,#1b1714);--accent-text:var(--tg-theme-link-color,#c8a24a);--accent-soft:#2f2618;--danger:var(--tg-theme-destructive-text-color,#e08a80);--danger-soft:#33201d;--danger-border:#7a4740;--success:#8ec5a3;--success-soft:#1c2a22;--success-border:#3f6650;--warn-soft:#302617;--warn-ink:#d8b968;--row-hover:#262019}body{font:15px/1.5 var(--font-ui);background:var(--bg);color:var(--text);margin:0}.num,input[type=time],input[type=date],input[type=number]{font-variant-numeric:tabular-nums}#root{box-sizing:border-box;flex-direction:column;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--font-head);color:inherit;font-weight:600}h2{font-size:20px;line-height:1.3}h1{letter-spacing:-.5px;margin:var(--sp-4) 0 0;font-size:30px;line-height:1.15}@media (width<=700px){h1{font-size:24px}}p{margin:0}.nav{background:var(--nav-bg);border-bottom:1px solid var(--nav-border);gap:var(--sp-6);padding:var(--sp-3);z-index:1;flex-wrap:wrap;justify-content:center;display:flex;position:sticky;top:0}.nav a{color:var(--nav-muted);font-size:14px;text-decoration:none}.nav a:hover{color:var(--nav-accent)}.nav-menu{align-items:center;display:flex}.nav-menu-toggle{border:1px solid var(--nav-border);border-radius:var(--r-control);width:44px;height:44px;color:var(--nav-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:none}.nav-menu-toggle:hover{color:var(--nav-accent);border-color:var(--nav-accent)}.nav-menu-items{align-items:center;gap:var(--sp-4);display:flex}.nav .nav-menu-items{gap:var(--sp-6)}@media (width>=701px){.app-nav .nav-menu,.app-nav .nav-menu-items{flex:1}}@media (width<=700px){.nav-menu{position:relative}.nav-menu-toggle{display:inline-flex}.nav-menu-items{min-width:200px;padding:var(--sp-2);background:var(--nav-bg);border:1px solid var(--nav-border);border-radius:var(--r-section);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:calc(100% + 4px);left:0}.nav-menu[data-open] .nav-menu-items{display:flex}.nav-menu-items>.app-nav-link,.nav-menu-items>.app-nav-logout{padding:var(--sp-2) var(--sp-3)}.nav-menu-items>.app-nav-logout{margin:var(--sp-2) 0 0;border-top:1px solid var(--nav-border);text-align:left;border-bottom:0;border-left:0;border-right:0}}.footer{background:var(--nav-bg);border-top:1px solid var(--nav-border);text-align:center;padding:var(--sp-4)}.footer a{color:var(--nav-muted);letter-spacing:.3px;font-size:13px;text-decoration:none}.footer a:hover{color:var(--nav-accent)}.hero{background:var(--nav-bg);color:var(--nav-text);text-align:center;padding:var(--sp-8) var(--sp-5) var(--sp-8);position:relative;overflow:hidden}.hero-inner{position:relative}.hero-watermark{font-family:var(--font-head);color:var(--nav-accent);opacity:.13;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:160px;line-height:1;position:absolute;top:-28px;right:8px}.hero-photo{object-fit:cover;object-position:center;border:2px solid var(--nav-accent);border-radius:50%}.hero h1{color:var(--nav-text)}.hero-tagline{color:var(--nav-muted);margin-top:var(--sp-2)}.hero-cta{margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-6);border-radius:var(--r-control);background:var(--nav-accent);color:var(--nav-bg);font-weight:600;text-decoration:none;display:inline-block}.hero-cta:hover{filter:brightness(1.06)}.trust{background:var(--nav-bg);color:var(--nav-muted);border-top:1px solid var(--nav-border);gap:var(--sp-3) var(--sp-8);padding:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.trust-item{gap:var(--sp-1);flex-direction:column;font-size:13px;display:flex}.trust-value{color:var(--nav-accent);white-space:nowrap;font-size:16px;font-weight:700}.section{padding:var(--sp-8) var(--sp-5)}.section-inner{max-width:620px;margin:0 auto}.section--ink{background:var(--nav-bg);color:var(--nav-text)}.section--paper{background:var(--bg);color:var(--text)}.section--paper-2{background:var(--surface-2);color:var(--text)}.eyebrow{font-family:var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:0 0 var(--sp-3);font-size:11px;font-weight:700}.eyebrow--accent{color:var(--nav-accent);text-align:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-section);padding:var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-section);padding:var(--sp-6)}button{font:inherit}.btn{padding:var(--sp-2) var(--sp-4);border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface);color:var(--text);cursor:pointer;font-size:14px;line-height:1.5}.btn:hover:not(:disabled){border-color:var(--accent)}.btn--primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:600}.btn--primary:hover:not(:disabled){filter:brightness(1.06)}.btn--danger{border-color:var(--danger);color:var(--danger);font-weight:600}.btn--danger:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.btn:disabled{opacity:.6;cursor:default}@media (pointer:coarse){.btn{min-height:44px}}.prose p{margin:0 0 var(--sp-3)}.skill-grid{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=1100px){.skill-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.skill-grid{grid-template-columns:1fr}}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-section);padding:var(--sp-3);gap:var(--sp-1);flex-direction:column;display:flex}.skill-title{font-size:15px;font-weight:700}.skill-note{color:var(--muted);font-size:13px}.quotes{gap:var(--sp-3);flex-direction:column;display:flex}.quote{background:var(--nav-surface);border-left:3px solid var(--nav-accent);border-radius:var(--r-section);padding:var(--sp-3) var(--sp-4);text-align:left;margin:0}.quote p{font-size:15px;font-style:italic}.quote footer{color:var(--nav-muted);margin-top:var(--sp-2);font-size:13px}.profi-link{margin-top:var(--sp-4);color:var(--nav-accent);border:1px solid var(--nav-border);border-radius:var(--r-control);padding:var(--sp-2) var(--sp-4);font-size:14px;text-decoration:none;display:inline-block}.profi-link:hover{border-color:var(--nav-accent)}.faq-list{text-align:left}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{cursor:pointer;padding:var(--sp-3) 0;justify-content:space-between;align-items:center;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--danger);font-size:20px;line-height:1}.faq-item[open] summary:after{content:"−"}.faq-item p{padding:0 0 var(--sp-3);color:var(--muted)}.contact-intro{color:var(--nav-muted);margin-bottom:var(--sp-4)}.contact-form{gap:var(--sp-1);text-align:left;flex-direction:column;display:flex}.contact-form label{font-size:14px}.contact-form input,.contact-form textarea{padding:var(--sp-2);border:1px solid var(--field-border);border-radius:var(--r-section);background:var(--surface);color:var(--text);font:inherit}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted)}.contact-form>.btn{margin-top:var(--sp-3)}.section--ink .contact-form input,.section--ink .contact-form textarea{border-color:var(--nav-border);background:var(--nav-surface);color:var(--nav-text)}.section--ink .contact-form input::placeholder,.section--ink .contact-form textarea::placeholder{color:var(--nav-muted)}.section--ink .contact-form .btn--primary{border-color:var(--nav-accent);background:var(--nav-accent);color:var(--nav-bg)}.contact-result{text-align:left;color:var(--nav-text)}.contact-error{color:var(--danger)}.section--ink .contact-error{color:var(--nav-danger)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.privacy{max-width:620px;padding:var(--sp-12) var(--sp-5) var(--sp-12);text-align:left;margin:0 auto}.privacy h1{margin:0 0 var(--sp-1)}.privacy h2{margin:var(--sp-8) 0 var(--sp-2)}.privacy p{margin:0 0 var(--sp-3)}.privacy section p{color:var(--muted)}.privacy a{color:var(--danger);border-bottom:1px solid var(--border-strong);text-decoration:none}.privacy a:hover{color:var(--accent);border-bottom-color:var(--accent)}.privacy small{color:var(--muted);font-size:13px}.auth-page{box-sizing:border-box;width:100%;max-width:420px;padding:var(--sp-12) var(--sp-5) var(--sp-12);text-align:left;margin:0 auto}.auth-page h1{margin:0 0 var(--sp-4)}.auth-page{padding-left:max(var(--sp-5),env(safe-area-inset-left));padding-right:max(var(--sp-5),env(safe-area-inset-right))}.auth-page:not(.profile-page):not(.dashboard-page) h1{text-align:center}.auth-topbar{margin-bottom:var(--sp-4);justify-content:flex-end;display:flex}.auth-lede{margin:0 0 var(--sp-6);color:var(--muted);text-align:center}.auth-loading{color:var(--muted)}.auth-hint{color:var(--muted);margin:var(--sp-4) 0 0;font-size:13px}.auth-foot{margin-top:var(--sp-6);text-align:center}.auth-foot a{color:var(--accent-text);text-decoration:none}.auth-foot a:hover{text-decoration:underline}.app-shell{flex-direction:column;flex:1;display:flex}.app-nav{box-sizing:border-box;background:var(--nav-bg);border-bottom:1px solid var(--nav-border);align-items:center;gap:var(--sp-4);width:100%;max-width:1180px;padding:var(--sp-3) var(--sp-5);z-index:1;flex-wrap:wrap;margin:0 auto;display:flex;position:sticky;top:0}.app-nav-link{color:var(--nav-muted);font-size:14px;text-decoration:none}.app-nav-link:hover,.app-nav-link.active{color:var(--nav-accent)}.app-nav-logout{border:1px solid var(--nav-border);border-radius:var(--r-control);color:var(--nav-muted);padding:var(--sp-1) var(--sp-3);cursor:pointer;background:0 0;margin-left:auto;font-size:13px}.app-nav-logout:hover{border-color:var(--nav-accent);color:var(--nav-accent)}.app-nav-logout:disabled{opacity:.6;cursor:default}.app-brand{align-items:center;gap:var(--sp-2);margin-right:var(--sp-4);display:flex}.app-brand-mark{border-radius:var(--r-control);background:var(--nav-accent);width:28px;height:28px;color:var(--nav-bg);font-family:var(--font-head);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.app-brand-name{color:var(--nav-text);font-family:var(--font-head);font-size:15px;font-weight:700}@media (width<=700px){.app-nav{gap:var(--sp-2)}.app-brand{gap:var(--sp-1);margin-right:0}}.app-nav--tg{gap:var(--sp-2);padding:var(--sp-1) var(--sp-3)}.nav-menu--compact .nav-menu-toggle{width:40px;height:40px;font-size:20px}.nav-menu--compact .nav-menu-items{gap:var(--sp-3)}@media (width<=700px){.nav-menu--compact .nav-menu-items{min-width:160px;padding:var(--sp-1)}.nav-menu--compact .nav-menu-items>.app-nav-link{padding:var(--sp-1) var(--sp-2)}}.app-subnav{gap:var(--sp-5);padding:0 var(--sp-5);background:var(--nav-bg);border-bottom:1px solid var(--nav-border);box-sizing:border-box;flex-wrap:wrap;width:100%;max-width:1180px;margin:0 auto;display:flex}.app-subnav-link{color:var(--nav-muted);padding:var(--sp-3) 0;border-bottom:2px solid #0000;font-size:14px;text-decoration:none}.app-subnav-link:hover,.app-subnav-link.active{color:var(--nav-accent)}.app-subnav-link.active{border-bottom-color:var(--nav-accent)}.avatar{object-fit:cover;border-radius:50%;display:inline-flex}.avatar-initials{color:var(--accent-ink);font-weight:700;font-family:var(--font-head);justify-content:center;align-items:center}.avatar--sm{width:40px;height:40px;font-size:18px}.avatar--md{width:64px;height:64px;font-size:29px}.avatar--lg{width:150px;height:150px;font-size:68px}.avatar--c1{background:var(--danger)}.avatar--c2{background:var(--accent)}.avatar--c3{background:var(--success)}.avatar--c4{background:var(--warn-ink)}.avatar--c5{background:var(--text)}.avatar--c6{background:var(--muted)}.profile-page{max-width:900px}.profile-avatar-form{margin-top:var(--sp-3)}.profile-success{color:var(--success)}.settings-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-section);max-width:900px;margin:0 auto;overflow:hidden}.settings-row{gap:var(--sp-4);padding:var(--sp-6);border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.settings-label{gap:var(--sp-2);flex-direction:column;display:flex}.settings-label h2{margin:0;font-size:17px}.settings-hint{color:var(--muted);margin:0;font-size:13px}.settings-control{gap:var(--sp-3);flex-direction:column;display:flex}.settings-value{font-variant-numeric:tabular-nums;margin:0;font-size:15px}.settings-bar{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);background:var(--surface-2);flex-wrap:wrap;display:flex}.settings-bar .profile-success,.settings-bar .contact-error{margin-left:auto}.settings-bar-scope{color:var(--muted);margin:0;font-size:13px}.dashboard-page{max-width:900px}.dashboard-head{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.dashboard-invite-cta{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-control);background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;font-weight:600}.dashboard-invite-cta:hover{filter:brightness(1.06)}.dashboard-invite-form{margin:var(--sp-4) 0 var(--sp-6);max-width:360px}.dashboard-link-panel{margin-top:var(--sp-2)}.dashboard-link-copy{align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);display:flex}.dashboard-link-field{font-variant-numeric:tabular-nums;min-width:0;padding:var(--sp-2);border:1px solid var(--nav-border);border-radius:var(--r-control);background:var(--nav-bg);color:var(--nav-muted);flex:1;font-size:13px}.dashboard-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.dashboard-search{min-width:200px;padding:var(--sp-2);border:1px solid var(--field-border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font:inherit;flex:1}.dashboard-chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.table-scroll{overflow-x:auto}.dashboard-table{border-collapse:collapse;width:100%;margin-top:var(--sp-3)}.dashboard-table th,.dashboard-table td{text-align:left;padding:var(--sp-2);border-bottom:1px solid var(--border);vertical-align:middle}.dashboard-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.dashboard-table tbody tr:hover{background:var(--row-hover)}.booking-note-cell{margin:var(--sp-1) 0 0;color:var(--muted);white-space:pre-line;font-size:13px}.dashboard-actions{gap:var(--sp-2);display:flex}.student-name{margin-left:var(--sp-2)}.dashboard-link-row td{padding-top:0}@media (width<=700px){.rows-as-cards{display:block}.rows-as-cards thead{display:none}.rows-as-cards tbody{display:block}.rows-as-cards tbody tr{padding:var(--sp-3);margin:var(--sp-2) 0;border:1px solid var(--border);border-radius:var(--r-section);background:var(--surface);display:block}.rows-as-cards tbody tr.dashboard-link-row{padding:var(--sp-2) 0;background:0 0;border:0}.rows-as-cards tbody td{box-sizing:border-box;width:100%;padding:var(--sp-1) 0;text-align:left;border:0;display:block}.rows-as-cards tbody td:first-child{padding-top:0;font-weight:600}.rows-as-cards tbody td[data-label]:before{content:attr(data-label);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--sp-1);font-size:11px;font-weight:700;display:block}.rows-as-cards .dashboard-actions,.rows-as-cards .mybookings-actions{width:100%;margin-top:var(--sp-2)}.rows-as-cards .dashboard-actions button,.rows-as-cards .mybookings-actions button,.rows-as-cards .link-danger,.rows-as-cards .link{box-sizing:border-box;text-align:center;width:100%;min-height:44px;display:block}.rows-as-cards .dashboard-actions button{margin-top:var(--sp-2)}.rows-as-cards .link-danger,.rows-as-cards .link{padding:var(--sp-2) 0}.rows-as-cards .confirm button{margin-left:0}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=700px){.nav{gap:var(--sp-4)}}.schedule-page{box-sizing:border-box;width:100%;max-width:1180px;padding:var(--sp-4);margin:0 auto}.schedule-template,.schedule-calendar{margin:var(--sp-6) 0}.schedule-page,.booking-page,.mybookings-page{padding-left:max(var(--sp-4),env(safe-area-inset-left));padding-right:max(var(--sp-4),env(safe-area-inset-right))}.schedule-week{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.schedule-template-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.schedule-day-head{text-align:center;padding:var(--sp-1);border-bottom:1px solid var(--border);font-weight:600}.schedule-day-col{overflow-wrap:break-word;min-width:0;min-height:44px}.schedule-day-empty{min-height:2.5rem;padding:var(--sp-2);border:1px dashed var(--border-strong);border-radius:var(--r-control);margin:var(--sp-1) 0;color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:13px;display:flex}.schedule-block{justify-content:space-between;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-left:3px solid var(--accent);border-radius:var(--r-control);margin:var(--sp-1) 0;background:var(--accent-soft);font-size:13px;display:flex}.schedule-block button{color:var(--danger);cursor:pointer;padding:0 var(--sp-1);background:0 0;border:none;font-size:14px;line-height:1}.schedule-week-day{box-sizing:border-box;gap:var(--sp-1);min-width:0;min-height:44px;padding:var(--sp-2);border-radius:var(--r-section);overflow-wrap:break-word;flex-direction:column;display:flex}.schedule-week-day-head{justify-content:space-between;align-items:baseline;gap:var(--sp-1);flex-wrap:wrap;font-weight:600;display:flex}.schedule-week-day-flag{letter-spacing:.04em;text-transform:uppercase;min-width:0;color:var(--accent-text);font-size:11px;font-weight:600}.schedule-week-day-head>*{min-width:0}.schedule-week-day-note{font-size:13px}.schedule-week-day-status{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.schedule-week-day--closed .schedule-week-day-status{color:var(--danger)}.schedule-week-day--extra .schedule-week-day-status{color:var(--success)}.schedule-week-day-old-time{color:var(--danger);font-size:13px}.schedule-week-day-time,.schedule-week-day-booking{font-size:13px}.schedule-week-day-free{color:var(--muted);font-size:13px}.schedule-page-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.schedule-calendar-head{justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.schedule-week-nav{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.week-stepper{border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface);display:inline-flex}.week-stepper-btn,.week-stepper-label{padding:var(--sp-2) var(--sp-3);color:var(--text);font-size:14px;line-height:1.5}.week-stepper-btn{cursor:pointer;background:0 0;border:0}.week-stepper-btn:hover:not(:disabled){color:var(--accent-text)}.week-stepper-btn:disabled{opacity:.6;cursor:default}.week-stepper-label{border-inline:1px solid var(--border-strong);white-space:nowrap;align-items:center;font-weight:600;display:flex}@media (pointer:coarse){.week-stepper-btn,.week-stepper-label{box-sizing:border-box;min-height:42px}}.schedule-calendar-cta{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-control);background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none;display:inline-block}.schedule-calendar-cta:hover{filter:brightness(1.06)}.schedule-legend{align-items:center;gap:var(--sp-2) var(--sp-4);margin:var(--sp-3) 0;color:var(--muted);flex-wrap:wrap;padding:0;font-size:13px;list-style:none;display:flex}.schedule-legend-item{align-items:center;gap:var(--sp-1);display:flex}.schedule-legend-swatch{width:var(--sp-3);height:var(--sp-3);border-radius:var(--r-badge);display:inline-block}.schedule-legend-swatch--free{background:var(--surface);border:1px solid var(--border-strong)}.schedule-legend-swatch--booked{background:var(--accent-soft);border:1px solid var(--accent)}.schedule-legend-swatch--today{background:var(--surface);border:2px solid var(--accent)}.schedule-legend-swatch--closed{background:var(--danger-soft);border:1px solid var(--danger-border)}.schedule-legend-swatch--extra{background:var(--success-soft);border:1px solid var(--success-border)}.schedule-legend-swatch--outside{background:var(--surface-2);border:1px dashed var(--border-strong)}.schedule-legend-swatch--planned{background:var(--surface);border:1px dashed var(--border-strong)}.schedule-week-day-booking--planned{padding:0 var(--sp-1);border:1px dashed var(--border-strong);border-radius:var(--r-badge);color:var(--muted)}.schedule-week-day--free{background:var(--surface);border:1px solid var(--border-strong)}.schedule-week-day--booked{background:var(--accent-soft);border:1px solid var(--accent)}.schedule-week-day--today{background:var(--surface);border:2px solid var(--accent)}.schedule-week-day--closed{background:var(--danger-soft);border:1px solid var(--danger-border)}.schedule-week-day--extra{background:var(--success-soft);border:1px solid var(--success-border)}.schedule-week-day--outside{background:var(--surface-2);border:1px dashed var(--border-strong);color:var(--muted)}.schedule-add-rule{gap:var(--sp-3);margin:var(--sp-4) 0;flex-wrap:wrap;align-items:flex-end;display:flex}.schedule-block-form,.schedule-open-form{gap:var(--sp-3);margin:var(--sp-4) 0;flex-direction:column;display:flex}.schedule-add-rule label{gap:var(--sp-1);flex-direction:column;font-size:13px;display:flex}.schedule-add-rule input,.schedule-add-rule select{padding:var(--sp-2);border:1px solid var(--field-border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font:inherit}.schedule-form-row{gap:var(--sp-3);flex-wrap:wrap;display:flex}.schedule-form-row>.field{flex:120px}.schedule-add-rule label{width:116px}.schedule-add-rule label:first-child{width:160px}.schedule-form-submit-row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.schedule-block-form .btn,.schedule-open-form .btn{min-height:44px}.schedule-exception-sections{gap:var(--sp-4);margin:var(--sp-6) 0;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.schedule-section-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;display:flex}.schedule-hint{color:var(--muted);margin:0;font-size:13px}.schedule-exception-list{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border)}.schedule-exception-rows{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.schedule-exception-row{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-control);flex-wrap:wrap;font-size:14px;display:flex}.schedule-exception-row--block{background:var(--danger-soft)}.schedule-exception-row--open{background:var(--success-soft)}.schedule-tz{color:var(--muted);font-size:13px}.schedule-error{color:var(--danger)}.booking-page{box-sizing:border-box;width:100%;max-width:1180px;padding:var(--sp-4);margin:0 auto}.booking-tz{color:var(--muted);font-size:13px}.booking-error{color:var(--danger)}.booking-durations,.booking-slot-row{gap:var(--sp-2);margin:var(--sp-3) 0;flex-wrap:wrap;display:flex}.slot-btn{min-width:76px;min-height:44px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface);color:var(--text);cursor:pointer;font-size:14px}.slot-btn:hover{background:var(--accent-soft)}.slot-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.booking-step-head{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}@media (width<=700px){.booking-slot-row{grid-template-columns:repeat(2,1fr);display:grid}.booking-slot-row .slot-btn{width:100%}}.booking-day{padding-top:var(--sp-4);border-top:1px solid var(--border)}.booking-day-title{align-items:baseline;gap:var(--sp-2);margin:0 0 var(--sp-2);font-family:var(--font-head);flex-wrap:wrap;font-size:17px;font-weight:400;display:flex}.booking-day-count{color:var(--muted);font-size:13px}.booking-confirm{margin-top:var(--sp-6)}.booking-plate{gap:var(--sp-4);padding:var(--sp-4);margin-bottom:var(--sp-4);background:var(--surface-2);border-left:3px solid var(--accent);border-radius:var(--r-control);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.booking-plate-cell{gap:var(--sp-1);flex-direction:column;display:flex}.booking-confirm-actions{align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.booking-deadline-note{color:var(--muted);margin:0 0 0 auto;font-size:13px}.booking-loading{color:var(--muted)}.teacher-bookings{margin:var(--sp-6) 0}.teacher-bookings-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.teacher-bookings-count{color:var(--muted);font-size:13px}.badge{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-badge);font-size:13px;display:inline-block}.badge--ok{background:var(--success-soft);color:var(--success)}.badge--warn{background:var(--accent-soft);color:var(--accent-text)}.badge--muted{background:var(--surface-2);color:var(--muted)}.link-danger{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.chip{padding:var(--sp-1) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface);color:var(--text);cursor:pointer;align-items:center;font-size:14px;display:inline-flex}.chip--active{background:var(--accent-soft);border-color:var(--accent);font-weight:600}.booking-settings{margin:var(--sp-6) 0;padding:0;overflow:hidden}.settings-group{padding:var(--sp-6);border-bottom:1px solid var(--border)}.settings-group-head{align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.settings-group-head h2{margin:0;font-size:17px;font-weight:400}.settings-fields{gap:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.field{gap:var(--sp-2);flex-direction:column;display:flex}.field-label{color:var(--muted);font-size:12px}.field-inline{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:inline-flex}.field input,.field select,.field textarea,.field-inline input,.field-inline select,.reminder-row input,.reminder-row select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--field-border);border-radius:var(--r-control);padding:var(--sp-2) var(--sp-3);box-sizing:border-box;min-height:44px;font-size:14px}.field input[type=number],.field-inline input[type=number],.reminder-row input[type=number]{width:96px}.field-hint{color:var(--muted);margin:0;font-size:13px}.checkbox{align-items:center;gap:var(--sp-2);min-height:44px;font:inherit;color:var(--text);cursor:pointer;font-size:14px;display:inline-flex}.checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0}.chip-remove{padding:0 0 0 var(--sp-1);color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:14px}.chip--dashed{color:var(--muted);border-style:dashed}.reminder-row{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.reminder-row .btn{margin-left:auto}.mybookings-page{box-sizing:border-box;width:100%;max-width:1180px;padding:var(--sp-4);margin:0 auto}.label-caps{margin:0 0 var(--sp-1);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700;display:block}.next-lesson{justify-content:space-between;align-items:center;gap:var(--sp-3);background:var(--surface-2);border-left:3px solid var(--accent);border-radius:var(--r-section);padding:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.next-lesson-info{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;display:flex}.next-lesson-date{font-family:var(--font-head);font-size:20px}.next-lesson-meta{color:var(--muted);font-size:14px}.mybookings-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.mybookings-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.mybookings-count{color:var(--muted);font-size:13px}.link{color:var(--text);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.mybookings-past-head{margin-top:var(--sp-6)}.mybookings-past-list{margin:0;padding:0;list-style:none}.mybookings-past-row{gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;font-size:14px;display:flex}.mybookings-past-status{color:var(--muted)}.booking-repeat{align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-4);flex-direction:column;display:flex}.series-dates{margin:0;padding:0;font-size:14px;list-style:none}.series-dates li{padding:var(--sp-1) 0;border-bottom:1px solid var(--border)}.mybookings-series{margin-top:var(--sp-6)}.mybookings-series-list{margin:0;padding:0;list-style:none}.mybookings-series-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;font-size:14px;display:flex}.series-warning{color:var(--accent-text);margin:0;font-size:13px}.reschedule-banner{margin:var(--sp-2) 0;padding:var(--sp-2) var(--sp-3);background:var(--warn-soft);border:1px solid var(--warn-ink);border-radius:var(--r-section)}.confirm{color:var(--danger)}.confirm button{margin-left:var(--sp-1)}.segmented{border:1px solid var(--border-strong);border-radius:var(--r-control);flex-shrink:0;display:inline-flex;overflow:hidden}.segmented-option{display:inline-flex}.segmented-face{min-width:44px;min-height:44px;padding:0 var(--sp-3);color:var(--muted);cursor:pointer;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.segmented-option+.segmented-option .segmented-face{border-left:1px solid var(--border-strong)}.segmented-option input:checked+.segmented-face{background:var(--accent-soft);color:var(--text)}.segmented-option input:focus-visible+.segmented-face{outline:2px solid var(--accent);outline-offset:-2px}.nav .segmented,.app-nav .segmented{border-color:var(--nav-border)}.nav .segmented-option+.segmented-option .segmented-face,.app-nav .segmented-option+.segmented-option .segmented-face{border-left-color:var(--nav-border)}.nav .segmented-face,.app-nav .segmented-face{color:var(--nav-muted)}.nav .segmented-option input:checked+.segmented-face,.app-nav .segmented-option input:checked+.segmented-face{background:var(--nav-surface);color:var(--nav-accent)}.nav .segmented-option input:focus-visible+.segmented-face,.app-nav .segmented-option input:focus-visible+.segmented-face{outline-color:var(--nav-accent)}.theme-switch--compact .segmented-face{padding:0;font-size:16px}.settings-control>.segmented,.field>.segmented{align-self:flex-start}.error-screen{padding:var(--sp-8);text-align:center}@media (height<=480px){.nav,.app-nav{position:static}.section{padding-top:var(--sp-5);padding-bottom:var(--sp-5)}}.booking-row--highlight,.dashboard-table tbody tr.booking-row--highlight,.rows-as-cards tbody tr.booking-row--highlight{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.teacher-book-form{gap:var(--sp-4);margin:var(--sp-4) 0;flex-direction:column;display:flex}.teacher-book-form-head{align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;display:flex}.teacher-book-form-head h2{margin:0}.teacher-book-form-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.series-section{margin:var(--sp-6) 0}.series-extend-form{gap:var(--sp-4);padding:var(--sp-2) 0;flex-direction:column;display:flex}.settings-series-extend,.settings-series-extend-result{align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-4);flex-direction:column;display:flex}.settings-series-extend h3{margin:0;font-size:15px}
