:root{color-scheme:light;--bg:#f4f6f8;--bg-deep:#eceef1;--surface:#ffffff;--surface-strong:#ffffff;--surface-2:#f1f3f5;--surface-accent:rgba(15,110,86,0.05);--line:rgba(20,28,38,0.1);--line-strong:rgba(20,28,38,0.16);--text:#16202b;--muted:#66727e;--accent:#0f6e56;--accent-strong:#0b5743;--accent-weak:#e1f5ee;--on-accent:#ffffff;--teal:#0f6e56;--teal-deep:#0b5743;--navy:#16202b;--admin-accent:#0f6e56;--admin-accent-strong:#0b5743;--admin-accent-weak:#e1f5ee;--success:#15805c;--success-weak:rgba(21,128,92,0.12);--error:#b23a30;--error-weak:rgba(178,58,48,0.12);--shadow:0 1px 3px rgba(18,28,36,0.08),0 1px 2px rgba(18,28,36,0.04);--shadow-soft:0 1px 2px rgba(18,28,36,0.05);--radius-2xl:20px;--radius-xl:18px;--radius-lg:16px;--radius-md:12px}:root[data-theme=dark]{color-scheme:dark;--bg:#17212b;--bg-deep:#10161d;--surface:#1f2a36;--surface-strong:#24313f;--surface-2:#29343f;--surface-accent:rgba(34,197,152,0.08);--line:rgba(255,255,255,0.09);--line-strong:rgba(255,255,255,0.16);--text:#e7edf3;--muted:#93a1ae;--accent:#14805f;--accent-strong:#3ddba8;--accent-weak:rgba(61,219,168,0.16);--on-accent:#ffffff;--teal:#14805f;--teal-deep:#3ddba8;--navy:#e7edf3;--admin-accent:#14805f;--admin-accent-strong:#3ddba8;--admin-accent-weak:rgba(61,219,168,0.16);--success:#34d399;--success-weak:rgba(52,211,153,0.16);--error:#f87171;--error-weak:rgba(248,113,113,0.16);--shadow:0 1px 3px rgba(0,0,0,0.45),0 1px 2px rgba(0,0,0,0.3);--shadow-soft:0 1px 2px rgba(0,0,0,0.3)}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body,html{margin:0;min-height:100%}body{color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);transition:background .2s ease,color .2s ease}body:before{content:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}p{margin:0}.page{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:22px 0 52px}.page--admin{width:min(1240px,calc(100% - 32px))}.page--mini{width:min(620px,calc(100% - 24px));padding:14px 0 96px}.auth-frame,.empty-state,.list-card,.metric-card,.panel,.profile-card,.stat-tile{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-2xl);background:var(--surface);box-shadow:var(--shadow)}.auth-frame:before,.empty-state:before,.list-card:before,.metric-card:before,.panel:before,.profile-card:before,.stat-tile:before{content:none}.panel{padding:22px}.panel--hero{padding:24px;background:var(--surface)}.panel--feature{border-color:var(--line);background:var(--surface)}.empty-state,.list-card,.metric-card,.profile-card,.stat-tile{padding:18px}.eyebrow{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;padding:5px 10px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.eyebrow,.eyebrow--soft{color:var(--accent-strong);background:var(--accent-weak)}.page-title{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:clamp(1.9rem,4vw,2.85rem);line-height:1.04;letter-spacing:-.04em;font-weight:800;max-width:18ch}.lead{max-width:60ch;font-size:.96rem;line-height:1.58}.lead,.muted{color:var(--muted)}.small{font-size:.88rem}.section,.stack{display:grid;grid-gap:14px;gap:14px}.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}.empty-state h2,.panel h2,.panel h3,.section__title{margin:0;font-size:1rem;line-height:1.35}.card-title{margin:0;font-size:1.02rem;line-height:1.4}.meta-list{display:grid;grid-gap:8px;gap:8px;min-width:0;color:var(--muted);font-size:.9rem;line-height:1.5}.meta-list span{display:inline-flex;gap:8px;align-items:baseline;flex-wrap:wrap;min-width:0;word-break:break-word}.label{color:var(--text);font-weight:700}.button-row,.inline-row,.tag-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.selection-chip,.status-pill,.tag{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:700}.tag{color:var(--muted);background:var(--surface-2)}.status-pill[data-tone=attended],.status-pill[data-tone=confirmed],.status-pill[data-tone=open]{background:var(--success-weak);color:var(--success)}.status-pill[data-tone=closed]{background:var(--surface-2);color:var(--muted)}.status-pill[data-tone=completed]{background:var(--accent-weak);color:var(--accent-strong)}.status-pill[data-tone=cancelled]{background:var(--error-weak);color:var(--error)}.status-pill[data-tone=new]{background:var(--accent-weak);color:var(--accent-strong)}.selection-chip{justify-content:center;min-width:92px;color:var(--text);border:1px solid var(--line);background:var(--surface)}.selection-chip--selected{color:var(--on-accent);border-color:transparent;background:var(--accent);box-shadow:0 2px 8px rgba(15,110,86,.2)}.form,.form-grid{display:grid;grid-gap:12px;gap:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;grid-gap:6px;gap:6px}.field label{font-size:.87rem;font-weight:700}.input,.select,.textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.textarea{min-height:104px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.input::placeholder,.textarea::placeholder{color:var(--muted);opacity:.7}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:12px;color:var(--on-accent);background:var(--accent);font-weight:600;letter-spacing:.01em;box-shadow:0 2px 8px rgba(15,110,86,.22);transition:box-shadow .15s ease,opacity .15s ease,background .15s ease,border-color .15s ease,transform .15s ease}.button:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 4px 16px rgba(15,110,86,.3);transform:translateY(-1px)}.button:active:not(:disabled){transform:scale(.99)}.button:disabled{cursor:wait;opacity:.6}.button--primary,.button--teal{background:var(--accent)}.button--secondary{color:var(--text);border-color:var(--line);background:var(--surface-2);box-shadow:none}.button--secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong);box-shadow:0 2px 8px rgba(18,28,36,.07);transform:translateY(-1px)}.button--ghost{color:var(--text);border:1px solid var(--line);background:var(--surface);box-shadow:none}.button--ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong);box-shadow:0 2px 8px rgba(18,28,36,.07);transform:translateY(-1px)}.button--small{min-height:34px;padding:8px 12px;font-size:.84rem}.button--block{width:100%}.notice{padding:12px 14px;border-radius:var(--radius-md);font-size:.89rem;line-height:1.5}.notice--success{color:var(--success);background:var(--success-weak)}.notice--error{color:var(--error);background:var(--error-weak)}.divider{height:1px;background:var(--line)}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.topbar__actions{display:flex;gap:10px;flex-wrap:wrap}.card-list,.metrics-grid{display:grid;grid-gap:14px;gap:14px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card strong,.stat-tile strong{display:block;margin-top:8px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:2.1rem;line-height:1;letter-spacing:-.04em;font-weight:800}.stat-tile__text{font-size:.96rem;line-height:1.35}.card-list{align-items:start;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.list-card{display:grid;align-content:start;grid-gap:12px;gap:12px}.card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;grid-gap:12px;gap:12px}.card-head .tag-row{min-width:0}.card-remove-button{display:inline-flex;align-items:center;justify-content:center;justify-self:end;flex-shrink:0;width:34px;height:34px;border:1px solid rgba(180,72,62,.16);border-radius:999px;color:var(--error);background:rgba(180,72,62,.08);font-size:1.15rem;line-height:1;transition:background .2s ease,border-color .2s ease,transform .2s ease}.card-remove-button:hover{transform:translateY(-1px);border-color:rgba(180,72,62,.28);background:rgba(180,72,62,.12)}.lesson-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.lesson-card__actions .button{width:100%}.empty-state{text-align:center}.empty-state--left{text-align:left}.booking-hero{display:grid;grid-gap:18px;gap:18px}.booking-hero__grid{display:grid;grid-gap:20px 24px;gap:20px 24px;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:start}.booking-hero__copy{align-content:start;gap:16px}.booking-hero__intro{gap:10px;max-width:34rem}.step-row{display:flex;flex-wrap:wrap;gap:9px}.step-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface);font-size:.79rem;font-weight:700}.step-chip--active{color:var(--on-accent);border-color:transparent;background:var(--accent)}.stat-strip{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.booking-hero__stats{grid-column:1/-1;align-items:stretch}.profile-card{display:grid;align-content:start;background:var(--surface)}.booking-profile{width:100%;max-width:480px;justify-self:end;padding:20px;border-radius:16px;background:var(--surface-2);box-shadow:none}.booking-profile__content{gap:12px}.booking-form__note,.booking-summary__hint,.profile-note{line-height:1.55}.profile-meta{gap:10px}.booking-hero .stat-tile{min-height:136px;align-content:start;background:var(--surface-2);box-shadow:none}.booking-hero .stat-tile__text{max-width:11ch}.booking-layout{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr);align-items:start;margin-top:16px}.booking-stage{display:grid;grid-gap:18px;gap:18px}.booking-sidebar{position:-webkit-sticky;position:sticky;top:24px;align-self:start}.booking-summary{display:grid;grid-gap:18px;gap:18px}.booking-records{display:grid;grid-gap:12px;gap:12px}.booking-records__head{margin-bottom:0}.booking-records__list{display:grid;grid-gap:10px;gap:10px}.booking-filters{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:flex-end}.booking-filters__actions{display:flex;align-items:flex-end}.booking-filters__actions .button{width:100%}.booking-record{padding:14px 15px;border:1px solid var(--line);border-radius:14px}.booking-record,.booking-summary__empty{display:grid;grid-gap:10px;gap:10px;background:var(--surface-2)}.booking-summary__empty{padding:18px;border:1px dashed var(--line-strong);border-radius:var(--radius-lg)}.summary-highlight{padding:16px 16px 18px;border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--accent-weak)}.booking-lesson-list,.summary-highlight{display:grid;grid-gap:10px;gap:10px}.booking-lesson-card{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:start;width:100%;padding:16px;border:1px solid var(--line);border-radius:16px;color:inherit;text-align:left;background:var(--surface);box-shadow:var(--shadow-soft);transition:border-color .15s ease,background .15s ease}.booking-lesson-card:hover{border-color:var(--line-strong)}.booking-lesson-card--selected{border-color:var(--accent);box-shadow:none;background:var(--surface)}.booking-lesson-card--selected:after{position:absolute;inset:0;content:"";pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--accent)}.booking-lesson-card__date{display:grid;grid-gap:4px;gap:4px;justify-items:center;min-width:64px;padding:10px 8px;border-radius:12px;color:var(--text);background:var(--surface-2);text-align:center}.booking-lesson-card__date--selected{color:var(--accent-strong);background:var(--accent-weak)}.booking-lesson-card__date strong{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1.02rem;letter-spacing:-.02em;font-weight:700}.booking-lesson-card__body{display:grid;grid-gap:10px;gap:10px}.booking-lesson-card__selected-copy{color:var(--teal-deep);font-size:.8rem;font-weight:700}.booking-lesson-card .meta-list{gap:6px}.admin-hero{display:grid;grid-gap:18px;gap:18px}.view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:14px 0 8px}.workspace-switch{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.workspace-switch__button{display:grid;grid-gap:6px;gap:6px;padding:14px 15px;border:1px solid rgba(22,34,44,.12);border-radius:18px;color:var(--text);text-align:left;background:rgba(255,255,255,.82);transition:transform .2s ease,border-color .2s ease,background .2s ease}.workspace-switch__button:hover{transform:translateY(-1px);border-color:rgba(45,102,96,.16)}.workspace-switch__button span{font-weight:800}.workspace-switch__button small{color:var(--muted);line-height:1.4;font-size:.82rem}.workspace-switch__button--active{border-color:rgba(15,110,86,.22);background:rgba(236,250,244,.96)}.workspace-grid{display:grid;grid-gap:16px;gap:16px;align-items:start}.workspace-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-panel{display:grid;grid-gap:16px;gap:16px;box-shadow:var(--shadow-soft)}.admin-calendar{display:grid;grid-gap:14px;gap:14px}.admin-calendar__month{font-size:1rem;font-weight:700}.admin-calendar__grid,.admin-calendar__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.admin-calendar__weekday{color:var(--muted);font-size:.78rem;font-weight:700;text-align:center;text-transform:uppercase}.admin-calendar__day{display:grid;grid-gap:6px;gap:6px;min-height:92px;padding:12px 10px;border:1px solid rgba(22,34,44,.1);border-radius:16px;color:var(--text);background:rgba(255,255,255,.78);text-align:left;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.admin-calendar__day strong{font-size:.98rem}.admin-calendar__day:hover{transform:translateY(-1px);border-color:rgba(45,102,96,.2);background:rgba(249,251,250,.92)}.admin-calendar__day--selected{border-color:rgba(45,102,96,.34);background:linear-gradient(135deg,rgba(236,248,245,.94),rgba(249,251,250,.98)),rgba(249,251,250,.96);box-shadow:0 14px 28px rgba(33,77,73,.08)}.admin-calendar__day--today{border-color:rgba(145,98,73,.24)}.admin-calendar__day--empty{pointer-events:none;min-height:92px;border:1px dashed rgba(22,34,44,.08);background:rgba(255,255,255,.26)}.admin-calendar__day-note{color:var(--muted);font-size:.76rem;line-height:1.35}.admin-modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:rgba(20,28,34,.34);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-modal{width:min(760px,100%);max-height:min(88vh,920px);overflow:auto;padding:24px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,245,240,.94)),var(--surface-strong)}.admin-modal__head{align-items:flex-start}.admin-modal__actions{justify-content:flex-end}.compact-list{display:grid;grid-gap:10px;gap:10px}.compact-list__item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(22,34,44,.08);border-radius:16px;background:rgba(255,255,255,.84)}.compact-list__content{gap:6px}.capacity-meter{display:grid;grid-gap:8px;gap:8px}.capacity-meter__track{overflow:hidden;height:8px;border-radius:999px;background:rgba(32,52,71,.08)}.capacity-meter__fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.checklist{display:grid;grid-gap:10px;gap:10px}.checklist__item{display:grid;grid-gap:6px;gap:6px;padding:12px 14px;border-radius:16px;border:1px solid rgba(22,34,44,.08);background:rgba(255,255,255,.84)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:18px}.auth-frame{display:grid;grid-gap:0;gap:0;width:min(1080px,100%);grid-template-columns:1.08fr minmax(360px,.92fr)}.auth-promo{padding:32px;background:linear-gradient(160deg,rgba(15,110,86,.06),rgba(248,251,250,.98) 55%)}.auth-form-panel,.auth-promo{display:grid;grid-gap:14px;gap:14px}.auth-form-panel{border-left:1px solid rgba(22,34,44,.08);border-radius:0;box-shadow:none;background:rgba(255,255,255,.88)}.auth-benefits{display:grid;grid-gap:10px;gap:10px}.auth-benefit{display:grid;grid-gap:6px;gap:6px;padding:12px 14px;border-radius:0 14px 14px 0;border:1px solid rgba(22,34,44,.07);border-left:3px solid var(--accent-weak);background:rgba(255,255,255,.92)}.page--admin.admin-shell{--admin-lime:var(--accent-weak);--admin-lime-strong:var(--accent);--admin-shadow:0 1px 2px rgba(17,24,31,0.05);width:min(1480px,calc(100% - 24px));display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:22px;gap:22px;padding:20px 0 40px}.page--admin.admin-shell .empty-state,.page--admin.admin-shell .list-card,.page--admin.admin-shell .metric-card,.page--admin.admin-shell .panel{border-color:rgba(18,26,33,.08);background:rgba(255,255,255,.94);box-shadow:var(--admin-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.page--admin.admin-shell .empty-state:before,.page--admin.admin-shell .list-card:before,.page--admin.admin-shell .metric-card:before,.page--admin.admin-shell .panel:before{content:none}.page--admin.admin-shell .button{box-shadow:none}.page--admin.admin-shell .button:hover:not(:disabled){box-shadow:0 10px 18px rgba(17,24,31,.08)}.page--admin.admin-shell .button--teal{color:var(--on-accent);background:var(--accent)}.page--admin.admin-shell .button--teal:hover:not(:disabled){background:var(--accent-strong)}.page--admin.admin-shell .button--secondary{background:rgba(22,34,44,.07)}.page--admin.admin-shell .button--ghost{background:rgba(255,255,255,.88)}.admin-shell__body,.admin-sidebar{display:grid;align-content:start;grid-gap:18px;gap:18px}.admin-sidebar{top:20px;min-height:calc(100vh - 40px);padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,246,241,.96)),rgba(255,255,255,.94)}.admin-sidebar__logo{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;color:var(--on-accent);background:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.08em;box-shadow:0 2px 8px rgba(15,110,86,.28)}.admin-sidebar__summary{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:20px;background:var(--accent-weak)}.admin-sidebar__summary strong{display:inline-flex;align-items:flex-end;gap:8px;font-size:2rem;line-height:1;letter-spacing:-.05em}.admin-sidebar__summary strong small{color:var(--muted);font-size:.96rem;font-weight:600;letter-spacing:normal}.admin-sidebar__progress{overflow:hidden;height:8px;border-radius:999px;background:rgba(22,34,44,.07)}.admin-sidebar__progress span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.admin-sidebar__nav{grid-gap:8px;gap:8px}.admin-sidebar__nav-button{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border-radius:16px;color:var(--text);transition:background .2s ease,transform .2s ease,color .2s ease}.admin-sidebar__nav-button:hover{background:rgba(22,34,44,.04);transform:translateX(2px)}.admin-sidebar__nav-button span{font-size:.96rem;font-weight:700}.admin-sidebar__nav-button small{color:var(--muted);font-size:.77rem;line-height:1.4}.admin-sidebar__nav-button--active{background:rgba(15,110,86,.08)}.admin-sidebar__nav-button--active span{color:var(--accent-strong)}.admin-sidebar__footer{grid-gap:10px;gap:10px}.admin-board{display:grid;grid-gap:18px;gap:18px;padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,247,242,.95))}.admin-board__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.admin-board__copy{max-width:56rem}.admin-board__copy .page-title{max-width:14ch}.admin-board__aside{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.admin-board__metrics .metric-card{padding:16px;border-radius:22px;background:rgba(255,255,255,.82)}.admin-calendar-panel{display:grid;grid-gap:18px;gap:18px;padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,247,242,.95))}.admin-calendar-panel__head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.admin-calendar-panel__controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-calendar-panel__nav{width:40px;height:40px;border:1px solid rgba(22,34,44,.08);border-radius:12px;color:var(--text);background:rgba(255,255,255,.92);font-size:1.2rem;font-weight:700}.admin-calendar-panel__month{min-width:176px;text-align:center;font-size:1.55rem;font-weight:700;letter-spacing:-.04em}.calendar-board{display:grid;grid-gap:10px;gap:10px;overflow-x:auto}.calendar-board__grid,.calendar-board__weekdays{min-width:980px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-board__weekdays{gap:0;padding:0 2px}.calendar-board__weekday{padding:0 12px 8px;color:rgba(95,109,118,.9);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-board__grid{overflow:hidden;gap:0;border:1px solid rgba(22,34,44,.08);border-radius:26px;background:rgba(255,255,255,.82)}.calendar-board__day{display:grid;align-content:start;grid-gap:12px;gap:12px;min-height:160px;padding:12px;border-right:1px solid rgba(22,34,44,.06);border-bottom:1px solid rgba(22,34,44,.06);background:rgba(255,255,255,.68);transition:background .2s ease,box-shadow .2s ease,border-color .2s ease}.calendar-board__day:nth-child(7n){border-right:0}.calendar-board__day:nth-last-child(-n+7){border-bottom:0}.calendar-board__day--outside{background:rgba(246,245,240,.78)}.calendar-board__day--outside .calendar-board__day-trigger{color:rgba(95,109,118,.56)}.calendar-board__day--selected{background:rgba(252,255,243,.92)}.calendar-board__day--today{box-shadow:inset 0 0 0 1px var(--accent)}.calendar-board__day--droppable{background:var(--accent-weak);box-shadow:inset 0 0 0 2px var(--accent)}.calendar-board__day-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.calendar-board__day-trigger{min-height:0;padding:0;border:0;color:var(--text);background:transparent;font-size:.96rem;font-weight:700}.calendar-board__day-tools{display:inline-flex;align-items:center;gap:6px}.calendar-board__day-count{min-width:24px;padding:0 8px;border-radius:999px;color:var(--muted);background:var(--surface-2);font-size:.75rem}.calendar-board__day-add,.calendar-board__day-count{display:inline-flex;align-items:center;justify-content:center;height:24px;font-weight:700}.calendar-board__day-add{width:24px;padding:0;border:1px solid var(--line);border-radius:8px;color:var(--accent-strong);background:var(--accent-weak);font-size:1rem;line-height:1;opacity:0;transition:opacity .15s ease,background .15s ease,border-color .15s ease}.calendar-board__day--selected .calendar-board__day-add,.calendar-board__day-add:focus-visible,.calendar-board__day:hover .calendar-board__day-add{opacity:1}.calendar-board__day-add:hover{border-color:var(--accent);background:var(--accent-weak)}@media (hover:none){.calendar-board__day-add{opacity:1}}.calendar-board__day-stack{display:grid;align-content:start;grid-gap:8px;gap:8px}.calendar-board__lesson{display:grid;justify-items:start;grid-gap:4px;gap:4px;min-height:0;padding:10px 11px;border:1px solid rgba(22,34,44,.08);border-radius:16px;color:var(--text);background:var(--accent-weak);text-align:left;transition:transform .2s ease,border-color .2s ease,opacity .2s ease,background .2s ease}.calendar-board__lesson:hover{transform:translateY(-1px);border-color:var(--line-strong);background:var(--accent-weak)}.calendar-board__lesson--dragging{opacity:.42}.calendar-board__lesson-time{color:var(--muted);font-size:.72rem;font-weight:700}.calendar-board__lesson strong{font-size:.83rem;line-height:1.38}.calendar-board__lesson-tone{font-size:.7rem;font-weight:700}.calendar-board__lesson-tone[data-tone=attended],.calendar-board__lesson-tone[data-tone=confirmed],.calendar-board__lesson-tone[data-tone=open]{color:var(--success)}.calendar-board__lesson-tone[data-tone=closed]{color:var(--navy)}.calendar-board__lesson-tone[data-tone=cancelled]{color:var(--error)}.calendar-board__lesson-tone[data-tone=completed]{color:var(--teal-deep)}.calendar-board__empty,.calendar-board__more{min-height:0;padding:8px 10px;border-radius:14px;text-align:left;font-size:.76rem;font-weight:700}.calendar-board__more{border:0;color:var(--muted);background:transparent}.calendar-board__empty{border:1px dashed rgba(22,34,44,.12);color:var(--muted);background:rgba(255,255,255,.6)}.admin-calendar-summary{align-items:stretch}.compact-list__item--button{width:100%;border:1px solid rgba(22,34,44,.08);text-align:left;background:rgba(255,255,255,.88);transition:transform .2s ease,border-color .2s ease,background .2s ease}.compact-list__item--button:hover{transform:translateY(-1px);border-color:rgba(22,34,44,.12);background:rgba(249,251,245,.96)}.page--admin.admin-shell .admin-modal-backdrop{background:rgba(13,19,24,.34)}.page--admin.admin-shell .admin-modal{width:min(640px,100%);padding:22px;border-radius:28px;border:1px solid rgba(22,34,44,.08);background:rgba(255,255,255,.98);box-shadow:0 28px 60px rgba(15,21,26,.16)}.page--admin.admin-shell .admin-modal .input,.page--admin.admin-shell .admin-modal .select,.page--admin.admin-shell .admin-modal .textarea{border-color:rgba(22,34,44,.1);border-radius:14px;background:rgba(250,250,247,.96)}.page--admin.admin-shell .admin-modal .input:focus,.page--admin.admin-shell .admin-modal .select:focus,.page--admin.admin-shell .admin-modal .textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.analytics-view{gap:18px}.analytics-kpi-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-kpi{display:grid;align-content:start;grid-gap:10px;gap:10px;min-height:150px;padding:18px;border:1px solid rgba(18,26,33,.08);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:var(--admin-shadow)}.analytics-kpi strong{font-size:2.4rem;line-height:1;letter-spacing:-.04em;font-weight:800}.analytics-kpi__note{color:var(--muted);font-size:.82rem;line-height:1.45}.analytics-panel{display:grid;grid-gap:18px;gap:18px}.analytics-panel--wide{min-height:360px}.analytics-bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:14px;gap:14px;min-height:250px;align-items:end}.analytics-bars__item{display:grid;grid-gap:8px;gap:8px;min-width:0;text-align:center}.analytics-bars__track{display:flex;justify-content:center;align-items:flex-end;gap:7px;height:180px;padding:14px 8px 0;border-radius:18px;background:rgba(22,34,44,.04)}.analytics-bars__bar{width:min(34%,28px);min-height:6px;border-radius:999px 999px 4px 4px}.analytics-bars__bar--lessons{background:var(--text)}.analytics-bars__bar--bookings{background:var(--accent)}.analytics-legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:.84rem}.analytics-legend span{display:inline-flex;align-items:center;gap:8px}.analytics-legend i{width:10px;height:10px;border-radius:999px}.analytics-legend i[data-tone=lessons]{background:var(--text)}.analytics-legend i[data-tone=bookings]{background:var(--accent)}.analytics-statuses,.analytics-subjects,.analytics-weekdays{display:grid;grid-gap:12px;gap:12px}.analytics-weekdays__row{display:grid;grid-template-columns:34px minmax(0,1fr) 34px 44px;align-items:center;grid-gap:10px;gap:10px;font-size:.86rem}.analytics-weekdays__row>span{font-weight:800}.analytics-weekdays__row em,.analytics-weekdays__row strong{color:var(--muted);font-size:.8rem;font-style:normal;text-align:right}.analytics-statuses__track,.analytics-weekdays__track{overflow:hidden;height:10px;border-radius:999px;background:rgba(22,34,44,.06)}.analytics-weekdays__track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.analytics-statuses__row{display:grid;grid-gap:9px;gap:9px}.analytics-statuses__label{display:flex;justify-content:space-between;align-items:center;gap:10px}.analytics-statuses__label strong{font-size:.9rem}.analytics-statuses__track span{display:block;height:100%;border-radius:inherit;background:var(--muted)}.analytics-statuses__track span[data-tone=attended],.analytics-statuses__track span[data-tone=confirmed]{background:var(--success)}.analytics-statuses__track span[data-tone=new]{background:var(--accent)}.analytics-statuses__track span[data-tone=cancelled]{background:var(--error)}.analytics-subjects__item{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;grid-gap:12px;gap:12px;padding:12px 0;border-bottom:1px solid rgba(22,34,44,.08)}.analytics-subjects__item:last-child{border-bottom:0}.analytics-subjects__item>span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:rgba(22,34,44,.06);font-size:.78rem;font-weight:800}.analytics-subjects__meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.82rem}.analytics-panel--insight{align-content:start;background:rgba(255,255,255,.94)}@media (max-width:1120px){.auth-frame,.booking-hero__grid,.booking-layout,.page--admin.admin-shell,.workspace-grid--two{grid-template-columns:1fr}.admin-sidebar{position:static;min-height:auto}.admin-sidebar__nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-board__head,.admin-calendar-panel__head{flex-direction:column;align-items:stretch}.analytics-kpi-grid,.booking-filters,.metrics-grid,.stat-strip,.workspace-grid--three,.workspace-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-profile{max-width:100%;justify-self:stretch}.booking-sidebar{position:static}.auth-form-panel{border-left:0;border-top:1px solid rgba(22,34,44,.08);border-radius:0 0 var(--radius-2xl) var(--radius-2xl)}}@media (max-width:760px){.page,.page--admin,.page--mini{width:min(100% - 18px,1240px);padding:14px 0 32px}.empty-state,.list-card,.metric-card,.panel,.profile-card,.stat-tile{padding:16px;border-radius:20px}.auth-promo,.panel--hero{padding:18px}.booking-filters,.card-list,.form-grid,.stat-strip,.workspace-grid--three,.workspace-switch{grid-template-columns:1fr}.analytics-kpi-grid,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page--admin.admin-shell{width:min(100% - 18px,1480px);gap:16px;padding:14px 0 28px}.admin-sidebar__nav{grid-template-columns:1fr}.booking-hero__stats{grid-column:auto}.compact-list__item,.section__head,.topbar,.view-head{flex-direction:column;align-items:stretch}.booking-lesson-card{grid-template-columns:1fr}.booking-lesson-card__date{justify-self:start}.admin-calendar__grid,.admin-calendar__weekdays{gap:6px}.admin-calendar__day{min-height:72px;padding:10px 8px}.admin-calendar__day-note{font-size:.68rem}.admin-modal-backdrop{padding:12px}.admin-modal{max-height:92vh;padding:18px;border-radius:20px}.calendar-board__grid,.calendar-board__weekdays{min-width:560px}.analytics-bars{min-width:480px}.analytics-panel--wide{overflow-x:auto}.admin-sidebar__nav-button{padding:10px 14px}.admin-sidebar__nav-button small{display:none}.admin-calendar-panel__month{min-width:120px;font-size:1.25rem;letter-spacing:-.03em}.calendar-mode-switcher__btn{padding:5px 10px;font-size:.8rem}.period-filter__custom{grid-template-columns:1fr;max-width:100%}.page-title{max-width:100%;font-size:clamp(1.7rem,8vw,2.3rem)}.auth-shell{padding:12px}}.booking-rate{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.booking-rate__row{display:grid;grid-template-columns:1fr auto;align-items:end;grid-gap:8px;gap:8px}.booking-rate__label{grid-column:1/-1;font-size:.8rem;font-weight:700;color:var(--muted)}.booking-rate__input{min-height:38px;padding:8px 12px}.booking-rate__hint{line-height:1.4}.analytics-chart{width:100%;height:auto;overflow:visible}.analytics-chart text{font-family:Inter,system-ui,sans-serif;fill:var(--muted)}.analytics-donut-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:18px;gap:18px}.analytics-donut-legend{display:grid;grid-gap:10px;gap:10px}.analytics-donut-legend__item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;font-size:.86rem}.analytics-donut-legend__dot{width:12px;height:12px;border-radius:4px}.analytics-donut-legend__value{font-weight:700}.analytics-revenue-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:760px){.analytics-donut-wrap{justify-items:center;text-align:left}.analytics-donut-wrap,.analytics-revenue-grid{grid-template-columns:1fr}}.mini{display:grid;grid-gap:16px;gap:16px}.mini-header{display:grid;grid-gap:10px;gap:10px}.mini-header__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mini-title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.mini-sub{color:var(--muted);font-size:.86rem;line-height:1.45}.mini-refresh{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--surface);font-size:1.05rem;transition:background .15s ease,border-color .15s ease}.mini-refresh:hover{border-color:var(--line-strong);background:var(--surface-2)}.mini-refresh:disabled{cursor:wait;opacity:.6}.mini-profile{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.mini-profile__avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;color:var(--on-accent);background:var(--accent);font-size:.9rem;font-weight:700}.mini-profile__text{display:grid;grid-gap:1px;gap:1px;min-width:0}.mini-profile__name{font-size:.92rem;font-weight:700}.mini-profile__handle{color:var(--muted);font-size:.82rem}.mini-section{display:grid;grid-gap:12px;gap:12px}.mini-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.mini-section__title{margin:0;font-size:1.02rem;font-weight:700}.mini-count{color:var(--muted);font-size:.82rem;font-weight:600}.mini-fallback-actions{display:grid;grid-gap:8px;gap:8px;margin-top:4px}.booking-lesson-card__date span{font-size:.78rem}@media (max-width:760px){.mini-title{font-size:1.25rem}.page--mini{padding:12px 0 96px}}@media (max-width:480px){.calendar-board__grid,.calendar-board__weekdays{min-width:0}.calendar-board__day{min-height:64px;padding:8px 4px;gap:4px}.calendar-board__day-add,.calendar-board__day-stack{display:none}.time-grid{--tg-row-h:52px}.analytics-bars{min-width:320px}.admin-board,.admin-calendar-panel{padding:14px}}.notice--offline{position:-webkit-sticky;position:sticky;top:0;z-index:100;border-radius:0;text-align:center;font-weight:500}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 4px}.pagination__info{flex:1 1;text-align:center}.compact-list__item--row{display:flex;align-items:stretch;gap:4px;padding:0!important}.compact-list__item--row .compact-list__item-body{flex:1 1;display:flex;align-items:center;gap:12px;padding:10px 12px;text-align:left;background:none;border:none;cursor:pointer;border-radius:var(--radius-md)}.compact-list__item--row .compact-list__item-body:hover{background:var(--surface-2)}.compact-list__item--row .card-remove-button{flex-shrink:0;align-self:center;margin-right:8px}.calendar-mode-switcher{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius-md);overflow:hidden}.calendar-mode-switcher__btn{padding:5px 13px;border:none;border-right:1px solid var(--line-strong);background:var(--surface);color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.calendar-mode-switcher__btn:last-child{border-right:none}.calendar-mode-switcher__btn:hover{background:var(--surface-2);color:var(--text)}.calendar-mode-switcher__btn--active{background:var(--accent);color:#fff}.calendar-mode-switcher__btn--active:hover{background:var(--accent-strong);color:#fff}.time-grid{--tg-cols:7;--tg-hour-w:52px;--tg-row-h:64px;display:grid;grid-template-columns:var(--tg-hour-w) repeat(var(--tg-cols),minmax(0,1fr));overflow-x:auto;border:1px solid rgba(22,34,44,.08);border-radius:20px;background:var(--surface)}.time-grid__corner{grid-column:1;grid-row:1;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface-2);border-radius:20px 0 0 0}.time-grid__col-head{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:none;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface-2);cursor:pointer;transition:background .15s}.time-grid__col-head:last-child{border-radius:0 20px 0 0;border-right:none}.time-grid__col-head:hover{background:var(--accent-weak)}.time-grid__col-head--today .time-grid__col-day{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff}.time-grid__col-head--selected{background:rgba(252,255,243,.9)}.time-grid__col-weekday{color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.time-grid__col-day{color:var(--text);font-size:1.05rem;font-weight:700}.time-grid__col-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent-weak);color:var(--accent-strong);font-size:.68rem;font-weight:700}.time-grid__row{display:contents}.time-grid__hour-label{display:flex;align-items:flex-start;justify-content:flex-end;padding:4px 8px 0 0;border-right:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:600;white-space:nowrap}.time-grid__cell,.time-grid__hour-label{height:var(--tg-row-h);border-bottom:1px solid rgba(22,34,44,.05)}.time-grid__cell{position:relative;border-right:1px solid rgba(22,34,44,.06);transition:background .15s}.time-grid__cell:last-child{border-right:none}.time-grid__cell--drop{background:var(--accent-weak);box-shadow:inset 0 0 0 2px var(--accent)}.time-grid__add:focus-visible,.time-grid__cell:hover .time-grid__add{opacity:1}.time-grid__add{position:absolute;bottom:4px;right:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--line);border-radius:6px;background:var(--accent-weak);color:var(--accent-strong);font-size:.9rem;font-weight:700;opacity:0;cursor:pointer;transition:opacity .15s,background .15s;z-index:1}.time-grid__add:hover{background:var(--accent);color:#fff;border-color:var(--accent)}@media (hover:none){.time-grid__add{opacity:1}}.time-grid__event{position:absolute;left:3px;right:3px;display:flex;gap:0;border-radius:10px;background:var(--accent-weak);border:1px solid rgba(15,110,86,.18);overflow:hidden;z-index:2;transition:box-shadow .15s,transform .15s;min-height:22px}.time-grid__event:hover{box-shadow:0 2px 8px rgba(15,110,86,.18);transform:translateY(-1px)}.time-grid__event--dragging{opacity:.4}.time-grid__event-body{flex:1 1;display:flex;flex-direction:column;gap:2px;padding:4px 6px;border:none;background:transparent;text-align:left;cursor:pointer;min-width:0;overflow:hidden}.time-grid__event-time{color:var(--muted);font-size:.67rem;font-weight:700;white-space:nowrap}.time-grid__event-title{color:var(--text);font-size:.75rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-grid__event-status{font-size:.65rem;font-weight:700}.time-grid__event-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;border:none;background:transparent;color:var(--muted);font-size:.9rem;cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.time-grid__event-delete:focus-visible,.time-grid__event:hover .time-grid__event-delete{opacity:1}.time-grid__event-delete:focus-visible,.time-grid__event-delete:hover{color:var(--error)}@media (hover:none){.time-grid__event-delete{opacity:1}}.section__head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.student-card{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.student-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 6px 18px rgba(18,28,36,.08)}.student-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.student-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-modal--wide{width:min(880px,100%)}.student-history{max-height:360px;overflow-y:auto;padding-right:4px}.student-history__item{border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px}.notice--info{color:var(--accent-strong);background:var(--accent-weak)}.repeat-section{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.repeat-section__toggle{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.repeat-section__toggle input{width:18px;height:18px;cursor:pointer}.repeat-section__body{gap:10px}.period-filter{display:grid;grid-gap:12px;gap:12px}.period-filter__presets{display:flex;flex-wrap:wrap;gap:8px}.period-filter__chip{padding:6px 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.84rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.period-filter__chip:hover{background:var(--surface-2);color:var(--text)}.period-filter__chip--active{background:var(--accent);border-color:var(--accent);color:#fff}.period-filter__chip--active:hover{background:var(--accent-strong);color:#fff}.period-filter__custom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;max-width:420px}.period-filter__error{color:var(--error);font-size:.82rem}.calendar-board__lesson-names{font-size:.7rem;line-height:1.3;max-width:100%}.calendar-board__lesson-names,.time-grid__event-names{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-grid__event-names{font-size:.66rem;line-height:1.25}:root{--pe-gray:#66727e;--pe-gray-weak:rgba(102,114,126,0.14);--pe-blue:#2f6df0;--pe-blue-weak:rgba(47,109,240,0.14);--pe-amber:#b5751a;--pe-amber-weak:rgba(181,117,26,0.16);--pe-coral:#c4453a;--pe-coral-weak:rgba(196,69,58,0.14)}.personal-event--gray{--pe:var(--pe-gray);--pe-weak:var(--pe-gray-weak)}.personal-event--blue{--pe:var(--pe-blue);--pe-weak:var(--pe-blue-weak)}.personal-event--amber{--pe:var(--pe-amber);--pe-weak:var(--pe-amber-weak)}.personal-event--coral{--pe:var(--pe-coral);--pe-weak:var(--pe-coral-weak)}.personal-event-chip{display:block;width:100%;text-align:left;padding:4px 8px;border:1px solid var(--pe);border-left-width:3px;border-radius:8px;background:var(--pe-weak);color:var(--text);font-size:.72rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:filter .15s}.personal-event-chip:hover{filter:brightness(.97)}.personal-event-chip--done{opacity:.55;text-decoration:line-through}.color-picker{display:flex;gap:10px}.color-picker__swatch{width:30px;height:30px;border-radius:50%;border:2px solid var(--line-strong);background:var(--pe);cursor:pointer;transition:transform .12s,box-shadow .12s}.color-picker__swatch--active{transform:scale(1.12);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--pe)}.calendar-events-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer}.calendar-events-toggle input{width:16px;height:16px;cursor:pointer}.calendar-board__day-add--event{color:var(--pe-blue);background:var(--pe-blue-weak);border-color:var(--pe-blue-weak);font-size:.78rem}.calendar-board__day-add--event:hover{border-color:var(--pe-blue)}.personal-events-block{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.personal-event-check{flex-shrink:0;width:18px;height:18px;align-self:center;margin-left:4px;cursor:pointer}.personal-event--struck{text-decoration:line-through;opacity:.6}.personal-event-dot{flex-shrink:0;align-self:center;width:12px;height:12px;border-radius:50%;background:var(--pe)}.time-grid__col-head-btn{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:0;border:none;background:none;cursor:pointer;color:inherit}.time-grid__col-head{gap:4px;padding:6px 4px}.time-grid__event--personal{flex-direction:column;gap:2px;padding:4px 6px;text-align:left;cursor:pointer;font:inherit;color:var(--text);background:var(--pe-weak);border-color:var(--pe);border-left-width:3px}.time-grid__event--done{opacity:.55}.time-grid__event--done .time-grid__event-title{text-decoration:line-through}.personal-event-chip--dragging{opacity:.42}.chart{position:relative}.chart-tooltip{position:absolute;top:4px;transform:translateX(-50%);display:grid;grid-gap:2px;gap:2px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-strong);box-shadow:0 6px 20px rgba(18,28,36,.14);font-size:.74rem;white-space:nowrap;pointer-events:none;z-index:5}.chart-tooltip strong{font-size:.8rem;margin-bottom:2px}.chart-tooltip span{color:var(--muted)}.chart-tooltip b{color:var(--text);font-weight:700}.analytics-chart g,.analytics-chart g[onClick]{-webkit-tap-highlight-color:transparent}.analytics-insights__list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.analytics-insights__list li{position:relative;padding:10px 12px 10px 34px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);font-size:.9rem;line-height:1.4}.analytics-insights__list li:before{content:"→";position:absolute;left:12px;top:10px;color:var(--accent);font-weight:700}.analytics-hours__bar[data-tone=high],.analytics-weekdays__track span[data-tone=high]{background:var(--accent)}.analytics-hours__bar[data-tone=mid],.analytics-weekdays__track span[data-tone=mid]{background:var(--pe-amber,#b5751a)}.analytics-hours__bar[data-tone=low],.analytics-weekdays__track span[data-tone=low]{background:var(--line-strong)}.analytics-hours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;align-items:end;padding-top:8px}.analytics-hours__col{display:grid;justify-items:center;grid-gap:4px;gap:4px;text-align:center}.analytics-hours__bar-track{display:flex;align-items:flex-end;justify-content:center;width:100%;height:120px}.analytics-hours__bar{width:60%;max-width:64px;border-radius:8px 8px 0 0;transition:height .25s ease}.analytics-hours__col strong{font-size:1.15rem}.analytics-hours__label{font-weight:600;font-size:.85rem}.analytics-hours__col em{font-style:normal;font-size:.78rem;font-weight:700;color:var(--accent-strong)}.password-field{position:relative;display:flex;align-items:center}.password-field__input{width:100%;padding-right:44px}.password-field__toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;font-size:1rem;line-height:1;cursor:pointer;opacity:.7;transition:opacity .15s,background .15s}.password-field__toggle:hover{opacity:1;background:var(--surface-2)}.teacher-login-shell{min-height:100vh;display:grid;place-items:center;padding:16px;color:#191c1e;background:#f8f9fb}.teacher-login-card{width:min(448px,100%);padding:32px;border:1px solid rgba(190,201,195,.3);border-radius:12px;background:#ffffff;box-shadow:0 12px 16px rgba(0,0,0,.05)}.teacher-login-header{display:flex;flex-direction:column;align-items:center;padding-bottom:32px;text-align:center}.teacher-login-brand{display:grid;width:48px;height:48px;place-items:center;margin-bottom:16px;overflow:hidden;border-radius:8px;background:#0f6e56}.teacher-login-brand img{display:block;width:22px;height:18px}.teacher-login-header h1{margin:0;color:#191c1e;font-size:28px;font-weight:700;line-height:34px;letter-spacing:-.56px}.teacher-login-header p{margin-top:8px;color:#3f4944;font-size:14px;line-height:20px}.teacher-login-form{display:grid;grid-gap:20px;gap:20px}.teacher-login-field{display:grid;grid-gap:8px;gap:8px;padding-top:3px}.teacher-login-field>label{color:#191c1e;font-size:13px;font-weight:600;line-height:16px;letter-spacing:.13px}.teacher-login-input-wrap{position:relative}.teacher-login-input{display:block;width:100%;height:44px;padding:0 13px 0 41px;border:1px solid #bec9c3;border-radius:8px;outline:none;color:#191c1e;background:#ffffff;font-size:14px;line-height:20px;transition:border-color .15s ease,box-shadow .15s ease}.teacher-login-input--password{padding-right:41px}.teacher-login-input::placeholder{color:#6b7280;opacity:1}.teacher-login-input:focus{border-color:#0f6e56;box-shadow:0 0 0 3px rgba(15,110,86,.12)}.teacher-login-input-icon{position:absolute;z-index:1;top:50%;left:12px;display:block;width:12px;height:12px;transform:translateY(-50%);pointer-events:none}.teacher-login-input-icon--lock{height:16px}.teacher-login-password-toggle{position:absolute;top:50%;right:4px;display:grid;width:36px;height:36px;place-items:center;padding:0;border:0;border-radius:6px;transform:translateY(-50%);background:transparent}.teacher-login-password-toggle:hover{background:rgba(15,110,86,.06)}.teacher-login-password-toggle img{display:block;width:17px;height:12px}.teacher-login-options{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 16px}.teacher-login-remember{display:inline-flex;align-items:center;gap:8px;color:#3f4944;font-size:14px;line-height:20px;cursor:pointer}.teacher-login-remember input{width:16px;height:16px;margin:0;accent-color:#005440}.teacher-login-options a,.teacher-login-options button,.teacher-login-support a,.teacher-login-support button{padding:0;border:0;color:#005440;background:transparent;font-size:inherit;font-weight:600;line-height:inherit;letter-spacing:.13px;text-decoration:none}.teacher-login-options a,.teacher-login-options button{font-size:13px;line-height:16px}.teacher-login-options a:hover,.teacher-login-options button:hover,.teacher-login-support a:hover,.teacher-login-support button:hover{text-decoration:underline}.teacher-login-submit{width:100%;min-height:40px;padding:11px 17px;border:1px solid transparent;border-radius:8px;color:#ffffff;background:#005440;box-shadow:0 1px 1px rgba(0,0,0,.05);font-size:13px;font-weight:600;line-height:16px;letter-spacing:.13px;transition:background .15s ease,transform .15s ease,opacity .15s ease}.teacher-login-submit:hover:not(:disabled){background:#0f6e56}.teacher-login-submit:active:not(:disabled){transform:translateY(1px)}.teacher-login-submit:disabled{cursor:wait;opacity:.65}.teacher-login-notice{margin-top:-8px;padding:10px 12px;border-radius:8px;color:#8a2c25;background:rgba(178,58,48,.1);font-size:12px;line-height:17px}.teacher-login-support{margin-top:26px;padding-top:25px;border-top:1px solid rgba(190,201,195,.3);color:#3f4944;text-align:center;font-size:12px;line-height:16px}.teacher-login-support span{margin-right:4px}.teacher-login-support a,.teacher-login-support button{font-weight:400;letter-spacing:0}.teacher-login-change-form{gap:18px}.teacher-login-change-copy{display:grid;grid-gap:6px;gap:6px;margin-top:-6px;text-align:center}.teacher-login-change-copy h2{margin:0;font-size:18px;line-height:24px}.teacher-login-change-copy p{color:#3f4944;font-size:13px;line-height:18px}@media (max-width:520px){.teacher-login-shell{place-items:start center;padding:12px}.teacher-login-card{padding:28px 24px}.teacher-login-options{gap:12px}}@media (max-width:360px){.teacher-login-card{padding:24px 18px}.teacher-login-options{align-items:flex-start;flex-direction:column;padding-bottom:8px}}.student-shell{justify-content:center;color:#191c1e;background:#f1f2f2}.student-app,.student-shell{min-height:100vh;display:flex}.student-app{position:relative;width:min(390px,100%);height:100vh;height:100dvh;flex-direction:column;overflow:hidden;background:#f8f9fb;box-shadow:0 0 0 1px rgba(190,201,195,.15)}.student-shell .notice--offline{position:fixed;z-index:20;top:8px;width:min(358px,calc(100% - 32px))}.student-header{position:relative;z-index:2;padding:24px 16px 16px;border-radius:0 0 16px 16px;background:#fff;box-shadow:0 4px 6px rgba(0,0,0,.02)}.student-header h1{margin:0;color:#191c1e;font-size:24px;line-height:28px;letter-spacing:-.24px}.student-header p{display:flex;align-items:center;gap:4px;margin-top:4px;color:#3f4944;font-size:14px;line-height:20px}.student-header p img{display:block;width:14px;height:14px}.student-content{flex:1 1;min-height:0;overflow-y:auto;padding:16px 16px 96px}.student-lesson-groups,.student-lesson-list{display:grid;grid-gap:12px;gap:12px}.student-lesson-groups{gap:24px}.student-lesson-group{display:grid;grid-gap:12px;gap:12px}.student-lesson-group>h2{margin:0;padding-left:4px;color:#555f6c;font-size:13px;line-height:16px;letter-spacing:.65px}.student-lesson-card{position:relative;display:grid;grid-gap:16px;gap:16px;overflow:hidden;padding:17px 16px 17px 24px;border:1px solid #e0e3e5;border-radius:16px;background:#fff}.student-lesson-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#3b82f6}.student-lesson-card--offline:before{background:#f43f5e}.student-lesson-card--disabled{opacity:.55}.student-lesson-card__bottom,.student-lesson-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-lesson-card__top strong{display:block;color:#191c1e;line-height:20px;letter-spacing:-.14px}.student-lesson-card__top h3{margin:2px 0 0;color:#191c1e;font-size:13px;line-height:16px;letter-spacing:.13px}.student-lesson-card__spots{display:flex;align-items:center;gap:4px;padding-top:20px;color:#0f6e56;font-size:12px;line-height:16px;white-space:nowrap}.student-lesson-card__spots img{display:block;width:13px;height:10px}.student-lesson-card__bottom{align-items:flex-end}.student-lesson-card__format{display:inline-flex;align-items:center;gap:4px;min-height:24px;max-width:210px;padding:4px 8px;overflow:hidden;border-radius:6px;color:#3f4944;background:#eceef0;font-size:12px;line-height:16px;text-overflow:ellipsis;white-space:nowrap}.student-lesson-card__format img{flex:0 0 auto;display:block;width:14px;height:14px}.student-lesson-card__bottom button{min-width:91px;min-height:44px;padding:8px 16px;border:1px solid #bec9c3;border-radius:12px;color:#191c1e;background:#fff;font-size:13px;font-weight:600;line-height:16px;letter-spacing:.13px}.student-lesson-card__bottom button:disabled{color:#6f7a74;background:#e6e8ea;cursor:default}.student-bottom-nav{position:absolute;z-index:5;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:4px;gap:4px;padding:8px 16px;border-radius:12px 12px 0 0;background:#fff;box-shadow:0 -4px 6px rgba(0,0,0,.05)}.student-bottom-nav button{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border:0;border-radius:12px;color:#5b6572;background:transparent;font-size:12px;line-height:16px}.student-bottom-nav button img{display:block;width:20px;height:20px;object-fit:contain}.student-bottom-nav button.is-active{color:#9aedcf;background:#0f6e56}.student-bottom-nav button.is-active img{filter:brightness(0) invert(91%) sepia(17%) saturate(788%) hue-rotate(102deg) brightness(102%)}.student-bookings-view{display:grid;grid-gap:24px;gap:24px}.student-booking-filters{display:flex;gap:8px;overflow-x:auto}.student-booking-filters button{flex:0 0 auto;border:0;border-radius:999px;background:#f2f4f6;font-size:13px;font-weight:600;line-height:16px}.student-booking-filters button.is-active{color:#fff;background:#0f6e56}.student-booking-list{display:grid;grid-gap:12px;gap:12px}.student-booking-card{position:relative;display:grid;grid-gap:10px;gap:10px;overflow:hidden;padding:17px 17px 17px 16px;border:1px solid #bec9c3;border-radius:12px;background:#fff}.student-booking-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#3b82f6}.student-booking-card[data-status=new]:before{background:#f59e0b}.student-booking-card[data-status=cancelled]{opacity:.68}.student-booking-card[data-status=cancelled]:before{background:#bec9c3}.student-booking-card__status{width:-moz-fit-content;width:fit-content;border-radius:4px;color:#3b82f6;background:rgba(59,130,246,.1);font-size:13px;font-weight:600;line-height:16px}.student-booking-card__status[data-tone=new]{color:#d97706}.student-booking-card__status[data-tone=cancelled]{background:#f2f4f6}.student-booking-card h3{max-width:320px;font-size:20px;line-height:26px}.student-booking-card[data-status=cancelled] h3{text-decoration:line-through}.student-booking-card__meta{display:grid;grid-gap:4px;color:#3f4944;font-size:14px;line-height:20px}.student-booking-card__meta span{display:flex;align-items:center;gap:8px}.student-booking-card__meta img{display:block;width:15px;height:15px}.student-booking-card__actions{display:flex;justify-content:flex-end;margin-top:8px;padding-top:12px;border-top:1px solid #e0e3e5}.student-booking-card__actions button{min-height:44px;padding:8px 17px;border:1px solid #ba1a1a;border-radius:8px;color:#ba1a1a;background:#fff;font-size:13px;font-weight:600}.student-profile-view{display:flex;flex-direction:column;align-items:center;padding:36px 16px;border:1px solid #e0e3e5;border-radius:16px;background:#fff;text-align:center}.student-profile-view__avatar{display:grid;width:64px;height:64px;place-items:center;border-radius:999px;color:#fff;background:#0f6e56;font-size:24px;font-weight:700}.student-profile-view h2{margin:16px 0 4px}.student-profile-view p{color:#3f4944}.student-profile-stats{width:100%;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;margin-top:24px}.student-profile-stats span{display:grid;grid-gap:4px;gap:4px;padding:16px;border-radius:12px;color:#3f4944;background:#f2f4f6;font-size:12px}.student-profile-stats strong{color:#005440;font-size:20px}.student-registration-bar{height:44px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border-bottom:1px solid #e0e3e5;background:#fff}.student-registration-bar button{display:grid;width:44px;height:44px;place-items:center;padding:0;border:0;background:transparent}.student-registration-bar button img{display:block;width:16px;height:16px}.student-registration-bar h1{grid-column:2;margin:0;text-align:center;font-size:20px;line-height:26px}.student-registration-content{flex:1 1;min-height:0;display:grid;align-content:start;grid-gap:24px;gap:24px;overflow-y:auto;padding:16px 16px 92px}.student-registration-summary{display:grid;grid-gap:12px;gap:12px;padding:17px;border:1px solid #e0e3e5;border-radius:12px;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.02)}.student-registration-summary__head{display:flex;justify-content:space-between;gap:12px}.student-registration-summary__head>div>span{color:#005440;font-size:13px;font-weight:600;line-height:16px}.student-registration-summary h2{max-width:285px;margin:4px 0 0;font-size:20px;line-height:26px}.student-registration-summary__badge{flex:0 0 auto;display:grid;width:40px;height:40px;place-items:center;border:1px solid #e0e3e5;border-radius:999px;background:#f2f4f6}.student-registration-summary__badge img{display:block;width:22px;height:19px}.student-registration-summary__details{display:grid;grid-gap:8px;gap:8px;padding-top:12px;border-top:1px solid #e0e3e5;color:#3f4944;font-size:14px;line-height:20px}.student-registration-summary__details span{display:flex;align-items:center;gap:12px}.student-registration-summary__details img{flex:0 0 auto;display:block;width:17px;height:17px;object-fit:contain}.student-registration-form-section{display:grid;grid-gap:16px;gap:16px}.student-registration-form-section>h2{margin:0;font-size:20px;line-height:26px}.student-registration-form{display:grid;grid-gap:16px;gap:16px}.student-registration-form .field{gap:6px}.student-registration-form .field label{color:#3f4944;font-size:13px;font-weight:600;line-height:16px}.student-registration-form .field label b{color:#ba1a1a}.student-registration-form .input{height:48px;border-color:#bec9c3;border-radius:8px;background:#fff;font-size:16px}.student-registration-form .textarea{min-height:96px;border-color:#bec9c3;border-radius:8px;background:#fff}.student-registration-cta{position:absolute;z-index:5;right:0;bottom:0;left:0;border-top:1px solid #e0e3e5;background:#fff}.student-registration-cta button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:0;border-radius:12px;color:#fff;background:#005440;font-size:13px;font-weight:600;line-height:16px}.student-registration-cta button:disabled{opacity:.55}.student-registration-cta img{display:block;width:15px;height:15px}@media (min-width:431px){.student-app{height:min(900px,100vh);height:min(900px,100dvh);min-height:min(900px,100vh)}}.student-app-bar{position:relative;z-index:3;height:44px;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;padding:0 16px;background:#f8f9fb;box-shadow:0 1px 1px rgba(0,0,0,.05)}.student-app-bar__brand{display:flex;align-items:center;gap:12px}.student-app-bar__brand img{display:block;width:32px;height:32px;border-radius:999px}.student-app-bar__brand strong{color:#005440;font-size:20px;line-height:26px;letter-spacing:-.5px}.student-app-bar__bell{display:grid;width:40px;height:40px;place-items:center}.student-app-bar__bell img{display:block;width:16px;height:20px}.student-header{flex:0 0 auto;padding:25px 17px 17px;border-bottom:1px solid rgba(255,255,255,.5);border-radius:0;background:rgba(255,255,255,.7);box-shadow:0 1px 2px rgba(0,0,0,.05);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.student-header--bookings,.student-header--profile{padding:24px 16px 8px;border-bottom:0;background:#f8f9fb;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.student-header p{color:#555f6c}.student-content{padding:16px 16px 80px}.student-lesson-card{gap:8px;padding:17px;border-color:#bec9c3;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.student-lesson-card:before{display:none}.student-lesson-card--selected{padding-left:16px;border-color:#005440;border-left-width:4px}.student-lesson-card--disabled{opacity:1}.student-lesson-card__top{justify-content:flex-start;gap:8px}.student-lesson-card__top strong{font-size:14px;font-weight:500}.student-lesson-card>h3{margin:0;color:#191c1e;font-size:20px;line-height:26px}.student-lesson-card__format{min-height:20px;max-width:none;padding:2px 8px;border-radius:999px}.student-lesson-card--online .student-lesson-card__format{color:#9aedcf;background:#0f6e56}.student-lesson-card__format img{width:12px;height:12px}.student-lesson-card__spots{padding:0 0 5px;color:#555f6c}.student-lesson-card__spots img{width:15px;height:11px}.student-lesson-card__bottom button{min-width:105px;border-color:#555f6c;border-radius:8px;color:#555f6c}.student-lesson-card--selected .student-lesson-card__bottom button{border-color:#005440;color:#fff;background:#005440}.student-lesson-card__bottom button:disabled{border-color:transparent;color:#555f6c;background:#e0e3e5;opacity:.5}.student-bottom-nav{min-height:65px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:center;justify-items:center;padding:1px 20px 0;border:1px solid #bec9c3;border-bottom:0;background:#f8f9fb}.student-bottom-nav button{width:max-content;min-width:72px;min-height:56px;padding:4px 8px;border-radius:16px;font-size:13px;font-weight:600}.student-bottom-nav button.is-active{min-height:45px;padding:4px 16px}.student-bottom-nav button.is-active img{filter:none}.student-bookings-view{gap:16px}.student-booking-filters{margin-right:-16px;padding-right:16px;scrollbar-width:none}.student-booking-filters::-webkit-scrollbar{display:none}.student-booking-filters button{min-height:40px;padding:8px 16px;border:1px solid #bec9c3;color:#3f4944;background:#fff}.student-booking-filters button.is-active{border-color:#005440;background:#005440}.student-booking-card{gap:12px;padding:17px 17px 17px 20px}.student-booking-card:before,.student-booking-card[data-status=attended]:before{background:#005440}.student-booking-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.student-booking-card h3{flex:1 1;min-width:0;margin:0;font-size:16px;line-height:20px}.student-booking-card__status{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;color:#9aedcf;background:#0f6e56;font-size:12px;font-weight:400}.student-booking-card__status img{display:block;width:12px;height:12px}.student-booking-card__status[data-tone=new]{border:1px solid rgba(245,158,11,.2);color:#b45309;background:rgba(245,158,11,.1)}.student-booking-card__status[data-tone=cancelled]{color:#6f7a74;background:#e0e3e5}.student-booking-card__meta{gap:4px;padding-left:4px}.student-booking-card__actions{margin-top:0;padding:8px 0 0 4px;border-top:0}.student-booking-card__actions button{width:100%}.student-booking-list__end{margin:4px 0 0;color:#6f7a74;font-size:12px;line-height:32px;text-align:center}.student-registration-bar{height:56px;grid-template-columns:48px 1fr 48px}.student-registration-bar button{width:48px;height:56px}.student-registration-content{padding:16px 16px 113px}.student-registration-summary{gap:16px;border-color:#bec9c3}.student-registration-summary__head>div>span{display:inline-flex;margin-top:5px;padding:4px 8px;border-radius:6px;color:#5b6572;background:#d9e3f3}.student-registration-summary h2{margin:0}.student-registration-summary__details{padding-top:0;border-top:0}.student-registration-summary__details img{width:20px;height:20px}.student-registration-form{gap:20px}.student-registration-input{position:relative}.student-registration-input>img{position:absolute;z-index:1;top:50%;left:12px;width:20px;height:20px;object-fit:contain;transform:translateY(-50%);pointer-events:none}.student-registration-form .input{width:100%;height:44px;padding-left:41px;border-radius:12px;font-size:14px}.student-registration-form .textarea{min-height:100px;border-radius:12px;font-size:14px}.student-registration-cta{padding:16px}.student-registration-cta button{min-height:56px}.student-registration-cta img{width:20px;height:20px}.admin-shell{min-height:100vh;display:grid;grid-template-columns:256px minmax(0,1fr);color:#191c1e;background:#f8f9fb}.admin-sidebar{position:-webkit-sticky;position:sticky;z-index:10;top:0;height:100vh;display:flex;flex-direction:column;padding:20px 16px 12px;border:0;border-radius:0;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.05)}.admin-sidebar__brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.admin-sidebar__logo{flex:0 0 auto;display:grid;width:40px;height:40px;place-items:center;border-radius:999px;color:#9aedcf;background:#0f6e56}.admin-sidebar__logo img{display:block;width:22px;height:18px}.admin-sidebar__brand>div{display:grid}.admin-sidebar__brand strong{color:#005440;font-size:20px;line-height:22px}.admin-sidebar__brand span:last-child{margin-top:2px;color:#3f4944;font-size:12px;line-height:16px}.admin-sidebar__create{min-height:40px;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px;padding:8px 16px;border:0;border-radius:8px;color:#fff;background:#005440;font-size:13px;font-weight:600;line-height:16px}.admin-sidebar__create img{display:block;width:11px;height:11px}.admin-sidebar__nav{display:grid;align-content:start;grid-gap:4px;gap:4px}.admin-sidebar__nav-button{position:relative;min-height:40px;display:flex;align-items:center;gap:12px;padding:8px 12px;overflow:hidden;border:0;border-radius:8px;color:#5b6572;background:transparent;text-align:left}.admin-sidebar__nav-button img{flex:0 0 auto;display:block;width:18px;height:18px;object-fit:contain}.admin-sidebar__nav-button span{font-size:14px;line-height:20px}.admin-sidebar__nav-button i{position:absolute;top:50%;right:16px;width:8px;height:8px;border-radius:999px;transform:translateY(-50%);background:#f43f5e}.admin-sidebar__nav-button--active{padding-right:16px;border-right:4px solid #005440;color:#005440;background:#f2f4f6;font-weight:700}.admin-sidebar__footer{display:grid;grid-gap:4px;gap:4px;margin-top:auto;padding-top:17px;border-top:1px solid rgba(190,201,195,.5)}.admin-sidebar__footer-button{min-height:40px;display:flex;align-items:center;gap:12px;padding:8px 12px;border:0;border-radius:8px;color:#5b6572;background:transparent;font-size:14px;line-height:20px;text-align:left}.admin-sidebar__footer-button img{display:block;width:18px;height:18px}.admin-shell__body{min-width:0;display:flex;flex-direction:column;gap:24px;padding:0 32px 32px;overflow:hidden}.admin-topbar{min-height:52px;justify-content:space-between;margin:0 -32px;padding:0 32px;border-bottom:1px solid #bec9c3;background:#fff}.admin-topbar,.admin-topbar>nav{display:flex;align-items:center;gap:24px}.admin-topbar>nav{align-self:stretch}.admin-topbar>nav span{align-self:stretch;padding:0 0 4px;border:0;border-bottom:2px solid transparent;color:#3f4944;background:transparent;font-size:13px;font-weight:600;line-height:16px}.admin-topbar>nav span.is-active{border-bottom-color:#005440;color:#005440}.admin-topbar__actions{display:flex;align-items:center;gap:12px}.admin-topbar__search{width:192px;height:34px;display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:999px;background:#f2f4f6}.admin-topbar__search img{display:block;width:15px;height:15px}.admin-topbar__search input{min-width:0;width:100%;border:0;outline:0;color:#191c1e;background:transparent;font-size:14px}.admin-topbar__actions>button{width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:transparent}.admin-topbar__actions>button img{display:block;width:20px;height:20px}.admin-topbar__avatar{display:grid;width:32px;height:32px;place-items:center;border:1px solid #bec9c3;border-radius:999px;color:#fff;background:#56626e;font-size:11px;font-weight:700}.admin-view-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:4px}.admin-view-heading h1{margin:0;color:#191c1e;font-size:28px;line-height:34px;letter-spacing:-.56px}.admin-view-heading p{margin-top:4px;color:#3f4944;font-size:14px;line-height:20px}.admin-view-heading>span{padding:4px 10px;border-radius:999px;color:#93000a;background:#ffdad6;font-size:13px;font-weight:600}.admin-shell__body>.analytics-view,.admin-shell__body>.stack{min-width:0}.admin-shell .empty-state,.admin-shell .list-card,.admin-shell .metric-card,.admin-shell .panel,.admin-shell .stat-tile{border-color:#bec9c3;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.admin-shell .panel{padding:20px}.admin-shell .button{min-height:38px;border-radius:8px;box-shadow:none;font-size:13px}.admin-shell .button--primary,.admin-shell .button--teal{background:#005440}.admin-shell .input,.admin-shell .select,.admin-shell .textarea{border-color:#bec9c3;border-radius:8px;background:#fff}.admin-shell .compact-panel{background:#fff}.admin-shell .analytics-kpi-grid{gap:12px}.admin-shell .analytics-kpi,.admin-shell .analytics-panel{border-color:#bec9c3;border-radius:12px;box-shadow:none}.admin-shell .analytics-kpi{min-height:104px;padding:16px;background:#fff}.admin-shell .analytics-kpi strong{color:#191c1e;font-size:24px}.admin-modal-backdrop{background:rgba(25,28,30,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-modal,.admin-shell .admin-modal{width:min(672px,calc(100% - 32px));max-height:calc(100vh - 48px);padding:0;border-color:#bec9c3;border-radius:12px;box-shadow:0 20px 36px rgba(0,0,0,.18)}.admin-modal__head{margin:0;padding:20px 24px;border-bottom:1px solid #bec9c3}.admin-modal__head .eyebrow,.admin-modal__head .muted{display:none}.admin-modal__head h2{font-size:20px;line-height:26px}.admin-modal>.form{gap:16px;padding:20px 24px;overflow-y:auto}.admin-modal .field{gap:6px}.admin-modal .field label{color:#3f4944;font-size:13px;font-weight:600}.admin-modal .input,.admin-modal .select{min-height:38px;padding:8px 12px}.admin-modal .textarea{min-height:72px}.admin-modal .repeat-section{border-color:#bec9c3;border-radius:8px;background:#f2f4f6}.lesson-format-field{display:flex;align-items:center;gap:16px;margin:0;padding:0;border:0}.lesson-format-field legend{width:100%;margin-bottom:6px;color:#3f4944;font-size:13px;font-weight:600}.lesson-format-field label{display:inline-flex;align-items:center;gap:7px;color:#3f4944;font-size:13px;cursor:pointer}.lesson-format-field input{width:16px;height:16px;margin:0;accent-color:#005440}.admin-modal__actions{margin:4px -24px -20px;padding:16px 24px 0;border-top:1px solid #bec9c3}@media (max-width:980px){.admin-shell{grid-template-columns:1fr;padding-bottom:72px}.admin-sidebar{position:fixed;top:auto;right:0;bottom:0;left:0;width:100%;height:auto;display:block;padding:8px 12px;border-top:1px solid #bec9c3}.admin-sidebar__brand,.admin-sidebar__create,.admin-sidebar__footer{display:none}.admin-sidebar__nav{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-sidebar__nav-button{min-width:0;flex-direction:column;justify-content:center;gap:3px;padding:6px 2px;border:0;text-align:center}.admin-sidebar__nav-button span{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-shell__body{padding:0 16px 24px}.admin-topbar{margin:0 -16px;padding:0 16px}.admin-topbar__search{display:none}}.admin-shell__body[data-view=schedule] .admin-view-heading{display:none}.admin-bookings-view{min-width:0;display:grid;grid-gap:16px;gap:16px}.admin-bookings-toolbar{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;grid-gap:16px;gap:16px}.admin-bookings-segments{display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #bec9c3;border-radius:8px;background:#fff}.admin-bookings-segments button{position:relative;min-height:30px;padding:6px 10px;border:0;border-radius:6px;color:#3f4944;background:transparent;font-size:12px;font-weight:600}.admin-bookings-segments button.is-active{color:#fff;background:#0f6e56}.admin-bookings-segments button i{position:absolute;top:4px;right:3px;width:5px;height:5px;border-radius:999px;background:#f43f5e}.admin-bookings-toolbar .period-filter{justify-self:start}.admin-bookings-toolbar__actions{display:flex;gap:8px}.admin-bookings-toolbar__actions a,.admin-bookings-toolbar__actions button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #bec9c3;border-radius:8px;color:#191c1e;background:#fff;font-size:12px;font-weight:600}.admin-data-table{min-width:0;overflow:hidden;border:1px solid #bec9c3;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}.admin-data-table__head,.admin-data-table__row{display:grid;grid-template-columns:1.05fr 1.25fr 1.25fr .95fr 1.15fr .7fr;align-items:center}.admin-data-table__head{min-height:44px;padding:0 16px;border-bottom:1px solid #e0e3e5;color:#3f4944;background:#f2f4f6;font-size:12px;font-weight:600}.admin-data-table__row{min-height:76px;padding:10px 16px;border-bottom:1px solid #e0e3e5}.admin-data-table__row>div{min-width:0;display:grid;grid-gap:3px;gap:3px;padding-right:12px;color:#191c1e;font-size:12px;line-height:16px}.admin-data-table__row strong{overflow:hidden;font-size:12px;font-weight:600;text-overflow:ellipsis}.admin-data-table__row small{color:#3f4944;font-size:11px;line-height:14px}.admin-booking-student{display:flex!important;align-items:center;gap:8px!important}.admin-booking-student>span{flex:0 0 auto;display:grid;width:30px;height:30px;place-items:center;border-radius:999px;color:#fff;background:#56626e;font-size:11px}.admin-booking-student>div{min-width:0;display:grid}.admin-booking-rate-cell>div{display:flex;gap:4px}.admin-booking-rate-cell input{min-width:0;width:58px;height:28px;padding:4px 6px;border:1px solid #bec9c3;border-radius:5px;font-size:11px}.admin-booking-rate-cell button{height:28px;padding:4px 6px;border:0;border-radius:5px;color:#005440;background:#e1f5ee;font-size:10px}.admin-booking-actions{display:flex!important;gap:4px!important;padding:0!important}.admin-booking-actions button{width:28px;height:28px;padding:0;border:1px solid #bec9c3;border-radius:999px;color:#005440;background:#fff;font-size:14px}.admin-booking-actions button:last-child{color:#ba1a1a}.admin-booking-actions button:disabled{opacity:.35}.admin-data-table__footer{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;color:#3f4944;font-size:11px}.admin-data-table__footer>div{display:flex;align-items:center;gap:4px}.admin-data-table__footer button,.admin-data-table__footer strong{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:4px;background:transparent}.admin-data-table__footer strong{color:#fff;background:#005440}.admin-shell__body[data-view=students]>.stack>.compact-panel{padding:16px}.admin-shell__body[data-view=students] .card-list{grid-template-columns:1fr;gap:0;overflow:hidden;border:1px solid #bec9c3;border-radius:12px;background:#fff}.admin-shell__body[data-view=students] .student-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) auto;align-items:center;grid-gap:24px;gap:24px;padding:14px 16px;border:0;border-bottom:1px solid #e0e3e5;border-radius:0;box-shadow:none;text-align:left}.admin-shell__body[data-view=students] .student-card__head{align-items:center}.admin-shell__body[data-view=students] .student-card .meta-list{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-shell__body[data-view=students] .student-card .tag-row{justify-content:flex-end}.admin-modal-backdrop:has(.admin-modal--wide){justify-content:flex-end;padding:0}.admin-modal.admin-modal--wide{width:min(390px,100%);height:100vh;max-height:none;margin-left:auto;overflow-y:auto;border-radius:0;box-shadow:-12px 0 24px rgba(0,0,0,.12)}.admin-modal--wide .admin-modal__head{position:-webkit-sticky;position:sticky;z-index:2;top:0;background:#fff}.admin-modal--wide .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px}.admin-modal--wide>.compact-list,.admin-modal--wide>.section__head:not(.admin-modal__head){margin-right:20px;margin-left:20px}@media (max-width:1180px){.admin-bookings-toolbar{grid-template-columns:1fr}.admin-data-table{overflow-x:auto}.admin-data-table__head,.admin-data-table__row{min-width:920px}}@media (max-width:760px){.admin-topbar>nav{gap:12px}.admin-topbar__actions>button,.admin-topbar__avatar{display:none}.admin-view-heading h1{font-size:24px}.admin-bookings-segments{overflow-x:auto}.admin-shell__body[data-view=students] .student-card,.admin-shell__body[data-view=students] .student-card .meta-list{grid-template-columns:1fr}}