/* VTCDOCS Precificação — overrides V13.20.4 / V13.20.5 */
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-form-grid.cols-2,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-form-grid.cols-3,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-form-grid.cols-4{grid-template-columns:1fr}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-card{overflow:visible}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-field{max-width:none}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-formula-note{align-items:flex-start}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-xs{width:min(100%,190px)}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-sm{width:min(100%,270px)}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-md{width:min(100%,430px)}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-lg{width:min(100%,720px)}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-helper-field{gap:7px}
#tela-precificacao .prec-helper-meta{display:flex;align-items:baseline;gap:8px;min-height:14px}
#tela-precificacao .prec-helper-meta strong{color:#c8d8eb;font-size:9px;font-weight:850;font-variant-numeric:tabular-nums}
#tela-precificacao .prec-helper-meta small{color:#60758f;font-size:7.5px;font-weight:700}
#tela-precificacao .prec-helper-meta small::before{content:"· ";color:#405978}
@media(max-width:760px){
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-xs,
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-sm,
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-md,
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-size-lg{width:100%}
}

/* Composição comercial — grade canônica */
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid{
  display:grid !important;
  grid-template-columns:repeat(3,190px) !important;
  gap:14px 16px;
  width:602px;
  max-width:100%;
  align-items:start;
  justify-content:start;
}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid > .prec-field,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid > .prec-field.prec-size-xs,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid .prec-input-suffix{
  width:190px !important;
  max-width:190px !important;
  min-width:190px !important;
}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid .prec-input-suffix input{
  width:100%;
  min-width:0;
}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-benchmark{margin-top:18px}
@media(max-width:900px){
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid{
    grid-template-columns:repeat(2,190px) !important;
    width:396px;
  }
}
@media(max-width:520px){
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid{
    grid-template-columns:1fr !important;
    width:100%;
  }
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid > .prec-field,
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid > .prec-field.prec-size-xs,
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid .prec-input-suffix{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }
}


/* PRECIFICAÇÃO V13.20.22 — cards uniformes e grids proporcionais */
#tela-precificacao .prec-form-stack{
  align-items:flex-start;
}
#tela-precificacao .prec-form-stack > .prec-card{
  width:min(100%,860px);
  box-sizing:border-box;
}

/* Seção 02: duas colunas que ocupam o card de forma equilibrada */
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-trip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
  width:100%;
  max-width:none;
}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-trip-grid .prec-field,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-trip-grid .prec-field input,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-trip-grid .prec-field select,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-trip-grid .prec-input-prefix{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}

/* Seção 03: três colunas reais, distribuídas pela mesma largura do card */
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px 16px;
  width:100% !important;
  max-width:none !important;
  align-items:start;
  justify-content:stretch;
}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid > .prec-field,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid > .prec-field.prec-size-xs,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid .prec-input-suffix{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box;
}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-benchmark{
  width:100%;
  box-sizing:border-box;
  margin-top:18px;
}

@media(max-width:900px){
  #tela-precificacao .prec-form-stack > .prec-card{width:100%}
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:640px){
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-trip-grid,
  #tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid{
    grid-template-columns:1fr !important;
  }
}


/* Simulador: formulário e resultado alinhados do topo até a última seção. */
@media(min-width:1181px){
  #tela-precificacao .prec-layout{
    grid-template-columns:860px 430px;
    gap:14px;
    justify-content:start;
    align-items:stretch;
  }
  #tela-precificacao .prec-result-card{
    width:430px;
    height:100%;
    box-sizing:border-box;
    position:relative;
    top:auto;
  }
}


/* PRECIFICAÇÃO V13.20.24 — benchmarking inline ao lado do lucro */
#tela-precificacao .prec-lucro-benchmark{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-left:10px;
    padding:5px 9px;
    border-radius:999px;
    border:1px solid rgba(148,163,184,.12);
    background:rgba(148,163,184,.05);
    white-space:nowrap;
    vertical-align:middle;
}
#tela-precificacao .prec-lucro-benchmark b{font-size:8px;font-weight:800;line-height:1;color:#dbeafe}
#tela-precificacao .prec-lucro-benchmark em{font-size:8px;font-style:normal;line-height:1;color:#b7c6d9}
#tela-precificacao .prec-lucro-benchmark.is-cold{border-color:rgba(59,130,246,.22);background:rgba(29,78,216,.12)}
#tela-precificacao .prec-lucro-benchmark.is-cold b{color:#9cc6ff}#tela-precificacao .prec-lucro-benchmark.is-cold em{color:#86aee0}
#tela-precificacao .prec-lucro-benchmark.is-cool{border-color:rgba(34,211,238,.22);background:rgba(8,145,178,.14)}
#tela-precificacao .prec-lucro-benchmark.is-cool b{color:#9ae9f4}#tela-precificacao .prec-lucro-benchmark.is-cool em{color:#9ad8e2}
#tela-precificacao .prec-lucro-benchmark.is-mild{border-color:rgba(250,204,21,.22);background:rgba(202,138,4,.13)}
#tela-precificacao .prec-lucro-benchmark.is-mild b{color:#f5dc78}#tela-precificacao .prec-lucro-benchmark.is-mild em{color:#dbc974}
#tela-precificacao .prec-lucro-benchmark.is-warm{border-color:rgba(249,115,22,.24);background:rgba(194,65,12,.13)}
#tela-precificacao .prec-lucro-benchmark.is-warm b{color:#ffb27b}#tela-precificacao .prec-lucro-benchmark.is-warm em{color:#f3b28f}
#tela-precificacao .prec-lucro-benchmark.is-hot{border-color:rgba(239,68,68,.25);background:rgba(185,28,28,.14)}
#tela-precificacao .prec-lucro-benchmark.is-hot b{color:#ff9b9b}#tela-precificacao .prec-lucro-benchmark.is-hot em{color:#efb0b5}
#tela-precificacao .prec-benchmark{display:none !important}
@media(max-width:760px){
  #tela-precificacao .prec-lucro-benchmark{display:flex;margin-left:0;margin-top:6px;width:max-content}
}


