/* ===================================================================
   ValorIA — camada de marca (tema)
   Padrão para aplicações de cliente. Carregada por ÚLTIMO, depois de
   todos os CSS de estrutura. Só mexe em cor, fonte e marca: nenhuma
   regra de layout, tamanho ou posição aqui.
   Para tirar a marca de um app: remova esta única linha do index.html.
   Fonte dos valores: claude/identidade-visual.md (identidade v2, escura).
   =================================================================== */

:root{
  /* --- paleta oficial ValorIA --- */
  --va-bg:#11181C;          /* grafite: fundo principal */
  --va-bg2:#0C1114;         /* fundo 2: faixas, barra lateral, campos */
  --va-panel:#161F24;       /* painel: cartões e telas */
  --va-turq:#0E7490;        /* turquesa: botão principal, ação */
  --va-vivo:#2DD4BF;        /* turquesa vivo: ícones, pontos, "bom" */
  --va-claro:#99F6E4;       /* turquesa claro: rótulos e destaques */
  --va-text:#fff;
  --va-text2:rgba(255,255,255,.74);
  --va-text3:rgba(255,255,255,.52);
  --va-line:rgba(255,255,255,.12);
  --va-line2:rgba(255,255,255,.22);
  --va-ambar:#F2C879;       /* âmbar oficial: só gargalo/atenção */
  --va-alerta:#F08A7A;      /* crítico (aprovado em 11/11) */
  --va-r-btn:10px;          /* canto de botão */
  --va-r-bloco:16px;        /* canto de bloco */

  /* --- tokens que o app já usava, redefinidos --- */
  --ink:#fff; --muted:rgba(255,255,255,.62); --line:rgba(255,255,255,.12);
  --blue:#0E7490; --navy:#0C1114; --canvas:#11181C;

  /* --- símbolo ValorIA: V em duas metades (esquerda branca, direita clara) --- */
  --va-marca:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpolygon points='2,5 8.6,5 16,17.6 16,29.5' fill='%23ffffff'/%3E%3Cpolygon points='16,29.5 16,17.6 23.4,5 30,5' fill='%2399F6E4'/%3E%3C/svg%3E");
}

html{color-scheme:dark}
body{background:var(--va-bg);color:var(--va-text2);
  font-family:Geist,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.03em}

/* ===== 1. Marca =================================================== */
.brand-mark,.mobile-logo{background:none;background-image:var(--va-marca);
  background-repeat:no-repeat;background-position:center;background-size:30px 30px;
  box-shadow:none;border-radius:var(--va-r-btn);color:transparent;font-size:0}
.mobile-logo{border:1px solid var(--va-line);background-size:21px 21px}
.brand strong,.en-brand strong{font-size:0;color:transparent;letter-spacing:0}
.brand strong:before,.en-brand strong:before{content:'TRANSPORTADORA';display:block;
  color:#fff;font-size:9px;font-weight:600;letter-spacing:.2em}
.brand strong:after,.en-brand strong:after{content:'IUNES';display:block;
  color:var(--va-claro);font-size:18px;font-weight:600;letter-spacing:.1em;line-height:1.15}
.brand small,.en-brand small{color:var(--va-text3)}
.brand small em{background:rgba(45,212,191,.16);color:var(--va-claro);font-weight:700}
.brand-btn:hover strong:before,.brand-btn:hover strong:after{color:var(--va-vivo)}
/* assinatura discreta: o nome exibido é do cliente, o sistema é da ValorIA.
   Única regra do tema que mexe em posição — ela É a marca, não o layout. */
.sidebar-bottom:after{content:'sistema ValorIA';display:block;margin-top:12px;
  text-align:center;font-size:8px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.28)}

/* ===== 2. Superfícies ============================================= */
.topbar,.panel,.metric,.kpis article,.how>div,.market-strip,.quote,.trip-card,
.en-nums article,.en-caso,.en-card,.en-box,.en-login,.qe-truck,.qe-op,.qe-pick,
.qe-fila-card,.cand,.route,.modal,.seg,.sim-clock,.profile-pick,.secondary,
.panel-title button,.log-tabs>div button,.qe-filters button,.base-card,.seller-card,
.form-panel{background:var(--va-panel);border-color:var(--va-line);color:var(--va-text2)}
.panel,.metric,.quote,.en-caso,.en-card,.en-box,.trip-card,.qe-truck{box-shadow:0 2px 10px rgba(0,0,0,.28)}
.en-login{box-shadow:0 12px 40px rgba(0,0,0,.45)}

