/* =========================================================
   FRETE+PRO 4.3.3.87 - REPAGINADA GERAL FENO VISUAL
   Nova identidade visual inspirada no manual/apresentação.
   Paleta: verde oliva, verde musgo, bege claro e dourado suave.
========================================================= */
:root{
  --fv-bg:#f5f1e8;
  --fv-surface:#fffdf8;
  --fv-surface-2:#faf6ee;
  --fv-border:#ddd6c7;
  --fv-border-2:#cfc6b3;
  --fv-text:#243024;
  --fv-text-2:#566254;
  --fv-muted:#6f786b;
  --fv-green-dark:#24351f;
  --fv-green:#53673f;
  --fv-green-2:#657b4e;
  --fv-green-3:#7a9360;
  --fv-green-soft:#ebf0e3;
  --fv-gold:#b49a5b;
  --fv-gold-2:#ceb77b;
  --fv-gold-soft:#f4ecda;
  --fv-danger:#a84d4d;
  --fv-danger-soft:#fbefef;
  --fv-success:#4f7a59;
  --fv-success-soft:#edf5ef;
  --fv-shadow:0 10px 30px rgba(44,54,38,.08);
  --fv-radius:14px;
}
html,body{background:var(--fv-bg)!important;color:var(--fv-text)!important}
a,[role="link"],.link,.link-btn{color:var(--fv-green)!important}
a:hover,[role="link"]:hover,.link:hover,.link-btn:hover{color:var(--fv-green-dark)!important}
::selection{background:rgba(101,123,78,.22);color:var(--fv-text)}

/* ---------- ÁREA ADMINISTRATIVA ---------- */
.app,.main,.content,.central-frete{background:var(--fv-bg)!important}
.sidebar{
  background:linear-gradient(180deg,#24351f 0%, #30452a 35%, #48613b 100%)!important;
  border-right:0!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset, 10px 0 32px rgba(31,43,27,.12)!important;
}
.logo{
  height:auto!important; min-height:118px!important; margin:0 0 16px!important;
  padding:6px 4px 16px!important; border-bottom:1px solid rgba(255,255,255,.12)!important;
  display:flex!important; flex-direction:column!important; align-items:flex-start!important; justify-content:flex-start!important; gap:8px!important;
  overflow:hidden!important;
}
.logo img{border-radius:0!important; box-shadow:none!important}
.logo .brand-fv-full{width:min(148px,100%)!important;height:auto!important;max-width:100%!important;object-fit:contain!important;display:block!important}
.logo .brand-powered{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;width:100%!important}
.logo .brand-powered-label{font-size:10px!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:rgba(245,248,240,.72)!important}
.logo .brand-powered img{width:min(118px,100%)!important;height:auto!important;max-width:100%!important;object-fit:contain!important;display:block!important}
.sidebar nav{gap:4px!important; margin-top:6px!important}
.menu-item{
  color:rgba(255,255,255,.86)!important;
  background:transparent!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
}
.menu-item span{color:inherit!important}
.menu-item svg{stroke:rgba(255,255,255,.78)!important}
.menu-item:hover{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.05)!important}
.menu-item.active{
  background:rgba(255,255,255,.13)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:inset 3px 0 0 var(--fv-gold), 0 8px 24px rgba(0,0,0,.08)!important;
}
.menu-item.active svg{stroke:#f7f2e6!important}
.menu-separador{background:rgba(255,255,255,.12)!important}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18)!important}

.topbar,.frete-header,.central-header,.page-header{
  background:#fbf8f1!important;
  border-bottom:1px solid var(--fv-border)!important;
}
.user-avatar,.avatar,.topbar .avatar{
  background:linear-gradient(135deg,var(--fv-green),var(--fv-green-2))!important;
  color:#fff!important;
}

.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,.modal-conteudo,.modal-content,
[class*="-painel"],.card,.box,.kanban-coluna,.kanban-card,.status-card{
  background:var(--fv-surface)!important;
  border:1px solid var(--fv-border)!important;
  border-radius:var(--fv-radius)!important;
  box-shadow:var(--fv-shadow)!important;
}

