/* Tokens Delta — tema escuro (alternativo). O padrão da aplicação é o tema claro. */
:root{
  --bg:#001B36; --surface:#06294C; --surface2:#04203E; --line:#1C3A5E;
  --txt:#E8EEF6; --muted:#9DB0C7; --faint:#6E83A0;
  --brand:#3B7AC0; --brand2:#7FB1E8; --accent:#F58220;
  --green:#2FB36A; --amber:#E8911E; --red:#E15B4C;
  --radius:14px; --shadow:0 8px 28px rgba(0,0,0,.45);
  --pal0:#3B7AC0;--pal1:#F58220;--pal2:#5B8DEF;--pal3:#2FB36A;--pal4:#E8911E;
  --pal5:#9AA7FF;--pal6:#22A7C0;--pal7:#C084FC;--pal8:#E15B4C;--pal9:#7FB1E8;
}
/* Tokens Delta — tema claro (padrão). Azul institucional #002F5E + laranja #F58220. */
html[data-theme="light"]{
  --bg:#F7F9FC; --surface:#FFFFFF; --surface2:#F1F5FA; --line:#D9E1EA;
  --txt:#1F2A37; --muted:#5B6573; --faint:#8A97A8;
  --brand:#002F5E; --brand2:#1E5BA8; --accent:#F58220;
  --green:#1F9D55; --amber:#D97706; --red:#C0392B;
  --shadow:0 6px 18px rgba(0,0,0,.10);
  --pal0:#002F5E;--pal1:#F58220;--pal2:#2563EB;--pal3:#1F9D55;--pal4:#D97706;
  --pal5:#5B8DEF;--pal6:#0E7490;--pal7:#9333EA;--pal8:#C0392B;--pal9:#1E5BA8;
}
html[data-theme="light"] body{background:radial-gradient(1200px 600px at 80% -10%,#E9F0F9 0%,var(--bg) 55%) fixed}
html[data-theme="light"] thead th{background:#EEF3FA}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:radial-gradient(1200px 600px at 80% -10%,#022A4F 0%,var(--bg) 55%) fixed;
  color:var(--txt);
  font:14px/1.45 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1500px;width:95%;margin:0 auto;padding:22px 26px 70px}
a{color:var(--brand2)}

/* Header */
header.top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:8px}
.brand{display:flex;align-items:center;gap:14px}
.logo{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--accent));
  display:grid;place-items:center;font-weight:800;font-size:15px;color:#fff;box-shadow:var(--shadow);letter-spacing:.5px}
h1{font-size:22px;margin:0;letter-spacing:.2px}
.sub{color:var(--muted);font-size:12.5px;margin-top:3px;max-width:720px}
.scope{font-size:11.5px;color:var(--faint);margin-top:4px}
.btn{background:var(--surface2);border:1px solid var(--line);color:var(--txt);border-radius:9px;
  padding:8px 13px;font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.btn:hover{border-color:var(--brand)}
.hdr-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#importBtn{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;border-color:transparent;font-weight:600}
.import-status{margin:10px 0 0;padding:9px 13px;border-radius:10px;font-size:12.5px;
  background:rgba(52,211,153,.12);border:1px solid var(--line);border-left:3px solid var(--green);color:var(--muted)}
.import-status.err{background:rgba(248,113,113,.12);border-left-color:var(--red)}
.import-status b{color:var(--txt)}

/* Tabs */
.tabs{display:flex;gap:6px;margin:14px 0 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tab{background:transparent;border:0;border-bottom:2.5px solid transparent;color:var(--muted);
  padding:11px 18px;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:-1px}
.tab:hover{color:var(--txt)}
.tab.on{color:var(--brand2);border-bottom-color:var(--brand)}
.tab .pill{display:inline-block;margin-left:7px;padding:1px 8px;border-radius:999px;font-size:11px;
  background:var(--surface2);border:1px solid var(--line);color:var(--muted);font-weight:700}
.tab.on .pill{background:var(--brand);border-color:var(--brand);color:#fff}
.section-title{margin:18px 0 0;font-size:15px;color:var(--muted);font-weight:600;letter-spacing:.3px}
#tt .tb{margin-top:5px;border-top:1px solid var(--line);padding-top:5px}
#tt .tb div{display:flex;justify-content:space-between;gap:14px}
#tt .tb b{color:var(--txt)}

/* Controls */
.controls{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:16px 0;padding:14px 16px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.controls .grp{display:flex;flex-direction:column;gap:5px}
.controls label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}
.controls .row{display:flex;gap:7px;align-items:center}
input[type=search],input[type=date],select{background:var(--surface2);border:1px solid var(--line);color:var(--txt);
  border-radius:9px;padding:8px 11px;font-size:13px;outline:none}
input[type=search]{min-width:220px}
select{min-width:150px;max-width:230px}
input:focus,select:focus{border-color:var(--brand)}
.spacer{flex:1}
.muted-sm{color:var(--faint);font-size:11px}
/* multi-select (checkboxes em dropdown) */
.ms{position:relative}
.ms-btn{background:var(--surface2);border:1px solid var(--line);color:var(--txt);border-radius:9px;
  padding:8px 11px;font-size:13px;cursor:pointer;min-width:150px;max-width:230px;text-align:left;
  display:flex;justify-content:space-between;align-items:center;gap:8px;white-space:nowrap;overflow:hidden}
.ms-btn:hover,.ms.open .ms-btn{border-color:var(--brand)}
.ms-car{color:var(--muted);font-size:10px}
.ms-panel{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:220px;max-height:320px;
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px}
.ms-panel[hidden]{display:none}
.ms-search{width:100%;margin-bottom:5px;background:var(--surface2);border:1px solid var(--line);color:var(--txt);
  border-radius:7px;padding:6px 9px;font-size:12.5px;outline:none}
.ms-search:focus{border-color:var(--brand)}
.ms-list{overflow:auto;flex:1}
.ms-opt{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--txt)}
.ms-opt:hover{background:var(--surface2)}
.ms-opt input{accent-color:var(--brand);width:15px;height:15px;cursor:pointer}
.ms-opt .ct{margin-left:auto;color:var(--faint);font-size:11px}
.ms-actions{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:4px;padding-top:5px}
.ms-actions a{color:var(--brand2);font-size:11.5px;cursor:pointer;padding:3px 6px}

/* KPI cards */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;margin:14px 0 6px}
.kpi{background:linear-gradient(180deg,var(--surface),var(--surface2));border:1px solid var(--line);
  border-radius:var(--radius);padding:15px 16px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.kpi::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;
  background:radial-gradient(circle,rgba(59,130,246,.18),transparent 70%)}
.kpi .lbl{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}
.kpi .val{font-size:26px;font-weight:700;margin-top:6px;letter-spacing:.3px}
.kpi .val .pre{font-size:13px;color:var(--muted);font-weight:600;margin-right:3px}
.kpi .sub2{font-size:11.5px;margin-top:5px;color:var(--faint)}
.kpi.good .val{color:var(--green)} .kpi.bad .val{color:var(--red)} .kpi.warn .val{color:var(--amber)}

/* Panels */
.grid{display:grid;gap:14px;margin-top:14px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:1.2fr 1fr 1fr}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:15px 17px;box-shadow:var(--shadow)}
.panel h3{margin:0 0 2px;font-size:14.5px}
.panel .hint{color:var(--faint);font-size:11px;margin-bottom:10px}
.panel.full{grid-column:1/-1}