/* PRECIFICAÇÃO V13.20.25 — benchmarking como botão no 3º slot da última linha */
#tela-precificacao .prec-benchmark-inline-field{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}
#tela-precificacao .prec-benchmark-inline-field > span{
    display:block;
    margin-bottom:8px;
}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn{
    width:100%;
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:0 16px;
    border-radius:14px;
    border:1px solid rgba(148,163,184,.12);
    background:rgba(148,163,184,.05);
    box-shadow:none;
    cursor:default;
}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn b{
    font-size:13px;
    line-height:1;
    font-weight:800;
}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn em{
    font-size:12px;
    line-height:1;
    font-style:normal;
}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-cold{border-color:rgba(59,130,246,.22);background:rgba(29,78,216,.12)}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-cold b{color:#9cc6ff}#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-cold em{color:#86aee0}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-cool{border-color:rgba(34,211,238,.22);background:rgba(8,145,178,.14)}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-cool b{color:#9ae9f4}#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-cool em{color:#9ad8e2}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-mild{border-color:rgba(250,204,21,.22);background:rgba(202,138,4,.13)}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-mild b{color:#f5dc78}#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-mild em{color:#dbc974}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-warm{border-color:rgba(249,115,22,.24);background:rgba(194,65,12,.13)}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-warm b{color:#ffb27b}#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-warm em{color:#f3b28f}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-hot{border-color:rgba(239,68,68,.25);background:rgba(185,28,28,.14)}
#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-hot b{color:#ff9b9b}#tela-precificacao .prec-benchmark-inline-field .prec-benchmark-btn.is-hot em{color:#efb0b5}
#tela-precificacao .prec-lucro-benchmark{display:none!important}


/* Resumo de custos — duas categorias compactas lado a lado */
#tela-precificacao .prec-cost-categories{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    align-items:start;
}
#tela-precificacao .prec-cost-category{
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(148,163,184,.14);
    border-radius:14px;
    background:linear-gradient(180deg,#101d2e,#0b1624);
    box-shadow:0 12px 28px rgba(0,0,0,.10);
}
#tela-precificacao .prec-cost-category-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:58px;
    padding:9px 13px;
}
#tela-precificacao .prec-cost-category-identity{display:flex;align-items:center;gap:9px;min-width:0}
#tela-precificacao .prec-cost-category-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;font-size:12px}
#tela-precificacao .prec-cost-category--cold .prec-cost-category-icon{color:#82caff;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.20)}
#tela-precificacao .prec-cost-category--dry .prec-cost-category-icon{color:#b4c5db;background:rgba(148,163,184,.10);border:1px solid rgba(148,163,184,.16)}
#tela-precificacao .prec-cost-category-kicker{display:block;color:#667f9c;font-size:7px;font-weight:850;letter-spacing:.11em}
#tela-precificacao .prec-cost-category-head h3{margin:3px 0 0;color:#e6effb;font-size:13px;font-weight:800;line-height:1.2}
#tela-precificacao .prec-cost-category-count{flex:0 0 auto;padding:5px 8px;border:1px solid rgba(148,163,184,.13);border-radius:999px;color:#91a5bd;font-size:8px;font-weight:750}
#tela-precificacao .prec-cost-category .prec-table-card{border:0;border-top:1px solid rgba(148,163,184,.11);border-radius:0;background:transparent;box-shadow:none}
#tela-precificacao .prec-cost-category .prec-table{width:100%;min-width:0;table-layout:fixed}
#tela-precificacao .prec-cost-category .prec-table th{background:rgba(10,22,37,.55);font-size:7.5px;letter-spacing:.04em}
#tela-precificacao .prec-cost-category .prec-table td{font-size:9px}
#tela-precificacao .prec-cost-category .prec-table th,
#tela-precificacao .prec-cost-category .prec-table td{padding:9px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tela-precificacao .prec-cost-category .prec-table th:first-child,
#tela-precificacao .prec-cost-category .prec-table td:first-child{width:24%}
#tela-precificacao .prec-cost-category .prec-table th:nth-child(2),
#tela-precificacao .prec-cost-category .prec-table td:nth-child(2){width:32%}
#tela-precificacao .prec-cost-category .prec-table th:nth-child(3),
#tela-precificacao .prec-cost-category .prec-table td:nth-child(3){width:44%}
@media(max-width:1080px){
    #tela-precificacao .prec-cost-categories{grid-template-columns:1fr;gap:12px}
    #tela-precificacao .prec-cost-category .prec-table{table-layout:auto}
}
@media(max-width:640px){
    #tela-precificacao .prec-cost-category-head{padding:10px 12px}
    #tela-precificacao .prec-cost-category .prec-table{min-width:450px}
}


/* Simulador — resultado ocupa toda a altura da coluna, com ações no rodapé. */
#tela-precificacao .prec-result-card{
  display:flex;
  flex-direction:column;
  min-height:0;
}
#tela-precificacao #precResultadoConteudo{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
}
#tela-precificacao .prec-result-card .prec-empty-result{
  flex:1 1 auto;
  min-height:330px;
}
#tela-precificacao .prec-result-card .prec-result-actions{
  margin-top:auto;
  padding-top:16px;
}
#tela-precificacao .prec-result-card .prec-snapshot-note{flex:0 0 auto}

