:root{
  --bg:#0b1020;
  --card:#111a33;
  --muted:#9aa7c7;
  --text:#e8eeff;
  --line:#233057;
  --accent:#3b82f6;
  --ok:#22c55e;
  --bad:#ef4444;
}

*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#0a1020,#060812);color:var(--text)}
a{color:inherit;text-decoration:none}

.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(10,16,32,.9);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}
.brand{font-weight:700;letter-spacing:.4px}
.topbar-right{display:flex;gap:12px;align-items:center}
.btn{padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.04);cursor:pointer;margin:4px 0}
.btn:hover{border-color:rgba(59,130,246,.6)}
.btn+.btn,.btn+form,.form-inline+.btn,.form-inline+.form-inline{margin-left:8px}
.btn-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 54px)}
.sidebar{border-right:1px solid var(--line);padding:14px;background:rgba(17,26,51,.35)}
.nav-item{display:block;padding:10px 12px;border-radius:10px;color:var(--text);border:1px solid transparent;margin-bottom:6px}
.nav-item:hover{border-color:rgba(59,130,246,.4);background:rgba(59,130,246,.08)}

.content{padding:18px}
.muted{color:var(--muted)}
.strong{font-weight:700}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin:14px 0}
.card{background:rgba(17,26,51,.7);border:1px solid var(--line);border-radius:16px;padding:14px 14px;margin:16px 0}
.kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.kpi{border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:10px;background:rgba(255,255,255,.03)}
.kpi-label{font-size:12px;color:var(--muted)}
.kpi-value{font-size:22px;font-weight:800;margin-top:2px}

.table-wrap{overflow:auto;border-radius:12px;border:1px solid rgba(255,255,255,.07);margin-bottom:16px}
table{width:100%;border-collapse:collapse;background:rgba(0,0,0,.15)}
th,td{padding:10px 10px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left;font-size:13px}
th{color:var(--muted);font-weight:600}

.pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.10)}
.pill.ok{border-color:rgba(34,197,94,.5);color:var(--ok)}
.pill.bad{border-color:rgba(239,68,68,.5);color:var(--bad)}

.messages{margin-bottom:12px}
.msg{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);margin-bottom:8px}
.msg.error{border-color:rgba(239,68,68,.35)}
.msg.success{border-color:rgba(34,197,94,.35)}

.auth{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:18px}
.auth-card{width:420px;max-width:100%;border:1px solid var(--line);background:rgba(17,26,51,.8);border-radius:18px;padding:18px}
.auth-card h1{margin:0 0 6px 0}
.auth-card form{display:grid;gap:10px;margin-top:10px}
.auth-card input{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.25);color:var(--text)}
.auth-card button{padding:10px 12px;border-radius:12px;border:1px solid rgba(59,130,246,.5);background:rgba(59,130,246,.15);color:var(--text);font-weight:700;cursor:pointer}
.auth-links{margin-top:10px}
.auth-links a{color:var(--muted)}

.form-grid{display:grid;gap:10px}
.form-grid input,.form-grid select,.form-grid textarea{
  padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.25);color:var(--text)
}
.form-grid textarea{resize:vertical}
.form-grid button{padding:10px 12px;border-radius:12px;border:1px solid rgba(59,130,246,.5);background:rgba(59,130,246,.15);color:var(--text);font-weight:700;cursor:pointer}
