:root{
  --bg:        #12151A;
  --surface:   #1B2028;
  --surface-2: #232A34;
  --line:      #2E3642;
  --text:      #ECEEF1;
  --text-dim:  #9AA3AF;
  --amber:     #E8A33D;
  --amber-dim: #7A5A24;
  --cyan:      #4FD1C5;
  --red:       #E8623D;
  --display: 'Space Grotesk', sans-serif;
  --body: 'IBM Plex Sans', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}
*{ box-sizing:border-box; }
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--body); line-height:1.6; min-height:100vh;
}
a{ color:var(--amber); }
.wrap{ max-width:920px; margin:0 auto; padding:24px; }
.center-screen{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
h1,h2,h3{ font-family:var(--display); font-weight:600; }
.card{ background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:32px; width:100%; max-width:420px; }
.card.wide{ max-width:640px; }
label{ display:block; font-family:var(--mono); font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); margin-bottom:6px; }
input[type=text], input[type=email], input[type=password]{
  width:100%; background:var(--bg); border:1px solid var(--line); border-radius:4px;
  color:var(--text); padding:12px 14px; font-size:1rem; font-family:var(--body); margin-bottom:18px;
}
input:focus{ outline:2px solid var(--cyan); outline-offset:1px; }
button, .btn{
  font-family:var(--mono); font-size:.86rem; padding:12px 22px; border-radius:4px;
  background:var(--amber); color:#1B140A; border:none; cursor:pointer; font-weight:500;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none;
}
button:hover, .btn:hover{ filter:brightness(1.05); }
.btn-ghost{ background:none; border:1px solid var(--line); color:var(--text); }
.msg{ padding:12px 14px; border-radius:4px; font-size:.92rem; margin-bottom:18px; }
.msg.error{ background:rgba(232,98,61,.12); border:1px solid var(--red); color:#F3A98B; }
.msg.ok{ background:rgba(79,209,197,.1); border:1px solid var(--cyan); color:#9FE7DF; }
.small-link{ font-size:.86rem; color:var(--text-dim); }
.small-link a{ color:var(--amber); }
table{ width:100%; border-collapse:collapse; font-size:.9rem; }
th, td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); }
th{ font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); }
.badge{ font-family:var(--mono); font-size:.72rem; padding:3px 9px; border-radius:20px; display:inline-block; }
.badge.live{ background:rgba(79,209,197,.15); color:var(--cyan); }
.badge.away{ background:rgba(154,163,175,.15); color:var(--text-dim); }
.topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; flex-wrap:wrap; gap:12px; }
.topbar nav{ display:flex; gap:18px; font-family:var(--mono); font-size:.82rem; }
.topbar nav a{ color:var(--text-dim); }
.topbar nav a:hover{ color:var(--text); }