/* Leitura: escalas tipográficas confortáveis, sem aumentar o volume dos cards. */
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-card-head small{font-size:10.5px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-field>span{font-size:11px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-field>span em,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-field>span small{font-size:9px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-field input:not([type="hidden"]),
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-field select{font-size:12px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-input-prefix b,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-input-suffix b{font-size:10px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-route-btn,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-check strong{font-size:11px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-formula-note{font-size:10px;line-height:1.5}
#tela-precificacao .prec-result-head{font-size:10px}
#tela-precificacao .prec-result-hero span{font-size:10px}
#tela-precificacao .prec-result-hero strong{font-size:34px}
#tela-precificacao .prec-result-hero small{font-size:11px}
#tela-precificacao .prec-result-route{font-size:11px;line-height:1.5}
#tela-precificacao .prec-result-kpis span,
#tela-precificacao .prec-breakdown span,
#tela-precificacao .prec-percent-stack span{font-size:10.5px;line-height:1.4}
#tela-precificacao .prec-result-kpis strong{font-size:14px}
#tela-precificacao .prec-breakdown strong,
#tela-precificacao .prec-percent-stack strong{font-size:11.5px;line-height:1.4;text-align:right}
#tela-precificacao .prec-breakdown>div,
#tela-precificacao .prec-percent-stack>div{padding:10px 1px}
#tela-precificacao .prec-result-card .prec-primary-btn,
#tela-precificacao .prec-result-card .prec-secondary-btn{font-size:11px}
#tela-precificacao .prec-result-card .prec-snapshot-note{font-size:9.5px;line-height:1.5}
#tela-precificacao .prec-empty-result strong{font-size:15px}
#tela-precificacao .prec-empty-result span{font-size:11px}

@media(max-width:1180px){
  /* Em uma coluna, o resultado respeita o conteúdo; não cria altura artificial. */
  #tela-precificacao .prec-result-card{height:auto;min-height:0}
  #tela-precificacao #precResultadoConteudo{flex:0 1 auto}
  #tela-precificacao .prec-result-card .prec-result-actions{margin-top:0}
}


/* ==========================================================
   VORIGON 14.3 — MAPA OPERACIONAL DA PRECIFICAÇÃO
   ========================================================== */
#tela-precificacao .prec-side-stack{
  display:grid;
  gap:14px;
  min-width:0;
  align-content:start;
}
#tela-precificacao .prec-map-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(76,137,208,.22);
  border-radius:16px;
  background:linear-gradient(180deg,#0c1a2a,#071321);
  box-shadow:0 18px 42px rgba(0,0,0,.18);
}
#tela-precificacao .prec-map-head{
  min-height:68px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid rgba(148,163,184,.11);
  background:linear-gradient(180deg,rgba(10,27,45,.98),rgba(8,22,37,.94));
}
#tela-precificacao .prec-map-heading{min-width:0}
#tela-precificacao .prec-map-heading>span{
  display:block;
  margin-bottom:5px;
  color:#6f8baa;
  font-size:8px;
  font-weight:900;
  letter-spacing:.14em;
}
#tela-precificacao .prec-map-heading>strong{
  display:block;
  max-width:560px;
  overflow:hidden;
  color:#d8e6f6;
  font-size:11px;
  font-weight:750;
  line-height:1.4;
  white-space:nowrap;
  text-overflow:ellipsis;
}
#tela-precificacao .prec-map-km{
  flex:0 0 auto;
  padding:8px 11px;
  border:1px solid rgba(59,130,246,.28);
  border-radius:999px;
  background:rgba(37,99,235,.12);
  color:#7fc4ff;
  font-size:12px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}
#tela-precificacao .prec-map-canvas-wrap{
  position:relative;
  height:410px;
  overflow:hidden;
  background:#06111e;
}
#tela-precificacao #precRouteMap{
  width:100%;
  height:100%;
  background:#06111e;
}
#tela-precificacao .prec-map-canvas-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:400;
  background:linear-gradient(180deg,rgba(4,13,23,.08),rgba(4,13,23,.20));
  box-shadow:inset 0 0 60px rgba(2,8,15,.32);
}
#tela-precificacao .prec-map-empty{
  position:absolute;
  inset:0;
  z-index:500;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:24px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 45%,rgba(24,119,242,.15),transparent 30%),
    linear-gradient(180deg,rgba(6,17,30,.84),rgba(4,12,22,.92));
  backdrop-filter:blur(1px);
}
#tela-precificacao .prec-map-empty[hidden]{display:none}
#tela-precificacao .prec-map-empty i{color:#4f9ff7;font-size:28px}
#tela-precificacao .prec-map-empty strong{color:#dbe9f7;font-size:14px}
#tela-precificacao .prec-map-empty span{max-width:320px;color:#7188a3;font-size:10px;line-height:1.55}
#tela-precificacao .prec-map-foot{
  min-height:38px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid rgba(148,163,184,.08);
  color:#647d99;
  font-size:8px;
}
#tela-precificacao .prec-map-foot span{display:flex;align-items:center;gap:7px}
#tela-precificacao .prec-map-foot i{color:#5daafc}
#tela-precificacao .prec-map-foot small{color:#4e647d;font-size:7.5px}