/* Botões e ações */
button, .btn, .button, input[type="button"], input[type="submit"], input[type="reset"], .acao-btn, .action-btn{
  border-radius:12px!important;
}
.btn-primary,.primary,.btn-salvar,.btn-success,.btn-confirmar,.btn-enviar,.btn-analisar,
button.primary,button.btn-primary,input[type="submit"],.btn-verde,.pro-btn-primary,.whatsapp-share-btn{
  background:linear-gradient(135deg,var(--fv-green),var(--fv-green-2))!important;
  color:#fff!important;
  border:1px solid rgba(60,79,46,.18)!important;
  box-shadow:0 10px 22px rgba(83,103,63,.18)!important;
}
.btn-primary:hover,.primary:hover,.btn-salvar:hover,.btn-success:hover,.btn-confirmar:hover,.btn-enviar:hover,.btn-analisar:hover,
button.primary:hover,button.btn-primary:hover,input[type="submit"]:hover,.btn-verde:hover,.pro-btn-primary:hover,.whatsapp-share-btn:hover{
  filter:brightness(.98)!important;
}
.btn-secondary,.secondary,.btn-cancelar,.btn-outline,.outline,.btn-neutro,button.secondary{
  background:#fff!important;
  color:var(--fv-green-dark)!important;
  border:1px solid var(--fv-border)!important;
  box-shadow:none!important;
}
.btn-danger,.danger,.btn-excluir,.btn-vermelho,button.danger{
  background:var(--fv-danger-soft)!important;
  color:var(--fv-danger)!important;
  border:1px solid rgba(168,77,77,.18)!important;
  box-shadow:none!important;
}

