*{box-sizing:border-box}
:root{--bg:#f5f7fa;--card:#fff;--ink:#17202b;--muted:#7d8994;--line:#e4e9ee;--nav:#111c27;--nav2:#1b2b3a;--accent:#173a56;--red:#b42318;--green:#1d7a4d;--amber:#9a6400}
body{margin:0;font-family:Arial,"Segoe UI",Tahoma,sans-serif;background:var(--bg);color:var(--ink)}
.sidebar{position:fixed;right:0;top:0;bottom:0;width:240px;background:var(--nav);color:#fff;padding:22px 15px;display:flex;flex-direction:column}
.brand{padding:6px 10px 24px}.brand strong{display:block;font-size:22px}.brand span{font-size:11px;color:#91a1af}
.nav,.bottom-btn{width:100%;border:0;background:transparent;color:#aebac5;text-align:right;padding:12px 14px;border-radius:10px;margin:3px 0;cursor:pointer;font:inherit}
.nav.active,.nav:hover{background:var(--nav2);color:#fff}.bottom-btn{margin-top:auto;border:1px solid #314454;color:#fff}
.main{margin-right:240px;padding:25px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.topbar h1{margin:0}.topbar p,.status,.muted{color:var(--muted);font-size:12px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 16px rgba(20,35,50,.035)}
.card{padding:17px}.card small{color:var(--muted);font-size:11px}.card strong{display:block;margin-top:8px;font-size:25px}.red strong{color:var(--red)}.green strong{color:var(--green)}.amber strong{color:var(--amber)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.panel{padding:18px;margin-top:14px}.panel h3{margin:0 0 13px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wide{grid-column:1/-1}label{font-size:12px;color:#52616e}input,textarea,select{width:100%;padding:10px;margin-top:5px;border:1px solid #d9e0e6;border-radius:9px;background:#fff;font:inherit}textarea{min-height:70px}
.primary{border:0;background:var(--accent);color:#fff;border-radius:9px;padding:10px 15px;cursor:pointer}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar>*{max-width:240px}
.table-wrap{overflow:auto;border:1px solid #edf0f3;border-radius:10px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{background:#f7f9fb;color:#6d7984;font-size:11px;padding:9px;text-align:right}td{padding:10px 9px;border-top:1px solid #edf0f3;font-size:12px;vertical-align:top}td.desc{white-space:normal;min-width:280px}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px}.badge.ok{background:#e8f6ee;color:#1f7249}.badge.bad{background:#ffe8e6;color:#a32118}.badge.warn{background:#fff1dc;color:#966100}
.banner{padding:14px;border-radius:11px;margin-top:14px;font-weight:700}.banner.red{background:#fdeaea;color:var(--red)}.banner.green{background:#e9f7ef;color:var(--green)}.banner.amber{background:#fff4dc;color:var(--amber)}
.action{border:1px solid #d6dde3;background:#fff;border-radius:8px;padding:6px 9px;cursor:pointer}.empty,.loading{text-align:center;color:#94a0aa;padding:40px}
.modal{position:fixed;inset:0;background:rgba(5,14,22,.55);display:none;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modal-card{background:#fff;width:min(500px,100%);border-radius:15px;padding:22px;position:relative}.close{position:absolute;left:14px;top:10px;border:0;background:transparent;font-size:25px;cursor:pointer}
@media(max-width:900px){.sidebar{width:190px}.main{margin-right:190px}.cards{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar{position:static;width:100%;height:auto}.main{margin-right:0;padding:15px}.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.topbar{display:block}}
