/* ===== Aurum EA Licensing — dark trading-terminal theme, gold accent ===== */
:root{
  --bg:#0b0d10; --bg-2:#11151a; --panel:#151a21; --panel-2:#1b222b;
  --line:#262e38; --ink:#e8edf2; --ink-dim:#9aa6b2; --muted:#6b7682;
  --gold:#f5b642; --gold-deep:#c8881a; --green:#4ade80; --red:#f87171; --amber:#fbbf24;
  --r:14px; --maxw:1100px; --shadow:0 20px 60px -25px rgba(0,0,0,.8);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(245,182,66,.10), transparent 60%),
    radial-gradient(900px 500px at -10% 20%, rgba(245,182,66,.05), transparent 55%),
    var(--bg);
  color:var(--ink); font-family:"IBM Plex Sans",system-ui,sans-serif;
  line-height:1.55; -webkit-font-smoothing:antialiased;
  min-height:100vh; display:flex; flex-direction:column;
}
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace}
.display{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;
  line-height:1;letter-spacing:-.02em;font-size:clamp(2rem,4vw,3.2rem)}
.accent{color:var(--gold)} .muted{color:var(--muted)}
a{color:var(--gold);text-decoration:none} a:hover{color:var(--amber)}
h2,h3{font-family:"Bricolage Grotesque";font-weight:700;letter-spacing:-.01em}
h2{font-size:1.6rem;margin-bottom:.3rem} h3{font-size:1.15rem;margin:1.4rem 0 .6rem}

/* nav / layout */
.nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.brand{font-family:"Bricolage Grotesque";font-weight:800;font-size:1.25rem;color:var(--ink);
  display:flex;align-items:center;gap:.45rem}
.brand-mark{color:var(--gold)} .brand-thin{color:var(--muted);font-weight:500}
.nav-links{display:flex;align-items:center;gap:1.2rem}
.nav-links a{color:var(--ink-dim);font-size:.95rem;font-weight:500}
.nav-links a:hover{color:var(--ink)}
.wrap{position:relative;z-index:1;width:100%;max-width:var(--maxw);margin:0 auto;
  padding:clamp(1.5rem,5vw,3rem) clamp(1rem,4vw,2rem);flex:1}
.foot{position:relative;z-index:1;border-top:1px solid var(--line);
  padding:1.4rem clamp(1rem,4vw,2.5rem);display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:.5rem;color:var(--ink-dim);font-size:.85rem}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--gold);color:#1a1206;
  font-weight:600;border:1px solid transparent;border-radius:10px;padding:.7rem 1.15rem;
  cursor:pointer;font:inherit;font-weight:600;
  transition:transform .12s,box-shadow .2s,background .2s}
.btn:hover{background:var(--amber);transform:translateY(-2px);
  box-shadow:0 10px 30px -12px rgba(245,182,66,.6)}
.btn-lg{padding:.9rem 1.5rem;font-size:1.02rem;border-radius:12px}
.btn-sm{padding:.4rem .8rem;font-size:.85rem;border-radius:8px}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:var(--panel-2);box-shadow:none}
.btn-danger{background:transparent;color:var(--red);border-color:rgba(248,113,113,.4)}
.btn-danger:hover{background:rgba(248,113,113,.12);color:var(--red);box-shadow:none}
.full{width:100%;justify-content:center;margin-top:.4rem}

/* flashes */
.flashes{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}
.flash{padding:.8rem 1rem;border-radius:10px;font-size:.92rem;border:1px solid}
.flash-error{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.35);color:#fca5a5}
.flash-success{background:rgba(74,222,128,.08);border-color:rgba(74,222,128,.3);color:#86efac}
.flash-message,.flash-info{background:rgba(245,182,66,.08);border-color:rgba(245,182,66,.3);color:var(--amber)}

/* hero (landing on login/register split) */
.eyebrow{font-family:"IBM Plex Mono";font-size:.78rem;letter-spacing:.28em;
  color:var(--gold-deep);margin-bottom:1rem}
.lede{max-width:44ch;color:var(--ink-dim);font-size:1.08rem;margin-top:1.1rem}
.lede strong{color:var(--ink)}

/* auth split */
.auth{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4rem);
  align-items:center;min-height:60vh}