/* charts */
.chart{width:100%}
.bar-row{cursor:default}
.bar-row:hover .bar-fill{filter:brightness(1.15)}
svg text{fill:var(--muted)}
.note{background:rgba(59,130,246,.08);border:1px solid var(--line);border-left:3px solid var(--brand);
  border-radius:10px;padding:11px 14px;color:var(--muted);font-size:12px;margin-top:14px}
.note b{color:var(--txt)}

/* table */
.tablewrap{overflow:auto;max-height:560px;border-radius:10px;border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;font-size:12.5px}
thead th{position:sticky;top:0;background:var(--surface2);text-align:left;padding:9px 11px;
  border-bottom:1px solid var(--line);color:var(--muted);font-weight:600;cursor:pointer;white-space:nowrap;z-index:2}
thead th:hover{color:var(--txt)}
tbody td{padding:8px 11px;border-bottom:1px solid var(--line)}
tbody tr:hover{background:var(--surface2)}
.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:600;white-space:nowrap}
.tag.sla-ok{background:rgba(52,211,153,.16);color:var(--green)}
.tag.sla-bad{background:rgba(248,113,113,.16);color:var(--red)}
.tag.sla-na{background:rgba(148,163,184,.16);color:var(--muted)}
.tag.t{background:rgba(59,130,246,.14);color:var(--brand2)}
.chave{font-variant-numeric:tabular-nums;font-weight:600;color:var(--brand2)}
tr.rowclick{cursor:pointer}
tr.rowclick:hover{background:rgba(59,130,246,.10)}
tr.sel{background:rgba(59,130,246,.18)!important;box-shadow:inset 3px 0 0 var(--brand)}
/* segmented control */
.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.seg button{background:var(--surface2);border:0;border-right:1px solid var(--line);color:var(--muted);
  padding:8px 12px;font-size:12.5px;cursor:pointer}
.seg button:last-child{border-right:0}
.seg button.on{background:var(--brand);color:#fff}
/* status de cliente */
.stbtns{display:inline-flex;gap:5px}
.stbtn{cursor:pointer;border:1px solid var(--line);background:var(--surface2);color:var(--muted);
  border-radius:7px;padding:3px 9px;font-size:11.5px;font-weight:600}
.stbtn:hover{border-color:var(--brand)}
.stbtn.on-a{background:rgba(52,211,153,.18);border-color:var(--green);color:var(--green)}
.stbtn.on-i{background:rgba(248,113,113,.18);border-color:var(--red);color:var(--red)}
.stbadge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:600}
.stbadge.a{background:rgba(52,211,153,.16);color:var(--green)}
.stbadge.i{background:rgba(248,113,113,.16);color:var(--red)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:8px}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}

/* tooltip */
#tt{position:fixed;z-index:50;pointer-events:none;background:var(--surface);border:1px solid var(--line);
  border-radius:9px;padding:8px 11px;font-size:12px;box-shadow:var(--shadow);opacity:0;transition:opacity .1s;max-width:280px}
#tt.on{opacity:1}
#tt .tk{color:var(--muted)} #tt .tv{font-weight:700}

@media(max-width:1100px){.g2,.g3{grid-template-columns:1fr}}
