/* =========================================================
   FRETE+PRO 3.7.7 - IDENTIDADE FENO VISUAL
   Camada final única para toda a área administrativa.
   Referência: linguagem institucional, agrícola, clara e compacta.
========================================================= */
:root{
  color-scheme:light;
  --fv-bg:#f6f4ee;
  --fv-surface:#ffffff;
  --fv-surface-2:#fbfaf6;
  --fv-border:#ddd9cf;
  --fv-border-2:#cfc9bd;
  --fv-text:#232823;
  --fv-text-2:#4d554d;
  --fv-muted:#737b73;
  --fv-green:#53673f;
  --fv-green-2:#657a4d;
  --fv-green-soft:#edf1e8;
  --fv-hay:#c6a85d;
  --fv-hay-2:#a98c45;
  --fv-hay-soft:#f7f0df;
  --fv-danger:#a84d4d;
  --fv-danger-soft:#fbefef;
  --fv-success:#4f7a59;
  --fv-success-soft:#edf5ef;
  --fv-charcoal:#292d29;
  --fv-sidebar:#fff;
  --fv-shadow:0 3px 14px rgba(47,51,45,.06);
  --fv-radius:10px;
}

*{box-sizing:border-box}
html,body{background:var(--fv-bg)!important;color:var(--fv-text)!important;color-scheme:light!important}
body,.app,.main,.content,.central-frete{background:var(--fv-bg)!important;color:var(--fv-text)!important}
body,button,input,select,textarea,table{
  font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:optimizeLegibility!important;
}
body{font-size:14px!important;line-height:1.46!important}
button,input,select,textarea{font-size:14px!important}

/* LAYOUT PRINCIPAL */
.app{display:grid!important;grid-template-columns:222px minmax(0,1fr)!important;min-height:100vh!important}
.main{min-width:0!important;width:auto!important;margin:0!important}
.content{padding:20px 22px 30px!important;max-width:none!important}