.en-op,.qe-detail,.selected-orders,.calc,.km-facts p,.seller-stats p,.qe-op-nums p,
.tk-grid p,.cand-nums span,.kanban-column,.search,.top-actions button,.metric-top i,
.avatar,.qe-gauge,.meta-bar,.hb-track,.meter,.capacity-bar,.en-perfis button,
.trip-people>span,.modal>header button,.cmp-card dl div{background:var(--va-bg2);border-color:var(--va-line)}
.search{color:var(--va-text3)}
.top-actions button{color:var(--va-text2)}
.sidebar{background:var(--va-bg2);color:var(--va-text2);border-right:1px solid var(--va-line)}

/* campos ------------------------------------------------------------ */
.field select,.field input,.en-login input,.move select,.seller-filter select,
.profile-pick select,.search input{background:var(--va-bg2);border-color:var(--va-line2);color:var(--va-text)}
::placeholder{color:rgba(255,255,255,.34)}
.field select:focus,.field input:focus,.en-login input:focus{border-color:var(--va-vivo);
  box-shadow:0 0 0 3px rgba(45,212,191,.18)}
:focus-visible{outline:2px solid var(--va-vivo)}
.check input,.logistics-orders input{accent-color:var(--va-vivo)}

/* ===== 3. Texto =================================================== */
h1,h2,h3,.strong,.page-heading h1,.en-hero h1,.en-login h2,.en-caso h2,.en-card h3,
.en-box h2,.metric>strong,.kpis strong,.en-nums strong,.qe-id,.qe-op-head b,.en-op b,
.en-op span,.trip-route,.cand-head strong,.cand-nums b,.calc b,.kv b,.client-list b,
.attn b,.todo-list b,.mini-title,.hbar b,.hb-label,.mix-legend b,.tk-grid b,.lr-name b,
.qe-stop b,.qe-vol,.qe-pick-main b,.qe-pick-vol,.qe-fila-card b,.qe-fila-card span,
.en-passos b,.en-perfis b,.seller-stats b,.km-facts b,.qe-op-nums b,.score-line b,
.ontime b,.legend b,.donut strong,.selected-orders b,.selected-orders>p>strong,
.modal>header h2,.profile strong,.qe-verdito,.en-verdito,.ms-item strong,.q-name,
.q-value strong,.q-perl b,.cmp-top b,.cmp-card dd,.cmp-verdict b,.alert-strip strong,
.ma-body strong,.snapshot-note strong,.ai-tip strong,.perm-banner b,.sim-clock b,
.base-card h2,.seller-card h2,.todo-list li>div b,.en-cta b,.demo-guide>div strong,
.cmp-intro strong,.placeholder h1,.qe-legend b.e-fila{color:var(--va-text)}

.en-lead,.en-txt,.en-nota,.en-verdito,.qe-meta,.q-why,.qe-op-resumo,.rs,.mini-list li,
.calc p,.mix-legend li,.ev-list li p,.legend p,.insight,.how p,.placeholder p,
.cmp-intro p,.en-cta p,.kpis article.hl span,.snapshot-note p,.ai-tip p,.perm-banner,
.sim-banner,.excluded summary,.lr-bars div,.client-list small,.parts p,.kv,
.fleet-alerts li,.trip-people b,.qe-pick-main small,.tk-status,.route p,
.selection-summary span,.modal-step strong,.cell-sub,.qe-stop small{color:var(--va-text2)}

