:root { --night:#1C0B0B; --ember:#FF4D2E; --accent:#C93418; --bg:#F7F2F1; }
body { background: var(--bg); font-family: "Segoe UI", system-ui, sans-serif; color:#241512; }
.topbar { background: var(--night); color:#fff; display:flex; align-items:center; gap:12px; padding:10px 18px; position:sticky; top:0; z-index:20; }
.topbar .brand b { letter-spacing:.24em; font-size:13px; display:block; }
.topbar .brand span { font-size:12px; color:#C9B8B4; }
.menu-btn, .user-btn { color:#fff; border:1px solid #4A2A25; background:#2C1714; }
.menu-btn:hover, .user-btn:hover { color:#fff; background:#3A1F1A; }
.avatar { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:var(--ember); color:#1C0B0B; font-size:11px; font-weight:600; margin-left:6px; }
main.app { padding:20px 24px 60px; }
.nav-list a, .nav-list button { display:block; width:100%; text-align:left; padding:10px 12px; border:0; background:none; color:#241512; text-decoration:none; border-radius:8px; }
.nav-list a:hover, .nav-list button:hover { background:#F2E9E6; }
.page-title { font-size:22px; font-weight:600; margin:0 0 4px; }
.page-sub { color:#6E5E5A; margin-bottom:14px; }
.btn-accent { background:var(--accent); border-color:var(--accent); color:#fff; }
.btn-accent:hover { background:#A92B13; border-color:#A92B13; color:#fff; }
.card-box { background:#fff; border:1px solid #E6DAD7; border-radius:12px; padding:16px; margin-bottom:16px; }
.kpi { background:#fff; border:1px solid #E6DAD7; border-radius:12px; padding:12px 16px; }
.kpi .l { color:#6E5E5A; font-size:12px; display:block; }
.kpi .v { font-size:20px; font-weight:600; }
.steps { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:16px; }
.steps a { padding:8px 14px; border:1px solid #E6DAD7; border-radius:8px; background:#fff; text-decoration:none; color:#241512; font-size:14px; }
.steps a.on { border-color:var(--accent); color:var(--accent); font-weight:600; }
.chips a { display:inline-block; padding:4px 12px; margin:0 6px 6px 0; border:1px solid #E6DAD7; border-radius:999px; background:#fff; text-decoration:none; color:#241512; font-size:14px; }
.chips a.on { background:var(--accent); border-color:var(--accent); color:#fff; }
.login-wrap { min-height:100vh; display:grid; place-items:center; background:var(--night); }
.login-card { width:min(420px, calc(100% - 32px)); background:#fff; border-radius:14px; padding:28px; }
.grid { width:100%; }
.field-error { color:#B3261E; font-size:13px; }

/* status chips */
.chip { display:inline-block; padding:2px 10px; border-radius:999px; font-size:12px; font-weight:600; background:#EEE; color:#444; }
.chip.ok { background:#E3F4E8; color:#1B6B3A; }
.chip.warn { background:#FFF1D6; color:#8A5A00; }
.chip.err { background:#FBE3E0; color:#A1261B; }
.chip.info { background:#E4ECFA; color:#274C9B; }
.nav-tabs .nav-link { color:#6E5E5A; }
.nav-tabs .nav-link.active { color:var(--accent); font-weight:600; }
.offcanvas-body form { margin:0; }
.ag-cell form { margin:0; }
