/* Controle de Caminhão — página dedicada compacta, independente dos formulários genéricos. */
.truck-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 15px}
.truck-toolbar h2{font-size:19px}
.truck-toolbar .secondary-text{margin-top:3px}
.truck-quick-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 17px}
.truck-quick{display:inline-flex;align-items:center;gap:9px;justify-content:center;min-height:44px;padding:10px 16px;background:#fff;border:1px solid var(--line);color:#223d51;border-radius:10px;font-weight:750}
.truck-quick .ui-icon{width:18px;height:18px}
.truck-quick:hover{background:#eaf5f0;border-color:#a0cdbd}
.truck-quick.freight{background:#e8f5ef;color:#177361;border-color:#c6e5d9}
.truck-period{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap;margin:2px 0 14px}
.truck-period label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:750}
.truck-period select{border:1px solid var(--line);background:white;border-radius:8px;min-height:36px;padding:6px 12px;color:var(--ink)}
.truck-columns{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:12px;margin-bottom:17px}
.truck-columns .panel{min-width:0}
.truck-columns .panel-header{padding:13px 15px}
.truck-columns .panel-header h3{font-size:13px}
.truck-columns .panel-body{padding:12px 16px}
.truck-columns .info-row{font-size:12px;gap:7px}
.truck-columns .info-row strong{white-space:nowrap}
.truck-note{font-size:11px;color:#658175;background:#f0f7f3;border-radius:8px;padding:10px 11px;margin-top:13px;line-height:1.55}
.truck-due{background:#eaf5ee;border-radius:8px;padding:11px!important;margin-top:8px}
.truck-ledger .panel-header{padding:13px 17px}
.truck-ledger td b{display:block}
.truck-ledger .secondary-text{display:block;margin-top:3px}
.truck-ledger td:last-child{width:150px}
.truck-empty{margin:14px;border:0;background:transparent}
.truck-ready-settings{margin-top:16px}
.truck-ready-settings .hint{margin:0 0 12px}
.truck-entry-form .truck-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#f0f4f5;border-radius:10px;padding:4px;margin-bottom:18px}
.truck-tabs button{border:0;background:transparent;color:#597486;padding:10px 4px;font-size:12px;font-weight:750;border-radius:8px}
.truck-tabs button:hover{background:#e4eeeb}
.truck-tabs button.active{background:#fff;color:#157965;box-shadow:0 1px 6px #274d3d15}
.truck-entry-form .calc-preview{margin-top:18px}
@media(max-width:1350px){.truck-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.truck-columns .panel:last-child{grid-column:1/-1}}
@media(max-width:820px){.truck-toolbar{align-items:flex-start;flex-wrap:wrap}.truck-columns{grid-template-columns:1fr}.truck-columns .panel:last-child{grid-column:auto}.truck-quick{flex:1;padding:9px 12px}}
@media(max-width:590px){.truck-quick-actions{gap:6px}.truck-quick{font-size:12px;flex:1 1 45%;min-width:130px}.truck-toolbar .actions-end{width:100%;justify-content:flex-start}.truck-tabs button{font-size:11px}}

/* Criação rápida: somente o modelo pronto fica destacado; fórmulas são opcionais. */
.truck-model-featured{grid-template-columns:minmax(0,1fr)}
.truck-model-featured .choice{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.truck-model-featured .choice .ui-icon{height:24px;width:24px;color:#0f8069}
.truck-model-featured .choice strong{margin:0}
.truck-model-featured .choice small{width:100%;padding-left:36px}
.model-advanced{margin:13px 0 0}
.model-advanced summary{font-size:12px;color:#5d7584;cursor:pointer;padding:9px 2px}
.model-advanced .wizard-choice{margin-top:8px}
.truck-ready-settings .hint{margin-bottom:14px}


/* Interface em duas abas: lançamentos no foco, analises sob demanda. */
.truck-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 15px;border-bottom:1px solid var(--line)}
.truck-tablist{display:flex;align-items:stretch;gap:20px;min-width:0}
.truck-tab{background:transparent;color:#607789;border:0;border-bottom:2px solid transparent;padding:9px 3px 12px;margin-bottom:-1px;cursor:pointer;font-size:13px;font-weight:750;white-space:nowrap}
.truck-tab:hover{color:#177d6c}
.truck-tab.active{border-bottom-color:var(--accent);color:var(--accent)}
.truck-tab:focus-visible{outline:2px solid #8ed0bd;outline-offset:2px}
.truck-adjust{margin-bottom:6px}
.truck-entries-view{display:flex;flex-direction:column;gap:13px}
.truck-fast-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.truck-fast-total{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:13px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.truck-fast-total span{color:#667b8d;font-weight:650;font-size:12px}
.truck-fast-total strong{font-size:clamp(17px,1.5vw,23px);letter-spacing:-.55px;color:#162a39;font-variant-numeric:tabular-nums;white-space:nowrap}
.truck-fast-total:first-child strong{color:#177d6c}
.truck-action-filter-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;column-gap:18px;row-gap:10px}
.truck-entries-view .truck-quick-actions{margin:0;gap:7px;flex:0 1 auto}
.truck-entries-view .truck-quick{min-height:37px;padding:8px 12px;font-size:12px;gap:7px}
.truck-entries-view .truck-quick .ui-icon{width:16px;height:16px}
.truck-month-filter{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#526779;font-weight:700;font-size:12px}
.truck-month-filter select{background:white;border:1px solid var(--line);border-radius:8px;min-height:37px;padding:6px 10px;color:var(--ink)}
.truck-entries-view .truck-ledger{margin:0}
.truck-details-filter{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.truck-details-view .truck-columns{margin-bottom:0}
@media(max-width:1050px){
 .truck-action-filter-row{align-items:flex-start;flex-direction:column;gap:10px}
 .truck-entries-view .truck-quick-actions{width:100%}
}
@media(max-width:590px){
 .truck-nav{margin-bottom:12px}
 .truck-tablist{gap:11px}
 .truck-tab{font-size:12px;padding:8px 2px 10px}
 .truck-adjust{font-size:11px;min-height:30px;padding:5px 7px}
 .truck-fast-summary{gap:7px}
 .truck-fast-total{flex-direction:column;align-items:flex-start;padding:11px 12px;gap:4px}
 .truck-fast-total strong{font-size:17px}
 .truck-entries-view{gap:10px}
 .truck-entries-view .truck-quick-actions{gap:6px}
 .truck-entries-view .truck-quick{flex:1 1 45%;padding:7px 10px;min-width:130px}
 .truck-month-filter{justify-content:flex-start}
}


/* Três painéis do Resumo detalhado, cada um com identidade discreta. */
.truck-detail-cards{align-items:stretch}
.truck-detail-card{
  --detail-accent:#187a69;
  --detail-soft:#edf7f2;
  border:1px solid var(--line);
  border-top:3px solid var(--detail-accent);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 9px 24px rgba(18,40,61,.07);
  background:#fff;
  min-width:0;
}
.truck-detail-freights{--detail-accent:#187a69;--detail-soft:#edf7f2}
.truck-detail-expenses{--detail-accent:#b47727;--detail-soft:#fbf4e8}
.truck-detail-commission{--detail-accent:#586caa;--detail-soft:#eff2fb}
.truck-detail-cards .truck-detail-header{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  background:var(--detail-soft);
  border-bottom:1px solid rgba(93,116,135,.11);
}
.truck-detail-cards .truck-detail-header h3{
  font-size:12px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.55px;
  color:#243647;
}
.truck-detail-symbol{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
  width:32px;
  height:32px;
  border-radius:9px;
  background:#fff;
  color:var(--detail-accent);
  box-shadow:0 2px 7px rgba(20,50,70,.08);
}
.truck-detail-symbol .ui-icon{width:19px;height:19px}
.truck-detail-cards .panel-body{padding:13px 17px 16px}
.truck-detail-cards .info-row{
  padding-top:10px;
  padding-bottom:10px;
}
.truck-detail-cards .info-row strong{font-weight:750}
.truck-detail-cards .truck-due{
  background:var(--detail-soft);
  color:#243647;
  border:1px solid rgba(90,110,135,.12);
}
.truck-detail-cards .truck-note{
  border-left:2px solid var(--detail-accent);
  background:var(--detail-soft);
  color:#566a71;
}
@media(max-width:820px){
  .truck-detail-cards{gap:11px}
}


/* Categorias por caminhão: somente opções administradas nos Ajustes. */
.truck-category-hint{
  display:block;
  margin-top:6px;
  color:#688293;
  font-size:11px;
  line-height:1.45;
}
#truckExpenseCategory:invalid{
  border-color:#ca6070;
}
.truck-category-settings{
  border-top:1px solid var(--line);
  margin-top:21px;
  padding-top:19px;
}
.truck-category-settings-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:12px;
}
.truck-category-settings-head h3{
  font-size:14px;
  margin:0 0 5px;
  color:var(--ink);
}
.truck-category-settings-head p{
  font-size:11px;
  color:var(--muted);
  margin:0;
  max-width:340px;
}
.truck-category-settings-head .btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}
.truck-category-settings-head .btn .ui-icon{width:15px;height:15px}
.truck-category-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
}
.truck-category-row{
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
}
.truck-category-row>input{
  min-width:0;
  flex:1;
  border-radius:8px;
}
.truck-category-remove{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:35px;
  height:37px;
  flex:0 0 35px;
  padding:7px;
  color:#9d4652;
}
.truck-category-remove .ui-icon{width:15px;height:15px}
.truck-category-remove:hover{background:#fceef0}
.truck-category-help{
  color:#698091;
  font-size:11px;
  line-height:1.55;
  margin:11px 0 0;
}
@media(max-width:590px){
  .truck-category-list{grid-template-columns:1fr}
  .truck-category-settings-head .btn{width:100%;justify-content:center}
}

/* Combobox próprio: sugestão filtrável e lista completa pela seta. */
.truck-expense-combobox{position:relative;width:100%;isolation:isolate;z-index:20}
.truck-expense-input-row{position:relative;display:flex;width:100%;align-items:stretch}
.truck-expense-input-row input{
  width:100%;min-width:0;flex:1;padding-right:45px!important;
  border-radius:9px;
}
.truck-expense-arrow{
  position:absolute;right:3px;top:3px;bottom:3px;width:38px;
  display:inline-flex;align-items:center;justify-content:center;
  border:0;border-left:1px solid transparent;border-radius:7px;
  color:#536b7c;background:transparent;cursor:pointer;
}
.truck-expense-arrow:hover,.truck-expense-arrow[aria-expanded="true"]{
  background:#edf6f3;color:#147a65;
}
.truck-expense-arrow .ui-icon{width:18px;height:18px}
.truck-expense-arrow[aria-expanded="true"] .ui-icon{transform:rotate(180deg)}
.truck-expense-options{
  position:absolute;left:0;right:0;top:calc(100% + 5px);
  z-index:110;padding:6px;max-height:220px;overflow-y:auto;overscroll-behavior:contain;
  background:#fff;border:1px solid #d2e1e6;border-radius:11px;
  box-shadow:0 14px 32px rgba(18,40,61,.20);
}
.truck-expense-options[hidden]{display:none!important}
.truck-expense-option{
  display:block;width:100%;min-height:39px;padding:9px 12px;
  border:0;border-radius:7px;background:transparent;
  color:#223b4e;font-size:13px;font-weight:600;
  text-align:left;cursor:pointer;
}
.truck-expense-option:hover,.truck-expense-option.active,
.truck-expense-option[aria-selected="true"]{
  color:#126b59;background:#eaf5ef;
}
.truck-expense-no-match{padding:13px 12px;font-size:12px;color:#768995}
.truck-entry-form .form-grid>.field:has(.truck-expense-combobox){position:relative;z-index:22}
.truck-entry-form .form-grid>.field:has(.truck-expense-combobox) .truck-category-hint{
  font-size:10px;line-height:1.5;
}

/* Quantidade de lançamentos por tipo/categoria no CHAVE ERRADA. */
.truck-detail-cards .truck-category-row-summary{
  gap:12px;
}
.truck-detail-cards .truck-category-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 9px;
  min-width:0;
  overflow-wrap:anywhere;
}
.truck-detail-cards .truck-category-count{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  color:var(--detail-accent);
  background:var(--detail-soft);
  border-radius:6px;
  padding:3px 7px;
  font-size:10px;
  font-weight:750;
}
.truck-detail-cards .truck-category-row-summary>strong{
  margin-left:auto;
  flex:none;
  white-space:nowrap;
}