#tela-precificacao .prec-map-marker-shell{background:transparent!important;border:0!important}
#tela-precificacao .prec-map-marker{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:3px solid #eef8ff;
  border-radius:50%;
  color:#fff;
  font-size:12px;
  box-shadow:0 7px 20px rgba(0,0,0,.38),0 0 0 5px rgba(31,140,255,.18);
}
#tela-precificacao .prec-map-marker.is-origin{background:#087cf0}
#tela-precificacao .prec-map-marker.is-destination{background:#ef3f52;box-shadow:0 7px 20px rgba(0,0,0,.38),0 0 0 5px rgba(239,63,82,.18)}
#tela-precificacao .prec-map-tooltip{
  border:1px solid rgba(126,181,239,.24)!important;
  border-radius:8px!important;
  background:#081828!important;
  color:#e6f1fc!important;
  box-shadow:0 8px 22px rgba(0,0,0,.28)!important;
  font:700 9px/1.35 Inter,Arial,sans-serif!important;
}
#tela-precificacao .leaflet-tooltip-top:before{border-top-color:#081828!important}
#tela-precificacao .leaflet-control-zoom a{
  border-color:rgba(148,163,184,.14)!important;
  background:#0a1929!important;
  color:#bcd0e6!important;
}
#tela-precificacao .leaflet-control-zoom a:hover{background:#10253b!important;color:#fff!important}
#tela-precificacao .leaflet-control-attribution{
  background:rgba(3,10,18,.64)!important;
  color:#6d8198!important;
  font-size:7px!important;
}
#tela-precificacao .leaflet-control-attribution a{color:#78aee8!important}

@media(min-width:1181px){
  #tela-precificacao .prec-layout{
    grid-template-columns:minmax(520px,580px) minmax(0,1fr);
    gap:18px;
    align-items:start;
  }
  #tela-precificacao .prec-form-stack > .prec-card{width:100%}
  #tela-precificacao .prec-side-stack{width:100%}
  #tela-precificacao .prec-result-card{
    width:100%;
    height:auto!important;
    position:relative;
    top:auto;
  }
}
@media(max-width:1180px){
  #tela-precificacao .prec-side-stack{width:100%}
  #tela-precificacao .prec-map-canvas-wrap{height:360px}
}
@media(max-width:640px){
  #tela-precificacao .prec-map-head{align-items:flex-start;flex-direction:column;gap:9px}
  #tela-precificacao .prec-map-km{align-self:flex-start}
  #tela-precificacao .prec-map-canvas-wrap{height:300px}
  #tela-precificacao .prec-map-heading>strong{white-space:normal}
}

/* ==========================================================
   V14.4 — MODAL AÉREO MULTIMODAL
   First Mile + Trecho Aéreo + Last Mile
   ========================================================== */
#tela-precificacao .prec-mode-switch{
  width:min(100%,1220px);margin:0 auto 14px;padding:5px;display:flex;gap:5px;
  border:1px solid rgba(96,165,250,.13);border-radius:13px;background:rgba(4,15,27,.72)
}
#tela-precificacao .prec-mode-btn{
  min-height:44px;padding:0 16px;border:1px solid transparent;border-radius:9px;background:transparent;
  color:#71879f;display:flex;align-items:center;gap:9px;font:700 10px/1 Inter,Arial,sans-serif;cursor:pointer;transition:.2s ease
}
#tela-precificacao .prec-mode-btn i{font-size:12px}
#tela-precificacao .prec-mode-btn small{font-size:7.5px;font-weight:600;letter-spacing:.05em;color:#50667e}
#tela-precificacao .prec-mode-btn:hover{color:#cbdced;background:rgba(255,255,255,.025)}
#tela-precificacao .prec-mode-btn.is-active{color:#e9f4ff;border-color:rgba(31,140,255,.32);background:linear-gradient(135deg,rgba(31,140,255,.16),rgba(31,140,255,.06));box-shadow:inset 0 0 0 1px rgba(31,140,255,.05)}
#tela-precificacao .prec-mode-btn.is-active i{color:#55aaff}

#tela-precificacao .prec-route-airport{grid-column:span 1}
#tela-precificacao .prec-air-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}
#tela-precificacao .prec-air-factor{min-height:66px;padding:11px 13px;border:1px solid rgba(31,140,255,.14);border-radius:10px;background:rgba(31,140,255,.045);display:flex;flex-direction:column;justify-content:center;gap:3px}
#tela-precificacao .prec-air-factor span{font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:#69839f}
#tela-precificacao .prec-air-factor strong{font-size:14px;color:#8ec5ff}
#tela-precificacao .prec-air-factor small{font-size:7.5px;color:#526a83}

#tela-precificacao .prec-air-volume-table{border:1px solid rgba(148,163,184,.09);border-radius:11px;overflow:hidden;background:rgba(1,8,15,.16)}
#tela-precificacao .prec-air-volume-head,
#tela-precificacao .prec-air-volume-row{display:grid;grid-template-columns:.55fr .8fr .8fr .8fr 1.15fr 32px;gap:7px;align-items:center}
#tela-precificacao .prec-air-volume-head{padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.08);background:rgba(255,255,255,.018);color:#607a96;font-size:7.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
#tela-precificacao .prec-air-volume-row{padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.055)}
#tela-precificacao .prec-air-volume-row:last-child{border-bottom:0}
#tela-precificacao .prec-air-volume-row input{width:100%;min-width:0;height:34px;padding:0 8px;border:1px solid rgba(148,163,184,.12);border-radius:7px;background:#071321;color:#dce9f6;font:600 10px Inter,Arial,sans-serif;outline:none}
#tela-precificacao .prec-air-volume-row input:focus{border-color:rgba(31,140,255,.55);box-shadow:0 0 0 2px rgba(31,140,255,.08)}
#tela-precificacao .prec-air-remove{width:30px;height:30px;border:0;border-radius:7px;background:rgba(239,63,82,.07);color:#d56877;cursor:pointer}
#tela-precificacao .prec-air-remove:hover{background:rgba(239,63,82,.15);color:#ff8190}
#tela-precificacao .prec-air-add{width:100%;height:34px;border:0;border-top:1px solid rgba(148,163,184,.075);background:rgba(31,140,255,.035);color:#6eaef2;font:700 9px Inter,Arial,sans-serif;cursor:pointer}
#tela-precificacao .prec-air-add:hover{background:rgba(31,140,255,.08);color:#9bcdff}

