:root {
  --bg: #07130f; --panel: rgba(255,255,255,.075); --panel-strong: rgba(255,255,255,.11);
  --text: #f4fff9; --muted: #9bb7a9; --green: #37f28f; --blue: #71b8ff;
  --line: rgba(255,255,255,.13); --red: #ff7373; --shadow: 0 24px 80px rgba(0,0,0,.28);
  font-family: 'Outfit', system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; color:var(--text); background:radial-gradient(circle at 8% 0%,rgba(55,242,143,.18),transparent 31%),radial-gradient(circle at 94% 6%,rgba(44,140,255,.18),transparent 25%),linear-gradient(135deg,#06100d,#0b1c16 50%,#050807); }
a { color:inherit; }
.admin-shell { width:min(1240px,calc(100% - 36px)); margin:auto; padding:20px 0 56px; }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:6px 0 42px; }
.brand-link { font-size:1.35rem; font-weight:900; letter-spacing:-.05em; text-decoration:none; }.brand-link span { color:var(--green); }
.topbar-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }.topbar-actions a { color:var(--muted); text-decoration:none; padding:9px 12px; }.topbar-actions a:hover { color:var(--green); }
.btn { border:0; border-radius:13px; padding:12px 16px; font:inherit; font-weight:800; cursor:pointer; display:inline-flex; justify-content:center; align-items:center; gap:8px; }.btn.primary { color:#04100b; background:linear-gradient(135deg,var(--green),#baffd8); box-shadow:0 12px 28px rgba(55,242,143,.18); }.btn.secondary { color:var(--text); background:rgba(255,255,255,.08); border:1px solid var(--line); }.btn.danger { color:#ffdcdc; background:rgba(255,115,115,.12); border:1px solid rgba(255,115,115,.28); }.btn.small { padding:9px 13px; font-size:.9rem; }
.page-heading { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:28px; }.eyebrow { margin:0 0 8px; color:var(--green); font-size:.74rem; font-weight:900; text-transform:uppercase; letter-spacing:.18em; }.page-heading h1 { margin:0; max-width:700px; font-size:clamp(2.7rem,7vw,5.8rem); line-height:.92; letter-spacing:-.08em; }.lede { max-width:650px; margin:18px 0 0; color:var(--muted); font-size:1.08rem; line-height:1.5; }.connection-stack { display:grid; gap:8px; min-width:190px; }.status-chip { display:flex; align-items:center; gap:9px; border:1px solid var(--line); background:rgba(0,0,0,.18); border-radius:999px; padding:9px 12px; color:var(--muted); font-size:.85rem; }.status-chip i { width:9px; height:9px; border-radius:50%; background:#75887d; }.status-chip.ok { color:var(--green); border-color:rgba(55,242,143,.32); }.status-chip.ok i { background:var(--green); box-shadow:0 0 16px var(--green); }.status-chip.warn { color:#ffd58c; }.status-chip.warn i { background:#ffc857; }
.stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:42px; }.stat-card,.panel-card,.court-card { border:1px solid var(--line); background:var(--panel); box-shadow:var(--shadow); backdrop-filter:blur(18px); border-radius:22px; }.stat-card { padding:20px 22px; }.stat-card span,.stat-card small { display:block; color:var(--muted); }.stat-card strong { display:block; margin:8px 0 3px; font-size:2.45rem; letter-spacing:-.07em; }.stat-card.accent { border-color:rgba(55,242,143,.34); background:linear-gradient(135deg,rgba(55,242,143,.11),rgba(255,255,255,.06)); }.section-block { margin-bottom:34px; }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:16px; }.section-heading h2,.panel-card h2 { margin:0; font-size:1.65rem; letter-spacing:-.04em; }.text-link { color:var(--green); font-weight:800; text-decoration:none; }.courts-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:16px; }.court-card { overflow:hidden; }.court-top { display:flex; justify-content:space-between; gap:16px; padding:20px 20px 14px; border-bottom:1px solid var(--line); }.court-name { font-size:1.25rem; font-weight:800; }.court-number { color:var(--muted); font-size:.8rem; }.court-status { border-radius:999px; padding:6px 10px; color:var(--muted); background:rgba(255,255,255,.07); font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }.court-status.live { color:var(--green); background:rgba(55,242,143,.11); }.court-body { padding:20px; }.match-names { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:.92rem; }.match-score { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; margin:15px 0 20px; }.score-side { text-align:center; }.score-side strong { display:block; color:var(--text); font-size:2.2rem; line-height:1; letter-spacing:-.08em; }.score-side small { color:var(--muted); }.score-separator { color:var(--green); font-size:1.2rem; }.court-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.court-actions .wide { grid-column:1/-1; }.court-footer { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }.court-footer .btn { flex:1; min-width:105px; font-size:.84rem; }.empty-state { padding:26px; border:1px dashed var(--line); border-radius:18px; color:var(--muted); text-align:center; }.lower-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:16px; }.panel-card { padding:22px; }.history-list { display:grid; gap:10px; }.history-item { display:grid; grid-template-columns:1fr auto; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }.history-item:last-child { border-bottom:0; }.history-item strong { display:block; }.history-item span,.history-item small { color:var(--muted); }.history-result { text-align:right; color:var(--green); font-weight:900; white-space:nowrap; }.hardware-card { background:linear-gradient(145deg,rgba(113,184,255,.1),rgba(255,255,255,.065)); }.hardware-card > p:not(.eyebrow):not(.muted-note) { color:var(--muted); line-height:1.6; }.hardware-list { display:grid; gap:12px; margin:22px 0; }.hardware-list>div { display:flex; align-items:center; gap:12px; }.hardware-list strong,.hardware-list small { display:block; }.hardware-list small { color:var(--muted); margin-top:2px; }.hardware-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:var(--blue); border:1px solid rgba(113,184,255,.35); font-size:.73rem; font-weight:900; }.muted-note { color:var(--muted); border-top:1px solid var(--line); padding-top:14px; font-size:.85rem; }
.modal { display:none; position:fixed; inset:0; z-index:10; place-items:center; padding:18px; background:rgba(0,0,0,.72); backdrop-filter:blur(8px); }.modal.open { display:grid; }.modal-card { position:relative; width:min(720px,100%); max-height:calc(100vh - 36px); overflow:auto; padding:28px; border:1px solid var(--line); border-radius:24px; background:#102119; box-shadow:0 30px 100px rgba(0,0,0,.5); }.modal-close { position:absolute; top:14px; right:16px; border:0; background:transparent; color:var(--muted); font-size:2rem; cursor:pointer; }.modal-card h2 { font-size:2rem; }.modal-intro { color:var(--muted); line-height:1.5; }.team-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px; }fieldset { min-width:0; border:1px solid var(--line); border-radius:16px; padding:16px; }legend { padding:0 8px; color:var(--green); font-weight:900; }label { display:grid; gap:7px; margin-bottom:12px; color:var(--muted); font-size:.86rem; font-weight:700; }input { width:100%; padding:12px; color:var(--text); background:rgba(0,0,0,.22); border:1px solid var(--line); border-radius:11px; font:inherit; }input:focus { outline:2px solid rgba(55,242,143,.3); border-color:var(--green); }.modal-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:20px; }.toast { position:fixed; z-index:20; right:18px; bottom:18px; max-width:360px; padding:14px 16px; border:1px solid var(--green); border-radius:14px; background:#10231a; opacity:0; transform:translateY(12px); transition:.2s ease; pointer-events:none; }.toast.show { opacity:1; transform:none; }
@media(max-width:780px){.admin-shell{width:min(100% - 24px,600px)}.topbar,.page-heading{align-items:flex-start;flex-direction:column}.topbar{padding-bottom:28px}.connection-stack{width:100%;display:flex;flex-wrap:wrap}.stat-grid,.lower-grid{grid-template-columns:1fr}.stat-grid{margin-bottom:30px}.section-heading{align-items:flex-start;flex-direction:column}.team-fields{grid-template-columns:1fr}.court-actions{grid-template-columns:1fr 1fr}.page-heading h1{font-size:3.25rem}.topbar-actions{width:100%}.topbar-actions a{padding-left:0}}
