:root{
  --bg:#0f172a; --card:#111827; --text:#e5e7eb; --muted:#94a3b8; --border:#1f2937; --acc:#60a5fa; --good:#065f46; --bad:#7f1d1d;
}
html,body{height:100%}
body{background:var(--bg); color:var(--text);}
a, a:visited{color:var(--acc); text-decoration:none}
.wrapper{display:flex; min-height:100vh}
.sidebar{width:260px; background:#0b1220; border-right:1px solid var(--border); padding:1rem; position:sticky; top:0; height:100vh}
.sidebar .brand{font-weight:700; letter-spacing:.3px}
.sidebar .nav a{display:block; padding:.5rem .75rem; border-radius:.5rem; color:var(--text)}
.sidebar .nav a:hover{background:#0e1628}
.main{flex:1; display:flex; flex-direction:column}
.topbar{border-bottom:1px solid var(--border); background:#0b1220; padding:.75rem 1rem}
.content{padding:1rem 2rem}
.card{border:0; border-radius:1rem; background:var(--card); color:var(--text); box-shadow:0 10px 30px rgba(0,0,0,.4)}
.card .card-header{background:transparent; border-bottom:1px solid var(--border)}
.badge-up{background:var(--good); color:#fff}
.badge-down{background:var(--bad); color:#fff}
.table thead th{border-bottom:1px solid #374151}
.table tbody tr{border-color:var(--border)}
.search-input{background:#0b1220;border:1px solid #334155;color:var(--text)}
.footer{border-top:1px solid var(--border); color:var(--muted); font-size:.9rem; padding:1rem; text-align:center}