:root[data-theme="light"]{--bg:#f4f6f9;--fg:#101418;--muted:#6b7280;--border:#e3e6ea;--card:#ffffff;--shadow:0 10px 30px rgba(16,20,24,.06);--brand-red:#d11f2a;--brand-green:#2cab59;--brand-dark:#111315;--tab-fg:#ffffff;--tab-bg:var(--brand-dark);--tab-active:#2cab59}
:root[data-theme="dark"]{--bg:#0f1216;--fg:#e6eaef;--muted:#9aa3ad;--border:#1e2732;--card:#141a21;--shadow:0 8px 24px rgba(0,0,0,.45);--brand-red:#ff4b57;--brand-green:#43d37a;--brand-dark:#0c0f12;--tab-fg:#e6eaef;--tab-bg:#0c0f12;--tab-active:#43d37a}
*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--fg)}

/* Top header */
.topbar{position:sticky;top:0;z-index:60;background:#fff;color:#111;border-bottom:1px solid var(--border)}
.topbar .wrap{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:10px 16px}
.logo{height:28px}
.title{font-weight:800;letter-spacing:.2px}
.right{display:flex;gap:10px;align-items:center}
.link{color:#374151;text-decoration:none;padding:6px 10px;border-radius:8px;border:1px solid transparent}
.link:hover{border-color:var(--border);background:#fafafa}
#themeToggle{background:transparent;border:0;cursor:pointer;font-size:18px}
#themeToggle .icon{transition:opacity .15s ease}
#themeToggle .icon.hidden{opacity:0}

/* Black nav */
.nav-main{position:sticky;top:52px;z-index:50;background:var(--tab-bg);color:var(--tab-fg);border-bottom:1px solid #000}
.nav-main .wrap{max-width:1280px;margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;padding:6px 16px}
.tabs{display:flex;gap:18px}
.tab{appearance:none;background:transparent;border:0;color:var(--tab-fg);opacity:.85;padding:10px 2px;cursor:pointer;font-weight:600}
.tab.active{opacity:1;border-bottom:3px solid var(--tab-active)}

/* Page container */
.container{max-width:1280px;margin:0 auto;padding:16px}

/* Tiles */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.tile{display:block;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:16px 14px;color:inherit;text-decoration:none;transition:transform .06s ease,border-color .15s ease}
.tile:hover{transform:translateY(-1px);border-color:#cfd7df}
.tile.ghost{background:transparent}
.tile-icon{font-size:24px;margin-bottom:8px}
.tile-title{font-weight:800;margin-bottom:4px}
.tile-sub{color:var(--muted);font-size:14px}

/* Legacy components (kept for other admin pages) */
button,select,input,textarea{border:1px solid var(--border);background:var(--card);color:var(--fg);border-radius:8px;padding:8px 10px}
button.primary{background:var(--brand-green);border-color:var(--brand-green);color:#0b0f14}
button.danger{background:var(--brand-red);border-color:var(--brand-red);color:#fff}
.table{width:100%;border-collapse:separate;border-spacing:0 8px;margin-top:12px}
.table thead th{font-size:12px;color:var(--muted);text-align:left;padding:6px 10px;border-bottom:1px solid var(--border)}
.table tbody tr{background:var(--card);border:1px solid var(--border)}
.table tbody td{padding:10px}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;margin:12px 0;box-shadow:var(--shadow)}
.badge{display:inline-block;background:transparent;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:12px;color:var(--muted)}
.row{display:flex;gap:12px;flex-wrap:wrap}
.col{flex:1 1 280px}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
input[type="datetime-local"]{min-width:220px}
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(2,6,23,.55)}
.modal.show{display:flex}
.modal>.panel{width:min(680px,94vw);background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.panel .head{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.panel .body{padding:14px}
.panel .foot{padding:12px 14px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;padding:10px 14px;border-radius:8px;background:#111827;color:#fff;opacity:0;transition:.25s}
#toast.show{opacity:1}
#toast.ok{background:var(--brand-green);color:#0b0f14}
#toast.err{background:var(--brand-red)}
.nav{display:flex;gap:12px;margin-top:10px}
.nav a{color:#93c5fd;text-decoration:none;border:1px solid var(--border);padding:6px 10px;border-radius:8px}
.nav a:hover{background:rgba(255,255,255,.02)}
