:root{
  --bg:#07111f;--bg2:#0a1628;--sidebar:#050d18;--panel:#0d1b2f;--panel2:#101f36;
  --line:rgba(148,163,184,.16);--text:#eaf2ff;--muted:#92a4bd;--blue:#2563eb;--cyan:#06b6d4;
  --green:#10b981;--purple:#8b5cf6;--orange:#f59e0b;--red:#ef4444;--pink:#ec4899;
}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#102542 0,#07111f 36%,#050b14 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px}.app{display:flex;min-height:100vh}.sidebar{width:282px;background:linear-gradient(180deg,#081322,#050b14);border-right:1px solid var(--line);position:fixed;left:0;top:0;bottom:0;padding:22px 16px;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.brand-icon{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,#0ea5e9,#2563eb);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 28px rgba(37,99,235,.25);font-size:24px}.brand-title{font-size:18px;font-weight:900;line-height:1.05}.brand-title span{display:block;color:#38bdf8}.municipio{font-size:12px;color:var(--muted);margin-top:5px}.side-section{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin:18px 10px 8px}.nav-item{display:flex;gap:10px;align-items:center;color:#cbd5e1;text-decoration:none;padding:11px 12px;border-radius:12px;margin:3px 0;transition:.15s}.nav-item:hover,.nav-item.active{background:linear-gradient(90deg,#2563eb,#0ea5e9);color:white;box-shadow:0 10px 24px rgba(37,99,235,.22)}.version{margin-top:24px;border:1px solid var(--line);border-radius:14px;padding:12px;color:#94a3b8;font-size:12px}.main{margin-left:282px;width:calc(100% - 282px);padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.hello h1{font-size:28px;margin:0 0 5px;font-weight:900}.hello p{color:#aab7cc;margin:0}.top-actions{display:flex;align-items:center;gap:12px}.pill{border:1px solid var(--line);background:rgba(15,27,45,.72);padding:10px 14px;border-radius:14px;color:#dbeafe}.btn-smart{border:0;border-radius:12px;background:linear-gradient(135deg,#2563eb,#0ea5e9);color:white;font-weight:800;padding:10px 14px;text-decoration:none;display:inline-flex;gap:8px;align-items:center}.btn-ghost{border:1px solid var(--line);background:rgba(10,20,36,.75);color:#e2e8f0;border-radius:12px;padding:10px 14px;text-decoration:none}.btn-ghost:hover,.btn-smart:hover{filter:brightness(1.08);color:white}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi-card{border-radius:18px;padding:17px 16px;position:relative;overflow:hidden;min-height:116px;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 36px rgba(0,0,0,.18)}.kpi-card:after{content:"";position:absolute;right:-30px;top:-35px;width:120px;height:120px;border-radius:999px;background:rgba(255,255,255,.12)}.kpi-icon{width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:24px;float:left;margin-right:12px}.kpi-label{font-size:13px;color:rgba(255,255,255,.82)}.kpi-value{font-size:27px;font-weight:950;line-height:1.05;margin-top:4px}.kpi-sub{font-size:11px;color:rgba(255,255,255,.72);margin-top:7px}.c-blue{background:linear-gradient(135deg,#1d4ed8,#2563eb)}.c-green{background:linear-gradient(135deg,#047857,#10b981)}.c-purple{background:linear-gradient(135deg,#6d28d9,#9333ea)}.c-orange{background:linear-gradient(135deg,#b45309,#f59e0b)}.c-cyan{background:linear-gradient(135deg,#0e7490,#06b6d4)}.c-red{background:linear-gradient(135deg,#b91c1c,#ef4444)}.panel{background:linear-gradient(180deg,rgba(16,31,54,.94),rgba(11,24,42,.96));border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 42px rgba(0,0,0,.16)}.filters{padding:16px;margin-bottom:16px}.form-label{color:#93b5e8;font-size:12px;margin-bottom:7px}.form-control,.form-select{background:#081425!important;color:#fff!important;border:1px solid #233758!important;border-radius:10px;height:42px}.form-control::placeholder{color:#64748b}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 0}.panel-title{font-size:17px;font-weight:900;margin:0}.small-link{color:#b9d5ff;border:1px solid var(--line);border-radius:10px;text-decoration:none;padding:6px 10px;font-size:12px}.chart-wrap{padding:8px 14px 18px;min-height:300px}.table-wrap{padding:10px 16px 16px}.table{--bs-table-bg:transparent;--bs-table-color:#dbeafe;--bs-table-border-color:rgba(148,163,184,.13);font-size:13px}.table thead th{color:#9cc5ff;text-transform:uppercase;font-size:11px;letter-spacing:.06em}.rank-badge{width:24px;height:24px;border-radius:999px;background:#2563eb;color:white;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;margin-right:8px}.bar-mini{height:8px;background:#14253e;border-radius:999px;overflow:hidden}.bar-mini span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#38bdf8);border-radius:999px}.quality-list{padding:12px 16px 16px}.quality-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:12px;margin-bottom:9px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05)}.q-red{background:rgba(239,68,68,.12)}.q-orange{background:rgba(245,158,11,.12)}.q-green{background:rgba(16,185,129,.12)}.footer-panel{margin-top:16px;padding:12px 16px;color:#7f94b2;font-size:12px;display:flex;justify-content:space-between}.mobile-top{display:none}.text-warning-strong{color:#fbbf24;font-weight:950}.text-red-strong{color:#fb7185;font-weight:950}.text-green-strong{color:#34d399;font-weight:950}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}}@media(max-width:820px){.sidebar{display:none}.main{margin-left:0;width:100%;padding:14px}.mobile-top{display:block;margin-bottom:12px}.kpi-grid{grid-template-columns:1fr}.topbar{display:block}.top-actions{margin-top:12px;flex-wrap:wrap}.grid-2,.grid-3{grid-template-columns:1fr}}@media print{.sidebar,.filters,.top-actions,.mobile-top,.small-link,.no-print{display:none!important}.main{margin:0;width:100%;padding:0}body{background:white;color:#111}.panel,.kpi-card{box-shadow:none;border:1px solid #ddd;color:#111;background:white!important}.table{--bs-table-color:#111}.kpi-label,.kpi-sub,.hello p,.footer-panel{color:#444}.grid-2,.grid-3{grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:repeat(3,1fr)}}

