/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}}:root{--ink:#201a17;--muted:#766d66;--paper:#f7f3ed;--card:#fffdfa;--line:#e7dfd6;--gold:#b89054;--coral:#d7745f;--deep:#352a25}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:PingFang SC,Microsoft YaHei,Arial,sans-serif}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.member-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f3edeb;justify-content:space-between;align-items:center;height:76px;padding:0 max(4vw,24px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;display:flex}.brand-mark{color:#fff;background:var(--deep);border-radius:50% 50% 45% 55%;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:21px;display:grid}.brand b,.brand small{letter-spacing:.18em;display:block}.brand b{font-size:15px}.brand small{color:var(--muted);margin-top:2px;font-size:8px}nav{color:var(--muted);gap:38px;font-size:14px;display:flex}nav a{border-bottom:2px solid #0000;padding:28px 2px 24px}nav a.active{color:var(--ink);border-color:var(--gold)}.avatar{color:#553d2d;background:#d8c2ab;border:0;border-radius:50%;width:36px;height:36px;font-weight:700}.hero{color:#fff;background:radial-gradient(circle at 82% 20%,#d8a77e6b,#0000 31%),linear-gradient(120deg,#28201d,#46372f 55%,#6b4c3e);justify-content:space-between;align-items:flex-end;gap:40px;padding:72px max(6vw,28px) 52px;display:flex;overflow:hidden}.hero-copy h1{letter-spacing:.03em;margin:10px 0 16px;font-family:Georgia,Songti SC,serif;font-size:clamp(35px,4vw,58px);font-weight:500}.eyebrow{color:#c9a978;letter-spacing:.28em;margin:0;font-size:11px;font-weight:700}.child-switcher{background:#ffffff14;border-radius:18px;gap:10px;padding:8px;display:flex}.child-switcher button{color:#e4d9d1;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;min-width:164px;padding:10px 12px;display:flex}.child-switcher button.selected{color:var(--ink);background:#fff}.child-switcher button>span{background:#d5ad8e;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.child-switcher b,.child-switcher small{display:block}.child-switcher b{font-size:13px}.child-switcher small{opacity:.7;margin-top:4px;font-size:10px}.dashboard-grid{grid-template-columns:1.25fr .8fr 1fr;gap:18px;max-width:1440px;margin:-20px auto 0;padding:0 max(4vw,24px);display:grid;position:relative}.card{background:var(--card);border:1px solid #e7dfd6d9;border-radius:18px;padding:24px;box-shadow:0 14px 35px #362a2212}.card-label{color:var(--muted);letter-spacing:.06em;justify-content:space-between;align-items:center;font-size:12px;display:flex}.card-label a{color:var(--gold)}.status-dot{color:#548068;background:#e9f3ec;border-radius:999px;padding:5px 9px;font-size:10px}.next-content{align-items:center;gap:23px;margin:24px 0;display:flex}.date-block{border-right:1px solid var(--line);text-align:center;padding-right:24px}.date-block strong{font:44px Georgia,serif;display:block}.date-block span{color:var(--muted);font-size:11px}.next-info h2{margin:0 0 9px;font:25px Georgia,Songti SC,serif}.next-info p{color:var(--muted);margin:5px 0;font-size:12px}.checkin-note{background:#f4efe8;border-radius:10px;align-items:center;gap:11px;padding:11px 14px;display:flex}.checkin-note>span{color:#fff;background:#d8c09f;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.checkin-note p{margin:0}.checkin-note b,.checkin-note small{font-size:11px;display:block}.checkin-note small{color:var(--muted);margin-top:3px}.credit-pair{text-align:center;grid-template-columns:1fr 1fr;margin:23px 0 16px;display:grid}.credit-icon{color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;margin:auto;font-size:11px;display:grid}.gold{background:var(--gold)}.coral{background:var(--coral)}.credit-pair p{color:var(--muted);margin:7px 0 0;font-size:11px}.credit-pair strong{font:36px Georgia,serif}.credit-pair small{color:var(--muted);font-size:10px}.expiry{text-align:center;color:var(--muted);margin:0;font-size:10px}.announcement-main{gap:12px;margin:20px 0;display:flex}.pin{color:#fff;background:#2f2723;border-radius:5px;height:max-content;padding:4px 6px;font-size:9px}.announcement h3{margin:0 0 7px;font-size:15px}.announcement p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.announcement small{color:#a09892;font-size:9px}.announcement-row{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding-top:14px;font-size:10px;display:grid}.announcement-row span{color:var(--coral)}.announcement-row b{font-weight:500}.schedule-section{max-width:1340px;margin:70px auto;padding:0 max(4vw,24px)}.section-heading{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.section-heading h2{margin:7px 0 0;font:32px Georgia,Songti SC,serif}.week-controls{color:var(--muted);align-items:center;gap:13px;font-size:12px;display:flex}.week-controls button{border:1px solid var(--line);background:var(--card);border-radius:50%;width:31px;height:31px}.class-row{border-bottom:1px solid var(--line);grid-template-columns:70px 110px 1fr 150px;align-items:center;gap:20px;padding:19px 16px;transition:all .2s;display:grid}.class-date{text-align:center}.class-date b{font:26px Georgia,serif;display:block}.class-date span,.class-time span{color:var(--muted);font-size:10px}.class-time b{font-size:14px;display:block}.class-detail>div{align-items:center;gap:10px;display:flex}.class-detail h3{margin:0;font-size:15px}.class-detail p{color:var(--muted);margin:7px 0 0;font-size:11px}.tag{color:#9a7137;border:1px solid #c7aa7c;border-radius:999px;padding:3px 7px;font-size:9px}.coral-tag{color:#b55745;border-color:#e2a092}.class-space{text-align:right}.class-space span{color:var(--muted);margin-bottom:8px;font-size:10px;display:block}.class-space button{background:var(--deep);color:#fff;border:0;border-radius:999px;min-width:86px;padding:8px 18px;font-size:11px}.class-space button.booked{color:var(--muted);border:1px solid var(--line);background:0 0}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:28px max(4vw,24px);font-size:10px;display:flex}.mini .brand-mark{width:30px;height:30px;font-size:16px}.invite-shell{background:var(--card);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.invite-brand{color:#fff;background:radial-gradient(circle at 75% 15%,#d3977073,#0000 32%),linear-gradient(140deg,#2b211d,#594239);flex-direction:column;justify-content:space-between;padding:50px 8vw;display:flex}.invite-brand h1{margin:14px 0 24px;font:clamp(46px,6vw,82px)/1.18 Georgia,Songti SC,serif}.invite-brand>div>p:last-child{color:#ded0c8;max-width:420px;line-height:1.8}.invite-brand>.brand small{color:#cfbdb3}.invite-brand>small{color:#bbaaa1}.invite-form-wrap{place-items:center;padding:40px;display:grid}.invite-form-wrap form,.success{width:min(420px,100%)}.invite-form-wrap h2,.success h2{margin:12px 0;font:34px Georgia,Songti SC,serif}.form-intro{color:var(--muted);margin-bottom:34px}.invite-form-wrap label{margin:20px 0;font-size:12px;font-weight:600;display:block}.invite-form-wrap input{border:1px solid var(--line);background:#fbf9f5;border-radius:10px;outline:none;width:100%;margin-top:8px;padding:15px}.code-row{gap:8px;display:flex}.code-row button{white-space:nowrap;border:1px solid var(--line);color:var(--gold);background:#fff;border-radius:10px;margin-top:8px}.primary,.success a{background:var(--deep);color:#fff;text-align:center;border:0;border-radius:10px;width:100%;padding:15px;display:block}.terms{text-align:center;color:#a09790;margin-top:16px;font-size:10px}.success{text-align:center}.success>span{color:#50765d;background:#e8f1e9;border-radius:50%;place-items:center;width:65px;height:65px;margin:auto;font-size:28px;display:grid}.success p{color:var(--muted);margin-bottom:28px}@media (width<=960px){.dashboard-grid{grid-template-columns:1fr 1fr}.next-class,.announcement{grid-column:1/-1}.hero{flex-direction:column;align-items:flex-start}.class-row{grid-template-columns:55px 85px 1fr}.class-space{grid-column:3}}@media (width<=760px){.invite-shell{grid-template-columns:1fr}.invite-brand{min-height:310px;padding:30px 24px}.invite-brand h1{font-size:44px}.invite-brand>small{display:none}.invite-form-wrap{padding:48px 24px}}@media (width<=640px){.topbar{height:64px}.topbar nav{display:none}.hero{padding:45px 20px 38px}.hero-copy h1{font-size:36px}.child-switcher{width:100%;overflow:auto}.child-switcher button{min-width:145px}.dashboard-grid{grid-template-columns:1fr;padding:0 14px}.next-class,.announcement{grid-column:auto}.card{padding:19px}.schedule-section{margin:48px auto;padding:0 14px}.section-heading{flex-direction:column;align-items:flex-start;gap:18px}.class-row{grid-template-columns:48px 1fr;gap:10px;padding:16px 6px}.class-time,.class-detail,.class-space{grid-column:2}.class-space{justify-content:space-between;align-items:center;display:flex}.class-space span{margin:0}footer{flex-direction:column;align-items:flex-start;gap:20px}.next-content{gap:15px}.date-block{padding-right:15px}}.admin-shell{color:#26211e;background:#f3f1ed;grid-template-columns:230px 1fr;min-height:100vh;display:grid}.admin-side{color:#cfc5bd;background:#29231f;flex-direction:column;height:100vh;padding:28px 17px 20px;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid #433b36;align-items:center;gap:11px;padding:0 10px 28px;display:flex}.admin-brand>span{color:#fff;background:#b99158;border-radius:50%;place-items:center;width:38px;height:38px;font:20px Georgia;display:grid}.admin-brand b,.admin-brand small{display:block}.admin-brand b{color:#fff;letter-spacing:.14em;font-size:14px}.admin-brand small{margin-top:3px;font-size:9px}.admin-side nav{flex-direction:column;gap:5px;margin-top:25px;display:flex}.admin-side nav button{color:#b8aea7;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:12px;font-size:12px;display:flex}.admin-side nav button i{text-align:center;width:18px;font-size:16px;font-style:normal}.admin-side nav button.active{color:#fff;background:#403731}.admin-side nav button em{color:#fff;background:#c36e5a;border-radius:99px;margin-left:auto;padding:2px 6px;font-size:9px;font-style:normal}.side-bottom{border-top:1px solid #433b36;margin-top:auto;padding-top:15px}.side-bottom>a{color:#a69a92;padding:10px;font-size:10px;display:block}.side-bottom>button{color:#fff;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.side-bottom>button>span{background:#7e6758;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.side-bottom b,.side-bottom small{font-size:11px;display:block}.side-bottom small{color:#91857d;margin-top:2px;font-size:9px}.admin-main{min-width:0;padding:30px 35px 50px}.admin-main>header{justify-content:space-between;align-items:end;margin-bottom:25px;display:flex}.admin-main>header p{color:#8b837d;margin:0;font-size:10px}.admin-main>header h1{margin:5px 0 0;font:30px Georgia,Songti SC,serif}.admin-actions{gap:10px;display:flex}.admin-actions button{background:#fff;border:1px solid #ded9d3;border-radius:8px;height:38px;padding:0 15px;position:relative}.admin-actions button span{color:#fff;background:#c56a58;border-radius:50%;place-items:center;width:16px;height:16px;font-size:8px;display:grid;position:absolute;top:-5px;right:-4px}.admin-actions .dark{color:#fff;background:#342d28;border-color:#342d28}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.metric-grid article{background:#fff;border:1px solid #e4dfda;border-radius:12px;padding:18px 20px}.metric-grid p{color:#716a65;justify-content:space-between;margin:0;font-size:11px;display:flex}.metric-grid p span{color:#5e7e60;background:#eef4ec;border-radius:99px;padding:3px 6px;font-size:8px}.metric-grid p .coral-stat{color:#b25d4d;background:#faece8}.metric-grid strong{margin:13px 0 7px;font:32px Georgia;display:block}.metric-grid small{color:#8e8782;font-size:9px}.metric-grid small b{color:#54815b}.metric-grid small i{vertical-align:middle;background:#e7e2dc;border-radius:8px;width:80px;height:4px;margin-right:7px;display:inline-block}.metric-grid small u{background:#b79059;border-radius:8px;height:100%;display:block}.admin-middle{grid-template-columns:1.45fr .8fr;gap:14px;margin-top:14px;display:grid}.today-panel,.quick-panel,.member-table{background:#fff;border:1px solid #e4dfda;border-radius:12px;padding:20px}.panel-title{justify-content:space-between;align-items:center;display:flex}.panel-title h2{margin:0;font-size:15px}.panel-title p{color:#8f8781;margin:4px 0 0;font-size:9px}.panel-title button{color:#a47d49;background:0 0;border:0;font-size:10px}.timeline{margin-top:16px}.timeline>div{border-top:1px solid #eeeae6;grid-template-columns:50px 10px 1fr 76px 90px;align-items:center;gap:10px;padding:12px 0;display:grid}.timeline time{font:13px Georgia}.timeline>div>span{background:#c9a46d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #f4ece1}.timeline>div>span.done{background:#719178;box-shadow:0 0 0 4px #e8f0e9}.timeline section b{font-size:11px}.timeline section p{color:#8d8580;margin:4px 0 0;font-size:9px}.timeline em{color:#8b837e;font-size:9px;font-style:normal}.timeline button{background:#fff;border:1px solid #ded8d2;border-radius:6px;padding:7px;font-size:9px}.timeline button.checked{color:#63806a;background:#eef4ef;border-color:#dce9de}.quick-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:16px;display:grid}.quick-grid button{text-align:left;background:#faf9f7;border:1px solid #e7e1dc;border-radius:9px;padding:15px}.quick-grid span{color:#987346;background:#eee5d8;border-radius:8px;place-items:center;width:29px;height:29px;margin-bottom:11px;display:grid}.quick-grid b,.quick-grid small{display:block}.quick-grid b{font-size:11px}.quick-grid small{color:#918983;margin-top:4px;font-size:8px}.member-table{margin-top:14px;padding:20px 0 0}.table-title{padding:0 20px 16px}.table-title>div:last-child{gap:7px;display:flex}.table-title label{color:#938b85;border:1px solid #e0dbd5;border-radius:7px;padding:7px 10px}.table-title input{border:0;outline:none;margin-left:6px;font-size:9px}.table-title button{color:#6e6762;border:1px solid #e0dbd5;border-radius:7px;padding:0 12px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:850px}th{text-align:left;color:#8e8680;background:#f8f6f3;padding:10px 14px;font-size:8px;font-weight:500}td{color:#665f5a;border-top:1px solid #eeeae6;padding:11px 14px;font-size:10px}td:first-child{align-items:center;gap:9px;display:flex}.member-dot{color:#765545;background:#e7d4c3;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid}td b,td small{display:block}td small{color:#9b948e;margin-top:3px;font-size:8px}.member-status{color:#5b7a62;background:#e9f2eb;border-radius:99px;padding:4px 7px;font-size:8px}.member-status.即将到期{color:#a47530;background:#fff2df}.member-status.冻结{color:#766e69;background:#eeeae7}td:last-child button{color:#8a827c;background:0 0;border:0}.admin-main button{cursor:pointer}@media (width<=1050px){.metric-grid{grid-template-columns:1fr 1fr}.admin-middle{grid-template-columns:1fr}.admin-shell{grid-template-columns:190px 1fr}}@media (width<=760px){.admin-shell{display:block}.admin-side{height:auto;padding:15px;position:static}.admin-side nav{flex-direction:row;margin-top:10px;overflow:auto}.admin-side nav button{white-space:nowrap}.side-bottom{display:none}.admin-main{padding:22px 14px}.metric-grid{grid-template-columns:1fr 1fr}.admin-main>header{align-items:flex-start}.admin-middle{grid-template-columns:1fr}.timeline>div{grid-template-columns:44px 8px 1fr}.timeline>div>em,.timeline>div>button{grid-column:3}.quick-grid{grid-template-columns:1fr 1fr}}.state-page{background:radial-gradient(circle at 75% 20%,#795344,#2b211d 62%);place-items:center;min-height:100vh;padding:24px;display:grid}.state-card{text-align:center;background:#fffdfa;border-radius:24px;width:min(560px,100%);padding:48px;box-shadow:0 30px 80px #00000038}.state-card .brand-mark{margin:0 auto 26px}.state-card h1{margin:14px 0;font:38px Georgia,Songti SC,serif}.state-card p{color:#766d66;line-height:1.7}.state-action{color:#fff;background:#352a25;border-radius:999px;margin-top:20px;padding:13px 24px;display:inline-block}.error-banner{z-index:40;color:#9b4d3e;background:#fff0ec;border:1px solid #e8b7ad;border-radius:10px;padding:11px 18px;position:fixed;top:86px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #3f261e1f}.error-banner button{color:inherit;background:0 0;border:0;margin-left:18px}.empty-card{color:#81766f;padding:30px 0}.empty-card h2{color:#352a25;font:22px Georgia,Songti SC,serif}.empty-schedule{text-align:center;color:#81766f;border-bottom:1px solid #e7dfd6;padding:60px}.footer-logout{color:#9a7062;background:0 0;border:0;font-size:10px}.form-error{color:#9b4d3e;background:#fff0ec;border-radius:8px;padding:10px 12px;font-size:12px}.primary:disabled,.class-space button:disabled{opacity:.6;cursor:wait}.state-action{border-radius:10px}.first-use-note{color:#9a8f87!important;margin-top:16px!important;font-size:12px!important}.text-action{color:var(--muted);background:0 0;border:0;margin:13px auto 0;font-size:12px;display:block}.login-help{border-top:1px solid var(--line);color:var(--muted);justify-content:center;gap:6px;margin-top:28px;padding-top:18px;font-size:12px;display:flex}.login-help a{color:#936d3e;font-weight:600}.code-row button:disabled{color:#aaa;cursor:not-allowed;background:#f6f3ef}.admin-login{background:radial-gradient(circle at 75% 15%,#745141,#29211d 64%);place-items:center;min-height:100vh;padding:24px;display:grid}.admin-login>div,.admin-login>form{background:#fffdfa;border-radius:20px;width:min(430px,100%);padding:44px;box-shadow:0 30px 90px #00000040}.admin-login .brand-mark{margin-bottom:24px}.admin-login h1{margin:13px 0;font:36px Georgia,Songti SC,serif}.admin-login p{color:#766d66;line-height:1.6}.admin-login label{margin:20px 0;font-size:12px;font-weight:600;display:block}.admin-login input,.admin-modal input,.admin-modal select,.admin-modal textarea{background:#f9f6f2;border:1px solid #e1d9d0;border-radius:9px;outline:none;width:100%;margin-top:7px;padding:13px;display:block}.admin-modal textarea{resize:vertical;min-height:120px;font:inherit}.dark-login{color:#fff;background:#342c27;border:0;border-radius:9px;width:100%;margin-top:12px;padding:14px}.admin-error{color:#9b4d3e;background:#fff0ec;border-radius:8px;margin-bottom:14px;padding:10px 14px}.admin-error button{float:right;color:inherit;background:0 0;border:0}.invite-row{color:#8c673d!important;border:1px solid #d9cec3!important;border-radius:6px!important;padding:6px 9px!important}.admin-empty{text-align:center;color:#8b817a;padding:30px}.modal-backdrop{z-index:100;background:#1f19168c;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.admin-modal{background:#fffdfa;border-radius:16px;width:min(500px,100%);max-height:calc(100vh - 40px);padding:28px;position:relative;overflow:auto;box-shadow:0 30px 90px #0000004d}.admin-modal.wide{width:min(760px,100%)}.growth-edit-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.growth-attachments{background:#f8f6f2;border:2px solid #29231f;margin-top:18px;padding:14px}.growth-attachments>div{border-bottom:1px solid #d8d1c9;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.growth-attachments>div:last-child{border-bottom:0}.growth-attachments span small{color:#887d75;margin-top:3px;display:block}.growth-attachments p{color:#887d75;margin:12px 0 0}.growth-edit-actions{gap:10px}.admin-modal h2{margin:0 0 18px;font:25px Georgia,Songti SC,serif}.admin-modal>p{color:#766d66}.admin-modal label{margin:15px 0;font-size:12px;display:block}.admin-modal button{background:#fff;border:1px solid #ded6ce;border-radius:8px;padding:10px 16px}.admin-modal button.dark{color:#fff;background:#342c27}.admin-modal button:disabled,.dark-login:disabled{opacity:.55}.modal-close{font-size:24px;position:absolute;top:15px;right:18px;background:0 0!important;border:0!important}.modal-submit{justify-content:flex-end;margin-top:22px;display:flex}.check-field{align-items:center;gap:8px;display:flex!important}.check-field input{width:auto;margin:0;display:inline-block}.form-hint{color:#8b6b48;background:#f8f1e9;border-radius:8px;padding:10px;font-size:12px}.permission-fields{border:1px solid #e1d9d0;border-radius:9px;margin-top:16px;padding:8px 14px}.permission-fields legend{padding:0 5px;font-size:12px}.permission-fields label{align-items:center;gap:8px;margin:9px 0;display:flex}.permission-fields input{width:auto;margin:0;display:inline-block}.admin-modal select.member-multi{min-height:210px;padding:5px}.admin-modal select.member-multi option{border-bottom:1px solid #eee7df;padding:7px}.admin-modal label>small{color:#887d75;margin-top:5px;display:block}.mode-tabs{gap:8px;display:flex}.mode-tabs button.active{color:#fff;background:#342c27}.admin-data{margin-top:0}.admin-data td small{color:#8b817a;margin-top:4px;display:block}.panel-actions{align-items:center;gap:8px;display:flex}.panel-actions>button{background:#fff;border:1px solid #d9cec3;border-radius:7px;padding:9px 13px}.panel-actions>button.dark{color:#fff;background:#342c27}.admin-search{border:1px solid #ddd2c7;border-radius:7px;align-items:center;padding:0 10px;display:flex}.admin-search input{border:0;outline:none;padding:9px}.admin-list>div{border-bottom:1px solid #eee7df;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:14px;padding:16px 0;display:grid}.admin-list span{color:#746b65;font-size:13px}.admin-list em{color:#98704a;font-style:normal}.calendar-toolbar{background:#f7f7f2;border-top:2px solid #111;border-bottom:2px solid #111;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.calendar-toolbar>div{align-items:center;gap:8px;display:flex}.calendar-toolbar button{background:#fff;border:2px solid #111;min-width:34px;height:34px;font-weight:800}.calendar-toolbar strong{text-align:center;min-width:130px;font-size:15px}.view-switch button.active{background:#f2f51f}.calendar-wrap{overflow:auto}.month-calendar{min-width:980px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays b{color:#fff;text-align:center;background:#111;border-right:1px solid #999;padding:10px;font-size:10px}.calendar-day{background:#fff;border-bottom:1px solid #999;border-right:1px solid #999;min-height:150px;padding:8px}.calendar-day.today{background:#fbfcb0}.day-number{place-items:center;width:25px;height:25px;font-weight:900;display:inline-grid}.today .day-number{color:#f2f51f;background:#111}.day-events{gap:5px;margin-top:5px;display:grid}.day-events article{background:#f1f1ed;border-left:5px solid #111;padding:6px}.day-events article.room-one{border-color:#2672d9}.day-events article.room-three{border-color:#e34c2f}.day-events article.room-boys{border-color:#7b43c6}.day-events time,.day-events b,.day-events small{display:block}.day-events time{font-size:9px;font-weight:900}.day-events b{margin:2px 0;font-size:10px;line-height:1.25}.day-events small{color:#666;font-size:8px}.schedule-filters{background:#fff;border-top:1px solid #ded8d0;align-items:end;gap:12px;padding:16px 20px;display:flex}.schedule-filters label{gap:5px;font-size:10px;font-weight:800;display:grid}.schedule-filters select{background:#fff;border:1px solid #cfc8c0;border-radius:6px;min-width:150px;padding:9px}.schedule-filters button{background:#fff;border:1px solid #111;border-radius:6px;padding:9px 12px}.schedule-filters>span{background:#f2f51f;margin-left:auto;padding:8px 12px;font-size:11px;font-weight:900}.day-events article[role=button]{cursor:pointer;transition:transform .15s,box-shadow .15s}.day-events article[role=button]:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0002}.level-badge{background:#ece8e2;border-radius:99px;padding:4px 8px;font-size:10px;font-weight:900;display:inline-block}.level-1{color:#21559c;background:#dce9ff}.level-2{color:#69349a;background:#eee0ff}.level-3{color:#f2f51f;background:#27211d}.course-summary{grid-template-columns:1fr 1fr;gap:10px;display:grid}.course-summary>div{background:#f5f2ed;border-radius:8px;padding:12px}.course-summary small,.course-summary b{display:block}.course-summary small{color:#83776f;margin-bottom:5px}.detail-heading{margin:24px 0 10px}.bound-members{border-top:1px solid #e4ddd5}.bound-members>div{border-bottom:1px solid #e4ddd5;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:11px 0;display:grid}.bound-members>div>span,.member-hero>span{background:#f2f51f;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.bound-members small{color:#887d75;margin-top:3px;display:block}.bound-members em{color:#6f665f;font-size:10px;font-style:normal}.detail-note{background:#f8f1e9;border-radius:7px;font-size:11px;padding:10px!important}.member-hero{border-bottom:1px solid #e4ddd5;align-items:center;gap:12px;padding-bottom:18px;display:flex}.member-hero>span{width:54px;height:54px;font-size:20px}.member-hero h3,.member-hero p{margin:0}.member-hero p{color:#887d75;font-size:11px}.member-hero>b{color:#f2f51f;background:#27211d;border-radius:99px;margin-left:auto;padding:5px 9px}.credit-cards{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;display:grid}.credit-cards article{background:#f5f2ed;border-radius:8px;padding:13px}.credit-cards small,.credit-cards strong{display:block}.credit-cards strong{margin-top:7px;font-size:21px}.member-meta{margin:0}.member-meta>div{border-bottom:1px solid #eee7df;justify-content:space-between;padding:10px 0;display:flex}.member-meta dt{color:#81766e}.config-tip{color:#766d66;font-size:11px}.config-grid{background:#f5f2ed;grid-template-columns:1fr 1fr;gap:18px;padding:20px;display:grid}.config-grid>section{background:#fff;border:1px solid #ded8d0;border-radius:10px;padding:20px}.config-grid header{justify-content:space-between;gap:10px;display:flex}.config-grid h3,.config-grid p{margin:0}.config-grid p{color:#82776f;margin-top:5px;font-size:11px}.config-grid header button{background:#f2f51f;border:1px solid #111;border-radius:5px;height:32px;font-weight:800}.config-grid section>div{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.config-grid section>div>span{background:#f2f0ec;border-radius:5px;padding:8px 9px;font-size:11px}.config-grid span button{color:#998e86;cursor:pointer;background:0 0;border:0;margin-left:7px}.course-title-block{color:#fff;background:#29231f;border-radius:10px;margin-bottom:12px;padding:16px}.course-title-block>span{color:#111;background:#f2f51f;border-radius:3px;padding:4px 7px;font-size:9px;font-weight:900;display:inline-block}.course-title-block h3{margin:10px 0 5px;font-size:20px}.course-title-block p{color:#d9d1cb;margin:0;font-size:12px;line-height:1.6}.lesson-flow{border:1px solid #ddd5cd;border-radius:10px;gap:0;display:grid;overflow:hidden}.lesson-flow article{background:#fff;grid-template-columns:68px 1fr;gap:14px;padding:16px;display:grid}.lesson-flow article time{color:#6f655e;font-size:10px;font-weight:900}.lesson-flow article b{margin-bottom:7px;display:block}.lesson-flow article p{color:#5f5752;margin:0;font-size:12px;line-height:1.7}.lesson-break{background:#f2f51f;justify-content:space-between;align-items:center;padding:8px 16px 8px 98px;font-size:10px;display:flex}.lesson-flow aside{color:#75452c;background:#fff3e8;border-left:3px solid #e97b39;margin-top:12px;padding:10px;font-size:11px;line-height:1.6}.lesson-flow aside strong{color:#bd511d;margin-bottom:3px;display:block}.source-reference{text-align:right;color:#8b817a!important;margin:8px 0 0!important;font-size:9px!important}@media (width<=900px){.admin-side{width:100%;position:static}.admin-shell{display:block}.admin-side nav{display:flex;overflow:auto}.admin-main{margin-left:0!important;padding:20px!important}.metric-grid{grid-template-columns:repeat(2,1fr)!important}.admin-middle{grid-template-columns:1fr!important}.schedule-filters{flex-wrap:wrap;align-items:stretch}.schedule-filters label{flex:1}.schedule-filters select{width:100%;min-width:120px}.schedule-filters>span{margin-left:0}.config-grid{grid-template-columns:1fr}}@media (width<=560px){.metric-grid{grid-template-columns:1fr!important}.admin-main header{align-items:flex-start;gap:12px}.admin-actions,.panel-actions{flex-wrap:wrap}.panel-title{align-items:flex-start;gap:12px}.admin-modal{padding:22px}.growth-edit-grid,.admin-list>div{grid-template-columns:1fr}.admin-side nav button{min-width:120px}}:root{--brand:#f2f51f;--brand-soft:#fbfc9b;--ink:#121212;--muted:#686868;--paper:#f3f3ef;--card:#fff;--line:#d7d7d0;--gold:#121212;--coral:#ff5a3c;--deep:#121212}body{background:var(--paper);color:var(--ink);letter-spacing:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{letter-spacing:0}.eyebrow{color:var(--ink);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:900}.brand-logo{object-fit:cover;object-position:center;border:0;width:142px;height:48px;display:block}.brand-logo-large{width:220px;height:90px}.state-logo{object-fit:cover;width:230px;height:130px;margin:0 auto 28px;display:block}.topbar{background:var(--brand);border-bottom:3px solid var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;height:72px;padding:0 max(3vw,24px)}.topbar nav{gap:8px}.topbar nav a{color:var(--ink);border:2px solid #0000;padding:12px 18px;font-size:13px;font-weight:800}.topbar nav a:hover,.topbar nav a.active{border-color:var(--ink);background:var(--ink);color:var(--brand)}.avatar{border:2px solid var(--ink);width:40px;height:40px;color:var(--ink);background:0 0;border-radius:0}.hero{background:var(--ink);color:#fff;border-bottom:10px solid var(--brand);align-items:center;min-height:330px;padding:62px max(5vw,28px) 58px}.hero-copy h1{letter-spacing:0;margin:12px 0 20px;font-family:Arial,PingFang SC,sans-serif;font-size:clamp(38px,5vw,70px);font-weight:950;line-height:1}.hero-copy .eyebrow{color:var(--brand)}.hero-copy>p:last-child{color:#c9c9c3;font-size:16px}.child-switcher{border:2px solid var(--brand);background:0 0;border-radius:0;padding:0}.child-switcher button{color:#fff;border-radius:0;min-width:180px;padding:15px}.child-switcher button.selected{background:var(--brand);color:var(--ink)}.child-switcher button>span{background:0 0;border:2px solid;border-radius:0}.dashboard-grid{gap:14px;max-width:1480px;margin:0 auto;padding:28px max(3vw,24px)}.card,.today-panel,.quick-panel,.member-table{border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:var(--card);border-radius:4px}.card{padding:24px}.card-label{color:var(--ink);text-transform:uppercase;font-weight:900}.status-dot,.green-pill{background:var(--brand);color:var(--ink);border-radius:2px;font-weight:800}.date-block strong,.credit-pair strong{font-family:Arial,sans-serif;font-weight:950}.date-block{border-right:3px solid var(--ink)}.next-info h2,.section-heading h2,.empty-card h2,.announcement h3{letter-spacing:0;font-family:Arial,PingFang SC,sans-serif;font-weight:950}.checkin-note{background:var(--brand-soft);border:1px solid var(--ink);border-radius:2px}.checkin-note>span,.credit-icon{background:var(--ink);color:var(--brand);border-radius:2px}.credit-pair>div:first-child{border-right:2px solid var(--ink)}.pin{background:var(--brand);color:var(--ink);border-radius:0;font-weight:900}.announcement-row{border-top:2px solid var(--ink)}.schedule-section{max-width:1400px;margin:42px auto 70px}.section-heading{border-bottom:5px solid var(--ink);padding-bottom:16px}.class-list{border-top:0}.class-row{border-bottom:2px solid var(--ink);background:#fff;grid-template-columns:78px 110px 1fr 160px;padding:18px}.class-row:hover{background:var(--brand-soft)}.class-date b{font-family:Arial,sans-serif;font-weight:950}.tag{border:2px solid var(--ink);color:var(--ink);border-radius:0;font-weight:800}.coral-tag{background:var(--ink);color:var(--brand)}.class-space button,.primary,.state-action,.success a{border:2px solid var(--ink);background:var(--brand);color:var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:2px;font-weight:900;transition:transform .15s,box-shadow .15s}.class-space button:hover,.primary:hover,.state-action:hover,.success a:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.class-space button.booked{border:2px solid var(--ink);color:var(--ink);box-shadow:none;background:#fff}footer{border-top:3px solid var(--ink);background:var(--brand);color:var(--ink)}.footer-logout{border:2px solid var(--ink);color:var(--ink);padding:8px 12px;font-weight:800}.state-page{background:var(--brand);padding:24px}.state-card{border:3px solid var(--ink);width:min(520px,100%);box-shadow:10px 10px 0 var(--ink);background:#fff;border-radius:2px;padding:38px}.state-card h1{font-family:Arial,PingFang SC,sans-serif;font-size:42px;font-weight:950}.invite-shell{background:#fff}.invite-brand{background:var(--brand);color:var(--ink);border-right:4px solid var(--ink);padding:42px 7vw;position:relative}.invite-brand h1{letter-spacing:0;max-width:650px;font-family:Arial,PingFang SC,sans-serif;font-size:clamp(48px,6vw,86px);font-weight:950;line-height:.98}.invite-brand>div>p:last-child,.invite-brand>.brand small,.invite-brand>small{color:var(--ink)}.invite-form-wrap{background:#f5f5f1}.invite-form-wrap form,.success{border-top:10px solid var(--brand);box-shadow:8px 8px 0 var(--ink);border-left:2px solid var(--ink);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);background:#fff;padding:34px}.invite-form-wrap h2,.success h2{font-family:Arial,PingFang SC,sans-serif;font-weight:950}.invite-form-wrap input{border:2px solid var(--ink);background:#fff;border-radius:2px}.invite-form-wrap input:focus{border-color:var(--ink);box-shadow:4px 4px 0 var(--brand)}.code-row button{border:2px solid var(--ink);color:var(--ink);border-radius:2px;font-weight:800}.login-help{border-top:2px solid var(--ink)}.login-help a{color:var(--ink);text-decoration:underline}.success>span{border:2px solid var(--ink);background:var(--brand);color:var(--ink);border-radius:0}.error-banner,.form-error,.admin-error{border:2px solid var(--ink);color:#7c1d0d;box-shadow:4px 4px 0 var(--ink);background:#ffdfd8;border-radius:2px}.admin-shell{background:#edede8;grid-template-columns:230px 1fr}.admin-side{background:var(--ink);color:#fff;border-right:5px solid var(--brand);padding:20px 14px}.admin-brand{border-bottom:2px solid #444;padding:0 0 20px;display:block}.admin-brand img{object-fit:cover;width:100%;height:105px;display:block}.admin-side nav{gap:7px}.admin-side nav button{color:#ddd;border:2px solid #0000;border-radius:2px;padding:12px;font-weight:800}.admin-side nav button:hover{border-color:#555}.admin-side nav button.active{border-color:var(--brand);background:var(--brand);color:var(--ink)}.side-bottom{border-top:2px solid #444}.side-bottom>a{color:var(--brand);font-weight:800}.side-bottom>button>span{background:var(--brand);color:var(--ink);border-radius:2px}.admin-main{padding:28px 30px 50px}.admin-main>header{border-bottom:5px solid var(--ink);padding-bottom:18px}.admin-main>header h1{font-family:Arial,PingFang SC,sans-serif;font-size:34px;font-weight:950}.admin-actions button,.panel-actions>button{border:2px solid var(--ink);background:#fff;border-radius:2px;font-weight:800}.admin-actions .dark,.panel-actions>button.dark,.admin-modal button.dark{border-color:var(--ink);background:var(--brand);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.metric-grid{gap:12px}.metric-grid article{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:2px;padding:18px}.metric-grid article:first-child{background:var(--brand)}.metric-grid p{color:var(--ink);font-weight:800}.metric-grid p span,.metric-grid p .coral-stat{background:var(--ink);color:var(--brand);border-radius:0}.metric-grid strong{font-family:Arial,sans-serif;font-weight:950}.admin-middle{gap:12px}.quick-grid button{border:2px solid var(--ink);background:#fff;border-radius:2px}.quick-grid button:hover{background:var(--brand)}.quick-grid span{background:var(--ink);color:var(--brand);border-radius:0}.member-table{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:2px}th{background:var(--ink);color:#fff;font-weight:800}td{color:var(--ink);border-top:1px solid #aaa}tbody tr:hover{background:var(--brand-soft)}.member-dot{background:var(--brand);color:var(--ink);border-radius:0}.member-status{background:var(--brand);color:var(--ink);border-radius:0;font-weight:800}.invite-row{font-weight:800;border:2px solid var(--ink)!important;color:var(--ink)!important;background:#fff!important;border-radius:2px!important}.invite-row:hover{background:var(--brand)!important}.admin-search{border:2px solid var(--ink);border-radius:2px}.modal-backdrop{background:#000000b8}.admin-modal{border:3px solid var(--ink);box-shadow:10px 10px 0 var(--brand);background:#fff;border-radius:2px}.admin-modal h2{font-family:Arial,PingFang SC,sans-serif;font-weight:950}.admin-modal input,.admin-modal select,.admin-modal textarea{border:2px solid var(--ink);background:#fff;border-radius:2px}.mode-tabs button{border:2px solid var(--ink);border-radius:2px}.mode-tabs button.active{background:var(--brand);color:var(--ink)}.permission-fields{border:2px solid var(--ink);border-radius:2px}.admin-login{background:var(--brand)}.admin-login>div,.admin-login>form{border:3px solid var(--ink);box-shadow:10px 10px 0 var(--ink);background:#fff;border-radius:2px}.admin-login h1{font-family:Arial,PingFang SC,sans-serif;font-weight:950}.dark-login{border:2px solid var(--ink);background:var(--brand);color:var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:2px;font-weight:900}.child-switcher button:only-child{width:100%}.archive-section{border-top:10px solid var(--brand);border-bottom:3px solid var(--ink);background:#fff;max-width:1400px;margin:50px auto;padding:34px max(3vw,24px)}.archive-heading{border-bottom:4px solid var(--ink);justify-content:space-between;align-items:end;gap:24px;padding-bottom:20px;display:flex}.archive-heading h2{margin:8px 0;font-size:36px}.archive-heading p{color:var(--muted)}.archive-heading>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.archive-heading button{border:2px solid var(--ink);background:#fff;padding:9px 12px;font-weight:800}.archive-heading button:first-child{background:var(--brand)}.archive-grid{grid-template-columns:1fr 1.2fr .8fr;gap:18px;margin-top:22px;display:grid}.archive-grid>article{border:2px solid var(--ink);min-width:0;padding:20px}.archive-grid h3{justify-content:space-between;margin:0 0 18px;display:flex}.archive-grid h3 span{background:var(--brand);padding:5px 8px;font-size:12px}.growth-entry{border-top:1px solid #bbb;grid-template-columns:88px 1fr;gap:12px;padding:14px 0;display:grid}.growth-entry time{font-weight:900}.growth-entry p{margin:7px 0;line-height:1.6}.growth-entry small,.growth-entry em{color:var(--muted);margin-top:5px;font-style:normal;display:block}.learning-entry{border-top:1px solid #bbb;padding:12px 0}.learning-entry summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-entry summary b,.learning-entry summary small{display:block}.learning-entry summary small{color:var(--muted);margin-top:5px}.learning-entry summary span{white-space:nowrap;background:var(--brand);padding:4px 7px;font-size:11px}.learning-entry>div{background:#f4f4ef;margin-top:12px;padding:14px;line-height:1.65}.learning-entry h4{margin:0 0 8px}.learning-entry p{margin:6px 0}.archive-balance{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.archive-balance>div{background:var(--ink);color:#fff;padding:14px}.archive-balance b,.archive-balance small{display:block}.archive-balance strong{color:var(--brand);font-size:32px}.ledger-entry{border-top:1px solid #bbb;grid-template-columns:75px 1fr auto;gap:8px;padding:10px 0;font-size:11px;display:grid}.ledger-entry span{color:var(--muted)}.ledger-entry em{font-style:normal;font-weight:900}.archive-empty,.archive-privacy{color:var(--muted);line-height:1.7}.archive-privacy{margin-top:16px;font-size:11px}.admin-growth{border-top:1px solid #aaa;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;display:flex}.admin-growth p{margin:6px 0;line-height:1.6}.admin-growth small{color:var(--muted);margin-top:4px;display:block}.admin-growth button{white-space:nowrap;padding:8px 11px}.record-actions{align-items:center;gap:6px;display:flex}.archive-filters{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.archive-filters select,.archive-filters input{border:2px solid var(--ink);background:#fff;min-width:120px;padding:8px}.archive-notice{text-align:left;border:2px solid var(--ink);background:var(--brand);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;margin-top:12px;padding:12px;display:grid}.archive-notice em{font-style:normal;text-decoration:underline}.archive-file{border:1px solid var(--ink);background:#fff;margin-top:7px;padding:6px 8px;font-size:11px;display:block}.booking-history{border-left:3px solid var(--brand);margin:10px 0;padding:8px 10px}.booking-history small{color:var(--muted);margin-top:4px;display:block}@media (width<=1100px){.archive-grid{grid-template-columns:1fr 1fr}.archive-grid>article:last-child{grid-column:1/-1}}@media (width<=900px){.archive-heading{flex-direction:column;align-items:flex-start}.archive-grid{grid-template-columns:1fr}.archive-grid>article:last-child{grid-column:auto}.brand-logo{width:120px;height:42px}.hero{min-height:auto}.admin-side{border-right:0;border-bottom:5px solid var(--brand)}.admin-brand img{width:180px;height:75px}.admin-side nav button{min-width:118px}}@media (width<=640px){.topbar{height:62px;padding:0 14px}.brand-logo{width:110px;height:38px}.hero{border-bottom-width:7px;padding:38px 18px 34px}.hero-copy h1{font-size:38px}.dashboard-grid{padding:16px 12px}.card{box-shadow:4px 4px 0 var(--ink)}.class-row{grid-template-columns:52px 1fr}.invite-brand{border-right:0;border-bottom:4px solid var(--ink);min-height:280px;padding:24px}.brand-logo-large{width:170px;height:68px}.invite-brand h1{font-size:43px}.invite-form-wrap{padding:34px 18px 50px}.invite-form-wrap form,.success{box-shadow:6px 6px 0 var(--ink);padding:24px}.state-card{padding:28px 22px}.state-logo{width:190px;height:105px}.admin-main{padding:20px 12px}.metric-grid{grid-template-columns:1fr 1fr!important}}.class-row[role=button]{cursor:pointer}.class-row[role=button]:focus-visible{outline:4px solid var(--brand);outline-offset:2px}.course-view-hint{color:var(--ink);margin-top:6px;font-weight:800;text-decoration:underline;display:block}.member-course-backdrop{z-index:120;background:#000000bd;place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow:auto}.member-course-modal{border:3px solid var(--ink);width:min(820px,100%);max-height:calc(100vh - 44px);box-shadow:12px 12px 0 var(--brand);background:#fff;position:relative;overflow:auto}.member-course-close{z-index:1;background:0 0;border:0;font-size:30px;font-weight:900;position:absolute;top:14px;right:18px}.member-course-modal>header{border-bottom:3px solid var(--ink);background:var(--brand);padding:30px 34px 24px}.member-course-modal>header>span{background:var(--ink);color:var(--brand);padding:4px 7px;font-size:10px;font-weight:900;display:inline-block}.member-course-modal h2{margin:12px 40px 5px 0;font-size:31px}.member-course-modal header p{margin:0;font-weight:700}.member-course-facts{border-bottom:2px solid var(--ink);grid-template-columns:repeat(3,1fr);display:grid}.member-course-facts>div{border-right:1px solid var(--ink);padding:18px}.member-course-facts>div:last-child{border-right:0}.member-course-facts small,.member-course-facts b,.member-course-facts span{display:block}.member-course-facts small{color:var(--muted);margin-bottom:7px}.member-course-facts span{margin-top:5px;font-size:11px;line-height:1.5}.member-course-objective{background:#f2f2ed;padding:18px 28px}.member-course-objective small{font-weight:900}.member-course-objective p{margin:7px 0 0;line-height:1.7}.member-lesson-flow{padding:8px 28px 24px}.member-lesson-flow article{grid-template-columns:74px 1fr;gap:16px;padding:19px 0;display:grid}.member-lesson-flow time{font-weight:900}.member-lesson-flow article b{margin-bottom:7px;display:block}.member-lesson-flow article p,.member-lesson-flow aside p{color:var(--muted);margin:0;line-height:1.75}.member-lesson-break{background:var(--brand);justify-content:space-between;padding:9px 14px;display:flex}.member-lesson-flow aside{border-left:5px solid var(--brand);background:#f3f3ee;padding:14px}.member-lesson-flow aside b{margin-bottom:6px;display:block}.member-course-actions{border-top:3px solid var(--ink);background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;display:flex}.member-course-actions b,.member-course-actions small{display:block}.member-course-actions small{color:var(--muted);margin-top:5px}.member-course-actions button{border:2px solid var(--ink);background:var(--brand);min-width:130px;box-shadow:4px 4px 0 var(--ink);padding:12px 18px;font-weight:900}.member-course-actions button.cancel-booking{box-shadow:none;background:#fff}@media (width<=640px){.member-course-backdrop{padding:10px}.member-course-modal{max-height:calc(100vh - 20px);box-shadow:6px 6px 0 var(--brand)}.member-course-modal>header{padding:24px 20px 18px}.member-course-modal h2{font-size:25px}.member-course-facts{grid-template-columns:1fr}.member-course-facts>div{border-right:0;border-bottom:1px solid var(--ink)}.member-course-facts>div:last-child{border-bottom:0}.member-course-objective,.member-lesson-flow{padding-left:18px;padding-right:18px}.member-lesson-flow article{grid-template-columns:60px 1fr}.member-course-actions{flex-direction:column;align-items:stretch;padding:16px 18px}.member-course-actions button{width:100%}}.small-class-booking{max-width:1340px;margin:54px auto 0;padding:0 max(4vw,24px)}.small-class-booking .section-heading{align-items:center}.small-class-booking .section-heading p{margin:7px 0 0}.small-class-booking label{gap:7px;font-size:11px;font-weight:800;display:grid}.small-class-booking select{border:2px solid var(--ink);background:#fff;min-width:190px;padding:10px}.small-slot-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.small-slot-grid article{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fff;gap:10px;padding:20px;display:grid}.small-slot-grid article .tag{width:max-content}.small-slot-grid h3,.small-slot-grid p{margin:0}.small-slot-grid time{font-weight:800}.small-slot-grid p,.small-slot-grid small{color:var(--muted)}.small-slot-grid button{border:2px solid var(--ink);background:var(--brand);box-shadow:3px 3px 0 var(--ink);justify-self:end;padding:9px 15px;font-weight:900}.small-slot-grid button:disabled{opacity:.5}.member-service-notice{border:2px solid var(--ink);background:var(--brand);text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:min(1100px,100% - 48px);margin:12px auto 0;padding:13px 16px;display:grid}.member-service-notice span{font-size:12px}.member-service-notice em{font-size:10px;font-style:normal;text-decoration:underline}@media (width<=960px){.small-slot-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.small-class-booking{margin:48px auto 0;padding:0 14px}.small-slot-grid{grid-template-columns:1fr}}.small-class-admin{gap:18px;display:grid}.small-class-admin .member-table{margin-top:0}.small-profile-grid{background:#f5f2ed;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.small-profile-grid form{background:#fff;border:1px solid #dcd5ce;border-radius:8px;gap:11px;padding:18px;display:grid}.small-profile-grid header{justify-content:space-between;align-items:start;display:flex}.small-profile-grid h3,.small-profile-grid p{margin:0}.small-profile-grid p{color:#81766e;margin-top:4px;font-size:10px}.small-profile-grid label,.small-admin-form label{gap:5px;font-size:10px;font-weight:800;display:grid}.small-profile-grid input,.small-profile-grid select,.small-admin-form input,.small-admin-form select,.substitute-form input,.substitute-form select{background:#fff;border:1px solid #cec6bf;border-radius:5px;min-width:0;padding:9px}.small-profile-grid .toggle{align-items:center;gap:6px;display:flex}.small-profile-grid .toggle input{width:auto}.compact-fields{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.small-profile-grid button,.small-admin-form button,.substitute-form button{background:#f2f51f;border:2px solid #111;padding:9px 12px;font-weight:900}.small-admin-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.small-admin-form{grid-template-columns:1fr 1fr;gap:10px;padding:18px;display:grid}.availability-list,.leave-list{padding:0 18px 18px}.availability-list article,.leave-list article{border-top:1px solid #e5dfd9;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.availability-list article div{flex:1}.availability-list b,.availability-list time,.leave-list b,.leave-list span{display:block}.availability-list time,.leave-list span{color:#81766e;margin-top:4px;font-size:9px}.availability-list article>span{border-radius:3px;padding:4px 7px;font-size:9px;font-weight:900}.slot-available{background:#f2f51f}.slot-booked{color:#f2f51f;background:#222}.slot-closed,.slot-expired{color:#746b64;background:#e6e2dd}.availability-list button{background:#fff;border:1px solid #111;padding:5px 8px}.slot-maintenance{width:100%;margin-left:0}.slot-maintenance summary{cursor:pointer;text-align:right;font-size:10px;font-weight:900}.slot-maintenance form{background:#f7f4f1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;padding:12px;display:grid}.slot-maintenance label{gap:4px;font-size:9px;font-weight:800;display:grid}.slot-maintenance input,.slot-maintenance select{background:#fff;border:1px solid #cec6bf;min-width:0;padding:7px}.resolve-booking{background:#faf8f5;border:1px solid #d8d0c8;width:100%;padding:8px}.resolve-booking summary{cursor:pointer;font-size:10px;font-weight:900}.resolve-booking>button{color:#8a2418;margin:8px 0}.resolve-booking form{grid-template-columns:100px 1fr 1fr auto;gap:6px;display:grid}.substitute-form{grid-template-columns:150px 1fr auto;gap:7px;display:grid}.substitution-history{border-top:1px solid #e5dfd9;padding:18px}.substitution-history p{border-top:1px solid #eee;margin:0;padding:7px 0;font-size:10px}@media (width<=1050px){.small-profile-grid,.small-admin-columns{grid-template-columns:1fr}}@media (width<=640px){.small-profile-grid,.small-admin-form{grid-template-columns:1fr}.compact-fields{grid-template-columns:1fr 1fr}.substitute-form{grid-template-columns:1fr}}
