:root {
  color-scheme: dark;
  --bg:#090a0f; --bg2:#11131a; --card:#171921; --card2:#20232d; --line:rgba(255,255,255,.08);
  --text:#f7f8fb; --muted:#8e94a6; --accent:#6c5cff; --accent2:#8b7cff; --danger:#ff5c75; --ok:#42d392;
  --radius:18px; --shadow:0 20px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:radial-gradient(800px 500px at 50% -120px,#242044 0,transparent 55%),var(--bg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,Segoe UI,sans-serif;color:var(--text)}
body{overscroll-behavior:none}.shell{max-width:560px;margin:0 auto;min-height:100vh;padding:calc(env(safe-area-inset-top) + 12px) 14px calc(env(safe-area-inset-bottom) + 26px)}
.boot{height:100vh;display:grid;place-content:center;gap:16px;text-align:center;color:var(--muted)}.spinner{width:30px;height:30px;border:3px solid #2a2c35;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
.brandbar{display:flex;align-items:center;justify-content:space-between;padding:6px 2px 14px}.brand{font-weight:800;letter-spacing:-.02em}.brand small{display:block;color:var(--muted);font-weight:500;font-size:11px;margin-top:2px}.menu-dot{border:1px solid var(--line);background:rgba(255,255,255,.03);width:34px;height:34px;border-radius:50%;color:var(--accent2);font-size:18px}
.profile{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#23252d,#1a1c23);border:1px solid var(--line);padding:13px;border-radius:18px;box-shadow:var(--shadow)}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#4aa5ff,#6c5cff);font-weight:800}.profile-main{min-width:0;flex:1}.profile-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-sub{font-size:12px;color:var(--muted);margin-top:3px}.chip{border:0;background:rgba(108,92,255,.14);color:#b8b0ff;border-radius:999px;padding:8px 10px;font-size:12px}
.tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:12px 0}.tab{border:1px solid var(--line);background:rgba(255,255,255,.025);color:#c7cad3;border-radius:11px;padding:10px 4px;font-size:11px}.tab.active{background:rgba(108,92,255,.18);border-color:rgba(108,92,255,.45);color:#fff}.student-tabs{grid-template-columns:repeat(3,1fr)}
.card{background:linear-gradient(180deg,rgba(31,34,44,.96),rgba(23,25,33,.96));border:1px solid var(--line);border-radius:var(--radius);padding:15px;margin:10px 0;box-shadow:0 8px 30px rgba(0,0,0,.16)}.card-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}.hero-time{font-size:22px;font-weight:800;letter-spacing:-.03em}.accent{color:var(--accent2)}.muted{color:var(--muted)}.tiny{font-size:11px;color:var(--muted)}
.btn{appearance:none;border:0;border-radius:12px;padding:12px 14px;font-weight:700;font-size:14px;background:#252833;color:#fff;min-height:44px}.btn.primary{background:linear-gradient(135deg,var(--accent),#755cff);box-shadow:0 8px 24px rgba(108,92,255,.25)}.btn.danger{color:#ff8293;background:rgba(255,92,117,.08)}.btn.ghost{background:rgba(255,255,255,.025);border:1px solid var(--line)}.btn:disabled{opacity:.45}.row{display:flex;gap:8px;align-items:center}.row>*{flex:1}.stack{display:grid;gap:9px}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:10px 0}.day{border:1px solid var(--line);background:#171921;color:#d6d8df;border-radius:12px;padding:8px 2px;text-align:center}.day .dow{font-size:10px;color:var(--muted)}.day .num{font-size:16px;font-weight:700;margin-top:4px}.day.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:rgba(108,92,255,.10)}
.booking{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.booking:last-child{border-bottom:0}.time{font-weight:800;min-width:52px}.booking-main{flex:1;min-width:0}.booking-name{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;gap:6px}.mini{border:0;border-radius:9px;padding:8px 9px;background:rgba(108,92,255,.10);color:#b9b2ff;font-size:11px}.mini.red{background:rgba(255,92,117,.07);color:#ff8495}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot{border:1px solid var(--line);border-radius:12px;background:#20232b;color:#fff;padding:12px 4px;font-weight:650}.slot:hover,.slot.selected{border-color:var(--accent);background:rgba(108,92,255,.15)}
.segment{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#12141a;border:1px solid var(--line);padding:4px;border-radius:13px}.segment button{border:0;border-radius:9px;padding:10px;background:transparent;color:var(--muted);font-weight:650}.segment button.active{background:var(--accent);color:#fff}
.field{display:grid;gap:6px;margin:10px 0}.field label{font-size:12px;color:var(--muted)}input,textarea,select{width:100%;border:1px solid var(--line);background:#101217;color:#fff;border-radius:12px;padding:12px 13px;font:inherit;outline:none}input:focus,textarea:focus,select:focus{border-color:rgba(108,92,255,.65)}textarea{resize:vertical;min-height:110px}.inline-field{display:grid;grid-template-columns:110px 1fr 54px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.inline-field:last-child{border-bottom:0}.inline-field span{font-size:13px}.inline-field input{padding:10px}.save-ind{font-size:11px;color:var(--ok);text-align:right}
.student{display:flex;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.student:last-child{border-bottom:0}.student .avatar{width:34px;height:34px;font-size:12px}.student-info{flex:1}.student-name{font-weight:650}.badge{display:inline-block;padding:4px 7px;border-radius:99px;background:rgba(66,211,146,.1);color:#7de6b2;font-size:10px;margin-top:4px}.badge.pending{background:rgba(255,196,87,.1);color:#ffd078}
.empty{text-align:center;padding:34px 16px;color:var(--muted)}.empty .emoji{font-size:28px;margin-bottom:8px}.section-title{font-weight:800;font-size:18px;letter-spacing:-.02em;margin:15px 2px 8px}.footer{text-align:center;color:#595f70;font-size:11px;margin-top:28px}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 18px);transform:translate(-50%,18px);opacity:0;pointer-events:none;background:#22252d;color:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px;transition:.2s;z-index:40;max-width:88vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{color:#ff9cab}
.modal-wrap{position:fixed;inset:0;background:rgba(0,0,0,.56);backdrop-filter:blur(8px);display:grid;align-items:end;z-index:30}.modal{background:#181a22;border:1px solid var(--line);border-radius:22px 22px 0 0;padding:18px 16px calc(env(safe-area-inset-bottom) + 18px);max-width:560px;width:100%;margin:auto;box-shadow:0 -20px 80px rgba(0,0,0,.45)}.modal h3{margin:0 0 12px}.closex{float:right;border:0;background:transparent;color:var(--muted);font-size:22px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role{padding:20px 12px;border-radius:18px;border:1px solid var(--line);background:#171921;color:#fff;text-align:left}.role strong{display:block;font-size:16px}.role span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.notice{padding:11px 12px;border-radius:13px;background:rgba(108,92,255,.08);border:1px solid rgba(108,92,255,.18);font-size:12px;color:#c8c3ff}.danger-note{background:rgba(255,92,117,.07);border-color:rgba(255,92,117,.18);color:#ffa8b4}.hidden{display:none!important}
@media (max-width:390px){.tabs{gap:4px}.tab{font-size:10px;padding:9px 2px}.slots{grid-template-columns:repeat(2,1fr)}}

/* First-run registration: intentionally mirrors the compact Telegram-native flow
   from the product reference while keeping AutoSchools branding. */
.onboarding{min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 38px);display:grid;grid-template-rows:auto 1fr;}
.onboarding-brand{text-align:center;font-weight:800;letter-spacing:-.025em;padding:5px 0 0}.onboarding-brand small{display:block;font-size:10px;color:var(--muted);font-weight:500;margin-top:2px}
.onboarding-panel{align-self:center;width:100%;max-width:470px;margin:0 auto 18vh;text-align:center;padding:0 18px}.onboarding-panel h1{font-size:26px;letter-spacing:-.035em;margin:0 0 8px}.onboarding-panel>p{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.45}.onboarding-actions{gap:10px}.btn.big{min-height:52px;font-size:15px;border-radius:13px}.onboarding-field{margin:0 0 11px}.onboarding-field input{text-align:left;min-height:50px;border-color:rgba(139,124,255,.25);background:#17191f}.onboarding-field input:focus{border-color:var(--accent)}.onboarding-back{margin-top:14px;border:0;background:transparent;color:#747989;font-size:12px;padding:8px 14px}.onboarding-note{margin-top:18px;color:#aaa4ef;font-size:12px}.onboarding .footer{display:none}
.full{width:100%}.mt8{margin-top:8px}.compact{flex:0 0 auto}.owner-pill{border:1px solid rgba(108,92,255,.35);background:rgba(108,92,255,.12);color:#c6c0ff;border-radius:999px;padding:7px 10px;font-size:11px}.invite-preview{background:rgba(108,92,255,.08);border:1px solid rgba(108,92,255,.2);border-radius:15px;padding:14px;margin:14px 0;text-align:left}.invite-preview strong{display:block;margin:4px 0}.purple{background:rgba(108,92,255,.14)!important;color:#c7c0ff!important}.trial-card .hero-time{font-size:18px;margin:8px 0}.plan-list{display:grid;gap:8px;margin-bottom:12px}.plan{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid var(--line);background:#14161c;color:#fff;border-radius:13px;padding:13px;text-align:left}.plan.selected{border-color:var(--accent);background:rgba(108,92,255,.10)}.plan strong{display:block;margin-bottom:3px}.statline{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:11px;margin-top:11px}.confirm-card{display:grid;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:12px}.confirm-card>div{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#111319;border-bottom:1px solid var(--line)}.confirm-card>div:last-child{border-bottom:0}.confirm-card span{color:var(--muted);font-size:12px}.toggle-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.toggle-row input{width:20px;height:20px}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:12px 0}.metric{background:linear-gradient(180deg,rgba(31,34,44,.96),rgba(23,25,33,.96));border:1px solid var(--line);border-radius:16px;padding:14px}.metric span{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:22px;margin-top:5px}.owner-tabs{grid-template-columns:repeat(5,1fr)}.owner-row{display:grid;grid-template-columns:1.5fr .8fr .8fr .7fr auto;gap:7px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.owner-row input{padding:8px}.owner-row .check{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:3px}.owner-row .check input{width:16px}.owner-pay{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.owner-pay:last-child{border-bottom:0}.notice a{color:#b9b2ff}
@media(max-width:460px){.owner-row{grid-template-columns:1fr 1fr;}.owner-row>div{grid-column:1/-1}.owner-tabs{grid-template-columns:repeat(3,1fr)}}
.student-tabs{grid-template-columns:repeat(2,1fr)}.row.compact>*{flex:0 0 auto}
.header-actions{display:flex;gap:7px;align-items:center}.student-tabs.two{grid-template-columns:repeat(2,1fr)}
.invite-preview{margin:0 0 14px;text-align:left;line-height:1.5}.confirm-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;padding:10px 0}.confirm-grid span{color:var(--muted)}.confirm-grid strong{text-align:right}
.plans{display:grid;gap:9px}.plan-card{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.plan-card .btn{grid-column:1/-1}.plan-price{font-size:20px;font-weight:800}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.metric{background:linear-gradient(180deg,rgba(31,34,44,.96),rgba(23,25,33,.96));border:1px solid var(--line);border-radius:16px;padding:14px}.metric strong{display:block;font-size:22px}.metric span{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.owner-row{display:flex;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.owner-row:last-child{border-bottom:0}.owner-main{flex:1;min-width:0}.owner-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.plan-edit{display:grid;grid-template-columns:minmax(90px,1fr) 78px 78px 54px 70px}.plan-edit input{padding:8px}.check{font-size:11px;color:var(--muted);display:flex;gap:4px;align-items:center}.check input{width:auto}
.toggle-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.toggle-row span:first-child{display:grid;gap:3px}.toggle-row small{color:var(--muted)}.toggle-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.notice code{color:#fff}
@media (max-width:430px){.plan-edit{grid-template-columns:1fr 70px 70px}.plan-edit .check,.plan-edit .mini{grid-column:auto}.owner-row{align-items:flex-start;flex-direction:column}.owner-actions{width:100%;justify-content:flex-start}.owner-actions .mini{flex:1}}