#tela-precificacao .prec-air-cargo-summary{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
#tela-precificacao .prec-air-cargo-summary>div{min-height:62px;padding:10px;border:1px solid rgba(148,163,184,.08);border-radius:9px;background:rgba(255,255,255,.018);display:flex;flex-direction:column;justify-content:center;gap:5px}
#tela-precificacao .prec-air-cargo-summary span{font-size:7px;text-transform:uppercase;letter-spacing:.05em;color:#5d758f}
#tela-precificacao .prec-air-cargo-summary strong{font-size:12px;color:#cbdbea}
#tela-precificacao .prec-air-cargo-summary .is-highlight{border-color:rgba(31,140,255,.25);background:rgba(31,140,255,.065)}
#tela-precificacao .prec-air-cargo-summary .is-highlight strong{color:#72b6ff;font-size:14px}

#tela-precificacao .prec-air-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#tela-precificacao .prec-field span small{margin-left:4px;color:#55708c;font-size:7.5px;font-weight:600}

#tela-precificacao .prec-result-hero-air strong{color:#52adff}
#tela-precificacao .prec-air-route-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:11px 0}
#tela-precificacao .prec-air-route-summary>div{min-height:86px;padding:10px;border:1px solid rgba(148,163,184,.08);border-radius:9px;background:rgba(255,255,255,.018);display:grid;grid-template-columns:22px 1fr;grid-template-rows:auto auto;column-gap:7px;align-items:start}
#tela-precificacao .prec-air-route-summary b{grid-row:1/3;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#147deb;color:#fff;font-size:8px}
#tela-precificacao .prec-air-route-summary>div:first-child b{background:#10b968}
#tela-precificacao .prec-air-route-summary>div:last-child b{background:#e87517}
#tela-precificacao .prec-air-route-summary span{font-size:9px;font-weight:800;color:#c7d6e5}
#tela-precificacao .prec-air-route-summary span small{display:block;margin-top:4px;font-size:7.5px;font-weight:500;color:#607a94}
#tela-precificacao .prec-air-route-summary strong{grid-column:2;font-size:12px;color:#f0f6fc}
#tela-precificacao .prec-air-table-note{margin-top:10px;padding:9px 10px;border:1px dashed rgba(31,140,255,.18);border-radius:8px;color:#67809a;font-size:8px;line-height:1.5;display:flex;gap:8px}
#tela-precificacao .prec-air-table-note i{color:#4b9df5;margin-top:2px}

#tela-precificacao .prec-map-marker-custom{background:var(--marker-color);box-shadow:0 7px 20px rgba(0,0,0,.38),0 0 0 5px color-mix(in srgb,var(--marker-color) 18%,transparent)}
#tela-precificacao .prec-map-card.is-multimodal .prec-map-km{font-size:10px}

@media(max-width:800px){
  #tela-precificacao .prec-mode-switch{flex-direction:column}
  #tela-precificacao .prec-air-top-grid,#tela-precificacao .prec-air-price-grid{grid-template-columns:1fr}
  #tela-precificacao .prec-air-cargo-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tela-precificacao .prec-air-route-summary{grid-template-columns:1fr}
}
@media(max-width:560px){
  #tela-precificacao .prec-air-volume-table{overflow-x:auto}
  #tela-precificacao .prec-air-volume-head,#tela-precificacao .prec-air-volume-row{min-width:520px}
  #tela-precificacao .prec-air-cargo-summary{grid-template-columns:1fr 1fr}
  #tela-precificacao .prec-air-cargo-summary .is-highlight{grid-column:1/-1}
}


/* V12 — rota multiponto */
#tela-precificacao .prec-point-badge{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(31,140,255,.14);border:1px solid rgba(31,140,255,.28);color:#8bc7ff;font-size:10px;font-weight:900;margin-right:7px}
#tela-precificacao .prec-stops-wrap{grid-column:1/-1;display:grid;gap:9px}
#tela-precificacao .prec-stops-list{display:grid;gap:8px}
#tela-precificacao .prec-stop-row{display:grid;grid-template-columns:28px minmax(0,1fr) 34px;gap:8px;align-items:center;padding:8px 10px;border:1px solid rgba(148,163,184,.12);border-radius:12px;background:rgba(10,22,37,.42)}
#tela-precificacao .prec-stop-row .prec-point-badge{margin:0}
#tela-precificacao .prec-stop-row input{width:100%;min-height:40px;border:0!important;background:transparent!important;padding:0 8px!important}
#tela-precificacao .prec-remove-stop,#tela-precificacao .prec-add-stop{border:1px solid rgba(148,163,184,.15);background:rgba(148,163,184,.06);color:#9eb1c7;border-radius:10px;cursor:pointer}
#tela-precificacao .prec-remove-stop{width:34px;height:34px}.prec-add-stop{justify-self:start;padding:9px 12px;font-size:10px;font-weight:800}
#tela-precificacao .prec-add-stop:disabled{opacity:.35;cursor:not-allowed}
#tela-precificacao .prec-route-segments{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:7px;padding:10px 12px;border-top:1px solid rgba(148,163,184,.10)}
#tela-precificacao .prec-route-segments:empty{display:none}
#tela-precificacao .prec-route-segments>div{display:flex;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:9px;background:rgba(148,163,184,.05);font-size:9px;color:#8195ad}
#tela-precificacao .prec-route-segments strong{color:#dce9f7}.prec-route-segments .is-total,.prec-route-segments .is-billed{border:1px solid rgba(31,140,255,.18)}


