:root{--bg: #1a1012;--surface: #241619;--surface-2: #2e1c20;--border: #43292f;--text: #f4e9ea;--muted: #b79aa0;--primary: #8b3a42;--primary-text: #fff;--accent: #20a0a0;--danger: #e74c3c;--success: #2ecc71;--radius: 10px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px}a{color:var(--accent)}.app-shell{max-width:1040px;margin:0 auto;padding:0 20px 64px}.topbar{display:flex;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:24px}.topbar .brand{font-weight:700;letter-spacing:.04em}.topbar nav{display:flex;gap:16px}.topbar nav a{color:var(--muted);text-decoration:none;font-weight:600}.topbar nav a.active{color:var(--text)}.topbar .spacer{flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:14px}h1{font-size:22px;margin:8px 0 18px}h2{font-size:17px;margin:0 0 12px}h3{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:24px 0 10px}label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}input,textarea,select{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 11px;font-size:14px;font-family:inherit}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}button{background:var(--primary);color:var(--primary-text);border:none;border-radius:8px;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}button.small{padding:5px 10px;font-size:13px}.row{display:flex;align-items:center;gap:12px}.row.between{justify-content:space-between}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.badge.live{background:#2ecc7126;color:var(--success);border-color:transparent}.badge.upcoming{background:#20a0a026;color:var(--accent);border-color:transparent}.badge.attended{background:#2ecc7126;color:var(--success);border-color:transparent}.badge.checked-in{background:#20a0a026;color:var(--accent);border-color:transparent}.muted{color:var(--muted)}.error{color:var(--danger);font-size:14px;margin:8px 0}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:360px;max-width:100%}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:var(--surface-2);border-radius:var(--radius);padding:14px;text-align:center}.stat .num{font-size:26px;font-weight:700}.stat .lbl{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tabs button.active{background:var(--primary)}.tabs button{background:var(--surface-2);color:var(--text)}.avatar{width:54px;height:54px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent);flex-shrink:0}tr.row-link:hover{background:var(--surface-2)}.bar-track{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:3px}
