/* Myximus Partner Portal (S-10 MVP-1). Mobile-first, light+dark, brand-tinted. */
:root {
  --bg:#f5f6f8; --surface:#fff; --surface-2:#eceef2; --text:#17202e;
  --muted:#5c6879; --border:#d8dde5; --accent:#1e6fe0; --accent-ink:#fff;
  --ok:#12805c; --warn:#a15c00; --danger:#c0392b; --radius:12px; --tap:46px;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#11161f; --surface:#1a2130; --surface-2:#232c3d; --text:#eef2f8;
    --muted:#9aa7b8; --border:#2d3850; --accent:#4a92ff; --ok:#35c294;
    --warn:#e0a33c; --danger:#ff6b5c; }
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html,body { margin:0; background:var(--bg); color:var(--text);
  font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; -webkit-text-size-adjust:100%; }
header.topbar { position:sticky; top:0; z-index:20; display:flex; align-items:center;
  gap:12px; padding:12px 16px; background:var(--surface); border-bottom:1px solid var(--border); }
.brand { font-weight:700; font-size:17px; }
.sub { font-size:12px; color:var(--muted); }
.grow { flex:1; min-width:0; }
main { padding:16px; max-width:560px; margin:0 auto; }
.loading { text-align:center; color:var(--muted); padding:60px 0; }
h1 { font-size:22px; margin:0 0 4px; }
h2 { font-size:16px; margin:20px 2px 8px; }
p.lede { color:var(--muted); margin:0 0 16px; }
.card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:16px; margin-bottom:14px; }
.card.tappable:active { background:var(--surface-2); }
label { display:block; margin:12px 0 6px; font-size:13px; font-weight:600; color:var(--muted); }
input,select,textarea { width:100%; min-height:var(--tap); padding:11px 12px;
  border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--text); font:inherit; }
textarea { min-height:90px; resize:vertical; }
button,.btn { min-height:var(--tap); padding:0 18px; border-radius:10px; border:1px solid var(--border);
  background:var(--surface); color:var(--text); font:inherit; font-weight:600; cursor:pointer; }
button.primary { background:var(--accent); color:var(--accent-ink); border-color:transparent; }
button.wide { width:100%; }
button.mini { min-height:34px; padding:0 12px; font-size:13px; }
button:disabled { opacity:.5; cursor:not-allowed; }
button:active { transform:translateY(1px); }
.row { display:flex; gap:10px; align-items:center; }
.between { justify-content:space-between; }
.muted { color:var(--muted); } .small { font-size:13px; } .tiny { font-size:12px; } .strong { font-weight:650; }
.truncate { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.badge { display:inline-block; padding:3px 9px; border-radius:999px; font-size:12px; font-weight:600;
  background:var(--surface-2); color:var(--muted); }
.badge.won { background:rgba(18,128,92,.16); color:var(--ok); }
.badge.lost { background:rgba(192,57,43,.14); color:var(--danger); }
.badge.live { background:rgba(30,110,224,.16); color:var(--accent); }
.linkbox { display:flex; gap:8px; align-items:center; background:var(--surface-2);
  border-radius:10px; padding:8px 10px; margin-top:8px; }
.linkbox code { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.toast { position:fixed; left:16px; right:16px; bottom:20px; z-index:60; padding:14px 16px;
  border-radius:10px; font-weight:600; background:var(--text); color:var(--bg); box-shadow:0 6px 24px rgba(0,0,0,.25); }
.toast.err { background:var(--danger); color:#fff; }
.consent { background:var(--surface-2); border-radius:10px; padding:12px; font-size:13px; color:var(--muted);
  max-height:150px; overflow:auto; margin-top:8px; }
.consent .ph { color:var(--warn); font-weight:700; }
.empty { text-align:center; color:var(--muted); padding:34px 16px; }
.tabs { display:flex; gap:6px; margin-bottom:12px; }
.tabs button { flex:1; min-height:40px; font-size:14px; }
.tabs button.on { background:var(--accent); color:var(--accent-ink); border-color:transparent; }
.wrap { max-width:420px; margin:6vh auto; padding:0 20px; }
.code-input { letter-spacing:.4em; text-align:center; font-size:22px; font-weight:700; }
.status-item { padding:10px 0; border-bottom:1px solid var(--border); }
.status-item:last-child { border-bottom:0; }