.en-label,.en-sub,.en-mini,.q-unit,.q-week,.en-vs,.en-foot,.bar-wrap small,.y-axis,
.donut small,.metric small,.metric-top,.profile small,.profile i,.today,.ms-label small,
.ms-item span,.source-col h3,.source-col small,.quote footer,.trip-card footer,
.capacity-line,.hb-label small,.mix-legend small,.lr-name small,.attn small,
.seller-stats span,.km-facts span,.qe-op-nums span,.tk-grid span,.cand-nums span,
.cand-sub,.calc p small,.selected-orders small,.modal-step small,.en-passos small,
.en-perfis small,.qe-placa,.qe-eyebrow,.qe-legend,.qe-empty,.ev-list li span,
.en-nums span,.field,.check,.log-metrics span,.log-metrics small,.base-load,
.todo-list small,.mini-list li span,.calc-note,.excluded,.store-note,.en-login label,
.en-login-nota,.en-op small,.qe-op-sub,.qe-fila-card small,.en-ou span,.column-dot,
.kanban-column>header b,.more,.sr,.sidebar-bottom .profile-pick,.live-badge,
.score-line,.meta-line,.chips .chip{color:var(--va-text3)}
.en-login-nota b,.en-nota b,.qe-meta b{color:var(--va-text2)}

/* rótulos e links em turquesa ------------------------------------- */
.en-eyebrow,.page-heading p,.en-dor,.ms-label span,.placeholder>span,.modal>header p,
.demo-guide>div span,.cmp-intro span,.en-perfis em,.qe-fila-card em,.trip-head>strong,
td.order-id,.logistics-orders td b,.mini-list li b,.base-card h2 em,
a,.link,.link-btn,.inline-link,.ms-more,.panel-title .link,.quote footer a,
.source-col a,.log-tabs>button.active{color:var(--va-claro)}
.en-label{color:var(--va-text3)}

/* ===== 4. Ações =================================================== */
.primary{background:var(--va-turq);border-color:var(--va-turq);color:#fff;
  box-shadow:0 6px 18px rgba(14,116,144,.38)}