/* SIDEBAR: clara, enxuta, inspirada no menu institucional da Feno Visual */
.sidebar{
  position:sticky!important;top:0!important;height:100vh!important;width:222px!important;
  padding:14px 12px!important;background:var(--fv-sidebar)!important;
  border-right:1px solid var(--fv-border)!important;box-shadow:none!important;overflow-y:auto!important
}
.logo{
  height:58px!important;min-height:58px!important;margin:0 0 12px!important;padding:6px 8px 12px!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;
  border-bottom:1px solid #ece9e1!important
}
.logo img{width:34px!important;height:34px!important;object-fit:contain!important;flex:0 0 34px!important;border-radius:7px!important;box-shadow:none!important}
.logo .brand-copy{
  display:flex!important;align-items:center!important;white-space:nowrap!important;color:var(--fv-charcoal)!important;
  font-size:18px!important;font-weight:800!important;line-height:1!important;letter-spacing:-.02em!important
}
.logo-plus{color:var(--fv-green)!important;margin:0 1px!important}
.logo-pro{
  display:inline-flex!important;align-items:center!important;margin-left:5px!important;padding:3px 6px!important;
  border-radius:5px!important;background:var(--fv-hay)!important;color:#27251f!important;border:0!important;
  font-size:10px!important;font-weight:900!important;letter-spacing:.04em!important;box-shadow:none!important
}
.sidebar nav{display:flex!important;flex-direction:column!important;gap:2px!important}
.menu-item{
  width:100%!important;min-height:38px!important;padding:8px 9px!important;border:0!important;border-radius:6px!important;
  display:flex!important;align-items:center!important;gap:9px!important;background:transparent!important;
  color:#505750!important;font-size:13px!important;font-weight:600!important;text-align:left!important;box-shadow:none!important
}
.menu-item svg{width:17px!important;height:17px!important;stroke:#747b73!important;stroke-width:1.8!important}
.menu-item:hover{background:#f4f2ec!important;color:var(--fv-charcoal)!important}
.menu-item.active{
  background:var(--fv-green-soft)!important;color:#31412d!important;font-weight:750!important;
  box-shadow:inset 3px 0 0 var(--fv-green)!important
}
.menu-item.active svg{stroke:var(--fv-green)!important}
.menu-separador{height:1px!important;background:#ece9e1!important;margin:8px 4px!important;border:0!important}

/* CABEÇALHOS */
.topbar,.frete-header,.central-header,.page-header{
  min-height:70px!important;padding:13px 22px!important;background:#fff!important;color:var(--fv-text)!important;
  border-bottom:1px solid var(--fv-border)!important;box-shadow:none!important
}
.topbar h1,.frete-header h1,.central-header h1,.page-header h1{
  margin:0!important;color:var(--fv-text)!important;font-size:25px!important;font-weight:750!important;line-height:1.12!important;letter-spacing:-.02em!important
}
.topbar p,.frete-header p,.central-header p,.page-header p{
  margin:3px 0 0!important;color:var(--fv-muted)!important;font-size:12.5px!important;font-weight:500!important
}
.dashboard-date,.system-online{
  background:#fff!important;color:#525a52!important;border:1px solid var(--fv-border)!important;border-radius:8px!important;box-shadow:none!important
}
.user-avatar{background:var(--fv-green)!important;color:white!important;box-shadow:none!important}
.user strong{color:var(--fv-text)!important}.user small{color:var(--fv-muted)!important}

/* TIPOGRAFIA */
h1,h2,h3,h4,h5,h6{color:var(--fv-text)!important;font-family:inherit!important}
.content h2,.painel-titulo h2,.section-header h2{font-size:17px!important;font-weight:750!important;line-height:1.25!important;letter-spacing:-.01em!important}
.content h3{font-size:15px!important;font-weight:750!important}.content h4{font-size:14px!important;font-weight:700!important}
p{color:var(--fv-text-2)!important}
small,.campo small,.pro-note{color:var(--fv-muted)!important;opacity:1!important;font-size:12px!important;line-height:1.4!important}
label,.campo label,.filtro-grupo label{color:#303630!important;font-size:13px!important;font-weight:700!important}
strong{color:inherit!important;font-weight:750!important}

/* PAINÉIS, CARDS E BOXES: branco, sem azul escuro */
.painel,.section-card,.form-card,.dashboard-card,.dashboard3-card,.relatorio-painel,.rota-dashboard-card,
.transporte-resumo-grid article,.transporte-resumo-card,.table-container,.pro-card,.transporte-fluxo-box,
.log-panel,.fin-card,.rep-card,.representante-card,.cliente-card,.motorista-card,.veiculo-card,
.rastreamento-card,.nfe-card,.posvenda-card,.comprovacao-card,[class*="-painel"]{
  background:var(--fv-surface)!important;color:var(--fv-text)!important;border:1px solid var(--fv-border)!important;
  border-radius:var(--fv-radius)!important;box-shadow:var(--fv-shadow)!important
}
.painel{padding:20px!important;margin-bottom:16px!important}.painel-titulo{margin-bottom:16px!important}
.section-header{margin-bottom:12px!important}.section-header p,.painel-titulo p{color:var(--fv-muted)!important}

.cards,.transporte-dashboard-cards{gap:9px!important}
.card{
  min-height:82px!important;padding:12px 13px!important;background:#fff!important;color:var(--fv-text)!important;
  border:1px solid var(--fv-border)!important;border-left:3px solid #aaa79e!important;border-radius:9px!important;
  box-shadow:var(--fv-shadow)!important
}
.card:hover{transform:translateY(-1px)!important;border-color:var(--fv-border-2)!important;box-shadow:0 5px 16px rgba(47,51,45,.08)!important}
.card p{color:#596159!important;font-size:11.5px!important;font-weight:650!important;margin:0 0 4px!important}
.card h2{color:#222722!important;font-size:23px!important;font-weight:800!important;line-height:1!important;margin:0!important}
.card-icon{width:34px!important;height:34px!important;border-radius:8px!important;background:#f1efe9!important;color:#5e655e!important;box-shadow:none!important}
#cardAguardandoCarregamento{background:var(--fv-hay-soft)!important;border-color:#eadfbe!important;border-left-color:var(--fv-hay-2)!important}
#cardCarregando{background:#f7efe5!important;border-color:#eadac8!important;border-left-color:#b57b43!important}
#cardEntregues{background:var(--fv-success-soft)!important;border-color:#d5e5d9!important;border-left-color:var(--fv-success)!important}
#cardPosVenda{background:var(--fv-danger-soft)!important;border-color:#ebd6d6!important;border-left-color:var(--fv-danger)!important}

/* BLOCOS DE INFORMAÇÃO */
.info-grid{gap:10px!important}
.info-item,.pro-antt-resumo>div,.antt-resumo>div,.log-kpis article,.transporte-resumo-grid article{
  background:var(--fv-surface-2)!important;color:var(--fv-text)!important;border:1px solid var(--fv-border)!important;
  border-radius:8px!important;padding:11px 12px!important;box-shadow:none!important
}
.info-item{min-height:64px!important}
.info-item span,.info-item small,.transporte-resumo-grid small,.log-kpis small{display:block!important;color:var(--fv-muted)!important;font-size:11.5px!important;font-weight:600!important;margin-bottom:4px!important}
.info-item strong,.transporte-resumo-grid strong,.log-kpis strong{display:block!important;color:var(--fv-text)!important;font-size:14px!important;font-weight:750!important;line-height:1.3!important}

/* FORMULÁRIOS: contraste real */
.form-grid{gap:14px 16px!important}.campo{gap:6px!important;margin-bottom:12px!important}
html body input:not([type="checkbox"]):not([type="radio"]),html body select,html body textarea,
.campo input,.campo select,.campo textarea,.pro-form input,.pro-form select,.pro-form textarea,
.rep-mobile-filtros input,.rep-mobile-filtros select{
  background:#fff!important;color:#1f241f!important;-webkit-text-fill-color:#1f241f!important;
  border:1px solid #c9c5bb!important;border-radius:7px!important;box-shadow:none!important;outline:none!important;opacity:1!important
}
html body input:not([type="checkbox"]):not([type="radio"]),html body select{height:42px!important;padding:0 11px!important}
html body textarea{min-height:92px!important;padding:10px 11px!important;resize:vertical!important}
html body input::placeholder,html body textarea::placeholder{color:#8a9089!important;-webkit-text-fill-color:#8a9089!important;opacity:1!important}
html body input:focus,html body select:focus,html body textarea:focus{
  background:#fff!important;color:#1f241f!important;-webkit-text-fill-color:#1f241f!important;
  border-color:var(--fv-green-2)!important;box-shadow:0 0 0 3px rgba(83,103,63,.11)!important
}
html body input[readonly],html body input:disabled,html body select:disabled,html body textarea:disabled{
  background:#f0eee8!important;color:#606760!important;-webkit-text-fill-color:#606760!important;opacity:1!important
}
input[type="datetime-local"],input[type="date"],input[type="time"]{color-scheme:light!important}

.pro-search-register{grid-template-columns:minmax(0,1fr) 42px!important;gap:7px!important}
.pro-search-button{height:42px!important;min-width:42px!important;padding:0!important;background:var(--fv-green)!important;color:white!important;border:1px solid var(--fv-green)!important}
.pro-search-results{background:#fff!important;color:var(--fv-text)!important;border:1px solid var(--fv-border)!important;box-shadow:0 8px 24px rgba(45,50,45,.12)!important}
.pro-search-result{background:transparent!important;color:var(--fv-text)!important}.pro-search-result:hover{background:var(--fv-green-soft)!important}

/* BOTÕES */
.btn-primary,.btn-secondary,.btn-danger,.btn-abrir,.btn-route,.btn-map,.btn-cancelar,.btn-voltar,
button[class*="btn-"]{
  min-height:40px!important;padding:9px 13px!important;border-radius:7px!important;font-size:13px!important;font-weight:700!important;box-shadow:none!important
}
.btn-primary{background:var(--fv-green)!important;color:#fff!important;border:1px solid var(--fv-green)!important}
.btn-primary:hover{background:#445636!important;border-color:#445636!important}
.btn-secondary,.btn-cancelar,.btn-voltar,.btn-abrir,.btn-map{background:#fff!important;color:#3c443c!important;border:1px solid #c9c5bb!important}
.btn-secondary:hover,.btn-cancelar:hover,.btn-voltar:hover,.btn-abrir:hover,.btn-map:hover{background:#f4f2ec!important}
.btn-danger{background:#fff!important;color:var(--fv-danger)!important;border:1px solid #d9aaaa!important}
.btn-danger:hover{background:var(--fv-danger-soft)!important}

/* TABELAS */
.table-container,.pro-table-wrap{overflow:auto!important;background:#fff!important}
table,.pro-table{width:100%!important;background:#fff!important;color:var(--fv-text)!important;border-collapse:collapse!important}
thead,tr,tbody{background:transparent!important}
th{background:#f0eee8!important;color:#3f463f!important;font-size:11.5px!important;font-weight:750!important;text-transform:none!important;letter-spacing:0!important}
th,td{padding:9px 10px!important;border-bottom:1px solid #e7e4dc!important;vertical-align:middle!important}
td{color:#3d443d!important;font-size:12.5px!important;background:#fff!important}
tbody tr:hover td{background:#faf9f5!important}

/* BADGES / STATUS */
.log-badge,.badge,.status-badge,.rep-mobile-status,.status-tag{border-radius:999px!important;box-shadow:none!important}
.pro-status,.log-badge{background:var(--fv-hay-soft)!important;color:#755f2d!important;border:1px solid #e5d6ad!important}
.pro-ok,.status-ok,.rep-mobile-status.ok{background:var(--fv-success-soft)!important;color:#386044!important}
.pro-bad,.status-erro,.rep-mobile-status.atencao{background:var(--fv-danger-soft)!important;color:#914646!important}
.pro-warn,.rep-mobile-status.andamento{background:var(--fv-hay-soft)!important;color:#79622f!important}

/* DASHBOARD / ROTA */
.rota-dashboard-grid{gap:10px!important}.rota-dashboard-card{padding:13px!important}.rota-dashboard-card h3{color:var(--fv-text)!important}.rota-dashboard-card p{color:var(--fv-text-2)!important}
.rota-dashboard-vazio,.log-empty,.rep-mobile-empty,.rep-mobile-loading{background:#faf9f5!important;color:var(--fv-muted)!important;border:1px dashed #cfc9bd!important}

/* LOGÍSTICA E RELATÓRIOS: neutraliza heranças azuis */
.log-kpis,.relatorios-grid,.dash-rankings-3{gap:10px!important}
.log-funil span,.ranking-item,.ranking-linha,.relatorio-item,.metric-card,.resumo-card{
  background:#faf9f5!important;color:var(--fv-text)!important;border-color:var(--fv-border)!important
}
.relatorio-painel,.relatorio-filtros,.relatorio-resumo,.filtro-box,.filtros-relatorio{background:#fff!important;color:var(--fv-text)!important;border-color:var(--fv-border)!important}

/* PORTAL REPRESENTANTE */
.rep-mobile-content{max-width:1180px!important}.rep-mobile-kicker{color:var(--fv-green)!important}
.rep-mobile-nova{background:var(--fv-green)!important;color:#fff!important;border:1px solid var(--fv-green)!important;box-shadow:none!important;border-radius:10px!important}
.rep-mobile-kpis button,.rep-mobile-filter-btn,.rep-mobile-frete-card,.rep-mobile-filtros{
  background:#fff!important;color:var(--fv-text)!important;border:1px solid var(--fv-border)!important;box-shadow:var(--fv-shadow)!important
}
.rep-mobile-kpis button.ativo{background:var(--fv-green-soft)!important;border-color:#b9c7ae!important;box-shadow:inset 3px 0 0 var(--fv-green)!important}
.rep-mobile-kpis span,.rep-mobile-list-head p,.rep-mobile-destino,.rep-mobile-meta span{color:var(--fv-muted)!important}
.rep-mobile-frete-card h3,.rep-mobile-meta b{color:var(--fv-text)!important}
.rep-mobile-meta span{background:#f6f4ee!important;border-color:#e2ded4!important}

/* MODAIS */
.modal,.modal-content,.dialog,.dialog-content,[role="dialog"]{background:#fff!important;color:var(--fv-text)!important;border-color:var(--fv-border)!important}

/* REMOVE GRADIENTES / FUNDOS ESCUROS RESIDUAIS MAIS COMUNS */
.content .pro-hero,.content .antt-header,.content .nfe-header,.content .fin-header{
  background:var(--fv-green)!important;color:#fff!important;border:0!important;box-shadow:none!important
}
.content .pro-hero h1,.content .pro-hero h2,.content .pro-hero h3,.content .pro-hero p,
.content .antt-header h1,.content .antt-header h2,.content .antt-header p{color:#fff!important}

/* CENTRAL DO FRETE */
.central-frete .painel,.central-frete .info-item,.central-frete .pro-card{background:#fff!important}
.central-frete .info-item{background:#faf9f5!important}
.central-frete .painel-titulo h2{font-size:18px!important}

/* RESPONSIVIDADE */
@media(max-width:1080px){
  .app{grid-template-columns:194px minmax(0,1fr)!important}.sidebar{width:194px!important}.content{padding:18px!important}
  .menu-item{font-size:12.5px!important}.topbar{padding:12px 18px!important}
}
@media(max-width:760px){
  .app{display:block!important}.sidebar{position:sticky!important;top:0!important;width:100%!important;height:auto!important;max-height:none!important;padding:7px 8px!important;overflow-x:auto!important;overflow-y:hidden!important;border-right:0!important;border-bottom:1px solid var(--fv-border)!important;z-index:1000!important}
  .logo{display:none!important}.sidebar nav{display:flex!important;flex-direction:row!important;gap:4px!important;width:max-content!important}.menu-separador{display:none!important}
  .menu-item{width:auto!important;min-width:max-content!important;min-height:36px!important;padding:7px 9px!important}.menu-item.active{box-shadow:inset 0 -3px 0 var(--fv-green)!important}
  .content{padding:14px 10px 22px!important}.topbar,.frete-header,.central-header,.page-header{padding:11px 12px!important;min-height:62px!important}
  .topbar h1,.frete-header h1,.central-header h1,.page-header h1{font-size:21px!important}
  .form-grid,.info-grid{grid-template-columns:1fr!important}.cards,.transporte-dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:480px){.cards,.transporte-dashboard-cards{grid-template-columns:1fr!important}.content{padding:12px 8px 20px!important}}