/* V12 — switcher de mapa */
#tela-precificacao .prec-map-actions{display:flex;align-items:center;gap:10px}
#tela-precificacao .prec-map-switch{display:flex;padding:3px;border:1px solid rgba(148,163,184,.15);border-radius:10px;background:rgba(7,19,33,.65)}
#tela-precificacao .prec-map-switch button{border:0;background:transparent;color:#71879f;font-size:8px;font-weight:900;letter-spacing:.08em;padding:7px 9px;border-radius:7px;cursor:pointer}
#tela-precificacao .prec-map-switch button.is-active{background:rgba(22,139,255,.16);color:#9ed1ff}
#tela-precificacao .prec-point-map-marker{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:#168bff;color:white;font-size:11px;font-weight:900;border:2px solid rgba(255,255,255,.92);box-shadow:0 8px 18px rgba(0,0,0,.28)}
#tela-precificacao .prec-point-map-marker.is-airport{background:#0f68c9;border-radius:50%}


/* V12 — carga compartilhada */
#tela-precificacao .prec-cargo-card{display:block!important}
#tela-precificacao .prec-volume-head,#tela-precificacao .prec-volume-row{grid-template-columns:minmax(130px,1.4fr) 55px repeat(3,minmax(70px,.72fr)) minmax(90px,.9fr) 72px!important}
#tela-precificacao .prec-volume-actions{display:flex;gap:5px;justify-content:flex-end}
#tela-precificacao .prec-volume-row input[data-prec-volume-field="descricao"]{min-width:120px}
@media(max-width:1050px){#tela-precificacao .prec-volume-table{overflow-x:auto}#tela-precificacao .prec-volume-head,#tela-precificacao .prec-volume-row{min-width:760px}}

/* V12.2 — workspace dedicado da rota: formulário e mapa ocupam a mesma linha sem sobreposição */
#tela-precificacao .prec-route-workspace{
  display:grid;
  grid-template-columns:minmax(520px,580px) minmax(0,1fr);
  gap:18px;
  align-items:stretch;
  margin-bottom:14px;
}
#tela-precificacao .prec-route-workspace>.prec-card,
#tela-precificacao .prec-route-workspace>.prec-map-card{width:100%;min-width:0;height:100%}
#tela-precificacao .prec-route-workspace .prec-map-canvas-wrap{height:330px}
@media(max-width:1180px){
  #tela-precificacao .prec-route-workspace{grid-template-columns:1fr}
  #tela-precificacao .prec-route-workspace .prec-map-canvas-wrap{height:340px}
}
@media(max-width:640px){
  #tela-precificacao .prec-route-workspace .prec-map-canvas-wrap{height:280px}
}

/* ==========================================================
   V12.6 — UX DA PRECIFICAÇÃO
   Fluxo fixo A/B/C/D + mapa navegável + métricas consistentes
   ========================================================== */
#tela-precificacao .prec-route-workspace{
  grid-template-columns:minmax(440px,520px) minmax(0,1fr);
  gap:20px;
  align-items:start;
  margin-bottom:18px;
}
#tela-precificacao .prec-route-workspace>.prec-card,
#tela-precificacao .prec-route-workspace>.prec-map-card{height:auto;align-self:start}
#tela-precificacao .prec-route-grid.prec-route-flow{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:none;
  gap:14px;
  align-items:stretch;
}
#tela-precificacao .prec-route-grid.prec-route-flow>*{grid-area:auto!important;width:100%;min-width:0;max-width:none;margin:0}
#tela-precificacao .prec-route-point{
  display:grid;
  gap:9px;
  padding:12px;
  border:1px solid rgba(148,163,184,.11);
  border-radius:13px;
  background:rgba(8,21,36,.44);
}
#tela-precificacao .prec-route-point-label{display:flex;align-items:center;gap:10px;min-width:0}
#tela-precificacao .prec-route-point-label>.prec-point-badge{flex:0 0 28px;width:28px;height:28px;margin:0;border-radius:9px;font-size:11px}
#tela-precificacao .prec-route-point-label>span{display:grid;gap:2px;min-width:0}
#tela-precificacao .prec-route-point-label strong{color:#dce9f7;font-size:11px;font-weight:850;line-height:1.2}
#tela-precificacao .prec-route-point-label small{color:#6c819a;font-size:9px;font-weight:650;line-height:1.25}
#tela-precificacao .prec-route-point-label .prec-inline-link{margin-left:auto;flex:0 0 auto;font-size:9px}
#tela-precificacao .prec-route-flow .prec-field{gap:7px}
#tela-precificacao .prec-route-flow .prec-field>span{font-size:10.5px}
#tela-precificacao .prec-route-flow input,
#tela-precificacao .prec-route-flow select,
#tela-precificacao .prec-route-flow .prec-input-suffix,
#tela-precificacao .prec-route-flow .prec-route-btn{min-height:42px;box-sizing:border-box}
#tela-precificacao .prec-route-flow input,
#tela-precificacao .prec-route-flow select{font-size:11.5px;border-radius:10px}
#tela-precificacao .prec-route-action{display:block;width:100%;padding-top:1px}
#tela-precificacao .prec-route-action .prec-route-btn-primary{width:100%;min-height:44px;font-size:11px;border-radius:10px}
#tela-precificacao .prec-route-adjustments{display:grid;gap:10px;margin-top:2px;padding:12px;border:1px dashed rgba(148,163,184,.13);border-radius:12px;background:rgba(148,163,184,.025)}
#tela-precificacao .prec-route-adjustments-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
#tela-precificacao .prec-route-adjustments-head>span{color:#9fb4cb;font-size:10px;font-weight:850}
#tela-precificacao .prec-route-adjustments-head>small{color:#5f748c;font-size:9px;font-weight:650}
#tela-precificacao .prec-route-adjustments-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);gap:12px;align-items:end}
#tela-precificacao .prec-route-adjustments .prec-check{min-height:42px;margin:0;padding:8px 12px;box-sizing:border-box}
#tela-precificacao .prec-route-adjustments .prec-check strong{font-size:10.5px}
#tela-precificacao .prec-route-adjustments .prec-check small{font-size:9px}

