:root{
  --bg:#101114; --panel:#17181c; --line:#2a2c31;
  --gold:#d8a13e; --red:#c8353d; --text:#eeece6; --dim:#9b9c9f; --dimmer:#6d6e72;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}

/* auth */
.auth-body{display:flex;align-items:center;justify-content:center;min-height:100vh}
.auth-card{width:340px;padding:36px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.auth-brand{font-size:26px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.auth-brand span{color:var(--gold)}
.auth-sub{color:var(--dimmer);font-size:13px;margin:6px 0 22px 0}
.auth-form label{display:block;font-size:12px;color:var(--dim);margin-bottom:14px}
.auth-form input{width:100%;margin-top:6px;padding:10px;border-radius:6px;border:1px solid var(--line);background:#0d0e10;color:var(--text)}
.auth-form button{width:100%;padding:11px;border:none;border-radius:6px;background:var(--gold);color:#141414;font-weight:600;cursor:pointer}
.auth-error{background:rgba(200,53,61,.15);color:#e88a8f;padding:8px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}
.auth-success{background:rgba(111,154,90,.15);color:#a8cf95;padding:8px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}

/* layout */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;border-bottom:1px solid var(--line)}
.topbar-brand{font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.topbar-brand span{color:var(--gold)}
.topbar-nav{display:flex;gap:18px;align-items:center;font-size:13px}
.topbar-user{color:var(--dim)}
.link-btn{background:none;border:none;color:var(--gold);cursor:pointer;font-size:13px;padding:0}
.link-btn.danger{color:#e88a8f}
.wrap{max-width:1100px;margin:0 auto;padding:28px}
.wrap.narrow{max-width:640px}
.meta-note{color:var(--dimmer);font-size:12px;margin-bottom:14px}

/* filters */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.filters input, .filters select{padding:9px 10px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:13px}
.filters button{padding:9px 16px;border:none;border-radius:6px;background:var(--gold);color:#141414;font-weight:600;cursor:pointer;font-size:13px}
.reset-link{align-self:center;font-size:12px;color:var(--dimmer)}

/* table */
.events-table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line)}
.events-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--dimmer);padding:10px 12px;border-bottom:1px solid var(--line)}
.events-table td{padding:12px;font-size:13.5px;border-bottom:1px solid var(--line);vertical-align:top}
.events-table tr:last-child td{border-bottom:none}
.events-table tr:hover td{background:rgba(255,255,255,.02)}
.badge{background:rgba(216,161,62,.14);color:var(--gold);border:1px solid rgba(216,161,62,.3);padding:3px 8px;border-radius:5px;font-size:12px;font-weight:600}
.badge-top{background:var(--gold);color:#141414}
.dim{color:var(--dimmer);font-size:12.5px}
.tbd{color:var(--dimmer);font-style:italic}
.empty{text-align:center;color:var(--dimmer);padding:30px}

/* admin */
.inline-form{display:flex;gap:10px;margin-bottom:20px}
.inline-form input{padding:9px 10px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--text)}
.inline-form button{padding:9px 16px;border:none;border-radius:6px;background:var(--gold);color:#141414;font-weight:600;cursor:pointer}
