:root{
  --bg:#f6f8fc;--surface:#fff;--text:#172033;--muted:#6b7280;--line:#e6eaf0;
  --brand:#7a1f3d;--gold:#b68a3c;--blue:#2563eb;--blue-soft:#eef5ff;
  --green:#16803a;--green-soft:#edf9f0;--amber:#b66a00;--amber-soft:#fff6e7;
  --purple:#7c3aed;--purple-soft:#f4f0ff;--red:#b42318;--red-soft:#fff0ef;
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
aside{background:#fff;border-right:1px solid var(--line);padding:22px 16px;position:sticky;top:0;height:100vh}
.brand{font-family:Georgia,serif;font-weight:700;font-size:21px;color:var(--brand);line-height:1.08}
.brand small{display:block;font-family:Inter,Arial,sans-serif;font-size:10px;color:#7b8794;letter-spacing:1px;margin-top:7px}
nav{margin-top:25px;display:grid;gap:6px}nav a{padding:11px 12px;border-radius:10px;text-decoration:none;font-weight:650;color:#344054}
nav a:hover,nav a.active{background:var(--blue-soft);color:#1d4ed8}
main{min-width:0}.top{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 24px;position:sticky;top:0;z-index:5}
.top form{display:flex;gap:8px;flex:1;max-width:850px}.top input{flex:1}
.content{max-width:1450px;margin:auto;padding:26px}.hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
h1{font-family:Georgia,serif;color:#24324a;margin:4px 0 8px;font-size:32px}.eyebrow{color:var(--brand);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
p.muted,.muted{color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 7px 22px rgba(31,41,55,.05)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.kpi{border-left:5px solid var(--blue)}.kpi:nth-child(2){border-left-color:var(--green)}.kpi:nth-child(3){border-left-color:var(--purple)}.kpi:nth-child(4){border-left-color:var(--amber)}
.kpi b{font-size:27px}.kpi span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d5dbe5;border-radius:10px;background:#fff;color:var(--text)}
button,.btn{display:inline-block;border:0;border-radius:10px;padding:10px 14px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer;text-decoration:none}
.btn.secondary{background:#fff;color:var(--blue);border:1px solid #aac2f9}.btn.green{background:var(--green)}.btn.amber{background:var(--amber)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.stack{display:grid;gap:12px}.searchbox{display:grid;grid-template-columns:1fr auto;gap:9px}
.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{border-collapse:collapse;width:100%;min-width:820px}
th{background:#f8fafc;color:#667085;font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:10px;border-bottom:1px solid var(--line)}
td{padding:11px;border-bottom:1px solid #eef1f5;font-size:13px;vertical-align:top}
.badge{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;background:var(--blue-soft);color:#1d4ed8}
.badge.ok{background:var(--green-soft);color:var(--green)}.badge.warn{background:var(--amber-soft);color:var(--amber)}.badge.err{background:var(--red-soft);color:var(--red)}
.notice{padding:12px 14px;border-radius:11px;border:1px solid #f0d5a6;background:var(--amber-soft);color:#855000}
.success{padding:12px 14px;border-radius:11px;border:1px solid #bfe7c9;background:var(--green-soft);color:var(--green)}
.error{padding:12px 14px;border-radius:11px;border:1px solid #fac5bf;background:var(--red-soft);color:var(--red)}
.login{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 20px 50px rgba(31,41,55,.09)}
.loginbox h1{font-size:27px}.field{margin:12px 0}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:5px;color:#475467}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
hr{border:0;border-top:1px solid var(--line);margin:18px 0}.small{font-size:12px}.code{font-family:Consolas,monospace;background:#f1f5f9;padding:3px 6px;border-radius:6px}
@media(max-width:900px){.layout{grid-template-columns:1fr}aside{position:relative;height:auto}.grid,.two,.three{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.content{padding:16px}.grid,.two,.three,.searchbox{grid-template-columns:1fr}.hero{display:block}.top{height:auto;padding:10px;flex-wrap:wrap}}