input,select,textarea{
  background:#fff!important;
  border:1px solid var(--fv-border)!important;
  border-radius:12px!important;
  color:var(--fv-text)!important;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--fv-green-2)!important;
  box-shadow:0 0 0 4px rgba(101,123,78,.12)!important;
  outline:none!important;
}
input::placeholder,textarea::placeholder{color:#8a9185!important}

.table-container table thead th,
.table thead th,
table thead th{
  background:var(--fv-surface-2)!important;
  color:var(--fv-green-dark)!important;
  border-bottom:1px solid var(--fv-border)!important;
}
.table tbody tr:hover,table tbody tr:hover{background:#faf7f0!important}

.badge,.chip,.tag,.pill,.status-chip,.status-pill,[class*="status-"]{
  border-radius:999px!important;
}
.badge-primary,.chip-primary,.status-primary,.pill-primary{
  background:var(--fv-green-soft)!important;
  color:var(--fv-green-dark)!important;
  border:1px solid rgba(83,103,63,.15)!important;
}
.badge-warning,.chip-warning,.status-warning,.pill-warning{
  background:var(--fv-gold-soft)!important;
  color:#735d2e!important;
  border:1px solid rgba(180,154,91,.16)!important;
}
.badge-info,.chip-info,.status-info,.pill-info{
  background:#eef3ea!important;
  color:#495d3e!important;
  border:1px solid rgba(83,103,63,.14)!important;
}

/* Barras, tabs e destaques */
.tab-btn.active,.aba.active,.filtro-ativo,.chip.selected,.tag.selected{
  background:var(--fv-green-soft)!important;
  color:var(--fv-green-dark)!important;
  border-color:rgba(83,103,63,.16)!important;
}
.progress-bar,.progresso-fill,.bar-fill{background:linear-gradient(90deg,var(--fv-green-3),var(--fv-green))!important}
hr{border-color:var(--fv-border)!important}

/* ---------- LOGIN / AUTENTICAÇÃO ---------- */
.auth-frete-mais{
  background:radial-gradient(circle at top left, rgba(180,154,91,.18), transparent 34%), linear-gradient(180deg,#f5f1e8 0%, #efe9dd 100%)!important;
}
.auth-card{
  border:1px solid var(--fv-border)!important;
  border-radius:22px!important;
  box-shadow:0 22px 60px rgba(44,54,38,.10)!important;
}
.auth-logo{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important
}
.auth-logo-icone{display:none!important}
.auth-logo .auth-brand-fv{width:min(260px,100%)!important;height:auto!important;display:block!important}
.auth-logo .auth-powered{display:flex!important;flex-direction:column!important;gap:6px!important}
.auth-logo .auth-powered-label{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.18em!important;color:var(--fv-muted)!important;font-weight:800!important}
.auth-logo .auth-powered-logo{width:170px!important;max-width:100%!important;height:auto!important;display:block!important}
.auth-logo h1{display:none!important}
.auth-logo p{margin:0!important;color:var(--fv-text-2)!important}

/* ---------- CADASTRO PÚBLICO ---------- */
.cadastro-publico-card{
  border:1px solid var(--fv-border)!important;
  border-radius:24px!important;
  box-shadow:0 22px 60px rgba(44,54,38,.10)!important;
}
.cadastro-publico-header{
  align-items:flex-start!important;
}
.cadastro-publico-logo{display:none!important}
.cadastro-publico-header .brand-stack-publico{display:flex!important;flex-direction:column!important;gap:10px!important;margin-bottom:4px!important}
.cadastro-publico-header .brand-stack-publico img.brand-fv-full{width:min(260px,100%)!important;height:auto!important}
.cadastro-publico-header .brand-stack-publico .brand-powered-publico{display:flex!important;flex-direction:column!important;gap:5px!important}
.cadastro-publico-header .brand-stack-publico .brand-powered-publico span{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.16em!important;color:var(--fv-muted)!important;font-weight:800!important}
.cadastro-publico-header .brand-stack-publico .brand-powered-publico img{width:170px!important;max-width:100%!important;height:auto!important}
.cadastro-kicker{color:var(--fv-green)!important}

/* ---------- PORTAL DO MOTORISTA / ACEITE ---------- */
.entrega-header,.aceite-topo{
  background:linear-gradient(135deg,#24351f 0%, #4d6640 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 16px 34px rgba(36,53,31,.18)!important;
}
.entrega-header *, .aceite-topo *{color:inherit!important}
.entrega-header .entrega-header-conteudo,
.aceite-topo{max-width:1180px!important;margin:0 auto!important}
.entrega-logo,.aceite-logo{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important
}
.entrega-logo .brand-fv-full,.aceite-logo .brand-fv-full{width:min(220px,100%)!important;height:auto!important;display:block!important}
.entrega-logo .brand-powered,.aceite-logo .brand-powered{display:flex!important;flex-direction:column!important;gap:4px!important}
.entrega-logo .brand-powered-label,.aceite-logo .brand-powered-label{font-size:10px!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:rgba(247,242,230,.75)!important;font-weight:800!important}
.entrega-logo .brand-powered img,.aceite-logo .brand-powered img{width:145px!important;max-width:100%!important;height:auto!important;display:block!important}
.entrega-logo span,.entrega-logo-textos,.aceite-logo span,.aceite-logo-texto,
.entrega-empresa-frete,.aceite-logo-feno-wrap{display:none!important}
.entrega-seguranca,.aceite-seguro{color:#f2ead7!important;font-weight:700!important}

/* Footer/brand para páginas públicas */
.entrega-main,.aceite-main{background:var(--fv-bg)!important}
.entrega-card,.aceite-card,.mobile-step,.gps-modal-card{border:1px solid var(--fv-border)!important;border-radius:18px!important;box-shadow:var(--fv-shadow)!important}



/* ---------- BALANÇA / ESTEIRA ---------- */
.balanca-324 .balanca-etapas{
  gap:12px!important;
  margin-bottom:18px!important;
}
.balanca-324 .balanca-etapa{
  background:linear-gradient(180deg,#fffdf9 0%, #f5efe2 100%)!important;
  border:1px solid var(--fv-border)!important;
  border-radius:16px!important;
  box-shadow:var(--fv-shadow)!important;
}
.balanca-324 .balanca-etapa span{
  background:linear-gradient(135deg,var(--fv-green-dark),var(--fv-green))!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(36,53,31,.18)!important;
}
.balanca-324 .balanca-etapa b{
  color:var(--fv-green-dark)!important;
  font-size:14px!important;
}
.balanca-324 .balanca-etapa small{
  color:var(--fv-muted)!important;
  opacity:1!important;
}
.balanca-324 .balanca-cards .card{
  background:var(--fv-surface)!important;
  border:1px solid var(--fv-border)!important;
  border-radius:16px!important;
  box-shadow:var(--fv-shadow)!important;
}
.balanca-324 .balanca-cards .card .card-icon{
  background:var(--fv-green-soft)!important;
  color:var(--fv-green-dark)!important;
}
.balanca-324 .balanca-status{
  background:var(--fv-gold-soft)!important;
  color:#735d2e!important;
  border:1px solid rgba(180,154,91,.16)!important;
}

/* ---------- Resíduos azuis antigos ---------- */
[class*="blue"], [class*="azul"]{color:var(--fv-green)!important;border-color:rgba(83,103,63,.18)!important}
svg[stroke="#53673f"], svg[stroke="#53673f"], svg[stroke="#657b4e"]{stroke:var(--fv-green)!important}

@media (max-width: 768px){
  .logo .brand-fv-full{width:138px!important}
  .logo .brand-powered img{width:124px!important}
  .auth-logo .auth-brand-fv,.cadastro-publico-header .brand-stack-publico img.brand-fv-full{width:min(220px,100%)!important}
}

/* =========================================================
   PENTE-FINO 4.3.3.88 - REMOÇÃO DEFINITIVA DE RESÍDUOS AZUIS
========================================================= */
/* Representante mobile: mesma linguagem clara da apresentação */
.rep-mobile-content{color:var(--fv-text)!important}
.rep-mobile-kicker{color:var(--fv-green)!important}
.rep-mobile-nova{
  border:1px solid rgba(83,103,63,.22)!important;
  background:linear-gradient(135deg,var(--fv-green-dark),var(--fv-green-2))!important;
  color:#fff!important;
  box-shadow:0 14px 32px rgba(83,103,63,.16)!important;
}
.rep-mobile-kpis button,.rep-mobile-filter-btn,.rep-mobile-filtros,.rep-mobile-frete-card,.rep-mobile-empty,.rep-mobile-loading{
  background:var(--fv-surface)!important;color:var(--fv-text)!important;border-color:var(--fv-border)!important;
}
.rep-mobile-kpis button.ativo{border-color:var(--fv-green)!important;box-shadow:0 0 0 3px rgba(83,103,63,.10)!important}
.rep-mobile-kpis span,.rep-mobile-list-head p,.rep-mobile-meta span,.rep-mobile-empty,.rep-mobile-loading{color:var(--fv-muted)!important}
.rep-mobile-filtros input,.rep-mobile-filtros select{background:#fff!important;color:var(--fv-text)!important;border-color:var(--fv-border)!important}
.rep-mobile-frete-card h3,.rep-mobile-meta b{color:var(--fv-text)!important}
.rep-mobile-pedido,.rep-mobile-destino small{color:var(--fv-green)!important}
.rep-mobile-destino{color:var(--fv-text-2)!important}
.rep-mobile-meta span{background:var(--fv-surface-2)!important;border-color:var(--fv-border)!important}
.rep-mobile-status{background:var(--fv-green-soft)!important;color:var(--fv-green-dark)!important}
.rep-mobile-status.andamento{background:var(--fv-green-soft)!important;color:var(--fv-green)!important}
.rep-wizard-dot{background:var(--fv-surface-2)!important;color:var(--fv-muted)!important;border:1px solid var(--fv-border)!important}
.rep-wizard-dot.ativo{background:var(--fv-green)!important;color:#fff!important;border-color:var(--fv-green)!important}

/* Notificações e infos agora usam verde, não azul */
.frete-notificacoes-acoes button,.frete-toast-texto button{color:var(--fv-green)!important}
.frete-toast.info{border-left-color:var(--fv-green)!important}

/* Portal motorista */
.entrega-offline-banner.pendente{background:var(--fv-green-soft)!important;color:var(--fv-green-dark)!important;border-color:#cbd8c3!important}
.entrega-passos .ativo,.entrega-step.ativo,.entrega-status-atual,.entrega-btn-primary{border-color:var(--fv-green)!important;background:var(--fv-green)!important;color:#fff!important}

/* Links e ícones de informação */
.info-link,.nfe-link,.comprovacao-link,.posvenda-link,.relatorios-link{color:var(--fv-green)!important}

/* Qualquer foco visual herdado */
*:focus-visible{outline-color:var(--fv-gold)!important}
