
:root{
  --bg:#121212; --panel:#1b1b1b; --soft:#252525; --line:#3a3325; --text:#f4f0e6; --muted:#c3bba9; --accent:#d7b56d; --danger:#d36a6a; --warn:#c59a4b; --ok:#6bb27d;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit} button,input,select,textarea{font:inherit}
.container{max-width:1400px;margin:0 auto;padding:24px}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-card{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--line);padding:28px;border-radius:18px;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.logo{font-size:28px;font-weight:700;color:var(--accent)}
.subtitle{color:var(--muted);margin:6px 0 22px}
.field{display:grid;gap:6px;margin-bottom:14px}
input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#111;color:var(--text)}
textarea{min-height:88px;resize:vertical}
.btn{background:var(--accent);color:#141414;border:none;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer}
.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn.danger{background:var(--danger);color:white}
.btn.small{padding:8px 10px;font-size:14px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px}
.stat{padding:18px;border-radius:18px;background:var(--panel);border:1px solid var(--line)}
.stat .v{font-size:34px;font-weight:800;color:var(--accent)}
.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:#111;border-right:1px solid var(--line);padding:18px;position:sticky;top:0;height:100vh;overflow:auto}
.nav-btn{display:block;width:100%;text-align:left;padding:12px 14px;margin:6px 0;border-radius:12px;background:transparent;border:1px solid transparent;color:var(--text);cursor:pointer}
.nav-btn.active,.nav-btn:hover{background:var(--soft);border-color:var(--line)}
.main{padding:22px}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}
.muted{color:var(--muted)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px}
.badge.ok{background:rgba(107,178,125,.15);color:#bde3c7}
.badge.warn{background:rgba(197,154,75,.18);color:#f0d39a}
.badge.danger{background:rgba(211,106,106,.18);color:#f1b4b4}
.hidden{display:none}
.notice{padding:12px 14px;border-radius:12px;border:1px solid var(--line);margin-bottom:12px}
.notice.error{background:rgba(211,106,106,.12)}
.notice.ok{background:rgba(107,178,125,.12)}
.section-title{margin:0 0 8px;font-size:24px}
.small{font-size:14px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.kpi-title{font-size:14px;color:var(--muted)}
.list{display:grid;gap:10px}
.item{padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}
hr.sep{border:none;border-top:1px solid var(--line);margin:18px 0}
.alert-box{padding:12px;border-radius:14px;border:1px solid var(--line)}
.alert-no{background:rgba(107,178,125,.12)}
.alert-pending{background:rgba(197,154,75,.15)}
.alert-yes{background:rgba(211,106,106,.14)}
@media (max-width: 980px){
  .layout{grid-template-columns:1fr}
  .sidebar{position:static;height:auto}
  .grid-4,.grid-3,.grid-2{grid-template-columns:1fr}
}