#tela-precificacao .prec-map-card{border-radius:16px;overflow:hidden}
#tela-precificacao .prec-map-head{min-height:64px;padding:13px 15px}
#tela-precificacao .prec-map-heading>span{font-size:9px}
#tela-precificacao .prec-map-heading>strong{font-size:11px}
#tela-precificacao .prec-map-switch button{font-size:9px}
#tela-precificacao .prec-map-nav-wrap{padding:11px 14px 12px;border-bottom:1px solid rgba(148,163,184,.10);background:rgba(7,19,33,.7)}
#tela-precificacao .prec-map-nav-title{display:block;margin-bottom:8px;color:#7188a3;font-size:9px;font-weight:900;letter-spacing:.10em}
#tela-precificacao .prec-map-nav{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:thin}
#tela-precificacao .prec-map-nav-btn{flex:0 0 auto;min-height:36px;padding:0 10px;border:1px solid rgba(148,163,184,.13);border-radius:9px;background:rgba(255,255,255,.025);color:#869bb2;display:flex;align-items:center;gap:7px;font:750 9.5px/1 Inter,Arial,sans-serif;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s}
#tela-precificacao .prec-map-nav-btn b{display:grid;place-items:center;width:20px;height:20px;border-radius:7px;background:rgba(31,140,255,.12);color:#8ac5ff;font-size:9px}
#tela-precificacao .prec-map-nav-btn:hover:not(:disabled){border-color:rgba(63,151,255,.32);background:rgba(31,140,255,.07);color:#c7def4;transform:translateY(-1px)}
#tela-precificacao .prec-map-nav-btn.is-active:not(:disabled){border-color:rgba(31,140,255,.38);background:rgba(31,140,255,.13);color:#d9ecff}
#tela-precificacao .prec-map-nav-btn:disabled{opacity:.34;cursor:not-allowed}
#tela-precificacao .prec-map-canvas-wrap{height:440px;background:#e9edf1}
#tela-precificacao .prec-map-canvas-wrap::after{background:none;box-shadow:none}
#tela-precificacao .prec-route-segments{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:11px 13px;border-top:1px solid rgba(148,163,184,.10);background:rgba(6,17,29,.48)}
#tela-precificacao .prec-route-segments>div{font-size:9.5px;padding:9px 10px}
#tela-precificacao .prec-map-foot{min-height:40px;font-size:9px}
#tela-precificacao .prec-map-foot small{font-size:9px}
#tela-precificacao .prec-point-map-marker.is-focus{animation:precMapPointPulse 1.05s ease-out}
@keyframes precMapPointPulse{
  0%{transform:scale(1);box-shadow:0 8px 18px rgba(0,0,0,.28),0 0 0 0 rgba(22,139,255,.55)}
  45%{transform:scale(1.18);box-shadow:0 10px 24px rgba(0,0,0,.34),0 0 0 12px rgba(22,139,255,.15)}
  100%{transform:scale(1);box-shadow:0 8px 18px rgba(0,0,0,.28),0 0 0 20px rgba(22,139,255,0)}
}

#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-card{border-radius:16px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-card-head{margin-bottom:16px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-card-head h2{font-size:14px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-card-head>small{font-size:9.5px;line-height:1.4}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-field>span{font-size:10.5px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-field>span small,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-field>span em{font-size:9px}
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-trip-grid input,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-trip-grid select,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-trip-grid .prec-input-prefix,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid input,
#tela-precificacao .prec-view[data-prec-view="simulador"] .prec-percent-grid .prec-input-suffix{min-height:42px}
#tela-precificacao .prec-air-volume-row input{height:42px;font-size:10.5px}
#tela-precificacao .prec-air-volume-head{font-size:9px}
#tela-precificacao .prec-air-cargo-summary span{font-size:9px}
#tela-precificacao .prec-air-factor span,#tela-precificacao .prec-air-factor small{font-size:9px}
#tela-precificacao .prec-air-table-note{font-size:9.5px}
#tela-precificacao .prec-mode-btn small{font-size:9px}

@media(max-width:1180px){
  #tela-precificacao .prec-route-workspace{grid-template-columns:1fr;gap:16px}
  #tela-precificacao .prec-route-workspace .prec-map-canvas-wrap{height:380px}
  #tela-precificacao .prec-result-card{position:relative!important;top:auto!important;width:100%;height:auto!important}
}
@media(max-width:760px){
  #tela-precificacao .prec-route-adjustments-grid{grid-template-columns:1fr}
  #tela-precificacao .prec-map-head{align-items:flex-start;flex-direction:column;gap:10px}
  #tela-precificacao .prec-map-actions{width:100%;justify-content:space-between}
  #tela-precificacao .prec-map-nav{overflow-x:auto}
  #tela-precificacao .prec-air-cargo-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  #tela-precificacao .prec-route-point{padding:10px}
  #tela-precificacao .prec-route-point-label small{display:none}
  #tela-precificacao .prec-route-workspace .prec-map-canvas-wrap{height:320px}
  #tela-precificacao .prec-map-nav-wrap{padding:10px 11px}
  #tela-precificacao .prec-map-nav-btn{min-height:34px;padding:0 9px}
  #tela-precificacao .prec-route-segments{grid-template-columns:1fr}
}