/* V4 - Mapa e Experiência Executiva */
.map-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;margin-bottom:16px}.map-panel{min-height:560px;overflow:hidden}.map-area{height:520px;border-radius:0 0 18px 18px;background:#07111f}.insight-card{background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(14,165,233,.09));border:1px solid rgba(56,189,248,.18);border-radius:16px;padding:14px;margin-bottom:10px;color:#dbeafe}.heat-row{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;align-items:center;padding:11px 12px;border-radius:13px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.05);margin-bottom:8px}.heat-dot{width:12px;height:12px;border-radius:999px;display:inline-block;margin-right:7px}.dot-red{background:#ef4444}.dot-orange{background:#f59e0b}.dot-green{background:#10b981}.page-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.page-tabs a{color:#dbeafe;text-decoration:none;border:1px solid var(--line);background:rgba(13,27,46,.78);border-radius:999px;padding:9px 13px}.page-tabs a.active,.page-tabs a:hover{background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff}.smart-note{color:#9fb6d5;font-size:12px}.tv-mode{font-size:18px}.tv-mode .kpi-value{font-size:38px}.tv-mode .panel-title{font-size:24px}@media(max-width:1100px){.map-layout{grid-template-columns:1fr}.map-area{height:440px}}
.smart-card{background:linear-gradient(180deg,rgba(15,27,46,.98),rgba(9,17,31,.98));border:1px solid rgba(148,163,184,.14);border-radius:22px;padding:22px;box-shadow:0 18px 45px rgba(0,0,0,.28)}
.insight{border-left:4px solid #38bdf8;background:rgba(56,189,248,.08);border-radius:16px;padding:16px;margin-bottom:12px;color:#dbeafe}
.alerta{border-left:4px solid #ef4444;background:rgba(239,68,68,.10);border-radius:16px;padding:16px;margin-bottom:12px;color:#fee2e2}
.badge-smart{display:inline-flex;gap:8px;align-items:center;border-radius:999px;padding:7px 12px;background:rgba(59,130,246,.12);color:#bfdbfe;border:1px solid rgba(59,130,246,.25);font-weight:700}
.score{font-size:34px;font-weight:900;letter-spacing:-1px}.score.good{color:#34d399}.score.mid{color:#fbbf24}.score.bad{color:#fb7185}
