/* Estrutura geral, navegação e cabeçalho */
* {
  box-sizing: border-box;
}

.vinculos-import-panel,
#viewVinculos > .table-panel {
  margin-bottom: 20px;
}

.vinculos-import-controls {
  display: grid;
  gap: 16px;
}

.vinculos-mapeamentos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  border-top: 1px solid #dfe8de;
  padding-top: 16px;
}

.vinculos-mapeamentos h3 {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 1rem;
}

.vinculos-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#viewVinculos .table-wrap {
  max-height: 55vh;
  overflow: auto;
}

#viewVinculos table {
  min-width: 760px;
}

body {
  margin: 0;
  font-family: "Trebuchet MS", Arial, sans-serif;
  background: linear-gradient(135deg, #eef4ec 0%, #f7faf6 52%, #e9f1e8 100%);
  color: #1f2a1f;
}

button, input, select {
  font: menu;
}

.agricola-page {
  min-width: 0;
  padding: 28px clamp(20px, 4vw, 52px) 48px;
  overflow: hidden;
}

.app-shell {
  display: grid;
  grid-template-columns: 265px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  display: flex;
  flex-direction: column;
  padding: 28px 18px 20px;
  background: #173b2b;
  color: #f5faf4;
}

.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 10px 34px;
}

.sidebar-brand strong,
.sidebar-brand small {
  display: block;
}

