/* Member app, mobile-first, dark + lime. Centered "phone" column on desktop. */
:root { --bg:#0b0c0f; --card:#15171d; --card2:#1b1e26; --line:rgba(255,255,255,.08); --text:#f4f5f7; --muted:#9aa0ab; --lime:#a6ff00; --ink:#0b0c0f; --bad:#ff6a6a; --warn:#ffc24d; --display:"Anton","Bebas Neue",Impact,sans-serif; --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html { background:#050607; }
body { margin:0; background:var(--bg); color:var(--text); font:400 15px/1.5 var(--body); -webkit-font-smoothing:antialiased; min-height:100vh; max-width:520px; margin-inline:auto; position:relative; }
@media (min-width:560px) { body { box-shadow:0 0 0 1px var(--line), 0 30px 80px rgba(0,0,0,.6); } }
a { color:inherit; text-decoration:none; }
.shell { padding:calc(env(safe-area-inset-top) + 18px) 18px 24px; }
body.has-tabs .shell { padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
h1,h2,h3 { margin:0; font-family:var(--display); font-weight:400; text-transform:uppercase; letter-spacing:.01em; line-height:1.05; }
h1 { font-size:34px; } h2 { font-size:21px; }
em { font-style:normal; color:var(--lime); }
.muted { color:var(--muted); } .small { font-size:13px; } .center { text-align:center; } .grow { flex:1; min-width:0; }
small { font-size:12.5px; display:block; color:var(--muted); }
.ico { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:none; }

.top { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.avatar { width:44px; height:44px; border-radius:50%; background:var(--lime); color:var(--ink); display:grid; place-items:center; font:700 15px var(--body); }
.avatar.lg { width:56px; height:56px; font-size:18px; }

.card { background:var(--card); border:1px solid var(--line); border-radius:22px; padding:16px; margin-bottom:12px; }
.card strong { display:block; font-weight:600; }
.card p { margin:4px 0 0; color:#c4c8d0; font-size:14px; }
.row-card { display:flex; align-items:center; gap:14px; }
.ico-box { width:46px; height:46px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(166,255,0,.4); color:var(--lime); background:rgba(166,255,0,.06); flex:none; }
.ico-box.sm { width:38px; height:38px; }
.empty { text-align:center; color:var(--muted); padding:28px 20px; } .empty .ico { color:var(--lime); margin-bottom:6px; } .empty p { color:var(--muted); }
.sec-title { display:flex; justify-content:space-between; align-items:baseline; margin:24px 2px 10px; }
.sec-title a { color:var(--lime); font-size:13px; font-weight:600; }
.sec-h { margin:22px 2px 10px; }
section + section { margin-top:4px; }

.hero-card { background:linear-gradient(145deg,#b8ff2a,#7fd400); color:var(--ink); border-radius:28px; padding:20px; margin-bottom:14px; }
.hero-card.is-warn { background:linear-gradient(145deg,#ffd36b,#ffa51f); }
.hero-card.is-off { background:linear-gradient(145deg,#3a3d46,#23252c); color:var(--text); }
.hc-top { display:flex; justify-content:space-between; align-items:center; }
.hc-label { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; opacity:.7; }
.hc-plan { font:400 38px var(--display); text-transform:uppercase; margin:8px 0 2px; line-height:1; }
.hc-sub { font-size:14px; opacity:.85; } .hero-card .chip { background:rgba(0,0,0,.18); color:inherit; }
.bar { height:8px; border-radius:99px; background:rgba(0,0,0,.18); margin:14px 0 16px; overflow:hidden; } .bar i { display:block; height:100%; background:var(--ink); border-radius:99px; }
.hero-card .btn { margin-top:14px; }
.bar + .btn { margin-top:0; }

.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:6px; }
.stats > div { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:14px 10px; text-align:center; }
.stats b { display:block; font:400 24px var(--display); line-height:1.1; } .stats small { font-size:11.5px; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:46px; padding:0 22px; border-radius:99px; border:1px solid var(--line); background:transparent; color:var(--text); font:700 14px var(--body); cursor:pointer; }
.btn-sm { height:36px; padding:0 16px; font-size:13px; } .btn-block { width:100%; }
.btn-lime { background:var(--lime); color:var(--ink); border-color:var(--lime); } .btn-dark { background:var(--ink); color:var(--text); border-color:var(--ink); }
.btn:disabled { opacity:.5; cursor:not-allowed; } .btn:active { transform:scale(.98); }
.link { background:none; border:0; color:var(--lime); font:600 13px var(--body); cursor:pointer; padding:0; } .center a { color:var(--lime); font-size:13px; }

.chip { display:inline-block; padding:3px 11px; border-radius:99px; font-size:11.5px; font-weight:700; background:rgba(255,255,255,.09); }
.chip.ok { background:var(--lime); color:var(--ink); } .chip.bad { background:rgba(255,106,106,.18); color:var(--bad); margin-top:6px; }
.tag { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--lime); background:rgba(166,255,0,.09); border-radius:8px; padding:4px 9px; white-space:nowrap; align-self:flex-start; }

.list { padding:4px 16px; } .li { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); } .li:last-child { border:0; }
.news strong { margin:6px 0 2px; } .news p { margin:0 0 6px; }

.days { display:flex; gap:8px; overflow-x:auto; margin:0 -18px 6px; padding:2px 18px 8px; scrollbar-width:none; } .days::-webkit-scrollbar { display:none; }
.day { flex:none; width:54px; padding:10px 0; border-radius:16px; text-align:center; background:var(--card); border:1px solid var(--line); position:relative; }
.day small { font-size:11px; text-transform:uppercase; } .day b { display:block; font:400 22px var(--display); }
.day.is-active { background:var(--lime); color:var(--ink); border-color:var(--lime); } .day.is-active small { color:var(--ink); }
.days.wk { justify-content:space-between; overflow:visible; margin:0 0 6px; padding:2px 0 8px; } .days.wk .day { flex:1; width:auto; padding:11px 0; }
.dot-today { position:absolute; bottom:4px; left:50%; width:5px; height:5px; margin-left:-2.5px; border-radius:50%; background:var(--lime); } .day.is-active .dot-today { background:var(--ink); }

.cls { display:flex; align-items:center; gap:14px; } .cls.is-cancelled { opacity:.6; }
.cls-time { width:54px; text-align:center; flex:none; } .cls-time b { display:block; font:400 26px var(--display); line-height:1; } .cls-time small { font-size:11px; }
.cls .spots { color:var(--lime); margin-top:2px; } .cls .spots.low { color:var(--warn); }
.meal { display:flex; gap:12px; align-items:flex-start; } .meal p { margin:3px 0 0; }
.kcal { text-align:center; font-size:10.5px; color:var(--muted); } .kcal b { display:block; font:400 20px var(--display); color:var(--text); }
.plan-head p.coach { color:var(--lime); }

.form { display:grid; gap:12px; } .form label { display:block; font-size:12.5px; font-weight:600; color:var(--muted); }
.form input { width:100%; margin-top:6px; background:var(--bg); border:1px solid var(--line); color:var(--text); padding:14px 16px; border-radius:16px; font:400 16px var(--body); outline:none; }
.form input:focus { border-color:var(--lime); box-shadow:0 0 0 3px rgba(166,255,0,.14); }
.form .otp { text-align:center; font:400 34px var(--display); letter-spacing:.4em; padding-left:.4em; }
.alert { padding:13px 16px; border-radius:16px; border:1px solid rgba(255,106,106,.4); background:rgba(255,106,106,.08); color:#ff9c9c; margin-bottom:12px; font-size:14px; }
.toast { padding:13px 16px; border-radius:16px; border:1px solid rgba(166,255,0,.4); background:rgba(166,255,0,.08); color:var(--lime); margin-bottom:12px; font-size:14px; }
.note { padding:12px 14px; border-radius:14px; border:1px solid var(--line); background:var(--bg); font-size:14px; } .note[hidden] { display:none; }
.note.ok { border-color:var(--lime); color:var(--lime); } .note.bad { border-color:var(--bad); color:#ff9c9c; } .note.warn { border-color:var(--warn); color:#ffd98a; }

.plans { display:grid; gap:10px; }
.plan-opt { display:flex; align-items:center; gap:12px; background:var(--card); border:1px solid var(--line); border-radius:20px; padding:14px 16px; cursor:pointer; position:relative; }
.plan-opt input { accent-color:var(--lime); width:20px; height:20px; flex:none; margin:0; }
.plan-opt:has(input:checked) { border-color:var(--lime); background:linear-gradient(135deg,rgba(166,255,0,.1),var(--card) 60%); }
.po-body { flex:1; min-width:0; } .po-body strong { font-weight:600; } .po-body em { font-size:10px; font-weight:700; text-transform:uppercase; background:var(--lime); color:var(--ink); padding:2px 8px; border-radius:99px; margin-left:6px; vertical-align:middle; }
.po-price { text-align:right; } .po-price b { font:400 22px var(--display); color:var(--lime); display:block; line-height:1.1; }

.id-card { display:flex; align-items:center; gap:14px; } .id-card .mid { text-align:right; } .id-card .mid b { font:400 20px var(--display); letter-spacing:.05em; color:var(--lime); }
.tip { border-style:dashed; }

.tabbar { position:fixed; bottom:0; left:50%; transform:translateX(-50%); width:100%; max-width:520px; display:grid; grid-template-columns:repeat(5,1fr); padding:8px 8px calc(8px + env(safe-area-inset-bottom)); background:rgba(14,15,19,.88); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-top:1px solid var(--line); z-index:20; }
.tabbar a { display:flex; flex-direction:column; align-items:center; gap:3px; padding:6px 0; color:var(--muted); font-size:11px; font-weight:600; border-radius:14px; }
.tabbar a.is-active { color:var(--lime); } .tabbar a.is-active .ico { filter:drop-shadow(0 0 8px rgba(166,255,0,.5)); }

.auth { padding-top:6vh; } .auth-brand { display:flex; align-items:center; gap:10px; font:400 22px var(--display); text-transform:uppercase; margin-bottom:34px; }
.auth-brand .dot { width:10px; height:10px; border-radius:50%; background:var(--lime); box-shadow:0 0 12px var(--lime); }
.auth h1 { font-size:46px; margin-bottom:12px; } .auth .muted { margin:0 0 22px; }