/* ==========================================================
   V12.6.1 — COMPACTAÇÃO DA ROTA
   Menos ruído visual + KM estabilizado + altura compartilhada
   ========================================================== */
@media(min-width:1181px){
  #tela-precificacao .prec-route-workspace{
    align-items:stretch;
  }
  #tela-precificacao .prec-route-workspace>.prec-route-card,
  #tela-precificacao .prec-route-workspace>.prec-map-card{
    height:100%;
    align-self:stretch;
    box-sizing:border-box;
  }
  #tela-precificacao .prec-map-card{
    display:flex;
    flex-direction:column;
  }
  #tela-precificacao .prec-map-canvas-wrap{
    flex:1 1 auto;
    height:auto;
    min-height:300px;
  }
}

#tela-precificacao .prec-route-card{
  padding-bottom:14px;
}
#tela-precificacao .prec-route-card .prec-card-head{
  margin-bottom:12px;
}
#tela-precificacao .prec-route-grid.prec-route-flow{
  gap:10px;
}
#tela-precificacao .prec-route-point{
  display:grid;
  gap:6px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
#tela-precificacao .prec-route-point-label{
  min-height:24px;
  gap:8px;
}
#tela-precificacao .prec-route-point-label>.prec-point-badge{
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:7px;
  font-size:10px;
}
#tela-precificacao .prec-route-point-label>strong,
#tela-precificacao .prec-route-point-label strong{
  color:#dce9f7;
  font-size:10.5px;
  font-weight:850;
  line-height:1.2;
}
#tela-precificacao .prec-route-point-label .prec-inline-link{
  margin-left:auto;
  font-size:8.5px;
}
#tela-precificacao .prec-route-flow input,
#tela-precificacao .prec-route-flow select,
#tela-precificacao .prec-route-flow .prec-input-suffix{
  min-height:40px;
}
#tela-precificacao .prec-route-action{
  padding-top:2px;
}
#tela-precificacao .prec-route-action .prec-route-btn-primary{
  min-height:42px;
}
#tela-precificacao .prec-route-adjustments{
  display:block;
  margin-top:2px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
#tela-precificacao .prec-route-adjustments-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,.58fr);
  gap:10px;
  align-items:end;
}
#tela-precificacao .prec-route-flow .prec-route-km{
  grid-area:auto!important;
  width:100%!important;
  min-width:0;
}
#tela-precificacao .prec-route-flow .prec-route-km>span{
  display:block;
  margin:0 0 6px;
  white-space:normal;
}
#tela-precificacao .prec-route-km .prec-input-suffix{
  width:100%;
  max-width:none;
  min-width:0;
  box-sizing:border-box;
}
#tela-precificacao .prec-route-km .prec-input-suffix input{
  min-width:0;
  width:100%;
}
#tela-precificacao .prec-route-km .prec-input-suffix b{
  flex:0 0 auto;
}
#tela-precificacao .prec-route-adjustments .prec-check{
  min-height:40px;
  margin:0;
  padding:8px 11px;
}
#tela-precificacao .prec-route-adjustments .prec-check span{
  display:block;
}
#tela-precificacao .prec-route-adjustments .prec-check strong{
  font-size:10px;
}

@media(max-width:760px){
  #tela-precificacao .prec-route-adjustments-grid{
    grid-template-columns:1fr;
  }
}


/* V12.7 — ROTA RODOVIÁRIA DINÂMICA A–L */
#tela-precificacao .prec-road-stops{display:grid;gap:10px}
#tela-precificacao .prec-road-stop{position:relative;display:grid;gap:7px}
#tela-precificacao .prec-road-stop .prec-route-point-label{padding-right:36px}
#tela-precificacao .prec-road-stop-remove{position:absolute;right:0;top:0;width:28px;height:28px;border:1px solid rgba(239,68,68,.18);border-radius:8px;background:rgba(239,68,68,.06);color:#db7882;cursor:pointer}
#tela-precificacao .prec-road-stop-remove:hover{background:rgba(239,68,68,.13);color:#ff9aa5}
#tela-precificacao .prec-add-stop{width:100%;min-height:38px;border:1px dashed rgba(96,165,250,.28);border-radius:10px;background:rgba(31,140,255,.035);color:#78baff;font:800 10px Inter,Arial,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}
#tela-precificacao .prec-add-stop:hover:not(:disabled){background:rgba(31,140,255,.09);border-color:rgba(96,165,250,.45)}
#tela-precificacao .prec-add-stop:disabled{opacity:.38;cursor:not-allowed}
#tela-precificacao .prec-route-adjustments-grid{grid-template-columns:1fr!important;gap:9px!important;align-items:start!important}
#tela-precificacao .prec-route-return{width:max-content!important;min-width:150px}
#tela-precificacao .prec-route-flow .prec-route-km{grid-area:auto!important;max-width:220px}
#tela-precificacao .prec-map-nav{max-width:100%;scrollbar-width:thin}
@media(max-width:760px){#tela-precificacao .prec-road-stops{gap:9px}#tela-precificacao .prec-add-stop{min-height:40px}}
