/* FitCoach minimal design — purple & gold accents; mobile-first */
:root{
  --bg:#0f1021; --card:#171834; --ink:#ffffff; --muted:#d5d7ff;
  --gold:#FFD700; --accent:#6C5CE7; --line:#2a2d57;
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:linear-gradient(180deg,#0f1021,#121231);color:var(--ink);font-family:system-ui,-apple-system,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif}

#app{min-height:100vh;max-width:480px;margin:0 auto;display:flex;flex-direction:column}

.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#121231;border-bottom:1px solid var(--line)}
.brand{font-weight:800;letter-spacing:.2px}
.role{margin-left:auto;background:linear-gradient(135deg,var(--gold),#f6e27a);color:#111;padding:6px 10px;border-radius:999px;font-weight:700;font-size:12px}

main{flex:1;padding:16px}
.card{background:linear-gradient(180deg,#171834,#16172f);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px}
.h{margin:0 0 8px;font-weight:800}
.sub{margin:0 0 8px;color:var(--muted);font-size:13px}
.grid{display:grid;gap:12px}
.grid.two{grid-template-columns:1fr 1fr}
.grid.three{grid-template-columns:1fr 1fr 1fr}
.stat{padding:12px;border:1px dashed #3a3e79;border-radius:12px;text-align:center}
.stat b{display:block;font-size:20px}

input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:#121231;color:#fff}

.btn{display:inline-block;width:100%;text-align:center;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#22244b;color:#fff;text-decoration:none;font-weight:700;cursor:pointer}
.btn.accent{background:linear-gradient(135deg,var(--accent),#8d7cf5);border:0}
.btn.gold{background:linear-gradient(135deg,var(--gold),#f6e27a);color:#111;border:0}

.nav{display:flex;gap:8px;position:sticky;bottom:0;background:#121231;border-top:1px solid var(--line);padding:8px}
.nav .tab{flex:1;text-align:center;font-size:12px;padding:10px;border-radius:10px;color:#d7daff;background:#1a1c3e;border:1px solid var(--line)}
.nav .tab.active{outline:2px solid #8d7cf5}

.list .row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #222558}
.chip{padding:8px 10px;border:1px solid var(--line);border-radius:999px;font-size:12px}
.link{color:#a7abff;text-decoration:underline;cursor:pointer}

.timer{font-size:36px;font-weight:800;text-align:center;letter-spacing:2px}

.floating{position:fixed;right:16px;bottom:72px;border-radius:16px;border:1px solid var(--line);background:#22244b;color:#fff;padding:12px 14px}
@media (min-width:480px){.floating{bottom:16px}}

.brand-wrap{display:flex;align-items:center;gap:10px}
.brand-wrap img{width:22px;height:22px;border-radius:4px;border:1px solid var(--line)}
