/* ============================================================
   RevU Club — Shared design tokens & nav bar
   (same look & feel as the original Apps Script HTML pages)
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --cream:#EDE8DF;--cream-d:#DDD6C8;--orange:#E8843A;--orange-d:#C96820;--orange-l:#FDF0E6;--amber:#F5B942;
  --black:#1a1a1a;--text:#222;--text2:#555;--text3:#888;
  --surface:#fff;--surface2:#F7F4EF;--border:rgba(0,0,0,0.09);--border2:rgba(0,0,0,0.16);
  --green:#1D9E75;--green-d:#0F6E56;--green-l:#E1F5EE;--green-t:#085041;
  --blue:#185FA5;--blue-bg:#E6F1FB;--blue-t:#185FA5;
  --amber-bg:#FAEEDA;--amber-t:#854F0B;
  --coral-bg:#FAECE7;--coral-t:#993C1D;
  --red:#E24B4A;--red-bg:#FCEBEB;--red-l:#FCEBEB;--red-t:#A32D2D;
  --purple-bg:#EEEDFE;--purple-t:#3C3489;
  --r:14px;--r-sm:9px;
}
body{font-family:'Sora',sans-serif;background:var(--cream);color:var(--text);min-height:100vh;}
.nav-bar{background:#1a1a1a;padding:0 1rem;display:flex;align-items:center;justify-content:center;gap:4px;position:sticky;top:0;z-index:100;border-bottom:2px solid #333;}
.nav-tab{display:inline-flex;align-items:center;gap:7px;padding:13px 22px;font-size:13px;font-weight:600;font-family:'Sora',sans-serif;color:#aaa;background:transparent;border:none;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;text-decoration:none;letter-spacing:0.01em;}
.nav-tab:hover{color:#fff;}
.nav-tab.active{color:var(--orange);border-bottom-color:var(--orange);}
@media(max-width:400px){.nav-tab{padding:12px 14px;font-size:12px;}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:1.75rem;box-shadow:0 2px 16px rgba(0,0,0,0.06);margin-bottom:1.5rem;}
.card-title{font-size:12px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:1.25rem;}
.btn{height:44px;padding:0 26px;border-radius:var(--r-sm);font-size:14px;font-weight:600;font-family:'Sora',sans-serif;cursor:pointer;border:none;transition:all .15s;}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-d);}
.btn-primary:active{transform:scale(0.98);}
.btn-secondary{background:var(--surface2);color:var(--text2);border:1.5px solid var(--border2);}
.btn-secondary:hover{background:var(--cream);}
.btn:disabled{opacity:0.5;cursor:not-allowed;}
.spin{display:inline-block;width:20px;height:20px;border:2.5px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite;}
.spin-dark{display:inline-block;width:28px;height:28px;border:3px solid rgba(232,132,58,0.2);border-top-color:var(--orange);border-radius:50%;animation:sp .7s linear infinite;}
@keyframes sp{to{transform:rotate(360deg);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
footer{text-align:center;padding:2rem 1rem;font-size:12px;color:var(--text3);}
footer span{color:var(--orange);}
.state-box{text-align:center;padding:2.5rem 1.5rem;}
.state-icon{font-size:36px;margin-bottom:12px;}
.state-msg{font-size:14px;color:var(--text2);line-height:1.7;}
.state-sub{font-size:12px;color:var(--text3);margin-top:6px;}