.sidebar-brand strong { font-size: 1.15rem; }
.sidebar-brand small { margin-top: 4px; color: #a9c6ae; font-size: .76rem; }

.sidebar-brand-logo { display: block; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 8px; object-fit: contain; }

.nav-label, .eyebrow {
  margin: 0 0 10px;
  color: #66826a;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.sidebar .nav-label { padding: 0 12px; color: #8eae96; }
.sidebar-nav { display: grid; gap: 7px; }

.nav-button, .sidebar-action {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  border: 0;
  border-radius: 9px;
  padding: 12px;
  color: #d9e9da;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.nav-button:hover, .nav-button.active { background: #2c6245; color: #fff; }
.nav-icon { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; font-size: .82rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.24), inset 0 -2px 0 rgba(0,0,0,.13), 0 2px 5px rgba(0,0,0,.16); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.nav-icon i { filter: drop-shadow(0 1px 1px rgba(0,0,0,.28)); }
.nav-button:hover .nav-icon, .nav-button.active .nav-icon, .nav-subitem:hover .nav-icon, .nav-subitem.active .nav-icon { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), inset 0 -2px 0 rgba(0,0,0,.13), 0 4px 8px rgba(0,0,0,.2); filter: brightness(1.08); }
.nav-icon--dashboard { color: #a8d7ff; background: linear-gradient(145deg, #32648c, #1d405f); }
.nav-icon--registrations { color: #a9efc3; background: linear-gradient(145deg, #367451, #214a34); }
.nav-icon--activities { color: #d0c4ff; background: linear-gradient(145deg, #5c518b, #39335f); }
.nav-icon--farm, .nav-icon--plots { color: #c6ed91; background: linear-gradient(145deg, #506f3e, #304a29); }
.nav-icon--supplier { color: #ffda8b; background: linear-gradient(145deg, #806538, #584322); }
.nav-icon--employees { color: #9ce9e0; background: linear-gradient(145deg, #34736c, #214943); }
.nav-icon--roles { color: #e2c4ff; background: linear-gradient(145deg, #684e83, #47345d); }
.nav-icon--machinery { color: #ffd19a; background: linear-gradient(145deg, #805a38, #593b26); }
.nav-icon--services { color: #c2dcf0; background: linear-gradient(145deg, #4d6c80, #324754); }
.nav-icon--mills { color: #ffc0aa; background: linear-gradient(145deg, #805445, #58372f); }
.nav-icon--trucks { color: #a8d7ff; background: linear-gradient(145deg, #32648c, #1d405f); }
.nav-icon--reports { color: #d7c6ff; background: linear-gradient(145deg, #60528a, #3e345e); }
.nav-group-toggle { justify-content: flex-start; }
.nav-group-toggle > span:nth-child(2) { flex: 1; }
.nav-group-chevron { margin-left: auto; color: #bddc68; font-size: 1rem; transition: transform .2s ease; }
.nav-group-toggle[aria-expanded="false"] .nav-group-chevron { transform: rotate(-90deg); }
.nav-submenu { display: grid; gap: 4px; margin: -2px 0 8px 20px; padding-left: 14px; overflow:hidden; border-left: 1px solid #315841; transition: max-height .2s ease, opacity .2s ease; }
.nav-submenu[hidden] { display: none; }
.nav-subitem { display: flex; align-items: center; gap: 9px; width: 100%; border: 0; border-radius: 7px; padding: 9px 10px; color: #b6cfba; background: transparent; cursor: pointer; text-align: left; }
.nav-button, .nav-link { font-family: inherit; font-size: .82rem; }
.nav-link { text-decoration: none; }
.nav-link[hidden] { display: none; }
.nav-subitem:hover, .nav-subitem.active { color: #fff; background: #2c6245; }
.nav-subitem .nav-icon { width: 28px; height: 28px; flex-basis: 28px; font-size: .82rem; }
.sidebar-footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 18px; border-top: 1px solid #315841; padding-top: 18px; }
.logged-user-card { display: flex; align-items: center; gap: 10px; min-width: 0; margin-bottom: 6px; padding: 8px 10px; border-radius: 9px; background: #214e37; }
.sidebar-footer .logged-user-card { grid-column: 1 / -1; }
.logged-user-avatar { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border: 1px solid rgba(226,255,190,.75); border-radius: 50%; background: radial-gradient(circle at 32% 24%, #d9f59a, #9bc74e 68%, #6d9d35); color: #173b2b; font-size: .9rem; box-shadow: inset 0 2px 0 rgba(255,255,255,.55), inset 0 -3px 0 rgba(45,83,27,.2), 0 3px 8px rgba(0,0,0,.24); }
.logged-user-avatar i { filter: drop-shadow(0 1px 1px rgba(255,255,255,.35)); }
.logged-user-card div { min-width: 0; }
.logged-user-card strong, .logged-user-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font:menu; }
.logged-user-card strong { color: #fff; font-size: .86rem; }
.logged-user-card small { margin-top: 2px; color: #a9c6ae; font-size: .7rem; }
.sidebar-action {
  min-width: 0;
  min-height: 42px;
  border: 1px solid #315841;
  border-radius: 8px;
  padding: 9px 12px;
  color: #d9e9da;
  background: #1b432f;
  font:menu;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.sidebar-action > span,
.sidebar-action > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: linear-gradient(145deg, #367451, #214a34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), inset 0 -2px 0 rgba(0,0,0,.14), 0 2px 5px rgba(0,0,0,.18);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.module-switch-action > span { color: #d7f48b; font-size: .9rem; }
.sidebar-action:hover { transform: translateX(2px); border-color: #477450; background: #2c6245; color: #fff; }
.sidebar-action:hover > span,
.sidebar-action:hover > i { transform: translateY(-1px); filter: brightness(1.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), inset 0 -2px 0 rgba(0,0,0,.14), 0 4px 8px rgba(0,0,0,.23); }
.sidebar-action:focus-visible { outline: 2px solid #bddc68; outline-offset: 2px; }
.logout-action { color: #f2b0a5; }
.logout-action > i { color: #ffd2ca; background: linear-gradient(145deg, #9b5147, #69372f); }
.logout-action:hover { border-color: #a6534b; background: #59372f; color: #fff; }

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #fff;
  border: 1px solid #dde8dc;
  color: #fff;
  padding: 18px 24px;
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(16, 61, 35, 0.07);
}

.brand {
  font-size: 1.5rem;
  font-weight: 700;
  color: #193b2c;
}

.brand span {
  font-weight: 400;
  color: #6c866d;
}

.topbar .eyebrow { margin-bottom: 5px; }
.topbar-status { color: #527258; font-size: .84rem; }
.topbar-status span { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: #65a94c; }

.page-heading { padding: 4px 2px 0px; }
.page-heading h1, .empty-view h1 { margin: 0 0 0px; font-size: clamp(1.55rem, 3vw, 2.2rem); color: #193b2c; }
.page-heading p:last-child, .empty-view p:last-child { margin: 0; color: #66806b; }
/* Telas do módulo e transição entre visualizações */
.module-view.active-view { animation: view-enter .28s ease both; }

@keyframes view-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.module-view[hidden] { display: none; }
.field[hidden] { display: none; }
.empty-view { min-height: 440px; padding: 90px 20px; text-align: center; }
.empty-view-icon { margin-bottom: 16px; color: #6e9a5b; font-size: 3rem; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
/* Tela 1: dashboards operacionais */
.dashboard-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 12px; }
.dashboard-metric { min-width: 0; padding: 18px 20px; border: 1px solid #dde8dc; border-left: 4px solid; border-radius: 8px; background: #fff; }
.dashboard-metric p { margin: 0 0 12px; color: #66806b; font-size: .76rem; }
.dashboard-metric strong { color: #193b2c; font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.dashboard-metric small { margin-left: 7px; color: #829382; font-size: .72rem; }
.metric-green { border-left-color: #39834f; }
.metric-blue { border-left-color: #77a85b; }
.metric-amber { border-left-color: #c38a32; }
.metric-ink { border-left-color: #647466; }
.dashboard-trucks { margin-top: 22px; }
.dashboard-section-heading h2 { margin: 0; color: #193b2c; font-size: .94rem; }
.dashboard-trucks .dashboard-summary { margin-top: 10px; }
.truck-dashboard { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 1px; margin-top: 8px; color: #e9f1f2; }
.truck-filter-panel, .truck-panel, .truck-kpi { min-width: 0; border: 1px solid #50795b; border-radius: 6px; background: linear-gradient(145deg, #2c5940, #1b402d); box-shadow: 0 5px 0 #133121, 0 11px 18px rgba(18, 49, 31, .2), inset 1px 1px 0 rgba(225, 246, 220, .12); }
.truck-filter-panel { align-self: start; padding: 16px 13px; background: linear-gradient(150deg, #36704c, #255638); }
.truck-filter-title, .truck-panel-label { margin: 0 0 7px; color: #c0d9b9; font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
.truck-filter-form { display: grid; gap: 11px; }
.truck-filter-form label { display: grid; gap: 4px; color: #e1eee0; font-size: .7rem; }
.truck-filter-form input, .truck-filter-form select { width: 100%; min-width: 0; height: 32px; padding: 5px 7px; border: 1px solid #aac5a8; border-radius: 3px; outline: 0; background: #eaf2e5; color: #203b29; font-size: .72rem; }
.truck-filter-form input:focus, .truck-filter-form select:focus { border-color: #bddc68; box-shadow: 0 0 0 2px rgba(189, 220, 104, .2); }
.truck-filter-apply, .truck-filter-clear, .truck-filter-print { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 36px; margin: 0; padding: 8px 10px; border: 1px solid #bddc68; border-radius: 3px; background: #bddc68; color: #203b29; font-size: .72rem; font-weight: 700; cursor: pointer; transition: background .18s ease, border-color .18s ease; }
.truck-filter-apply:hover, .truck-filter-clear:hover, .truck-filter-print:hover { border-color: #a8c94f; background: #a8c94f; }
.truck-print-summary { display: none; }
.dashboard-print-logo { display: none; }
.truck-dashboard-content { display: grid; gap: 12px; min-width: 0; }
.truck-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.truck-kpi { display: flex; flex-direction: column; justify-content: space-between; min-height: 86px; padding: 11px 12px; }
.truck-kpi > span { min-height: 2.5em; color: #c1d7bd; font-size: .75rem; line-height: 1.25; }
.truck-kpi strong { display: flex; align-items: baseline; gap: 4px; margin-top: auto; color: #f0f5f4; font-size: 1.1rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.truck-kpi strong small { color: #c1d7bd; font-size: .65rem; font-weight: 400; }
.truck-data-grid, .truck-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.truck-panel { overflow: hidden; padding: 5px; }
.truck-panel header { display: flex; align-items: flex-start; justify-content: space-between; min-height: 41px; margin-bottom: 8px; }
.truck-panel header h2 { margin: 0; color: #f0f7ed; font-size: .86rem; line-height: 1.25; }
.truck-panel-label { margin-bottom: 4px; }
.truck-table-wrap { overflow-x: auto; }
.truck-panel table { width: 100%; min-width: 390px; border-collapse: collapse; color: #e0eddd; font-size: .66rem; }
.truck-panel th, .truck-panel td { border: 1px solid #3e6348; }
.truck-panel th { padding: 8px 6px; background: #31563d; color: #dce9d5; font-size: .50rem; font-weight: 700; text-align: left; text-transform: uppercase; }
.truck-panel td { padding: 8px 6px; color: #e0eddd; font-size: .72rem; font-variant-numeric: tabular-nums; }
.truck-panel td:not(:first-child), .truck-panel th:not(:first-child) { text-align: right; }
.truck-panel .truck-empty { padding: 24px 8px; color: #c1d7bd; text-align: center !important; }
.truck-panel tbody tr { background: #244a34; }
.truck-panel tbody tr:nth-child(even) { background: #2c563d; }
.truck-panel tbody tr:hover { background: #376849; }
.truck-panel tbody tr:hover td { color: #fff; }
.truck-panel tfoot th { padding: 8px 6px; border: 1px solid #8eaa88; border-top: 2px solid #8eaa88; background: #dce9d5; color: #193b2c; font-size: 2.82rem; font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; }
.truck-panel tfoot th:first-child { text-align: left; }
.truck-trend-chart { min-height: 260px; }
.truck-pie-layout { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(0, 1.2fr); align-items: center; gap: 14px; min-width: 0; }
.truck-pie-chart { display: block; width: min(100%, 240px); height: auto; margin: auto; filter: drop-shadow(0 8px 9px rgba(0, 0, 0, .22)); }
.truck-pie-chart path { transition: filter .18s ease; }
.truck-pie-chart path:hover { filter: brightness(1.15); }
.truck-pie-total-label, .truck-pie-total-unit { fill: #b9d2bb; font-family: inherit; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.truck-pie-total { fill: #f2f7eb; font-family: inherit; font-size: 21px; font-weight: 800; }
.truck-pie-total-unit { font-size: 9px; font-weight: 400; letter-spacing: 0; }
.truck-pie-details { display: grid; gap: 5px; max-height: 260px; overflow-y: auto; padding-right: 3px; }
.truck-pie-row { display: grid; grid-template-columns: 10px minmax(0, 1fr); gap: 3px 8px; align-items: center; padding: 7px 8px; border: 1px solid rgba(185, 210, 187, .14); border-radius: 4px; background: rgba(255, 255, 255, .035); }
.truck-pie-row > i { grid-column: 1; grid-row: 1 / span 2; width: 9px; height: 9px; border-radius: 2px; background: var(--pie-color); }
.truck-pie-row-main { display: flex; justify-content: space-between; gap: 6px; min-width: 0; color: #eef5e9; font-size: .76rem; }
.truck-pie-row-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.truck-pie-row-main small { flex: 0 0 auto; color: #050700; font-variant-numeric: tabular-nums; }
.truck-pie-row-values { display: flex; justify-content: space-between; gap: 8px; color: #d4e3d0; font-size: .7rem; font-variant-numeric: tabular-nums; }
.truck-pie-row-values span { display: grid; gap: 1px; }
.truck-pie-row-values b { color: #9dbb9e; font-size: .6rem; font-weight: 600; text-transform: uppercase; }
.truck-efficiency-list { display: grid; gap: 12px; }
.truck-efficiency-item { display: grid; gap: 5px; min-width: 0; }
.truck-efficiency-copy { display: flex; justify-content: space-between; gap: 8px; color: #e0eddd; font-size: .68rem; }
.truck-efficiency-copy strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.truck-efficiency-copy span { flex: 0 0 auto; color: #d2ef70; font-variant-numeric: tabular-nums; }
.truck-efficiency-track { height: 6px; overflow: hidden; border-radius: 4px; background: #3c6344; }
.truck-efficiency-track span { display: block; height: 100%; border-radius: inherit; background: #91d45b; }
.truck-efficiency-empty { padding: 28px 8px; color: #c1d7bd; font-size: .72rem; text-align: center; }
.machine-dashboard { margin-top: 20px; }
.machine-print-heading { display: none; }
.machine-dashboard-heading { margin: 0 0 4px; padding-top: 20px; }
.machine-dashboard-heading h2 { margin: 0; color: #193b2c; }
.machine-dashboard-layout { align-items: start; margin-top: 0; }
.machine-dashboard-layout .truck-dashboard-content { align-content: start; }
.dashboard-section-heading { margin-bottom: 10px; }
.dashboard-section-heading .eyebrow { margin-bottom: 4px; }
.dashboard-section-heading h2 { margin: 0; color: #193b2c; font-size: 1rem; }
.dashboard-ranking-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.machine-ranking-panel { padding: 11px 12px; }
.machine-ranking-panel header { min-height: 34px; margin-bottom: 0; }
.machine-ranking-panel .ranking-list { gap: 0; margin-top: 4px; }
.machine-ranking-panel .ranking-list li { min-height: 52px; padding: 7px 0; border-color: #3e6348; }
.machine-ranking-panel .ranking-position { color: #dce9d5; background: #31563d; }
.machine-ranking-panel .ranking-person strong,
.machine-ranking-panel .ranking-value { color: #e0eddd; }
.machine-ranking-panel .ranking-person small,
.machine-ranking-panel .ranking-value small,
.machine-ranking-panel .ranking-empty { color: #c1d7bd; }
.machine-hours-panel { min-width: 0; padding: 10px 12px; }
.machine-hours-panel header { min-height: 32px; margin-bottom: 4px; }
.machine-hours-chart { width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; }
.machine-hours-chart svg { display: block; width: auto; max-width: none; height: auto; }
.machine-chart-gridline { stroke: #42654b; stroke-width: 1; }
.machine-chart-axis-label, .machine-chart-date-label { fill: #c1d7bd; font-family: inherit; font-size: 10px; }
.machine-chart-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 4px; }
.machine-chart-summary > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 6px; min-width: 0; padding: 7px 9px; border-left: 2px solid #bddc68; background: rgba(255, 255, 255, .045); }
.machine-chart-summary strong { color: #f0f5f4; font-size: .88rem; font-variant-numeric: tabular-nums; }
.machine-chart-summary strong small { margin-left: 3px; color: #c1d7bd; font-size: .62rem; font-weight: 500; }
.machine-chart-summary span { color: #c1d7bd; font-size: .64rem; }
.machine-chart-bar { fill: url(#machineHoursBarGradient); transition: opacity .15s ease; }
.machine-chart-bar-peak { fill: #f2d36b; }
.machine-chart-bar:hover { opacity: .78; }
/* Tela 4: relatórios agrícolas */
.relatorios-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 240px));
  gap: 14px;
  margin-top: 18px;
}
.relatorios-grid[hidden], .relatorio-caminhoes[hidden] { display: none; }
#viewRelatorios:has(> .relatorio-caminhoes:not([hidden])) > .page-heading { display: none; }
.relatorio-card[data-relatorio-categoria][hidden] { display: none; }
.relatorio-caminhoes { display: grid; gap: 14px; min-width: 0; margin-top: 12px; }
.relatorio-caminhoes-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.relatorio-caminhoes-header .eyebrow { margin-bottom: 4px; }
.relatorio-caminhoes-header h2 { margin: 0; color: #193b2c; font-size: 1.2rem; }
.relatorio-caminhoes-filtros { margin: 0; padding: 14px; border: 1px solid #dde8dc; border-radius: 8px; background: #fff; }
#relatorioMoagemFazendaTalhao .grupo-moagem-fazenda th { padding: 10px 12px; background: #e7f0e4; color: #193b2c; text-align: left; }
#relatorioMoagemFazendaTalhao .cabecalho-moagem-fazenda { display: none; }
#relatorioMoagemFazendaTalhao .cabecalho-moagem-fazenda th { background: #f3f7f1; }
#relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela thead th:nth-child(1),
#relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tbody tr:not(.subtotal-moagem-fazenda):not(.subtotal-moagem-talhao) td:nth-child(1) { text-align: right; }
#relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela thead th:nth-child(2),
#relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tbody tr:not(.subtotal-moagem-fazenda):not(.subtotal-moagem-talhao) td:nth-child(2) { text-align: center; }
#relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela thead th:nth-child(6),
#relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela thead th:nth-child(7),
#relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tbody tr:not(.subtotal-moagem-fazenda):not(.subtotal-moagem-talhao) td:nth-child(5),
#relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tbody tr:not(.subtotal-moagem-fazenda):not(.subtotal-moagem-talhao) td:nth-child(6),
#relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tbody tr:not(.subtotal-moagem-fazenda):not(.subtotal-moagem-talhao) td:nth-child(7),
#relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tfoot th:not(:first-child) { text-align: right; }
#relatorioMoagemFazendaTalhao .subtotal-moagem-talhao th,
#relatorioMoagemFazendaTalhao .subtotal-moagem-talhao td { background: #f7f9f5; color: #193b2c; font-weight: 700; }
#relatorioMoagemFazendaTalhao .subtotal-moagem-talhao td,
#relatorioMoagemFazendaTalhao .subtotal-moagem-fazenda td { text-align: right; }
#relatorioMoagemFazendaTalhao .subtotal-moagem-talhao th,
#relatorioMoagemFazendaTalhao .subtotal-moagem-fazenda th { text-align: left; }
#relatorioMoagemFazendaTalhao .espacador-moagem-fazenda td { height: 12px; padding: 0; border: 0; background: transparent; }
#relatorioMoagemFazendaTalhao .subtotal-moagem-fazenda th,
#relatorioMoagemFazendaTalhao .subtotal-moagem-fazenda td { background: #f1f6ee; color: #193b2c; font-weight: 700; }
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela table { min-width: 1500px; }
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela th,
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela td { white-space: nowrap; }
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela th:nth-child(3),
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela td:nth-child(3),
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela th:nth-child(4),
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela td:nth-child(4) { text-align: center; }
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela th:nth-child(n + 5),
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela td:nth-child(n + 5),
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela tfoot th:not(:first-child) { text-align: right; }
#relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela tfoot th { background: #f1f6ee; color: #193b2c; font-weight: 700; }
.relatorio-moagem-situacao-impressao { display: none; }
.detalhamento-impressao-motorista { display: none; }
.relatorio-caminhoes-filtros .field { min-width: 0; }
.relatorio-caminhoes-filtros .filter-actions button { width: 100%; min-height: 42px; }
.relatorio-filtros-aplicados { margin: -6px 0 0; color: #52665a; font-size: 0.86rem; }
#relatorioFazendaFiltrosAplicados { display: none; }
.relatorio-caminhoes-resumo { margin: 0; }
.moagem-kpi-grid { gap: 14px; }
.moagem-kpi-card { position: relative; min-height: 112px; justify-content: center; gap: 13px; overflow: hidden; padding: 16px 18px; border: 1px solid #e0e9e2; border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(27, 62, 42, .07); }
.moagem-kpi-card::after { position: absolute; right: -18px; bottom: -34px; width: 92px; height: 92px; border-radius: 50%; background: var(--moagem-kpi-tint); content: ""; opacity: .42; }
.moagem-kpi-heading { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; color: #53665a; font-size: .82rem; font-weight: 600; }
.moagem-kpi-heading > span:last-child { color: #53665a; font-size: .82rem; }
.moagem-kpi-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 10px; background: var(--moagem-kpi-tint); color: var(--moagem-kpi-color); }
.moagem-kpi-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.moagem-kpi-card strong { position: relative; z-index: 1; display: flex; align-items: baseline; gap: 6px; margin: 0; color: #1b3828; font-size: 1.55rem; font-weight: 700; letter-spacing: -.025em; line-height: 1; }
.moagem-kpi-card strong small { color: #718176; font-size: .72rem; letter-spacing: 0; }
.moagem-kpi-fazendas { --moagem-kpi-color: #34744b; --moagem-kpi-tint: #e6f2e9; }
.moagem-kpi-talhoes { --moagem-kpi-color: #39708b; --moagem-kpi-tint: #e6f1f6; }
.moagem-kpi-registros { --moagem-kpi-color: #8b6a2e; --moagem-kpi-tint: #f7f0df; }
.moagem-kpi-cana { --moagem-kpi-color: #678334; --moagem-kpi-tint: #eff4df; }
.relatorio-caminhoes-tabela { min-width: 0; margin-top: 0; padding: 16px; }
.relatorio-caminhoes-tabela .table-header { margin-bottom: 8px; }
.relatorio-caminhoes-tabela .table-header h2 { margin: 0; color: #193b2c; font-size: 1rem; }
.relatorio-cadastros-table-wrap table { width: 100%; min-width: 0; table-layout: auto; }
.relatorio-cadastros-table-wrap th,
.relatorio-cadastros-table-wrap td { max-width: 240px; padding: 7px 8px; font-size: .78rem; line-height: 1.3; vertical-align: middle; overflow-wrap: anywhere; }
.relatorio-cadastros-table-wrap th { padding: 7px 8px; font-size: .72rem; line-height: 1.25; white-space: normal; }
#relatorioCadastros .relatorio-cadastros-table-wrap table th:last-child,
#relatorioCadastros .relatorio-cadastros-table-wrap table td:last-child { position: static; right: auto; box-shadow: none; }
.relatorio-cadastros-table-wrap .coluna-id_fornecedor,
.relatorio-cadastros-table-wrap .coluna-codigo,
.relatorio-cadastros-table-wrap .coluna-id,
.relatorio-cadastros-table-wrap .coluna-uf,
.relatorio-cadastros-table-wrap .coluna-cep,
.relatorio-cadastros-table-wrap .coluna-numero,
.relatorio-cadastros-table-wrap .coluna-ativo,
.relatorio-cadastros-table-wrap .coluna-status { width: 1%; white-space: nowrap; }
.relatorio-cadastros-table-wrap .coluna-id_fornecedor,
.relatorio-cadastros-table-wrap .coluna-codigo,
.relatorio-cadastros-table-wrap .coluna-id { min-width: 72px; }
.relatorio-cadastros-table-wrap .coluna-uf { min-width: 48px; }
.relatorio-cadastros-table-wrap .coluna-cep,
.relatorio-cadastros-table-wrap .coluna-numero { min-width: 82px; }
.relatorio-cadastros-table-wrap .coluna-ativo,
.relatorio-cadastros-table-wrap .coluna-status { min-width: 80px; }
.relatorio-cadastros-table-wrap .coluna-razao_social,
.relatorio-cadastros-table-wrap .coluna-nome_fantasia,
.relatorio-cadastros-table-wrap .coluna-endereco,
.relatorio-cadastros-table-wrap .coluna-email,
.relatorio-cadastros-table-wrap .coluna-descricao { min-width: 140px; }
.relatorio-cadastros-table-wrap tfoot { display: none; }
#relatorioCadastros .relatorio-cadastros-table-wrap table.cadastro-tem-total > tfoot { display: table-row-group; }
#relatorioCadastros .relatorio-cadastros-table-wrap .relatorio-cadastro-total-registros th {
  padding: 9px 8px;
  border-top: 2px solid #8eaa88;
  background: #e7f0e4;
  color: #193b2c;
  font-weight: 800;
  text-align: left;
}
#relatorioProducaoFazenda .relatorio-caminhoes-tabela table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}
#relatorioProducaoFazenda .relatorio-fazenda-logo { display: none; }
#relatorioCaminhoes .relatorio-caminhao-logo { display: none; }
#relatorioMotoristaCaminhoes .relatorio-caminhao-logo { display: none; }
#relatorioMotoristaCaminhoes #resumoFiltrosRelatorioMotoristaCaminhoes { display: none; }
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th,
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td { background: #fff; }
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela tbody tr,
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela tbody tr:hover,
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela tbody tr:hover td,
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela .subtotal-motorista { background: #fff; }
#relatorioMotoristaCaminhoes .subtotal-motorista td { font-variant-numeric: tabular-nums; }
#relatorioMotoristaCaminhoes .subtotal-motorista td:nth-child(n + 3) { text-align: right; }
#relatorioMotoristaCaminhoes .subtotal-motorista td:nth-child(2) strong {
  color: #000000;
  font: inherit;
}
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela tfoot th { font-size: .95rem; }
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela table { width: 100%; min-width: 760px; table-layout: fixed; }
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(1),
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(1) { width: 13%; }
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(2),
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(2) { width: 32%; white-space: nowrap; overflow-wrap: normal; }
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(3),
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(3) { width: 13%; }
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(4),
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(4) { width: 12%; text-align: right;}
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(5),
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(5) { width: 15%; }
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(6),
#relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(6) { width: 15%; text-align: right; }
#tbodyImpressaoRelatorioCaminhoes { display: none; }
#relatorioProducaoFazenda .relatorio-caminhoes-tabela thead { display: table-header-group; }
#tbodyImpressaoRelatorioProducaoFazenda { display: none; }
#relatorioProducaoFazenda tbody tr.titulo-fazenda th {
  position: static;
  padding: 9px 8px;
  border: 0;
  background: #dce9d5;
  color: #193b2c;
  font-size: .9rem;
  text-align: left;
}
#relatorioProducaoFazenda tbody tr.cabecalho-fazenda th {
  position: static;
  padding: 7px 6px;
  background: #edf4ee;
  color: #214d36;
  font-size: .7rem;
  text-align: left;
}
#relatorioProducaoFazenda .relatorio-caminhoes-tabela th:nth-child(1),
#relatorioProducaoFazenda .relatorio-caminhoes-tabela td:nth-child(1) { width: 5%; }
#relatorioProducaoFazenda .relatorio-caminhoes-tabela th:nth-child(2),
#relatorioProducaoFazenda .relatorio-caminhoes-tabela td:nth-child(2) { width: 30%; text-align: center; }
#relatorioProducaoFazenda .relatorio-caminhoes-tabela th:nth-child(3),
#relatorioProducaoFazenda .relatorio-caminhoes-tabela td:nth-child(3) { width: 6%; }
#relatorioProducaoFazenda .relatorio-caminhoes-tabela th:nth-child(3),
#relatorioProducaoFazenda .relatorio-caminhoes-tabela td:nth-child(3) { text-align: center; }
#relatorioProducaoFazenda .relatorio-caminhoes-tabela th:nth-child(4),
#relatorioProducaoFazenda .relatorio-caminhoes-tabela td:nth-child(4) { width: 14%; }
#relatorioProducaoFazenda .relatorio-caminhoes-tabela th:nth-child(5),
#relatorioProducaoFazenda .relatorio-caminhoes-tabela td:nth-child(5) { width: 10%; }
#relatorioProducaoFazenda .relatorio-caminhoes-tabela th:nth-child(6),
#relatorioProducaoFazenda .relatorio-caminhoes-tabela td:nth-child(6) { width: 16%; }
#relatorioProducaoFazenda .relatorio-caminhoes-tabela th:nth-child(n + 4),
#relatorioProducaoFazenda .relatorio-caminhoes-tabela td:nth-child(n + 4) { text-align: right; }
#relatorioProducaoFazenda tbody tr.subtotal-fazenda td {
  border-top: 2px solid #8eaa88;
  border-right: 0;
  border-left: 0;
  background: #e7f0e4;
  color: #193b2c;
  font-weight: 800;
}
#relatorioProducaoFazenda tbody tr.subtotal-fazenda td:nth-child(2),
#relatorioProducaoFazenda tbody tr.subtotal-fazenda td:nth-child(3) { text-align: right; }
#relatorioProducaoFazenda tbody tr.espacador-total-fazenda td {
  height: 18px;
  padding: 0;
  border: 0;
  background: #fff;
}
#relatorioProducaoFazenda tbody tr.espacador-total-fazenda td + td { border: 0; }
.resumo-fazendas-relatorio { margin-top: 0; padding: 16px; }
.resumo-fazendas-relatorio h2 { margin: 0 0 8px; color: #193b2c; font-size: 1rem; }
.resumo-fazendas-relatorio .table-wrap { max-height: none; overflow: visible; }
.resumo-fazendas-relatorio table { width: 100%; min-width: 0; table-layout: fixed; }
.resumo-fazendas-relatorio th,
.resumo-fazendas-relatorio td { padding: 7px 8px; }
.resumo-fazendas-relatorio th:not(:first-child),
.resumo-fazendas-relatorio td:not(:first-child) { text-align: right; }
.resumo-fazendas-relatorio tfoot th { border-top: 2px solid #8eaa88; background: #e7f0e4; color: #193b2c; font-weight: 800; }
.relatorio-caminhoes-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.relatorio-caminhoes-tabela .table-wrap { max-height: 65vh; margin-top: 0; overflow: auto; }
.relatorio-caminhoes-tabela table { min-width: 1250px; }
.relatorio-caminhoes-tabela td { white-space: nowrap; }
#relatorioCaminhoes .relatorio-caminhoes-tabela table { width: 100%; table-layout: fixed; }
#relatorioCaminhoes .relatorio-caminhoes-resumo,
#relatorioProducaoFazenda .relatorio-caminhoes-resumo,
#relatorioMotoristaCaminhoes .relatorio-caminhoes-resumo,
#relatorioMaquinas .relatorio-caminhoes-resumo { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
#relatorioHorasOperador .relatorio-caminhoes-resumo { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#relatorioCaminhoes .relatorio-caminhoes-resumo .truck-kpi {
  min-height: 94px;
  padding: 13px 16px;
  border: 1px solid #d7e5d5;
  border-left: 4px solid #65a465;
  border-radius: 9px;
  background: linear-gradient(145deg, #fff, #f4f8f2);
  box-shadow: 0 4px 12px rgba(25, 59, 44, .07);
}
#relatorioCaminhoes .relatorio-caminhoes-resumo .truck-kpi > span {
  min-height: 0;
  color: #607866;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.35;
}
#relatorioCaminhoes .relatorio-caminhoes-resumo .truck-kpi strong {
  margin-top: 12px;
  color: #193b2c;
  font-size: 1.35rem;
  line-height: 1.1;
}
#relatorioCaminhoes .relatorio-caminhoes-resumo .truck-kpi strong small { color: #607866; }
#relatorioProducaoFazenda .relatorio-caminhoes-resumo .truck-kpi,
#relatorioMotoristaCaminhoes .relatorio-caminhoes-resumo .truck-kpi,
#relatorioMaquinas .relatorio-caminhoes-resumo .truck-kpi,
#relatorioHorasOperador .relatorio-caminhoes-resumo .truck-kpi {
  min-height: 94px;
  padding: 13px 16px;
  border: 1px solid #d7e5d5;
  border-left: 4px solid #65a465;
  border-radius: 9px;
  background: linear-gradient(145deg, #fff, #f4f8f2);
  box-shadow: 0 4px 12px rgba(25, 59, 44, .07);
}
#relatorioProducaoFazenda .relatorio-caminhoes-resumo .truck-kpi > span,
#relatorioMotoristaCaminhoes .relatorio-caminhoes-resumo .truck-kpi > span,
#relatorioMaquinas .relatorio-caminhoes-resumo .truck-kpi > span,
#relatorioHorasOperador .relatorio-caminhoes-resumo .truck-kpi > span {
  min-height: 0;
  color: #607866;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.35;
}
#relatorioProducaoFazenda .relatorio-caminhoes-resumo .truck-kpi strong,
#relatorioMotoristaCaminhoes .relatorio-caminhoes-resumo .truck-kpi strong,
#relatorioMaquinas .relatorio-caminhoes-resumo .truck-kpi strong,
#relatorioHorasOperador .relatorio-caminhoes-resumo .truck-kpi strong {
  margin-top: 12px;
  color: #193b2c;
  font-size: 1.35rem;
  line-height: 1.1;
}
#relatorioProducaoFazenda .relatorio-caminhoes-resumo .truck-kpi strong small,
#relatorioMotoristaCaminhoes .relatorio-caminhoes-resumo .truck-kpi strong small,
#relatorioMaquinas .relatorio-caminhoes-resumo .truck-kpi strong small,
#relatorioHorasOperador .relatorio-caminhoes-resumo .truck-kpi strong small { color: #607866; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th,
#relatorioCaminhoes .relatorio-caminhoes-tabela td { padding-top: 5px; padding-bottom: 5px; font-size: .65rem; white-space: normal; overflow-wrap: anywhere; vertical-align: middle; line-height: 1.2; }
#relatorioCaminhoes .relatorio-caminhoes-tabela .sort-button { min-height: 0; padding: 4px 3px; gap: 2px; font-size: inherit; }
#relatorioCaminhoes .relatorio-caminhoes-tabela .sort-arrow { min-width: 1em; font-size: .8em; }
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(1),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(5) { white-space: nowrap; overflow-wrap: normal; }
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(2) {
  white-space: nowrap;
  overflow-wrap: normal;
}
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(1),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(1) { width: 8%; text-align: left; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(2),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(2) { width: 16%; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(3),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(3) { width: 6%; text-align: center; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(4),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(4) { width: 9%; text-align: left; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(5),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(5) { width: 25%; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(6),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(6) { width: 7%; text-align: center; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(7),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(7) { width: 8%; text-align: center;}
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(8),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(8) { width: 10%; }
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(8) { white-space: nowrap; overflow-wrap: normal; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(9),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(9) { width: 5%; text-align: center; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(10),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(10) { width: 9%; text-align: right; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(11),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(11) { width: 10%; text-align: right; }
#relatorioCaminhoes .relatorio-caminhoes-tabela th:nth-child(12),
#relatorioCaminhoes .relatorio-caminhoes-tabela td:nth-child(12) { width: 8%; text-align: right; }
.relatorio-caminhoes-tabela .table-wrap table thead th { position: sticky; top: 0; z-index: 4; }
.relatorio-caminhoes-tabela .table-wrap table th:last-child { position: sticky; top: 0; right: auto; z-index: 4; background: #edf4ee; box-shadow: none; }
.relatorio-caminhoes-tabela .table-wrap table td:last-child { position: static; right: auto; z-index: auto; box-shadow: none; }
.relatorio-caminhoes-tabela tfoot th { padding: 9px 8px; border-top: 2px solid #8eaa88; background: #e7f0e4; color: #193b2c; font-weight: 800; text-align: right; }
.relatorio-caminhoes-tabela .table-wrap table tfoot th { position: sticky; top: auto; bottom: 0; right: auto; z-index: 3; background: #e7f0e4; }
.relatorio-caminhoes-tabela tfoot th:first-child { text-align: left; }
#relatorioCaminhoes .relatorio-caminhoes-tabela tfoot th:not(:first-child) { text-align: right; }
.relatorio-caminhoes-tabela tfoot[hidden] { display: none; }
.relatorio-caminhoes-tabela .mensagem { margin: 0 0 8px; }
.relatorio-filtros-resumo { margin: 5px 0 0; color: #526b58; font-size: .78rem; line-height: 1.4; }
#resumoFiltrosHorasOperador { display: none; }
#relatorioHorasOperador,
#relatorioHorasOperador * { color: #000 !important; }
#relatorioHorasOperador .relatorio-caminhoes-acoes { justify-content: flex-end; margin-left: auto; }
#relatorioHorasOperador .relatorio-caminhoes-tabela table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  font-size: .72rem;
}
#relatorioHorasOperador .relatorio-caminhoes-tabela th,
#relatorioHorasOperador .relatorio-caminhoes-tabela td { padding: 6px 5px; }
#relatorioHorasOperador .relatorio-caminhoes-tabela th { font-size: .64rem; }
#relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(1),
#relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(1) { width: 6%; text-align: right; }
#relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(2),
#relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(2) { width: 13%; }
#relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(3),
#relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(3) { width: 26%; white-space: normal; overflow-wrap: anywhere; }
#relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(4),
#relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(4) { width: 20%; white-space: normal; overflow-wrap: anywhere; }
#relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(5),
#relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(5) { width: 17%; }
#relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(6),
#relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(6) { width: 18%; }
#relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(4),
#relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(4),
#relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(5),
#relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(5),
#relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(6),
#relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(6) { text-align: right; }
#relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(4),
#relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(4) { text-align: left; }
#relatorioHorasOperador .relatorio-caminhoes-tabela td { white-space: normal; overflow-wrap: anywhere; }
#relatorioHorasOperador .total-horas-operador-conteudo { display: flex; justify-content: space-between; gap: 12px; width: 100%; }
#relatorioHorasOperador .total-horas-operador-conteudo span:last-child { text-align: right; white-space: nowrap; }
.relatorio-card {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 16px;
  min-width: 0;
  border: 1px solid #dde8dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(25, 48, 32, .07);
}
.relatorio-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 13px;
  background: linear-gradient(145deg, #f8fff8, #dceedd);
  color: #287044;
  font-size: 1.1rem;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.95), inset 0 -3px 0 rgba(39,93,53,.1), 0 5px 10px rgba(31,83,45,.13);
  transition: transform .2s ease, box-shadow .2s ease;
}
.relatorio-icon i { filter: drop-shadow(0 1px 1px rgba(25,70,37,.22)); }
.relatorio-icon--trucks { color: #2672a8; background: linear-gradient(145deg, #f2faff, #d6eafa); }
.relatorio-icon--machinery { color: #a8661b; background: linear-gradient(145deg, #fff9ee, #f4e1bf); }
.relatorio-icon--hours { color: #6751a4; background: linear-gradient(145deg, #f8f5ff, #e5dcf8); }
.relatorio-icon--documents { color: #287044; }
.relatorio-icon--drivers { color: #26766f; background: linear-gradient(145deg, #f1fffd, #d2eeea); }
.relatorio-icon--records { color: #a14e3e; background: linear-gradient(145deg, #fff6f2, #f5ded5); }
.relatorio-card:hover .relatorio-icon { transform: translateY(-2px); box-shadow: inset 0 2px 0 rgba(255,255,255,.95), inset 0 -3px 0 rgba(39,93,53,.1), 0 8px 14px rgba(31,83,45,.18); }
.relatorio-card h2 {
  margin: 0;
  color: #193b2c;
  font-size: .98rem;
}
.relatorio-card p {
  margin: 0;
  color: #66806b;
  font-size: .86rem;
  line-height: 1.4;
  flex: 1;
}
.relatorio-card .secondary-btn { min-height: 38px; padding: 8px 12px; }
.ranking-panel { min-width: 0; padding: 22px; overflow: hidden; background: #fff; border: 1px solid #dde8dc; border-radius: 14px; box-shadow: 0 10px 24px rgba(25, 48, 32, .08); }
.ranking-heading { display: flex; align-items: flex-start; gap: 12px; min-height: 58px; }
.ranking-heading h2 { margin: 0; color: #193b2c; font-size: .94rem; line-height: 1.2; }
.ranking-heading .eyebrow { margin-bottom: 6px; }
.ranking-icon { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 10px; font-size: 1.05rem; font-weight: 800; }
.ranking-icon.green { color: #1d7a42; background: #e3f3e6; }
.ranking-icon.amber { color: #a86818; background: #fff0d7; }
.ranking-icon.blue { color: #427a36; background: #e2f2d9; }
.ranking-list { display: grid; gap: 4px; margin: 20px 0 0; padding: 0; list-style: none; }
.ranking-list li { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 58px; padding: 8px 0; border-top: 1px solid #edf2ec; }
.ranking-position { display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 25px; border-radius: 50%; color: #527258; background: #eef5ee; font-size: .82rem; font-weight: 800; }
.ranking-person { min-width: 0; flex: 1; overflow: hidden; }
.ranking-person strong, .ranking-person small, .ranking-value small { display: block; }
.ranking-person strong { color: #274534; font-size: .9rem; overflow-wrap: anywhere; }
.ranking-person small { margin-top: 3px; color: #829382; font-size: .7rem; }
.ranking-value { flex: 0 0 auto; color: #193b2c; font-size: .9rem; text-align: right; white-space: nowrap; }
.ranking-value small { margin-top: 2px; color: #829382; font-size: .66rem; font-weight: 400; }
.ranking-empty { justify-content: center; color: #66806b; font-size: .82rem; }
/* Tela 5: cadastros agrícolas */
.cadastro-heading { padding-bottom: 8px; }
.cadastro-panel { margin-top: 10px; padding: 0; overflow: hidden; }
.cadastro-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 28px 20px; border-bottom: 1px solid #e5eee3; }
.cadastro-header h2 { margin: 0 0 6px; color: #193b2c; font-size: 1.2rem; }
.cadastro-header p { margin: 0; color: #66806b; font-size: .88rem; }
.cadastro-header .primary-btn { box-shadow: 0 6px 14px rgba(29, 122, 66, .18); white-space: nowrap; }
.cadastro-tools { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.cadastro-busca { display: flex; align-items: center; gap: 8px; width: min(300px, 32vw); min-height: 42px; padding: 0 12px; border: 1px solid #d3dfd0; border-radius: 10px; background: #fafcfb; color: #66806b; }
.cadastro-busca[hidden] { display: none; }
.cadastro-busca:focus-within { border-color: #2d7a46; box-shadow: 0 0 0 3px rgba(29, 122, 66, .14); background: #fff; }
.cadastro-busca input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #243c2b; font-size: .84rem; }
.cadastro-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 22px 28px 24px; border-bottom: 1px solid #e5eee3; background: #f7faf7; }
.cadastro-form.funcionarios-form { grid-template-columns: minmax(120px, .75fr) minmax(280px, 2fr) minmax(150px, 1fr) minmax(160px, 1.1fr); }
.cadastro-form.maquinas-implementos-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cadastro-form.veiculos-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cadastro-form.plantios-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cadastro-form.empreiteiro-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.empreiteiro-form .field > span { color: #527258; font-size: .76rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.cadastro-form[hidden] { display: none; }
.cadastro-form .field { min-width: 0; }
.cadastro-form .field label { font-size: .76rem; letter-spacing: .045em; text-transform: uppercase; color: #527258; }
.cadastro-form .actions-row { grid-column: 1 / -1; justify-content: flex-end; margin-top: 4px; padding-top: 16px; }
.cadastro-form .cadastro-rateio { grid-column: 1 / -1; display: grid; gap: 14px; padding: 18px; border: 1px solid #dce8db; border-radius: 12px; background: #fff; }
.cadastro-form .veiculo-descricao-field { grid-column: 1 / -1; }
.cadastro-form .veiculo-rateio { grid-column: 1 / -1; }
.cadastro-rateio h3 { margin: 0 0 4px; color: #193b2c; font-size: .96rem; }
.cadastro-rateio p { margin: 0; color: #66806b; font-size: .82rem; }
.cadastro-rateio-list { display: grid; gap: 10px; }
.cadastro-rateio-row { display: grid; grid-template-columns: minmax(220px, 2fr) minmax(120px, .8fr) auto; align-items: end; gap: 12px; }
.cadastro-rateio-row label { display: grid; gap: 6px; color: #527258; font-size: .76rem; text-transform: uppercase; }
.cadastro-ativo-field label { display: flex !important; align-items: center; gap: 8px; min-height: 40px; }
.cadastro-ativo-field input { width: 18px; height: 18px; accent-color: #247943; }
.cadastro-table-wrap { max-height: 320px; margin: 20px 28px 28px; }
.cadastro-table-wrap table { min-width: 0; }
.cadastro-table-wrap table.cadastro-plantios-table { min-width: 1200px; }
.cadastro-table-wrap table.cadastro-maquinas-table { min-width: 1500px; }
.cadastro-table-wrap table.cadastro-veiculos-table { min-width: 1850px; }
.empreiteiro-table-wrap table { min-width: 1050px; }
.cadastro-table-wrap table.cadastro-maquinas-table th:last-child,
.cadastro-table-wrap table.cadastro-maquinas-table td:last-child { width: 88px; min-width: 88px; max-width: 88px; }
.cadastro-table-wrap table.cadastro-maquinas-table th:nth-last-child(2),
.cadastro-table-wrap table.cadastro-maquinas-table td:nth-last-child(2) {
  position: sticky;
  right: 88px;
  z-index: 3;
  min-width: 220px;
  background: #fff;
  box-shadow: -5px 0 8px rgba(25, 48, 32, .06);
}
.cadastro-table-wrap table.cadastro-maquinas-table thead th:nth-last-child(2) {
  top: 0;
  z-index: 5;
  background: #edf4ee;
}
.cadastro-table-wrap table.cadastro-maquinas-table tbody tr:nth-child(even) td:nth-last-child(2) { background: #fbfdfb; }
.cadastro-table-wrap table.cadastro-maquinas-table tfoot th {
  position: sticky;
  bottom: 0;
  z-index: 4;
  padding: 9px 12px;
  border-top: 2px solid #8eaa88;
  background: #e7f0e4;
  color: #193b2c;
  text-align: left;
}
.cadastro-table-wrap th,
.cadastro-table-wrap td { padding: 7px 12px; }
.cadastro-table-wrap tbody td { padding-block: 4px; }
.cadastro-table-wrap th { white-space: nowrap; padding: 8px 12px; }
.cadastro-table-wrap th:last-child { text-align: center; vertical-align: middle; white-space: nowrap; }
.cadastro-table-wrap td { max-width: 260px; overflow-wrap: anywhere; }
.cadastro-table-wrap tbody td:not(.cadastro-acoes) { font-size: .82rem; }
.empreiteiro-table-wrap tbody tr[data-id] { cursor: pointer; }
.empreiteiro-table-wrap tbody tr.selected td { background: #e8f3e8; }
.empreiteiro-table-wrap tbody tr[data-id]:focus-visible { outline: 2px solid #2d7a46; outline-offset: -2px; }
.cadastro-table-wrap th.cadastro-coluna-nome,
.cadastro-table-wrap td.cadastro-coluna-nome,
.cadastro-table-wrap th.cadastro-coluna-funcao,
.cadastro-table-wrap td.cadastro-coluna-funcao { white-space: nowrap; overflow-wrap: normal; }
.cadastro-table-wrap td:last-child { width: 1%; white-space: nowrap; }
.cadastro-table-wrap .action-btn { margin-right: 5px; }
.cadastro-table-wrap .action-btn:last-child { margin-right: 0; }
.cadastro-acoes { width: 84px; text-align: center; white-space: nowrap; }
.cadastro-acoes .action-btn { display: inline-grid; place-items: center; width: 26px; height: 26px; margin: 0 2px; padding: 0; font-size: .85rem; line-height: 1; }
.cadastro-acoes .cadastro-editar { color: #1d6397; background: #e6f3fb; }
.cadastro-acoes .cadastro-editar:hover { color: #fff; background: #1d6397; }
.cadastro-acoes .cadastro-excluir { color: #b33a35; background: #fde9e7; }
.cadastro-acoes .cadastro-excluir:hover { color: #fff; background: #b33a35; }

.actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.primary-btn, .secondary-btn, .danger-btn {
  border: none;
  border-radius: 10px;
  padding: 10px 16px;
  cursor: pointer;
  transition: 0.2s ease;
  font-weight: 700;
}

.primary-btn {
  background: #1d7a42;
  color: #fff;
}

.primary-btn:hover { background: #185f34; }

.secondary-btn {
  background: #eaf3eb;
  color: #1f2a1f;
}

.secondary-btn:hover { background: #dfeee1; }

.danger-btn {
  background: #c93d3d;
  color: #fff;
}

.danger-btn:hover { background: #a72f2f; }

.panel {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(25, 48, 32, 0.08);
  border: 1px solid #e0eade;
  padding: clamp(18px, 2.5vw, 28px);
  margin-top: 0px;
}

.panel h1, .panel h2 {
  margin-top: 0;
}

/* Estilos compartilhados dos formulários de movimentação */
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
  gap: 12px 8px;
  margin-top: 2px;
}

#formMovimentacao {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
}

#formMoagem {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 12px;
}

#tbodyMoagem tr[data-id] { cursor: pointer; }
#tbodyMoagem tr.is-selected td { background: #e8f3e8; }
#tbodyMoagem tr[data-id]:focus-visible { outline: 2px solid #2d7a46; outline-offset: -2px; }

#formMoagem .campo-data-moagem { max-width: 140px; }
#formMoagem .campo-fazenda-moagem { max-width: 270px; }
#formMoagem .campo-codigo-usina-moagem { max-width: 190px; }
#formMoagem .campo-talhao-moagem { max-width: 175px; }
#formMoagem .campo-atr-moagem,
#formMoagem .campo-cargas-moagem { max-width: 130px; }
#formMoagem .campo-cana-entregue-moagem { max-width: 165px; }

#formMoagem .form-ajuda-moagem {
  grid-column: 1 / -1;
  margin: 0;
  color: #5d6d60;
  font-size: .85rem;
}

.moagem-talhao-resumo {
  display: grid;
  grid-column: 1 / -1;
  align-self: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 22px;
  min-width: 0;
  margin-bottom: 1px;
  padding: 9px 14px;
  border: 1px solid #d2e8e2;
  border-radius: 7px;
  background: #e8f7f4;
  color: #243f37;
}

.moagem-talhao-resumo[hidden] {
  display: none;
}

.moagem-talhao-resumo div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 10px;
  min-width: 0;
  padding: 2px 0;
}

.moagem-talhao-resumo > .moagem-talhao-real {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 5px 16px;
  min-width: 0;
  margin-top: 3px;
  padding-top: 7px;
  border-top: 1px solid #cfe3dc;
}

.moagem-talhao-real > .form-section-heading,
.moagem-talhao-real > .moagem-talhao-controle {
  grid-column: 1 / -1;
}

.moagem-talhao-resumo span {
  max-width: 100%;
  color: #263d36;
  font-size: .76rem;
  font-weight: 500;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}

.moagem-talhao-resumo strong {
  min-width: 0;
  color: #213e34;
  font-size: .78rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  line-height: 1.25;
  text-align: right;
  white-space: nowrap;
}

.moagem-talhao-resumo .moagem-talhao-controle {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) minmax(170px, auto) auto auto;
  align-items: center;
  gap: 8px 12px;
  margin-top: 3px;
  padding-top: 7px;
  border-top: 1px solid #cfe3dc;
}

.moagem-talhao-controle-data {
  display: grid;
  gap: 4px;
}

.moagem-talhao-controle-data[hidden] {
  display: none;
}

.moagem-talhao-controle button[hidden] {
  display: none;
}

.moagem-talhao-controle-data label {
  font-size: .75rem;
}

.moagem-talhao-controle-data input {
  min-width: 0;
  min-height: 32px;
}

.moagem-talhao-controle #resumoTalhaoStatus {
  font-weight: 700;
}

.moagem-talhao-controle button {
  min-height: 32px;
  padding: 5px 10px;
  white-space: nowrap;
}

#formMoagem .actions-row {
  display: flex;
  grid-column: span 2;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  align-self: end;
  margin: 0;
  padding: 0;
  border-top: 0;
}

#formMoagem .actions-row button {
  flex: 0 0 auto;
}

#formMoagem input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

#formMoagem input[type="number"]::-webkit-inner-spin-button,
#formMoagem input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

#viewDigMoagemLote .table-wrap {
  max-height: 55vh;
  overflow: auto;
}

#viewDigMoagemLote table {
  min-width: 1500px;
}

#viewDigMoagemLote .table-panel .table-wrap th:nth-child(3),
#viewDigMoagemLote .table-panel .table-wrap td:nth-child(3),
#viewDigMoagemLote .table-panel .table-wrap th:nth-child(6),
#viewDigMoagemLote .table-panel .table-wrap td:nth-child(6),
#viewDigMoagemLote .table-panel .table-wrap th:nth-child(11),
#viewDigMoagemLote .table-panel .table-wrap td:nth-child(11),
#viewDigMoagemLote .table-panel .table-wrap th:nth-child(12),
#viewDigMoagemLote .table-panel .table-wrap td:nth-child(12) {
  white-space: nowrap;
}

#viewDigMoagemLote .table-panel .table-wrap td:nth-child(3),
#viewDigMoagemLote .table-panel .table-wrap td:nth-child(6),
#viewDigMoagemLote .table-panel .table-wrap td:nth-child(11),
#viewDigMoagemLote .table-panel .table-wrap td:nth-child(12) {
  min-width: 150px;
}

#viewDigMoagemLote .table-panel .table-wrap th:last-child,
#viewDigMoagemLote .table-panel .table-wrap td:last-child {
  width: 76px;
  min-width: 76px;
  max-width: 76px;
  white-space: nowrap;
  padding-inline: 5px;
}

#viewDigMoagemLote .table-panel .table-wrap td:last-child {
  display: flex;
  align-items: center;
  gap: 6px;
}

#viewDigMoagemLote .table-panel .table-wrap td:last-child .action-btn {
  flex: 0 0 auto;
  padding: 5px 6px;
}

#viewDigMoagemLote table th,
#viewDigMoagemLote table td {
  padding: 6px 10px;
  font-size: .75rem;
}

#viewDigMoagemLote table td {
  padding-block: 2px;
}

#viewDigMoagemLote tbody td:not(.empty) {
  vertical-align: middle;
}

#formDigMoagemFazenda .form-ajuda-moagem {
  grid-column: 1 / -1;
  margin: 0;
  color: #5d6d60;
  font-size: .85rem;
}

#viewDigMoagemFazenda .table-wrap {
  max-height: 55vh;
  overflow: auto;
}

#viewDigMoagemFazenda table {
  min-width: 1780px;
}

#viewDigMoagemFazenda .table-panel .table-wrap th,
#viewDigMoagemFazenda .table-panel .table-wrap td {
  white-space: nowrap;
}

#viewDigMoagemFazenda .table-panel .table-wrap th:nth-child(3),
#viewDigMoagemFazenda .table-panel .table-wrap td:nth-child(3),
#viewDigMoagemFazenda .table-panel .table-wrap th:nth-child(6),
#viewDigMoagemFazenda .table-panel .table-wrap td:nth-child(6),
#viewDigMoagemFazenda .table-panel .table-wrap th:nth-child(15),
#viewDigMoagemFazenda .table-panel .table-wrap td:nth-child(15) {
  min-width: 150px;
}

#viewDigMoagemFazenda .table-panel .table-wrap th:last-child,
#viewDigMoagemFazenda .table-panel .table-wrap td:last-child {
  width: 76px;
  min-width: 76px;
}

#viewDigMoagemFazenda .table-panel .table-wrap td:last-child {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

#viewDigMoagemFazenda .table-panel .table-wrap td:last-child .action-btn {
  flex: 0 0 auto;
  padding: 5px 6px;
}

#viewDigMoagemFazenda table th,
#viewDigMoagemFazenda table td {
  padding: 6px 10px;
  font-size: .75rem;
}

#viewDigMoagemFazenda table td {
  padding-block: 2px;
}

#viewDigMoagemFazenda tbody td:not(.empty) {
  vertical-align: middle;
}

#viewDigMoagemFazenda tbody tr.is-selected {
  background-color: #e8f1fb;
}

.form-section-heading {
  grid-column: 1 / -1;
  margin: 8px 0 -4px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e5eee3;
  color: #47704e;
  font-size: .82rem;
  font-weight: 800;
}

.form-section-heading:first-child { margin-top: 0; }

#formMovimentacao .linha-pesos {
  display: flex;
  flex-wrap: wrap;
  grid-column: 1 / -1;
  max-width: 100%;
  gap: 14px 12px;
  align-items: start;
}

#formMovimentacao .linha-pesos .field {
  flex: 0 1 150px;
  max-width: 150px;
  min-width: 0;
}

#formMovimentacao .fazenda-code-field {
  grid-column: span 1;
}

#formMovimentacao .data-movimentacao-field {
  grid-column: span 1;
  width: 100%;
  max-width: 100%;
}

#formMovimentacao .frota-field {
  grid-column: span 1;
}

#formMovimentacao .matricula-field {
  grid-column: span 1;
}

#formMovimentacao .fazenda-name-field {
  grid-column: span 2;
}

#formMovimentacao .motorista-field {
  grid-column: span 2;
}

.painel-form-movimentacao {
  container-type: inline-size;
}

@container (max-width: 650px) {
  #formMovimentacao {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #formMovimentacao .field {
    grid-column: span 1;
  }

}

@container (max-width: 420px) {
  #formMovimentacao {
    grid-template-columns: minmax(0, 1fr);
  }

  #formMovimentacao .data-movimentacao-field {
    grid-column: span 1;
    max-width: 100%;
  }
}

#formMovimentacao .actions-row {
  flex: 0 1 auto;
  min-width: 0;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  border-top: 0;
  margin-top: 20px;
  padding-top: 0;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.field-tooltip {
  position: absolute;
  z-index: 5;
  top: calc(100% + 5px);
  left: 0;
  width: max-content;
  max-width: min(220px, 80vw);
  padding: 7px 10px;
  border: 1px solid #e4b7b7;
  border-radius: 7px;
  background: #fff7f7;
  box-shadow: 0 4px 12px rgba(75, 25, 25, .14);
  color: #9d2929;
  font-size: .75rem;
  line-height: 1.3;
}

.field-tooltip[hidden] { display: none; }

.vehicle-validation-message {
  color: #9d2929;
  font-size: .72rem;
  line-height: 1.3;
}

.vehicle-validation-message[hidden] { display: none; }

.field label {
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .04em;
  color: #274534;
}

.fazenda-code-field { position: relative; }

.field input,
.field select {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  border: 1px solid #d3dfd0;
  border-radius: 10px;
  padding: 7px;
  background: #fafcfb;
  color: #243c2b;
  font-size: .84rem;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.field select,
.filters-grid select,
.truck-filter-form select {
  appearance: none;
  color-scheme: light;
  padding-right: 32px;
  border-radius: 10px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23527258' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 9px 6px;
  cursor: pointer;
}

.truck-filter-form select {
  border-color: #d3dfd0;
  background-color: #fff;
  color: #243c2b;
}

.field select option,
.filters-grid select option,
.truck-filter-form select option {
  background: #fff;
  color: #243c2b;
}

.custom-select-combobox {
  position: relative;
  width: 100%;
  min-width: 0;
}

.custom-select-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.custom-select-trigger {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: 7px 32px 7px 12px;
  border: 1px solid #d3dfd0;
  border-radius: 10px;
  background: #fff;
  color: #243c2b;
  cursor: text;
  font-size: .84rem;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.custom-select-trigger:hover { background: #fafcfb; }
.custom-select-trigger:focus-visible,
.custom-select-trigger[aria-expanded="true"] {
  border-color: #7ea783;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(126, 167, 131, .16);
  background-color: #fff5dc;
}
.custom-select-trigger:disabled { cursor: not-allowed; opacity: .6; }
.custom-select-trigger[aria-invalid="true"] { border-color: #d14b4b; box-shadow: 0 0 0 3px rgba(209, 75, 75, .12); }
.custom-select-arrow {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid #527258;
  border-bottom: 1.5px solid #527258;
  transform: translateY(-70%) rotate(45deg);
  transition: transform .16s ease;
  pointer-events: none;
}
.custom-select-trigger[aria-expanded="true"] + .custom-select-arrow { transform: translateY(-20%) rotate(225deg); }

.custom-select-options {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  z-index: 40;
  max-height: 240px;
  overflow: auto;
  margin: 0;
  padding: 4px;
  border: 1px solid #cbdac9;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(25, 48, 32, .16);
  list-style: none;
}
.custom-select-options[hidden] { display: none; }
.custom-select-options li { margin: 0; padding: 0; }
.custom-select-options li button {
  display: block;
  width: 100%;
  min-height: 34px;
  padding: 7px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #243c2b;
  cursor: pointer;
  font-size: .84rem;
  text-align: left;
}
.custom-select-options li button:hover,
.custom-select-options li button.is-active { background: #edf5ec; color: #1d6538; }
.custom-select-options li button.is-selected {
  background: #fff5dc;
  color: #1d6538;
  font-weight: 700;
}
.custom-select-options li button:disabled,
.custom-select-empty { color: #687b6b; cursor: not-allowed; }
.custom-select-empty { padding: 8px 10px; font-size: .8rem; }
.custom-select-compact .custom-select-trigger {
  min-height: 32px;
  padding: 5px 28px 5px 10px;
  border-radius: 8px;
  font-size: .72rem;
}

.usina-combobox { position: relative; min-width: 0; }
.usina-combobox input { padding-right: 38px; }
.usina-combobox input[aria-expanded="true"] { border-color: #7ea783; border-radius: 10px 10px 0 0; }
.usina-combobox-toggle {
  position: absolute;
  top: 1px;
  right: 1px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 0 9px 9px 0;
  background: transparent;
  color: #527258;
  cursor: pointer;
}
.usina-combobox-toggle:hover { background: #edf4ee; }
.usina-combobox-toggle i { font-size: .65rem; transition: transform .16s ease; }
.usina-combobox-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.usina-combobox-options {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 20;
  max-height: 220px;
  overflow-y: auto;
  margin: 0;
  padding: 4px;
  border: 1px solid #7ea783;
  border-top: 0;
  border-radius: 0 0 9px 9px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(25, 48, 32, .16);
  list-style: none;
}
.usina-combobox-options[hidden] { display: none; }
.usina-combobox-options li button {
  display: block;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  border-radius: 5px;
  background: #fff;
  color: #243c2b;
  cursor: pointer;
  font-size: .84rem;
  text-align: left;
}
.usina-combobox-options li button:hover,
.usina-combobox-options li button.is-active { background: #edf5ec; color: #1d6538; }
.usina-combobox-options .usina-sem-opcoes { padding: 8px 10px; color: #687b6b; font-size: .8rem; }

#formMovimentacaoMaquinas .field,
#formMovimentacao .field {
  min-width: 0;
}

#formMovimentacaoMaquinas .field {
  gap: 6px;
}

#formMovimentacaoMaquinas .field input,
#formMovimentacaoMaquinas .field select {
  min-height: 36px;
  padding-block: 7px;
}

#formMovimentacaoMaquinas .form-grid,
#formMovimentacao .form-grid {
  gap: 14px 12px;
}

#formMovimentacao .primary-btn,
#formMovimentacao .secondary-btn,
#formMovimentacaoMaquinas .primary-btn,
#formMovimentacaoMaquinas .secondary-btn {
  font-size: .84rem;
}

/*REMOVE AS SETINHAS DOS CAMPOS DE NÚMEROS LINHAS 345 A 355*/
#formMovimentacao input[type="number"],
#formMovimentacaoMaquinas input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

#formMovimentacao input[type="number"]::-webkit-inner-spin-button,
#formMovimentacao input[type="number"]::-webkit-outer-spin-button,
#formMovimentacaoMaquinas input[type="number"]::-webkit-inner-spin-button,
#formMovimentacaoMaquinas input[type="number"]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

#formMovimentacaoMaquinas .machine-hours-actions {
  display: grid;
  grid-column: span 2;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}

#formMovimentacaoMaquinas .actions-row {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  border-top: 0;
  margin: 0;
  padding-top: 0;
}

#formMovimentacaoMaquinas .actions-row button {
  min-height: 36px;
  padding: 8px 10px;
}

#formMovimentacaoMaquinas input[readonly],
#formMovimentacaoMaquinas input[readonly]:focus {
  background: #f2f6f3;
  color: #405948;
  cursor: default;
  box-shadow: none;
  border-color: #d7e1d7;
}

#viewEquipamentos .page-heading {
  margin-bottom: 4px;
}

#viewEquipamentos .page-heading h1 {
  margin-bottom: 6px;
}

#viewEquipamentos .panel {
  padding: 20px;
}

#viewEquipamentos > .panel:not(.table-panel) {
  margin-top: 8px;
  padding-bottom: 20px;
}

#maquinaMensagem {
  min-height: 0;
  margin: 5px 0 0;
}

#viewEquipamentos .table-actions .primary-btn,
#viewEquipamentos .table-actions .secondary-btn,
#viewEquipamentos .inline-actions .primary-btn,
#viewEquipamentos .inline-actions .secondary-btn {
  min-height: 38px;
  padding: 9px 14px;
}

#viewEquipamentos .filters-grid .field.compact label,
#viewEquipamentos .filters-grid .field.compact input {
  font-size: 0.8rem;
}

#viewEquipamentos .filters-grid .field.compact input {
  min-height: 36px;
  padding-block: 7px;
}

#viewEquipamentos table th,
#viewEquipamentos table td {
  padding: 8px 10px;
  font-size: 0.75rem;
}

#viewEquipamentos table tbody td {
  padding-block: 1px;
}

#viewEquipamentos table tbody td:last-child .action-btn {
  min-height: 20px;
  padding: 2px 5px;
  font-size: 0.68rem;
}

#viewMovimentacao table tbody td:last-child .action-btn {
  min-height: 24px;
  padding: 3px 6px;
  font-size: 0.72rem;
}

#viewMovimentacao table th,
#viewMovimentacao table td {
  padding: 6px 10px;
  font-size: 0.75rem;
}

#viewMovimentacao table td {
  padding-block: 2px;
}

#viewMovimentacao tbody td:not(.empty) {
  vertical-align: middle;
}

#viewMovimentacao table th:nth-child(5),
#viewMovimentacao table td:nth-child(5) { width: 210px; min-width: 210px; max-width: 210px; padding-inline: 6px; white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; }

#viewEquipamentos table th:nth-child(2),
#viewEquipamentos table td:nth-child(2) { width: 78px; max-width: 78px; padding-inline: 6px; }

#viewEquipamentos table th:nth-child(4),
#viewEquipamentos table td:nth-child(4) { width: 210px; min-width: 210px; max-width: 210px; white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; padding-inline: 6px; }

#viewEquipamentos table th:nth-child(3),
#viewEquipamentos table td:nth-child(3) { width: 88px; max-width: 88px; padding-inline: 6px;}

#viewEquipamentos table th:nth-child(4),
#viewEquipamentos table td:nth-child(4) { width: 210px; min-width: 210px; max-width: 210px; padding-inline: 6px; white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; }

#viewEquipamentos tbody td:not(.empty) {
  vertical-align: middle;
}

#viewEquipamentos table th:nth-child(5),
#viewEquipamentos table td:nth-child(5) { text-align: left; white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important;
}

#viewEquipamentos table th:nth-child(6),
#viewEquipamentos table td:nth-child(6) { text-align: center; white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important;
}

#viewEquipamentos table th:nth-child(7),
#viewEquipamentos table td:nth-child(7) { width: 78px; max-width: 78px; padding-inline: 6px; text-align: center; }

#viewEquipamentos table th:nth-child(8),
#viewEquipamentos table td:nth-child(8) { width: 75px; max-width: 75px; padding-inline: 6px; text-align: center; }

#viewEquipamentos table th:nth-child(9),
#viewEquipamentos table td:nth-child(9) {  text-align: left; white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important; }

#viewEquipamentos table th:nth-child(10),
#viewEquipamentos table td:nth-child(10) {  text-align: left; white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important; }

#viewEquipamentos table th:nth-child(11),
#viewEquipamentos table td:nth-child(11) { width: 80px; max-width: 80px; padding-inline: 6px; text-align: center; }

#viewEquipamentos table th:nth-child(12),
#viewEquipamentos table td:nth-child(12) { width: 92px; max-width: 92px; padding-inline: 6px; text-align: right; }

#viewEquipamentos table th:nth-child(13),
#viewEquipamentos table td:nth-child(13) { width: 88px; max-width: 88px; padding-inline: 6px; text-align: right; }

#viewEquipamentos table th:nth-child(14),
#viewEquipamentos table td:nth-child(14) { width: 80px; max-width: 80px; padding-inline: 6px; text-align: right; }

#viewEquipamentos .table-header {
  padding-bottom: 4px;
}

#viewEquipamentos .table-wrap {
  max-height: 420px;
  overflow: auto;
}

#viewMovimentacao table th:nth-child(4),
#viewMovimentacao table td:nth-child(4) {  text-align: left; white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important; }

#viewMovimentacao table th:nth-child(5),
#viewMovimentacao table td:nth-child(5) {  text-align: left; white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important; width: 80px; min-width: 80px; max-width: 80px; }

#viewMovimentacao .table-wrap table th:first-child,
#viewEquipamentos .table-wrap table th:first-child { position: sticky; left: 0; z-index: 4; background: #edf4ee; }

#viewMovimentacao .table-wrap tbody td:first-child:not(.empty),
#viewEquipamentos .table-wrap tbody td:first-child:not(.empty) { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 5px 0 8px rgba(25, 48, 32, .06); }

#viewMovimentacao .table-wrap tbody tr:nth-child(even) td:first-child:not(.empty),
#viewEquipamentos .table-wrap tbody tr:nth-child(even) td:first-child:not(.empty) { background: #fbfdfb; }

#viewMovimentacao .table-wrap tbody tr:hover td:first-child:not(.empty),
#viewEquipamentos .table-wrap tbody tr:hover td:first-child:not(.empty) { background: #f1f8f1; }

#viewEquipamentos .table-wrap table th:last-child,
#viewMovimentacao .table-wrap table th:last-child { text-align: center; vertical-align: middle; }

#viewMovimentacao .table-wrap { max-height: 420px; overflow: auto; }

#viewEquipamentos .field.compact .inline-actions { justify-content: flex-start; }

#viewEquipamentos tbody tr td:last-child { white-space: nowrap; }

#viewMovimentacao tbody tr td:last-child { white-space: nowrap; }

.cadastro-form .field select { min-height: 40px;}

#formCadastro input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}

#formCadastro input[type="number"]::-webkit-inner-spin-button,
#formCadastro input[type="number"]::-webkit-outer-spin-button { 
  margin: 0;
  -webkit-appearance: none;
}

.cadastro-form #cadastro-CODIGO {
  width: 120px;
}

.cadastro-form #cadastro-DATACAD,
.cadastro-form #cadastro-DATA_CADASTRO,
.cadastro-form #cadastro-DATA_ALTERACAO,
.cadastro-form #cadastro-DATA_ATUALIZACAO { display: none !important; }

.cadastro-form #cadastro-FROTA,
.cadastro-form #cadastro-NUMFROTA { width: 100px; }

.cadastro-form #cadastro-FROTA[type="number"],
.cadastro-form #cadastro-NUMFROTA[type="number"] { appearance: textfield; -moz-appearance: textfield; }

.cadastro-form #cadastro-FROTA[type="number"]::-webkit-inner-spin-button,
.cadastro-form #cadastro-FROTA[type="number"]::-webkit-outer-spin-button,
.cadastro-form #cadastro-NUMFROTA[type="number"]::-webkit-inner-spin-button,
.cadastro-form #cadastro-NUMFROTA[type="number"]::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }

.cadastro-form #cadastro-ATIVO { width: 110px; max-width: 100%; }

.field input:focus,
.field select:focus { outline: none; border-color: #2d7a46; background: #fff; box-shadow: 0 0 0 3px rgba(29, 122, 66, 0.14); }

.field input.is-invalid,
.field select.is-invalid { border-color: #d14b4b; background: #fff7f7; box-shadow: 0 0 0 3px rgba(209, 75, 75, 0.12); }

.field-validation-message {
  color: #a52a2a;
  font-size: .75rem;
  line-height: 1.3;
}

.field-validation-message:empty { display: none; }

.actions-row { justify-content: flex-end; flex-direction: row; align-items: center; gap: 10px; border-top: 1px solid #edf2ec; margin-top: 2px; padding-top: 10px; }

.actions-row button {
  min-height: 40px;
}

.table-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.table-header h2 {
  margin: 0;
  color: #193b2c;
  font-size: 1.15rem;
}

.table-actions,
.inline-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.moagem-grid-search {
  width: min(280px, 42vw);
  min-width: 200px;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #cbd8cc;
  border-radius: 8px;
  color: #193b2c;
  background: #fff;
  font: inherit;
}

.moagem-grid-search:focus {
  border-color: #1d7a42;
  outline: 3px solid rgb(29 122 66 / 14%);
}

.filters-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100px, 100%), 1fr));
  gap: 10px 12px;
  margin: 16px 0 18px;
  padding: 12px 14px;
  border: 1px solid #edf2ed;
  border-radius: 12px;
  background: linear-gradient(180deg, #fafdfb 0%, #f4faf4 100%);
}

.field.compact {
  min-width: 0;
}

.filter-actions {
  align-self: end;
}

.table-wrap {
  overflow-x: auto;
  border: 1px solid #e1ebe0;
  border-radius: 10px;
  background: #fff;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1200px;
}

th, td {
  border-bottom: 1px solid #e3ebdf;
  border-right: 1px solid #e3ebdf;
  padding: 10px 8px;
  text-align: left;
  vertical-align: top;
  font-size: 0.92rem;
}

th {
  background: #edf4ee;
  color: #214d36;
  position: sticky;
  top: 0;
  z-index: 1;
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.table-wrap table th:last-child,
.table-wrap table td:last-child {
  position: sticky;
  right: 0;
  z-index: 2;
  background: #fff;
  box-shadow: -6px 0 10px rgba(25, 48, 32, .08);
}

.table-wrap table th:last-child {
  z-index: 3;
  background: #edf4ee;
}

#viewMovimentacao .table-wrap table th:last-child,
#viewEquipamentos .table-wrap table th:last-child,
.cadastro-table-wrap th:last-child {
  background: #dce9d5;
}

#viewMovimentacao .table-wrap table td:last-child,
#viewEquipamentos .table-wrap table td:last-child,
.cadastro-table-wrap td.cadastro-acoes {
  background: #f1f6ee;
}

#viewMovimentacao .table-wrap tbody tr:hover td:last-child,
#viewEquipamentos .table-wrap tbody tr:hover td:last-child,
.cadastro-table-wrap tbody tr:hover td.cadastro-acoes {
  background: #e4efdf;
}

.sortable-header { padding: 0; }
.sort-button { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 42px; padding: 10px 8px; border: 0; color: inherit; background: transparent; cursor: pointer; font: inherit; letter-spacing: inherit; text-align: left; text-transform: inherit; }
.sort-button:hover, .sort-button:focus-visible, .sort-button.is-active { color: #1d7a42; background: #e2f0e3; outline: 0; }
.sort-arrow { min-width: 1.2em; color: #7d9a80; font-size: 1rem; font-weight: 900; text-align: center; }
.sort-button.is-active .sort-arrow { color: #1d7a42; }

tbody tr:nth-child(even) {
  background: #fbfdfb;
}

tbody tr:hover { background: #f1f8f1; }

.empty {
  text-align: center;
  color: #5d6d60;
  padding: 18px;
}

.action-btn {
  border: 0;
  border-radius: 8px;
  padding: 7px 10px;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 700;
  transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
  box-shadow: 0 2px 8px rgba(20, 48, 31, 0.08);
}

.action-btn:hover {
  transform: translateY(-1px);
  filter: brightness(0.98);
}

.action-btn.edit {
  background: #e8f4ff;
  color: #194a7c;
}

.action-btn.delete {
  background: #fdeaea;
  color: #9a2c2c;
}

#formMovimentacaoMaquinas .actions-row,
#formMovimentacao .actions-row {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

#formMovimentacao .linha-pesos > .actions-row {
  justify-content: flex-start;
}

#viewMovimentacao > .panel:not(.table-panel) {
  margin-top: 8px;
  padding-bottom: 20px;
}

#viewMovimentacao #mensagem {
  min-height: 24px;
  margin: 4px 0 0;
}

.mensagem {
  min-height: 24px;
  margin-top: 14px;
  font-weight: 700;
}

.cadastro-panel > .mensagem { margin: 14px 28px 0; }

.mensagem.success { color: #1b7a3a; }
.mensagem.error { color: #a92d2d; }
.mensagem.aviso { color: #8a5a00; }

body.transport-dashboard-view .sidebar-brand { padding-bottom: 24px; }
body.transport-dashboard-view .truck-dashboard[hidden],
body.transport-dashboard-view .machine-dashboard[hidden] { display: none !important; }
body.transport-dashboard-view .agricola-page {
  padding: 0 22px 28px;
  overflow: visible;
}
body:not(.transport-dashboard-view) .agricola-page > .topbar {
  margin-top: -28px;
  margin-inline: calc(-1 * clamp(20px, 4vw, 52px));
}
.topbar {
  margin: 0 -22px;
  padding: 13px 22px;
  border: 1px solid #dde8dc;
  border-radius: 0 0 12px 12px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(16, 61, 35, .07);
}
.topbar .eyebrow { color: #66826a; }
.topbar .brand { color: #193b2c; }
.topbar .brand span,
.topbar-status { color: #6c866d; }
body.transport-dashboard-view .page-heading {
  align-items: center;
  padding: 12px 0 10px;
}
body.transport-dashboard-view .page-heading .eyebrow {
  margin-bottom: 3px;
  color: #66826a;
  font-size: .62rem;
}
body.transport-dashboard-view .page-heading h1,
body.transport-dashboard-view .page-heading h2 {
  margin: 0;
  color: #193b2c;
  font-size: 1.35rem;
}
body.transport-dashboard-view .page-heading p:last-child { color: #66806b; }
body.transport-dashboard-view #viewDashboard { margin-left: 0 !important; }
body.transport-dashboard-view #dashboardMensagem { min-height: 0; margin: 0; font-size: .78rem; }
body.transport-dashboard-view .transport-heading-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
body.transport-dashboard-view .transport-mode-switch {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border: 1px solid #d8e4d7;
  border-radius: 6px;
  background: #eef5ed;
}
body.transport-dashboard-view .transport-mode-switch button {
  min-height: 30px;
  padding: 6px 10px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #527258;
  cursor: pointer;
  font-size: .68rem;
  font-weight: 700;
  white-space: nowrap;
}
body.transport-dashboard-view .transport-mode-switch button.is-active {
  background: #1b6849;
  color: #fff;
}
body.transport-dashboard-view .transport-connection {
  color: #a9c5ad;
  font-size: .72rem;
  white-space: nowrap;
}
body.transport-dashboard-view .transport-connection i {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 5px;
  border-radius: 50%;
  background: #17c981;
}
body.transport-dashboard-view #atualizarDashboardBtn {
  padding: 7px 11px;
  border: 1px solid #39664a;
  border-radius: 5px;
  background: #214e37;
  color: #e5f0e4;
  font-size: .72rem;
}
body.transport-dashboard-view .truck-dashboard {
  display: block;
  margin: 0;
  color: #e8f2e7;
}
body.transport-dashboard-view .truck-filter-panel {
  margin-bottom: 9px;
  padding: 8px;
  border: 1px solid #39664a;
  border-radius: 6px;
  background: #173b2b;
  box-shadow: none;
}
body.transport-dashboard-view .truck-filter-form {
  grid-template-columns: repeat(9, minmax(0, 1fr));
  align-items: end;
  gap: 8px;
}
body.transport-dashboard-view .machine-dashboard-layout .truck-filter-form {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}
body.transport-dashboard-view .truck-filter-actions {
  display: grid;
  grid-column: 7 / span 3;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  max-width: 100%;
}
body.transport-dashboard-view .machine-dashboard-layout .truck-filter-actions {
  grid-column: 8 / span 3;
}
body.transport-dashboard-view .truck-filter-actions button {
  width: 100%;
  min-width: 0;
}
body.transport-dashboard-view .truck-filter-form label {
  gap: 3px;
  color: #c5dcc5;
  font-size: .62rem;
}
body.transport-dashboard-view .truck-filter-form input {
  height: 31px;
  padding: 4px 7px;
  border-color: #739475;
  border-radius: 4px;
  background: #fcfcfc;
  color: #000000;
  font-size: .68rem;
}
body.transport-dashboard-view .truck-filter-form input:focus {
  border-color: #14aa7c;
  box-shadow: 0 0 0 2px rgba(20, 170, 124, .16);
}
body.transport-dashboard-view .truck-filter-apply,
body.transport-dashboard-view .truck-filter-clear,
body.transport-dashboard-view .truck-filter-print {
  min-height: 31px;
  padding: 5px 7px;
  border-color: #147d67;
  border-radius: 4px;
  background: #087c5a;
  color: #f3fbf7;
  font-size: .67rem;
}
body.transport-dashboard-view .truck-filter-clear,
body.transport-dashboard-view .truck-filter-print {
  color: #f3fbf7;
}
body.transport-dashboard-view .truck-filter-clear {
  border-color: #39664a;
  background: #475569;
}
body.transport-dashboard-view .truck-filter-print {
  border-color: #2563eb;
  background: #2563eb;
}
body.transport-dashboard-view .truck-filter-apply:hover {
  border-color: #0b916b;
  background: #0b916b;
}
body.transport-dashboard-view .truck-filter-clear:hover {
  border-color: #5b687a;
  background: #5b687a;
}
body.transport-dashboard-view .truck-filter-print:hover {
  border-color: #1d4ed8;
  background: #1d4ed8;
}
body.transport-dashboard-view .truck-filter-apply:focus-visible,
body.transport-dashboard-view .truck-filter-clear:focus-visible,
body.transport-dashboard-view .truck-filter-print:focus-visible {
  outline: 2px solid #f3fbf7;
  outline-offset: 2px;
}
body.transport-dashboard-view .truck-dashboard-content { gap: 9px; }
body.transport-dashboard-view .truck-kpi-grid.transport-kpi-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
body.transport-dashboard-view .truck-kpi-grid.machine-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.transport-dashboard-view .truck-kpi.transport-kpi-green,
body.transport-dashboard-view .truck-kpi.transport-kpi-blue,
body.transport-dashboard-view .truck-kpi.transport-kpi-amber,
body.transport-dashboard-view .truck-kpi.transport-kpi-violet,
body.transport-dashboard-view .truck-kpi.transport-kpi-teal {
  min-height: 88px;
  padding: 10px 12px;
  border: 1px solid #39664a;
  border-top: 2px solid var(--transport-accent);
  border-radius: 5px;
  background: #173b2b;
  box-shadow: none;
}
body.transport-dashboard-view .transport-kpi-green { --transport-accent: #18c979; }
body.transport-dashboard-view .transport-kpi-blue { --transport-accent: #79b85f; }
body.transport-dashboard-view .transport-kpi-amber { --transport-accent: #ffad22; }
body.transport-dashboard-view .transport-kpi-violet { --transport-accent: #a8ce78; }
body.transport-dashboard-view .transport-kpi-teal { --transport-accent: #1bc9b4; }
body.transport-dashboard-view .truck-kpi.transport-kpi-green > span,
body.transport-dashboard-view .truck-kpi.transport-kpi-blue > span,
body.transport-dashboard-view .truck-kpi.transport-kpi-amber > span,
body.transport-dashboard-view .truck-kpi.transport-kpi-violet > span,
body.transport-dashboard-view .truck-kpi.transport-kpi-teal > span {
  min-height: 0;
  color: #c5dcc5;
  font-size: .7rem;
}
body.transport-dashboard-view .truck-kpi.transport-kpi-green strong,
body.transport-dashboard-view .truck-kpi.transport-kpi-blue strong,
body.transport-dashboard-view .truck-kpi.transport-kpi-amber strong,
body.transport-dashboard-view .truck-kpi.transport-kpi-violet strong,
body.transport-dashboard-view .truck-kpi.transport-kpi-teal strong {
  margin-top: 7px;
  color: #f0f5ef;
  font-size: 1.08rem;
}
body.transport-dashboard-view .truck-kpi > small {
  margin-top: 1px;
  color: #a9c5ad;
  font-size: .58rem;
}
body.transport-dashboard-view .truck-chart-grid.transport-analysis-grid {
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr);
  gap: 9px;
}
body.transport-dashboard-view .truck-data-grid.transport-tables-grid,
body.transport-dashboard-view .truck-data-grid.transport-lower-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
body.transport-dashboard-view .truck-panel {
  border: 1px solid #39664a;
  border-radius: 5px;
  background: #173b2b;
  box-shadow: none;
}
body.transport-dashboard-view .truck-panel header { min-height: 32px; margin-bottom: 5px; }
body.transport-dashboard-view .truck-panel header h2 { color: #e8f2e7; font-size: .78rem; }
body.transport-dashboard-view .truck-panel-label { color: #a9c5ad; font-size: .56rem; }
body.transport-dashboard-view .truck-panel table { min-width: 0; color: #e0eddd; font-size: .64rem; }
body.transport-dashboard-view .truck-panel th { padding: 6px 5px; border-color: #3e6348; background: #214e37; color: #dce9d5; font-size: .54rem; }
body.transport-dashboard-view .truck-panel td { padding: 5px; border-color: #3e6348; color: #e0eddd; font-size: .66rem; }
body.transport-dashboard-view .truck-panel tbody tr,
body.transport-dashboard-view .truck-panel tbody tr:nth-child(even) { background: #1b402d; }
body.transport-dashboard-view .truck-panel tbody tr:hover,
body.transport-dashboard-view .truck-panel tbody tr:hover td { background: #2c6245; color: #fff; }
body.transport-dashboard-view .truck-pie-layout { grid-template-columns: minmax(150px, .9fr) minmax(0, 1.1fr); gap: 8px; }
body.transport-dashboard-view .truck-pie-chart { width: min(100%, 210px); filter: none; }
body.transport-dashboard-view .truck-pie-row { padding: 5px 6px; border-color: #3e6348; border-radius: 4px; background: #1b402d; }
body.transport-dashboard-view .truck-pie-row-main { color: #e3eee2; font-size: .68rem; }
body.transport-dashboard-view .truck-pie-row-values { color: #bfd4bf; font-size: .6rem; }
body.transport-dashboard-view .truck-pie-row-values b { color: #a9c5ad; }
body.transport-dashboard-view .truck-pie-total { fill: #f0f5ef; }
body.transport-dashboard-view .truck-pie-total-label,
body.transport-dashboard-view .truck-pie-total-unit { fill: #bfd4bf; }
body.transport-dashboard-view .truck-efficiency-copy { color: #e0eddd; font-size: .65rem; }
body.transport-dashboard-view .truck-efficiency-track { background: #31563d; }
body.transport-dashboard-view .truck-efficiency-track span { background: #19c77d; }
body.transport-dashboard-view .transport-chart-legend { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 3px 50px; }
body.transport-dashboard-view .transport-chart-legend span { display: inline-flex; align-items: center; gap: 5px; color: #bfd4bf; font-size: .62rem; }
body.transport-dashboard-view .transport-chart-legend i { width: 8px; height: 8px; border-radius: 50%; background: var(--bar-color); }
body.transport-dashboard-view .transport-chart-scroll { width: 100%; min-width: 0; overflow: hidden; }
body.transport-dashboard-view .transport-period-svg { display: block; width: 100%; min-width: 0; max-width: 100%; height: auto; }
body.transport-dashboard-view .transport-chart-gridline { stroke: #31563d; stroke-width: 1; }
body.transport-dashboard-view .transport-chart-axis { fill: #a9c5ad; font-family: inherit; font-size: 10px; }
body.transport-dashboard-view .transport-chart-period { fill: #d0e0cf; font-size: 9px; }
body.transport-dashboard-view .transport-chart-bar { fill: var(--bar-color); opacity: .92; }
body.transport-dashboard-view .transport-chart-bar:hover { opacity: 1; }
body.transport-dashboard-view .transport-lower-grid { margin-bottom: 10px; }
body.transport-dashboard-view .machine-dashboard { margin-top: 0; padding-top: 0; border-top: 0; }

body.transport-dashboard-view .agricola-page {
  padding: 0 30px 40px;
  background:
    radial-gradient(ellipse at 100% 0, rgba(113, 166, 82, .07), transparent 34rem),
    #f4f7f2;
}
body.transport-dashboard-view .topbar {
  margin-inline: -30px;
  padding: 14px 30px;
  border-color: #e2e9df;
  border-radius: 0 0 16px 16px;
  box-shadow: 0 8px 24px rgba(27, 61, 39, .06);
}
body.transport-dashboard-view .topbar .eyebrow {
  margin: 0;
  color: #527258;
  font-size: .76rem;
  letter-spacing: .1em;
}
body.transport-dashboard-view .page-heading {
  align-items: center;
  padding: 24px 0 18px;
}
body.transport-dashboard-view .page-heading .eyebrow {
  margin-bottom: 7px;
  color: #558052;
  font-size: .68rem;
}
body.transport-dashboard-view .page-heading h1,
body.transport-dashboard-view .page-heading h2 {
  color: #183b2a;
  font-size: clamp(1.55rem, 2vw, 2rem);
  letter-spacing: -.035em;
}
body.transport-dashboard-view .transport-heading-actions { gap: 10px; }
body.transport-dashboard-view .transport-mode-switch {
  gap: 3px;
  padding: 4px;
  border-color: #dce7d9;
  border-radius: 10px;
  background: #e9f0e6;
}
body.transport-dashboard-view .transport-mode-switch button {
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 7px;
  font-size: .78rem;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}
body.transport-dashboard-view .transport-mode-switch button.is-active {
  background: #1f6845;
  box-shadow: 0 2px 6px rgba(27, 77, 50, .2);
}
body.transport-dashboard-view #atualizarDashboardBtn {
  min-height: 42px;
  padding: 9px 15px;
  border-color: #cbd9c7;
  border-radius: 9px;
  background: #fff;
  color: #28573a;
  font-size: .8rem;
  font-weight: 700;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
body.transport-dashboard-view #atualizarDashboardBtn:hover {
  transform: translateY(-1px);
  border-color: #8aaa82;
  background: #f5faf3;
}
body.transport-dashboard-view #dashboardMensagem:empty { display: none; }
body.transport-dashboard-view .truck-filter-panel {
  margin-bottom: 14px;
  padding: 14px 16px 16px;
  border-color: #dce6d9;
  border-radius: 14px;
  background: linear-gradient(135deg, #fff, #f7faf5);
  box-shadow: 0 8px 22px rgba(28, 65, 40, .055);
}
body.transport-dashboard-view .truck-filter-title {
  margin-bottom: 12px;
  color: #46674a;
  font-size: .7rem;
  letter-spacing: .12em;
}
body.transport-dashboard-view .truck-filter-form {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: end;
  gap: 12px;
}
body.transport-dashboard-view .machine-dashboard-layout .truck-filter-form {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
body.transport-dashboard-view .truck-filter-actions,
body.transport-dashboard-view .machine-dashboard-layout .truck-filter-actions {
  grid-column: 1 / -1;
  justify-self: end;
  width: min(100%, 390px);
  gap: 8px;
}
body.transport-dashboard-view .truck-filter-form label {
  gap: 6px;
  color: #516a54;
  font-size: .72rem;
  font-weight: 700;
}
body.transport-dashboard-view .truck-filter-form input,
body.transport-dashboard-view .truck-filter-form select {
  height: 39px;
  padding: 7px 10px;
  border-color: #d4dfd1;
  border-radius: 8px;
  background: #fff;
  color: #243b29;
  font-size: .76rem;
  box-shadow: 0 1px 2px rgba(26, 53, 34, .03);
}
body.transport-dashboard-view .truck-filter-form input:focus,
body.transport-dashboard-view .truck-filter-form select:focus {
  border-color: #5b9c69;
  box-shadow: 0 0 0 3px rgba(55, 135, 75, .12);
}
body.transport-dashboard-view .truck-filter-apply,
body.transport-dashboard-view .truck-filter-clear,
body.transport-dashboard-view .truck-filter-print {
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: .76rem;
  font-weight: 700;
}
body.transport-dashboard-view .truck-filter-apply {
  border-color: #1e7049;
  background: #1e7049;
}
body.transport-dashboard-view .truck-filter-apply:hover { background: #185d3c; }
body.transport-dashboard-view .truck-filter-clear {
  border-color: #d6dfd4;
  background: #f0f4ee;
  color: #4d6350;
}
body.transport-dashboard-view .truck-filter-clear:hover {
  border-color: #bbcbb7;
  background: #e5ece2;
}
body.transport-dashboard-view .truck-filter-print {
  border-color: #d5e1ed;
  background: #edf4fa;
  color: #365b78;
}
body.transport-dashboard-view .truck-filter-print:hover {
  border-color: #c0d4e5;
  background: #e1edf6;
}
body.transport-dashboard-view .truck-dashboard-content { gap: 14px; }
body.transport-dashboard-view .truck-kpi-grid.transport-kpi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
body.transport-dashboard-view .truck-kpi-grid.machine-kpi-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
body.transport-dashboard-view .truck-kpi.transport-kpi-green,
body.transport-dashboard-view .truck-kpi.transport-kpi-blue,
body.transport-dashboard-view .truck-kpi.transport-kpi-amber,
body.transport-dashboard-view .truck-kpi.transport-kpi-violet,
body.transport-dashboard-view .truck-kpi.transport-kpi-teal {
  position: relative;
  min-height: 112px;
  padding: 16px 18px;
  border: 1px solid #e0e8dc;
  border-top: 0;
  border-radius: 12px;
  background: linear-gradient(145deg, #fff, #f8fbf6);
  box-shadow: 0 7px 18px rgba(28, 65, 40, .055);
}
body.transport-dashboard-view .truck-kpi.transport-kpi-green::before,
body.transport-dashboard-view .truck-kpi.transport-kpi-blue::before,
body.transport-dashboard-view .truck-kpi.transport-kpi-amber::before,
body.transport-dashboard-view .truck-kpi.transport-kpi-violet::before,
body.transport-dashboard-view .truck-kpi.transport-kpi-teal::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 12px 0 0 12px;
  background: var(--transport-accent);
  content: "";
}
body.transport-dashboard-view .transport-kpi-green { --transport-accent: #26925a; }
body.transport-dashboard-view .transport-kpi-blue { --transport-accent: #3986bd; }
body.transport-dashboard-view .transport-kpi-amber { --transport-accent: #d69a32; }
body.transport-dashboard-view .transport-kpi-violet { --transport-accent: #8870bf; }
body.transport-dashboard-view .transport-kpi-teal { --transport-accent: #259d91; }
body.transport-dashboard-view .truck-kpi.transport-kpi-green > span,
body.transport-dashboard-view .truck-kpi.transport-kpi-blue > span,
body.transport-dashboard-view .truck-kpi.transport-kpi-amber > span,
body.transport-dashboard-view .truck-kpi.transport-kpi-violet > span,
body.transport-dashboard-view .truck-kpi.transport-kpi-teal > span {
  min-height: 0;
  color: #657968;
  font-size: .8rem;
  line-height: 1.4;
}
body.transport-dashboard-view .truck-kpi.transport-kpi-green strong,
body.transport-dashboard-view .truck-kpi.transport-kpi-blue strong,
body.transport-dashboard-view .truck-kpi.transport-kpi-amber strong,
body.transport-dashboard-view .truck-kpi.transport-kpi-violet strong,
body.transport-dashboard-view .truck-kpi.transport-kpi-teal strong {
  margin-top: 10px;
  color: #193b2b;
  font-size: 1.45rem;
  line-height: 1.15;
}
body.transport-dashboard-view .truck-kpi > small {
  margin-top: 4px;
  color: #829184;
  font-size: .68rem;
}
body.transport-dashboard-view .truck-chart-grid.transport-analysis-grid,
body.transport-dashboard-view .truck-data-grid.transport-tables-grid,
body.transport-dashboard-view .truck-data-grid.transport-lower-grid {
  gap: 14px;
}
body.transport-dashboard-view .truck-chart-grid.transport-analysis-grid {
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr);
}
body.transport-dashboard-view .truck-panel {
  padding: 15px;
  border-color: #dce6d9;
  border-radius: 12px;
  background: #fff;
  color: #294331;
  box-shadow: 0 7px 20px rgba(28, 65, 40, .05);
}
body.transport-dashboard-view .truck-panel header {
  min-height: 44px;
  margin-bottom: 10px;
}
body.transport-dashboard-view .truck-panel header h2 {
  color: #244631;
  font-size: .94rem;
  line-height: 1.35;
}
body.transport-dashboard-view .truck-panel-label {
  margin-bottom: 5px;
  color: #718574;
  font-size: .62rem;
}
body.transport-dashboard-view .truck-panel table {
  color: #334c38;
  font-size: .76rem;
}
body.transport-dashboard-view .truck-panel th {
  padding: 9px 8px;
  border-color: #e1e9de;
  background: #f1f6ef;
  color: #536d56;
  font-size: .63rem;
  letter-spacing: .025em;
}
body.transport-dashboard-view .truck-panel td {
  padding: 9px 8px;
  border-color: #edf1eb;
  color: #304634;
  font-size: .76rem;
}
body.transport-dashboard-view .truck-panel tbody tr,
body.transport-dashboard-view .truck-panel tbody tr:nth-child(even) {
  background: #fff;
}
body.transport-dashboard-view .truck-panel tbody tr:hover,
body.transport-dashboard-view .truck-panel tbody tr:hover td {
  background: #f1f7ef;
  color: #1d482e;
}
body.transport-dashboard-view .truck-panel tfoot th {
  padding: 10px 8px;
  border-color: #d5e1d1;
  border-top: 2px solid #b8cdb2;
  background: #eaf3e7;
  color: #23452e;
  font-size: .76rem;
}
body.transport-dashboard-view .truck-empty,
body.transport-dashboard-view .truck-efficiency-empty { color: #718574; }
body.transport-dashboard-view .truck-pie-layout { gap: 14px; }
body.transport-dashboard-view .truck-pie-row { padding: 9px 10px; border-color: #e2e9df; border-radius: 8px; background: #f7faf5; }
body.transport-dashboard-view .truck-pie-row-main { color: #314a36; font-size: .78rem; }
body.transport-dashboard-view .truck-pie-row-values { color: #627765; font-size: .7rem; }
body.transport-dashboard-view .truck-pie-row-values b { color: #829184; }
body.transport-dashboard-view .truck-pie-total { fill: #254b32; }
body.transport-dashboard-view .truck-pie-total-label,
body.transport-dashboard-view .truck-pie-total-unit { fill: #6a806c; }
body.transport-dashboard-view .truck-efficiency-copy { color: #405a45; font-size: .75rem; }
body.transport-dashboard-view .truck-efficiency-copy span { color: #28754a; }
body.transport-dashboard-view .truck-efficiency-track { height: 8px; background: #e6eee3; }
body.transport-dashboard-view .truck-efficiency-track span { background: #39a365; }
body.transport-dashboard-view .transport-chart-legend { gap: 14px; margin: 0 0 8px 54px; }
body.transport-dashboard-view .transport-chart-legend span { color: #607763; font-size: .7rem; }
body.transport-dashboard-view .transport-chart-legend i { width: 9px; height: 9px; }
body.transport-dashboard-view .transport-chart-gridline { stroke: #e6ede3; }
body.transport-dashboard-view .transport-chart-axis { fill: #718574; font-size: 11px; }
body.transport-dashboard-view .transport-chart-period { fill: #526a56; font-size: 10px; }
body.transport-dashboard-view .machine-dashboard-layout .truck-dashboard-content { gap: 14px; }
body.transport-dashboard-view .machine-ranking-panel .ranking-list li { border-color: #e4ebe1; }
body.transport-dashboard-view .machine-ranking-panel .ranking-position { color: #315a39; background: #e7f1e3; }
body.transport-dashboard-view .machine-ranking-panel .ranking-person strong,
body.transport-dashboard-view .machine-ranking-panel .ranking-value { color: #2d4733; }
body.transport-dashboard-view .machine-ranking-panel .ranking-person small,
body.transport-dashboard-view .machine-ranking-panel .ranking-value small,
body.transport-dashboard-view .machine-ranking-panel .ranking-empty { color: #7c8d7e; }
body.transport-dashboard-view .machine-hours-panel { padding: 16px; }
body.transport-dashboard-view .machine-chart-gridline { stroke: #e3ebe0; }
body.transport-dashboard-view .machine-chart-axis-label,
body.transport-dashboard-view .machine-chart-date-label { fill: #718574; }
body.transport-dashboard-view .machine-chart-summary > div { border-left-color: #70a35c; border-radius: 7px; background: #f3f7f1; }
body.transport-dashboard-view .machine-chart-summary strong { color: #244631; }
body.transport-dashboard-view .machine-chart-summary strong small,
body.transport-dashboard-view .machine-chart-summary span { color: #718574; }
body.transport-dashboard-view .machine-chart-bar { fill: #59a86c; }
body.transport-dashboard-view .machine-chart-bar-peak { fill: #e3ad41; }

/* Ajustes responsivos e de impressão */
@media (min-width: 821px) {
  #viewDashboard { margin-left: -30px; }
}

@media (max-width: 820px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { padding: 16px; }
  .sidebar-brand { padding-bottom: 16px; }
  .sidebar-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sidebar .nav-label, .sidebar-footer { grid-column: 1 / -1; }
  .sidebar-footer { grid-template-columns: 1fr 1fr; margin-top: 14px; }
  .agricola-page { padding: 18px 14px 34px; }
  body:not(.transport-dashboard-view) .agricola-page > .topbar { margin-top: -18px; margin-inline: -14px; }
  .topbar { align-items: flex-start; flex-direction: column; }
  .truck-dashboard { grid-template-columns: 1fr; }
  .truck-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .truck-filter-title { grid-column: 1 / -1; }
  .truck-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #relatorioCaminhoes .relatorio-caminhoes-resumo,
  #relatorioProducaoFazenda .relatorio-caminhoes-resumo,
  #relatorioMotoristaCaminhoes .relatorio-caminhoes-resumo,
  #relatorioMaquinas .relatorio-caminhoes-resumo,
  #relatorioHorasOperador .relatorio-caminhoes-resumo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-ranking-grid { grid-template-columns: 1fr; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .relatorio-caminhoes-header { align-items: flex-start; flex-direction: column; }
  .relatorio-caminhoes-header .secondary-btn { width: 100%; }
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cadastro-form.empreiteiro-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #formMoagem { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #formMoagem .actions-row { grid-column: span 1; gap: 6px; }
  #formMoagem .moagem-talhao-resumo { grid-column: 1 / -1; gap: 4px 10px; padding: 8px 10px; }
  .moagem-talhao-resumo .moagem-talhao-controle { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #formMovimentacaoMaquinas .machine-hours-actions { grid-column: span 2; }
  #formMovimentacao .actions-row { grid-column: auto; }
  #formMovimentacao .linha-pesos { grid-column: 1 / -1; }
  #formMovimentacao .linha-pesos > .actions-row { align-self: start; margin-top: 0; padding: 0; }
  #formMovimentacao .linha-pesos > .actions-row button { flex: 0 1 auto; width: auto; }
  #viewEquipamentos > .panel:not(.table-panel) { padding: 14px; padding-bottom: 6px; }
  #viewEquipamentos > .panel:not(.table-panel) .form-grid { gap: 8px; }
  #maquinaMensagem { margin-top: 3px; }
  .filters-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.transport-dashboard-view .truck-filter-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.transport-dashboard-view .machine-dashboard-layout .truck-filter-form { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.transport-dashboard-view .truck-filter-actions,
  body.transport-dashboard-view .machine-dashboard-layout .truck-filter-actions { grid-column: 1 / -1; }
  body.transport-dashboard-view .truck-kpi-grid.transport-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.transport-dashboard-view .truck-kpi-grid.machine-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.transport-dashboard-view .truck-chart-grid.transport-analysis-grid { grid-template-columns: minmax(0, 1fr); }
  body.transport-dashboard-view .truck-data-grid.transport-tables-grid,
  body.transport-dashboard-view .truck-data-grid.transport-lower-grid { grid-template-columns: minmax(0, 1fr); }
  body.transport-dashboard-view .transport-heading-actions { flex-wrap: wrap; }
}

@media (max-width: 620px) {
  #formMoagem { grid-template-columns: minmax(0, 1fr); }
  #formMoagem .campo-moagem-reduzido { max-width: 100%; }
  #formMoagem .actions-row,
  #formMoagem .moagem-talhao-resumo { grid-column: 1 / -1; }
  .moagem-talhao-resumo { grid-template-columns: minmax(0, 1fr); }
  .moagem-talhao-resumo > .moagem-talhao-real { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 12px; }
  .panel { padding: 16px; }
  .cadastro-form.empreiteiro-form { grid-template-columns: minmax(0, 1fr); }
  #relatorioHorasOperador .relatorio-caminhoes-tabela table { font-size: .64rem; }
  #relatorioHorasOperador .relatorio-caminhoes-tabela th,
  #relatorioHorasOperador .relatorio-caminhoes-tabela td { padding: 5px 3px; }
  #relatorioHorasOperador .relatorio-caminhoes-tabela th { font-size: .58rem; letter-spacing: 0; }
  .dashboard-summary { gap: 8px; }
  .dashboard-metric { padding: 14px 12px; }
  .dashboard-metric strong { font-size: 1.25rem; }
  .truck-filter-form, .truck-data-grid, .truck-chart-grid { grid-template-columns: 1fr; }
  .truck-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .truck-panel { padding: 11px; }
  body.transport-dashboard-view .agricola-page { padding: 0 12px 24px; }
  .topbar { margin: 0 -12px; padding: 10px 12px; }
  body.transport-dashboard-view .page-heading { gap: 8px; }
  body.transport-dashboard-view .page-heading h1 { font-size: 1.18rem; }
  body.transport-dashboard-view .transport-heading-actions { width: 100%; justify-content: space-between; }
  body.transport-dashboard-view .transport-mode-switch { max-width: 100%; }
  body.transport-dashboard-view .transport-mode-switch button { padding-inline: 7px; font-size: .62rem; }
  body.transport-dashboard-view .truck-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.transport-dashboard-view .machine-dashboard-layout .truck-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.transport-dashboard-view .truck-filter-apply,
  body.transport-dashboard-view .truck-filter-clear,
  body.transport-dashboard-view .truck-filter-print { min-width: 0; font-size: .62rem; }
  body.transport-dashboard-view .truck-kpi-grid.transport-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.transport-dashboard-view .truck-kpi.transport-kpi-green,
  body.transport-dashboard-view .truck-kpi.transport-kpi-blue,
  body.transport-dashboard-view .truck-kpi.transport-kpi-amber,
  body.transport-dashboard-view .truck-kpi.transport-kpi-violet,
  body.transport-dashboard-view .truck-kpi.transport-kpi-teal { min-height: 78px; padding: 8px; }
  body.transport-dashboard-view .truck-kpi.transport-kpi-green strong,
  body.transport-dashboard-view .truck-kpi.transport-kpi-blue strong,
  body.transport-dashboard-view .truck-kpi.transport-kpi-amber strong,
  body.transport-dashboard-view .truck-kpi.transport-kpi-violet strong,
  body.transport-dashboard-view .truck-kpi.transport-kpi-teal strong { font-size: .96rem; }
  body.transport-dashboard-view .transport-analysis-grid,
  body.transport-dashboard-view .transport-tables-grid,
  body.transport-dashboard-view .transport-lower-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.transport-dashboard-view .truck-pie-layout { grid-template-columns: minmax(0, 1fr); }
  body.transport-dashboard-view .truck-pie-chart { width: min(100%, 180px); }
  body.transport-dashboard-view .transport-chart-legend { margin-left: 4px; }
  .form-grid { grid-template-columns: 1fr; gap: 10px; }
  #formMovimentacaoMaquinas .machine-hours-actions { grid-column: span 1; }
  #formMovimentacao .linha-pesos { grid-column: 1 / -1; gap: 8px; }
  #formMovimentacao .linha-pesos .field { flex: 1 1 130px; max-width: 150px; min-width: 0; }
  #formMovimentacao .actions-row { justify-content: flex-end; margin-top: 0; }
  #formMovimentacao .linha-pesos > .actions-row { flex: 0 1 auto; margin-top: 0; }
  #formMovimentacao .linha-pesos > .actions-row button { flex: 0 1 auto; min-width: 0; width: auto; padding-inline: 10px; }
  .table-header { align-items: stretch; flex-direction: column; }
  .table-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .table-actions button { min-width: 0; }
  .table-actions .moagem-grid-search { grid-column: 1 / -1; width: 100%; min-width: 0; }
  .filters-grid { grid-template-columns: 1fr; gap: 8px; }
  .filter-actions { align-self: stretch; }
  #viewEquipamentos .filters-grid .filter-actions { grid-column: 1; }
  .inline-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inline-actions button { min-width: 0; }
  .cadastro-header { align-items: flex-start; flex-direction: column; padding: 20px; }
  .cadastro-header .primary-btn { width: 100%; }
  .cadastro-tools { width: 100%; flex-direction: column; align-items: stretch; }
  .cadastro-busca { width: 100%; }
  .cadastro-form,
  .cadastro-form.funcionarios-form { grid-template-columns: 1fr; padding: 20px; }
  .cadastro-form.maquinas-implementos-form,
  .cadastro-form.veiculos-form,
  .cadastro-form.plantios-form { grid-template-columns: 1fr; }
  .cadastro-table-wrap { margin: 16px 20px 20px; }
  .cadastro-form .actions-row { grid-column: 1; }
  .cadastro-form .veiculo-descricao-field { grid-column: 1; }
  .cadastro-rateio-row { grid-template-columns: 1fr; }
  .cadastro-panel .mensagem { margin-inline: 20px; }
}

@media (max-width: 480px) {
  .truck-pie-layout { grid-template-columns: 1fr; }
  .truck-pie-chart { width: min(100%, 210px); }
  .truck-pie-details { max-height: 220px; }
}

@media (max-width: 400px) {
  .sidebar-nav { grid-template-columns: 1fr; }
  .sidebar-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sidebar-footer .sidebar-action { gap: 6px; padding-inline: 7px; font-size: .74rem; }
  .topbar { padding: 16px; }
  .brand { font-size: 1.2rem; }
  .page-heading h1 { font-size: 1.45rem; }
  #formMovimentacaoMaquinas .machine-hours-actions { gap: 5px; }
  #formMovimentacaoMaquinas .actions-row { gap: 4px; }
}

.estimativa-controles {
  display: grid;
  grid-template-columns: minmax(130px, .8fr) minmax(160px, 1fr) minmax(190px, 1.1fr);
  align-items: start;
  gap: 14px 18px;
  padding: 18px;
  border: 1px solid #dfe8de;
  border-radius: 10px;
  background: linear-gradient(135deg, #fff 0%, #f7faf6 100%);
}

.estimativa-controles :focus-visible {
  outline: 2px solid #1d7a42;
  outline-offset: 2px;
}

.estimativa-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.estimativa-intro {
  font-size: .82rem;
  font-style: italic;
}

.estimativa-controles .field small {
  display: block;
  margin-top: 5px;
  color: #607066;
  font-size: .72rem;
}

.estimativa-acoes {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.estimativa-acoes button,
.estimativa-table-tools button {
  min-height: 40px;
}

.estimativa-acoes button {
  width: 100%;
  padding-inline: 8px;
  font-size: .82rem;
}

.estimativa-controles > .mensagem {
  grid-column: 1 / -1;
  margin: 0;
  min-height: 18px;
}

.estimativa-resumo {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 12px;
  margin: 16px 0 20px;
}

.estimativa-resumo article {
  display: grid;
  align-content: space-between;
  gap: 8px;
  min-height: 92px;
  padding: 15px 16px;
  border: 1px solid #dfe8de;
  border-radius: 13px;
  background: linear-gradient(145deg, #fff 0%, #f9fbf8 100%);
  box-shadow: 0 2px 8px rgb(22 58 38 / 4%);
}

.estimativa-resumo span {
  color: #607066;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .01em;
}

.estimativa-resumo strong {
  color: #193b2c;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

.estimativa-resumo article:nth-last-child(2) {
  border-color: #d7e4f4;
  background: linear-gradient(145deg, #fff 0%, #f4f8fd 100%);
}

.estimativa-resumo article:last-child {
  border-color: #dbe5dc;
  background: linear-gradient(145deg, #fff 0%, #f3f8f3 100%);
}

#estimativaDiferencaMoagem.is-positive {
  color: #17633d;
}

#estimativaDiferencaMoagem.is-negative {
  color: #a63e35;
}

#estimativaDiferencaMoagem.is-neutral {
  color: #536457;
}

.estimativa-table-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  padding: 22px 22px 18px;
  border-bottom: 1px solid #e6ece6;
}

.estimativa-table-title {
  min-width: 220px;
}

.estimativa-table-title .eyebrow {
  margin: 0 0 5px;
  color: #627568;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.estimativa-table-title h2 {
  margin: 0;
  color: #193b2c;
  font-size: 1.25rem;
}

.estimativa-table-title > p:not(.eyebrow) {
  margin: 6px 0 0;
  color: #66746a;
  font-size: .85rem;
}

.estimativa-modo-badge {
  display: inline-flex;
  align-items: center;
  margin-top: 10px;
  padding: 5px 9px;
  border: 1px solid #e7d5a5;
  border-radius: 999px;
  background: #fff8e6;
  color: #76550e;
  font-size: .75rem;
  font-weight: 700;
}

.estimativa-modo-badge[hidden],
#voltarEstimativaAtualBtn[hidden] {
  display: none;
}

.estimativa-table-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 9px;
  min-width: 0;
}

.estimativa-historico-controle {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto;
  align-items: end;
  gap: 9px;
  min-width: 0;
}

.estimativa-preenchimento-lote {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border-bottom: 1px solid #e6ece6;
  background: #f8faf7;
}

.estimativa-preenchimento-lote label {
  color: #43584a;
  font-size: .8rem;
  font-weight: 700;
}

.estimativa-preenchimento-lote input {
  width: 150px;
  min-height: 38px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.estimativa-preenchimento-lote button {
  min-height: 38px;
}

.estimativa-preenchimento-lote small {
  color: #68766d;
  font-size: .75rem;
}

#viewEstimativas [hidden] {
  display: none !important;
}

.estimativa-tabela td[data-label="Ações"] {
  text-align: center;
  white-space: nowrap;
}

.estimativa-excluir-talhao {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: .95rem;
  line-height: 1;
}

.estimativa-tabela-panel {
  overflow: hidden;
  padding: 0;
}

#viewEstimativas .table-panel-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  padding: 20px;
}

.estimativa-historico {
  min-width: min(230px, 100%);
  margin: 0;
}

#viewEstimativas .table-wrap {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: min(58vh, 620px);
  border-bottom: 1px solid #e7ece7;
}

.estimativa-tabela {
  width: 100%;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-variant-numeric: tabular-nums;
}

.estimativa-tabela th {
  position: sticky;
  z-index: 1;
  top: 0;
  padding: 7px 5px;
  background: #f2f6f1;
  color: #43584a;
  font-size: .66rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  white-space: normal;
  border-bottom: 1px solid #dce5dc;
}

.estimativa-tabela th:nth-child(1) { width: 7%; }
.estimativa-tabela th:nth-child(2) { width: 10%; }
.estimativa-tabela th:nth-child(3) { width: 9%; }
.estimativa-tabela th:nth-child(4) { width: 9%; }
.estimativa-tabela th:nth-child(5) { width: 9%; }
.estimativa-tabela th:nth-child(6) { width: 6%; }
.estimativa-tabela th:nth-child(7) { width: 13%; }
.estimativa-tabela th:nth-child(8) { width: 13%; }
.estimativa-tabela th:nth-child(9) { width: 20%; }
.estimativa-tabela th:nth-child(10) { width: 4%; }

.estimativa-tabela td {
  padding: 5px 5px;
  border-bottom: 1px solid #edf1ed;
  color: #35483b;
  font-size: .7rem;
  line-height: 1.2;
  vertical-align: middle;
  white-space: normal;
  overflow-wrap: anywhere;
  overflow: hidden;
  text-overflow: clip;
}

.estimativa-tabela tbody tr {
  background: #fff;
}

.estimativa-tabela tbody tr:nth-child(even) {
  background: #fbfcfb;
}

.estimativa-tabela tbody tr:hover {
  background: #f4f8f3;
}

.estimativa-tabela td::before {
  content: none;
}

.estimativa-tabela td[data-label="Ações"] {
  padding-right: 2px;
  padding-left: 2px;
  text-align: center;
}

.estimativa-tabela .estimativa-codigo-talhao {
  display: inline-flex;
  min-width: 34px;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 7px;
  background: #edf4ed;
  color: #27563a;
  font-weight: 700;
}

.estimativa-tabela .estimativa-numero {
  text-align: right;
  font-weight: 600;
  white-space: normal;
  overflow-wrap: anywhere;
}

.estimativa-tabela .estimativa-diferenca.is-positive {
  color: #17633d;
  font-weight: 700;
}

.estimativa-tabela .estimativa-diferenca.is-negative {
  color: #a63e35;
  font-weight: 700;
}

.estimativa-tabela .estimativa-diferenca.is-neutral {
  color: #536457;
}

.estimativa-tabela input {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 29px;
  padding: 3px 4px;
  text-align: right;
  font-size: .7rem;
  font-variant-numeric: tabular-nums;
}

.estimativa-tabela input[type="number"],
#estimativaProdutividadePadrao {
  appearance: textfield;
  -moz-appearance: textfield;
}

.estimativa-tabela input[type="number"]::-webkit-inner-spin-button,
.estimativa-tabela input[type="number"]::-webkit-outer-spin-button,
#estimativaProdutividadePadrao::-webkit-inner-spin-button,
#estimativaProdutividadePadrao::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.estimativa-tabela .estimativa-valor-historico {
  display: block;
  padding: 7px 8px;
  border: 1px solid #e6ebe6;
  border-radius: 7px;
  background: #f6f8f6;
  color: #536457;
  text-align: right;
  white-space: nowrap;
}

.estimativa-tabela input:disabled {
  color: #536457;
  background: #f2f5f2;
}

.estimativa-table-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  padding: 12px 20px 15px;
  color: #68766d;
  font-size: .78rem;
  line-height: 1.45;
}

.estimativa-table-note i {
  margin-top: 2px;
  color: #64826b;
}

@media (max-width: 760px) {
  .estimativa-controles { grid-template-columns: 1fr; padding: 17px; }
  .estimativa-controles > .mensagem { grid-column: 1; }
  .estimativa-acoes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .estimativa-acoes button { width: 100%; }
  .estimativa-resumo { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .estimativa-resumo article { min-height: 82px; padding: 12px; }
  .estimativa-table-heading { align-items: stretch; flex-direction: column; gap: 14px; padding: 18px 16px; }
  .estimativa-table-tools { display: grid; grid-template-columns: 1fr 1fr; align-items: end; }
  .estimativa-historico-controle { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; }
  .estimativa-historico { min-width: 0; }
  .estimativa-table-tools button { width: 100%; }
  #viewEstimativas .table-wrap { max-height: none; overflow: hidden; border-bottom: 1px solid #e7ece7; }
  .estimativa-tabela td.empty {
    text-align: center;
  }
  .estimativa-tabela input { min-height: 28px; padding: 3px 4px; }
  .estimativa-tabela .estimativa-valor-historico { padding: 3px 4px; }
  .estimativa-table-note { padding: 10px 15px 14px; }
  #formMovimentacaoMaquinas .actions-row button { padding-inline: 7px; font-size: .76rem; }
  #formMovimentacao .actions-row,
  .table-actions,
  .inline-actions { grid-template-columns: 1fr; }
  #formMovimentacao .actions-row { flex-direction: column; align-items: stretch; }
  #formMovimentacao .actions-row button { width: 100%; }
  body.transport-dashboard-view .truck-filter-form { grid-template-columns: minmax(0, 1fr); }
  body.transport-dashboard-view .transport-heading-actions { align-items: flex-start; flex-direction: column; }
}

@media (min-width: 761px) and (max-width: 860px) {
  .estimativa-controles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .estimativa-acoes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
  .estimativa-acoes { grid-template-columns: 1fr; }
  .estimativa-table-tools { grid-template-columns: 1fr; }
  .estimativa-historico-controle { grid-column: auto; }
}

@media (max-width: 620px) {
  body.transport-dashboard-view .topbar { margin-inline: -12px; }
}

@media (max-width: 420px) {
  .moagem-talhao-resumo { gap: 4px 12px; padding: 8px 10px; }
  .moagem-talhao-resumo span,
  .moagem-talhao-resumo strong { font-size: .7rem; }
}

@media (max-width: 360px) {
  .moagem-talhao-resumo > .moagem-talhao-real { grid-template-columns: minmax(0, 1fr); }
}

@page { size: A4 portrait; margin: 8mm; }
@page truck-report { size: A4 landscape; margin: 8mm; }
@page driver-report { size: A4 portrait; margin: 8mm; }
@page machine-hours-report { size: A4 portrait; margin: 8mm; }
@page farm-production-report { size: A4 portrait; margin: 8mm; }
@page registry-report {
  size: A4 portrait;
  margin: 8mm;
  @bottom-right {
    content: "Página " counter(page) " de " counter(pages);
    color: #526b58;
    font-size: 8pt;
  }
}

@media print {
  body { background: #fff !important; color: #1d3525 !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  body * { visibility: hidden !important; }
  #viewDashboard,
  #viewDashboard .page-heading,
  #viewDashboard .page-heading *,
  .truck-dashboard-content,
  .truck-dashboard-content * { visibility: visible !important; }
  .sidebar, .topbar, #dashboardMensagem, .machine-dashboard,
  .truck-filter-panel, #atualizarDashboardBtn, .transport-mode-switch { display: none !important; }
  .app-shell { display: block !important; min-height: 0 !important; }
  .agricola-page { padding: 0 !important; overflow: visible !important; }
  #viewDashboard { display: block !important; position: static !important; animation: none !important; }
  #viewDashboard .page-heading { display: block !important; margin: 0 0 6px !important; padding: 0 !important; }
  #viewDashboard .dashboard-print-heading-content,
  body.print-machine-dashboard .machine-print-heading { display: flex !important; align-items: center !important; gap: 4mm !important; }
  .dashboard-print-logo { display: block !important; flex: 0 0 auto !important; width: 24mm !important; max-height: 18mm !important; object-fit: contain !important; }
  #viewDashboard .page-heading h1 { margin: 0; color: #1d3525 !important; font-size: 16pt !important; }
  .truck-print-summary { display: block !important; margin: 3px 0 0; color: #36563b !important; font-size: 8pt; line-height: 1.35; }
  .truck-dashboard { display: block !important; margin: 0 !important; color: #1d3525 !important; }
  .truck-dashboard-content { display: block !important; }
  .truck-kpi-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 4px !important; margin-bottom: 5px; }
  .truck-data-grid, .truck-chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 4px !important; margin-bottom: 4px; }
  .truck-kpi, .truck-panel { break-inside: avoid !important; page-break-inside: avoid !important; border: 1px solid #8ba18d !important; background: #fff !important; box-shadow: none !important; color: #1d3525 !important; }
  .truck-kpi { min-height: 36px !important; padding: 4px 6px !important; }
  .truck-kpi > span { min-height: 0 !important; font-size: 6.5pt !important; line-height: 1.15 !important; }
  .truck-kpi strong { margin-top: 2px !important; font-size: 8.5pt !important; }
  .truck-kpi > small { margin-top: 1px !important; font-size: 5pt !important; }
  .truck-kpi span, .truck-kpi strong, .truck-kpi small,
  .truck-panel header h2, .truck-panel table, .truck-panel td,
  .truck-pie-row-main, .truck-pie-row-values { color: #1d3525 !important; }
  .truck-panel { padding: 5px !important; }
  .truck-panel header { min-height: 0 !important; margin-bottom: 4px !important; }
  .truck-panel header h2 { font-size: 9pt !important; }
  .truck-panel-label { margin-bottom: 2px !important; font-size: 6pt !important; }
  .truck-panel-label, .truck-pie-row-values b { color: #456a4b !important; }
  .truck-panel table { font-size: 7pt !important; }
  .truck-panel th { padding: 4px !important; background: #e8efe6 !important; color: #294c30 !important; font-size: 6pt !important; }
  .truck-panel td { padding: 4px !important; font-size: 7pt !important; }
  .truck-table-wrap { overflow: visible !important; }
  .truck-panel table { min-width: 0 !important; }
  .truck-panel tbody tr:nth-child(even) { background: #f0f5ed !important; }
  .truck-pie-layout { grid-template-columns: 125px minmax(0, 1fr) !important; gap: 5px !important; }
  .truck-pie-chart { width: 125px !important; }
  .truck-pie-details { max-height: none !important; overflow: visible !important; }
  .truck-pie-row { gap: 2px 5px !important; padding: 3px 4px !important; }
  .truck-pie-row-main { font-size: 7.5pt !important; }
  .truck-pie-row-values { gap: 4px !important; font-size: 7pt !important; }
  .truck-pie-row-values b { font-size: 6pt !important; }
  .truck-pie-chart { filter: none !important; }
  .truck-efficiency-list { gap: 5px !important; }
  .truck-efficiency-item { gap: 2px !important; }
  .truck-efficiency-copy { font-size: 7.5pt !important; }
  .truck-efficiency-track { height: 4px !important; }
  .truck-efficiency-copy, .truck-efficiency-copy span { color: #1d3525 !important; }
  .truck-efficiency-track { border: 1px solid #9aab99; background: #e3e9e0 !important; }
  .truck-efficiency-track span { background: #347544 !important; }

  body.print-machine-dashboard * { visibility: hidden !important; }
  body.print-machine-dashboard #viewDashboard,
  body.print-machine-dashboard .machine-dashboard,
  body.print-machine-dashboard .machine-dashboard * { visibility: visible !important; }
  body.print-machine-dashboard .machine-dashboard { display: block !important; margin: 0 !important; }
  body.print-machine-dashboard .machine-print-heading { margin: 0 0 6px !important; padding: 0 !important; }
  body.print-machine-dashboard .machine-print-heading .eyebrow { margin: 0 0 3px !important; color: #66826a !important; font-size: 6pt !important; }
  body.print-machine-dashboard .machine-print-heading h1,
  body.print-machine-dashboard .machine-print-heading h2 { margin: 0 !important; color: #193b2c !important; font-size: 16pt !important; }
  body.print-machine-dashboard .machine-print-summary { display: block !important; margin: 3px 0 0 !important; color: #36563b !important; font-size: 8pt !important; line-height: 1.35 !important; }
  body.print-machine-dashboard .machine-dashboard-heading { display: none !important; }
  body.print-machine-dashboard .machine-dashboard-layout { display: block !important; margin: 0 !important; }
  body.print-machine-dashboard .machine-dashboard-layout > .truck-filter-panel,
  body.print-machine-dashboard #viewDashboard > .truck-dashboard,
  body.print-machine-dashboard #viewDashboard > .page-heading,
  body.print-machine-dashboard #dashboardMensagem { display: none !important; }
  body.print-machine-dashboard .machine-dashboard-layout .truck-dashboard-content { display: block !important; }
  body.print-machine-dashboard .machine-dashboard-layout .truck-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 4px !important; margin-bottom: 4px !important; }
  body.print-machine-dashboard .machine-dashboard-layout .truck-kpi { min-height: 32px !important; padding: 4px 5px !important; }
  body.print-machine-dashboard .machine-dashboard-layout .truck-kpi > span { min-height: 0 !important; font-size: 6pt !important; }
  body.print-machine-dashboard .machine-dashboard-layout .truck-kpi strong { margin-top: 1px !important; font-size: 8pt !important; }
  body.print-machine-dashboard .machine-dashboard-layout .dashboard-ranking-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 4px !important; }
  body.print-machine-dashboard .machine-ranking-panel { padding: 4px !important; }
  body.print-machine-dashboard .machine-ranking-panel header { min-height: 0 !important; margin-bottom: 2px !important; }
  body.print-machine-dashboard .machine-ranking-panel header h2 { font-size: 7pt !important; }
  body.print-machine-dashboard .machine-ranking-panel .truck-panel-label { font-size: 5pt !important; }
  body.print-machine-dashboard .machine-ranking-panel .ranking-list { margin-top: 2px !important; }
  body.print-machine-dashboard .machine-ranking-panel .ranking-list li { min-height: 25px !important; gap: 3px !important; padding: 2px 0 !important; }
  body.print-machine-dashboard .machine-ranking-panel .ranking-position { width: 18px !important; height: 18px !important; flex-basis: 18px !important; font-size: 6pt !important; }
  body.print-machine-dashboard .machine-ranking-panel .ranking-person strong,
  body.print-machine-dashboard .machine-ranking-panel .ranking-value { color: #1d3525 !important; }
  body.print-machine-dashboard .machine-ranking-panel .ranking-person small,
  body.print-machine-dashboard .machine-ranking-panel .ranking-value small,
  body.print-machine-dashboard .machine-ranking-panel .ranking-empty { color: #52634f !important; }
  body.print-machine-dashboard .machine-ranking-panel .ranking-person strong,
  body.print-machine-dashboard .machine-ranking-panel .ranking-value { font-size: 6.5pt !important; }
  body.print-machine-dashboard .machine-ranking-panel .ranking-person small,
  body.print-machine-dashboard .machine-ranking-panel .ranking-value small { font-size: 5.5pt !important; }
  body.print-machine-dashboard .machine-hours-panel { margin-top: 4px !important; padding: 4px !important; }
  body.print-machine-dashboard .machine-hours-panel header { min-height: 0 !important; margin-bottom: 2px !important; }
  body.print-machine-dashboard .machine-hours-panel header h2 { font-size: 7pt !important; }
  body.print-machine-dashboard .machine-chart-summary { gap: 3px !important; margin-bottom: 2px !important; }
  body.print-machine-dashboard .machine-chart-summary > div { padding: 2px 4px !important; }
  body.print-machine-dashboard .machine-chart-summary strong { color: #1d3525 !important; font-size: 7pt !important; }
  body.print-machine-dashboard .machine-chart-summary strong small,
  body.print-machine-dashboard .machine-chart-summary span { color: #52634f !important; font-size: 5.5pt !important; }
  body.print-machine-dashboard .machine-hours-chart { overflow: hidden !important; }
  body.print-machine-dashboard .machine-hours-chart svg { width: 100% !important; max-width: 100% !important; height: auto !important; max-height: 90px !important; }
  body.print-machine-dashboard .machine-chart-gridline { stroke: #cbd8c8 !important; }
  body.print-machine-dashboard .machine-chart-axis-label,
  body.print-machine-dashboard .machine-chart-date-label { fill: #435744 !important; font-size: 9px !important; }
  body.print-machine-dashboard .machine-chart-bar { fill: #6b9b39 !important; }
  body.print-machine-dashboard .machine-chart-bar-peak { fill: #b18120 !important; }

  body.print-truck-report { page: truck-report; }
  body.print-truck-report * { visibility: hidden !important; }
  body.print-truck-report #viewRelatorios,
  body.print-truck-report #relatorioCaminhoes,
  body.print-truck-report #relatorioCaminhoes * { visibility: visible !important; }
  body.print-truck-report .sidebar,
  body.print-truck-report .topbar,
  body.print-truck-report #viewDashboard,
  body.print-truck-report #viewMovimentacao,
  body.print-truck-report #viewEquipamentos,
  body.print-truck-report #viewCadastros,
  body.print-truck-report #viewRelatorios > .page-heading,
  body.print-truck-report #relatoriosGrid,
  body.print-truck-report #formRelatorioCaminhoes,
  body.print-truck-report #voltarRelatoriosBtn,
  body.print-truck-report #mensagemRelatorioCaminhoes,
  body.print-truck-report .relatorio-caminhoes-acoes { display: none !important; }
  body.print-truck-report .app-shell { display: block !important; min-height: 0 !important; }
  body.print-truck-report .agricola-page { padding: 0 !important; overflow: visible !important; }
  body.print-truck-report #viewRelatorios { display: block !important; position: static !important; margin: 0 !important; animation: none !important; }
  body.print-truck-report #relatorioCaminhoes { display: grid !important; gap: 5px !important; margin: 0 !important; }
  body.print-truck-report .relatorio-caminhoes-header { margin: 0 !important; }
  body.print-truck-report .relatorio-caminhao-cabecalho { display: flex !important; align-items: center !important; gap: 4mm !important; }
  body.print-truck-report .relatorio-caminhao-logo { display: block !important; width: 24mm !important; max-height: 17mm !important; object-fit: contain !important; object-position: left center !important; opacity: 0.25 !important; }
  body.print-truck-report .relatorio-caminhao-cabecalho .eyebrow { margin-bottom: 2px !important; font-size: 6pt !important; }
  body.print-truck-report .relatorio-caminhoes-header .eyebrow { margin-bottom: 2px !important; font-size: 6pt !important; }
  body.print-truck-report .relatorio-caminhoes-header h2 { color: #193b2c !important; font-size: 14pt !important; }
  body.print-truck-report .relatorio-caminhoes-resumo { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 4px !important; }
  body.print-truck-report .relatorio-caminhoes-resumo .truck-kpi { min-height: 38px !important; padding: 4px 6px !important; }
  body.print-truck-report .relatorio-caminhoes-resumo .truck-kpi > span { min-height: 0 !important; font-size: 6pt !important; }
  body.print-truck-report .relatorio-caminhoes-resumo .truck-kpi strong { margin-top: 2px !important; font-size: 8pt !important; }
  body.print-truck-report .relatorio-caminhoes-tabela { min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body.print-truck-report .relatorio-caminhoes-tabela .table-header { margin: 0 0 3px !important; }
  body.print-truck-report .relatorio-caminhoes-tabela .table-header h2 { font-size: 8pt !important; }
  body.print-truck-report .relatorio-caminhoes-tabela .table-wrap { max-height: none !important; overflow: visible !important; border-left: 0 !important; }
  body.print-truck-report .relatorio-caminhoes-tabela table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; font-size: 6pt !important; }
  body.print-truck-report .relatorio-caminhoes-tabela thead { display: table-header-group !important; }
  body.print-truck-report #tbodyRelatorioCaminhoes { display: none !important; }
  body.print-truck-report #tbodyImpressaoRelatorioCaminhoes { display: table-row-group !important; }
  body.print-truck-report .relatorio-caminhoes-tabela tfoot { display: table-row-group !important; }
  body.print-truck-report .relatorio-caminhoes-tabela thead th,
  body.print-truck-report .relatorio-caminhoes-tabela tfoot th { position: static !important; }
  body.print-truck-report .relatorio-caminhoes-tabela .sort-arrow { display: none !important; }
  body.print-truck-report .relatorio-caminhoes-tabela tr { break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-truck-report .relatorio-caminhoes-tabela th,
  body.print-truck-report .relatorio-caminhoes-tabela td { padding: 3px 2px !important; font-size: 6pt !important; white-space: normal !important; overflow-wrap: anywhere !important; }
  body.print-truck-report .relatorio-caminhoes-tabela tr.subtotal-dia th { border-top: 1px solid #8eaa88 !important; background: #e7f0e4 !important; color: #193b2c !important; text-align: right !important; }
  body.print-truck-report .relatorio-caminhoes-tabela tr.subtotal-dia th:first-child { text-align: left !important; }
  body.print-truck-report .relatorio-caminhoes-tabela tfoot th { background: #e7f0e4 !important; color: #193b2c !important; }

  body.print-driver-report { page: driver-report; }
  body.print-driver-report * { visibility: hidden !important; }
  body.print-driver-report #viewRelatorios,
  body.print-driver-report #relatorioMotoristaCaminhoes,
  body.print-driver-report #relatorioMotoristaCaminhoes * { visibility: visible !important; }
  body.print-driver-report .sidebar,
  body.print-driver-report .topbar,
  body.print-driver-report #viewDashboard,
  body.print-driver-report #viewMovimentacao,
  body.print-driver-report #viewEquipamentos,
  body.print-driver-report #viewCadastros,
  body.print-driver-report #viewRelatorios > .page-heading,
  body.print-driver-report #relatoriosGrid,
  body.print-driver-report #formRelatorioMotoristaCaminhoes,
  body.print-driver-report #voltarRelatorioMotoristaCaminhoesBtn,
  body.print-driver-report #mensagemRelatorioMotoristaCaminhoes,
  body.print-driver-report .relatorio-caminhoes-acoes { display: none !important; }
  body.print-driver-report .app-shell { display: block !important; min-height: 0 !important; }
  body.print-driver-report .agricola-page { padding: 0 !important; overflow: visible !important; }
  body.print-driver-report #viewRelatorios { display: block !important; position: static !important; margin: 0 !important; animation: none !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes { display: grid !important; gap: 5px !important; margin: 0 !important; }
  body.print-driver-report .relatorio-caminhoes-header { margin: 0 !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhao-cabecalho { display: flex !important; align-items: center !important; gap: 4mm !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhao-logo { display: block !important; width: 24mm !important; max-height: 17mm !important; object-fit: contain !important; object-position: left center !important; opacity: 0.25 !important; }
  body.print-driver-report #resumoFiltrosRelatorioMotoristaCaminhoes { display: block !important; margin: 0 0 3px !important; font-size: 7pt !important; line-height: 1.3 !important; }
  body.print-driver-report .relatorio-caminhoes-header .eyebrow { margin-bottom: 2px !important; font-size: 6pt !important; }
  body.print-driver-report .relatorio-caminhoes-header h2 { color: #193b2c !important; font-size: 14pt !important; }
  body.print-driver-report .relatorio-caminhoes-resumo { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 4px !important; }
  body.print-driver-report .relatorio-caminhoes-resumo .truck-kpi { min-height: 38px !important; padding: 4px 6px !important; }
  body.print-driver-report .relatorio-caminhoes-resumo .truck-kpi > span { min-height: 0 !important; font-size: 6pt !important; }
  body.print-driver-report .relatorio-caminhoes-resumo .truck-kpi strong { margin-top: 2px !important; font-size: 8pt !important; }
  body.print-driver-report .relatorio-caminhoes-tabela { min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body.print-driver-report .relatorio-caminhoes-tabela .table-wrap { max-height: none !important; overflow: visible !important; border: 0 !important; border-radius: 0 !important; }
  body.print-driver-report .relatorio-caminhoes-tabela table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; font-size: 7pt !important; }
  body.print-driver-report .relatorio-caminhoes-tabela thead { display: table-header-group !important; }
  body.print-driver-report .relatorio-caminhoes-tabela tfoot { display: table-row-group !important; }
  body.print-driver-report .relatorio-caminhoes-tabela tfoot[hidden] { display: none !important; }
  body.print-driver-report .relatorio-caminhoes-tabela thead th,
  body.print-driver-report .relatorio-caminhoes-tabela tfoot th { position: static !important; }
  body.print-driver-report .relatorio-caminhoes-tabela tr { break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th,
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td,
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela tbody tr,
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela tbody tr:hover,
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela tbody tr:hover td,
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela .subtotal-motorista { background: #fff !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .subtotal-motorista td { color: #193b2c !important; }
  body.print-driver-report .relatorio-caminhoes-tabela th,
  body.print-driver-report .relatorio-caminhoes-tabela td { padding: 3px 2px !important; font-size: 7pt !important; white-space: normal !important; overflow-wrap: anywhere !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(1),
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(1) { width: 14% !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(2),
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(2) { width: 30% !important; white-space: nowrap !important; overflow-wrap: normal !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(3),
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(3) { width: 12% !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(4),
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(4) { width: 12% !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(5),
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(5) { width: 16% !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(5) { width: 16% !important; text-align: right !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela th:nth-child(6),
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela td:nth-child(6) { width: 16% !important; }
  body.print-driver-report .relatorio-caminhoes-tabela tfoot th { background: #e7f0e4 !important; color: #193b2c !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-tabela tfoot th { font-size: 8pt !important; }
  body.print-driver-report .detalhamento-impressao-motorista:not([hidden]) {
    display: block !important;
    margin-top: 0 !important;
    break-before: page !important;
    page-break-before: always !important;
  }
  body.print-driver-report .detalhamento-impressao-motorista h2 {
    margin: 0 0 3mm !important;
    color: #193b2c !important;
    font-size: 12pt !important;
  }
  body.print-driver-report .detalhamento-motorista-grupo { break-inside: auto !important; page-break-inside: auto !important; }
  body.print-driver-report .detalhamento-motorista-grupo h3 {
    margin: 0 0 1.5mm !important;
    padding: 0 2px !important;
    color: #193b2c !important;
    font-size: 8pt !important;
    break-after: avoid-page !important;
    page-break-after: avoid !important;
  }
  body.print-driver-report .detalhamento-motorista-grupo .table-wrap {
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  body.print-driver-report .detalhamento-motorista-grupo table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 6.5pt !important;
  }
  body.print-driver-report .detalhamento-motorista-grupo thead { display: table-row-group !important; }
  body.print-driver-report .detalhamento-motorista-grupo thead th,
  body.print-driver-report .detalhamento-motorista-grupo tfoot th {
    border: 1px solid #000 !important;
  }
  body.print-driver-report .detalhamento-motorista-grupo tbody td {
    border: 1px solid #000 !important;
  }
  body.print-driver-report .detalhamento-motorista-grupo th,
  body.print-driver-report .detalhamento-motorista-grupo td {
    padding: 3px 2px !important;
    font-size: 6.5pt !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  body.print-driver-report .detalhamento-motorista-grupo th {
    background: #e7f0e4 !important;
    color: #193b2c !important;
  }
  body.print-driver-report .detalhamento-motorista-grupo tbody tr,
  body.print-driver-report .detalhamento-motorista-grupo tbody tr:nth-child(even),
  body.print-driver-report .detalhamento-motorista-grupo tbody tr:hover,
  body.print-driver-report .detalhamento-motorista-grupo tbody td,
  body.print-driver-report .detalhamento-motorista-grupo tbody tr:hover td {
    background: #fff !important;
  }
  body.print-driver-report .detalhamento-motorista-grupo tr { break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-driver-report .detalhamento-motorista-grupo tfoot th {
    background: #e7f0e4 !important;
    text-align: right !important;
    font-weight: 700 !important;
  }
  body.print-driver-report .detalhamento-motorista-grupo tfoot th:first-child { text-align: left !important; }
  body.print-driver-report .detalhamento-motorista-grupo thead th:nth-child(1),
  body.print-driver-report .detalhamento-motorista-grupo td:nth-child(1) { width: 10% !important; }
  body.print-driver-report .detalhamento-motorista-grupo thead th:nth-child(2),
  body.print-driver-report .detalhamento-motorista-grupo td:nth-child(2) { width: 9% !important; }
  body.print-driver-report .detalhamento-motorista-grupo thead th:nth-child(3),
  body.print-driver-report .detalhamento-motorista-grupo td:nth-child(3) { width: 18% !important; }
  body.print-driver-report .detalhamento-motorista-grupo thead th:nth-child(4),
  body.print-driver-report .detalhamento-motorista-grupo td:nth-child(4) { width: 14% !important; }
  body.print-driver-report .detalhamento-motorista-grupo thead th:nth-child(5),
  body.print-driver-report .detalhamento-motorista-grupo td:nth-child(5) { width: 8% !important; }
  body.print-driver-report .detalhamento-motorista-grupo thead th:nth-child(6),
  body.print-driver-report .detalhamento-motorista-grupo td:nth-child(6) { width: 8% !important; text-align: right !important; }
  body.print-driver-report .detalhamento-motorista-grupo thead th:nth-child(7),
  body.print-driver-report .detalhamento-motorista-grupo td:nth-child(7) { width: 14% !important; text-align: right !important; }
  body.print-driver-report .detalhamento-motorista-grupo thead th:nth-child(8),
  body.print-driver-report .detalhamento-motorista-grupo td:nth-child(8) { width: 19% !important; text-align: right !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes,
  body.print-driver-report #relatorioMotoristaCaminhoes * { color: #000 !important; }
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-resumo,
  body.print-driver-report #relatorioMotoristaCaminhoes .relatorio-caminhoes-resumo * {
    color: #000 !important;
  }
  body.print-driver-report #relatorioMotoristaCaminhoes table th,
  body.print-driver-report #relatorioMotoristaCaminhoes table td {
    border: 1px solid #000 !important;
  }

  body.print-farm-production-report { page: farm-production-report; }
  body.print-farm-production-report * { visibility: hidden !important; }
  body.print-farm-production-report #viewRelatorios,
  body.print-farm-production-report #relatorioProducaoFazenda,
  body.print-farm-production-report #relatorioProducaoFazenda * { visibility: visible !important; }
  body.print-farm-production-report .sidebar,
  body.print-farm-production-report .topbar,
  body.print-farm-production-report #viewDashboard,
  body.print-farm-production-report #viewMovimentacao,
  body.print-farm-production-report #viewEquipamentos,
  body.print-farm-production-report #viewCadastros,
  body.print-farm-production-report #viewRelatorios > .page-heading,
  body.print-farm-production-report #relatoriosGrid,
  body.print-farm-production-report #formRelatorioProducaoFazenda,
  body.print-farm-production-report #voltarRelatorioProducaoFazendaBtn,
  body.print-farm-production-report #mensagemRelatorioProducaoFazenda,
  body.print-farm-production-report #imprimirRelatorioProducaoFazendaBtn,
  body.print-farm-production-report #exportarRelatorioProducaoFazendaBtn { display: none !important; }
  body.print-farm-production-report .app-shell { display: block !important; min-height: 0 !important; }
  body.print-farm-production-report .agricola-page { padding: 0 !important; overflow: visible !important; }
  body.print-farm-production-report #viewRelatorios { display: block !important; position: static !important; margin: 0 !important; animation: none !important; }
  body.print-farm-production-report #relatorioProducaoFazenda { display: block !important; margin: 0 !important; }
  body.print-farm-production-report #relatorioProducaoFazenda > .relatorio-caminhoes-header,
  body.print-farm-production-report #relatorioProducaoFazenda > .relatorio-caminhoes-resumo { break-inside: avoid-page !important; page-break-inside: avoid !important; }
  body.print-farm-production-report .relatorio-caminhoes-header { margin: 0 !important; }
  body.print-farm-production-report .relatorio-fazenda-cabecalho { display: flex !important; align-items: center !important; gap: 4mm !important; }
  body.print-farm-production-report .relatorio-fazenda-logo { display: block !important; width: 24mm !important; max-height: 17mm !important; object-fit: contain !important; object-position: left center !important; opacity: 0.25 !important; }
  body.print-farm-production-report .relatorio-fazenda-cabecalho .eyebrow { margin-bottom: 2px !important; font-size: 6pt !important; }
  body.print-farm-production-report .relatorio-caminhoes-header h2 { color: #193b2c !important; font-size: 14pt !important; }
  body.print-farm-production-report #relatorioFazendaFiltrosAplicados { display: block !important; font-size: 6pt !important; }
  body.print-farm-production-report .relatorio-caminhoes-resumo { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 4px !important; margin: 5px 0 !important; }
  body.print-farm-production-report .relatorio-caminhoes-resumo .truck-kpi { min-height: 38px !important; padding: 4px 6px !important; }
  body.print-farm-production-report .relatorio-caminhoes-resumo .truck-kpi > span { min-height: 0 !important; font-size: 6pt !important; }
  body.print-farm-production-report .relatorio-caminhoes-resumo .truck-kpi strong { margin-top: 2px !important; font-size: 8pt !important; }
  body.print-farm-production-report .relatorio-caminhoes-tabela { min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body.print-farm-production-report .relatorio-caminhoes-tabela .table-header { margin: 0 0 3px !important; }
  body.print-farm-production-report .relatorio-caminhoes-tabela .table-header h2 { font-size: 8pt !important; }
  body.print-farm-production-report .relatorio-caminhoes-tabela .table-wrap { max-height: none !important; overflow: visible !important; border: 0 !important; border-radius: 0 !important; }
  body.print-farm-production-report .relatorio-caminhoes-tabela table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; font-size: 8pt !important; }
  body.print-farm-production-report #relatorioProducaoFazenda .relatorio-caminhoes-tabela thead { display: none !important; }
  body.print-farm-production-report #tbodyRelatorioProducaoFazenda { display: none !important; }
  body.print-farm-production-report #tbodyImpressaoRelatorioProducaoFazenda { display: table-row-group !important; }
  body.print-farm-production-report #tfootRelatorioProducaoFazenda { display: table-row-group !important; }
  body.print-farm-production-report #tfootRelatorioProducaoFazenda[hidden] { display: none !important; }
  body.print-farm-production-report .relatorio-caminhoes-tabela thead th,
  body.print-farm-production-report .relatorio-caminhoes-tabela tfoot th { position: static !important; }
  body.print-farm-production-report .relatorio-caminhoes-tabela tr { break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-farm-production-report #relatorioProducaoFazenda tbody tr.titulo-fazenda,
  body.print-farm-production-report #relatorioProducaoFazenda tbody tr.cabecalho-fazenda { break-after: avoid-page !important; page-break-after: avoid !important; }
  body.print-farm-production-report .relatorio-caminhoes-tabela th,
  body.print-farm-production-report .relatorio-caminhoes-tabela td { padding: 4px !important; font-size: 8pt !important; white-space: normal !important; overflow-wrap: anywhere !important; }
  body.print-farm-production-report .relatorio-caminhoes-tabela tfoot th { background: #e7f0e4 !important; color: #193b2c !important; }
  body.print-farm-production-report #resumoFazendasProducao:not([hidden]) { display: block !important; }
  body.print-farm-production-report .resumo-fazendas-relatorio { margin: 5mm 0 0 !important; padding: 3mm !important; border: 1px solid #e0eade !important; border-radius: 0 !important; box-shadow: none !important; break-inside: auto !important; }
  body.print-farm-production-report .resumo-fazendas-relatorio h2 { margin: 0 0 2mm !important; font-size: 10pt !important; }
  body.print-farm-production-report .resumo-fazendas-relatorio .table-wrap { overflow: visible !important; border: 0 !important; border-radius: 0 !important; }
  body.print-farm-production-report .resumo-fazendas-relatorio table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; font-size: 8pt !important; }
  body.print-farm-production-report .resumo-fazendas-relatorio thead { display: table-header-group !important; }
  body.print-farm-production-report .resumo-fazendas-relatorio tr { break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-farm-production-report .resumo-fazendas-relatorio th,
  body.print-farm-production-report .resumo-fazendas-relatorio td { position: static !important; padding: 3px !important; font-size: 8pt !important; white-space: normal !important; overflow-wrap: anywhere !important; }
  body.print-farm-production-report .resumo-fazendas-relatorio tfoot th { background: #e7f0e4 !important; color: #193b2c !important; }

  body.print-machine-report { page: truck-report; }
  body.print-machine-report * { visibility: hidden !important; }
  body.print-machine-report #viewRelatorios,
  body.print-machine-report #relatorioMaquinas,
  body.print-machine-report #relatorioMaquinas * { visibility: visible !important; }
  body.print-machine-report .sidebar,
  body.print-machine-report .topbar,
  body.print-machine-report #viewDashboard,
  body.print-machine-report #viewMovimentacao,
  body.print-machine-report #viewEquipamentos,
  body.print-machine-report #viewCadastros,
  body.print-machine-report #viewRelatorios > .page-heading,
  body.print-machine-report #relatoriosGrid,
  body.print-machine-report #formRelatorioMaquinas,
  body.print-machine-report #voltarRelatoriosMaquinasBtn,
  body.print-machine-report #mensagemRelatorioMaquinas,
  body.print-machine-report .relatorio-caminhoes-acoes { display: none !important; }
  body.print-machine-report .app-shell { display: block !important; min-height: 0 !important; }
  body.print-machine-report .agricola-page { padding: 0 !important; overflow: visible !important; }
  body.print-machine-report #viewRelatorios { display: block !important; position: static !important; margin: 0 !important; animation: none !important; }
  body.print-machine-report #relatorioMaquinas { display: grid !important; gap: 5px !important; margin: 0 !important; }
  body.print-machine-report .relatorio-caminhoes-header { margin: 0 !important; }
  body.print-machine-report .relatorio-caminhoes-header .eyebrow { margin-bottom: 2px !important; font-size: 6pt !important; }
  body.print-machine-report .relatorio-caminhoes-header h2 { color: #193b2c !important; font-size: 14pt !important; }
  body.print-machine-report .relatorio-caminhoes-resumo { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 4px !important; }
  body.print-machine-report .relatorio-caminhoes-resumo .truck-kpi { min-height: 38px !important; padding: 4px 6px !important; }
  body.print-machine-report .relatorio-caminhoes-resumo .truck-kpi > span { min-height: 0 !important; font-size: 6pt !important; }
  body.print-machine-report .relatorio-caminhoes-resumo .truck-kpi strong { margin-top: 2px !important; font-size: 8pt !important; }
  body.print-machine-report .relatorio-caminhoes-tabela { min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body.print-machine-report .relatorio-caminhoes-tabela .table-header { margin: 0 0 3px !important; }
  body.print-machine-report .relatorio-caminhoes-tabela .table-header h2 { font-size: 8pt !important; }
  body.print-machine-report .relatorio-caminhoes-tabela .table-wrap { max-height: none !important; overflow: visible !important; }
  body.print-machine-report .relatorio-caminhoes-tabela table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; font-size: 5.5pt !important; }
  body.print-machine-report .relatorio-caminhoes-tabela thead { display: table-header-group !important; }
  body.print-machine-report .relatorio-caminhoes-tabela thead th,
  body.print-machine-report .relatorio-caminhoes-tabela tfoot th { position: static !important; }
  body.print-machine-report .relatorio-caminhoes-tabela tr { break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-machine-report .relatorio-caminhoes-tabela th,
  body.print-machine-report .relatorio-caminhoes-tabela td { padding: 2px 1px !important; font-size: 5.5pt !important; white-space: normal !important; overflow-wrap: anywhere !important; }
  body.print-machine-report #relatorioMaquinas .relatorio-caminhoes-tabela th:nth-child(4),
  body.print-machine-report #relatorioMaquinas .relatorio-caminhoes-tabela td:nth-child(4) { width: 16% !important; white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important; }
  body.print-machine-report .relatorio-caminhoes-tabela tfoot th { background: #e7f0e4 !important; color: #193b2c !important; }

  body.print-machine-hours-report { page: machine-hours-report; }
  body.print-machine-hours-report * { visibility: hidden !important; }
  body.print-machine-hours-report #viewRelatorios,
  body.print-machine-hours-report #relatorioHorasOperador,
  body.print-machine-hours-report #relatorioHorasOperador * { visibility: visible !important; }
  body.print-machine-hours-report .sidebar,
  body.print-machine-hours-report .topbar,
  body.print-machine-hours-report #viewDashboard,
  body.print-machine-hours-report #viewMovimentacao,
  body.print-machine-hours-report #viewEquipamentos,
  body.print-machine-hours-report #viewCadastros,
  body.print-machine-hours-report #viewRelatorios > .page-heading,
  body.print-machine-hours-report #relatoriosGrid,
  body.print-machine-hours-report #formRelatorioHorasOperador,
  body.print-machine-hours-report #voltarRelatorioHorasOperadorBtn,
  body.print-machine-hours-report #mensagemRelatorioHorasOperador,
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-acoes { display: none !important; }
  body.print-machine-hours-report .app-shell { display: block !important; min-height: 0 !important; }
  body.print-machine-hours-report .agricola-page { padding: 0 !important; overflow: visible !important; }
  body.print-machine-hours-report #viewRelatorios { display: block !important; position: static !important; margin: 0 !important; animation: none !important; }
  body.print-machine-hours-report #relatorioHorasOperador { display: grid !important; gap: 5px !important; margin: 0 !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-header { margin: 0 !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-header h2 { font-size: 14pt !important; }
  body.print-machine-hours-report #resumoFiltrosHorasOperador { display: block !important; margin-top: 2mm !important; font-size: 8pt !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-resumo { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 4px !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela { min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela .table-wrap { max-height: none !important; overflow: visible !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; font-size: 9pt !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(1),
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(1) { width: 5% !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(2),
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(2) { width: 12% !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(3),
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(3) { width: 30% !important; white-space: nowrap !important; overflow-wrap: normal !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(4),
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(4) { width: 23% !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(5),
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(5) { display: none !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela th:nth-child(6),
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela td:nth-child(6) { width: 30% !important; }
  body.print-machine-hours-report #relatorioHorasOperador .total-horas-tela { display: table-row !important; }
  body.print-machine-hours-report #relatorioHorasOperador .total-horas-operador-conteudo { display: flex !important; justify-content: space-between !important; width: 100% !important; white-space: nowrap !important; }
  body.print-machine-hours-report #relatorioHorasOperador .total-horas-operador-conteudo span { display: inline-block !important; }
  body.print-machine-hours-report #relatorioHorasOperador .total-horas-operador-conteudo span:last-child { text-align: right !important; white-space: nowrap !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela tfoot { display: table-row-group !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela tfoot[hidden] { display: none !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela tfoot th { position: static !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela tr { break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela th,
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela td { padding: 4px !important; font-size: 9pt !important; }
  body.print-machine-hours-report #relatorioHorasOperador .relatorio-caminhoes-tabela tbody td:nth-child(3) { white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important; }

  body.print-transport-dashboard { background: #fff !important; color: #1d3525 !important; }
  body.print-transport-dashboard .app-shell,
  body.print-transport-dashboard .agricola-page { background: #fff !important; color: #1d3525 !important; }
  body.print-transport-dashboard .truck-panel,
  body.print-transport-dashboard .truck-kpi { border: 1px solid #9aab99 !important; background: #fff !important; box-shadow: none !important; color: #1d3525 !important; }
  body.print-transport-dashboard .truck-kpi > span,
  body.print-transport-dashboard .truck-kpi strong,
  body.print-transport-dashboard .truck-kpi small,
  body.print-transport-dashboard .truck-panel header h2,
  body.print-transport-dashboard .truck-panel table,
  body.print-transport-dashboard .truck-panel th,
  body.print-transport-dashboard .truck-panel td,
  body.print-transport-dashboard .truck-panel-label,
  body.print-transport-dashboard .truck-pie-row-main,
  body.print-transport-dashboard .truck-pie-row-values,
  body.print-transport-dashboard .truck-efficiency-copy,
  body.print-transport-dashboard .truck-efficiency-copy span { color: #1d3525 !important; }
  body.print-transport-dashboard .truck-panel th { border-color: #aab8a6 !important; background: #e8efe6 !important; }
  body.print-transport-dashboard .truck-panel td { border-color: #d3ddd0 !important; }
  body.print-transport-dashboard .truck-panel tbody tr,
  body.print-transport-dashboard .truck-panel tbody tr:nth-child(even) { background: #fff !important; }
  body.print-transport-dashboard .truck-panel tbody tr:hover,
  body.print-transport-dashboard .truck-panel tbody tr:hover td { background: #fff !important; color: #1d3525 !important; }
  body.print-transport-dashboard .truck-pie-row { border-color: #d3ddd0 !important; background: #fff !important; }
  body.print-transport-dashboard .truck-pie-row-main,
  body.print-transport-dashboard .truck-pie-row-main strong { color: #1d3525 !important; }
  body.print-transport-dashboard .truck-pie-row-main small { color: #456a4b !important; }
  body.print-transport-dashboard .truck-pie-row-values { color: #344b3b !important; }
  body.print-transport-dashboard .truck-panel-label,
  body.print-transport-dashboard .truck-pie-row-values b { color: #456a4b !important; }
  body.print-transport-dashboard .transport-connection { color: #456a4b !important; }
  body.print-transport-dashboard .transport-chart-legend span,
  body.print-transport-dashboard .transport-chart-axis,
  body.print-transport-dashboard .transport-chart-period { fill: #405746 !important; color: #405746 !important; }
  body.print-transport-dashboard .transport-chart-gridline { stroke: #d2ddd0 !important; }
  body.print-transport-dashboard .truck-pie-total-label,
  body.print-transport-dashboard .truck-pie-total-unit { fill: #fff !important; }
  body.print-transport-dashboard .truck-efficiency-track { border: 1px solid #b7c5b4 !important; background: #e7eee4 !important; }
  body.print-transport-dashboard .truck-efficiency-track span { background: #36824b !important; }

  body.print-registries-report { page: registry-report; }
  body.print-registries-report * { visibility: hidden !important; }
  body.print-registries-report #viewRelatorios,
  body.print-registries-report #relatorioCadastros,
  body.print-registries-report #relatorioCadastros * { visibility: visible !important; }
  body.print-registries-report .sidebar,
  body.print-registries-report .topbar,
  body.print-registries-report #viewDashboard,
  body.print-registries-report #viewMovimentacao,
  body.print-registries-report #viewEquipamentos,
  body.print-registries-report #viewCadastros,
  body.print-registries-report #viewFornecedores,
  body.print-registries-report #viewRelatorios > .page-heading,
  body.print-registries-report #relatoriosGrid,
  body.print-registries-report #formRelatorioCadastros,
  body.print-registries-report #voltarRelatorioCadastrosBtn,
  body.print-registries-report #mensagemRelatorioCadastros,
  body.print-registries-report #relatorioCadastros .relatorio-caminhoes-resumo,
  body.print-registries-report #relatorioCadastros .grid-pagination,
  body.print-registries-report .custom-reports-section { display: none !important; }
  body.print-registries-report .app-shell { display: block !important; min-height: 0 !important; }
  body.print-registries-report .agricola-page { padding: 0 !important; overflow: visible !important; }
  body.print-registries-report #viewRelatorios { display: block !important; position: static !important; margin: 0 !important; animation: none !important; }
  body.print-registries-report #relatorioCadastros { display: grid !important; gap: 5px !important; margin: 0 !important; }
  body.print-registries-report .relatorio-caminhoes-header { margin: 0 !important; }
  body.print-registries-report .relatorio-caminhoes-header > div { position: relative; min-height: 17mm; padding-left: 27mm; }
  body.print-registries-report .relatorio-impressao-logo { display: block !important; }
  body.print-registries-report .relatorio-caminhoes-header .eyebrow { margin-bottom: 2px !important; font-size: 6pt !important; }
  body.print-registries-report .relatorio-caminhoes-header h2 { color: #193b2c !important; font-size: 14pt !important; }
  body.print-registries-report #relatorioCadastrosTipoTitulo { margin: 2px 0 0 !important; font-size: 8pt !important; }
  body.print-registries-report #relatorioCadastros .relatorio-caminhoes-tabela { min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap { max-height: none !important; overflow: visible !important; border: 0 !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap table { width: 100% !important; min-width: 0 !important; table-layout: auto !important; font-size: 5.5pt !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap thead { display: table-header-group !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap table.cadastro-cabecalho-repetido { display: table !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap table.cadastro-cabecalho-repetido > thead { display: table-header-group !important; break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap table.cadastro-cabecalho-repetido > thead > tr { display: table-row !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap table.cadastro-cabecalho-repetido > tbody { display: table-row-group !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap table.cadastro-com-total > tfoot { display: table-row-group !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap .relatorio-cadastro-total-registros th { border-top: 2px solid #527258 !important; background: #dce9d5 !important; color: #193b2c !important; font-size: 7pt !important; text-align: left !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap table.funcionarios-por-funcao > thead { display: none !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap thead th { position: static !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap tr,
  body.print-registries-report .relatorio-cadastros-table-wrap th,
  body.print-registries-report .relatorio-cadastros-table-wrap td { break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap th,
  body.print-registries-report .relatorio-cadastros-table-wrap td { max-width: 55mm !important; padding: 2px 3px !important; white-space: normal !important; overflow-wrap: anywhere !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap .sort-button { display: block !important; min-height: 0 !important; padding: 0 !important; color: inherit !important; background: transparent !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap .sort-arrow { display: none !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap th { background: #e7f0e4 !important; color: #193b2c !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap td { color: #1d3525 !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap .relatorio-cadastro-grupo th { border-top: 1.5px solid #527258 !important; background: #dce9d5 !important; color: #193b2c !important; font-size: 7pt !important; text-align: left !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap .relatorio-cadastro-colunas th { background: #e7f0e4 !important; color: #193b2c !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap .relatorio-cadastro-espacador td { height: 1em !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap .relatorio-cadastro-subtotal td { border-top: 1px solid #9aab99 !important; background: #f1f6ee !important; color: #193b2c !important; font-weight: 700 !important; text-align: left !important; }
  body.print-registries-report .relatorio-cadastros-table-wrap .relatorio-cadastro-total th { border-top: 2px solid #527258 !important; background: #dce9d5 !important; color: #193b2c !important; font-size: 7pt !important; text-align: right !important; }
  body.print-registries-report .grid-pagination-row-hidden { display: table-row !important; }
}

.field input:focus:not([readonly]),
.field textarea:focus,
.filters-grid input:focus,
.filters-grid select:focus,
.truck-filter-form input:focus,
.truck-filter-form select:focus,
.usina-combobox input:focus { background-color: #fff5dc; }

.custom-select-combobox:focus-within .custom-select-trigger,
.custom-select-combobox .custom-select-trigger[aria-expanded="true"] { background-color: #fff5dc; }

@page moagem-fazenda-talhao-report {
  size: A4 portrait;
  margin: 8mm;
  @bottom-right {
    content: "Página " counter(page) " de " counter(pages);
    color: #526b58;
    font-size: 8pt;
  }
}
@page moagem-situacao-talhao-report {
  size: A4 portrait;
  margin: 7mm;
  @bottom-right {
    content: "Página " counter(page) " de " counter(pages);
    color: #526b58;
    font-size: 7pt;
  }
}
@media print {
  body.print-moagem-fazenda-talhao { page: moagem-fazenda-talhao-report; }
  body.print-moagem-fazenda-talhao { height: auto !important; min-height: 0 !important; overflow: visible !important; }
  body.print-moagem-fazenda-talhao * { visibility: hidden !important; }
  body.print-moagem-fazenda-talhao #viewRelatorios,
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao,
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao * { visibility: visible !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao,
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao * { color: #000 !important; font-family: Arial, sans-serif !important; }
  body.print-moagem-fazenda-talhao .sidebar,
  body.print-moagem-fazenda-talhao .topbar,
  body.print-moagem-fazenda-talhao #viewDashboard,
  body.print-moagem-fazenda-talhao #viewMovimentacao,
  body.print-moagem-fazenda-talhao #viewDigMoagemLote,
  body.print-moagem-fazenda-talhao #viewDigMoagemFazenda,
  body.print-moagem-fazenda-talhao #viewEquipamentos,
  body.print-moagem-fazenda-talhao #viewCadastros,
  body.print-moagem-fazenda-talhao #viewFornecedores,
  body.print-moagem-fazenda-talhao #viewEmpreiteiros,
  body.print-moagem-fazenda-talhao #viewVinculos,
  body.print-moagem-fazenda-talhao #viewRelatorios > :not(#relatorioMoagemFazendaTalhao),
  body.print-moagem-fazenda-talhao #formRelatorioMoagemFazendaTalhao,
  body.print-moagem-fazenda-talhao #voltarRelatorioMoagemFazendaTalhaoBtn,
  body.print-moagem-fazenda-talhao #mensagemRelatorioMoagemFazendaTalhao,
  body.print-moagem-fazenda-talhao #imprimirRelatorioMoagemFazendaTalhaoBtn,
  body.print-moagem-fazenda-talhao #exportarRelatorioMoagemFazendaTalhaoBtn { display: none !important; }
  body.print-moagem-fazenda-talhao .app-shell { display: block !important; min-height: 0 !important; }
  body.print-moagem-fazenda-talhao .agricola-page { padding: 0 !important; overflow: visible !important; }
  body.print-moagem-fazenda-talhao #viewRelatorios { display: block !important; position: static !important; margin: 0 !important; animation: none !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao { display: block !important; margin: 0 !important; }
  body.print-moagem-fazenda-talhao #viewRelatorios,
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao { height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; }
  body.print-moagem-fazenda-talhao #viewRelatorios { break-after: auto !important; page-break-after: auto !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao > * { break-after: auto !important; page-break-after: auto !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-header { margin: 0 !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-fazenda-cabecalho { display: flex !important; align-items: center !important; gap: 4mm !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-impressao-logo { display: block !important; width: 24mm !important; height: auto !important; max-width: 24mm !important; max-height: 17mm !important; object-fit: contain !important; object-position: left center !important; opacity: .25 !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-header .eyebrow { margin-bottom: 2px !important; font-size: 6pt !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-header h2 { color: #000 !important; font-size: 14pt !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFiltrosAplicados { display: block !important; margin: 0 0 4px !important; font-size: 6pt !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-resumo { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 4px !important; margin: 5px 0 !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-resumo .truck-kpi { min-height: 38px !important; padding: 4px 6px !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela { min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela .table-header { margin: 0 0 3px !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela .table-header h2 { font-size: 8pt !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela .table-wrap { max-height: none !important; overflow: visible !important; border: 0 !important; border-radius: 0 !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; border: 0 !important; border-top: 1px solid #000 !important; border-left: 1px solid #000 !important; border-collapse: separate !important; border-spacing: 0 !important; font-size: 7pt !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela th,
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela td { padding: 3px !important; border: 0 !important; border-right: 1px solid #000 !important; border-bottom: 1px solid #000 !important; font-size: 7pt !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela thead { display: none !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tbody .cabecalho-moagem-fazenda { display: table-row !important; break-inside: avoid-page !important; page-break-inside: avoid !important; break-after: avoid-page !important; page-break-after: avoid !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tbody .cabecalho-moagem-fazenda th { display: table-cell !important; background: #f3f7f1 !important; font-size: 6pt !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tbody .grupo-moagem-fazenda { break-inside: avoid-page !important; page-break-inside: avoid !important; break-after: avoid-page !important; page-break-after: avoid !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela thead th,
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tfoot th { position: static !important; }
  body.print-moagem-fazenda-talhao #tfootRelatorioMoagemFazendaTalhao { display: table-row-group !important; }
  body.print-moagem-fazenda-talhao #tfootRelatorioMoagemFazendaTalhao[hidden] { display: none !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .relatorio-caminhoes-tabela tr { break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .grupo-moagem-fazenda th { break-after: avoid-page !important; page-break-after: avoid !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .espacador-moagem-fazenda td { height: 6mm !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .subtotal-moagem-fazenda { break-before: avoid-page !important; page-break-before: avoid !important; background: #f1f6ee !important; font-weight: 700 !important; }
  body.print-moagem-fazenda-talhao #relatorioMoagemFazendaTalhao .grupo-moagem-fazenda th { background: #dce9d5 !important; color: #000 !important; text-align: left !important; }
}
@media print {
  body.print-moagem-situacao-talhao { page: moagem-situacao-talhao-report; }
  body.print-moagem-situacao-talhao,
  body.print-moagem-situacao-talhao * { color: #000 !important; font-family: Arial, sans-serif !important; }
  body.print-moagem-situacao-talhao * { visibility: hidden !important; }
  body.print-moagem-situacao-talhao #viewRelatorios,
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao,
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao * { visibility: visible !important; }
  body.print-moagem-situacao-talhao .sidebar,
  body.print-moagem-situacao-talhao .topbar,
  body.print-moagem-situacao-talhao #viewDashboard,
  body.print-moagem-situacao-talhao #viewMovimentacao,
  body.print-moagem-situacao-talhao #viewDigMoagemLote,
  body.print-moagem-situacao-talhao #viewDigMoagemFazenda,
  body.print-moagem-situacao-talhao #viewEquipamentos,
  body.print-moagem-situacao-talhao #viewCadastros,
  body.print-moagem-situacao-talhao #viewFornecedores,
  body.print-moagem-situacao-talhao #viewEmpreiteiros,
  body.print-moagem-situacao-talhao #viewVinculos,
  body.print-moagem-situacao-talhao #viewRelatorios > :not(#relatorioMoagemSituacaoTalhao),
  body.print-moagem-situacao-talhao #formRelatorioMoagemSituacaoTalhao,
  body.print-moagem-situacao-talhao #voltarRelatorioMoagemSituacaoTalhaoBtn,
  body.print-moagem-situacao-talhao #mensagemRelatorioMoagemSituacaoTalhao,
  body.print-moagem-situacao-talhao #imprimirRelatorioMoagemSituacaoTalhaoBtn,
  body.print-moagem-situacao-talhao #exportarRelatorioMoagemSituacaoTalhaoBtn { display: none !important; }
  body.print-moagem-situacao-talhao .app-shell { display: block !important; min-height: 0 !important; }
  body.print-moagem-situacao-talhao .agricola-page { padding: 0 !important; overflow: visible !important; }
  body.print-moagem-situacao-talhao #viewRelatorios,
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao { display: block !important; position: static !important; height: auto !important; min-height: 0 !important; max-height: none !important; margin: 0 !important; overflow: visible !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-header { margin: 0 0 3mm !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-fazenda-cabecalho { display: flex !important; align-items: center !important; gap: 4mm !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-impressao-logo { display: block !important; width: 24mm !important; height: auto !important; max-width: 24mm !important; max-height: 17mm !important; object-fit: contain !important; object-position: left center !important; opacity: .25 !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-header .eyebrow { margin-bottom: 2px !important; font-size: 6pt !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-header h2 { font-size: 13pt !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-filtros-aplicados { margin: 0 0 2mm !important; font-size: 6pt !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela { min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela .table-header { margin: 0 0 2mm !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela .table-header h2 { font-size: 8pt !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela .table-wrap { max-height: none !important; overflow: visible !important; border: 0 !important; border-radius: 0 !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela > .table-wrap > table { display: none !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-moagem-situacao-impressao { display: block !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; border: 0 !important; border-top: 1px solid #000 !important; border-left: 1px solid #000 !important; border-collapse: separate !important; border-spacing: 0 !important; font-size: 6pt !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela th,
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela td { padding: 2px !important; border: 0 !important; border-right: 1px solid #000 !important; border-bottom: 1px solid #000 !important; font-size: 6pt !important; white-space: normal !important; overflow-wrap: anywhere !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-moagem-situacao-impressao thead { display: none !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-moagem-situacao-impressao tbody th { background: #f3f7f1 !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-moagem-situacao-impressao .situacao-moagem-situacao th { padding-top: 4px !important; padding-bottom: 4px !important; background: #dce9d5 !important; font-size: 8pt !important; text-align: left !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-moagem-situacao-impressao .fazenda-moagem-situacao th { padding-top: 4px !important; padding-bottom: 4px !important; background: #e8eee5 !important; font-size: 7pt !important; text-align: left !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-moagem-situacao-impressao .cabecalho-fazenda-moagem-situacao th { background: #f3f7f1 !important; text-align: center !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-moagem-situacao-impressao .espacador-fazenda-moagem-situacao td { height: 5mm !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-moagem-situacao-impressao tfoot { display: table-row-group !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela tfoot[hidden] { display: none !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela th { position: static !important; background: #f3f7f1 !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela tr { break-inside: avoid !important; page-break-inside: avoid !important; }
  body.print-moagem-situacao-talhao #relatorioMoagemSituacaoTalhao .relatorio-caminhoes-tabela tbody tr:nth-child(even) { background: #f8faf7 !important; }
  body.print-moagem-situacao-talhao #tbodyImpressaoRelatorioMoagemSituacaoTalhao .subtotal-fazenda-moagem-situacao,
  body.print-moagem-situacao-talhao #tbodyImpressaoRelatorioMoagemSituacaoTalhao .total-geral-moagem-situacao { background: #e8eee5 !important; font-weight: 700 !important; }
}

@media screen {
  body {
    background: #f3f6f3;
    color: #24352a;
    font-family: "Segoe UI", Arial, sans-serif;
  }

  button,
  input,
  select,
  textarea {
    font-family: inherit;
  }

  .app-shell {
    background: #f3f6f3;
  }

  .sidebar {
    background: linear-gradient(180deg, #173b2b 0%, #123323 100%);
    box-shadow: 8px 0 28px rgba(20, 52, 33, .08);
  }

  .sidebar-brand {
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(220, 239, 222, .12);
  }

  .nav-button,
  .nav-subitem {
    border: 1px solid transparent;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
  }

  .nav-button:hover,
  .nav-button.active,
  .nav-subitem:hover,
  .nav-subitem.active {
    border-color: rgba(195, 228, 185, .14);
    background: #28573d;
  }

  .nav-button:hover,
  .nav-subitem:hover {
    transform: translateX(2px);
  }

  body:not(.transport-dashboard-view) .agricola-page {
    background: #f3f6f3;
  }

  .topbar {
    border-color: #e2e9e2;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 5px 18px rgba(24, 55, 35, .045);
  }

  .topbar-status {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e1ece1;
    border-radius: 999px;
    padding: 6px 11px;
    background: #f6faf5;
    color: #47684e;
    font-size: .76rem;
    font-weight: 600;
  }

  .topbar-status span {
    box-shadow: 0 0 0 3px rgba(101, 169, 76, .13);
  }

  .page-heading h1,
  .page-heading h2,
  .empty-view h1 {
    color: #193b2c;
    letter-spacing: -.025em;
  }

  .page-heading .eyebrow {
    color: #54805a;
  }

  .panel,
  .table-panel,
  .relatorio-caminhoes-tabela,
  .relatorio-card {
    border: 1px solid #e3eae3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(24, 55, 35, .045);
  }

  .table-header {
    gap: 14px;
  }

  .table-header h2,
  .panel > h2,
  .panel > h3 {
    color: #203d2c;
    letter-spacing: -.015em;
  }

  .filters-grid {
    border-color: #e5ece5;
    border-radius: 12px;
    background: #f8faf8;
  }

  .field label {
    color: #405b47;
    font-weight: 650;
    letter-spacing: 0;
  }

  .field input,
  .field select,
  .filters-grid input,
  .filters-grid select,
  .filters-grid textarea {
    border-color: #d6e0d6;
    border-radius: 9px;
    background-color: #fff;
    color: #263b2d;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
  }

  .field input:hover,
  .field select:hover,
  .filters-grid input:hover,
  .filters-grid select:hover {
    border-color: #b7cbb8;
  }

  .field input:focus-visible,
  .field select:focus-visible,
  .filters-grid input:focus-visible,
  .filters-grid select:focus-visible,
  .filters-grid textarea:focus-visible {
    border-color: #4a9360;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(63, 139, 82, .13);
  }

  .primary-btn,
  .secondary-btn,
  .danger-btn,
  .action-btn {
    border-radius: 9px;
    font-family: inherit;
    transition: transform .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
  }

  .primary-btn {
    background: #237649;
    box-shadow: 0 2px 5px rgba(26, 101, 58, .12);
  }

  .primary-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    background: #1c653d;
    box-shadow: 0 4px 10px rgba(26, 101, 58, .18);
  }

  .secondary-btn {
    border: 1px solid #d8e4d8;
    background: #f5f8f5;
    color: #355640;
  }

  .secondary-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: #bfd2c0;
    background: #edf4ed;
  }

  .danger-btn {
    background: #bd4545;
  }

  .danger-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    background: #a83737;
  }

  .primary-btn:focus-visible,
  .secondary-btn:focus-visible,
  .danger-btn:focus-visible,
  .action-btn:focus-visible,
  .sort-button:focus-visible,
  .nav-button:focus-visible,
  .nav-subitem:focus-visible {
    outline: 3px solid rgba(68, 145, 87, .28);
    outline-offset: 2px;
  }

  button:disabled {
    cursor: not-allowed;
    opacity: .58;
  }

  .table-wrap {
    border-color: #e1e9e1;
    border-radius: 11px;
    box-shadow: 0 1px 3px rgba(24, 55, 35, .025);
  }

  table th {
    border-color: #e0e9e0;
    background: #f1f6f1;
    color: #405c47;
    font-weight: 700;
  }

  table td {
    border-color: #e8eee8;
    color: #2b3d30;
  }

  tbody tr:nth-child(even) {
    background: #fafcf9;
  }

  tbody tr:hover {
    background: #f1f7f0;
  }

  .sort-button:hover,
  .sort-button:focus-visible,
  .sort-button.is-active {
    background: #e8f2e7;
  }

  .dashboard-summary {
    gap: 12px;
  }

  .dashboard-metric {
    border: 1px solid #e3eae3;
    border-left: 3px solid;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(24, 55, 35, .04);
  }

  .dashboard-metric p {
    color: #647568;
  }

  .relatorio-caminhoes-tabela .table-header h2 {
    color: #203d2c;
  }

  #relatorioCadastros .relatorio-cadastros-resumo {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0 2px;
  }

  #relatorioCadastros .relatorio-cadastro-kpi {
    position: relative;
    min-height: 118px;
    justify-content: space-between;
    gap: 18px;
    overflow: hidden;
    border: 1px solid #e2eae2;
    border-radius: 14px;
    padding: 17px 19px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(27, 62, 42, .055);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }

  #relatorioCadastros .relatorio-cadastro-kpi::after {
    position: absolute;
    right: -24px;
    bottom: -42px;
    width: 108px;
    height: 108px;
    border-radius: 50%;
    background: var(--cadastro-kpi-tint);
    content: "";
    opacity: .7;
  }

  #relatorioCadastros .relatorio-cadastro-kpi:hover {
    transform: translateY(-2px);
    border-color: #d3e1d3;
    box-shadow: 0 9px 22px rgba(27, 62, 42, .09);
  }

  #relatorioCadastros .relatorio-cadastro-kpi > span {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 34px;
    color: #53665a;
    font-size: .79rem;
    font-weight: 600;
    line-height: 1.3;
  }

  #relatorioCadastros .relatorio-cadastro-kpi > span i {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 10px;
    background: var(--cadastro-kpi-tint);
    color: var(--cadastro-kpi-color);
    font-size: .9rem;
  }

  #relatorioCadastros .relatorio-cadastro-kpi > strong {
    position: relative;
    z-index: 1;
    display: block;
    margin: 0;
    color: #1b3828;
    font-size: 1.65rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1;
  }

  #relatorioCadastros .relatorio-cadastro-kpi-tipos {
    --cadastro-kpi-color: #34744b;
    --cadastro-kpi-tint: #e6f2e9;
  }

  #relatorioCadastros .relatorio-cadastro-kpi-total {
    --cadastro-kpi-color: #39708b;
    --cadastro-kpi-tint: #e6f1f6;
  }

  #relatorioCadastros .relatorio-cadastro-kpi-exibidos {
    --cadastro-kpi-color: #8b6a2e;
    --cadastro-kpi-tint: #f7f0df;
  }

  .relatorios-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
    gap: 18px;
    margin-top: 22px;
  }

  .relatorio-card {
    --relatorio-accent: #378154;
    position: relative;
    min-height: 238px;
    gap: 14px;
    overflow: hidden;
    border-color: #e2eae2;
    border-radius: 16px;
    padding: 22px;
    background: linear-gradient(155deg, #fff 0%, #fbfdfb 100%);
    box-shadow: 0 6px 20px rgba(27, 62, 42, .055);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
  }

  .relatorio-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: var(--relatorio-accent);
    content: "";
    opacity: .8;
  }

  .relatorio-card:hover {
    transform: translateY(-3px);
    border-color: #cbdccc;
    box-shadow: 0 12px 26px rgba(27, 62, 42, .1);
  }

  .relatorio-card[data-relatorio-categoria="moagem"] { --relatorio-accent: #398552; }
  .relatorio-card[data-relatorio-categoria="caminhoes"] { --relatorio-accent: #4383a5; }
  .relatorio-card[data-relatorio-categoria="maquinas"] { --relatorio-accent: #b17a2e; }
  .relatorio-card[data-relatorio-categoria="cadastros"] { --relatorio-accent: #8165a8; }

  .relatorio-card .relatorio-icon {
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 14px;
    background: color-mix(in srgb, var(--relatorio-accent) 11%, white);
    color: var(--relatorio-accent);
    box-shadow: none;
    font-size: 1.05rem;
  }

  .relatorio-card:hover .relatorio-icon {
    transform: translateY(-1px);
    background: color-mix(in srgb, var(--relatorio-accent) 16%, white);
    box-shadow: none;
  }

  .relatorio-card h2 {
    color: #203d2c;
    font-size: 1.02rem;
    line-height: 1.3;
    letter-spacing: -.015em;
  }

  .relatorio-card p {
    color: #65766a;
    font-size: .84rem;
    line-height: 1.5;
  }

  .relatorio-card .secondary-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 42px;
    margin-top: 2px;
    border-color: #e1e9e1;
    border-radius: 9px;
    padding: 9px 13px;
    background: #f7faf7;
    color: #355640;
    font-size: .82rem;
  }

  .relatorio-card .secondary-btn::after {
    color: var(--relatorio-accent);
    content: "→";
    font-size: 1.1rem;
    transition: transform .18s ease;
  }

  .relatorio-card .secondary-btn:hover {
    border-color: color-mix(in srgb, var(--relatorio-accent) 26%, white);
    background: color-mix(in srgb, var(--relatorio-accent) 7%, white);
  }

  .relatorio-card .secondary-btn:hover::after {
    transform: translateX(3px);
  }
}

@media screen and (max-width: 820px) {
  #relatorioCadastros .relatorio-cadastros-resumo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 480px) {
  #relatorioCadastros .relatorio-cadastros-resumo {
    grid-template-columns: minmax(0, 1fr);
  }
}

.resumo-moagem-contratos-config .table-header p {
  color: var(--muted, #64748b);
  font-size: .88rem;
}

#viewContratosMoagem .contratos-moagem-panel {
  display: grid;
  gap: 12px;
}

#viewContratosMoagem .cadastro-header {
  align-items: flex-end;
}

#viewContratosMoagem .cadastro-header p {
  margin: 4px 0 0;
  color: var(--muted, #64748b);
  font-size: .88rem;
}

#viewContratosMoagem .contratos-moagem-safra-field {
  width: min(100%, 300px);
  margin: 0;
}

#viewContratosMoagem .cadastro-table-wrap table {
  min-width: 420px;
  table-layout: auto;
}

#viewContratosMoagem .cadastro-table-wrap th:last-child,
#viewContratosMoagem .cadastro-table-wrap td:last-child {
  width: 260px;
}

#viewContratosMoagem .cadastro-table-wrap input {
  width: min(100%, 240px);
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid #d5dfd5;
  border-radius: 8px;
  color: #23352a;
  font: inherit;
}

.contratos-moagem-acoes {
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 640px) {
  #viewContratosMoagem .cadastro-header {
    align-items: stretch;
    flex-direction: column;
  }

  #viewContratosMoagem .contratos-moagem-safra-field {
    width: 100%;
  }
}

#relatorioResumoSemanalMoagem {
  gap: 10px;
}

#relatorioResumoSemanalMoagem .relatorio-caminhoes-header {
  margin-bottom: 2px;
}

#relatorioResumoSemanalMoagem .relatorio-caminhoes-filtros {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
}

.resumo-moagem-contratos-config {
  padding: 0 !important;
  overflow: hidden;
}

.resumo-moagem-contratos-config > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 16px;
  color: #264331;
  cursor: pointer;
  font-size: .9rem;
  font-weight: 700;
  list-style: none;
}

.resumo-moagem-contratos-config > summary::-webkit-details-marker {
  display: none;
}

.resumo-moagem-contratos-config > summary::after {
  content: "+";
  order: 1;
  color: #39734d;
  font-size: 1.2rem;
  line-height: 1;
}

.resumo-moagem-contratos-config[open] > summary::after {
  content: "−";
}

.resumo-moagem-config-hint {
  margin-left: auto;
  color: #718176;
  font-size: .78rem;
  font-weight: 400;
}

.resumo-moagem-contratos-conteudo {
  display: grid;
  gap: 8px;
  padding: 0 16px 14px;
}

.resumo-moagem-contratos-conteudo .table-header {
  margin: 0;
}

.resumo-moagem-contratos-conteudo .table-header p {
  margin: 0;
}

.resumo-moagem-contratos-config table {
  min-width: 360px;
  table-layout: auto;
}

.resumo-moagem-contratos-config th,
.resumo-moagem-contratos-config td {
  padding: 7px 10px;
  font-size: .82rem;
}

.resumo-moagem-contratos-config input {
  width: min(100%, 220px);
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid #d5dfd5;
  border-radius: 8px;
  color: #23352a;
  font: inherit;
}

.resumo-moagem-acoes {
  justify-content: flex-end;
  margin: 0;
}

.resumo-moagem-folha {
  width: 100%;
  overflow-x: auto;
}

.resumo-moagem-planilha {
  width: min(100%, 1180px);
  min-width: 900px;
  margin: 0 auto;
  padding: 14px;
  border: 1px solid #aeb8af;
  background: #fff;
  color: #17241a;
  font-family: Arial, sans-serif;
  font-size: .76rem;
  box-shadow: 0 3px 12px rgba(25, 48, 32, .06);
}

.resumo-moagem-planilha-linha {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.resumo-moagem-celula {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 27px;
  padding: 4px 6px;
  border: 1px solid #c1c9c2;
  overflow-wrap: anywhere;
}

.resumo-moagem-titulo {
  min-height: 34px;
  background: #e5eee5;
  color: #193b2c;
  font-size: .95rem;
  font-weight: 700;
}

.resumo-moagem-subtitulo {
  font-weight: 700;
}

.resumo-moagem-rotulo {
  background: #f0f3ef;
  font-weight: 700;
}

.resumo-moagem-valor {
  justify-content: center;
  text-align: center;
}

.resumo-moagem-vazio {
  border-color: #c1c9c2;
}

.resumo-moagem-colunas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #aeb8af;
}

.resumo-moagem-bloco {
  min-width: 0;
  padding: 6px;
  border-right: 1px solid #aeb8af;
}

.resumo-moagem-bloco:last-child {
  border-right: 0;
}

.resumo-moagem-faixa {
  margin: 0;
  padding: 6px 7px;
  border: 1px solid #b5c3b6;
  background: #dce9d5;
  color: #193b2c;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.25;
}

.resumo-moagem-info-dia {
  border-color: #887b00;
  background: #fff200;
  color: #000;
}

.resumo-moagem-usina-titulo {
  margin: 5px 0 0;
  padding: 5px 6px;
  border: 1px solid #aeb8af;
  border-bottom: 0;
  background: #e7f0e4;
  color: #193b2c;
  font-size: .72rem;
  font-weight: 700;
}

.resumo-moagem-tabela-wrap {
  width: 100%;
  overflow-x: auto;
}

.resumo-moagem-tabela {
  width: 100%;
  min-width: 0;
  margin: 0 0 7px;
  border-collapse: collapse;
  table-layout: auto;
  font-size: .7rem;
}

.resumo-moagem-tabela-alinhada {
  table-layout: fixed;
}

.resumo-moagem-tabela-alinhada th:first-child,
.resumo-moagem-tabela-alinhada td:first-child {
  width: 40%;
}

.resumo-moagem-tabela th,
.resumo-moagem-tabela td {
  padding: 4px 5px;
  border: 1px solid #aeb8af;
  text-align: right;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.resumo-moagem-tabela th:first-child,
.resumo-moagem-tabela td:first-child {
  text-align: left;
}

.resumo-moagem-tabela thead th {
  background: #dce9d5;
  color: #193b2c;
  font-weight: 700;
  text-align: center;
}

.resumo-moagem-sem-dados {
  color: #59665b;
  text-align: center !important;
}

.resumo-moagem-total-contrato {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 7px;
  padding: 6px;
  border: 1px solid #aeb8af;
  background: #f3f6f2;
  font-size: .7rem;
}

.resumo-moagem-previsao-planilha {
  display: grid;
  grid-template-columns: minmax(80px, .9fr) minmax(72px, .95fr) minmax(90px, 1.15fr) minmax(78px, .95fr) minmax(70px, .8fr);
  margin-bottom: 7px;
  border: 1px solid #887b00;
  font-size: .62rem;
  font-weight: 700;
  text-align: center;
}

.resumo-moagem-previsao-titulo {
  grid-column: 1 / -1;
  padding: 6px 4px;
  border-bottom: 1px solid #887b00;
  background: #fff200;
}

.resumo-moagem-previsao-linha {
  display: contents;
}

.resumo-moagem-previsao-linha > span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 28px;
  padding: 4px 3px;
  border-right: 1px solid #aeb8af;
  border-bottom: 1px solid #aeb8af;
  overflow-wrap: anywhere;
}

.resumo-moagem-previsao-linha > span:last-child {
  border-right: 0;
}

.resumo-moagem-previsao-cabecalho > span {
  background: #fff200;
}

.resumo-moagem-previsao-dados > span {
  background: #92d050;
}

.resumo-moagem-previsao-termino {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 3fr 1fr;
  min-height: 29px;
  background: #ffc000;
}

.resumo-moagem-previsao-termino strong,
.resumo-moagem-previsao-termino span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border-right: 1px solid #a98200;
  text-align: center;
}

.resumo-moagem-previsao-termino strong {
  grid-column: 1 / 2;
}

.resumo-moagem-previsao-termino span {
  grid-column: 2 / 3;
}

.resumo-moagem-previsao-safra {
  grid-column: 1 / -1;
  padding: 5px;
  border-top: 1px solid #887b00;
  background: #f3f6f2;
  text-align: left;
}

.resumo-moagem-bloco-semanal {
  border: 1px solid #aeb8af;
  border-top: 0;
}

.resumo-moagem-vazio {
  margin: 0;
  color: #59665b;
}

@media screen and (max-width: 680px) {
  #relatorioResumoSemanalMoagem .relatorio-caminhoes-filtros {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .resumo-moagem-config-hint {
    order: 1;
    flex-basis: 100%;
    margin-left: 0;
  }

  .resumo-moagem-contratos-conteudo .table-header {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media screen and (max-width: 420px) {
  #relatorioResumoSemanalMoagem .relatorio-caminhoes-filtros {
    grid-template-columns: minmax(0, 1fr);
  }
}

@page resumo-semanal-moagem-report {
  size: A4 portrait;
  margin: 7mm;
}

@media print {
  body.print-resumo-semanal-moagem { page: resumo-semanal-moagem-report; }
  body.print-resumo-semanal-moagem,
  body.print-resumo-semanal-moagem * {
    color: #000 !important;
    font-family: Arial, sans-serif !important;
    box-shadow: none !important;
  }
  body.print-resumo-semanal-moagem * { visibility: hidden !important; }
  body.print-resumo-semanal-moagem #viewRelatorios,
  body.print-resumo-semanal-moagem #relatorioResumoSemanalMoagem,
  body.print-resumo-semanal-moagem #relatorioResumoSemanalMoagem * { visibility: visible !important; }
  body.print-resumo-semanal-moagem .sidebar,
  body.print-resumo-semanal-moagem .topbar,
  body.print-resumo-semanal-moagem #viewDashboard,
  body.print-resumo-semanal-moagem #viewMovimentacao,
  body.print-resumo-semanal-moagem #viewDigMoagemLote,
  body.print-resumo-semanal-moagem #viewDigMoagemFazenda,
  body.print-resumo-semanal-moagem #viewEquipamentos,
  body.print-resumo-semanal-moagem #viewCadastros,
  body.print-resumo-semanal-moagem #viewFornecedores,
  body.print-resumo-semanal-moagem #viewEmpreiteiros,
  body.print-resumo-semanal-moagem #viewVinculos,
  body.print-resumo-semanal-moagem #viewRelatorios > :not(#relatorioResumoSemanalMoagem),
  body.print-resumo-semanal-moagem #formResumoSemanalMoagem,
  body.print-resumo-semanal-moagem #configuracaoContratosResumoMoagem,
  body.print-resumo-semanal-moagem #voltarRelatorioResumoSemanalMoagemBtn,
  body.print-resumo-semanal-moagem #mensagemResumoSemanalMoagem,
  body.print-resumo-semanal-moagem .resumo-moagem-acoes,
  body.print-resumo-semanal-moagem #imprimirResumoSemanalMoagemBtn,
  body.print-resumo-semanal-moagem #exportarResumoSemanalMoagemBtn {
    display: none !important;
  }
  body.print-resumo-semanal-moagem .app-shell { display: block !important; min-height: 0 !important; }
  body.print-resumo-semanal-moagem .agricola-page { padding: 0 !important; overflow: visible !important; }
  body.print-resumo-semanal-moagem #viewRelatorios,
  body.print-resumo-semanal-moagem #relatorioResumoSemanalMoagem {
    display: block !important;
    position: static !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  body.print-resumo-semanal-moagem #relatorioResumoSemanalMoagem .relatorio-caminhoes-header {
    margin: 0 0 2mm !important;
  }
  body.print-resumo-semanal-moagem #relatorioResumoSemanalMoagem .relatorio-impressao-logo {
    width: 20mm !important;
    max-width: 20mm !important;
    max-height: 14mm !important;
  }
  body.print-resumo-semanal-moagem .resumo-moagem-folha,
  body.print-resumo-semanal-moagem .resumo-moagem-tabela-wrap { overflow: visible !important; }
  body.print-resumo-semanal-moagem .resumo-moagem-planilha {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 8pt !important;
  }
  body.print-resumo-semanal-moagem .resumo-moagem-celula {
    min-height: 6mm !important;
    padding: 1.2mm !important;
    font-size: 8pt !important;
  }
  body.print-resumo-semanal-moagem .resumo-moagem-titulo { font-size: 12pt !important; }
  body.print-resumo-semanal-moagem .resumo-moagem-faixa { font-size: 9pt !important; }
  body.print-resumo-semanal-moagem .resumo-moagem-usina-titulo { font-size: 8.5pt !important; }
  body.print-resumo-semanal-moagem .resumo-moagem-bloco { padding: 1.5mm !important; }
  body.print-resumo-semanal-moagem .resumo-moagem-tabela { font-size: 8pt !important; }
  body.print-resumo-semanal-moagem .resumo-moagem-tabela th,
  body.print-resumo-semanal-moagem .resumo-moagem-tabela td {
    padding: 1.2mm !important;
    font-size: 8pt !important;
  }
  body.print-resumo-semanal-moagem .resumo-moagem-previsao-planilha {
    break-inside: avoid-page !important;
    font-size: 7.5pt !important;
  }
  body.print-resumo-semanal-moagem .resumo-moagem-previsao-titulo,
  body.print-resumo-semanal-moagem .resumo-moagem-previsao-linha > span,
  body.print-resumo-semanal-moagem .resumo-moagem-previsao-termino strong,
  body.print-resumo-semanal-moagem .resumo-moagem-previsao-termino span,
  body.print-resumo-semanal-moagem .resumo-moagem-previsao-safra {
    padding: 1mm .8mm !important;
    font-size: 7.5pt !important;
  }
  body.print-resumo-semanal-moagem .resumo-moagem-total-contrato { font-size: 8pt !important; }
}

.insumos-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}

.insumos-tab {
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid #d5e0d5;
  border-radius: 8px;
  background: #fff;
  color: #35533c;
  cursor: pointer;
  font: inherit;
  font-weight: 650;
}

.insumos-tab:hover,
.insumos-tab.is-active {
  border-color: #297344;
  background: #eaf4eb;
  color: #1d6538;
}

.insumos-painel[hidden] { display: none; }
.insumos-painel > .panel { margin-bottom: 16px; }
.insumos-painel > .panel h2 { margin: 0 0 14px; }

.insumos-painel .form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
}

.insumos-painel .form-section-heading {
  grid-column: 1 / -1;
  margin: 0;
}

.insumos-aviso-edicao {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #825c07;
  font-weight: 650;
}

.insumos-aviso-edicao[hidden] { display: none; }
.insumos-painel .field { min-width: 0; }
.insumos-painel .field input,
.insumos-painel .field select,
.insumos-painel .field textarea { width: 100%; }
.insumos-painel .insumos-campo-largo { grid-column: 1 / -1; }

.insumos-acoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.insumos-saldo {
  align-self: center;
  margin: 0;
  color: #2f613c;
  font-size: .88rem;
  font-weight: 650;
}

.insumos-saldo-insuficiente { color: #a42d25; }

.insumos-form-cadastro {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e1e9e1;
}

.insumo-saldo-inicial-campos {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.insumo-saldo-inicial-campos[hidden] { display: none; }
.insumo-saldo-inicial-campos .insumos-ajuda { grid-column: 1 / -1; margin: 0; }
#cadastroSaldoInicialSomenteInclusao[hidden] { display: none; }

.insumos-filtros-relatorio { margin-bottom: 18px; }
.relatorio-insumos[hidden] { display: none; }
.insumos-acoes-relatorio { grid-column: 1 / -1; }
.insumos-relatorio-cabecalho { align-items: baseline; flex-wrap: wrap; gap: 8px 16px; }
.insumos-relatorio-cabecalho h3 { margin: 0; }
.insumos-relatorio-cabecalho span { color: #536258; font-size: .9rem; }
.insumos-relatorio-filtros-resumo { margin: 4px 0 12px; color: #536258; font-size: .85rem; }
#tabelaRelatorioInsumos { min-width: 900px; }
#tabelaRelatorioInsumos th { white-space: nowrap; }

.insumos-acoes-tabela {
  display: flex;
  gap: 6px;
  white-space: nowrap;
}

.insumos-painel .table-wrap {
  overflow-x: auto;
}

.insumos-painel .table-wrap table {
  min-width: 680px;
}

@media (max-width: 900px) {
  .insumos-painel .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .insumos-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .insumos-painel .form-grid { grid-template-columns: minmax(0, 1fr); }
  .insumos-painel .form-section-heading,
  .insumos-painel .insumos-aviso-edicao,
  .insumos-painel .insumos-campo-largo { grid-column: auto; }
  .insumos-acoes { align-items: stretch; }
}

@media print {
  body.insumos-impressao * { visibility: hidden !important; }
  body.insumos-impressao #painelRelatorioInsumos,
  body.insumos-impressao #painelRelatorioInsumos * { visibility: visible !important; }
  body.insumos-impressao #painelRelatorioInsumos {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.insumos-impressao .insumos-filtros-relatorio { display: none !important; }
  body.insumos-impressao #painelRelatorioInsumos {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  body.insumos-impressao #tabelaRelatorioInsumos { min-width: 0; width: 100%; font-size: 8pt; }
  body.insumos-impressao #tabelaRelatorioInsumos th,
  body.insumos-impressao #tabelaRelatorioInsumos td { padding: 3px; }
  @page { size: landscape; margin: 12mm; }
}