.primary:hover{background:#12879f}
.secondary:hover{border-color:var(--va-line2);background:var(--va-panel)}
.en-visit{background:rgba(45,212,191,.10);border-color:rgba(45,212,191,.35);color:var(--va-claro)}
.en-visit:hover{background:rgba(45,212,191,.18);border-color:var(--va-vivo)}
.en-ou:before,.en-ou:after{background:var(--va-line)}
.en-passos i,.modal-step>span,.base-ico,.sn-icon,.ai-tip>span,.demo-guide button>i{background:var(--va-turq);color:#fff}
.base-ico.k-u,.snapshot-note.live .sn-icon{background:var(--va-vivo);color:#06231f}
.avatar{background:rgba(14,116,144,.3);color:var(--va-claro)}
.profile>span{background:rgba(14,116,144,.3);color:var(--va-claro)}
.danger{background:var(--va-alerta);border-color:var(--va-alerta);color:#2a0f0a}
.advance{background:rgba(14,116,144,.22);color:var(--va-claro)}

/* ===== 5. Navegação ============================================== */
.nav-item{color:var(--va-text2)}
.nav-item:hover,.nav-item.active{background:rgba(45,212,191,.10);color:var(--va-text)}
.nav-item.active{box-shadow:inset 3px 0 var(--va-vivo)}
.nav-item.future:hover{background:transparent;color:var(--va-text3)}
.nav-item.future small{color:var(--va-text3)}
.nav-item b{background:var(--va-turq);color:#fff}
.nav-item b.tag-new{background:rgba(45,212,191,.16);color:var(--va-claro)}
.nav-item b.tag-live{background:rgba(242,200,121,.18);color:var(--va-ambar)}
.profile{border-top-color:var(--va-line)}
.sidebar .profile-pick{background:var(--va-bg);border-color:var(--va-line)}
.sidebar .profile-pick select{color:var(--va-text)}
.mobile-nav{background:var(--va-bg2);border:1px solid var(--va-line);box-shadow:0 12px 30px rgba(0,0,0,.5)}
.mobile-nav button{color:var(--va-text3)}
.mobile-nav button.active{background:rgba(45,212,191,.12);color:var(--va-text)}
.log-tabs,.qe-tabs{border-bottom-color:var(--va-line)}
.log-tabs>button,.qe-tabs button{color:var(--va-text3)}
.log-tabs>button.active{border-bottom-color:var(--va-vivo)}
.qe-tabs button.on{color:var(--va-text);border-bottom-color:var(--va-vivo)}
.log-tabs>button b{background:rgba(14,116,144,.28);color:var(--va-claro)}
.qe-filters button.on{background:var(--va-turq);border-color:var(--va-turq);color:#fff}

/* ===== 6. Blocos que já eram escuros ============================= */
.demo-guide,.compare,.en-cta,.toast{background:var(--va-panel);border:1px solid var(--va-line);color:var(--va-text)}
.demo-guide button,.cmp-card{background:var(--va-bg2);border-color:var(--va-line)}
.demo-guide button:hover,.cmp-card:hover{background:rgba(45,212,191,.08);border-color:var(--va-vivo)}
.demo-guide button b{color:var(--va-text)}
.demo-guide button small,.cmp-meta,.cmp-card dt{color:var(--va-text3)}
.cmp-card dl .hl{background:rgba(14,116,144,.32)}
.cmp-verdict{color:var(--va-text2)}
.kpis article.hl{background:rgba(14,116,144,.22);border-color:rgba(45,212,191,.25)}
.kpis article.hl small{color:var(--va-text3)}
.toast{box-shadow:0 14px 34px rgba(0,0,0,.55)}
.toast span{background:var(--va-vivo);color:#06231f}
.demo-mode{background:rgba(45,212,191,.10);border-color:rgba(45,212,191,.28);color:var(--va-vivo)}
.demo-mode i{background:var(--va-vivo)}

/* ===== 7. Tabelas ================================================ */
table{color:var(--va-text2)}
th{background:var(--va-bg2);color:var(--va-text3);border-bottom:1px solid var(--va-line)}
td{border-top-color:var(--va-line);color:var(--va-text2)}
tr.row-on td{background:rgba(14,116,144,.18)}
.orders .panel-title,.sources .panel-title,.form-panel .panel-title,
.fleet-alerts .panel-title,.truck-panel .panel-title,.detail-panel .panel-title{border-bottom-color:var(--va-line)}

/* ===== 8. Situações (etiquetas) ================================== */
.pill,.status,.priority,.chip,.pstat,.st-done,.qe-status,.cand-mode,.live-badge,
.q-week{background:rgba(255,255,255,.08);color:var(--va-text2)}
.p-base,.p-retorno,.st-road,.sig-ok,.status-concluida,.cand-mode.m-encaixe,
.live-badge.on,.e-livre .qe-status{background:rgba(45,212,191,.14);color:var(--va-vivo)}
.p-rota,.status-em-rota,.st-plan,.cand-mode.m-base{background:rgba(14,116,144,.28);color:var(--va-claro)}
.p-carregando,.status-carregando,.st-wait,.sig-warn,.cand-mode.m-retorno,
.cand-mode.m-rota,.live-badge.stale,.e-semdestino .qe-status{background:rgba(242,200,121,.16);color:var(--va-ambar)}
.p-manutencao,.priority.high,.sig-bad,.e-cheio .qe-status{background:rgba(240,138,122,.16);color:var(--va-alerta)}
.e-fila .qe-status{background:rgba(255,255,255,.08);color:var(--va-text2)}
.cand-head em,.qe-op-head em,.route em{background:var(--va-vivo);color:#06231f}

/* ===== 9. Avisos ================================================= */
.alert-strip,.market-alert,.qe-alert.warn{background:rgba(242,200,121,.09);
  border-color:rgba(242,200,121,.30);color:var(--va-ambar)}
.alert-strip p,.ma-body p,.ma-body .ma-watch,.market-alert>a,.alert-strip button{color:var(--va-ambar)}
.alert-icon,.ma-tag{background:var(--va-ambar);color:#241a05}
.qe-alert.warn i{background:var(--va-ambar);color:#241a05}
.snapshot-note,.ai-tip,.insight,.perm-banner,.sim-banner,.saving,.qe-alert.ok,
.allocation{background:rgba(14,116,144,.14);border-color:rgba(45,212,191,.22);color:var(--va-text2)}
.saving{color:var(--va-vivo)}
.qe-alert.ok i{background:var(--va-vivo);color:#06231f}
.qe-alert.crit{background:rgba(240,138,122,.10);border-color:rgba(240,138,122,.32);color:var(--va-alerta)}
.qe-alert.crit i{background:var(--va-alerta);color:#2a0f0a}
.allocation.over{background:rgba(240,138,122,.10);border-color:rgba(240,138,122,.3)}
.allocation.over .capacity-bar i{background:var(--va-alerta)}
.en-limites li:before{color:var(--va-ambar)}

/* números com sinal ----------------------------------------------- */
.warn-num,.q-note,.attn p,.qe-op-av.warn,.ev-list li.warn p,.chg.up{color:var(--va-ambar)}
.chg.down,.ok-num,.calc p.tot b,.metric small b,.log-metrics small.positive,
.orange small b{color:var(--va-vivo)}
.form-err,.sug-empty,.qe-op-av.crit,.ev-list li.bad p,.link-btn.danger{color:var(--va-alerta)}
.bad-num{color:var(--va-alerta)!important}

/* ===== 10. Gráficos e medidores ================================== */
.bars{border-bottom-color:var(--va-line);
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.07) 0,rgba(255,255,255,.07) 1px,transparent 1px,transparent 35px)}
.bar{background:rgba(255,255,255,.13)}
.bar.current{background:linear-gradient(var(--va-vivo),var(--va-turq))}
.bar span{color:var(--va-claro)}
.donut:after{background:var(--va-panel)}
.green-dot{background:var(--va-vivo)}.blue-dot{background:var(--va-turq)}
.amber-dot{background:var(--va-ambar)}.gray-dot{background:rgba(255,255,255,.2)}
.meter i,.capacity-bar i,.hb-track i,.meta-bar i{background:var(--va-turq)}
.meter i.ok{background:var(--va-vivo)}.meter i.warn{background:var(--va-ambar)}
.lr-bars i{background:rgba(255,255,255,.18)}
.lr-bars i.ok{background:var(--va-vivo)}.lr-bars i.late{background:var(--va-ambar)}
.chart-svg text{fill:rgba(255,255,255,.55)}
.rA{background:var(--va-vivo);color:#06231f}.rB{background:var(--va-turq);color:#fff}
.rC{background:var(--va-ambar);color:#241a05}.rD{background:var(--va-alerta);color:#2a0f0a}
.ontime div{background:rgba(242,200,121,.10)}
.ontime div.ok{background:rgba(45,212,191,.10)}
.ontime small{color:var(--va-text3)}
.mix-legend span{opacity:.9}

/* ===== 11. Modal e listas ======================================== */
.modal-backdrop{background:rgba(5,9,11,.74)}
.modal{background:var(--va-panel);box-shadow:-20px 0 60px rgba(0,0,0,.6)}
.modal>header,.modal>footer{border-color:var(--va-line)}
.cand:hover{border-color:rgba(45,212,191,.42)}
.cand.on{border-color:var(--va-vivo);background:rgba(45,212,191,.08);box-shadow:0 0 0 1px var(--va-vivo)}
.cand:focus-visible{box-shadow:0 0 0 3px rgba(45,212,191,.3)}
.rs:before{background:rgba(255,255,255,.3)}
.rs.good:before{background:var(--va-vivo)}.rs.warn:before{background:var(--va-ambar)}
.rs.bad:before{background:var(--va-alerta)}.rs.bad{color:var(--va-alerta)}
.selected-orders p,.client-list li,.todo-list li,.mini-list li,.attn li,.calc p,
.en-passos li,.en-limites li,.qe-stop,.ev-list li,.fleet-alerts li{border-color:var(--va-line)}
.client-list{border-top-color:var(--va-line)}
.todo-list li.bad b:before{background:var(--va-alerta)}
.todo-list li.warn b:before{background:var(--va-ambar)}
.todo-list li.ok b:before{background:var(--va-vivo)}
.orphan .avatar{background:rgba(240,138,122,.16);color:var(--va-alerta)}

/* ===== 12. Quadro de espaço ====================================== */
.qe-truck{border-left-color:rgba(255,255,255,.18)}
.qe-truck.e-livre{border-left-color:var(--va-vivo)}
.qe-truck.e-semdestino{border-left-color:var(--va-ambar)}
.qe-truck.e-cheio{border-left-color:var(--va-alerta)}
.qe-truck.e-fila{border-left-color:rgba(255,255,255,.26)}
.qe-truck.qe-novo{box-shadow:0 0 0 2px var(--va-vivo),0 6px 22px rgba(45,212,191,.25)}
.qe-detail{border-top-color:var(--va-line)}
.qe-gauge{border-color:var(--va-line)}
.qe-seg{background:var(--va-turq);border-right-color:var(--va-bg2)}
.qe-free{background-image:repeating-linear-gradient(115deg,rgba(45,212,191,.24) 0 6px,transparent 6px 12px)}
.qe-over{background:repeating-linear-gradient(115deg,var(--va-alerta) 0 5px,rgba(240,138,122,.55) 5px 10px)}
.qe-legend b.e-livre{color:var(--va-vivo)}.qe-legend b.e-semdestino{color:var(--va-ambar)}
.qe-legend b.e-cheio{color:var(--va-alerta)}
.qe-dot{background:rgba(255,255,255,.22)}
.qe-dot.done{background:var(--va-vivo)}
.qe-dot.now{background:var(--va-turq);box-shadow:0 0 0 3px rgba(14,116,144,.4)}
.qe-empty,.empty-column{border-color:var(--va-line2)}
.qe-op.best,.en-op.best,.route.best{border-color:var(--va-vivo);background:rgba(45,212,191,.07)}
.qe-op.best .qe-op-nums p,.en-op.best span{background:var(--va-panel);border-color:rgba(45,212,191,.4)}
.en-op.best span{color:var(--va-claro)}
.qe-pick:hover,.qe-fila-card:hover,.en-perfis button:hover{border-color:var(--va-vivo);background:rgba(45,212,191,.07)}
.qe-fila-card{border-left-color:var(--va-ambar)}
.qe-fila-card:hover{border-left-color:var(--va-vivo)}

/* ===== 13. Viagens (kanban) ====================================== */
.kanban-column>header b{background:rgba(255,255,255,.1);color:var(--va-text2)}
.column-dot.programada{background:rgba(255,255,255,.3)}
.column-dot.carregando{background:var(--va-ambar)}
.column-dot.em-rota{background:var(--va-turq)}
.column-dot.concluida{background:var(--va-vivo)}
.trip-card footer{border-top-color:var(--va-line)}
.selection-summary{border-bottom-color:var(--va-line)}

/* ===== 14. Mercado =============================================== */
.ms-item{background:var(--va-bg2);border-color:var(--va-line)}
.ms-item:hover{background:rgba(45,212,191,.07);border-color:rgba(45,212,191,.4)}
.quote.is-live{border-color:rgba(45,212,191,.3)}
.q-missing{color:var(--va-text3)}
.quote footer,.source-col{border-color:var(--va-line)}
.dot-live,.live-badge.on i,.tk-signal i{background:var(--va-vivo)}
.live-badge i{background:rgba(255,255,255,.3)}
.live-badge.stale i{background:var(--va-ambar)}
.en-hero{border-bottom-color:var(--va-line)}
.en-tag{background:rgba(45,212,191,.14);color:var(--va-claro)}
.ro-tag{background:rgba(242,200,121,.12);border-color:rgba(242,200,121,.3);color:var(--va-ambar)}
.sidebar .ro-tag{background:rgba(242,200,121,.10);border-color:rgba(242,200,121,.26);color:var(--va-ambar)}

/* ===== 15. Rastreamento ========================================== */
.seg button{color:var(--va-text2);border-right-color:var(--va-line)}
.seg button.on{background:rgba(14,116,144,.28);color:var(--va-claro)}
.sim-clock i{background:var(--va-vivo)}
.truck-pin:focus circle,.cpin:focus circle{stroke:var(--va-vivo)}

/* ===== 16. Cantos (10 px botão, 16 px bloco) ===================== */
.panel,.metric,.quote,.trip-card,.en-card,.en-box,.en-caso,.en-nums article,
.kpis article,.how>div,.market-strip,.qe-truck,.kanban-column,.demo-guide,
.compare,.en-cta,.log-metrics article{border-radius:var(--va-r-bloco)}
.en-login{border-radius:18px}

/* ===== 17. Correções da 1ª rodada (conferidas no navegador) ======= */
/* caixas de indicador da Frota e das Viagens: ficavam brancas */
.log-metrics article{background:var(--va-panel);border-color:var(--va-line);border-radius:var(--va-r-bloco)}
/* aviso "cotações ao vivo": fundo claro com texto claro */
.snapshot-note.live{background:rgba(45,212,191,.12);border-color:rgba(45,212,191,.28)}
.quote.is-live{border-color:rgba(45,212,191,.3)}
.fa-dot{background:var(--va-ambar)}
.fleet-alerts li.bad .fa-dot{background:var(--va-alerta)}
/* topo colorido dos indicadores: tira azul/verde/roxo/laranja */
.metric.blue{border-top-color:var(--va-turq)}
.metric.green{border-top-color:var(--va-vivo)}
.metric.purple{border-top-color:var(--va-claro)}
.metric.orange{border-top-color:var(--va-ambar)}
.metric:after{background:var(--va-bg2);color:var(--va-claro)}

/* mapa da carteira (SVG desenhado no código: recolorido pelo valor original) */
.cmap [fill="#f3f6fa"]{fill:var(--va-bg2)}
.cmap [fill="#b6c0cf"]{fill:rgba(255,255,255,.3)}
.cmap text[fill="#445067"]{fill:rgba(255,255,255,.82)}
.cmap text[fill="#7a8597"]{fill:rgba(255,255,255,.5)}
.cmap [fill="#1f9d63"]{fill:var(--va-vivo)}
.cmap [fill="#2f7ddd"]{fill:var(--va-turq)}
.cmap [fill="#e0a030"]{fill:var(--va-ambar)}
.cmap [fill="#d4533f"]{fill:var(--va-alerta)}
.cmap [fill="#111c32"]{fill:var(--va-turq)}
.cmap [fill="#1f7a50"]{fill:var(--va-vivo)}
.cmap rect[fill="#fff"][stroke="#e1e6ee"]{fill:var(--va-panel);stroke:var(--va-line)}
.cmap [stroke="#fff"]{stroke:var(--va-bg2)}
.cmap line[stroke="#1f9d63"]{stroke:var(--va-vivo)}
.cmap line[stroke="#2f7ddd"]{stroke:var(--va-turq)}
.cmap line[stroke="#e0a030"]{stroke:var(--va-ambar)}
.cmap line[stroke="#d4533f"]{stroke:var(--va-alerta)}
.cmap g.cpin:has(circle[fill="#1f9d63"]) text,.cmap g.cpin:has(circle[fill="#e0a030"]) text,
.cmap g.cpin:has(circle[fill="#d4533f"]) text,.cmap g.cpin:has(circle[fill="#8265d7"]) text,
.cmap g:has(rect[fill="#1f7a50"][stroke="#fff"]) text{fill:#06231f}
/* mapa do rastreamento (mesma classe .cmap, cores próprias) */
.cmap text[fill="#1f2b40"]{fill:var(--va-text)}
.cmap [fill="#8265d7"]{fill:var(--va-claro)}
.cmap polyline[stroke="#d5dce6"]{stroke:rgba(255,255,255,.18)}
.cmap polyline[stroke="#2f7ddd"]{stroke:var(--va-turq)}
.cmap polyline[stroke="#e0a030"]{stroke:var(--va-ambar)}
.cmap polyline[stroke="#d4533f"]{stroke:var(--va-alerta)}

/* gráficos dos relatórios (SVG desenhado no código) */
.chart-svg text[fill="#1f2b40"]{fill:var(--va-text)}
.chart-svg text[fill="#8993a2"]{fill:rgba(255,255,255,.5)}
.chart-svg line[stroke="#e7eaf0"]{stroke:rgba(255,255,255,.1)}
.chart-svg path[fill="#2f7ddd"]{fill:var(--va-turq)}
.chart-svg path[fill="#1f9d63"]{fill:var(--va-vivo)}