.ticks{list-style:none;margin-top:1.6rem;display:flex;flex-direction:column;gap:.7rem}
.ticks li{color:var(--ink-dim);padding-left:1.5rem;position:relative}
.ticks li::before{content:"◆";position:absolute;left:0;color:var(--gold)}
form.card,.auth-form,.panel{background:linear-gradient(180deg,var(--panel),var(--bg-2));
  border:1px solid var(--line);border-radius:18px;padding:clamp(1.4rem,3vw,2.2rem);
  box-shadow:var(--shadow)}
.auth-form{display:flex;flex-direction:column;gap:1rem}
label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:var(--ink-dim);font-weight:500}
input,select{background:var(--bg);border:1px solid var(--line);border-radius:10px;
  padding:.72rem .9rem;color:var(--ink);font:inherit;font-size:1rem;
  transition:border-color .15s,box-shadow .15s;width:100%}
input:focus,select:focus{outline:none;border-color:var(--gold-deep);
  box-shadow:0 0 0 3px rgba(245,182,66,.15)}
input::placeholder{color:var(--muted)}
.pw-meter{height:5px;background:var(--line);border-radius:99px;overflow:hidden;margin-top:-.4rem}
.pw-meter span{display:block;height:100%;width:0;background:var(--red);transition:width .25s,background .25s}
.fine{font-size:.8rem;color:var(--muted)} .alt{font-size:.9rem;color:var(--ink-dim)}

/* badges / banners */
.badge{font-family:"IBM Plex Mono";font-size:.78rem;padding:.3rem .65rem;border-radius:99px;border:1px solid}
.badge-ok{color:var(--green);border-color:rgba(74,222,128,.35);background:rgba(74,222,128,.08)}
.badge-dead{color:var(--red);border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.08)}
.badge-demo{color:var(--amber);border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.08)}
.badge-premium{color:var(--gold);border-color:var(--gold-deep);background:rgba(245,182,66,.1)}
.banner{margin:1.2rem 0;padding:.9rem 1.1rem;border-radius:12px;font-size:.95rem}
.banner-warn{background:rgba(251,191,36,.09);border:1px solid rgba(251,191,36,.4);color:var(--amber)}
.banner-dead{background:rgba(248,113,113,.09);border:1px solid rgba(248,113,113,.4);color:#fca5a5}

/* dashboard widgets */
.row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.grid{display:grid;gap:1rem;margin-top:1.4rem}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.3rem}
.stat-card.warn{border-color:rgba(251,191,36,.45)}
.stat-n{font-family:"Bricolage Grotesque";font-weight:700;font-size:2.2rem;color:var(--ink)}
.stat-card.warn .stat-n{color:var(--amber)}
.stat-l{color:var(--muted);font-size:.85rem}

/* tables */
.table{width:100%;border-collapse:collapse;margin-top:.6rem;font-size:.92rem}
.table th,.table td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line)}
.table th{color:var(--muted);font-weight:500;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
.table tr:hover td{background:rgba(255,255,255,.02)}
.mono.key{color:var(--gold)}
.toolbar{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}
.inline{display:inline}

/* api hint */
.howto{margin-top:1.6rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem}
.howto summary{cursor:pointer;font-weight:600;color:var(--ink-dim)}
.howto[open] summary{color:var(--ink);margin-bottom:.7rem}
.block{display:block;background:var(--bg);border:1px solid var(--line);border-radius:10px;
  padding:1rem;color:var(--ink-dim);font-size:.85rem;overflow-x:auto;white-space:pre}
.errpage{text-align:center;padding:4rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem}
.big{font-size:clamp(5rem,16vw,10rem);line-height:.9}

@media(max-width:760px){
  .auth{grid-template-columns:1fr}
  .foot{flex-direction:column}
  .table{font-size:.82rem}
}
