/* Mapa de calor: layout premium com KPIs, mapa e drill lateral. */
.mc-shell{display:grid;grid-template-columns:1fr;gap:16px}
/* KPIs em barra única, compacta e moderna (padrão dashboard BI) */
.mc-hero{display:flex;align-items:stretch;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px rgba(15,23,42,.04);overflow:hidden}
.mc-hero .kpi{flex:1;min-width:0;padding:12px 18px;position:relative;background:transparent;border:0;border-radius:0;box-shadow:none;transition:background .15s}
.mc-hero .kpi + .kpi{border-left:1px solid #f1f5f9}
.mc-hero .kpi:hover{background:#fafbfc}
.mc-hero .kpi .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:#64748b;font-weight:600;display:flex;align-items:center;gap:6px}
.mc-hero .kpi .lbl .ico{font-size:12px;opacity:.75;line-height:1}
.mc-hero .kpi .val{font-family:"Space Grotesk",sans-serif;font-size:22px;font-weight:700;color:#0f172a;margin-top:4px;line-height:1;letter-spacing:-.3px}
.mc-hero .kpi .sub{font-size:11px;color:#94a3b8;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-hero .kpi.acento::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:var(--alert,#dc2626);border-radius:1px}
@media (max-width:900px){.mc-hero{flex-wrap:wrap}.mc-hero .kpi{flex:1 1 50%}.mc-hero .kpi + .kpi{border-left:0}.mc-hero .kpi:nth-child(n+2){border-top:1px solid #f1f5f9}}


.mc-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}
@media (max-width:1100px){.mc-grid{grid-template-columns:1fr}}

.mc-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.04)}
.mc-card-head{padding:14px 18px;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center;background:#fafbfc}
.mc-card-head h3{margin:0;font-size:14px;font-weight:600;color:#0f172a}
.mc-card-head small{color:#64748b;font-weight:400;margin-left:6px}
.mc-card-body{padding:0}
.mc-map{height:560px}

.mc-toggle{display:inline-flex;background:#f1f5f9;border-radius:8px;padding:3px;gap:2px}
.mc-toggle button{border:0;background:transparent;padding:6px 12px;font-size:12px;font-weight:600;color:#64748b;border-radius:6px;cursor:pointer;transition:.15s}
.mc-toggle button.on{background:#fff;color:#0f172a;box-shadow:0 1px 2px rgba(15,23,42,.08)}

.mc-tab{max-height:560px;overflow-y:auto}
.mc-tab table{width:100%;border-collapse:collapse}
.mc-tab thead th{position:sticky;top:0;background:#fafbfc;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#64748b;padding:10px 12px;text-align:left;border-bottom:1px solid #e2e8f0}
.mc-tab tbody td{padding:10px 12px;border-bottom:1px solid #f1f5f9;font-size:13px}
.mc-tab tbody tr{cursor:pointer;transition:.15s}
.mc-tab tbody tr:hover{background:#f8fafc}
.mc-tab tbody tr.on{background:#fef2f2}
.mc-tab .uf{display:inline-block;background:#0f172a;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-right:6px}
.mc-tab .qtd{font-family:"JetBrains Mono",monospace;font-weight:600;color:#0f172a;text-align:right}
.mc-tab .med{font-family:"JetBrains Mono",monospace;color:#dc2626;font-weight:600;text-align:right}
.mc-tab .bar{height:3px;background:#f1f5f9;border-radius:2px;margin-top:4px;overflow:hidden}
.mc-tab .bar>span{display:block;height:100%;background:linear-gradient(90deg,#fb6a4a,#a50f15)}

.mc-legend{padding:12px 18px;display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:#64748b;background:#fafbfc;border-top:1px solid #f1f5f9}
.mc-legend i{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:middle;margin-right:5px;border:1px solid rgba(0,0,0,.05)}

.mc-empty{padding:48px 24px;text-align:center;color:#94a3b8;font-size:13px}

/* Config UF-Zonas */
.cz-shell{max-width:1100px}
.cz-uf{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;overflow:hidden}
.cz-uf-head{padding:12px 16px;background:#fafbfc;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.cz-uf-head h4{margin:0;font-size:13px;font-weight:600}
.cz-uf-head h4 .uf{display:inline-block;background:#0f172a;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-right:8px}
.cz-uf-body{padding:12px 16px;display:none}
.cz-uf.open .cz-uf-body{display:block}
.cz-row{display:grid;grid-template-columns:1fr repeat(4,110px) auto;gap:8px;margin-bottom:6px;align-items:center}
.cz-row input{padding:6px 8px;font-size:12px;border:1px solid #e2e8f0;border-radius:6px;font-family:"JetBrains Mono",monospace}
.cz-row input[type="text"]{font-family:inherit}
.cz-row .btn-min{padding:6px 10px;font-size:11px;background:var(--alert,#dc2626);color:#fff;border:0;border-radius:6px;cursor:pointer}
.cz-hint{font-size:11px;color:#64748b;margin-bottom:6px;display:grid;grid-template-columns:1fr repeat(4,110px) auto;gap:8px}
.cz-hint span{padding:0 8px}
.cz-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}

/* Pesquisa por localidade + card flutuante com volumetria no raio. */
.mc-card-head{gap:12px}
.mc-search{display:flex;gap:6px;align-items:center;flex-shrink:0}
.mc-search input{width:240px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;background:#fff;color:#0f172a}
.mc-search input:focus{outline:none;border-color:#0f172a;box-shadow:0 0 0 2px rgba(15,23,42,.08)}
.mc-search button{border:0;background:#0f172a;color:#fff;padding:6px 12px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;transition:.15s}
.mc-search button:hover{background:#1e293b}
.mc-search button:disabled{opacity:.6;cursor:wait}
.mc-search #mcBuscaClear{background:transparent;color:#64748b;padding:2px 8px;font-size:16px;font-weight:400}
.mc-search #mcBuscaClear:hover{background:#f1f5f9;color:#0f172a}


/* Container do mapa (base p/ overlays absolutos) */
.mc-map{position:relative}

/* Botão engrenagem + popover de configurações */
.mc-cfg-btn{background:#fff !important;color:#0f172a !important;border:1px solid #cbd5e1 !important;
  padding:6px 10px !important;font-size:14px !important}
.mc-cfg-btn:hover{background:#f8fafc !important}
/* Modal centralizado — antes era popover ancorado, ficava cortado pelo overflow do card */
.mc-cfg-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:2000;animation:mcFade .15s ease-out}
.mc-cfg-pop{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid #e2e8f0;
  border-radius:12px;box-shadow:0 20px 60px rgba(15,23,42,.35);padding:18px 20px;width:min(480px,92vw);
  max-height:88vh;overflow-y:auto;z-index:2100;animation:mcPop .18s ease-out}
@keyframes mcFade{from{opacity:0}to{opacity:1}}
@keyframes mcPop{from{opacity:0;transform:translate(-50%,-48%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.mc-cfg-tit{font-size:12px;font-weight:700;color:#0f172a;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f1f5f9}
.mc-cfg-grp{margin-bottom:12px}
.mc-cfg-grp>label{display:block;font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}
.mc-cfg-raio{display:flex;gap:4px;flex-wrap:wrap}
.mc-cfg-raio button{flex:1;min-width:52px;padding:6px 8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer}
.mc-cfg-raio button.on{background:#0f172a;color:#fff;border-color:#0f172a}
.mc-cfg-radio label,.mc-cfg-check label{display:flex;align-items:center;gap:6px;font-size:12px;color:#0f172a;font-weight:400;padding:4px 0;cursor:pointer;text-transform:none;letter-spacing:0}
.mc-cfg-radio label small{color:#059669;font-weight:600;font-size:10px}
.mc-cfg-radio input[type=number]{padding:3px 6px;font-size:12px;border:1px solid #e2e8f0;border-radius:4px;font-family:"JetBrains Mono",monospace}
.mc-cfg-acoes{display:flex;gap:8px;justify-content:flex-end;padding-top:10px;border-top:1px solid #f1f5f9}
.mc-cfg-acoes button{padding:7px 14px;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#64748b}
.mc-cfg-acoes .mc-cfg-ok{background:#0f172a;color:#fff;border-color:#0f172a}

/* Ancoragem no shell permite o modo expandido cobrir parte do ranking. */
.mc-shell{position:relative}
.mc-panel{position:absolute;top:12px;right:12px;z-index:1000;background:#fff;border:1px solid #e2e8f0;
  border-radius:12px;box-shadow:0 8px 24px rgba(15,23,42,.15);width:440px;max-height:calc(100% - 24px);
  overflow-y:auto;font-size:12px;transition:width .18s ease}
.mc-panel[data-wide="1"]{width:640px}
@media (max-width:1100px){.mc-panel,.mc-panel[data-wide="1"]{width:calc(100% - 24px)}}

/* Botão de alternar largura */
.mc-panel-wide{position:absolute;top:8px;right:96px;border:0;background:transparent;
  color:#64748b;font-size:14px;font-weight:600;cursor:pointer;padding:3px 8px;border-radius:4px;line-height:1}
.mc-panel-wide:hover{background:#f1f5f9;color:#0f172a}
.mc-panel.erro{border-left:3px solid #dc2626}
.mc-panel-load{padding:20px;text-align:center;color:#94a3b8;font-size:12px}
.mc-panel-head{padding:12px 14px;border-bottom:1px solid #f1f5f9;position:relative}
.mc-panel-tit{font-size:13px;font-weight:700;color:#0f172a;padding-right:24px}
.mc-panel-sub{font-size:11px;color:#94a3b8;margin-top:2px}
.mc-panel-x{position:absolute;top:8px;right:8px;width:22px;height:22px;border:0;background:transparent;
  color:#94a3b8;font-size:18px;cursor:pointer;border-radius:4px;line-height:1}
.mc-panel-x:hover{background:#f1f5f9;color:#0f172a}
.mc-panel-sec{padding:10px 14px;border-top:1px solid #f1f5f9}
.mc-panel-sec-t{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}

/* KPIs do painel */
.mc-panel-kpis{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#f1f5f9}
.mc-kpi{background:#fff;padding:10px 14px}
.mc-kpi-t{font-size:10px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.mc-kpi-v{font-family:"Space Grotesk",sans-serif;font-size:24px;font-weight:700;color:#0f172a;line-height:1.1;margin-top:4px}
.mc-kpi-s{font-size:11px;color:#64748b;margin-top:3px}
.mc-delta{font-size:10px;font-weight:600;margin-top:4px}
.mc-delta.up{color:#dc2626}
.mc-delta.down{color:#059669}

/* Semáforo de saturação */
.mc-sat{padding:12px 14px;border-top:1px solid #f1f5f9}
.mc-sat-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.mc-sat-lbl{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}
.mc-sat-pct{font-family:"Space Grotesk",sans-serif;font-size:20px;font-weight:700;color:#0f172a}
.mc-sat-tag{margin-left:auto;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.4px}
.mc-sat-bar{height:6px;background:#f1f5f9;border-radius:3px;overflow:hidden;margin:6px 0}
.mc-sat-bar>span{display:block;height:100%;transition:width .3s}
.mc-sat-folga     .mc-sat-tag{background:#d1fae5;color:#065f46}
.mc-sat-folga     .mc-sat-bar>span{background:#10b981}
.mc-sat-saudavel  .mc-sat-tag{background:#dbeafe;color:#1e40af}
.mc-sat-saudavel  .mc-sat-bar>span{background:#3b82f6}
.mc-sat-atencao   .mc-sat-tag{background:#fed7aa;color:#9a3412}
.mc-sat-atencao   .mc-sat-bar>span{background:#f97316}
.mc-sat-critico   .mc-sat-tag{background:#fecaca;color:#991b1b}
.mc-sat-critico   .mc-sat-bar>span{background:#dc2626}

/* Bloco de custo com freela */
.mc-freela{background:#fffbeb;border-top:1px solid #fde68a}
.mc-freela .mc-panel-sec-t{color:#92400e}
.mc-freela-body{font-size:12px;color:#78350f;line-height:1.5}
.mc-freela-body b{color:#92400e}

/* Recomendação acionável */
.mc-rec{display:flex;gap:10px;padding:12px 14px;border-top:1px solid #f1f5f9;align-items:flex-start}
.mc-rec-ico{font-size:18px;line-height:1;padding-top:2px}
.mc-rec-txt{font-size:12px;color:#0f172a;line-height:1.5}
.mc-rec-txt b{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:#64748b;font-weight:700}
.mc-rec-ok     {background:#f0fdf4}
.mc-rec-atencao{background:#fff7ed}
.mc-rec-critico{background:#fef2f2}

/* Sugestões de realocação */
.mc-sug{display:flex;align-items:center;gap:6px;padding:6px 0;font-size:12px;border-bottom:1px dashed #f1f5f9}
.mc-sug:last-child{border:0}
.mc-sug small{color:#94a3b8;font-size:11px}
.mc-sug-tag{margin-left:auto;font-size:10px;background:#f1f5f9;color:#475569;padding:2px 6px;border-radius:4px;font-weight:600}

/* Lista de técnicos na região */
.mc-tec-list{display:flex;flex-direction:column;gap:6px}
.mc-tec{display:grid;grid-template-columns:14px 1fr auto auto;gap:6px;align-items:center;font-size:12px}
.mc-tec-nome{color:#0f172a;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-tec-vinc{font-size:10px;color:#64748b;background:#f1f5f9;padding:1px 6px;border-radius:3px;font-weight:600}
.mc-tec-qtd{font-family:"JetBrains Mono",monospace;font-weight:700;color:#0f172a;font-size:12px;min-width:24px;text-align:right}
.mc-tec-bar{grid-column:2/-1;height:2px;background:#f1f5f9;border-radius:1px;overflow:hidden;margin-top:-4px}
.mc-tec-bar>span{display:block;height:100%;background:linear-gradient(90deg,#fb6a4a,#a50f15)}
.mc-money{color:#d97706;font-weight:700}
.mc-verall{width:100%;margin-top:8px;padding:6px;border:0;background:#f8fafc;color:#64748b;font-size:11px;font-weight:600;border-radius:6px;cursor:pointer}
.mc-verall:hover{background:#f1f5f9;color:#0f172a}

/* Bolinhas de vínculo (próprio/freela/n.class.) */
.mc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;vertical-align:middle;margin-right:4px}
.mc-dot-prop{background:#2563eb}
.mc-dot-free{background:#d97706}
.mc-dot-nc  {background:#94a3b8;border:1px solid #64748b}

/* Pinos de técnicos no mapa (cluster) */
.mc-pin-wrap{background:transparent;border:0}
.mc-pin{width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.3)}

/* Aviso da regra de negócio no topo da tela. */
.mc-intro{background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #0f172a;border-radius:8px;padding:10px 14px;font-size:12px;color:#475569;line-height:1.5}
.mc-intro b{color:#0f172a;font-weight:600}

/* Origem geográfica do técnico (local/fora/indet) */
.mc-dot-local{background:#059669}
.mc-dot-fora {background:#dc2626}
.mc-org{display:inline-block;font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;letter-spacing:.4px;margin-right:4px}
.mc-org-fora {background:#fee2e2;color:#991b1b}
.mc-org-indet{background:#f1f5f9;color:#64748b}


/* -- Novo painel de análise (BI logística de campo) ------------------------ */

/* Veredito único — o especialista lê isto primeiro */
.mc-verdict{display:flex;gap:12px;align-items:center;padding:14px;border-top:1px solid #f1f5f9}
.mc-verdict-ico{font-size:26px;line-height:1}
.mc-verdict-lbl{font-family:"Space Grotesk",sans-serif;font-size:16px;font-weight:700;letter-spacing:.5px}
.mc-verdict-txt{font-size:11px;color:#64748b;margin-top:2px}
.mc-verdict-folga    {background:#f0fdfa}
.mc-verdict-folga    .mc-verdict-lbl{color:#0f766e}
.mc-verdict-saudavel {background:#eff6ff}
.mc-verdict-saudavel .mc-verdict-lbl{color:#1e40af}
.mc-verdict-atencao  {background:#fff7ed}
.mc-verdict-atencao  .mc-verdict-lbl{color:#9a3412}
.mc-verdict-critico  {background:#fef2f2}
.mc-verdict-critico  .mc-verdict-lbl{color:#991b1b}

/* Cabeçalho de seção — versão com contador à direita */
.mc-panel-sec-r{float:right;font-size:10px;color:#94a3b8;font-weight:600;letter-spacing:.3px}

/* Métrica principal (demanda) — número grande, unidade discreta, tendência ao lado */
.mc-metric-row{display:flex;align-items:baseline;gap:8px;margin-top:2px}
.mc-metric-v{font-family:"Space Grotesk",sans-serif;font-size:28px;font-weight:700;color:#0f172a;line-height:1}
.mc-metric-v small{font-size:12px;color:#94a3b8;font-weight:500;margin-left:2px}
.mc-trend{font-size:11px;font-weight:600;padding:1px 6px;border-radius:3px}
.mc-trend.up  {color:#dc2626;background:#fee2e2}
.mc-trend.down{color:#059669;background:#d1fae5}

/* Capacidade — necessário vs disponível */
.mc-cap-row{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;color:#475569}
.mc-cap-lbl{color:#64748b}
.mc-cap-val{font-weight:700;color:#0f172a;font-family:"JetBrains Mono",monospace;font-size:12px}
.mc-cap-warn{color:#dc2626}
.mc-cap-bar{position:relative;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden;margin:8px 0 6px}
.mc-cap-bar>span{display:block;height:100%;transition:width .3s}
.mc-cap-bar>em{position:absolute;right:6px;top:-16px;font-style:normal;font-size:10px;font-weight:700;color:#64748b;font-family:"JetBrains Mono",monospace}
.mc-cap-bar-folga    >span{background:#10b981}
.mc-cap-bar-saudavel >span{background:#3b82f6}
.mc-cap-bar-atencao  >span{background:#f97316}
.mc-cap-bar-critico  >span{background:#dc2626}

/* Origem da equipe — mostra composição em coluna, não em pílula */
.mc-origem{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.mc-origem-item{font-size:12px;color:#0f172a}
.mc-origem-item b{font-weight:700}
.mc-origem-item small{color:#94a3b8;font-size:11px}
.mc-origem-alert{margin-top:8px;padding:6px 8px;font-size:11px;background:#fef3c7;color:#92400e;border-radius:4px;font-weight:600}
.mc-origem-money{background:#fef3c7;color:#92400e}

/* Ação recomendada — bloco de decisão, alto contraste */
.mc-action{padding:12px 14px;border-top:1px solid #f1f5f9;border-left:3px solid #94a3b8;background:#f8fafc}
.mc-action-lbl{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.mc-action-txt{font-size:12px;color:#0f172a;line-height:1.5}
.mc-action-ok     {border-left-color:#10b981;background:#f0fdf4}
.mc-action-ok     .mc-action-lbl{color:#065f46}
.mc-action-atencao{border-left-color:#f97316;background:#fff7ed}
.mc-action-atencao .mc-action-lbl{color:#9a3412}
.mc-action-critico{border-left-color:#dc2626;background:#fef2f2}
.mc-action-critico .mc-action-lbl{color:#991b1b}

/* Lista de técnicos — colapsada por padrão, drill-down BI */
.mc-tec-toggle{width:100%;padding:10px 14px;border:0;border-top:1px solid #f1f5f9;background:#fff;
  color:#64748b;font-size:11px;font-weight:600;text-align:left;cursor:pointer;letter-spacing:.3px}
.mc-tec-toggle:hover{background:#f8fafc;color:#0f172a}
.mc-tec-toggle.on{background:#f8fafc;color:#0f172a}
.mc-tec-panel{padding-top:6px}

/* Botão de exportar no header do painel */
.mc-panel-exp{position:absolute;top:8px;right:36px;border:0;background:transparent;
  color:#64748b;font-size:11px;font-weight:600;cursor:pointer;padding:3px 8px;border-radius:4px}
.mc-panel-exp:hover{background:#f1f5f9;color:#0f172a}
.mc-panel-exp:disabled{opacity:.5;cursor:wait}

.mc-origem-desloc{background:#fef3c7;color:#92400e}
.mc-origem-desloc small{color:#a16207;font-weight:500}

/* -- Novas análises: hotspots, financeiro, concentração, tempo, selo vizinhança -- */

/* KPI hotspots no hero — barra vermelha à esquerda, sem fundo pesado */
.mc-hero .kpi.alerta::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:#dc2626;border-radius:1px}
.mc-hero .kpi.alerta .val{color:#991b1b}

/* Selo "coberta por vizinhança" (aparece logo abaixo do veredito quando aplicável) */
.mc-selo{padding:8px 14px;font-size:11px;font-weight:600;line-height:1.4}
.mc-selo-viz{background:#ecfeff;color:#0e7490;border-top:1px solid #a5f3fc;border-bottom:1px solid #a5f3fc}

/* Alerta de concentração de risco */
.mc-alerta{padding:10px 14px;font-size:12px;line-height:1.5;border-top:1px solid #f1f5f9}
.mc-alerta small{display:block;margin-top:3px;font-size:10px;color:#64748b}
.mc-alerta-conc{background:#fff7ed;color:#9a3412;border-left:3px solid #f97316}
.mc-alerta-conc b{color:#7c2d12}

/* Bloco financeiro — comparativo lado a lado */
.mc-fin{background:linear-gradient(180deg,#fefce8 0%,#fff 100%)}
.mc-fin-comp{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:6px 0 10px}
.mc-fin-atual,.mc-fin-novo{padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:6px}
.mc-fin-vs{font-size:10px;color:#94a3b8;font-weight:700;letter-spacing:.5px;text-align:center}
.mc-fin-lbl{font-size:10px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.mc-fin-val{font-family:"Space Grotesk",sans-serif;font-size:18px;font-weight:700;color:#0f172a;margin:3px 0}
.mc-fin-detail{display:flex;flex-direction:column;gap:2px;font-size:10px;color:#64748b}
.mc-fin-verdict{padding:8px 10px;border-radius:6px;font-size:12px;line-height:1.5;margin-top:6px}
.mc-fin-verdict b{font-weight:700}
.mc-fin-sim{background:#fef2f2;color:#7f1d1d;border:1px solid #fecaca}
.mc-fin-nao{background:#f0fdf4;color:#14532d;border:1px solid #bbf7d0}
.mc-fin-obs{margin-top:6px;font-size:10px;color:#78716c;font-style:italic}

/* Tempo médio de execução (local vs fora) */
.mc-tempo{display:flex;align-items:center;gap:16px;padding:6px 0;font-size:12px}
.mc-tempo-item{display:flex;align-items:center;gap:4px}
.mc-tempo-item b{color:#0f172a;font-weight:700}
.mc-tempo-item small{color:#94a3b8;font-size:10px;margin-left:2px}
.mc-tempo-delta{margin-left:auto;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;background:#f1f5f9;color:#475569}
.mc-tempo-delta.warn{background:#fef3c7;color:#92400e}

/* Bloco financeiro na engrenagem */
.mc-cfg-money{background:#fefce8;border-radius:8px;padding:10px;border:1px solid #fef08a}
.mc-cfg-money>label{color:#854d0e !important}
.mc-cfg-money-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px}
.mc-cfg-money-grid small{color:#64748b;font-size:10px}
.mc-cfg-money-grid input{padding:4px 6px;border:1px solid #e2e8f0;border-radius:4px;font-size:11px;margin-top:2px}

/* -- Análise financeira v2 (régua de decisão) ---------------------------- */
.mc-fin2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 12px}
.mc-panel[data-wide="1"] .mc-fin2{gap:14px}
.mc-fin2-col{padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}
.mc-fin2-lbl{font-size:10px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.mc-fin2-val{font-family:"Space Grotesk",sans-serif;font-size:22px;font-weight:700;color:#0f172a;margin:4px 0 6px}
.mc-fin2-chips{display:flex;flex-wrap:wrap;gap:4px}
.mc-chip{display:inline-block;padding:2px 8px;background:#f1f5f9;color:#334155;border-radius:10px;font-size:10px;font-weight:600}
.mc-chip-mut{background:transparent;color:#94a3b8;font-weight:500;padding:2px 0}

/* Régua: zona verde | amarela | vermelha, marcador cai na posição do novo vs atual */
.mc-fin2-ruler{position:relative;height:22px;margin:8px 0 4px;background:#f8fafc;border-radius:11px;overflow:hidden;border:1px solid #e2e8f0}
.mc-fin2-zone{position:absolute;top:0;bottom:0}
.mc-fin2-z-eco {left:0;   width:50%; background:linear-gradient(90deg,#bbf7d0,#dcfce7)}
.mc-fin2-z-tol {left:50%; width:5%;  background:#fef3c7}
.mc-fin2-z-cara{left:55%; width:45%; background:linear-gradient(90deg,#fee2e2,#fecaca)}
.mc-fin2-mark{position:absolute;top:-2px;bottom:-2px;width:3px;background:#0f172a;border-radius:2px;box-shadow:0 0 0 2px #fff}
.mc-fin2-ticks{position:absolute;left:0;right:0;bottom:-14px;display:flex;justify-content:space-between;font-size:9px;color:#94a3b8;font-family:"JetBrains Mono",monospace}
.mc-fin2-ticks span:nth-child(2){margin-left:calc(50% - 30px)}
.mc-fin2-ticks span:nth-child(3){margin-left:calc(5% - 20px)}

/* Verdicto do bloco financeiro */
.mc-fin2-verdict{margin-top:22px;padding:10px 12px;border-radius:8px;border:1px solid;line-height:1.5}
.mc-fin2-v-head{font-size:13px;letter-spacing:.4px}
.mc-fin2-v-head b{font-weight:800}
.mc-fin2-v-txt{font-size:11px;margin-top:3px}
.mc-fin2-v-economia {background:#f0fdf4;color:#14532d;border-color:#bbf7d0}
.mc-fin2-v-aceitavel{background:#fefce8;color:#713f12;border-color:#fef08a}
.mc-fin2-v-cara     {background:#fef2f2;color:#7f1d1d;border-color:#fecaca}

/* Em modo expandido, KPIs de demanda + capacidade + origem ficam em 2 colunas */
.mc-panel[data-wide="1"] .mc-panel-sec:not(.mc-fin):not(.mc-tec-panel){display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;align-items:start}
.mc-panel[data-wide="1"] .mc-panel-sec .mc-panel-sec-t{grid-column:1/-1}