:root{color-scheme:dark;--bg:#0b0d0d;--panel:#161919;--sub:#1e2321;--line:#303730;--text:#f4f7f2;--muted:#a4ada6;--lime:#baff13;--danger:#ff7f82;--warn:#ffdf84;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.47}a{color:var(--lime)}:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
h1,h2,h3,p{margin:0}h1{font-size:clamp(29px,5vw,44px);line-height:1.04;letter-spacing:-1.2px}h2{font-size:23px;letter-spacing:-.6px}h3{font-size:18px}small,.muted{color:var(--muted)}.tiny{font-size:12px}.eyebrow{color:var(--lime);text-transform:uppercase;font-size:11px;letter-spacing:2.2px;font-weight:800}.caption{color:var(--muted);font-size:13px;line-height:1.6}.strong{font-weight:800}
.shell{max-width:1400px;margin:0 auto;padding:0 22px 110px}.header{display:flex;align-items:center;gap:18px;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0}.brand{display:flex;align-items:center;gap:15px;min-width:0}.brand img{width:195px;max-width:38vw;max-height:55px;object-fit:contain;object-position:left}.brandword{font:800 clamp(19px,3vw,28px)/.9 Georgia,serif;letter-spacing:-1px}.brand small{display:block;font-size:10px;letter-spacing:2px;line-height:2;color:var(--muted);font-family:ui-sans-serif,sans-serif}.brandline{height:34px;width:1px;background:var(--line)}.product-name{font-weight:800;font-size:12px;letter-spacing:1.7px;color:var(--muted);line-height:1.4}.header-right{display:flex;align-items:center;gap:12px}.pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #577423;background:#243211;border-radius:100px;color:var(--lime);padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.5px}.avatar{width:36px;height:36px;border:1px solid var(--line);background:var(--panel);border-radius:50%;display:grid;place-items:center;font-weight:800}
.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;padding-top:36px}.sidebar{display:flex;flex-direction:column;gap:8px}.nav{padding:15px 16px;text-align:left;background:transparent;color:var(--muted);border:0;border-radius:12px;font-weight:750;display:flex;align-items:center;gap:12px}.nav:hover{background:var(--sub);color:var(--text)}.nav.active{color:#101410;background:var(--lime)}.nav-icon{font-size:19px;width:22px;text-align:center}.sidebox{margin-top:25px;padding:18px 8px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.65}.sidebox strong{color:var(--text)}
main{min-width:0;max-width:930px}.hero{margin:4px 0 26px}.hero h1{margin:10px 0 10px}.hero p{color:var(--muted);max-width:630px;line-height:1.5}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;margin:16px 0}.panel h3{margin-bottom:10px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.space{justify-content:space-between}.stack{display:grid;gap:14px}.gap{gap:6px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:24px 0 12px}.section-head span{font-size:13px;color:var(--muted)}
.week{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 12px}.week strong{font-size:15px}.week button,.iconbutton{width:40px;height:40px;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--text);font-size:20px}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:8px 0 22px}.day{border:1px solid var(--line);border-radius:12px;color:var(--muted);background:var(--panel);min-height:67px;padding:8px 1px;font-size:12px}.day strong{display:block;font-size:21px;color:var(--text);margin-top:5px}.day.selected{background:var(--lime);border-color:var(--lime);color:#101410}.day.selected strong{color:#101410}
.cards{display:grid;gap:11px}.class-card{width:100%;display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:14px;align-items:center;text-align:left;padding:17px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:15px}.class-card:hover{border-color:#658328}.class-card .clock{font-weight:800;font-size:18px;padding-right:10px;border-right:1px solid var(--line)}.class-card h3{margin-bottom:5px}.class-card .details{font-size:12px;color:var(--muted);line-height:1.6}.status{border-radius:100px;background:#303633;color:#c5d0c4;padding:7px 11px;font-size:11px;font-weight:800;white-space:nowrap}.status.open{background:#293b0e;color:var(--lime)}.status.wait{background:#3d3219;color:var(--warn)}.status.booked{background:#233c37;color:#8ce7ca}.status.closed{background:#3b2729;color:#ffafb2}
.primary,.secondary,.danger{padding:12px 17px;min-height:43px;border-radius:11px;border:1px solid transparent;font-weight:800}.primary{background:var(--lime);color:#0c1009}.secondary{border-color:var(--line);background:var(--sub);color:var(--text)}.danger{border-color:#704245;background:#3b2426;color:#ffb6b9}.primary:hover{background:#d4ff75}.secondary:hover{background:#2b352f}.full{width:100%}.link-btn{background:none;border:0;padding:0;color:var(--lime);font-weight:700;text-decoration:underline}.flex{flex:1}
.field{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.field input,.field select,.field textarea{min-width:0;width:100%;border:1px solid #435042;border-radius:10px;background:#111611;color:var(--text);padding:13px 12px;outline:none}.field input:focus,.field select:focus{border-color:var(--lime)}.form{display:grid;gap:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}.metric strong{display:block;font-size:27px}.metric span{font-size:12px;color:var(--muted)}
.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px;min-width:550px}.table th{text-align:left;color:var(--muted);font-weight:600;padding:12px 9px;border-bottom:1px solid var(--line)}.table td{padding:14px 9px;border-bottom:1px solid var(--line);vertical-align:middle}.table select{max-width:130px;background:#121512;color:var(--text);border:1px solid var(--line);padding:8px;border-radius:8px}
.overlay{position:fixed;inset:0;background:#000b;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding:15px;overflow:auto}.dialog{background:#171b18;border:1px solid #465143;border-radius:19px;width:min(100%,510px);padding:24px;max-height:92vh;overflow-y:auto;box-shadow:0 10px 90px #0007}.dialog h2{margin:9px 0}.dialog .close{float:right;background:transparent;border:0;color:var(--muted);font-size:25px}.detail-row{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:13px 0}.detail-row span{color:var(--muted)}.detail-row strong{text-align:right}.warning{border:1px solid #735a27;background:#352d19;color:#ffe6a5;border-radius:13px;padding:13px 15px;font-size:13px;line-height:1.5}.success{border:1px solid #557327;background:#243716;color:#d3ff86;border-radius:13px;padding:13px 15px;font-size:13px}.empty{text-align:center;padding:35px 20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);line-height:1.6}.list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:15px 0}.list-row:last-child{border:0}.list-row small{display:block;margin-top:5px}.auth-wrap{max-width:460px;margin:7vh auto 0}.auth-panel{padding:25px}.auth-head{text-align:center;margin:15px 0 26px}.auth-head h1{margin:12px 0}.auth-tabs{display:flex;gap:8px;margin-bottom:20px}.auth-tabs button{flex:1}
#toast{position:fixed;z-index:80;bottom:30px;left:50%;transform:translateX(-50%);background:#d4ff70;color:#18210e;padding:14px 20px;border-radius:12px;font-weight:800;box-shadow:0 12px 40px #0008;max-width:90vw;display:none}#toast.error{background:#ffabad;color:#341b1c}.loading{min-height:60vh;display:grid;place-content:center;justify-items:center;gap:20px;color:var(--muted)}.spinner{width:35px;height:35px;border:3px solid var(--line);border-top-color:var(--lime);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.footer{color:#728071;font-size:11px;letter-spacing:.4px;margin-top:42px;padding-top:20px;border-top:1px solid var(--line)}.footer a{color:var(--muted)}
.bottomnav{display:none}
@media(max-width:850px){.shell{padding:0 14px 100px}.layout{display:block;padding-top:18px}.sidebar{display:none}.header{padding:13px 0}.header .product-name,.brandline{display:none}.brand img{width:165px;max-width:48vw}.header-right .muted{display:none}main{max-width:none}.hero{margin-top:14px}.bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:15;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:#121613f5;border-top:1px solid var(--line);display:flex;justify-content:space-around;gap:5px}.bottomnav button{background:transparent;color:var(--muted);border:0;display:grid;gap:3px;justify-items:center;padding:7px;font-weight:700;font-size:10px;min-width:52px}.bottomnav button.active{color:var(--lime)}.bottomnav button span{font-size:22px}.metrics{grid-template-columns:repeat(3,1fr)}.metric{padding:12px}.metric strong{font-size:21px}.class-card{grid-template-columns:59px minmax(0,1fr);gap:10px;padding:14px}.class-card .clock{font-size:15px}.class-card .status{grid-column:2;justify-self:start}.form-grid{grid-template-columns:1fr}.dialog{padding:19px}.overlay{padding:0}.overlay .dialog{border-radius:20px 20px 0 0;max-height:90vh;width:100%}.section-head{margin-top:21px}.days{gap:5px}.day{min-height:60px}.day strong{font-size:18px}}
.communication{border-left:3px solid var(--lime);background:#171f16}.communication .eyebrow{margin-bottom:8px}.communication h3{margin:0 0 10px}.communication-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin-bottom:12px;color:var(--text)}.communication .caption{margin-top:12px}.field textarea{resize:vertical;min-height:105px;line-height:1.5}

.guest-content{max-width:930px;margin:30px auto 0}.guest-content .hero{margin-bottom:30px}.guest-content .class-card{cursor:default}.guest-content .communication{border-left:3px solid var(--lime)}.auth-wrap{max-width:500px}.auth-tabs{flex-wrap:wrap}.auth-tabs button{min-width:90px}#recaptcha-container{min-height:78px;max-width:100%;overflow:hidden}input[type=tel]{font-size:18px;letter-spacing:.03em}
