:root{color-scheme:light;--bg:#ffffff;--paper:#ffffff;--ink:#14261d;--muted:#4d6157;--primary:#133e2e;--primary-hover:#0d2e21;--navy:#0f2d21;--accent-soft:#dcebe3;--surface-soft:#eef4f0;--line:#dde5df;--border-strong:#9cc1b0;--hero:linear-gradient(120deg,#1b5a43,#0f2d21);--hero-text:#cfe6da;--radius:18px;--font-ui:var(--font-thai-looped),system-ui,sans-serif;--text-body:1.0625rem;--text-control:1rem;--text-detail:.9375rem;--text-caption:.875rem;--level-beginner:#dc2626;--level-intermediate:#f97316;--level-advanced:#16a34a}.account-list{display:flex;flex-direction:column;gap:10px;max-height:55dvh;overflow-y:auto;padding:2px}.account-option{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);text-align:left}.account-option.current,.account-option:hover:not(:disabled){background:var(--surface-soft);border-color:var(--border-strong)}.account-option.current{opacity:1}.account-details{display:flex;flex:1 1;min-width:0;flex-direction:column}.account-details strong{font-size:1rem;overflow-wrap:anywhere}.account-details small{font-size:.875rem;color:var(--muted);overflow-wrap:anywhere}.account-current{font-size:.875rem;color:var(--primary);white-space:nowrap}.account-option>svg{flex-shrink:0}.language-switcher{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--paper);flex-shrink:0}.language-switcher button{min-width:36px;min-height:34px;border:0;border-radius:6px;background:none;color:var(--muted);font-size:.875rem;padding:4px 8px}.language-switcher button[aria-pressed=true]{background:var(--primary);color:white;font-weight:600}.language-switcher button:hover:not([aria-pressed=true]){background:var(--surface-soft)}@media(max-width:600px){.topbar{height:auto;min-height:64px;gap:10px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.topbar-right{gap:8px}.topbar-right .today{display:none}.breadcrumb{max-width:110px}.language-switcher button{min-width:34px}}.class-schedule{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}.schedule-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 28px;border-bottom:1px solid var(--line)}.schedule-header p{font-size:.9375rem;color:var(--muted);margin-top:5px}.schedule-header>.secondary{flex-shrink:0;min-width:65px}.schedule-layout{display:grid;grid-template-columns:300px minmax(0,1fr)}.schedule-calendar{padding:26px 22px;background:#fdfdfd;border-right:1px solid var(--line)}.calendar-month{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:22px}.calendar-month h3{font-size:1.125rem}.calendar-navigation{display:flex;align-items:center;gap:5px;flex-shrink:0}.calendar-arrow{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:8px;background:white;color:var(--muted)}.calendar-arrow:hover{background:var(--accent-soft);color:var(--primary)}.calendar-days,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.calendar-weekdays{margin-bottom:8px;text-align:center;color:var(--muted);font-size:.875rem}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:42px;padding:6px 0;border:1px solid transparent;border-radius:9px;background:none;color:var(--ink);font-size:.9375rem}.calendar-day:hover{background:var(--accent-soft)}.calendar-day.outside{color:#7a8c83}.calendar-day.today{border-color:var(--border-strong);font-weight:700;color:var(--primary)}.calendar-day.selected{background:var(--primary);color:white;border-color:var(--primary);box-shadow:0 3px 8px #26735526}.calendar-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:transparent;flex-shrink:0}.calendar-dot.has-classes{background:var(--primary)}.calendar-day.selected .calendar-dot.has-classes{background:white}.calendar-legend{display:flex;align-items:center;gap:17px;font-size:.875rem;color:var(--muted);padding:17px 0 22px;border-bottom:1px solid var(--line)}.calendar-legend>span{display:flex;gap:7px;align-items:center}.calendar-today-marker{width:10px;height:10px;border:1px solid var(--border-strong);border-radius:3px}.calendar-jump{display:flex;flex-direction:column;gap:8px;font-size:.875rem;color:var(--muted);margin-top:22px}.calendar-jump input{width:100%;font-size:.9375rem;background:white}.calendar-note{font-size:.875rem;color:var(--muted);margin-top:16px;line-height:1.8}.schedule-agenda{padding:26px 28px;min-width:0}.agenda-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.agenda-heading .eyebrow{font-size:.875rem;color:var(--primary)}.agenda-heading h3{font-size:1.25rem;margin-top:5px;line-height:1.6}.agenda-summary{display:flex;align-items:center;gap:17px;margin:18px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:.875rem;color:var(--muted);flex-wrap:wrap}.agenda-summary strong{font-size:1rem;color:var(--ink);font-weight:600}.agenda-types{margin-left:auto;display:flex;gap:14px;font-size:.875rem}.agenda-types>span{display:flex;align-items:center;gap:6px}.agenda-types>span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary)}.agenda-types>.group:before{background:#7c3aed}.agenda-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}.agenda-item{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:18px;gap:18px;position:relative}.agenda-time{display:flex;flex-direction:column;padding-top:14px;gap:3px}.agenda-time time{font-size:1.25rem;font-weight:600;line-height:1.4}.agenda-time span{font-size:.875rem;color:var(--muted)}.agenda-card{padding:17px 19px;border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:12px;background:linear-gradient(110deg,#fbfcfc,white 65%);min-width:0}.agenda-item.group .agenda-card{border-left-color:#7c3aed;background:linear-gradient(110deg,#fcfaff,white 65%)}.agenda-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.agenda-type{font-size:.875rem;font-weight:600;padding:3px 8px;border-radius:5px;color:var(--primary-hover);background:var(--accent-soft)}.agenda-type.group{background:#ede9fe;color:#6d28d9}.agenda-card h3{font-size:1.125rem;margin:10px 0 8px;overflow-wrap:anywhere}.agenda-details{display:flex;gap:14px;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}.agenda-details>span{display:flex;gap:6px;align-items:center;min-width:0;overflow-wrap:anywhere}.agenda-details svg{flex-shrink:0}.agenda-capacity{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.agenda-capacity strong{color:var(--ink);font-weight:500;margin-left:4px}.agenda-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:300px;padding:28px 12px;border:1px dashed var(--line);border-radius:14px;background:#fdfdfd}.agenda-empty-icon{display:grid;place-items:center;width:64px;height:64px;background:var(--surface-soft);border-radius:18px;color:var(--primary);margin-bottom:18px}.agenda-empty h3{font-size:1.125rem}.agenda-empty p{font-size:.9375rem;color:var(--muted);margin:6px 0 20px}@media(max-width:1100px){.schedule-layout{grid-template-columns:270px minmax(0,1fr)}.schedule-calendar{padding:22px 16px}.schedule-agenda{padding:22px 20px}.agenda-heading h3{font-size:1.125rem}.agenda-item{gap:12px;grid-template-columns:70px minmax(0,1fr)}}@media(max-width:950px) and (min-width:801px){.schedule-layout{grid-template-columns:1fr}.schedule-calendar{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-column-gap:24px;column-gap:24px}.calendar-month{grid-column:1/-1}.calendar-days,.calendar-legend,.calendar-weekdays{grid-column:1}.calendar-jump{grid-column:2;grid-row:2/4;justify-content:center;margin:0}.calendar-note{grid-column:2;grid-row:4;margin:0;align-self:center}}@media(max-width:600px){.schedule-header{padding:20px 18px;align-items:flex-start}.schedule-header h2{font-size:1.25rem}.schedule-header p{font-size:.875rem}.schedule-layout{grid-template-columns:minmax(0,1fr)}.schedule-calendar{border-right:0;border-bottom:1px solid var(--line);padding:20px 18px}.calendar-month{margin-bottom:16px}.calendar-day{min-height:44px;font-size:1rem}.calendar-legend{padding:14px 0;border:0}.calendar-jump{margin-top:4px;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.calendar-jump input{width:160px}.calendar-note{margin-top:10px}.schedule-agenda{padding:22px 18px}.agenda-heading h3{font-size:1rem}.agenda-summary{gap:12px;margin:16px 0 20px}.agenda-types{gap:10px}.agenda-item{grid-template-columns:64px minmax(0,1fr);gap:10px}.agenda-time time{font-size:1rem}.agenda-time span{font-size:.875rem}.agenda-card{padding:14px 12px}.agenda-card h3{font-size:1rem}.agenda-card .badge,.agenda-details{font-size:.875rem}.agenda-details{gap:7px;flex-direction:column}.agenda-capacity{font-size:.875rem}.agenda-empty{min-height:260px}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-body);line-height:1.8;letter-spacing:normal}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,input,select,textarea{outline-offset:4px}button{transition:background .15s,color .15s,transform .15s}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary)}h1,h2,h3,p{margin:0}h1{font-size:2.125rem;line-height:1.45}h2{font-size:1.375rem}h2,h3{font-weight:600}h3{font-size:1.125rem}p{line-height:1.8}.hint,.muted{color:var(--muted)}.hint{font-size:.9375rem}.eyebrow{font-size:.875rem;font-weight:600;color:var(--muted)}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;background:#133e2e;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:35px 22px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;text-align:left;border:0;background:none;padding:0;color:var(--ink);font-size:.9375rem;font-weight:700}.workspace-label{font-size:.875rem;color:var(--muted);margin:43px 12px 15px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;border:0;padding:13px 12px;background:none;border-radius:10px;color:var(--muted);text-align:left;font-size:.9375rem}.nav-item:hover{background:var(--surface-soft)}.nav-item.active{background:var(--accent-soft);color:var(--primary);font-weight:600}.nav-item b{margin-left:auto;font-size:.875rem;min-width:20px;border-radius:5px;background:var(--primary);color:#fff;text-align:center}.sidebar-note{margin-top:auto;background:var(--surface-soft);border-radius:12px;padding:20px 16px;position:relative}.sidebar-note strong{font-size:1.25rem;line-height:1.45;font-weight:500;display:block}.sidebar-note p{font-size:.875rem;color:var(--muted);margin-top:8px}.tiny-ball{display:block;width:25px;height:25px;background:var(--accent-soft);border-radius:50%;border:1px solid var(--border-strong);margin-bottom:12px}.sidebar-bottom{margin-top:23px;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:10px;align-items:center}.sidebar-bottom>div:nth-child(2){flex:1 1;min-width:0}.sidebar-bottom strong{font-size:.875rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-bottom span:not(.brand-symbol){display:block;color:var(--muted);font-size:.875rem}.avatar{background:var(--accent-soft);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;flex-shrink:0}.main-shell{margin-left:240px;width:calc(100% - 240px)}.topbar{height:83px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;background:#ffffffa8}.breadcrumb{font-size:.875rem;color:var(--muted)}.breadcrumb span{padding:0 13px;color:#9fada8}.topbar-right{display:flex;gap:20px;align-items:center}.today{font-size:.875rem;color:var(--muted)}.notification-button{border:1px solid var(--line);background:#fff;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;position:relative;color:var(--ink)}.notification-button i{width:6px;height:6px;background:var(--primary);border-radius:50%;position:absolute;right:6px;top:5px}.icon-button{width:30px;height:30px;display:grid;place-items:center;background:none;border:0;color:var(--muted);flex-shrink:0}main{max-width:1450px;margin:auto;padding:36px 42px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading .eyebrow{font-size:.875rem;margin-bottom:9px}.page-heading p{font-size:.9375rem;color:var(--muted);margin-top:8px}.lime-button,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:9px;padding:11px 17px;border:1px solid transparent;font-size:.9375rem;font-weight:500;line-height:1.5}.primary{background:var(--primary);color:white}.primary:hover:not(:disabled){background:var(--primary-hover)}.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.secondary:hover{background:var(--surface-soft)}.lime-button{background:var(--accent-soft);color:var(--navy)}.lime-button:hover{background:#d6e7e0}.small{padding:8px 12px;font-size:.875rem}.full{width:100%}.text-button{border:0;background:none;padding:4px 0;color:var(--primary);font-size:.875rem}.danger{color:#af6257}.hero{background:var(--hero);min-height:277px;border-radius:var(--radius);display:flex;align-items:center;padding:35px 40px;color:#fff;overflow:hidden;position:relative;gap:15px}.hero>div{flex:1 1;z-index:1}.hero-tag{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--hero-text);margin-bottom:15px}.hero-tag>span{background:var(--accent-soft);width:5px;height:5px;border-radius:50%}.hero h2{font-size:2.125rem;font-weight:500;line-height:1.45}.hero h2 em{font-style:normal}.hero h2 em,.hero p{color:var(--hero-text)}.hero p{line-height:1.9;margin:14px 0 21px}.hero .lime-button,.hero p{font-size:.875rem}.court-art{width:42%;max-width:430px;align-self:center;flex-shrink:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-heading p{font-size:.875rem;color:var(--muted);margin-top:4px}.section-heading>.muted{font-size:.875rem}.coach-section{margin:32px 0}.coach-list{display:flex;gap:12px;flex-wrap:wrap}.coach-chip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 16px;display:flex;align-items:center;gap:12px;text-align:left;min-width:194px;color:var(--ink)}.coach-chip.selected{border-color:var(--primary);background:var(--surface-soft)}.coach-chip strong{display:block;font-size:.9375rem}.coach-chip small{display:block;font-size:.875rem;color:var(--muted)}.coach-avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);font-size:1.25rem;font-weight:500}.coach-avatar.all{background:var(--accent-soft);color:var(--navy)}.color-1{background:#e8f1ee}.color-2{background:#edf2f0}.coach-check{width:16px;margin-left:4px}.coach-bio{font-size:.9375rem;color:var(--muted);margin-top:12px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;flex-wrap:wrap}.segmented{display:flex;border:1px solid var(--line);padding:4px;gap:4px;background:#fff;border-radius:10px}.segmented button{border:0;background:transparent;color:var(--muted);border-radius:7px;padding:7px 19px;font-size:.875rem}.segmented button.selected{background:var(--primary);color:#fff}.search{width:260px;font-size:.875rem}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:21px;gap:21px}.lesson-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.lesson-visual{background:var(--surface-soft);padding:16px 20px 12px;color:var(--primary);position:relative;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.lesson-visual>svg{transform:rotate(-20deg);opacity:.6;stroke-width:.65}.group .lesson-visual{background:var(--accent-soft);color:var(--navy)}.lesson-visual-top{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.type-tag{background:#ffffffbd;border-radius:5px;padding:4px 7px;font-weight:600}.surface-label,.type-tag{font-size:.875rem}.lesson-visual-bottom{font-size:.875rem;display:flex;justify-content:space-between;width:100%}.lesson-visual-bottom>span:last-child{font-size:1.25rem;line-height:1}.lesson-body{padding:20px}.lesson-body>.eyebrow{font-size:.875rem}.lesson-body h3{margin:6px 0 12px;font-size:1.125rem}.lesson-time{align-items:center;gap:6px}.capacity,.lesson-time{display:flex;font-size:.875rem;color:var(--muted)}.capacity{justify-content:space-between;margin-top:17px;gap:10px}.progress{height:4px;border-radius:4px;background:var(--surface-soft);overflow:hidden;margin:7px 0 18px}.progress i{height:100%;display:block;background:var(--primary)}.lesson-body>.hint{margin:15px 0 22px;font-size:.875rem}.lesson-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;gap:8px}.lesson-footer strong{font-size:1.375rem;font-weight:600}.deadline,.lesson-footer span{font-size:.875rem;color:var(--muted)}.deadline{margin-top:12px}.lesson-body>.danger{margin-top:10px}.badge{display:inline-block;padding:4px 8px;border-radius:5px;font-size:.875rem;white-space:nowrap;background:var(--surface-soft);color:var(--muted);font-weight:500;line-height:1.5}.badge.completed,.badge.confirmed,.badge.open,.badge.paid{background:var(--accent-soft);color:var(--primary-hover)}.badge.awaiting_payment,.badge.payment_review,.badge.pending_coach,.badge.review{background:#faf0d7;color:#a1843c}.badge.cancelled,.badge.refund_pending{background:#f8e9e6;color:#a65f57}.badge.refunded{background:var(--surface-soft);color:var(--navy)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:18px;gap:18px;margin-bottom:28px}.stat{padding:23px;background:white;border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;gap:9px}.stat>span{font-size:.875rem;color:var(--muted)}.stat>strong{font-size:1.8125rem}.stat>small{font-size:.875rem;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.overview-grid{display:grid;grid-template-columns:1.7fr 1fr;grid-gap:22px;gap:22px}.overview-grid .booking-card{flex-wrap:wrap;padding:18px 0}.overview-grid .booking-meta{margin-left:auto}.overview-grid .booking-actions{width:100%;flex-direction:row;justify-content:flex-end}.upcoming-item{display:flex;gap:15px;padding:21px 0;border-bottom:1px solid var(--line);align-items:center}.upcoming-item strong{font-size:.9375rem}.upcoming-item p{font-size:.875rem;color:var(--muted)}.mini-date{display:flex;flex-direction:column;min-width:55px;text-align:center;border-right:1px solid var(--line);padding-right:15px}.mini-date span{font-size:.875rem;color:var(--muted)}.empty{text-align:center;padding:45px 20px;color:var(--muted);border:1px dashed var(--border-strong);border-radius:13px;margin-top:16px}.empty>svg{color:#9fada8}.empty p{font-size:.9375rem;margin-top:10px}.empty .primary{margin:15px 0 0 15px}.booking-card{display:flex;gap:20px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.booking-card:last-child{border-bottom:0}.booking-date{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;min-width:54px;padding:10px;text-align:center}.booking-date strong{font-size:1.375rem;line-height:1.3;display:block;font-weight:500}.booking-date span{font-size:.875rem;color:var(--muted)}.booking-info{flex:1 1;min-width:150px}.booking-info .eyebrow{font-size:.875rem}.booking-info h3{font-size:1rem;margin:3px 0 5px}.booking-info p{font-size:.875rem;color:var(--muted)}.booking-info .reason{color:#a17465;font-size:.875rem}.booking-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.booking-meta strong{font-size:1.125rem}.booking-actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end;min-width:100px}.booking-list{padding-top:0;padding-bottom:0}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px;margin:28px 0}.week-strip button{border:1px solid var(--line);border-radius:11px;background:var(--paper);display:flex;flex-direction:column;align-items:center;gap:7px;padding:16px 10px;color:var(--muted)}.week-strip button.selected{background:var(--primary);color:#ffffff;border-color:var(--primary)}.week-strip strong{font-size:1.4375rem;font-weight:500}.week-strip small,.week-strip span{font-size:.875rem}.schedule-row{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:22px 4px}.schedule-row>div:first-child{display:flex;flex-direction:column;font-size:.9375rem;gap:5px;min-width:50px}.schedule-row>div:first-child span{font-size:.875rem;color:var(--muted)}.schedule-line{width:3px;align-self:stretch;background:var(--primary);border-radius:4px}.schedule-line.group{background:#1a3e30}.schedule-row>div:nth-child(3){flex:1 1}.schedule-row h3{font-size:1rem;margin:5px 0}.schedule-row p{font-size:.875rem;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.9375rem}th{font-size:.875rem;color:var(--muted);font-weight:500;padding:15px 12px;white-space:nowrap}td,th{border-bottom:1px solid var(--line)}td{padding:17px 12px}td small{display:block;color:var(--muted);font-size:.875rem}td select{min-width:100px;font-size:.875rem;padding:8px}tr:last-child td{border-bottom:0}.court-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}.court-card-art{height:145px;display:grid;place-items:center;background:var(--surface-soft);border-radius:10px;color:var(--primary);margin-bottom:20px}.court-card p{font-size:.875rem;color:var(--muted);margin:8px 0 15px}.court-card>.secondary{display:block;margin-top:20px;width:100%}.date-range{display:flex;gap:15px}.date-range .field{margin:0}.narrow{max-width:590px}.narrow>.muted{font-size:.9375rem;margin:8px 0 25px}.audit-panel{margin-top:25px}.audit-row{display:flex;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.audit-row small,.audit-row span{font-size:.875rem;color:var(--muted)}.audit-row strong{font-size:.875rem}.notification-row{display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:20px 12px}.notification-row.unread{background:var(--surface-soft)}.notification-row p{font-size:.9375rem}.notification-row small{font-size:.875rem;color:var(--muted)}.notification-row>div{flex:1 1}.unread-dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}.alert{display:flex;justify-content:space-between;align-items:center;padding:12px 17px;border-radius:10px;margin-bottom:22px;font-size:.9375rem}.alert.error{background:#faeae5;color:#9e5347}.alert.success{background:var(--surface-soft);color:var(--primary-hover)}.alert button{background:none;border:0;font-size:1.25rem;color:inherit}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;font-size:.9375rem}.field>span{font-weight:500}.field small{font-size:.875rem;color:var(--muted)}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:8px;color:var(--ink);padding:10px 12px;min-width:0;max-width:100%}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 15px;gap:0 15px}.form-error{color:#a55547;font-size:.9375rem;margin:12px 0}.modal{border:1px solid var(--line);border-radius:19px;padding:28px;max-width:560px;width:calc(100% - 32px);max-height:90dvh;color:var(--ink);box-shadow:0 20px 80px #132d2326;background:white}.modal::-webkit-backdrop{background:#132d2370;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal::backdrop{background:#132d2370;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.modal-head h2{font-size:1.3125rem}.modal>.muted{font-size:.9375rem;margin-bottom:22px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.auth-switch{margin-top:22px;text-align:center;font-size:.9375rem;color:var(--muted)}.auth-switch .text-button{font-size:.9375rem;margin-left:8px}.payment-summary{background:var(--surface-soft);border-radius:12px;padding:23px;text-align:center}.payment-summary h2{font-size:2.25rem;margin:10px}.payment-summary p{font-size:.875rem;color:var(--muted)}.bank-details{display:flex;flex-direction:column;align-items:center;gap:5px;margin:25px 0}.bank-details strong{font-size:1rem}.bank-details span{font-size:.9375rem;color:var(--muted)}.bank-details b{font-size:1.5rem;font-weight:500}.modal>.hint{margin-bottom:15px}.slip-image{max-width:100%;display:block;max-height:60vh;margin:auto;object-fit:contain}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:25px}.loading p{font-size:1rem}.loading p,footer{color:var(--muted)}footer{display:flex;justify-content:space-between;gap:15px;padding:35px 0 25px;font-size:.875rem;margin-top:15px}.modal-close{position:absolute;top:14px;right:14px}.feedback-modal{max-width:390px;padding:36px 28px 28px;text-align:center;overflow-wrap:anywhere;animation:feedback-in .18s ease-out}.feedback-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 19px;background:var(--accent-soft);color:var(--primary-hover);box-shadow:0 0 0 7px var(--surface-soft)}.feedback-error .feedback-icon{background:#faeae6;color:#b76150;box-shadow:0 0 0 7px #fdf7f5}.feedback-label{font-size:.875rem;font-weight:600;color:var(--primary-hover)}.feedback-error .feedback-label{color:#bb877b}.feedback-modal h2{font-size:1.4375rem;margin:6px 0 12px}.feedback-modal>p{font-size:1rem;color:var(--muted);line-height:1.9;margin-bottom:25px;white-space:pre-line}.feedback-dismiss{min-height:44px}.feedback-error .feedback-dismiss{background:#a75b4c}.feedback-error .feedback-dismiss:hover{background:#914b3e}@keyframes feedback-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.feedback-modal{animation:none}}.sidebar nav{min-height:0;overflow-y:auto;flex-shrink:1}.sidebar-bottom,.sidebar>.brand{flex-shrink:0}.field>label{font-weight:500}@media(min-width:801px) and (max-height:850px){.sidebar-note{display:none}.sidebar-bottom{margin-top:auto}.sidebar{padding-top:24px}.workspace-label{margin-top:28px}}@media(min-width:1600px){main{padding-top:45px}.hero{min-height:320px}.hero h2{font-size:2.625rem}.lesson-visual{min-height:185px}}@media(max-width:1200px){.sidebar{width:215px;padding-left:16px;padding-right:16px}.main-shell{margin-left:215px;width:calc(100% - 215px)}main{padding:28px 25px 0}.topbar{padding:0 25px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{gap:12px}.stat{padding:18px}.stat>strong{font-size:1.5rem}.overview-grid{grid-template-columns:1fr}.court-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:30px}.hero h2{font-size:1.875rem}}@media(max-width:800px){.app-shell{display:block}.sidebar{position:-webkit-sticky;position:sticky;top:0;width:100%;height:auto;padding:13px 18px 0;border-right:0;border-bottom:1px solid var(--line);box-shadow:0 3px 12px #132d2306}.sidebar-note,.workspace-label{display:none}.sidebar nav{flex-direction:row;overflow:auto;gap:4px;margin-top:12px;scrollbar-width:none}.nav-item{flex-shrink:0;gap:6px;padding:10px 11px;font-size:.875rem;border-radius:8px 8px 0 0}.nav-item svg{width:15px}.sidebar-bottom{position:absolute;right:16px;top:11px;border:0;padding:0;margin:0}.sidebar-bottom>.avatar{display:none}.sidebar-bottom strong{max-width:110px}.sidebar-bottom .primary{font-size:.875rem;padding:8px 12px}.main-shell{margin:0;width:100%}.topbar{height:55px;padding:0 20px}.topbar-right{gap:12px}.breadcrumb,.today{font-size:.875rem}.breadcrumb span{padding:0 8px}main{padding:25px 20px 0}.page-heading h1{font-size:1.75rem}.page-heading p{font-size:.875rem}.page-heading{margin-bottom:23px;align-items:flex-start}.page-heading>.primary{font-size:.875rem;padding:9px 12px;white-space:nowrap}.hero{min-height:255px;padding:28px}.hero h2{font-size:1.875rem}.court-art{width:38%;opacity:.8}.coach-chip{min-width:170px;flex:1 1}.coach-section{margin:27px 0}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-card{gap:12px;flex-wrap:wrap}.booking-info{min-width:120px}.booking-actions{width:100%;flex-direction:row;justify-content:flex-end;flex-wrap:wrap}.booking-meta{margin-left:auto}.stat>strong{font-size:1.6875rem}.panel{padding:20px}.week-strip{gap:5px}.week-strip button{padding:12px 5px}.week-strip small{font-size:.875rem}.schedule-row{gap:12px}.schedule-row h3{font-size:.9375rem}.schedule-row .badge{font-size:.875rem}.section-heading h2{font-size:1.25rem}.audit-row{gap:8px}.audit-row small,.search{width:100%}.search{max-width:330px}.toolbar{gap:13px}}@media(max-width:480px){main{padding:23px 16px 0}.topbar{padding:0 16px}.page-heading h1{font-size:1.625rem}.page-heading .eyebrow{font-size:.875rem}.hero{padding:25px 23px;min-height:275px}.hero>div{width:100%}.hero h2{font-size:1.9375rem}.hero p{font-size:.875rem}.court-art{position:absolute;right:-75px;bottom:-7px;width:220px;opacity:.28}.hero-tag{font-size:.875rem}.court-grid,.lesson-grid{grid-template-columns:1fr}.lesson-card{display:block}.lesson-visual{padding:16px 20px;min-height:150px;justify-content:space-between}.lesson-visual-top{flex-direction:row;gap:12px;flex-wrap:wrap}.lesson-visual>svg{width:68px;height:80px}.lesson-visual-bottom{font-size:.875rem;flex-direction:row;gap:8px}.lesson-body{padding:17px 15px}.lesson-body h3{font-size:1rem}.capacity,.lesson-body>.hint,.lesson-time{font-size:.875rem}.capacity{gap:5px;flex-wrap:wrap}.lesson-footer strong{font-size:1.25rem}.lesson-footer .small{padding:7px 9px;font-size:.875rem}.deadline{font-size:.875rem}.coach-list{gap:8px}.coach-chip{min-width:calc(50% - 4px);padding:11px;gap:8px}.coach-chip small,.coach-chip strong{font-size:.875rem}.coach-avatar{width:30px;height:30px;font-size:1.125rem}.coach-check{display:none}.section-heading>span{font-size:.875rem}.section-heading{align-items:flex-start}.stat{padding:16px}.stat>span{font-size:.875rem}.stat>strong{font-size:1.5rem}.stat>small{font-size:.875rem}.booking-date{min-width:45px;padding:8px}.booking-info h3{font-size:.9375rem}.booking-info p{font-size:.875rem}.booking-meta strong{font-size:1rem}.booking-meta .badge{font-size:.875rem}.booking-card{gap:10px}.panel{padding:16px}.booking-list{padding-top:0;padding-bottom:0}.week-strip span{font-size:.875rem}.week-strip strong{font-size:1.375rem}.week-strip small{font-size:.875rem}.section-heading input[type=date]{padding:7px;font-size:.875rem;max-width:135px}.date-range{width:100%;gap:10px}.date-range .field{flex:1 1;min-width:0;font-size:.875rem}.modal{padding:22px}.form-grid{grid-template-columns:1fr}.modal-head h2{font-size:1.25rem}footer{font-size:.875rem}.nav-item{padding:9px 10px}.notification-row{padding:15px 7px;gap:12px}.notification-row p{font-size:.875rem}.segmented button{padding:7px 17px}.today{max-width:125px}.breadcrumb{max-width:155px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}h1,h2,h3{overflow-wrap:anywhere}.lime-button,.primary,.secondary{min-height:44px;font-size:var(--text-control)}.nav-item{font-size:var(--text-control);line-height:1.65}.hero-tag svg,.lesson-time svg,.nav-item svg{flex-shrink:0}.lesson-time{align-items:flex-start;line-height:1.75}.lesson-footer{flex-wrap:wrap;row-gap:12px}.agenda-types,.calendar-jump,.calendar-legend,.capacity{flex-wrap:wrap}.calendar-weekdays{line-height:1.6}.calendar-note,.deadline,.field small,.hint{line-height:1.8}.section-heading{flex-wrap:wrap}input,select,textarea{font-size:1rem;line-height:1.6}.calendar-jump input,.search,.section-heading input[type=date],td select{font-size:1rem}@media(max-width:800px){.sidebar>.brand{max-width:calc(100% - 140px)}.sidebar-bottom strong{font-size:.875rem}.nav-item{font-size:var(--text-control)}.page-heading{flex-wrap:wrap}.page-heading>.primary{font-size:var(--text-control);white-space:normal}}@media(max-width:600px){.agenda-heading{flex-wrap:wrap}.agenda-heading h3{font-size:1.125rem}.agenda-types{margin-left:0}.agenda-card h3{font-size:1rem;line-height:1.65}.agenda-details{font-size:var(--text-detail)}.agenda-capacity{font-size:.875rem}.agenda-card .badge{font-size:.875rem;white-space:normal}.calendar-jump{flex-direction:column;align-items:stretch}.calendar-jump input{width:100%}}@media(max-width:480px){.hero p{font-size:var(--text-detail)}.coach-chip{min-width:100%}.lesson-body h3{font-size:1.125rem;line-height:1.65}.capacity,.lesson-body>.hint,.lesson-time{font-size:var(--text-detail)}.lesson-footer .small{font-size:var(--text-control);padding:9px 12px}.booking-info h3{font-size:1rem}.booking-info p,.notification-row p{font-size:.875rem}.date-range{flex-wrap:wrap}.date-range .field{flex-basis:140px;font-size:.875rem}}.booking-info p,.coach-chip strong,.feedback-modal>p,.modal>.muted,.notification-row p,.page-heading p,.section-heading p{font-size:var(--text-body)}.agenda-details,.auth-switch,.capacity,.field,.field small,.hero p,.lesson-body>.hint,.lesson-time{font-size:var(--text-detail)}.field>label,.field>span{font-size:var(--text-control);line-height:1.65}.calendar-note,.coach-chip small,.deadline{font-size:var(--text-caption)}.booking-info h3,.lesson-body h3{line-height:1.65}.segmented,footer{flex-wrap:wrap}footer{line-height:1.75}@media(max-width:800px){.topbar{height:auto;min-height:60px;padding-top:10px;padding-bottom:10px}.topbar,.topbar-right{gap:10px;flex-wrap:wrap}.topbar-right{margin-left:auto}}.coach-link{border:0;background:none;padding:0;font:inherit;letter-spacing:inherit;color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.coach-link:focus-visible,.coach-link:hover{color:var(--primary);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.coach-bio .text-button{margin-left:6px;white-space:nowrap}.coach-avatar{position:relative;overflow:hidden;flex-shrink:0}.coach-avatar.large{width:80px;height:80px;font-size:1.5rem;flex-shrink:0}.coach-avatar .coach-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%}.coach-profile-head>.coach-avatar.large{width:104px;height:104px}.coach-own-profile{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.coach-own-profile>div{min-width:0}.coach-own-profile h3{overflow-wrap:anywhere}.coach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-gap:20px;gap:20px}.coach-card{display:flex;flex-direction:column;gap:14px}.coach-card-head,.coach-profile-head{display:flex;align-items:center;gap:14px;min-width:0}.coach-card-head h3,.coach-profile-head h3{margin:0;font-size:1.125rem;line-height:1.5;overflow-wrap:anywhere}.coach-specialty{display:inline-block;margin-top:4px;padding:2px 10px;border-radius:999px;background:var(--surface-soft);color:var(--primary);font-size:var(--text-caption);font-weight:500}.coach-card-bio{margin:0;color:var(--muted);font-size:var(--text-detail);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.coach-card-meta{margin:auto 0 0;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--text-caption)}.coach-card-actions{display:flex;gap:10px;flex-wrap:wrap}.coach-card-actions>button{flex:1 1;margin:0;min-width:120px}.coach-card-actions>.coach-contact-button{flex-basis:100%}.coach-profile-bio{margin:18px 0;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.modal.coach-profile{max-width:760px;padding:30px}.coach-profile-intro{padding:18px 20px;background:var(--surface-soft);border:1px solid var(--line);border-radius:16px}.coach-profile-intro .coach-profile-bio{margin:14px 0 0}.coach-profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:14px 0 20px}.coach-profile-detail{min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.coach-profile-detail h4,.coach-profile-section-heading h4{margin:0 0 8px;font-size:1rem}.coach-profile-detail .coach-profile-history{margin:0}.coach-profile-detail .coach-contact{gap:7px}.coach-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:22px}.coach-profile-stats>div{display:flex;flex-direction:column;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.coach-profile-stats strong{font-size:1.125rem}.coach-profile-stats span{font-size:var(--text-caption);color:var(--muted);line-height:1.5}.coach-profile-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}.coach-profile-section-heading h4{margin:0}.coach-profile-section-heading>span{color:var(--muted);font-size:var(--text-caption)}.coach-profile-upcoming-list{margin-top:8px}.coach-profile-more{margin:6px 0 0;color:var(--muted);font-size:var(--text-caption)}.coach-profile .upcoming-item{padding:12px 0;border-bottom:1px solid var(--line)}.coach-profile .upcoming-item:last-child{border-bottom:0}.coach-profile-lesson{flex:1 1;min-width:0}.coach-profile-lesson strong{overflow-wrap:anywhere}.coach-profile-lesson p{margin:0}@media(max-width:480px){.modal.coach-profile{padding:20px}.coach-profile-intro{padding:15px}.coach-profile-head>.coach-avatar.large{width:80px;height:80px}.coach-profile-details{gap:9px;margin-bottom:16px}.coach-profile-details,.coach-profile-stats{grid-template-columns:1fr}.coach-profile-stats>div{flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.coach-profile .upcoming-item{flex-wrap:wrap}}.class-filters{display:flex;flex-direction:column;gap:14px;min-width:0;margin-bottom:22px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.day-strip{display:flex;gap:8px;min-width:0;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.day-strip button{flex:0 0 auto;min-width:74px;display:flex;flex-direction:column;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);line-height:1.35}.day-strip button:hover:not(.selected){background:var(--surface-soft);border-color:var(--border-strong)}.day-strip em,.day-strip small,.day-strip span{font-size:.8125rem;color:var(--muted);font-style:normal}.day-strip strong{font-size:1.25rem;line-height:1.4}.day-strip em{margin-top:3px;color:var(--primary);font-weight:500}.day-strip button.selected{background:var(--primary);border-color:var(--primary);color:#fff}.day-strip button.selected em,.day-strip button.selected small,.day-strip button.selected span{color:var(--accent-soft)}.time-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.time-filters .field{flex:1 1 150px;min-width:0;margin:0}.time-filters .segmented{flex:0 0 auto}.time-filters .text-button{margin:0 0 10px}.filter-note{margin:0}.filter-note.error{color:#b42318}.empty .text-button{margin-left:6px}.lesson-card{--lesson-accent:#286b51;--lesson-accent-hover:#235844;border-color:#bdcec8;box-shadow:0 5px 18px #132d2312;transition:border-color .15s,box-shadow .15s}.lesson-card.group{--lesson-accent:#1a3e30;--lesson-accent-hover:#132d23;border-color:#b0beb9}.lesson-card:focus-within,.lesson-card:hover{border-color:var(--lesson-accent);box-shadow:0 8px 24px #132d2320}.lesson-card .lesson-visual{background:linear-gradient(135deg,#286b51,#267355);color:#fff}.lesson-card.group .lesson-visual{background:linear-gradient(135deg,#132d23,#1f4436);color:#fff}.lesson-card .lesson-visual>svg{opacity:.9;stroke-width:1.2}.lesson-card .type-tag{background:#fff;color:var(--lesson-accent);padding:6px 10px;box-shadow:0 2px 8px #00000014}.lesson-card .lesson-visual-bottom,.lesson-card .surface-label{color:#fff;font-weight:500}.lesson-card .lesson-body>.eyebrow{color:#3c4d46;font-weight:600}.lesson-card .capacity,.lesson-card .lesson-body>.hint,.lesson-card .lesson-time{color:#3c4d46}.lesson-card .progress{height:6px;background:#e2eae7}.lesson-card .progress i{background:var(--lesson-accent)}.lesson-card .lesson-footer{padding:14px 12px;background:#f6f8f7;border:1px solid #d3e1dc;border-radius:10px}.lesson-card .lesson-footer strong{color:var(--lesson-accent);font-weight:700}.lesson-card .lesson-footer .primary{background:var(--lesson-accent);font-weight:600;box-shadow:0 3px 8px #132d2326}.lesson-card .lesson-footer .primary:hover:not(:disabled){background:var(--lesson-accent-hover)}.lesson-card .lesson-footer .primary:disabled{background:#e7ebea;color:#5c7068;opacity:1;box-shadow:none}.lesson-card .deadline{color:#50615a}.deadline-countdown{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 10px;border:1px solid #d3e1dc;border-radius:8px;background:#f6f8f7;color:#1a3e30;line-height:1.6}.deadline-countdown svg{flex-shrink:0}.deadline-countdown time{display:inline-flex;flex-wrap:wrap;gap:4px 6px;max-width:100%;font-size:1rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.deadline-countdown time>span{white-space:nowrap}.deadline-countdown.urgent{background:#fff7ed;border-color:#fdba74;color:#9a3412}.deadline-note{margin-top:6px;font-size:var(--text-caption);line-height:1.7}@media(prefers-reduced-motion:reduce){.lesson-card{transition:none}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.sidebar-brand{min-width:0}.sidebar .brand{max-width:100%}.sidebar .site-logo{height:44px}.brand-mark{display:none;width:44px;height:44px}.sidebar .sidebar-bottom .primary .sidebar-login-label{color:inherit;font-size:inherit}.sidebar-toggle{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.sidebar-toggle:hover{background:var(--surface-soft);color:var(--primary)}.sidebar .nav-item{min-height:44px;position:relative}.sidebar{color-scheme:dark;--ink:#fff;--muted:#d3e3da;--primary:#c4f000;--primary-hover:#d4ff1f;--paper:transparent;--surface-soft:#ffffff14;--accent-soft:#ffffff1f;--line:#ffffff33;color:var(--ink)}.sidebar .brand-mark,.sidebar .site-logo{filter:brightness(0) invert(1)}.sidebar .nav-item:hover{color:var(--ink)}.sidebar .nav-item.active,.sidebar .nav-item.active:hover{color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.sidebar .nav-item b,.sidebar .primary{color:var(--navy)}.sidebar nav .workspace-label{flex-shrink:0;margin:28px 12px 12px}@media(min-width:801px){.sidebar{width:240px;padding:24px 18px 18px;transition:width .2s ease}.sidebar+.main-shell{margin-left:240px;width:calc(100% - 240px);transition:margin-left .2s ease,width .2s ease}.sidebar-collapsed{width:80px;padding-left:12px;padding-right:12px}.sidebar-collapsed+.main-shell{margin-left:80px;width:calc(100% - 80px)}.sidebar-collapsed .sidebar-header{flex-direction:column;gap:12px}.sidebar-collapsed .sidebar-toggle{order:-1}.sidebar-collapsed .site-logo{display:none}.sidebar-collapsed .brand-mark{display:block}.sidebar-collapsed .nav-item>span,.sidebar-collapsed .sidebar-bottom .sidebar-login-label,.sidebar-collapsed .sidebar-bottom>div,.sidebar-collapsed .sidebar-note,.sidebar-collapsed .workspace-label{display:none}.sidebar-collapsed nav{margin-top:24px}.sidebar-collapsed .nav-item{justify-content:center;padding:12px}.sidebar-collapsed .nav-item svg{flex-shrink:0}.sidebar-collapsed .nav-item b{position:absolute;top:2px;right:0;min-width:17px;padding:0 3px;font-size:.8125rem}.sidebar-collapsed .sidebar-bottom{flex-direction:column;margin-top:auto;gap:10px}.sidebar-collapsed .sidebar-bottom>button{width:44px;min-height:44px;padding:0;justify-content:center}}@media(max-width:800px){.sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:0 10px;gap:0 10px;padding:12px 16px}.sidebar-header{grid-column:1;grid-row:1;justify-content:flex-start;gap:10px}.sidebar-toggle{order:-1}.sidebar .site-logo{height:32px}.sidebar-bottom{grid-column:2;grid-row:1;position:static;margin:0;padding:0;border:0;gap:6px}.sidebar-bottom strong{max-width:70px}.sidebar-bottom span:not(.brand-symbol){font-size:.8125rem}.sidebar-bottom .primary{gap:6px;padding:8px 10px}.sidebar-bottom>.icon-button{width:36px;height:44px}.sidebar nav{display:none;grid-column:1/-1;grid-row:2;margin:0;overflow:auto;max-height:calc(100dvh - 100px);scrollbar-width:thin}.sidebar-open nav{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.sidebar .nav-item{width:100%;border-radius:10px;gap:12px;padding:12px;text-align:left}.sidebar .nav-item svg{width:20px;flex-shrink:0}.sidebar .sidebar-note,.sidebar .workspace-label{display:none}}.demo-guide{margin-bottom:28px;padding:20px;border:1px solid #d6e7e0;border-radius:16px;background:#f6f8f7;color:var(--navy)}.demo-guide-copy{display:flex;align-items:flex-start;gap:14px}.demo-tag{padding:5px 8px;border-radius:6px;background:#286b51;color:white;font-size:.75rem;font-weight:700;letter-spacing:1px;flex-shrink:0}.demo-guide p{margin:5px 0 0;color:var(--muted);font-size:.875rem;line-height:1.7}.demo-roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.demo-roles button[aria-pressed=true]{background:#e8f1ee;border-color:#b8d8cc;color:#235844;opacity:1}.demo-guide details{margin-top:14px;padding-top:12px;border-top:1px solid #d6e7e0;font-size:.875rem;line-height:1.8}.demo-guide summary{cursor:pointer;font-weight:600}.demo-guide ol{padding-left:22px;margin:10px 0}.demo-group-card{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:14px;border:1px solid #d6e7e0;border-radius:10px;background:#fff}.demo-group-card strong{font-size:.875rem}.demo-group-card .badge{margin-top:6px}.demo-group-card>button{flex-shrink:0}@media(max-width:600px){.demo-group-card{align-items:stretch;flex-direction:column}.demo-guide{padding:15px}.demo-guide-copy{flex-direction:column;gap:8px}.demo-roles{display:grid;grid-template-columns:1fr;width:100%}.demo-roles button{width:100%}}@media(prefers-reduced-motion:reduce){.sidebar,.sidebar+.main-shell{transition:none}}@media(max-width:480px){.class-filters{padding:12px}.time-filters .field{flex-basis:calc(50% - 6px)}.time-filters .field:first-child{flex-basis:100%}.time-filters .segmented{flex:1 1 100%}.time-filters .segmented button{flex:1 1}}.tutorial-trigger{white-space:nowrap;gap:7px}.tutorial-question{display:grid;place-items:center;width:19px;height:19px;border:1.5px solid;border-radius:50%;font-size:12px;font-weight:700;line-height:1}.tutorial-start{margin-left:auto;flex-shrink:0}.tutorial-overlay{position:fixed;inset:0;margin:0;padding:0;width:100vw;max-width:none;height:100dvh;max-height:none;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.tutorial-overlay::-webkit-backdrop{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.tutorial-overlay::backdrop{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.tutorial-overlay>.modal-close{display:none}.tutorial-shade{position:absolute;inset:0;background:#11261eb8}.tutorial-dimmer{inset:0}.tutorial-dimmer,.tutorial-spotlight{position:absolute;pointer-events:none}.tutorial-spotlight{border:2px solid #96c4b2;border-radius:12px}.tutorial-card{position:absolute;display:flex;flex-direction:column;width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:22px;border:1px solid #d6e7e0;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 16px 60px #11261e40}.tutorial-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-shrink:0}.tutorial-label{font-size:.8125rem;font-weight:700;color:var(--primary)}.tutorial-top .text-button{font-size:.875rem;color:var(--muted);padding:5px 0}.tutorial-copy{overflow-y:auto;min-height:0}.tutorial-copy .tutorial-count{font-size:.8125rem;color:var(--muted);margin-bottom:7px}.tutorial-copy h2{font-size:20px;line-height:1.5;margin-bottom:10px}.tutorial-copy>p:last-child{font-size:var(--text-detail);line-height:1.85;color:var(--muted)}.tutorial-progress{display:block;flex-shrink:0;width:100%;height:5px;margin:20px 0;background:#e8f1ee;border:0;border-radius:5px;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tutorial-progress::-webkit-progress-bar{background:#e8f1ee}.tutorial-progress::-webkit-progress-value{background:var(--primary);border-radius:5px}.tutorial-progress::-moz-progress-bar{background:var(--primary)}.tutorial-actions{display:flex;justify-content:space-between;gap:12px;flex-shrink:0}.tutorial-actions button{min-width:105px;min-height:44px}@media(max-width:1100px){.topbar{gap:12px}.breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{gap:8px;flex-shrink:0}.tutorial-trigger-label{display:none}.tutorial-trigger{width:36px;min-height:36px;padding:6px;flex-shrink:0}}@media(min-width:801px) and (max-width:1100px){.topbar-right .today{display:none}}@media(max-width:600px){.tutorial-start{margin-left:0}.tutorial-card{padding:18px}.tutorial-copy h2{font-size:19px}.tutorial-top{margin-bottom:12px}.tutorial-progress{margin:16px 0}}.attendance-controls{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.attendance-controls .field{margin:0;min-width:0;flex:1 1 320px}.attendance-controls .field:nth-child(2){flex:0 1 130px}.attendance-controls select{width:100%}.attendance-controls>button{margin-bottom:0;white-space:nowrap}.attendance-editor{margin-top:18px}.attendance-edit-table{min-width:980px}.attendance-edit-table input{min-width:180px}.attendance-preview-heading{margin-top:28px;flex-wrap:wrap}.attendance-preview{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#e7ebea;padding:20px}.attendance-paper{min-width:980px;padding:28px;background:#fff;color:#111;font-family:var(--font-ui);font-size:13px;line-height:1.5}.attendance-paper-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.attendance-paper-header .site-logo{height:40px}.attendance-paper-header h2{font-size:22px;margin-top:10px}.attendance-paper-header>span{font-size:14px}.attendance-class-info{display:flex;justify-content:space-between;gap:15px;margin-bottom:12px;flex-wrap:wrap}.attendance-class-info strong{max-width:65%;overflow-wrap:anywhere}.attendance-print-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.attendance-print-table td,.attendance-print-table th{border:1px solid #333;padding:8px;text-align:center;overflow-wrap:anywhere;color:#111;white-space:normal}.attendance-print-table thead th{background:#f3f6f5;font-weight:600}.attendance-print-table td{height:44px}.attendance-print-table .attendance-note,.attendance-print-table td:nth-child(2){text-align:left}.attendance-print-table small.printed-attendance{display:block;font-size:11px;color:#333;margin-top:4px}.attendance-print-table tr:last-child td{border-bottom:1px solid #333}.attendance-lesson-button{margin-top:12px;width:100%}.attendance-print-table tfoot td.attendance-footer{border:0;padding:0;text-align:left;height:auto}.attendance-print-table tfoot .coach-signature{margin-top:20px}.printed-member{display:inline-grid;place-items:center;width:17px;height:17px;border:1.5px solid #444;font-size:15px;font-weight:700;line-height:1}.printed-member.checked{background:#e7ebea}.coach-signature{width:250px;border:1px solid #333;margin-top:20px;text-align:center;page-break-inside:avoid;break-inside:avoid}.coach-signature>div{padding:6px}.coach-signature .coach-signature-space{height:45px;border-top:1px solid #333;border-bottom:1px solid #333}.attendance-print-note{font-size:11px;margin-top:12px;color:#444}.student-profile-form{max-width:980px}.student-profile-sections{display:grid;grid-gap:20px;gap:20px}.student-profile-section{min-width:0;padding:25px}.student-profile-section.compact{padding:0;border:0;background:none;box-shadow:none}.student-profile-sections.compact .student-profile-fields{grid-template-columns:1fr}.student-profile-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.student-profile-section-heading h2{font-size:1.25rem;margin-top:3px}.student-profile-section-heading p{font-size:.875rem;color:var(--muted);margin-top:4px}.student-profile-section-heading>.eyebrow{color:var(--primary)}.student-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 18px;gap:0 18px;margin:0}.student-profile-fields .field{margin-bottom:14px}.student-profile-line,.student-profile-meta,.student-profile-save{grid-column:1/-1}.student-profile-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin:4px 0 16px}.student-profile-meta>.field,.student-profile-meta>.member-toggle,.student-profile-meta>p{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0;min-height:84px;margin:0;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#fdfdfd}.student-profile-meta>p>span{font-size:.875rem;color:var(--muted)}.student-profile-meta>p>strong{font-size:.9375rem}.student-profile-meta .field>small,.student-profile-meta>p>small{font-size:.8125rem;color:var(--muted)}.student-profile-meta .member-toggle{flex-direction:row}.student-profile-meta .member-toggle input{width:18px;height:18px}.student-profile-meta>.field{margin:0}.student-profile-meta>.field select{width:100%}.student-profile-save{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.student-profile-save .profile-saved{margin:0}.student-profile-history-count{flex-shrink:0;color:var(--muted);font-size:.875rem}.attendance-history-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.attendance-history-row:last-child{border-bottom:0}.attendance-history-row p{font-size:.875rem;color:var(--muted)}.student-profile-empty{padding:20px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center}.badge.attendance-present{background:#dcfce7;color:#166534}.badge.attendance-absent{background:#fee2e2;color:#991b1b}.badge.attendance-leave{background:#fef3c7;color:#92400e}.student-profile-tabs{display:flex;gap:5px;max-width:980px;margin-bottom:18px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:thin}.student-profile-tabs button{flex:0 0 auto;min-height:46px;padding:8px 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:500;white-space:nowrap}.student-profile-tabs button:hover{color:var(--primary);background:var(--surface-soft)}.student-profile-tabs button.selected{border-bottom-color:var(--primary);color:var(--primary);font-weight:700}.student-profile-tabs button:focus-visible{outline-offset:-3px}.student-profile-section[hidden]{display:none!important}@media(max-width:600px){.attendance-controls{padding:16px}.attendance-controls .field{flex-basis:100%}.attendance-controls>button{width:100%}.attendance-editor .section-heading{flex-direction:column;align-items:stretch}.attendance-preview{padding:10px}.student-profile-section{padding:18px}.student-profile-fields,.student-profile-meta{grid-template-columns:1fr}.student-profile-line,.student-profile-meta,.student-profile-save{grid-column:auto}.student-profile-history-count{align-self:flex-start}.attendance-history-row{align-items:flex-start}.attendance-history-row>div{min-width:0}.attendance-history-row strong{overflow-wrap:anywhere}}@media print{@page{size:A4 landscape;margin:12mm}body:has(.attendance-root){background:#fff!important;color:#000!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}body:has(.attendance-root) .sidebar,body:has(.attendance-root) .topbar,body:has(.attendance-root) dialog,body:has(.attendance-root) main>:not(.attendance-root){display:none!important}body:has(.attendance-root) .app-shell{display:block!important;min-height:0!important}body:has(.attendance-root) .main-shell{width:100%!important;margin:0!important}body:has(.attendance-root) main{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}.attendance-screen{display:none!important}.attendance-preview{padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;overflow:visible!important}.attendance-paper{width:100%!important;min-width:0!important;padding:0!important;font-size:10pt}.attendance-paper-header{margin-bottom:5mm}.attendance-paper-header h2{font-size:16pt}.attendance-class-info{margin-bottom:3mm}.attendance-print-table{font-size:9pt}.attendance-print-table td,.attendance-print-table th{padding:2mm}.attendance-print-table td{height:11mm}.attendance-print-table thead{display:table-header-group}.attendance-print-table tr{page-break-inside:avoid;break-inside:avoid}.attendance-print-table tfoot{display:table-footer-group}.attendance-print-table tfoot td.attendance-footer{height:auto;padding:0;border:0}.coach-signature{margin-top:5mm;width:65mm;font-size:9pt}.coach-signature .coach-signature-space{height:12mm}.attendance-print-note{font-size:8pt}}.type-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.type-option{--lesson-accent:#286b51;display:flex;flex-direction:column;padding:0;margin:0;text-align:left;color:var(--ink);background:#fff;border:1px solid #bdcec8;border-radius:var(--radius);overflow:hidden;box-shadow:0 5px 18px #132d2312;transition:border-color .15s,box-shadow .15s,transform .15s}.type-option.group{--lesson-accent:#1a3e30;border-color:#b0beb9}.type-option:hover{border-color:var(--lesson-accent);box-shadow:0 10px 28px #132d2324;transform:translateY(-2px)}.type-option-visual{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:150px;padding:20px 24px;background:linear-gradient(135deg,#286b51,#267355);color:#fff}.type-option.group .type-option-visual{background:linear-gradient(135deg,#132d23,#1f4436)}.type-option-visual .type-tag{align-self:flex-start;background:#fff;color:var(--lesson-accent);padding:6px 10px;box-shadow:0 2px 8px #00000014}.type-option-visual svg{transform:rotate(-20deg);opacity:.9;stroke-width:1.2}.type-option[class*=level-]{--lesson-accent:var(--level-ink);border-color:var(--level-color)}.type-option[class*=level-] .type-option-visual{background:linear-gradient(135deg,var(--level-color),var(--level-ink))}.type-option.selected{border-color:var(--lesson-accent);box-shadow:0 0 0 3px var(--level-soft),0 10px 28px #132d2324}.group-level-classes{border-top:5px solid var(--level-color)}.group-level-classes .section-heading{margin-bottom:4px}.group-level-body>.hint{margin:0 0 12px}.group-level-classes .month-calendar{box-shadow:none}.type-option-body{display:flex;flex-direction:column;gap:6px;padding:22px 24px 6px}.type-option-body strong{font-size:1.5rem;line-height:1.4;color:var(--lesson-accent)}.type-option-body span{font-size:var(--text-detail);color:#3c4d46}.type-option-body small{font-size:var(--text-caption);color:var(--muted)}.type-option-go{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 24px 24px;min-height:44px;border-radius:9px;background:var(--lesson-accent);color:#fff;font-weight:600}@media(max-width:600px){.type-choice{grid-template-columns:1fr;gap:16px}.type-option-visual{min-height:110px;padding:16px 18px}.type-option-visual svg{width:56px;height:56px}.type-option-body{padding:18px 18px 4px}.type-option-body strong{font-size:1.25rem}.type-option-go{margin:14px 18px 18px}}@media(prefers-reduced-motion:reduce){.type-option,.type-option:hover{transition:none;transform:none}}.attendance-controls{padding:22px;border-color:#e0e9e6;background:linear-gradient(120deg,#fff,#fbfcfc)}.attendance-controls .field:first-child{flex:2 1 420px}.attendance-controls .field:nth-child(2){flex:0 0 130px}.attendance-controls .field label{font-weight:600;color:var(--ink)}.attendance-controls input,.attendance-controls select{min-height:46px}.attendance-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0 0 20px}.attendance-count{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff}.attendance-count span{min-width:0;color:var(--muted);font-size:.875rem;line-height:1.5}.attendance-count strong{flex-shrink:0;font-size:1.25rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.attendance-count-total{border-color:#d6e7e0;background:#f6f8f7;color:#1a3e30}.attendance-count.present{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.attendance-count.absent{border-color:#fecaca;background:#fef2f2;color:#991b1b}.attendance-count.leave{border-color:#fde68a;background:#fffbeb;color:#92400e}.attendance-count.unmarked{border-color:#d3d9d7;background:#f9fbfa;color:#50615a}.attendance-dirty{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:11px 14px;border:1px solid #fdba74;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:.9375rem}.attendance-dirty strong{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#ffedd5;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.attendance-edit-table{border-collapse:separate;border-spacing:0}.attendance-edit-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#f9fbfa}.attendance-edit-table thead th:first-child{left:0;z-index:3}.attendance-edit-table tbody tr:nth-child(2n){background:#fbfcfc}.attendance-edit-table tbody td{vertical-align:top}.attendance-edit-table tbody td:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 var(--line)}.attendance-edit-table tbody tr:nth-child(2n) td:first-child{background:#fbfcfc}.attendance-edit-table input,.attendance-edit-table select{min-height:42px}@media(max-width:900px){.attendance-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.attendance-controls{padding:16px}.attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.attendance-count{padding:11px 12px}.attendance-count-total{grid-column:1/-1}.attendance-dirty{align-items:flex-start;font-size:.875rem}.attendance-edit-table tbody td:first-child,.attendance-edit-table thead th:first-child{position:static;box-shadow:none}}.type-choice-note{margin:0 0 16px}.coach-card-section h4{margin:0 0 4px;font-size:var(--text-caption);font-weight:600;color:var(--ink)}.coach-card-history{margin:0;font-size:var(--text-detail);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.coach-card-history,.coach-profile-history{color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.coach-contact{display:flex;flex-wrap:wrap;gap:8px}.coach-contact a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--navy);font-size:var(--text-caption);font-weight:500;text-decoration:none;overflow-wrap:anywhere}.coach-contact a:hover{border-color:var(--border-strong)}.coach-contact-empty{margin:0;color:var(--muted);font-size:var(--text-caption)}.coach-contact button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--navy);font-size:var(--text-caption);font-weight:500;overflow-wrap:anywhere}.coach-contact button:hover{border-color:var(--border-strong)}.step-progress{display:flex;list-style:none;margin:0 0 24px;padding:0;counter-reset:none}.step-progress li{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;min-width:0;color:var(--muted);font-size:var(--text-caption)}.step-progress li:not(:first-child):before{content:"";position:absolute;top:15px;right:calc(50% + 20px);left:calc(-50% + 20px);height:2px;border-radius:2px;background:var(--line);transition:background .3s}.step-progress li.current:before,.step-progress li.done:before{background:var(--primary)}.step-dot{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:2px solid var(--line);background:#fff;font-weight:600;transition:background .3s,border-color .3s,color .3s,transform .3s}.step-progress li.done .step-dot{background:var(--primary);border-color:var(--primary);color:#fff}.step-progress li.current .step-dot{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 5px var(--accent-soft);transform:scale(1.08)}.step-progress li.current .step-name{color:var(--ink);font-weight:600}.step-name{text-align:center;overflow-wrap:anywhere}.step-panel.forward{animation:step-in-forward .32s ease-out}.step-panel.back{animation:step-in-back .32s ease-out}@keyframes step-in-forward{0%{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}@keyframes step-in-back{0%{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}.type-option:active{transform:scale(.98)}.type-option-go svg{transition:transform .15s}.type-option.picked .type-option-go svg,.type-option:hover .type-option-go svg{transform:translateX(4px)}.type-option.picked{border-color:var(--lesson-accent);box-shadow:0 0 0 3px var(--accent-soft),0 10px 28px #132d2324;transform:scale(.99)}.type-option-visual{position:relative}.type-option-check{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--lesson-accent);box-shadow:0 2px 8px #00000026;animation:pick-pop .22s ease-out}@keyframes pick-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.step-viewport{overflow-x:clip;margin:-8px;padding:8px}@media(max-width:600px){.step-progress{margin-bottom:18px}.step-dot{width:28px;height:28px;font-size:.875rem}.step-progress li:not(:first-child):before{top:13px;right:calc(50% + 18px);left:calc(-50% + 18px)}}@media(prefers-reduced-motion:reduce){.step-panel.back,.step-panel.forward,.type-option-check{animation:none}.step-dot,.type-option-go svg{transition:none}.type-option.picked,.type-option:active{transform:none}}.step-jump{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:0;background:none;color:inherit;font-size:inherit;border-radius:10px}.step-jump:hover .step-dot{transform:scale(1.1);box-shadow:0 0 0 4px var(--accent-soft)}.step-jump:hover .step-name{color:var(--primary);text-decoration:underline}.step-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 20px}.step-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:5px 18px 5px 5px;font-size:var(--text-control);font-weight:500;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 2px 8px #132d230d;transition:border-color .15s,box-shadow .15s,background .15s}.step-back>svg{flex-shrink:0;width:34px;height:34px;padding:8px;border-radius:50%;background:var(--surface-soft);color:var(--primary);transition:transform .15s,background .15s}.step-back:hover{border-color:var(--border-strong);box-shadow:0 4px 14px #132d231a}.step-back:hover>svg{transform:translateX(-3px);background:var(--accent-soft)}.step-back:active{background:var(--surface-soft)}@media(max-width:600px){.step-nav{margin-bottom:16px}.step-back{padding-right:14px}}@media(prefers-reduced-motion:reduce){.step-back,.step-back>svg{transition:none}.step-back:hover>svg,.step-jump:hover .step-dot{transform:none}}.flow-classes{margin-top:36px}.month-calendar{--cal-head:#267355;--cal-date:#557467;border:1px solid #d3e1dc;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 5px 18px #132d230f}.month-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 8px;background:var(--cal-head);color:#fff}.month-calendar-head h3{display:flex;align-items:center;gap:10px;margin:0;font-size:1.5rem;font-weight:700;line-height:1.4}.month-calendar-nav{display:flex;align-items:center;gap:6px}.month-calendar-nav strong{font-size:1.625rem;font-weight:700;min-width:4ch;text-align:center}.month-calendar-nav button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #ffffff59;border-radius:50%;background:#ffffff1f;color:#fff}.month-calendar-nav button:hover{background:#ffffff40}.month-calendar-nav button:focus-visible{outline-color:#fff}.month-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-calendar-row{display:contents}.month-calendar-weekdays>div{padding:10px 4px 14px;background:var(--cal-head);color:#fff;font-weight:700;text-align:center;font-size:var(--text-detail)}.weekday-short{display:none}.month-calendar-cell{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:128px;padding:6px;border-right:1px solid #e2eae7;border-bottom:1px solid #e2eae7}.month-calendar-cell:nth-child(7){border-right:0}.month-calendar-row:last-child .month-calendar-cell{border-bottom:0}.month-calendar-cell.weekend{background:#f9fbfa}.month-calendar-cell.outside{background:#fcfdfd}.month-calendar-cell.today{background:var(--accent-soft)}.month-calendar-date{align-self:flex-end;padding:0 4px;font-size:1.375rem;font-weight:700;line-height:1.3;color:var(--cal-date)}.month-calendar-cell.today .month-calendar-date{color:var(--primary)}.cal-chip{--chip-accent:#286b51;display:flex;gap:4px;width:100%;margin:0;padding:3px 6px;border:1px solid #d6e7e0;border-left:3px solid var(--chip-accent);border-radius:6px;background:#fff;color:var(--navy);font-size:.8125rem;line-height:1.45;text-align:left;overflow-wrap:anywhere}.cal-chip.group{--chip-accent:#1a3e30;border-color:#d1dad7;border-left-color:var(--chip-accent)}.cal-chip:hover{border-color:var(--chip-accent);box-shadow:0 2px 6px #132d231f}.cal-chip-time{flex-shrink:0;font-weight:700;color:var(--chip-accent)}.cal-chip.closed{background:#f3f6f5;border-left-color:#9fada8}.cal-chip.closed,.cal-chip.closed .cal-chip-time{color:var(--muted)}.month-calendar-note{margin:0;padding:10px 16px;border-top:1px solid #e2eae7}.view-toggle{flex:0 0 auto}.calendar-lesson .lesson-card{box-shadow:none}.lesson-card.custom-color .lesson-visual{background:linear-gradient(135deg,var(--lesson-deep),var(--lesson-accent))}.class-color-field{min-width:0;margin:0 0 14px;padding:0;border:0}.class-color-field legend{margin-bottom:8px;font-size:.875rem;font-weight:600}.class-color-options{display:flex;flex-wrap:wrap;gap:8px}.class-color-option{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.875rem;cursor:pointer}.class-color-option input{margin:0;accent-color:var(--primary)}.class-color-option:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px var(--accent-soft)}.class-color-swatch{width:16px;height:16px;flex-shrink:0;border-radius:50%}.class-color-option.default .class-color-swatch{background:linear-gradient(135deg,#286b51 50%,#1a3e30 0)}.class-color-option.custom{cursor:default}.class-color-option.custom label{cursor:pointer}.class-color-option .class-color-picker{width:28px;min-width:28px;height:22px;min-height:0;padding:0;border:0;border-radius:6px;background:none;box-shadow:none;cursor:pointer}.class-color-warning{display:block;margin-bottom:4px;color:#b91c1c}.class-color-dot{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%;background:var(--chip-accent);vertical-align:middle}@media(max-width:800px){.month-calendar-cell{min-height:94px;padding:4px}.cal-chip{padding:2px 4px}}@media(max-width:600px){.month-calendar-head{padding:12px 12px 6px}.month-calendar-head h3{font-size:1.125rem;gap:6px}.month-calendar-head h3 svg{width:20px;height:20px}.month-calendar-nav strong{font-size:1.125rem}.month-calendar-nav button{width:32px;height:32px}.weekday-long{display:none}.weekday-short{display:inline}.month-calendar-weekdays>div{padding:6px 2px 10px;font-size:.875rem}.month-calendar-cell{min-height:68px;padding:3px 2px;gap:3px}.month-calendar-date{font-size:1rem;padding:0 2px}.cal-chip{justify-content:center;padding:2px 1px;font-size:.8125rem;border-left-width:2px}.cal-chip-coach,.cal-chip-title{display:none}}.cal-chip-title{text-align:left}.cal-chip-coach{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-calendar-note.empty{color:var(--ink);font-weight:500;text-align:center}.schedule-booking-coach{margin:20px 0 10px;font-weight:600}.schedule-booking-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-booking-status strong{margin-left:auto}.schedule-booking-modal .modal-actions{flex-wrap:wrap}.package-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;text-align:center}.package-empty-icon{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:var(--surface-soft);color:var(--primary)}.package-empty p{max-width:440px}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}.package-card{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;overflow-wrap:anywhere;box-shadow:0 4px 20px #132d2308;transition:box-shadow .2s,border-color .2s}.package-card:hover{border-color:var(--border-strong);box-shadow:0 10px 30px #132d2314}.package-cover{position:relative;isolation:isolate;width:100%;aspect-ratio:3/2;background:var(--navy);overflow:hidden}.package-cover img{object-fit:cover}.package-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07120e30,transparent 45%,#07120e18);pointer-events:none}.package-cover>.badge{position:absolute;top:16px;right:16px;z-index:1;color:#fff;background:#0e1a16d9;border:1px solid #ffffff40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0002}.package-card-body{display:flex;flex:1 1;flex-direction:column;align-items:flex-start;gap:14px;width:100%;padding:24px}.package-card-body h2{font-size:1.25rem;line-height:1.6}.package-description{white-space:pre-wrap;overflow-wrap:anywhere}.package-facts{display:flex;flex-wrap:wrap;gap:16px;margin:auto 0 0;padding-top:12px;width:100%}.package-facts>div{flex:1 1;min-width:100px}.package-facts dt{color:var(--muted);font-size:.875rem}.package-facts dd{margin:0;font-weight:600}.package-price{font-size:1.75rem;color:var(--primary)}.package-catalog-note{margin-bottom:20px}.package-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.package-search{display:flex;flex-direction:column;gap:6px;max-width:360px;width:100%}.package-table td:first-child{min-width:180px;max-width:360px}.package-card-body>.primary{margin-top:4px}.my-packages,.package-orders{margin-bottom:24px}.my-packages>.hint{margin:-8px 0 12px}.credit-list{list-style:none;margin:0;padding:0}.credit-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.credit-list li:last-child{border-bottom:0}.credit-list li>div{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.credit-list small{color:var(--muted);font-size:.875rem}.credit-count,.credit-list li.finished{color:var(--muted)}.credit-count{white-space:nowrap;font-size:.875rem}.credit-count b{font-size:1.375rem;color:var(--primary);font-weight:600}.credit-pay{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px 18px;border:1px solid var(--primary);border-radius:12px;background:var(--accent-soft)}.credit-pay>div{display:flex;flex-direction:column;min-width:0}.credit-pay span{overflow-wrap:anywhere}.credit-divider,.credit-pay span{font-size:.875rem;color:var(--muted)}.credit-divider{text-align:center;margin-top:18px}.credit-note{margin-top:18px}@media(max-width:1100px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.package-grid{grid-template-columns:minmax(0,1fr)}.credit-pay{flex-direction:column;align-items:stretch}}.flow-coach{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.flow-coach>div{display:flex;flex-direction:column;flex:1 1;min-width:0;line-height:1.4}.flow-coach small{color:var(--muted);font-size:var(--text-caption)}.flow-coach .secondary{margin:0}.level-badge.beginner,.level-beginner,.level-pill.beginner{--level-color:var(--level-beginner);--level-soft:#fdecec;--level-ink:#9f1d1d}.level-badge.intermediate,.level-intermediate,.level-pill.intermediate{--level-color:var(--level-intermediate);--level-soft:#fff0e2;--level-ink:#9a3d0c}.level-advanced,.level-badge.advanced,.level-pill.advanced{--level-color:var(--level-advanced);--level-soft:#e5f6ea;--level-ink:#17643a}.level-badge{--level-color:#9fada8;--level-soft:var(--surface-soft);--level-ink:var(--muted);display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;background:var(--level-soft);color:var(--level-ink);font-size:.875rem;font-weight:600;line-height:1.6;white-space:nowrap;vertical-align:middle}.level-badge i,.level-pill i{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:var(--level-color)}.level-badge.unrated{background:transparent;border:1px dashed #c4cdca;color:var(--muted);font-weight:500}.lesson-level{margin:2px 0 6px}.admin-user-table .level-badge,.booking-info .level-badge{margin-left:6px}.level-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:10px 16px;border-top:1px solid #e2eae7;color:var(--muted);font-size:var(--text-caption)}.cal-chip.group[class*=level-]:not(.closed){border-left-color:var(--level-color);border-left-width:4px}.printed-level{display:block;font-size:.75rem;color:#3c4d46}.pagination{justify-content:space-between;gap:12px 20px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}.pagination,.pagination-controls{display:flex;align-items:center;flex-wrap:wrap}.pagination-controls{gap:8px}.pagination-pages{display:flex;gap:4px;margin:0;padding:0;list-style:none}.pagination-pages li{display:grid;place-items:center;min-width:34px;height:34px}.pagination-pages button{min-width:34px;height:34px;padding:0 6px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:.875rem}.pagination-pages button:hover{background:var(--surface-soft)}.pagination-pages button.selected{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-status{display:none}@media(max-width:600px){.pagination{justify-content:center;text-align:center}.pagination-pages{display:none}.pagination-status{display:inline}}.coach-slider{container-type:inline-size}.coach-slider-nav{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.coach-slider-btn{width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}.coach-slider-btn:hover:not(:disabled){background:var(--surface-soft);border-color:var(--border-strong)}.coach-slider-btn:disabled{opacity:.4;cursor:default}.coach-slider-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px 2px 8px;margin:0 -2px;scroll-padding-inline:2px}.coach-slider-track::-webkit-scrollbar{display:none}.coach-slider-track>.coach-card{flex:0 0 100%;min-width:0;scroll-snap-align:start}@container (min-width:600px){.coach-slider-track>.coach-card{flex-basis:calc((100% - 20px)/2)}}@container (min-width:920px){.coach-slider-track>.coach-card{flex-basis:calc((100% - 40px)/3)}}@media(prefers-reduced-motion:reduce){.coach-slider-track{scroll-behavior:auto}}.package-recipient{border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-width:0}.package-recipient legend{padding:0 6px;font-weight:500}.package-recipient>label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.package-recipient-search{display:flex;flex-direction:column;gap:10px;margin-top:6px}.package-recipient-query{display:flex;gap:8px}.package-recipient-query input{flex:1 1;min-width:0}.package-recipient-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.package-recipient-results button{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:inherit;font:inherit;cursor:pointer}.package-recipient-results button:focus-visible,.package-recipient-results button:hover{border-color:currentColor}.package-recipient-chosen,.package-recipient-results small{font-size:.875rem;color:var(--muted)}.package-recipient-chosen{margin:0;overflow-wrap:anywhere}.student-profile-email{overflow-wrap:anywhere}.student-profile-email strong{color:inherit}.student-profile-packages{margin:0}.student-profile-form.compact .student-profile-tabs{max-width:none;margin-bottom:16px}.student-profile-form.compact .student-profile-email{margin-bottom:10px}@media(min-width:900px){.modal.student-profile-modal{max-width:720px}.student-profile-modal .student-profile-sections.compact .student-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.student-profile-modal .student-profile-line{grid-column:auto}.student-profile-modal .student-profile-meta{margin:2px 0 14px}.student-profile-modal .student-profile-meta>.field,.student-profile-modal .student-profile-meta>.member-toggle,.student-profile-modal .student-profile-meta>p{min-height:0;padding:11px 14px}}.student-profile-email{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 14px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);font-size:.9375rem;color:var(--muted)}.student-profile-email strong{color:var(--ink);font-weight:500}.student-profile-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:11px 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);font-size:.9375rem;color:var(--muted)}.student-profile-summary b{color:var(--ink);font-weight:600;white-space:nowrap}.package-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:14px}.package-summary>div{display:flex;flex-direction:column;gap:2px;padding:12px 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.package-summary span{font-size:.875rem;color:var(--muted)}.package-summary strong{font-size:1.5rem;font-weight:600;color:var(--primary)}.package-boxes{list-style:none;margin:0;padding:0}.package-box,.package-boxes{display:flex;flex-direction:column;gap:12px}.package-box{padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#fdfdfd}.package-box.finished{opacity:.72}.package-box-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.package-box-head strong{font-size:1rem;overflow-wrap:anywhere}.package-box-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 16px;gap:10px 16px;margin:0}.package-box-facts>div{display:flex;flex-direction:column;gap:1px;min-width:0}.package-box-facts dt{font-size:.8125rem;color:var(--muted)}.package-box-facts dd{margin:0;font-size:.9375rem;overflow-wrap:anywhere}.package-box-credit{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--line)}.package-box-credit progress{width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:var(--line);accent-color:var(--primary)}.package-box-credit progress::-webkit-progress-bar{background:var(--line)}.package-box-credit progress::-webkit-progress-value{background:var(--primary);border-radius:99px}.student-profile-meta .member-field{justify-content:flex-start;gap:8px}.student-profile-meta .member-field>span{font-weight:500}.student-profile-meta .member-toggle{display:flex;align-items:center;gap:10px;margin:0;font-weight:400}.student-profile-form.compact .attendance-history-row{padding:12px 15px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px}@media(min-width:900px){.student-profile-form.compact .student-profile-sections{min-height:470px}}@media(max-width:600px){.package-box-facts{grid-template-columns:1fr}}.student-profile-group-title{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:8px 0 10px;font-size:.9375rem;font-weight:600;color:var(--primary)}.student-profile-group-title:after{content:"";flex:1 1;height:1px;background:var(--line)}.student-profile-fields>.student-profile-group-title:first-child,.student-profile-packages>.student-profile-group-title:first-child,.student-profile-section>.student-profile-group-title:first-child{margin-top:0}@media(min-width:900px){.student-profile-modal .student-profile-fields .field{margin-bottom:10px}.student-profile-form.compact .student-profile-sections{min-height:0}}.student-profile-group-title{margin:4px 0 8px}@media(min-width:900px){.modal.student-profile-modal{padding-top:22px;padding-bottom:22px}.student-profile-modal .modal-head{margin-bottom:12px}}.student-profile-history-group+.student-profile-history-group{margin-top:16px}.attendance-history-row .history-payment{margin-top:4px;font-size:.875rem;color:var(--muted)}.attendance-history-row .history-payment span{margin-right:6px;font-weight:500;color:var(--ink)}.attendance-history-row .history-payment.credit{color:var(--primary)}.package-box-credit-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.package-box-credit-row .credit-count small{font-size:.8125rem;color:var(--muted)}.package-box-used{font-size:.875rem;color:var(--muted)}.history-credit-usage{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;padding:12px 15px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.history-credit-usage-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.9375rem;color:var(--muted)}.history-credit-usage-row b{color:var(--ink);font-weight:600;white-space:nowrap}.history-credit-bar progress,.history-credit-usage progress{width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:var(--line);accent-color:var(--primary)}.history-credit-bar progress::-webkit-progress-bar,.history-credit-usage progress::-webkit-progress-bar{background:var(--line)}.history-credit-bar progress::-webkit-progress-value,.history-credit-usage progress::-webkit-progress-value{background:var(--primary);border-radius:99px}.history-credit-bar{display:flex;align-items:center;gap:10px;margin-top:8px;max-width:360px}.history-credit-bar progress{flex:1 1;min-width:80px}.history-credit-bar span{font-size:.8125rem;color:var(--muted);white-space:nowrap}.package-box-uses{border-top:1px solid var(--line);padding-top:10px}.package-box-uses>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-size:.9375rem;font-weight:500;color:var(--primary)}.package-box-uses>summary::-webkit-details-marker{display:none}.package-box-uses>summary:before{content:"";width:8px;height:8px;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);transition:transform .15s}.package-box-uses[open]>summary:before{transform:rotate(45deg)}.package-box-uses>summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}.package-uses{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.package-uses li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.package-uses li>div{display:flex;flex-direction:column;gap:2px;min-width:0}.package-uses strong{font-size:.9375rem;overflow-wrap:anywhere}.package-uses small{font-size:.8125rem;color:var(--muted)}.package-box-uses-empty{margin:0;padding-top:10px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.lesson-master{margin:0 0 6px;font-size:var(--text-caption);font-weight:600;color:#6d28d9}.check-field{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin:12px 0;cursor:pointer}.check-field input{width:18px;height:18px;margin-top:3px;flex-shrink:0}.check-field span{display:flex;flex-direction:column;gap:2px}.check-field small{color:var(--muted);font-size:var(--text-caption)}.admin-coach-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.badge.master{background:#f3e8ff;color:#6b21a8;border-color:#e9d5ff}.badge.general{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.commission-rates{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:16px 0}.commission-rates h2{font-size:1.0625rem;margin:0 0 4px}.commission-rates p{margin:0;font-size:var(--text-detail)}.commission-row td:first-child{box-shadow:inset 3px 0 #a855f7}.coach-reports h2{font-size:1.125rem;margin:0 0 12px}.student-coach-reports,.student-coach-requests{margin-top:20px}.coach-report{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-top:1px solid var(--line)}.admin-coach-reports .coach-report{padding:18px 20px;border:1px solid var(--line);margin-bottom:12px}.coach-report-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.coach-report>small{color:var(--muted);font-size:var(--text-caption)}.coach-report-message{margin:4px 0}.coach-report-message,.coach-report-reply{white-space:pre-wrap;overflow-wrap:anywhere}.coach-report-reply{margin:0;padding:10px 12px;border-radius:10px;background:var(--surface-soft);font-size:var(--text-detail)}.coach-report-reply b{display:block;font-size:var(--text-caption);color:var(--muted)}.coach-report-form{display:grid;grid-template-columns:minmax(160px,220px) 1fr auto;grid-gap:12px;gap:12px;align-items:end;margin-top:6px}.coach-report-form .field{margin:0}@media(max-width:760px){.coach-report-form{grid-template-columns:1fr}}.report-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:var(--text-caption);font-weight:600;white-space:nowrap}.report-status.new{background:#fef3c7;color:#92400e}.report-status.in_progress{background:#e8f1ee;color:#235844}.report-status.resolved{background:#dcfce7;color:#166534}.modal.create-lesson-modal{max-width:1120px}.create-lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:0 32px;gap:0 32px;align-items:start}.create-lesson-column{min-width:0}.create-lesson-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.create-lesson-column+.create-lesson-column{border-left:1px solid var(--line);padding-left:32px}.create-lesson-submit{display:flex;width:-moz-fit-content;width:fit-content;min-width:140px;margin:16px 0 0 auto}@media(max-width:900px){.create-lesson-layout{grid-template-columns:1fr}.create-lesson-column+.create-lesson-column{border-left:0;padding-left:0}}@media(max-width:480px){.create-lesson-modal .form-grid{grid-template-columns:1fr}}.app-shell.site-mode{display:block}.app-shell.site-mode .main-shell{margin:0;width:100%}.site{--site-width:1200px;--site-radius:24px;--site-shadow:0 18px 50px #132d231f;background:#fff;color:var(--ink);min-height:100vh;display:flex;flex-direction:column}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-header-inner{max-width:var(--site-width);margin:auto;display:flex;align-items:center;gap:20px;padding:12px 24px}.site-brand{border:0;background:none;padding:0;color:var(--ink);flex-shrink:0}.site-logo{display:block;width:auto;height:50px}.site-nav{display:flex;gap:4px}.site-nav button{border:0;background:none;padding:8px 12px;border-radius:999px;color:var(--muted);font-weight:500;font-size:.9375rem;white-space:nowrap}.site-nav button:hover{background:var(--surface-soft);color:var(--ink)}.site-nav button[aria-current=page]{color:var(--primary);background:var(--surface-soft)}.site-search{position:relative;flex:1 1 200px;max-width:280px;margin-left:auto}.site-search input{width:100%;padding:9px 14px 9px 38px;border:1px solid var(--line);border-radius:999px;background:#f9fbfa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2352627a' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Ccircle cx='10' cy='10' r='6'/%3E%3Cpath d='m15 15 6 6'/%3E%3C/svg%3E") no-repeat 13px;font-size:.9375rem}.site-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:300px;max-height:420px;overflow:auto;padding:10px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--site-shadow);z-index:50}.site-search-results h2{font-size:.75rem;letter-spacing:.06em;color:var(--muted);margin:8px 8px 4px;text-transform:uppercase}.site-search-results button{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:0;background:none;padding:8px 10px;border-radius:10px;text-align:left;color:var(--ink)}.site-search-results button:focus-visible,.site-search-results button:hover{background:var(--surface-soft)}.site-search-results small{color:var(--muted);font-size:var(--text-caption)}.site-search-results p{padding:8px 10px;color:var(--muted);font-size:var(--text-detail)}.site-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.site-header-actions .primary,.site-header-actions .secondary{border-radius:999px;padding:8px 16px}main.site-main{flex:1 1;width:100%;max-width:none;margin:0;padding:0;overflow-x:clip}.site-main>section{max-width:var(--site-width);margin:0 auto;padding:0 24px}.site-main>.site-hero{position:relative;isolation:isolate;max-width:none;min-height:min(720px,90vh);display:flex;align-items:flex-end;padding:96px max(24px,calc((100vw - var(--site-width)) / 2 + 24px)) 48px;overflow:hidden;color:#fff;background:#0b1f17}.site-hero-image{object-fit:cover;object-position:60% 40%;z-index:-2}.site-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#08150fed,#08150fd1 45%,#08150f66 72%,#08150f26),linear-gradient(0deg,#08150fb3,transparent 45%)}.site-hero-inner{width:100%;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:48px;gap:48px;align-items:end}.site-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#fff;border:1px solid var(--border-strong);color:var(--primary);font-size:var(--text-caption);font-weight:600;box-shadow:0 4px 14px #26735514}.site-pill span{width:8px;height:8px;border-radius:50%;background:#c4f000;box-shadow:0 0 0 3px #c4f00033}.site-hero .site-pill{background:#ffffff1f;border-color:#ffffff47;color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.site-hero h1{font-size:4.5rem;line-height:1.05;font-weight:700;letter-spacing:-.02em;margin-top:20px;color:#fff;text-wrap:balance}.site-hero-lead{font-size:1.5rem;font-weight:600;color:#c4f000;margin-top:12px}.site-hero-text>p:not(.site-pill):not(.site-hero-lead){margin-top:14px;color:#e7ebea;font-size:var(--text-body);max-width:540px}.site-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.site-cta .primary,.site-hero-actions .primary,.site-hero-actions .secondary{border-radius:999px;padding:13px 26px;font-size:1rem;font-weight:600}.site-hero-actions .primary{background:#c4f000;color:#101b17;box-shadow:0 10px 24px #c4f00040}.site-hero-actions .primary:hover:not(:disabled){background:#d9ff3d}.site-hero-actions .secondary{background:transparent;color:#fff;border-color:#ffffff80}.site-hero-actions .secondary:hover{background:#ffffff1a}.site-hero-bar{display:grid;grid-gap:20px;gap:20px;width:100%;max-width:440px;justify-self:end;padding:24px;border-radius:24px;background:#0b1f17b3;border:1px solid #ffffff2b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-stats{display:flex;justify-content:space-between;gap:24px;margin:0}.site-stats div{display:flex;flex-direction:column}.site-stats dd{margin:0;font-size:2rem;font-weight:700;color:#fff;line-height:1.2}.site-stats dt{font-size:var(--text-caption);color:#d3d9d7}.site-next-class{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:14px 16px;border-radius:16px;border:1px solid #ffffff33;background:#ffffff14;color:#fff;text-align:left}.site-next-class:hover{background:#ffffff26}.site-next-class small{color:#c4f000;font-size:var(--text-caption);font-weight:600}.site-next-class strong{font-size:1.0625rem;overflow-wrap:anywhere}.site-next-class span{font-size:var(--text-caption);color:#d3d9d7}.site-main>.site-section{padding-top:88px}.site-section-head{display:grid;grid-gap:8px;gap:8px;margin-bottom:32px;justify-items:start}.site-eyebrow{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--surface-soft);color:var(--primary);font-size:.75rem;font-weight:700;letter-spacing:.08em}.site-section-head h2{font-size:2.25rem;line-height:1.25;font-weight:700;color:var(--navy);letter-spacing:-.01em}.site-section-head p{color:var(--muted);font-size:var(--text-body);max-width:640px}.site-section-head .text-button{margin:0;font-weight:600;color:var(--primary);font-size:.9375rem}.site-reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}.site-reason{padding:28px;border-radius:var(--site-radius);background:#f9fbfa;border:1px solid var(--line)}.site-reason-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--primary);color:#fff;box-shadow:0 10px 20px #26735533}.site-reason h3{font-size:1.1875rem;margin-top:18px}.site-reason p{color:var(--muted);margin-top:8px;font-size:var(--text-detail)}.site-features{display:grid;grid-gap:28px;gap:28px}.site-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:48px;gap:48px;align-items:center;padding:24px;border-radius:32px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 30px #132d230d}.site-feature:nth-child(2n) .site-feature-image{order:2}.site-feature-image{position:relative;aspect-ratio:16/10;border-radius:22px;overflow:hidden}.site-feature-image img{object-fit:cover}.site-feature-text{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:8px 16px}.site-feature-number{font-size:3rem;font-weight:700;line-height:1;color:var(--accent-soft);-webkit-text-stroke:1.5px var(--primary)}.site-feature .type-tag{background:var(--surface-soft);color:var(--primary)}.site-feature h3{font-size:1.75rem;color:var(--navy)}.site-feature p{color:#3c4d46;font-size:var(--text-body)}.site-feature small{color:var(--muted);font-size:var(--text-caption)}.site-feature .site-format-count{font-weight:600;color:var(--ink)}.site-feature .primary{margin-top:10px;border-radius:999px;padding:10px 20px}.site-main>.site-steps-band{max-width:none;margin-top:88px;padding:72px 24px;background:linear-gradient(180deg,#f7f9f8,#fff)}.site-steps-band>*{max-width:calc(var(--site-width) - 48px);margin-left:auto;margin-right:auto}.site-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}.site-steps li{display:flex;gap:16px;padding:24px;border-radius:var(--site-radius);background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px #132d230f}.site-step-number{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700}.site-steps h3{font-size:1.125rem}.site-steps p{color:var(--muted);font-size:var(--text-detail);margin-top:4px}.site-main>.site-steps-band+.site-section{padding-top:56px}.site-coaches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:20px;gap:20px}.site-coach{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:28px 18px;border-radius:var(--site-radius);transition:box-shadow .15s,transform .15s}.site-coach:hover{box-shadow:var(--site-shadow);transform:translateY(-3px)}.site-coach h3{font-size:1.0625rem;margin-top:6px;overflow-wrap:anywhere}.site-coach .secondary{margin-top:6px;border-radius:999px}.site-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px}.site-package{display:flex;flex-direction:column;gap:6px;padding:28px;border-radius:var(--site-radius)}.site-package:nth-child(2){background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:var(--site-shadow)}.site-package:nth-child(2) p,.site-package:nth-child(2) small{color:#d3d9d7}.site-package:nth-child(2) .site-package-price{color:#fff}.site-package h3{font-size:1.125rem;overflow-wrap:anywhere}.site-package .site-package-price{font-size:2.5rem;font-weight:700;color:var(--navy);line-height:1.2;margin:6px 0}.site-package p{font-size:var(--text-detail);color:#3c4d46}.site-package small{color:var(--muted);font-size:var(--text-caption)}.site-footer a,.site-hero-actions a{text-decoration:none}.site-main>.site-cta{position:relative;isolation:isolate;overflow:hidden;max-width:calc(var(--site-width) - 48px);margin:88px auto;padding:72px 32px;border-radius:32px;text-align:center;color:#fff;background:#0b1f17;box-shadow:var(--site-shadow)}.site-cta-image{object-fit:cover;z-index:-2}.site-cta:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#08150fe6,#08150fb3 55%,#08150f8c)}.site-cta h2{font-size:2.25rem;font-weight:700}.site-cta p{color:var(--hero-text);margin:10px 0 26px;font-size:var(--text-body)}.site-cta .primary{background:#fff;color:var(--navy)}.site-cta .primary:hover:not(:disabled){background:var(--accent-soft)}.site-footer{position:relative;display:block;margin-top:0;padding:0;background:#0b1f17;color:#cfe6da}.site-footer:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#c4f00000,#c4f000 30%,#c4f000 70%,#c4f00000)}.site-footer-inner{max-width:var(--site-width);margin:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,.8fr);grid-gap:40px;gap:40px;padding:64px 24px 40px}.site-footer-brand p{margin:0;font-size:1.0625rem;line-height:1.6;color:#fff;max-width:320px}.site-footer h2{margin:0 0 6px;font-size:.8125rem;letter-spacing:.14em;color:#c4f000;text-transform:uppercase}.site-contact,.site-footer-inner>div:not(.site-footer-brand),.site-footer-inner>nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-style:normal;font-size:var(--text-detail)}.site-footer a,.site-footer button{border:0;background:none;padding:0;color:#e9f3ee;font-size:var(--text-detail);text-align:left;transition:color .2s ease}.site-footer a:hover,.site-footer button:hover{color:#c4f000}.site-footer a:focus-visible,.site-footer button:focus-visible{outline:2px solid #c4f000;outline-offset:3px;border-radius:4px}.site-footer-copy{max-width:var(--site-width);margin:auto;padding:18px 24px 26px;border-top:1px solid #ffffff1f;font-size:var(--text-caption);color:#9fb8ab}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(max-width:1100px){.site-header-inner{flex-wrap:wrap;row-gap:8px}.site-nav{order:4;flex-basis:100%;overflow-x:auto;scrollbar-width:none;margin:0 -8px}.site-hero h1{font-size:3.25rem}.site-coaches{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer-inner{grid-template-columns:1fr 1fr}}@media(max-width:900px){.site-feature,.site-hero-inner{grid-template-columns:minmax(0,1fr)}.site-feature:nth-child(2n) .site-feature-image{order:0}.site-packages,.site-reasons,.site-steps{grid-template-columns:minmax(0,1fr)}.site-cta h2,.site-section-head h2{font-size:1.875rem}}@media(max-width:640px){.site-header-inner{flex-wrap:wrap;gap:10px 12px;padding:10px 16px}.site-logo{height:38px}.site-search{order:3;flex-basis:100%;max-width:none}.site-search-results{min-width:0}.site-header-actions{margin-left:auto}.site-header-actions .secondary{display:none}.site-main>section{padding-left:16px;padding-right:16px}.site-hero h1{font-size:2.5rem}.site-hero-lead{font-size:1.25rem}.site-stats{gap:20px}.site-stats dd{font-size:1.5rem}.site-hero-actions>*{flex:1 1}.site-hero-actions>a{flex-basis:100%}.site-coaches{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.site-coach{padding:20px 10px}.site-feature{padding:14px;gap:16px;border-radius:24px}.site-feature-text{padding:4px}.site-main>.site-section{padding-top:64px}.site-main>.site-steps-band{padding:56px 16px;margin-top:64px}.site-main>.site-cta{margin-left:16px;margin-right:16px;padding:40px 20px;margin-top:64px;margin-bottom:64px}.site-footer-inner{grid-template-columns:minmax(0,1fr);padding:40px 16px 24px}}.site-facility{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(200px,1fr);grid-gap:16px;gap:16px}.site-photo{position:relative;margin:0;border-radius:24px;overflow:hidden;background:var(--surface-soft)}.site-photo img{object-fit:cover;transition:transform .5s ease}.site-photo:hover img{transform:scale(1.04)}.site-photo figcaption{position:absolute;left:12px;bottom:12px;padding:6px 14px;border-radius:999px;background:#08150fb3;color:#fff;font-size:var(--text-caption);font-weight:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.site-photo-lead{grid-row:span 2}.site-photo-lead,.site-photo-wide{grid-column:span 2}.site-video{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:56px;gap:56px;align-items:center;padding:40px 48px;border-radius:32px;background:linear-gradient(135deg,#f7f9f8,#fff);border:1px solid var(--line)}.site-video-text{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.site-video-text h2,.site-video-text h3{font-size:2.25rem;line-height:1.25;font-weight:700;color:var(--navy);letter-spacing:-.01em}.site-video-text p{color:var(--muted);font-size:var(--text-body);max-width:460px}.site-video-text .primary{margin-top:8px;border-radius:999px;padding:12px 26px;font-weight:600}.site-video-frame{position:relative;width:100%;max-width:300px;justify-self:end;aspect-ratio:9/16;border-radius:32px;overflow:hidden;background:#08150f;border:6px solid #0b1f17;box-shadow:var(--site-shadow)}.site-video-frame video{display:block;width:100%;height:100%;object-fit:cover}.site-video-toggle{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid #ffffff59;background:#08150fb3;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.site-video-toggle:hover{background:#08150fe6}@media(max-width:900px){.site-main>.site-hero{min-height:0;padding-top:72px}.site-hero-inner{grid-template-columns:minmax(0,1fr);gap:32px}.site-hero-bar{justify-self:stretch;max-width:none}.site-hero:after{background:linear-gradient(0deg,#08150ff2,#08150fd9 50%,#08150f73)}.site-hero-image{object-position:62% center}.site-video{grid-template-columns:minmax(0,1fr);justify-items:center;gap:32px;padding:32px 24px}.site-video-text{align-items:center;text-align:center}.site-video-frame{justify-self:center}.site-video-text h2,.site-video-text h3{font-size:1.875rem}}@media(max-width:640px){.site-main>.site-hero{padding:56px 16px 32px}.site-hero-bar{padding:18px}.site-facility{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.site-photo{aspect-ratio:1}.site-photo-lead,.site-photo-wide{grid-column:span 2;grid-row:auto;aspect-ratio:16/10}.site-video{padding:28px 16px;border-radius:24px}.site-main>.site-cta{padding:56px 20px}}@media(prefers-reduced-motion:reduce){.site-photo img{transition:none}.site-photo:hover img{transform:none}}html:lang(zh-CN){--font-ui:var(--font-thai-looped),"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif}.site-main>.site-choices{position:relative;isolation:isolate;max-width:none;padding:40px max(24px,calc((100vw - var(--site-width)) / 2 + 24px)) 68px;overflow:hidden;background:#0b1f17;flex:1 1}.site-slides{position:absolute;inset:0;z-index:-1}.site-slides:after{content:"";position:absolute;inset:0;background:#08150fbf}.site-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}.site-slide.is-active{opacity:1}.site-slide-image{object-fit:cover;filter:blur(3px);transform:scale(1.03)}.site-slide-aerial .site-slide-image{object-position:center 60%}.site-slide-controls{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;align-items:center;gap:4px}.site-slide-dot{position:relative;width:28px;height:44px;padding:0;border:0;background:none;cursor:pointer}.site-slide-dot:before{content:"";position:absolute;left:9px;top:17px;width:10px;height:10px;border-radius:50%;background:#ffffff66}.site-slide-dot:hover:before,.site-slide-dot[aria-current]:before{background:#fff}.site-slide-dot:focus-visible{outline:3px solid #c4f000;outline-offset:2px}.site-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:28px;gap:28px}.site-choice{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:480px;padding:28px;border:0;border-radius:32px;color:#fff;background:#0b1f17;text-align:left;text-decoration:none;box-shadow:0 0 0 1px #ffffff40,0 20px 50px #00000066;cursor:pointer;font:inherit;transition:transform .2s ease,box-shadow .2s ease}.site-choice:hover{transform:translateY(-4px);box-shadow:0 0 0 1px #ffffff80,0 28px 64px #00000080}.site-choice:focus-visible{outline:3px solid #c4f000;outline-offset:4px}.site-choice-image{object-fit:cover;z-index:-2;transition:transform .4s ease}.site-choice:hover .site-choice-image{transform:scale(1.04)}.site-choice:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#08150ff5,#08150fd9 26%,#08150f59 42%,transparent 60%)}.site-choice-body{display:grid;grid-gap:10px;gap:10px;width:100%}.site-choice-body small{justify-self:start;padding:5px 12px;border-radius:999px;border:1px solid #ffffff59;background:#ffffff1f;font-size:var(--text-caption);font-weight:600;letter-spacing:.08em;color:#fff}.site-choice-body strong{font-size:2.5rem;line-height:1.15;font-weight:700;letter-spacing:-.01em}.site-choice-body span{font-size:1.1875rem;font-weight:600;color:#fff}.site-choice-body em{margin-top:8px;font-style:normal;font-weight:600;font-size:1.0625rem;color:#c4f000}.site-choice-off{cursor:default}.site-choice-off:hover{transform:none;box-shadow:0 0 0 1px #ffffff40,0 20px 50px #00000066}.site-choice-off:hover .site-choice-image{transform:none}.site-choice-off .site-choice-image{filter:grayscale(.6)}.site-choice-off em{color:#e7ebea}@media(max-width:900px){.site-choice-grid{grid-template-columns:minmax(0,1fr)}.site-choice{min-height:340px;padding:28px 24px}.site-choice-body strong{font-size:2rem}}@media(max-width:640px){.site-main>.site-choices{padding:28px 16px 76px}}@media(prefers-reduced-motion:reduce){.site-choice,.site-choice-image,.site-slide{transition:none}.site-choice:hover,.site-choice:hover .site-choice-image{transform:none}}.site-choice-body em{margin-top:4px;padding:18px 24px;border-radius:999px;font-size:2rem;font-weight:800;line-height:1.2;text-align:center;transition:background-color .2s ease}.site-choice-book:not(.site-choice-off):hover .site-choice-body em{background:#d9ff3d}.site-choice-brand:hover .site-choice-body em{background:#c4f000}.site-choice-book:not(.site-choice-off) .site-choice-body em{background:#c4f000;color:#101b17;box-shadow:0 12px 30px #c4f00050}.site-choice-book.site-choice-off .site-choice-body em{background:#ffffff26;color:#fff;border:1px solid #ffffff59}.site-choice-brand .site-choice-body em{background:#fff;color:#0b1f17;box-shadow:0 12px 30px #00000040}@media(max-width:900px){.site-choice-body em{font-size:1.625rem;padding:14px 20px}}@keyframes site-choice-stand{0%{opacity:0;transform:perspective(1100px) rotateX(24deg) translateY(44px)}}@keyframes site-choice-fade{0%{opacity:0}}.site-choice:nth-child(2){animation-delay:90ms}@media(prefers-reduced-motion:no-preference){.site-choice{animation:site-choice-stand .75s cubic-bezier(.16,1,.3,1) backwards}}@media(prefers-reduced-motion:reduce){.site-choice{animation:site-choice-fade .3s ease backwards}}@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.site-choice:not(.site-choice-off){transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateZ(var(--depth,0));transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}.site-choice:not(.site-choice-off):hover{--depth:28px;transition:transform .12s ease-out,box-shadow .3s ease}.site-choice:not(.site-choice-off):focus-visible{--depth:16px}.site-choice:not(.site-choice-off):active{--depth:4px}.site-choice:not(.site-choice-off) .site-choice-image,.site-choice:not(.site-choice-off):hover .site-choice-image{transform:scale(1.08) translate3d(var(--shift-x,0),var(--shift-y,0),0);transition:transform .5s cubic-bezier(.16,1,.3,1)}.site-choice:not(.site-choice-off):hover .site-choice-image{transition:transform .12s ease-out}.site-choice:not(.site-choice-off):before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(460px circle at var(--glow-x,50%) var(--glow-y,0),#ffffff33,transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.site-choice:not(.site-choice-off):hover:before{opacity:1}}@media(max-width:640px){.site-choice-grid{gap:16px}.site-choice{min-height:250px;padding:16px;border-radius:24px}.site-choice-body span{font-size:1rem}.site-choice-brand:after{background:linear-gradient(0deg,#08150ff5,#08150fd9 46%,#08150f59 62%,transparent 78%)}.site-main>.site-choices{padding-top:20px}}.modal.about-modal{max-width:980px}.about-modal .site-video{margin-top:24px;padding:24px 28px;gap:32px}.about-modal .site-video-text h3{font-size:1.5rem}.about-modal .site-facility{grid-auto-rows:minmax(150px,1fr)}.about-lead{margin:0 0 18px;color:var(--muted)}.site-footer button.site-footer-about{font-weight:600}@media(max-width:900px){.about-modal .site-video{padding:24px 16px}}.site-nav a{display:inline-block;padding:8px 12px;border-radius:999px;color:var(--muted);font-weight:500;font-size:.9375rem;white-space:nowrap;text-decoration:none}.site-nav a:hover{background:var(--surface-soft);color:var(--ink)}.site-nav button:disabled{opacity:.55;cursor:default}.site-nav button:disabled:hover{background:none;color:var(--muted)}.cal-chip-row{display:flex;align-items:stretch;gap:3px;margin-top:3px}.cal-chip-row .cal-chip{flex:1 1;min-width:0}.cal-chip-pick{display:flex;align-items:center;justify-content:center;flex:none;min-width:22px;cursor:pointer}.cal-chip-pick input{width:16px;height:16px;margin:0;accent-color:var(--primary);cursor:pointer}.cal-chip.booked{flex-wrap:wrap;background:#eef4f1}.cal-chip-booked{flex:none;padding:0 6px;border-radius:999px;background:#1a3e30;color:#fff;font-weight:600;white-space:nowrap}.cal-chip-booked.pending{background:#fff3d6;color:#6b4700;box-shadow:inset 0 0 0 1px #e6c98a}.lesson-pick,.rules-accept{display:flex;align-items:center;gap:10px;margin-top:14px;font-weight:600;cursor:pointer}.lesson-pick input,.rules-accept input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--primary)}.booking-cart{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border:1px solid var(--primary);border-radius:12px;background:#fff;box-shadow:0 6px 20px #132d2326}.booking-cart>div{display:flex;flex-direction:column;margin-right:auto;min-width:0}.booking-cart span{font-size:.875rem;color:var(--muted)}.booking-cart.floating{position:fixed;right:20px;bottom:20px;left:auto;z-index:40;margin:0;max-width:calc(100vw - 40px)}.booking-rules{margin:12px 0 0;padding-left:22px;line-height:1.6}.booking-rules li+li{margin-top:6px}.pay-order{border:1px solid var(--line);border-radius:14px;overflow:hidden}.pay-class-list{margin:0;padding:2px 16px;list-style:none}.pay-class-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0}.pay-class-list li+li{border-top:1px solid var(--line)}.pay-class-list li>div{display:flex;flex-direction:column;min-width:0}.pay-class-list b,.pay-class-list strong{font-size:var(--text-detail);font-weight:600;line-height:1.5}.pay-class-list span{font-size:var(--text-caption);color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.pay-class-list b{white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pay-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-soft)}.pay-total>div{display:flex;flex-direction:column;min-width:0;line-height:1.5}.pay-total strong{font-size:var(--text-detail);font-weight:600}.pay-total span{font-size:var(--text-caption);color:var(--muted)}.pay-total h3{margin:0;font-size:1.75rem;line-height:1.2;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pay-deadline{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:var(--text-detail);font-weight:600}.pay-deadline svg{flex:none}.pay-heading{margin:22px 0 0;font-size:1rem;line-height:1.5}.pay-modal .credit-pay{margin-top:10px;padding:12px 14px;border-color:var(--border-strong);background:var(--paper)}.pay-modal .credit-pay>div{line-height:1.5}.pay-modal .credit-pay button{flex:none;white-space:nowrap}.pay-modal .credit-note{margin:10px 0 0}.pay-transfer{margin-top:10px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:12px}.pay-transfer .demo-guide{margin:10px 0 0;padding:12px}.pay-transfer .field{margin:14px 0 0}.pay-transfer input[type=file]::-webkit-file-upload-button{min-height:36px;margin-right:10px;padding:4px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-soft);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.pay-transfer input[type=file]::file-selector-button{min-height:36px;margin-right:10px;padding:4px 12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-soft);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.pay-qr{display:flex;flex-direction:column;align-items:center;gap:6px;margin:12px 0;text-align:center}.pay-qr img{display:block;width:min(100%,320px);height:auto;border:1px solid var(--border-strong);border-radius:10px;background:#fff}.pay-qr p{margin:0;font-size:var(--text-detail);font-weight:600;line-height:1.5}.pay-bank{margin:8px 0 0}.pay-bank>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:5px 0}.pay-bank dt{flex:none;font-size:var(--text-caption);color:var(--muted)}.pay-bank dd{margin:0;min-width:0;text-align:right;font-size:var(--text-detail);overflow-wrap:anywhere}.pay-bank .pay-bank-number{font-size:1.25rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pay-bank-missing{display:flex;flex-direction:column;margin:10px 0 0;padding:10px 12px;border:1px solid #e6c98a;border-radius:10px;background:#fff8e8;color:#5c4200;line-height:1.5}.pay-bank-missing strong{font-size:var(--text-detail)}.pay-bank-missing span,.pay-note{font-size:var(--text-caption)}.pay-note{margin:14px 0 0;color:var(--muted);line-height:1.6}.pay-status{margin-top:14px}.coin-panel{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-bottom:16px}.coin-panel>div{display:flex;flex-direction:column}.coin-panel>div strong{font-size:1.375rem}.coin-panel small{color:var(--muted)}.coin-panel details{flex:1 1 280px}.coin-panel summary{cursor:pointer;font-weight:600}.coin-panel ul{margin:8px 0 0;padding:0;list-style:none}.coin-panel li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:.875rem}.level-choice{grid-template-columns:repeat(3,minmax(0,1fr))}.level-step{display:grid;grid-gap:18px;gap:18px;align-items:start}.level-step .group-level-body{min-width:0}.level-step .group-level-prompt{margin:0}.level-step .level-choice{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.level-step .level-choice:has(.type-option:only-child){grid-template-columns:minmax(0,560px)}.level-step .level-choice .type-option{flex-direction:row;align-items:stretch}.level-step .level-choice .type-option.selected{box-shadow:0 0 0 3px var(--level-color)}.level-step .level-choice .type-option:hover{transform:none}.level-step .level-choice .type-option-visual{flex:0 0 88px;min-height:0;padding:12px;flex-direction:column;align-items:flex-start;justify-content:space-between}.level-step .level-choice .type-option-visual svg{width:32px;height:32px;align-self:flex-end}.level-step .level-choice .type-option-visual .type-tag{font-size:.6875rem;padding:3px 6px}.level-step .level-choice .type-option-body{flex:1 1;min-width:0;padding:12px 14px;gap:2px}.level-step .level-choice .type-option-body strong{font-size:1.125rem}.level-step .level-choice .type-option-body span{font-size:var(--text-caption)}.level-step .level-choice .type-option-go{display:none}@media(max-width:1100px){.level-step .level-choice{grid-template-columns:1fr}}@media(max-width:600px){.level-step .level-choice .type-option-visual{flex-basis:72px}}.coach-card-head .badge,.coach-profile-head .badge{display:inline-block;margin-top:4px}.admin-section-actions{display:flex;flex-wrap:wrap;gap:8px}.coach-rate-row{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line,#d6e7e0);border-radius:10px}.pay-run{align-items:flex-end}@media(max-width:800px){.level-choice{grid-template-columns:1fr}}@media(max-width:600px){.booking-cart.floating{right:16px;left:16px;bottom:12px;max-width:none}.cal-chip-pick{min-width:18px}}main{padding-bottom:48px}.app-shell:has(.booking-cart.floating) main:not(.site-main){padding-bottom:140px}@media(max-width:800px){main{padding-bottom:36px}}.month-calendar-cell{container-type:inline-size}.cal-chip,.cal-chip.booked{flex-flow:column nowrap;gap:0}.cal-chip-time{white-space:nowrap}.cal-chip-title{overflow-wrap:break-word}.cal-chip-booked{align-self:flex-start;margin-top:2px}@container (max-width:120px){.cal-chip-row{flex-direction:column;gap:2px}.cal-chip-pick{min-height:24px}}@container (max-width:90px){.cal-chip-coach{display:none}}@container (max-width:70px){.cal-chip{align-items:center;padding:2px 0}.cal-chip-title{display:none}.cal-chip-booked{align-self:center;padding:0 6px;font-size:0}.cal-chip-booked:before{content:"✓";font-size:.8125rem}.cal-chip-booked.pending:before{content:"฿"}}@media(max-width:600px){.month-calendar-cell{padding:3px 1px}}@media(max-width:360px){.level-step .month-calendar{margin-inline:-12px}.cal-chip-time{letter-spacing:-.03em}}.booking-tabs{max-width:none;margin-top:18px}.booking-tabs .tab-count{display:inline-block;min-width:22px;margin-left:7px;padding:0 6px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.8125rem;font-weight:600;line-height:1.6;text-align:center}.booking-tabs button.selected .tab-count{color:var(--primary)}.booking-code{color:var(--muted);font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media screen{.attendance-view-check .attendance-preview,.attendance-view-check .attendance-preview-heading,.attendance-view-sheet .attendance-editor{display:none}}.site-logo{max-width:min(260px,60vw);object-fit:contain;object-position:left center}.sidebar .site-logo{max-width:100%}.brand-mark.is-custom{object-fit:contain}.branding-logo-dark .site-logo.is-custom,.sidebar .brand-mark.is-custom,.sidebar .site-logo.is-custom{filter:none;background:#fff;border-radius:8px;padding:4px 8px}.sidebar .brand-mark.is-custom{padding:3px}.branding-settings{display:grid;grid-gap:22px;gap:22px}.branding-settings .panel>.muted{font-size:.9375rem;margin:8px 0 20px}.branding-logo-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.branding-logo-preview{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:120px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.branding-logo-preview figcaption{font-size:.875rem;color:var(--muted)}.branding-logo-dark{background:#133e2e;border-color:#133e2e}.branding-logo-dark .site-logo{height:44px;max-width:100%;filter:brightness(0) invert(1)}.branding-logo-dark figcaption{color:#d3e3da}.branding-slides{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.branding-slides li{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.branding-slide-image{position:relative;aspect-ratio:16/9;background:var(--surface-soft)}.branding-slide-image img{object-fit:cover}.branding-slide-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:10px 14px}.branding-slide-actions span{font-size:.875rem;font-weight:600;margin-right:auto}.site-footer .site-location{position:relative;isolation:isolate;display:block;width:100%;max-width:320px;height:170px;margin-top:0;padding:0;overflow:hidden;border-radius:16px;background:#dfe7e2;box-shadow:0 0 0 1px #ffffff26,0 12px 28px #00000059}.site-location iframe{position:absolute;left:0;top:-48px;width:100%;height:calc(100% + 48px);border:0;pointer-events:none;filter:saturate(.75)}.site-location-pin{position:absolute;left:50%;top:50%;z-index:2;width:0;height:0}.site-location-pin-mark{position:absolute;left:-17px;bottom:0;filter:drop-shadow(0 5px 6px #0b1f1780);opacity:0;transform:translateY(-70px)}.site-location-shadow{left:-8px;top:-3px;width:16px;height:6px;background:#0b1f1766}.site-location-pulse,.site-location-shadow{position:absolute;border-radius:50%;opacity:0}.site-location-pulse{left:-20px;top:-20px;width:40px;height:40px;border:2px solid #c4f000;background:#c4f00033}.site-location.is-landed .site-location-pin-mark{animation:location-drop .6s cubic-bezier(.3,1.4,.5,1) forwards}.site-location.is-landed .site-location-shadow{animation:location-shadow .6s ease-out forwards}.site-location.is-landed .site-location-pulse{animation:location-pulse 2.4s ease-out .6s infinite}.site-location.is-landed .site-location-pulse+.site-location-pulse{animation-delay:1.8s}.site-location.is-landed:hover .site-location-pin{animation:location-hop .5s ease-in-out}.site-location-tag{position:absolute;right:8px;top:8px;z-index:2;padding:3px 10px;border-radius:999px;background:#0b1f17e6;color:#fff;font-size:.75rem;font-weight:600;line-height:1.6;transition:background-color .2s ease,color .2s ease}.site-location:hover .site-location-tag{background:#c4f000;color:#101b17}.site-location:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.site-footer .site-contact{gap:14px}.site-footer .site-contact-item{display:flex;align-items:flex-start;gap:12px;color:#e9f3ee;font-size:var(--text-detail);line-height:1.5}.site-contact-item small{display:block;font-size:.75rem;letter-spacing:.06em;color:#9fb8ab}.site-contact-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#ffffff12;box-shadow:inset 0 0 0 1px #ffffff1f;color:#c4f000;transition:background-color .2s ease,color .2s ease}.site-footer a.site-contact-item:hover .site-contact-icon{background:#c4f000;color:#0b1f17}.site-footer a.site-contact-item:hover small{color:#c4f000}.line-logo{flex:none;border-radius:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.site-footer a.site-contact-item:hover .line-logo{filter:brightness(1.08)}@keyframes location-drop{0%{opacity:0;transform:translateY(-70px)}55%{opacity:1;transform:translateY(0) scale(1.08,.9)}75%{transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes location-shadow{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes location-pulse{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(1.6)}}@keyframes location-hop{50%{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.site-location .site-location-pin-mark,.site-location.is-landed .site-location-pin-mark{animation:none;opacity:1;transform:none}.site-location-shadow{opacity:1}.site-location.is-landed .site-location-pulse,.site-location.is-landed:hover .site-location-pin{animation:none}}