:root{
  --bg:#f4f5f7;
  --panel:#ffffff;
  --panel-2:#f7f8fa;
  --border:#e3e6ea;
  --border-strong:#d2d6dc;
  --text:#1d2330;
  --muted:#6b7280;
  --accent:#c8102e;            /* Montal red */
  --accent-2:#e63946;
  --accent-soft:#fdecef;
  --ok:#16a34a;
  --danger:#c8102e;
  --warn:#d97706;
  --shadow:0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:system-ui,Segoe UI,Roboto,sans-serif;margin:0;min-height:100vh}
a{color:var(--accent)}
.brand{color:var(--accent);font-weight:800;letter-spacing:.5px}
.app-topbar{background:var(--panel);border-bottom:1px solid var(--border);padding:10px 18px;display:flex;align-items:center;gap:18px;position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}
.app-topbar .menu{display:flex;gap:6px}
.app-topbar .menu a{color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:6px;font-size:14px}
.app-topbar .menu a.active,.app-topbar .menu a:hover{background:var(--accent-soft);color:var(--accent)}
.app-topbar .grow{flex:1}
.tag{background:var(--panel-2);color:var(--muted);padding:3px 10px;border-radius:12px;font-size:12px;border:1px solid var(--border)}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}
.panel-h{padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;display:flex;align-items:center;gap:8px;color:var(--text)}
.panel-b{padding:16px}
.field-label{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;display:block;font-weight:600}
.form-control,.form-select{background:#fff!important;border:1px solid var(--border-strong)!important;color:var(--text)!important;border-radius:6px}
.form-control:focus,.form-select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 .15rem rgba(200,16,46,.15)!important}
.btn-accent{background:var(--accent);color:#fff;border:none;font-weight:600}
.btn-accent:hover{background:#a50d26;color:#fff}
.btn-ghost{background:#fff;color:var(--text);border:1px solid var(--border-strong)}
.btn-ghost:hover{background:var(--panel-2);border-color:var(--accent)}
.kpi{background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:var(--shadow)}
.kpi .v{font-size:22px;font-weight:700;color:var(--text)}
.kpi .l{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.status-ok{color:var(--ok)} .status-bad{color:var(--danger)} .status-warn{color:var(--warn)}
.divider{height:1px;background:var(--border);margin:14px 0}
.scroll-x{overflow-x:auto}
table.tbl{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
table.tbl th,table.tbl td{padding:9px 10px;border-bottom:1px solid var(--border);text-align:left}
table.tbl th{background:var(--panel-2);color:var(--muted);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px}
.pill{display:inline-block;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:600}
.pill-ok{background:rgba(22,163,74,.12);color:var(--ok)}
.pill-bad{background:rgba(200,16,46,.12);color:var(--danger)}
.pill-warn{background:rgba(217,119,6,.12);color:var(--warn)}
.pill-info{background:var(--accent-soft);color:var(--accent)}

/* dark text helpers (override leftover dark-theme classes) */
.text-warning{color:var(--accent)!important}
.text-success{color:var(--ok)!important}
.text-secondary{color:var(--muted)!important}
kbd{background:var(--panel-2);border:1px solid var(--border-strong);color:var(--text);padding:1px 6px;border-radius:4px;font-size:12px}

/* alerts soft */
.alert.bg-transparent{background:var(--accent-soft)!important;border-color:var(--accent)!important;color:var(--accent)!important}

/* ===== Helper / AI side panel ===== */
.help-launcher{position:fixed;right:18px;bottom:18px;z-index:90;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:12px 18px;font-weight:600;box-shadow:0 8px 24px rgba(200,16,46,.35);display:flex;align-items:center;gap:8px;cursor:pointer}
.help-launcher:hover{background:#a50d26}
.help-panel{position:fixed;top:0;right:0;height:100vh;width:0;background:#fff;border-left:1px solid var(--border);box-shadow:-8px 0 24px rgba(16,24,40,.08);z-index:100;transition:width .28s ease;overflow:hidden;display:flex;flex-direction:column}
.help-panel.open{width:420px;max-width:92vw}
.help-panel.wide{width:620px;max-width:96vw}
.help-head{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;background:var(--panel-2)}
.help-head .ttl{font-weight:700;color:var(--accent);flex:1}
.help-head button{background:transparent;border:none;color:var(--muted);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:4px}
.help-head button:hover{background:#fff;color:var(--accent)}
.help-tabs{display:flex;border-bottom:1px solid var(--border);background:#fff}
.help-tabs .t{flex:1;padding:10px 8px;text-align:center;font-size:13px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;font-weight:500}
.help-tabs .t.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--accent-soft)}
.help-body{flex:1;overflow-y:auto;padding:16px;font-size:14px;line-height:1.55}
.help-body h6{color:var(--accent);text-transform:uppercase;font-size:11px;letter-spacing:.5px;margin-top:14px;margin-bottom:6px;font-weight:700}
.help-body .ref{background:var(--panel-2);border-left:3px solid var(--accent);padding:8px 12px;border-radius:4px;font-size:13px;color:var(--muted);margin:8px 0}
.chat-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden}
.chat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--panel-2)}
.msg{max-width:85%;padding:9px 12px;border-radius:12px;font-size:13.5px;line-height:1.4}
.msg.ai{background:#fff;border:1px solid var(--border);color:var(--text);align-self:flex-start;border-bottom-left-radius:3px}
.msg.me{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.msg .who{font-size:10px;text-transform:uppercase;letter-spacing:.5px;opacity:.7;margin-bottom:2px;font-weight:600}
.chat-input{border-top:1px solid var(--border);padding:10px;background:#fff;display:flex;gap:8px}
.chat-input input{flex:1;border:1px solid var(--border-strong);border-radius:20px;padding:8px 14px;font-size:13.5px;outline:none}
.chat-input input:focus{border-color:var(--accent)}
.chat-input button{background:var(--accent);color:#fff;border:none;border-radius:50%;width:36px;height:36px;cursor:pointer}
.ai-badge{display:inline-flex;align-items:center;gap:4px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:700;padding:2px 6px;border-radius:8px;text-transform:uppercase}
.help-panel.open ~ .help-launcher,.help-panel.open + .help-launcher{display:none}
