
:root{
  --quote-bg:#f5f7fb;
  --quote-card:#ffffff;
  --quote-text:#0f1b33;
  --quote-muted:#667085;
  --quote-line:#e7ebf2;
  --quote-blue:#0878f8;
  --quote-blue-dark:#052e73;
  --quote-blue-soft:#edf5ff;
  --quote-green:#13b981;
  --quote-purple:#6d45e6;
  --quote-orange:#ff7a1a;
  --quote-shadow:0 12px 35px rgba(15, 27, 51, .08);
}

.cotacao-page{background:var(--quote-bg); color:var(--quote-text);} 
.cotacao-hero-header{padding:22px 0 14px;}
.cotacao-page .page-eyebrow{display:inline-block;color:var(--quote-blue);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;}
.cotacao-page .page-title{font-size:32px;font-weight:900;color:var(--quote-text);letter-spacing:-.04em;}
.hero-mini-badge{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--quote-line);border-radius:999px;padding:10px 14px;font-weight:700;color:#20304d;box-shadow:0 8px 20px rgba(15,27,51,.04);} 
.hero-mini-badge i{color:var(--quote-blue);} 
.quote-layout-row{align-items:flex-start;}

.quote-form-card,.quote-result-card{background:#fff;border:1px solid var(--quote-line);border-radius:18px;box-shadow:var(--quote-shadow);overflow:hidden;margin-bottom:22px;}
.quote-card-header{height:58px;padding:0 22px;border-bottom:1px solid var(--quote-line);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.78);}
.quote-card-header strong{font-size:17px;font-weight:900;color:var(--quote-text);} 
.section-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:var(--quote-blue-soft);color:var(--quote-blue);margin-right:8px;}
.quote-card-body{padding:22px;}
.quote-form-card label{font-weight:800;color:#111827;font-size:14px;margin-bottom:7px;}
.quote-form-card label small{font-weight:700;color:#6b7280;}
.quote-input,.quote-form-card .form-control{height:43px;border-radius:12px;border:1px solid #cfd7e5;background:#fff;box-shadow:none;color:#1f2937;}
.quote-input:focus,.quote-form-card .form-control:focus{border-color:var(--quote-blue);box-shadow:0 0 0 4px rgba(8,120,248,.10);} 
.quote-form-card .row>[class*=col-]{margin-bottom:16px;}
.input-icon-wrap{position:relative;}
.input-icon-wrap i{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--quote-blue);} 
.product-search-box{border:1px solid var(--quote-line);border-radius:14px;background:#fbfcfe;padding:14px;margin-top:2px;}
.product-search-box small{display:block;color:var(--quote-muted);margin-top:8px;}
.product-suggestions{z-index:9999;display:none;max-height:220px;overflow:auto;left:0;top:100%;border-radius:12px;box-shadow:0 15px 30px rgba(15,27,51,.12);} 
.section-subtitle{font-size:18px;font-weight:900;color:var(--quote-text);} 
.btn-add-volume{border-radius:999px;border:1px solid var(--quote-blue);color:var(--quote-blue);font-weight:800;background:#fff;padding:7px 12px;}
.btn-add-volume:hover{background:var(--quote-blue);color:#fff;}
.volumes-wrapper{display:flex;flex-direction:column;gap:10px;}
.quote-volume-row{display:grid;grid-template-columns:46px repeat(4,1fr) 58px 34px;gap:10px;align-items:end;border:1px solid var(--quote-line);background:#fbfcfe;border-radius:14px;padding:12px;}
.volume-num-box small,.volume-field label{display:block;font-size:12px;color:#667085;font-weight:800;margin-bottom:5px;}
.volume-num-box strong{display:flex;align-items:center;justify-content:center;height:34px;font-weight:900;}
.volume-field .form-control{height:36px;border-radius:10px;}
.volume-qtd .form-control{text-align:center;}
.btn-remove-volume{height:36px;width:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;}
.btn-calc-frete{height:46px;width:100%;border:none;border-radius:14px;background:linear-gradient(135deg,#0688ff,#075de8);font-weight:900;margin-top:18px;box-shadow:0 10px 20px rgba(8,120,248,.20);} 
.quote-info-box{margin-top:18px;display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#edf5ff,#f8fbff);border:1px solid #d9eaff;border-radius:16px;padding:16px;}
.quote-info-box span{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#dbeafe;color:var(--quote-blue);font-size:19px;}
.quote-info-box strong{display:block;color:#0b65de;margin-bottom:4px;}
.quote-info-box p{margin:0;color:#526174;font-size:13px;}

.btn-print{border:none;background:#eef6ff;color:var(--quote-blue);font-weight:800;border-radius:999px;padding:8px 13px;}
.empty-result-state{text-align:center;color:var(--quote-muted);padding:70px 15px;}
.empty-icon{width:78px;height:78px;border-radius:24px;margin:0 auto 18px;background:var(--quote-blue-soft);color:var(--quote-blue);display:flex;align-items:center;justify-content:center;font-size:34px;}
.empty-result-state h5{font-weight:900;color:var(--quote-text);}

.result-hero-card{background:radial-gradient(circle at 15% 25%,rgba(67,120,255,.35),transparent 28%),linear-gradient(135deg,#073783,#041b42);color:#fff;border-radius:18px;padding:28px;display:grid;grid-template-columns:1.45fr .72fr .9fr 1fr;gap:18px;align-items:center;box-shadow:0 18px 35px rgba(5,46,115,.22);margin-bottom:18px;}
.carrier-block{display:flex;align-items:center;gap:18px;}
.carrier-icon{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);font-size:32px;}
.carrier-block small,.hero-pill small,.total-hero small{display:block;color:rgba(255,255,255,.72);font-weight:700;text-transform:none;}
.carrier-block h2{font-size:30px;font-weight:900;margin:2px 0;letter-spacing:-.03em;}
.carrier-block span{font-weight:700;color:rgba(255,255,255,.88);} 
.hero-pill{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;}
.hero-pill i{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);font-size:18px;}
.hero-pill strong{display:block;font-size:17px;}
.total-hero{border-left:1px solid rgba(255,255,255,.30);padding-left:24px;text-align:right;}
.total-hero h1{font-size:42px;font-weight:900;margin:4px 0 8px;letter-spacing:-.04em;}
.total-hero span{display:inline-flex;align-items:center;gap:6px;background:rgba(19,185,129,.22);color:#96f2c9;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;}

.quote-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;}
.quote-kpi-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--quote-line);border-radius:16px;padding:18px;box-shadow:0 8px 22px rgba(15,27,51,.05);} 
.quote-kpi-card span{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;}
.quote-kpi-card small{display:block;color:#667085;font-weight:700;margin-bottom:2px;}
.quote-kpi-card strong{font-size:17px;font-weight:900;color:var(--quote-text);} 
.kpi-blue span{background:#eaf3ff;color:#0b76f6}.kpi-green span{background:#eafaf3;color:#0fa66d}.kpi-purple span{background:#f1ebff;color:#6d45e6}.kpi-orange span{background:#fff1e8;color:#ff7a1a}

.premium-panel{border:1px solid var(--quote-line);border-radius:16px;background:#fff;padding:16px;box-shadow:0 8px 22px rgba(15,27,51,.04);} 
.panel-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:900;color:#12213d;margin-bottom:14px;}
.panel-title i{color:#0b65de;}
.tabela-premium{border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--quote-line);border-radius:12px;}
.tabela-premium thead th{background:#f7f9fc;color:#344054;border-top:none;border-bottom:1px solid var(--quote-line);font-weight:900;padding:13px 12px;white-space:nowrap;}
.tabela-premium tbody td{border-top:1px solid var(--quote-line);padding:13px 12px;color:#344054;vertical-align:middle;white-space:nowrap;}
.tabela-premium tbody tr:first-child td{border-top:none;}
.calc-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed #dbe2ed;font-size:15px;color:#22304a;}
.calc-line strong{font-size:16px;font-weight:900;color:#0f1b33;}
.calc-subtotal{border-top:1px solid var(--quote-line);margin-top:8px;padding-top:14px;}
.calc-highlight{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;background:linear-gradient(135deg,#f5f2ff,#ffffff);border:1px solid #ded7ff;border-radius:12px;padding:14px;color:#573bd7;}
.calc-highlight span{font-weight:800;}.calc-highlight small{color:#715ee4;}.calc-highlight strong{font-size:20px;font-weight:900;}
.total-final-bar{margin-top:14px;background:linear-gradient(135deg,#075de8,#0647c8);border-radius:12px;color:#fff;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 22px rgba(8,93,232,.24);}
.total-final-bar span{font-weight:900;font-size:17px;}.total-final-bar strong{font-weight:900;font-size:27px;}
.quote-alert{border-radius:14px;border:none;box-shadow:0 8px 20px rgba(220,53,69,.12);} 

@media(max-width:1199px){.result-hero-card{grid-template-columns:1fr 1fr}.total-hero{border-left:none;text-align:left;padding-left:0}.quote-kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.quote-card-body{padding:16px}.result-hero-card{grid-template-columns:1fr;padding:22px}.carrier-icon{width:58px;height:58px;font-size:24px}.carrier-block h2{font-size:24px}.total-hero h1{font-size:34px}.quote-kpi-grid{grid-template-columns:1fr}.quote-volume-row{grid-template-columns:1fr 1fr}.btn-remove-volume{width:100%}.cotacao-page .page-title{font-size:28px}}
@media print{.main-sidebar,.main-header,.content-header,.quote-form-card,.btn-print{display:none!important}.content-wrapper{margin-left:0!important}.quote-result-card{box-shadow:none;border:0}.result-hero-card{print-color-adjust:exact;-webkit-print-color-adjust:exact}}


/* Ajuste compacto: remove o bloco grande do topo e encaixa melhor na tela */
.cotacao-page .content{
  padding-top:16px !important;
}

.cotacao-content-compact .container-fluid{
  padding-left:18px;
  padding-right:18px;
}

.quote-layout-compact{
  margin-top:0;
}

.result-header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.mini-validity-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid var(--quote-line);
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:800;
  color:#14213d;
  box-shadow:0 8px 20px rgba(15,27,51,.04);
  white-space:nowrap;
}

.mini-validity-badge i{
  color:var(--quote-blue);
}

/* deixa a tela mais baixa e evita rolagem desnecessária */
.quote-card-body{
  padding:20px;
}

.quote-form-card .row>[class*=col-]{
  margin-bottom:13px;
}

.product-search-box{
  padding:12px;
}

.result-hero-card{
  padding:24px;
  margin-bottom:14px;
}

.quote-kpi-grid{
  gap:12px;
  margin-bottom:14px;
}

.quote-kpi-card{
  padding:15px;
}

.premium-panel{
  padding:14px;
}

@media(max-width:767px){
  .quote-result-header{
    height:auto;
    min-height:58px;
    gap:10px;
    padding-top:12px;
    padding-bottom:12px;
  }
  .result-header-actions{
    justify-content:flex-start;
  }
}

/* =========================================================
   AJUSTE FINAL: resultado com a mesma altura dos dados
   ========================================================= */
@media (min-width: 992px){
  .quote-layout-row{
    align-items:flex-start;
  }

  .quote-result-card.result-height-synced{
    display:flex;
    flex-direction:column;
  }

  .quote-result-card.result-height-synced .quote-card-body{
    flex:1;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    padding:14px;
  }

  .quote-result-card.result-height-synced .quote-card-body::-webkit-scrollbar{
    width:6px;
  }

  .quote-result-card.result-height-synced .quote-card-body::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:999px;
  }
}

/* Compactação visual somente do resultado */
.quote-result-card .quote-card-header{
  height:52px;
  padding:0 18px;
}

.quote-result-card .section-icon{
  width:28px;
  height:28px;
  border-radius:9px;
}

.quote-result-card .quote-card-header strong{
  font-size:16px;
}

.quote-result-card .mini-validity-badge{
  padding:6px 10px;
  font-size:12px;
}

.quote-result-card .btn-print{
  padding:6px 11px;
  font-size:13px;
}

.quote-result-card .empty-result-state{
  padding:44px 12px;
}

.quote-result-card .empty-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  font-size:25px;
  margin-bottom:12px;
}

.quote-result-card .result-hero-card{
  padding:14px;
  border-radius:14px;
  gap:10px;
  margin-bottom:10px;
  grid-template-columns:1.35fr .65fr .75fr .85fr;
}

.quote-result-card .carrier-block{
  gap:10px;
}

.quote-result-card .carrier-icon{
  width:50px;
  height:50px;
  font-size:22px;
}

.quote-result-card .carrier-block h2{
  font-size:21px;
  line-height:1.1;
  margin:1px 0;
}

.quote-result-card .carrier-block span,
.quote-result-card .carrier-block small,
.quote-result-card .hero-pill small,
.quote-result-card .total-hero small{
  font-size:11px;
}

.quote-result-card .hero-pill{
  gap:8px;
  border-radius:13px;
  padding:10px;
}

.quote-result-card .hero-pill i{
  width:32px;
  height:32px;
  font-size:14px;
}

.quote-result-card .hero-pill strong{
  font-size:14px;
}

.quote-result-card .total-hero{
  padding-left:14px;
}

.quote-result-card .total-hero h1{
  font-size:28px;
  margin:2px 0 5px;
}

.quote-result-card .total-hero span{
  padding:5px 8px;
  font-size:10px;
}

.quote-result-card .quote-kpi-grid{
  gap:8px;
  margin-bottom:10px;
}

.quote-result-card .quote-kpi-card{
  padding:10px;
  border-radius:13px;
  gap:9px;
}

.quote-result-card .quote-kpi-card span{
  width:34px;
  height:34px;
  font-size:15px;
  flex:0 0 34px;
}

.quote-result-card .quote-kpi-card small{
  font-size:11px;
  margin-bottom:0;
}

.quote-result-card .quote-kpi-card strong{
  font-size:13px;
  line-height:1.15;
}

.quote-result-card .premium-panel{
  padding:10px;
  border-radius:13px;
}

.quote-result-card .premium-panel.mb-3,
.quote-result-card .row .mb-3{
  margin-bottom:10px !important;
}

.quote-result-card .panel-title{
  font-size:13px;
  gap:7px;
  margin-bottom:8px;
}

.quote-result-card .tabela-premium{
  border-radius:10px;
  font-size:12px;
}

.quote-result-card .tabela-premium thead th{
  padding:7px 8px;
  font-size:11px;
}

.quote-result-card .tabela-premium tbody td{
  padding:7px 8px;
  font-size:12px;
}

.quote-result-card .calc-line{
  padding:6px 0;
  font-size:12px;
  gap:8px;
}

.quote-result-card .calc-line strong{
  font-size:13px;
}

.quote-result-card .calc-subtotal{
  margin-top:4px;
  padding-top:8px;
}

.quote-result-card .calc-highlight{
  margin-top:8px;
  padding:9px;
  border-radius:10px;
}

.quote-result-card .calc-highlight span{
  font-size:12px;
}

.quote-result-card .calc-highlight small{
  display:block;
  font-size:10px;
}

.quote-result-card .calc-highlight strong{
  font-size:15px;
  white-space:nowrap;
}

.quote-result-card .total-final-bar{
  margin-top:8px;
  padding:10px 12px;
  border-radius:10px;
}

.quote-result-card .total-final-bar span{
  font-size:13px;
}

.quote-result-card .total-final-bar strong{
  font-size:20px;
}

@media(max-width:1199px){
  .quote-result-card .result-hero-card{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:767px){
  .quote-result-card .quote-card-body{
    padding:14px;
  }

  .quote-result-card .result-hero-card{
    grid-template-columns:1fr;
    padding:16px;
  }

  .quote-result-card .total-hero{
    padding-left:0;
  }
}
