:root {
  color-scheme: light;
  --ink: #193b2c;
  --muted: #6c806f;
  --line: #dce6dc;
  --canvas: #f4f7f3;
  --surface: #fff;
  --green: #1d7045;
  --green-dark: #155637;
  --green-soft: #e9f2e9;
  --red: #a43432;
  --red-soft: #fce9e7;
  --amber: #926114;
}

* { box-sizing: border-box; }

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: "Trebuchet MS", Arial, sans-serif;
}

button, input, textarea { font: inherit; }
button { cursor: pointer; }

.app-shell { display: grid; grid-template-columns: 265px minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; min-height: 620px; padding: 22px 15px 16px; overflow-y: auto; background: #173b2b; color: #f5faf4; }
.sidebar-brand { display: flex; align-items: center; gap: 12px; padding: 4px 10px 34px; color: inherit; text-decoration: none; }
.sidebar-brand img { display: block; width: 40px; height: 40px; flex: 0 0 40px; object-fit: contain; }
.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-nav { display: grid; align-content: start; gap: 4px; }
.nav-section-title { margin: 15px 10px 3px; color: #a9c6ae; font-size: .62rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.nav-section-title:first-child { margin-top: 0; }
.nav-button { display: flex; align-items: center; gap: 11px; width: 100%; min-height: 40px; border: 0; border-radius: 7px; padding: 8px 10px; background: transparent; color: #d9e9da; text-align: left; font-size: .75rem; line-height: 1.35; }
.nav-button i { display: inline-grid; place-items: center; width: 20px; flex: 0 0 20px; color: #bddc68; font-size: .9rem; }
.nav-button .nav-icon { width: 28px; height: 28px; flex-basis: 28px; border-radius: 8px; font-size: .78rem; }
.nav-button .nav-icon--conferencia,
.nav-button .nav-icon--consumo,
.nav-button .nav-icon--pagamentos,
.nav-button .nav-icon--estoque-relatorio,
.nav-button .nav-icon--compras,
.nav-button .nav-icon--rateio,
.nav-button .nav-icon--resumo,
.nav-button .nav-icon--dashboard,
.nav-button .nav-icon--fuel,
.nav-button .nav-icon--stock,
.nav-button .nav-icon--transfers,
.nav-button .nav-icon--returns,
.nav-button .nav-icon--pumps,
.nav-button .nav-icon--personnel,
.nav-button .nav-icon--attendants,
.nav-button .nav-icon--tanks,
.nav-button .nav-icon--suppliers,
.nav-button .nav-icon--levels,
.nav-button .nav-icon--registrations,
.nav-button .nav-icon--relatorios { position: relative; isolation: isolate; border: 1px solid rgba(255, 255, 255, .3); color: #fff; text-shadow: 0 1px 2px rgba(15, 35, 28, .55); box-shadow: inset 0 1px 1px rgba(255, 255, 255, .5), inset 0 -3px 5px rgba(18, 34, 27, .22), 0 3px 0 rgba(8, 26, 18, .5), 0 5px 9px rgba(8, 26, 18, .28); transform: perspective(60px) rotateX(5deg); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.nav-button .nav-icon--dashboard { background: linear-gradient(145deg, #e3f59b, #a6cc42 58%, #638525); }
.nav-button .nav-icon--fuel { background: linear-gradient(145deg, #ffe29a, #d99a2b 58%, #995516); }
.nav-button .nav-icon--stock { background: linear-gradient(145deg, #91d3ff, #367fc5 58%, #205181); }
.nav-button .nav-icon--transfers { background: linear-gradient(145deg, #d6b7ff, #865bc4 58%, #563980); }
.nav-button .nav-icon--returns { background: linear-gradient(145deg, #ffbd9d, #dc764d 58%, #99462f); }
.nav-button .nav-icon--pumps { background: linear-gradient(145deg, #ffe39b, #db9d3e 58%, #94602a); }
.nav-button .nav-icon--personnel { background: linear-gradient(145deg, #9be7db, #3faaa0 58%, #256b68); }
.nav-button .nav-icon--attendants { background: linear-gradient(145deg, #b3eaff, #4d9fc0 58%, #326476); }
.nav-button .nav-icon--tanks { background: linear-gradient(145deg, #a0ead9, #40a98c 58%, #276b5d); }
.nav-button .nav-icon--suppliers { background: linear-gradient(145deg, #d0efa0, #83b94c 58%, #4c792f); }
.nav-button .nav-icon--levels { background: linear-gradient(145deg, #cbcbff, #777acb 58%, #454887); }
.nav-button .nav-icon--registrations { background: linear-gradient(145deg, #a6e9bb, #4ca86b 58%, #2b714a); }
.nav-button .nav-icon--relatorios { background: linear-gradient(145deg, #c7d0ff, #7887d3 58%, #47518c); }
.nav-button .nav-icon--conferencia { background: linear-gradient(145deg, #61d9a5, #14875d 58%, #086044); }
.nav-button .nav-icon--consumo { background: linear-gradient(145deg, #71c7ff, #2775d2 58%, #174b9e); }
.nav-button .nav-icon--pagamentos { background: linear-gradient(145deg, #ffe181, #e69a24 58%, #b65b12); }
.nav-button .nav-icon--estoque-relatorio { background: linear-gradient(145deg, #8be1d1, #229b91 58%, #12635f); }
.nav-button .nav-icon--compras { background: linear-gradient(145deg, #ff9c85, #e25358 58%, #a72e46); }
.nav-button .nav-icon--rateio { background: linear-gradient(145deg, #d5a4ff, #8a55da 58%, #5534a4); }
.nav-button .nav-icon--resumo { background: linear-gradient(145deg, #fff09a, #d2a82d 58%, #927218); }
.nav-button .nav-icon--dashboard i { color: inherit; }
.nav-button:hover .nav-icon--dashboard,
.nav-button:hover .nav-icon--fuel,
.nav-button:hover .nav-icon--stock,
.nav-button:hover .nav-icon--transfers,
.nav-button:hover .nav-icon--returns,
.nav-button:hover .nav-icon--pumps,
.nav-button:hover .nav-icon--personnel,
.nav-button:hover .nav-icon--attendants,
.nav-button:hover .nav-icon--tanks,
.nav-button:hover .nav-icon--suppliers,
.nav-button:hover .nav-icon--levels,
.nav-button:hover .nav-icon--registrations,
.nav-button:hover .nav-icon--relatorios,
.nav-button:hover .nav-icon--conferencia,
.nav-button:hover .nav-icon--consumo,
.nav-button:hover .nav-icon--pagamentos,
.nav-button:hover .nav-icon--estoque-relatorio,
.nav-button:hover .nav-icon--compras,
.nav-button:hover .nav-icon--rateio,
.nav-button:hover .nav-icon--resumo { filter: brightness(1.12); transform: perspective(60px) rotateX(0) translateY(-2px); box-shadow: inset 0 1px 1px rgba(255, 255, 255, .65), inset 0 -2px 4px rgba(18, 34, 27, .2), 0 4px 0 rgba(8, 26, 18, .45), 0 7px 12px rgba(8, 26, 18, .32); }
.nav-button:hover, .nav-button.active { background: #2c6245; color: #fff; }
.nav-button.active { box-shadow: inset 3px 0 #bddc68; }
.nav-button--dashboard { min-height: 48px; margin-bottom: 6px; border: 1px solid #315841; background: linear-gradient(110deg, #204a34, #1b402e); color: #f5faf4; font-size: .8rem; font-weight: 700; transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }
.nav-button--dashboard .nav-icon--dashboard { width: 32px; height: 32px; flex-basis: 32px; border-radius: 9px; background: linear-gradient(145deg, #e3f59b, #a6cc42 58%, #638525); color: #173b2b; font-size: .88rem; }
.nav-button--dashboard:hover { transform: translateX(2px); border-color: #64864b; background: linear-gradient(110deg, #2c6245, #24533a); }
.nav-button--dashboard.active { border-color: #64864b; background: linear-gradient(110deg, #2c6245, #24533a); box-shadow: inset 3px 0 #bddc68, 0 6px 16px rgba(7, 27, 17, .18); }
.nav-group-toggle { justify-content: flex-start; }
.nav-group-toggle > span { flex: 1; }
.nav-group-chevron { margin-left: auto; color: #bddc68 !important; font-size: .75rem !important; 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; }
.nav-submenu[hidden] { display: none !important; }
.nav-subitem { min-height: 36px; padding: 5px 8px; font-size: .72rem; }
.nav-subitem .nav-icon { width: 24px; height: 24px; flex-basis: 24px; font-size: .68rem; }
.sidebar-footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 7px 9px; margin-top: auto; border-top: 1px solid #315841; padding-top: 14px; }
.sidebar-user-profile { display: flex; grid-column: 1 / -1; align-items: center; gap: 9px; min-width: 0; }
.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-details { min-width: 0; }
.logged-user-details strong, .logged-user-details small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.logged-user-details strong { color: #fff; font-size: .72rem; }
.logged-user-details small { margin-top: 3px; color: #a9c6ae; font-size: .63rem; }
.sidebar-action { display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 0; min-height: 38px; border: 1px solid #315841; border-radius: 8px; padding: 5px 6px; background: #1b432f; color: #d9e9da; text-align: center; text-decoration: none; white-space: nowrap; font-size: .68rem; font-weight: 700; transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.sidebar-action > i { display: inline-grid; place-items: center; width: 24px; height: 24px; flex: 0 0 24px; border: 1px solid rgba(255,255,255,.16); border-radius: 7px; background: linear-gradient(145deg, #367451, #214a34); color: #d7f48b; 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; }
.sidebar-action:hover { transform: translateY(-1px); border-color: #477450; background: #2c6245; color: #fff; }
.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.logout-action { color: #f2b0a5; }
.sidebar-action.logout-action > i { color: #ffd2ca; background: linear-gradient(145deg, #9b5147, #69372f); }
.sidebar-action.logout-action:hover { border-color: #a6534b; background: #59372f; color: #fff; }
.abastecimento-page { width: min(1440px, 100%); min-width: 0; min-height: 100vh; margin: 0 auto; padding: 0 clamp(20px, 3vw, 42px) 42px; }
.topbar { display: flex; align-items: center; gap: 16px; min-height: 72px; border-bottom: 1px solid var(--line); }
.back-link, .icon-button { display: inline-grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); text-decoration: none; transition: background .18s ease, border-color .18s ease; }
.back-link:hover, .icon-button:hover { border-color: #a9c3aa; background: var(--green-soft); }
.brand-lockup { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand-logo { display: block; width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; }
.brand-lockup .eyebrow, .page-heading .eyebrow, .info-card .eyebrow { margin: 0 0 4px; color: var(--muted); font-size: .66rem; font-weight: 800; letter-spacing: .1em; }
.brand-lockup strong { font-size: .95rem; }
.user-tools { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.company-button { display: inline-flex; align-items: center; gap: 8px; max-width: min(360px, 45vw); min-height: 42px; border: 1px solid #d1ebdf; border-radius: 7px; padding: 6px 10px; overflow: hidden; background: #eff8f3; color: var(--green-dark); text-align: left; }
.company-button:hover { border-color: #a9c3aa; background: var(--green-soft); }
.company-button i { flex: 0 0 auto; }
.company-button-details { display: grid; min-width: 0; gap: 2px; }
#empresaSelecionadaLabel { overflow: hidden; font-size: .7rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
#filialSelecionadaLabel { color: var(--muted); font-size: .63rem; font-weight: 600; line-height: 1.1; }

.company-dialog { width: min(680px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 24px); border: 0; padding: 0; background: transparent; color: var(--ink); }
.company-dialog::backdrop { background: rgba(10, 35, 34, .48); backdrop-filter: blur(3px); }
.company-dialog-card { position: relative; max-height: calc(100vh - 24px); overflow: auto; border: 1px solid rgba(23, 59, 43, .14); border-radius: 16px; padding: 30px 30px 24px 120px; background: radial-gradient(ellipse at 100% 100%, rgba(45, 127, 80, .08), transparent 25%), linear-gradient(115deg, #f8fbf9, #fff 44%, #f8fbf9); box-shadow: 0 24px 70px rgba(10, 35, 34, .24); }
.company-dialog-card::before { position: absolute; inset: 0 auto 0 0; width: 90px; background: linear-gradient(155deg, transparent 0 38%, rgba(20, 91, 54, .92) 38.3% 40%, transparent 40.3%), repeating-linear-gradient(108deg, rgba(29, 112, 69, .16) 0 10px, rgba(123, 169, 69, .22) 10px 17px, rgba(244, 248, 236, .12) 17px 28px), linear-gradient(160deg, #accd70, #438c4c 52%, #174a34); clip-path: polygon(0 0, 100% 0, 88% 18%, 94% 34%, 86% 52%, 96% 69%, 84% 86%, 92% 100%, 0 100%); content: ""; }
.company-dialog-heading, .company-dialog-description, .company-options, .branch-selector, .company-dialog-actions { position: relative; z-index: 1; }
.company-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.company-dialog-heading .eyebrow { margin: 0 0 12px; color: var(--green); font-size: .8rem; font-weight: 800; letter-spacing: .1em; }
.company-dialog-heading .eyebrow i { margin-right: 8px; }
.company-dialog-heading h2 { max-width: 520px; margin: 0; color: #103e35; font-size: clamp(1.5rem, 4vw, 2.1rem); line-height: 1.08; letter-spacing: -.045em; }
.company-dialog-close { position: absolute; z-index: 2; top: 18px; right: 18px; display: grid; place-items: center; width: 36px; height: 36px; border: 2px solid #bed7ca; border-radius: 9px; padding: 0; background: #116038; color: #fff; font-size: 23px; line-height: 1; }
.company-dialog-close:hover, .company-dialog-close:focus-visible { outline: 3px solid rgba(29, 112, 69, .16); outline-offset: 2px; background: var(--green); color: #fff; }
.company-dialog-description { margin: 12px 0 18px; color: #586d71; font-size: .82rem; }
.company-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.company-options > p { grid-column: 1 / -1; }
.company-option-button { display: flex; min-width: 0; min-height: 82px; align-items: center; gap: 9px; border: 2px solid #e0e8e5; border-radius: 10px; padding: 10px; background: rgba(255,255,255,.72); color: var(--ink); text-align: left; transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }
.company-option-button:hover, .company-option-button:focus-visible { outline: 0; transform: translateY(-1px); border-color: #62ad82; background: #f0f8f4; box-shadow: 0 8px 20px rgba(23, 108, 105, .1); }
.company-option-button.selected { border-color: #20a45b; background: #f0f9f3; box-shadow: inset 0 0 0 1px #20a45b; }
.company-option-mark { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 8px; background: #f2faf5; color: #258750; font-size: 1.35rem; }
.company-option-details { display: grid; min-width: 0; justify-items: start; gap: 9px; }
.company-option-button strong { display: block; width: 100%; overflow-wrap: anywhere; color: #104a40; font-size: .76rem; line-height: 1.2; }
.company-option-button small { display: inline-flex; border-radius: 5px; padding: 4px 7px; background: #d9eee1; color: var(--green-dark); font-size: .65rem; font-weight: 700; }
.company-option-check { display: grid; width: 22px; height: 22px; flex: 0 0 22px; place-items: center; margin-left: auto; border: 2px solid #b5c0c3; border-radius: 50%; color: transparent; }
.company-option-button.selected .company-option-check { border-color: #147442; background: #147442; color: #fff; }
.company-option-button.selected .company-option-check::before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-size: .72rem; font-weight: 900; }
.branch-selector { margin-top: 12px; border: 1px solid #cfe3d8; border-radius: 10px; padding: 12px; background: rgba(237, 247, 241, .88); }
.branch-selector-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.branch-selector-heading > i { color: #197445; font-size: 1.35rem; }
.branch-selector-heading h3 { margin: 0; color: #124b40; font-size: .88rem; }
.branch-selector-heading p { margin: 4px 0 0; color: #687b7d; font-size: .68rem; }
.branch-select { width: 100%; min-height: 38px; border: 1px solid #a9c9bb; border-radius: 7px; padding: 7px 10px; background: #fff; color: #38565a; font-size: .76rem; }
.branch-select:focus-visible { outline: 3px solid rgba(29, 112, 69, .2); outline-offset: 2px; }
.branch-select:disabled { background: #f8faf9; color: #71827f; }
.branch-selector-message { min-height: 0; margin: 6px 0 0; color: #587363; font-size: .68rem; }
.branch-selector-message:empty { display: none; }
.branch-selector-message.is-error { color: #a64c42; }
.company-dialog-actions { display: flex; justify-content: flex-end; margin-top: 12px; }
.company-continue { display: inline-flex; min-width: 120px; min-height: 38px; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 8px; padding: 8px 13px; background: #27894e; color: #fff; font-size: .78rem; font-weight: 700; }
.company-continue:hover:not(:disabled), .company-continue:focus-visible:not(:disabled) { outline: 3px solid rgba(39, 137, 78, .2); outline-offset: 2px; background: #176c3b; }
.company-continue:disabled { background: #a8bdb0; cursor: not-allowed; }
.company-dialog-error { margin: 0; border: 1px solid #f1d0cb; border-radius: 8px; padding: 14px; background: #fff3f1; color: #a64c42; font-size: .75rem; }

.module-view[hidden] { display: none; }
.module-view.active-view { animation: view-enter .22s ease both; }
@keyframes view-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 30px 0 24px; }
.page-heading .eyebrow { margin-bottom: 6px; }
.page-heading h1 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.15rem); letter-spacing: -.035em; }
.heading-copy > p:last-child { margin: 8px 0 0; color: var(--muted); font-size: .9rem; }
.page-heading-actions { display: flex; align-items: center; gap: 14px; }
.heading-mark { display: grid; place-items: center; width: 58px; height: 58px; flex: 0 0 58px; border: 1px solid #d7e6d7; border-radius: 16px; background: var(--green-soft); color: var(--green); font-size: 1.4rem; }

.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: start; gap: 20px; }
.content-grid[hidden], #gradeAbastecimentos[hidden] { display: none !important; }
.form-card, .info-card { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: 0 8px 26px rgba(25, 59, 44, .045); }
.form-card { padding: 20px clamp(18px, 3vw, 34px) 10px; }
.card-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid #edf1ed; }
.card-heading h2, .info-card h2 { margin: 0; font-size: 1.05rem; }
.card-heading p { margin: 6px 0 0; color: var(--muted); font-size: .78rem; }
.required-mark { color: #b74c39; }
.optional-label { color: #88958a; font-size: .72rem; font-weight: 400; }
.secure-label { display: inline-flex; align-items: center; gap: 7px; padding: 7px 9px; border-radius: 6px; background: #f1f7ef; color: #46744b; font-size: .68rem; font-weight: 700; white-space: nowrap; }

.form-section { padding: 12px 0; border-bottom: 0; }
.form-section h3 { display: flex; align-items: center; gap: 9px; margin: 0 0 17px; color: #34543c; font-size: .82rem; }
.section-icon { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 7px; background: var(--green-soft); color: var(--green); font-size: .76rem; }
.field-grid { display: grid; gap: 15px; }
.field-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field { display: grid; align-content: start; gap: 7px; min-width: 0; color: #415a47; font-size: .75rem; font-weight: 700; }
.field[hidden] { display: none !important; }
.field > span { line-height: 1.35; }
.field input, .field select, .field textarea { width: 100%; min-width: 0; border: 1px solid #cfdacf; border-radius: 7px; outline: 0; background: #fff; color: var(--ink); font-size: .84rem; font-weight: 400; transition: border-color .18s ease, box-shadow .18s ease; }
.field input { height: 42px; padding: 9px 11px; }
.abastecimento-page input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
.abastecimento-page input[type="number"]::-webkit-inner-spin-button,
.abastecimento-page input[type="number"]::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.field select { height: 42px; padding: 8px 10px; }
.field textarea { min-height: 86px; padding: 10px 11px; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: #a2ada3; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(29, 112, 69, .1); }
.field small { color: #7e8c80; font-size: .68rem; font-weight: 400; line-height: 1.45; }
.field small.field-error { color: var(--red); }
.input-suffix { position: relative; }
.input-suffix input { padding-right: 40px; }
.input-suffix > span { position: absolute; top: 50%; right: 11px; transform: translateY(-50%); color: #7d8d7e; font-size: .72rem; font-weight: 700; }
.observation-field { margin-top: 17px; }
.character-count { justify-self: end; margin-top: -3px; }
#formAbastecimentoView .form-section { padding: 8px 0; }
#formAbastecimentoView .form-section h3 { margin-bottom: 12px; }
#formAbastecimentoView .field-grid { gap: 10px; }
#formAbastecimentoView .field { gap: 5px; font-size: .7rem; }
#formAbastecimentoView .field input,
#formAbastecimentoView .field select { height: 35px; padding: 6px 9px; font-size: .78rem; }
#dataAbastecimento { min-width: 30%; width: 30%;}
#horaAbastecimento { min-width: 20%; width: 20%; }
#maquinaId { min-width: 50%; width: 50%; }
#placaVeiculo { min-width: 50%;width: 50%; }
#quantidadeLitros { min-width: 0; width: 100%; }
#formAbastecimentoView .quantidade-litros-input { width: 60%; }
#valorLitro { min-width: 50%; width: 50%; }
#formAbastecimentoView .field input,
#formAbastecimentoView .field select,
#formAbastecimentoView .field textarea { text-transform: uppercase; }
#formAbastecimentoView .input-suffix input { padding-right: 34px; }
#formAbastecimentoView .input-suffix > span { right: 9px; font-size: .68rem; }
#formAbastecimentoView .field textarea { min-height: 68px; padding: 7px 9px; font-size: .78rem; }
#formAbastecimentoView .observation-field { margin-top: 12px; }
#formAbastecimentoView .field small { font-size: .64rem; }
#formAbastecimentoView .form-actions { gap: 7px; padding-top: 14px; }
#formAbastecimentoView .form-actions .button { min-height: 31px; padding: 5px 10px; font-size: .72rem; }

.form-message { margin-top: 16px; border: 1px solid transparent; border-radius: 7px; padding: 11px 13px; font-size: .8rem; line-height: 1.45; }
.form-message[hidden] { display: none; }
.form-message.success { border-color: #c8dfc8; background: #f0f8ef; color: #28613b; }
.form-message.error { border-color: #f0ceca; background: var(--red-soft); color: var(--red); }
.form-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 19px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 34px; padding: 6px 12px; border: 1px solid transparent; border-radius: 7px; font-size: .78rem; font-weight: 700; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.button:active:not(:disabled) { transform: translateY(1px); }
.button:disabled { cursor: wait; opacity: .68; }
.button-primary { background: var(--green); color: #fff; }
.button-primary:hover:not(:disabled) { background: var(--green-dark); }
.button-secondary { border-color: var(--line); background: #fff; color: #526657; }
.button-secondary:hover { border-color: #b8cbb8; background: #f5f8f4; }

.tanque-acoes { white-space: nowrap; }
.tanque-acoes .action-btn { margin: 0 3px; border: 0; border-radius: 8px; padding: 7px 10px; cursor: pointer; font-size: .82rem; font-weight: 700; transition: transform .18s ease, filter .18s ease, box-shadow .18s ease; box-shadow: 0 2px 8px rgba(20, 48, 31, .08); }
.tanque-acoes .action-btn:hover { transform: translateY(-1px); filter: brightness(.98); }
.tanque-acoes .action-btn.edit { background: #e8f4ff; color: #194a7c; }
.tanque-acoes .action-btn.delete { background: #fdeaea; color: #9a2c2c; }
.tanque-acoes .action-btn:disabled { cursor: wait; opacity: .68; }
#tanquesBody tr[data-tanque-codigo] { cursor: pointer; transition: background-color .18s ease; }
#tanquesBody tr[data-tanque-codigo]:hover { background: #f1f8f1; }

.info-column { display: grid; gap: 14px; }
.info-card { padding: 20px; }
.horimeter-card { overflow: hidden; border-color: #d7e5d5; background: linear-gradient(145deg, #f7fbf5, #fff 75%); }
.info-icon { display: grid; place-items: center; width: 39px; height: 39px; margin-bottom: 15px; border-radius: 10px; background: #e3f0e1; color: var(--green); }
.info-card h2 { font-size: .92rem; }
.info-card > p:not(.eyebrow) { margin: 9px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.6; }
.last-reading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 17px; border-top: 1px solid #e1ebdf; padding-top: 13px; }
.last-reading[hidden] { display: none; }
.last-reading span { color: var(--muted); font-size: .71rem; }
.last-reading strong { color: var(--green-dark); font-size: .86rem; font-variant-numeric: tabular-nums; }
.note-card h2 { display: flex; align-items: center; gap: 8px; }
.note-card h2 i { color: #708a71; font-size: .84rem; }
.note-card ul { display: grid; gap: 11px; margin: 15px 0 0; padding: 0; list-style: none; }
.note-card li { position: relative; padding-left: 18px; color: #657768; font-size: .74rem; line-height: 1.5; }
.note-card li::before { position: absolute; top: 0; left: 0; color: #75a15e; content: "\f00c"; font-family: "Font Awesome 6 Free"; font-size: .65rem; font-weight: 900; }
.privacy-note { display: flex; align-items: start; gap: 8px; margin: 0; padding: 2px 4px; color: #718173; font-size: .69rem; line-height: 1.5; }
.privacy-note i { margin-top: 2px; color: #6d9870; }

.cadastro-card, .cadastro-list-card { margin-bottom: 16px; }
.cadastro-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; padding-top: 20px; }
.cadastro-actions { display: flex; align-items: end; }
.estoque-form { grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: start; gap: 12px; }
.estoque-form .field { gap: 5px; font-size: .72rem; }
.estoque-form .field > input, .estoque-form .field > select { height: 36px; padding: 7px 9px; }
.estoque-form .field > textarea { min-height: 68px; padding: 8px 9px; }
.supplier-field { position: relative; }
.supplier-field > label { line-height: 1.35; }
.supplier-suggestions { position: absolute; z-index: 5; top: calc(100% - 1px); right: 0; left: 0; max-height: 250px; overflow-y: auto; border: 1px solid #d8e2d8; border-radius: 0 0 8px 8px; background: #fff; box-shadow: 0 8px 18px rgb(29 56 34 / 14%); }
.supplier-suggestion { display: grid; width: 100%; gap: 3px; border: 0; border-bottom: 1px solid #edf1ed; padding: 9px 11px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.supplier-suggestion:last-child { border-bottom: 0; }
.supplier-suggestion:hover, .supplier-suggestion.active { background: #f1f8f1; }
.supplier-suggestion-name { overflow: hidden; font-size: .73rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.supplier-suggestion-document, .supplier-suggestion-empty { color: #718173; font-size: .66rem; }
.supplier-suggestion-empty { padding: 10px 11px; }
.estoque-form > label[for="tanqueEstoque"],
.estoque-form > .supplier-field,
.estoque-observacao-field { grid-column: span 2; }
#numeroNf, #quantidadeEstoque, #valorUnitEstoque { -moz-appearance: textfield; appearance: textfield; }
#numeroNf::-webkit-inner-spin-button, #numeroNf::-webkit-outer-spin-button,
#quantidadeEstoque::-webkit-inner-spin-button, #quantidadeEstoque::-webkit-outer-spin-button,
#valorUnitEstoque::-webkit-inner-spin-button, #valorUnitEstoque::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.estoque-ajuste-options { display: flex; align-items: center; gap: 18px; min-height: 42px; color: var(--ink); font-size: .82rem; font-weight: 400; }
.estoque-ajuste-options label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.estoque-ajuste-options input { width: auto; min-height: 0; margin: 0; accent-color: var(--green); }
.estoque-observacao-field { grid-column: span 2; }
.estoque-actions { grid-column: 1 / -1; justify-content: flex-end; align-items: center; gap: 9px; }
.estoque-actions .button { min-width: 112px; }
.estoque-table { width: max-content; min-width: 1080px; table-layout: auto; font-size: .68rem; }
.estoque-table th, .estoque-table td { padding: 5px 0; line-height: 1.15; white-space: nowrap; }
.estoque-table th { font-size: .68rem; }
.estoque-table tbody tr[data-lancamento-estoque] { cursor: pointer; }
.estoque-table tbody tr[data-lancamento-estoque]:hover { background: #f6f9f5; }
.estoque-table tbody tr.estoque-row-selected,
.estoque-table tbody tr.estoque-row-selected:hover { background: #e4f1e2; box-shadow: inset 3px 0 #2f7d46; }
.estoque-table tbody tr[hidden] { display: none !important; }
.estoque-table td.estoque-actions-cell { padding: 3px 5px; }
.estoque-table th:last-child, .estoque-table td.estoque-actions-cell { position: sticky; right: 0; z-index: 1; background: #fff; box-shadow: -5px 0 7px -6px rgba(20, 48, 31, .45); }
.estoque-table th:last-child { z-index: 2; background: #f2f6f1; }
.estoque-table tbody tr:hover td.estoque-actions-cell { background: #f6f9f5; }
.estoque-table tbody tr.estoque-row-selected td.estoque-actions-cell,
.estoque-table tbody tr.estoque-row-selected:hover td.estoque-actions-cell { background: #e4f1e2; }
.estoque-filters { grid-template-columns: repeat(5, minmax(120px, 1fr)) auto; }
.estoque-row-action { display: inline-grid; place-items: center; width: 25px; height: 25px; border: 1px solid #c9ddf0; border-radius: 5px; background: #eff7ff; color: #245f91; font-size: .72rem; }
.estoque-row-action + .estoque-row-action { margin-left: 3px; }
.estoque-row-action:hover:not(:disabled) { border-color: #a9c3aa; background: #f5f8f4; color: var(--green); }
.estoque-row-action-delete { border-color: #efc9c5; background: #fff1ef; color: #a33e35; }
.estoque-row-action-delete:hover:not(:disabled) { border-color: #e2b7b3; background: #fff5f4; color: var(--red); }
.estoque-row-action:disabled { cursor: wait; opacity: .55; }
.estoque-table tbody tr { transition: background-color .18s ease; }
.transfer-form-card { margin-bottom: 16px; padding: 12px 20px 8px; }
.transfer-form-card .card-heading { padding-bottom: 10px; }
.transfer-form { display: grid; gap: 0; }
.transfer-panel { min-width: 0; }
.transfer-panel.form-section { padding: 6px 0; }
.transfer-panel h3 { margin-bottom: 6px; font-size: .76rem; }
.transfer-panel .section-icon { width: 23px; height: 23px; font-size: .68rem; }
.transfer-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 8px 12px; }
.transfer-fields .field { gap: 4px; font-size: .7rem; }
.transfer-fields .field input,
.transfer-fields .field select { height: 34px; padding: 6px 9px; font-size: .76rem; }
.transfer-fields .field textarea { min-height: 50px; padding: 7px 9px; font-size: .76rem; }
.transfer-history-field { grid-column: span 2; }
.transfer-destination-field { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px; grid-column: span 2; }
.transfer-destination-field h3 { margin: 0; white-space: nowrap; }
.transfer-fields .transfer-balance { color: var(--muted); font-size: .68rem; font-weight: 400; }
.transfer-actions { justify-content: flex-end; gap: 9px; padding-top: 6px; }
.transfer-actions .button { min-width: 120px; }
.transfer-table tbody tr { transition: background-color .18s ease; }
.transfer-table tbody tr[data-transferencia-id] { cursor: pointer; }
.transfer-table tbody tr:hover { background: #f6f9f5; }
.transfer-table tbody tr.transfer-row-selected,
.transfer-table tbody tr.transfer-row-selected:hover { background: #e4f1e2; box-shadow: inset 3px 0 #2f7d46; }
.transfer-table th:last-child, .transfer-table td.tanque-acoes { position: sticky; right: 0; z-index: 1; background: #fff; box-shadow: -5px 0 7px -6px rgba(20, 48, 31, .45); }
.transfer-table th:last-child { z-index: 2; background: #f2f6f1; }
.transfer-table tbody tr:hover td.tanque-acoes { background: #f6f9f5; }
.transfer-table tbody tr.transfer-row-selected td.tanque-acoes,
.transfer-table tbody tr.transfer-row-selected:hover td.tanque-acoes { background: #e4f1e2; }
.transfer-table td.tanque-acoes { padding: 3px 5px; }
.devolucao-abastecimento-fields { display: grid; grid-template-columns: minmax(280px, .95fr) minmax(300px, 1.05fr); align-items: end; gap: 12px 18px; }
.devolucao-identificacao { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 12px; }
.devolucao-identificacao .field > label { color: #415a47; font-size: .7rem; font-weight: 700; line-height: 1.35; }
.devolucao-busca { display: flex; align-items: center; gap: 6px; }
.devolucao-busca input { flex: 1; }
.devolucao-busca .button { width: 36px; min-width: 36px; min-height: 34px; padding: 5px; }
.devolucao-summary { display: grid; align-content: center; gap: 5px; min-height: 100px; border-radius: 6px; padding: 10px 12px; background: #e7f8f5; color: #294b46; font-size: .74rem; }
.devolucao-summary[hidden] { display: none; }
.devolucao-summary > div { display: grid; grid-template-columns: 56px minmax(0, 1fr) 48px minmax(0, 1fr); align-items: baseline; gap: 4px 8px; min-width: 0; }
.devolucao-summary > div:not(:nth-child(-n+2)) { grid-template-columns: 56px minmax(0, 1fr); }
.devolucao-summary strong { color: #213f38; }
.devolucao-summary span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.devolucao-details { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 2.2fr); gap: 12px; padding: 8px 0; }
.devolucao-details .field { gap: 4px; font-size: .7rem; }
.devolucao-quantidade { display: grid; gap: 5px; }
.devolucao-quantidade input { height: 34px; padding: 6px 9px; font-size: .76rem; }
.devolucao-observacao-field textarea { min-height: 58px; padding: 7px 9px; font-size: .76rem; }
.devolucao-destination { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(220px, 2fr); align-items: center; gap: 14px; border-top: 1px solid #edf1ed; padding: 8px 0 2px !important; }
.devolucao-destination h3 { margin: 0; }
.devolucao-destination .field { gap: 4px; font-size: .7rem; }
.devolucao-destination .field select { height: 34px; padding: 6px 9px; font-size: .76rem; }
.abastecimentos-table.devolucao-table { width: auto; min-width: 1000px; }
.abastecimentos-table.devolucao-table th,
.abastecimentos-table.devolucao-table td { padding-right: 5px; padding-left: 5px; }
.devolucao-table tbody tr[data-devolucao-id] { cursor: pointer; }
.devolucao-table tbody tr:hover { background: #f6f9f5; }
.devolucao-table tbody tr.devolucao-row-selected,
.devolucao-table tbody tr.devolucao-row-selected:hover { background: #e4f1e2; box-shadow: inset 3px 0 #2f7d46; }
.devolucao-table th:nth-child(5), .devolucao-table td:nth-child(5) { max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.devolucao-table th:last-child, .devolucao-table td.tanque-acoes { position: sticky; right: 0; z-index: 1; min-width: 68px; background: #fff; box-shadow: -5px 0 7px -6px rgba(20, 48, 31, .45); }
.devolucao-table th:last-child { z-index: 2; background: #f2f6f1; }
.devolucao-table tbody tr:hover td.tanque-acoes { background: #f6f9f5; }
.devolucao-table tbody tr.devolucao-row-selected td.tanque-acoes,
.devolucao-table tbody tr.devolucao-row-selected:hover td.tanque-acoes { background: #e4f1e2; }
.devolucao-table td.tanque-acoes { padding: 3px 5px; white-space: nowrap; }
.gilbarco-test-card { max-width: 760px; }
.gilbarco-test-card .cadastro-actions { padding-top: 18px; }
.gilbarco-test-results { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.gilbarco-test-result { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; border: 1px solid var(--line); border-radius: 7px; padding: 11px 13px; font-size: .78rem; }
.gilbarco-test-result strong { color: var(--ink); }
.gilbarco-test-result span { color: var(--muted); }
.gilbarco-test-result.connected { border-color: #c8dfc8; background: #f0f8ef; }
.gilbarco-test-result.connected span { color: #28613b; }
.gilbarco-test-result.disconnected { border-color: #f0ceca; background: var(--red-soft); }
.gilbarco-test-result.disconnected span { color: var(--red); }
.gilbarco-test-note { margin: 13px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.pessoal-search { max-width: 480px; margin: 5px 0; }
.table-scroll { width: 100%; overflow-x: auto; }
.pessoal-grid-summary, .pessoal-pagination { color: var(--muted); font-size: .76rem; }
.pessoal-table-scroll { max-height: 360px; overflow-x: auto; overflow-y: auto; overflow-anchor: none; scrollbar-gutter: stable; }
.pessoal-table-scroll::-webkit-scrollbar { width: 12px; height: 12px; }
.pessoal-table-scroll::-webkit-scrollbar-track { background: #edf2ed; }
.pessoal-table-scroll::-webkit-scrollbar-thumb { border: 3px solid #edf2ed; border-radius: 8px; background: #9caf9b; }
.pessoal-table-scroll::-webkit-scrollbar-thumb:hover { background: #6f8d71; }
.pessoal-table-scroll { scrollbar-color: #9caf9b #edf2ed; scrollbar-width: auto; }
.pessoal-table { width: 100%; min-width: 620px; table-layout: fixed; }
.pessoal-table .pessoal-col-matricula { width: 18%; }
.pessoal-table .pessoal-col-nome { width: 37%; }
.pessoal-table .pessoal-col-codigo-funcao { width: 18%; }
.pessoal-table .pessoal-col-funcao { width: 27%; }
.pessoal-table th, .pessoal-table td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pessoal-table .pessoal-sort { max-width: 100%; overflow: hidden; white-space: nowrap; }
.pessoal-table-scroll .origens-table th { position: sticky; top: 0; z-index: 1; }
.pessoal-sort { display: inline-flex; align-items: center; gap: 5px; border: 0; padding: 0; background: transparent; color: inherit; font: inherit; text-align: left; text-transform: inherit; }
.pessoal-sort:hover { color: var(--green); }
.pessoal-sort span { min-width: 9px; color: #8b9a8d; }
.pessoal-sort span:empty::before { content: "↕"; }
.pessoal-table th[aria-sort="ascending"] .pessoal-sort span,
.pessoal-table th[aria-sort="descending"] .pessoal-sort span { color: var(--green); }
.grid-sort-button { display: inline-flex; align-items: center; gap: 6px; border: 0; padding: 0; background: transparent; color: inherit; font: inherit; text-align: left; text-transform: inherit; cursor: pointer; }
.grid-sort-button:hover, .grid-sort-button:focus-visible { color: var(--green); }
.grid-sort-indicator { min-width: 10px; color: #8b9a8d; }
.grid-sort-button[aria-sort="ascending"] .grid-sort-indicator,
.grid-sort-button[aria-sort="descending"] .grid-sort-indicator { color: var(--green); }
.pessoal-table-scroll .origens-table td { padding-top: 6px; padding-bottom: 6px; line-height: 1.25; }
.pessoal-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; margin-top: 8px; border-top: 1px solid #edf1ed; padding-top: 8px; color: #748178; font-size: .72rem; }
.pessoal-pagination-controls { display: flex; align-items: center; gap: 7px; }
.pessoal-pagination-controls > span { min-width: 37px; text-align: center; font-variant-numeric: tabular-nums; }
.pessoal-page-button { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #dce6dc; border-radius: 6px; background: #fff; color: #526657; }
.pessoal-page-button:hover:not(:disabled) { border-color: #a9c3aa; background: #f5f8f4; color: var(--green); }
.pessoal-page-button:disabled { cursor: not-allowed; opacity: .42; }
.pessoal-page-size { display: flex; align-items: center; gap: 8px; margin-left: 4px; color: #748178; font-size: .7rem; font-weight: 400; white-space: nowrap; }
.pessoal-page-size select { width: 58px; height: 30px; border: 1px solid #dce6dc; border-radius: 5px; padding: 4px 6px; background: #fff; color: var(--ink); font-size: .72rem; }
.cadastro-frentista-form { grid-template-columns: minmax(220px, 480px); justify-content: start; align-items: end; }
.frentista-search-hint { align-self: end; margin: 0 0 9px; color: var(--muted); font-size: .7rem; }
.frentista-candidatos-scroll { max-height: 300px; margin-top: 12px; overflow: auto; }
.frentista-candidatos-scroll .origens-table th { position: sticky; top: 0; z-index: 1; }
.frentista-candidato-button { min-height: 30px; padding: 5px 10px; font-size: .7rem; }
.frentista-candidato-button:disabled { cursor: wait; opacity: .6; }
.frentista-status-button { min-height: 30px; padding: 5px 10px; font-size: .7rem; }
.origens-table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.origens-table th, .origens-table td { padding: 11px 12px; border-bottom: 1px solid #edf1ed; text-align: left; }
.origens-table th { background: #f2f6f1; color: #526c55; font-size: .66rem; text-transform: uppercase; }
.origens-table .empty-row { padding: 24px; color: var(--muted); text-align: center; }
#gridBombas tbody tr[data-origem-id] { cursor: pointer; }
#gridBombas tbody tr:hover { background: #f6f9f5; }
#gridBombas tbody tr.origem-row-selected,
#gridBombas tbody tr.origem-row-selected:hover { background: #e4f1e2; box-shadow: inset 3px 0 #2f7d46; }
#gridBombas th:last-child, #gridBombas td.tanque-acoes { position: sticky; right: 0; z-index: 1; min-width: 68px; background: #fff; box-shadow: -5px 0 7px -6px rgba(20, 48, 31, .45); }
#gridBombas th:last-child { z-index: 2; background: #f2f6f1; }
#gridBombas tbody tr:hover td.tanque-acoes { background: #f6f9f5; }
#gridBombas tbody tr.origem-row-selected td.tanque-acoes,
#gridBombas tbody tr.origem-row-selected:hover td.tanque-acoes { background: #e4f1e2; }
#gridBombas td.tanque-acoes { padding: 3px 5px; white-space: nowrap; }
.abastecimentos-table { width: max-content; min-width: 1180px; table-layout: auto; font-size: .68rem; }
.abastecimentos-table th, .abastecimentos-table td { padding: 5px 0; line-height: 1.15; white-space: nowrap; }
.abastecimentos-table th { font-size: .68rem; }
.abastecimentos-table.transfer-table { min-width: 1000px; width: auto; }
.abastecimentos-table.transfer-table th:nth-child(1),
.abastecimentos-table.transfer-table td:nth-child(1) { width: auto  !important; white-space: nowrap !important; overflow-wrap: normal !important;  }
.abastecimentos-table.transfer-table th:nth-child(2),
.abastecimentos-table.transfer-table td:nth-child(2) { width: auto  !important; white-space: nowrap !important; overflow-wrap: normal !important;  } 
.abastecimentos-table.transfer-table th:nth-child(3),
.abastecimentos-table.transfer-table td:nth-child(3) { width: auto !important; white-space: nowrap !important; overflow-wrap: normal !important;  }
.abastecimentos-table.transfer-table th:nth-child(4),
.abastecimentos-table.transfer-table td:nth-child(4) { width: auto !important; white-space: nowrap !important; overflow-wrap: normal !important; }
.abastecimentos-table.transfer-table th:nth-child(5),
.abastecimentos-table.transfer-table td:nth-child(5) { width: auto !important; white-space: nowrap !important; overflow-wrap: normal !important;  }
.abastecimentos-table.transfer-table th:nth-child(6),
.abastecimentos-table.transfer-table td:nth-child(6) { width: 20% !important; white-space: nowrap !important; overflow-wrap: normal !important;  }
.abastecimentos-table.transfer-table th:nth-child(7),
.abastecimentos-table.transfer-table td:nth-child(7) { width: 20% !important; white-space: nowrap !important; overflow-wrap: normal !important;  }
.abastecimentos-table tbody tr[data-editar-abastecimento] { cursor: pointer; }
.abastecimentos-table tbody tr[data-editar-abastecimento]:hover { background: #f6f9f5; }
.abastecimentos-table tbody tr.abastecimento-row-selected,
.abastecimentos-table tbody tr.abastecimento-row-selected:hover { background: #e4f1e2; box-shadow: inset 3px 0 #2f7d46; }
.abastecimentos-table tbody tr[hidden] { display: none !important; }
.abastecimentos-table td.abastecimento-actions-cell { padding: 3px 5px; }
.abastecimentos-table th:last-child, .abastecimentos-table td.abastecimento-actions-cell { position: sticky; right: 0; z-index: 1; background: #fff; box-shadow: -5px 0 7px -6px rgba(20, 48, 31, .45); }
.abastecimentos-table th:last-child { z-index: 2; background: #f2f6f1; }
.abastecimentos-table tbody tr[data-editar-abastecimento]:hover td.abastecimento-actions-cell { background: #f6f9f5; }
.abastecimentos-table tbody tr.abastecimento-row-selected td.abastecimento-actions-cell,
.abastecimentos-table tbody tr.abastecimento-row-selected:hover td.abastecimento-actions-cell { background: #e4f1e2; }
.abastecimento-filters { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)) auto; align-items: end; gap: 12px; margin: 16px 0; }
.abastecimento-filters .field { gap: 5px; }
.abastecimento-filters .field input { height: 36px; padding: 7px 9px; font-size: .76rem; }
.abastecimento-filters > .button { min-height: 36px; white-space: nowrap; }
.abastecimento-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin-top: 8px; border-top: 1px solid #edf1ed; padding-top: 8px; color: #748178; font-size: .72rem; }
.abastecimento-pagination-controls { display: flex; align-items: center; gap: 7px; }
.abastecimento-pagination-controls > span { min-width: 37px; text-align: center; font-variant-numeric: tabular-nums; }
.abastecimento-page-button { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #dce6dc; border-radius: 6px; background: #fff; color: #526657; }
.abastecimento-page-button:hover:not(:disabled) { border-color: #a9c3aa; background: #f5f8f4; color: var(--green); }
.abastecimento-page-button:disabled { cursor: not-allowed; opacity: .42; }
.abastecimento-page-size { display: flex; align-items: center; gap: 8px; margin-left: 4px; color: #748178; font-size: .7rem; font-weight: 400; white-space: nowrap; }
.abastecimento-page-size select { width: 54px; height: 27px; min-height: 27px; border: 1px solid #dce6dc; border-radius: 4px; padding: 3px 5px; background: #fff; color: var(--ink); font-size: .68rem; line-height: 1; }
.abastecimento-row-action { display: inline-grid; place-items: center; width: 25px; height: 25px; border: 1px solid #c9ddf0; border-radius: 5px; background: #eff7ff; color: #245f91; font-size: .72rem; }
.abastecimento-row-action + .abastecimento-row-action { margin-left: 3px; }
.abastecimento-row-action:hover:not(:disabled) { border-color: #a9c3aa; background: #f5f8f4; color: var(--green); }
.abastecimento-row-action-delete { border-color: #efc9c5; background: #fff1ef; color: #a33e35; }
.abastecimento-row-action-delete:hover:not(:disabled) { border-color: #e7bbb6; background: #fff5f3; color: #a33e35; }
.abastecimento-row-action:disabled { cursor: wait; opacity: .55; }
.unavailable-card { display: grid; justify-items: center; margin-top: 2px; padding: 54px 28px; text-align: center; }
.unavailable-card > i { margin-bottom: 15px; color: #8ca08d; font-size: 1.6rem; }
.unavailable-card h2 { margin: 0; font-size: 1rem; }
.unavailable-card p { max-width: 560px; margin: 9px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.6; }
.dashboard-heading { margin-bottom: 18px; }
.dashboard-heading .page-heading-actions { gap: 9px; }
.dashboard-filtros { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin-bottom: 15px; border: 1px solid var(--line); border-radius: 10px; padding: 13px; background: #fff; }
.dashboard-filtros .field { width: min(190px, 100%); gap: 5px; font-size: .7rem; }
.dashboard-filtros .field input { height: 35px; padding: 6px 9px; font-size: .76rem; }
.dashboard-filtros .button { min-height: 35px; }
.dashboard-periodo { flex: 1 1 100%; margin: 0; color: var(--muted); font-size: .7rem; }
.cabecalho-impressao-dashboard { display: none; }
.dashboard-notice { margin: -4px 0 16px; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.dashboard-metric { position: relative; display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 112px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; padding: 16px; background: linear-gradient(135deg, #fff 0%, #fff 60%, #f4f8f1 100%); box-shadow: 0 5px 16px rgba(25, 59, 44, .045); }
.dashboard-metric::after { position: absolute; top: -35px; right: -25px; width: 108px; height: 108px; border: 18px solid rgba(29,112,69,.045); border-radius: 50%; content: ""; }
.dashboard-metric-icon { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 12px; color: #fff; font-size: 1.05rem; text-shadow: 0 1px 2px rgba(15,35,28,.45); box-shadow: inset 0 1px 2px rgba(255,255,255,.55), inset 0 -3px 5px rgba(18,34,27,.2), 0 3px 0 rgba(8,26,18,.35), 0 5px 10px rgba(8,26,18,.15); }
.dashboard-metric--fuel .dashboard-metric-icon { background: linear-gradient(145deg, #ffe29a, #d99a2b 58%, #995516); }
.dashboard-metric--volume .dashboard-metric-icon { background: linear-gradient(145deg, #a6e9bb, #4ca86b 58%, #2b714a); }
.dashboard-metric--stock .dashboard-metric-icon { background: linear-gradient(145deg, #ffe39b, #db9d3e 58%, #94602a); }
.dashboard-metric--fleet .dashboard-metric-icon { background: linear-gradient(145deg, #cbb8ed, #8063ae 58%, #55417d); }
.dashboard-metric > div { min-width: 0; }
.dashboard-metric p { position: relative; z-index: 1; margin: 0 0 7px; color: var(--muted); font-size: .68rem; font-weight: 700; line-height: 1.35; }
.dashboard-metric strong { display: block; overflow: hidden; color: var(--ink); font-size: clamp(1.1rem, 1.6vw, 1.55rem); font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-metric small { display: block; margin-top: 5px; color: #829084; font-size: .63rem; }
.dashboard-widgets { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: stretch; gap: 15px; }
.dashboard-card { min-width: 0; padding: 18px; }
.painel-dashboard--consumo { grid-column: span 7; }
.painel-dashboard--combustivel { grid-column: span 5; }
.painel-dashboard--estoque { grid-column: span 5; }
.painel-dashboard--ranking { grid-column: span 7; }
.painel-dashboard--recentes { grid-column: 1 / -1; }
.dashboard-card .card-heading { margin-bottom: 10px; }
.dashboard-card .card-heading h2 { margin: 0; font-size: .95rem; }
.dashboard-card .card-heading p { margin: 5px 0 0; color: var(--muted); font-size: .7rem; }
.dashboard-card .card-heading .button { min-height: 32px; padding: 6px 9px; font-size: .68rem; }
.dashboard-widget-empty { grid-column: 1 / -1; margin: auto; padding: 28px 10px; color: var(--muted); font-size: .75rem; text-align: center; }
.grafico-consumo-semanal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); align-items: end; gap: 9px; min-height: 205px; padding: 15px 4px 0; border-bottom: 1px solid #e6ede6; background: repeating-linear-gradient(to bottom, transparent 0, transparent 48px, #edf2ec 49px, transparent 50px); }
.dashboard-daily-column { display: grid; grid-template-rows: 20px minmax(66px, 1fr) 17px 16px; align-items: end; gap: 3px; min-width: 0; height: 185px; text-align: center; }
.dashboard-daily-value { overflow: hidden; color: #718074; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-daily-track { display: flex; width: min(100%, 32px); height: 100%; align-items: end; justify-self: center; overflow: hidden; border-radius: 7px 7px 2px 2px; background: rgba(29,112,69,.07); }
.dashboard-daily-fill { display: block; width: 100%; min-height: 0; border-radius: 7px 7px 2px 2px; background: linear-gradient(180deg, #90c96b, #2d8050); box-shadow: inset 0 1px 1px rgba(255,255,255,.55); transition: height .35s ease; }
.dashboard-daily-column small { overflow: hidden; color: var(--ink); font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-daily-date { color: var(--muted); font-size: .58rem; }
.dashboard-distribuicao { display: grid; align-content: center; gap: 14px; min-height: 205px; }
.dashboard-fuel-row { display: grid; gap: 6px; }
.dashboard-fuel-heading, .dashboard-ranking-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.dashboard-fuel-heading strong, .dashboard-ranking-heading strong { overflow: hidden; color: #344b3a; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-fuel-heading span, .dashboard-ranking-heading span { flex: 0 0 auto; color: #596d5c; font-size: .66rem; font-variant-numeric: tabular-nums; }
.dashboard-fuel-track, .dashboard-ranking-track, .dashboard-tank-track { height: 8px; overflow: hidden; border-radius: 999px; background: #edf2ec; }
.dashboard-fuel-fill, .dashboard-ranking-track span, .dashboard-tank-fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #a8ce64, #398354); }
.dashboard-fuel-fill[data-cor="1"] { background: linear-gradient(90deg, #f6d879, #cb8b24); }
.dashboard-fuel-fill[data-cor="2"] { background: linear-gradient(90deg, #87d6c1, #238c78); }
.dashboard-fuel-fill[data-cor="3"] { background: linear-gradient(90deg, #e9a2a0, #bd5650); }
.dashboard-fuel-fill[data-cor="4"] { background: linear-gradient(90deg, #c4a8e6, #7854a6); }
.dashboard-tank-list { display: grid; gap: 12px; max-height: 280px; overflow-y: auto; padding: 2px 3px 2px 0; }
.dashboard-tank-item { display: grid; gap: 8px; border-bottom: 1px solid #edf1ed; padding: 0 0 10px; }
.dashboard-tank-details { min-width: 0; }
.dashboard-tank-details strong, .dashboard-tank-details small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-tank-details strong { color: var(--ink); font-size: .73rem; }
.dashboard-tank-details small { margin-top: 4px; color: var(--muted); font-size: .64rem; }
.dashboard-tank-data { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 5px 10px; }
.dashboard-tank-saldo { color: var(--green-dark); font-size: .72rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.dashboard-tank-summary { overflow: hidden; color: var(--muted); font-size: .62rem; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-tank-track { grid-column: 1 / -1; height: 6px; }
.dashboard-tank-fill { background: linear-gradient(90deg, #9bc85b, #2c8050); }
.dashboard-tank-list > .empty-row { color: var(--muted); font-size: .75rem; text-align: center; }
.dashboard-ranking { display: grid; gap: 12px; }
.dashboard-ranking-row { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 10px; }
.dashboard-ranking-position { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #eff5e9; color: #52723d; font-size: .7rem; font-weight: 800; }
.dashboard-ranking-details { display: grid; gap: 4px; min-width: 0; }
.dashboard-ranking-details > small { color: var(--muted); font-size: .62rem; }
.dashboard-ranking-track { height: 5px; }
.dashboard-ranking-track span { background: linear-gradient(90deg, #b6d77a, #438657); }
.dashboard-table { min-width: 700px; }
.dashboard-table th, .dashboard-table td { padding: 9px 10px; font-size: .7rem; white-space: nowrap; }
.dashboard-table tbody tr:nth-child(even) { background: #fbfcfa; }
.cartao-relatorio { margin-top: 4px; }
.cabecalho-impressao-relatorio { display: none; }
.cabecalho-impressao-relatorio img { width: 58px; height: 44px; object-fit: contain; }
.cabecalho-impressao-relatorio p { margin: 0 0 4px; color: #526c55; font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.cabecalho-impressao-relatorio h2 { display: none; }
.cabecalho-impressao-relatorio span { color: var(--muted); font-size: .72rem; white-space: pre-line; }
.filtros-relatorio { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(300px, 1.2fr) minmax(190px, .7fr); align-items: stretch; gap: 12px; margin: 16px 0; }
.filtro-relatorio-bloco { min-width: 0; margin: 0; border: 1px solid #dce5dc; border-radius: 8px; padding: 10px 12px 12px; }
.filtro-relatorio-bloco legend { padding: 0 5px; color: #526c55; font-size: .76rem; font-weight: 800; }
.filtro-relatorio-periodo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 10px; }
.filtro-relatorio-periodo .field { gap: 5px; }
.filtro-relatorio-periodo .field input { height: 36px; padding: 7px 9px; font-size: .76rem; }
.filtro-relatorio-bombas[hidden], .filtro-relatorio-periodo[hidden], #limparFiltrosRelatorioBtn[hidden] { display: none; }
.filtro-relatorio-bombas { grid-row: span 2; }
.filtro-estoque-tanque[hidden] { display: none; }
.filtro-estoque-tanque { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(260px, .8fr) minmax(340px, 1.2fr); gap: 12px; }
.estoque-filtro-dia, .estoque-filtro-tanques { min-width: 0; margin: 0; border: 1px solid #dce5dc; border-radius: 7px; padding: 9px 11px 11px; }
.estoque-filtro-dia legend, .estoque-filtro-tanques legend { padding: 0 5px; color: #526c55; font-size: .76rem; font-weight: 800; }
.estoque-filtro-dia > .opcao-filtro-relatorio { display: flex; margin: 5px 0 9px; }
.estoque-filtro-dia > input[type="date"] { width: min(100%, 220px); height: 36px; margin: 0 7px 0 23px; border: 1px solid #cbd6cb; border-radius: 5px; padding: 6px 8px; background: #fff; color: var(--ink); font: inherit; font-size: .76rem; }
.estoque-filtro-dia small, .estoque-filtro-tanques small { display: block; margin-top: 6px; color: var(--muted); font-size: .66rem; }
.estoque-filtro-tanques > .opcao-filtro-relatorio { display: inline-flex; margin: 2px 0 8px; }
.filtro-relatorio-bombas > .opcao-filtro-relatorio { display: inline-flex; margin: 2px 0 10px; }
.opcao-filtro-relatorio { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); font-size: .78rem; }
.opcao-filtro-relatorio input { width: 16px; height: 16px; accent-color: #1d7045; }
.selecao-bombas-relatorio { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: start; gap: 8px; }
.selecao-bombas-relatorio select { min-width: 0; min-height: 158px; border: 1px solid #cbd6cb; border-radius: 5px; padding: 5px; background: #fff; color: var(--ink); font: inherit; font-size: .75rem; }
.selecao-bombas-relatorio select:disabled { background: #f3f5f2; color: #879087; }
.filtro-relatorio-bombas small { display: block; margin-top: 6px; color: var(--muted); font-size: .66rem; }
.filtro-consumo-veiculo[hidden] { display: none; }
.filtro-consumo-veiculo { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 10px; }
.filtro-pagamentos-ordem[hidden] { display: none; }
.filtro-pagamentos-ordem { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.filtro-compras-fornecedor[hidden] { display: none; }
.filtro-compras-fornecedor { grid-column: 1 / -1; display: grid; grid-template-columns: max-content minmax(300px, 520px) minmax(170px, 1fr); align-items: center; gap: 8px 20px; padding: 8px 14px 10px; }
.filtro-compras-fornecedor > .opcao-filtro-relatorio { margin: 0; }
.filtro-compras-fornecedor .selecao-bombas-relatorio { grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 10px; }
.filtro-compras-fornecedor small { display: block; margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.4; }
#comprasSelecaoFornecedores { width: 100%; min-height: 88px; height: 88px; padding: 4px 7px; font-size: .72rem; }
.filtro-rateio-compras[hidden] { display: none; }
.filtro-rateio-compras { grid-column: 1 / -1; display: grid; grid-template-columns: max-content minmax(300px, 520px) minmax(170px, 1fr); align-items: center; gap: 8px 20px; padding: 8px 14px 10px; }
.filtro-rateio-compras > .opcao-filtro-relatorio { margin: 0; }
.filtro-rateio-compras .selecao-bombas-relatorio { grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 10px; }
.filtro-rateio-compras small { display: block; margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.4; }
#rateioSelecaoTanques { width: 100%; min-height: 88px; height: 88px; padding: 4px 7px; font-size: .72rem; }
.pagamentos-filtro { min-width: 0; margin: 0; border: 1px solid #dce5dc; border-radius: 7px; padding: 8px 10px 10px; }
.pagamentos-filtro legend { padding: 0 4px; color: #526c55; font-size: .7rem; font-weight: 800; }
.pagamentos-filtro > .opcao-filtro-relatorio { margin: 0 0 8px; }
.pagamentos-filtro small { display: block; margin-top: 6px; color: var(--muted); font-size: .66rem; }
.consumo-filtro-campo { min-width: 0; }
.consumo-filtro-campo > .field { min-width: 0; gap: 5px; }
.filtro-consumo-veiculo select { min-width: 0; width: 100%; border: 1px solid #cbd6cb; border-radius: 5px; padding: 5px; background: #fff; color: var(--ink); font: inherit; font-size: .75rem; }
.consumo-filtro-campo select { min-height: 100px; }
.consumo-filtro-acoes { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.consumo-filtro-acoes .button { min-height: 28px; padding: 5px 7px; font-size: .65rem; }
.consumo-opcoes, .consumo-ordenacao { min-width: 0; margin: 0; border: 1px solid #dce5dc; border-radius: 6px; padding: 7px 9px; }
.consumo-opcoes legend, .consumo-ordenacao legend { padding: 0 4px; color: #526c55; font-size: .7rem; font-weight: 800; }
.consumo-opcoes { display: flex; flex-wrap: wrap; align-content: start; gap: 7px 12px; }
.consumo-ordenacao { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(6, minmax(95px, 1fr)); gap: 8px; }
.consumo-ordenacao .field { gap: 4px; }
.consumo-ordenacao .field span { font-size: .68rem; }
.filtro-consumo-veiculo > small { grid-column: 1 / -1; color: var(--muted); font-size: .66rem; }
.acoes-filtros-relatorio { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.acoes-filtros-relatorio > .button { min-height: 36px; white-space: nowrap; }
.linha-titulo-relatorio { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 20px 0 10px; }
.linha-titulo-relatorio h2 { margin: 0; font-size: 1rem; }
.linha-titulo-relatorio p { margin: 5px 0 0; color: var(--muted); font-size: .75rem; }
.total-relatorio { flex: 0 0 auto; border: 1px solid #dce6dc; border-radius: 999px; padding: 7px 11px; background: #f6f9f5; color: var(--ink); font-size: .72rem; font-weight: 700; }
.aviso-dados-relatorio { margin: 0 0 12px; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.rolagem-tabela-relatorio { max-height: min(60vh, 680px); overflow: auto; }
.tabela-relatorio { min-width: 760px; }
.tabela-relatorio th { position: sticky; top: 0; z-index: 1; white-space: nowrap; }
.tabela-relatorio td { white-space: nowrap; }
.tabela-relatorio--por-bomba thead { display: none; }
.tabela-relatorio--pagamentos { min-width: 1180px; }
.tabela-relatorio--pagamentos thead { display: none; }
.tabela-relatorio--estoque { min-width: 520px; }
.tabela-relatorio--compras { min-width: 780px; }
.tabela-relatorio--compras thead { display: none; }
.tabela-relatorio--rateio { min-width: 800px; }
.tabela-relatorio--rateio thead { display: none; }
.tabela-relatorio--rateio tr:not(.linha-grupo-rateio):not(.linha-subtotal-rateio) th:nth-child(3),
.tabela-relatorio--rateio tr:not(.linha-grupo-rateio):not(.linha-subtotal-rateio) td:nth-child(3) { text-align: right; }
.tabela-relatorio--rateio tr:not(.linha-grupo-rateio):not(.linha-subtotal-rateio) th:nth-child(4),
.tabela-relatorio--rateio tr:not(.linha-grupo-rateio):not(.linha-subtotal-rateio) td:nth-child(4) { text-align: center; }
.tabela-relatorio .linha-grupo-rateio th { padding: 9px 8px; background: #e4f1e2; color: #193b2c; text-align: left; }
.tabela-relatorio .linha-subtotal-rateio th,
.tabela-relatorio .linha-subtotal-rateio td { border-top: 2px solid #a9c5aa; background: #eef4ed; color: #193b2c; font-weight: 800; }
.tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) th:nth-child(1),
.tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) td:nth-child(1) { text-align: left; }
.tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) th:nth-child(2),
.tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) td:nth-child(2),
.tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) th:nth-child(3),
.tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) td:nth-child(3) { text-align: center; }
.tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) th:nth-child(4),
.tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) td:nth-child(4),
.tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) th:nth-child(5),
.tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) td:nth-child(5) { text-align: right; }
.tabela-relatorio .linha-grupo-compras th { padding: 8px; background: #e4f1e2; color: #193b2c; font-size: .82rem; text-align: left; }
.tabela-relatorio .linha-subtotal-compras th,
.tabela-relatorio .linha-subtotal-compras td { border-top: 1px solid #a9c5aa; background: #eef4ed; color: #193b2c; font-weight: 800; }
.tabela-relatorio .linha-subtotal-compras th { text-align: left; }
.tabela-relatorio .linha-subtotal-compras td { text-align: right; }
.tabela-relatorio .linha-grupo-estoque th { padding: 8px; background: #e4f1e2; color: #193b2c; font-size: .82rem; text-align: left; }
.tabela-relatorio .linha-subtotal-estoque th,
.tabela-relatorio .linha-subtotal-estoque td { border-top: 1px solid #a9c5aa; background: #eef4ed; color: #193b2c; font-weight: 800; }
.tabela-relatorio .linha-subtotal-estoque th { text-align: right; }
.tabela-relatorio .linha-subtotal-estoque td { text-align: right; }
.tabela-relatorio .linha-titulo-bomba th { padding: 9px 8px; background: #e4f1e2; color: #193b2c; font-size: .82rem; text-align: left; }
.tabela-relatorio .linha-cabecalho-bomba th { position: static; background: #f2f6f1; }
.tabela-relatorio .linha-subtotal-bomba th,
.tabela-relatorio .linha-subtotal-bomba td { border-top: 2px solid #a9c5aa; background: #e4f1e2; color: #193b2c; font-weight: 800; }
.tabela-relatorio .linha-subtotal-bomba .valor-subtotal-bomba { text-align: right; white-space: nowrap; }
.tabela-relatorio .linha-subtotal-pagamentos th,
.tabela-relatorio .linha-subtotal-pagamentos td { border-top: 2px solid #a9c5aa; background: #eef4ed; color: #193b2c; font-weight: 800; }
.tabela-relatorio .linha-total-pagamentos th,
.tabela-relatorio .linha-total-pagamentos td { border-top: 2px solid #173b2b; background: #dcebd9; color: #193b2c; font-weight: 800; }
.tabela-relatorio .linha-grupo-consumo th { padding: 9px 8px; background: #e4f1e2; color: #193b2c; font-size: .82rem; text-align: left; }
.tabela-relatorio .linha-subtotal-consumo th,
.tabela-relatorio .linha-subtotal-consumo td { border-top: 2px solid #a9c5aa; background: #eef4ed; color: #193b2c; font-weight: 800; }
.tabela-relatorio .linha-total-consumo th,
.tabela-relatorio .linha-total-consumo td { border-top: 2px solid #173b2b; background: #dcebd9; color: #193b2c; font-weight: 800; }
@media print {
  @page { size: landscape; margin: 8mm; }
  @page pagamentos-ordem { size: A4 portrait; margin: 8mm; }
  @page estoque-tanque { size: A4 portrait; margin: 8mm; }
  @page compras-fornecedor { size: A4 portrait; margin: 8mm; }
  @page rateio-tanque { size: A4 portrait; margin: 8mm; }
  html, body { min-height: 0 !important; height: auto !important; }
  .sidebar, .topbar, .filtros-relatorio, .aviso-dados-relatorio, .linha-titulo-relatorio,
  .dashboard-heading, .dashboard-filtros, #mensagemDashboard,
  #verAbastecimentosDashboardBtn { display: none !important; }
  body.impressao-relatorio .module-view:not(#view-relatorios) { display: none !important; }
  body.impressao-relatorio-pagamentos #view-relatorios { page: pagamentos-ordem; }
  body.impressao-relatorio-estoque #view-relatorios { page: estoque-tanque; }
  body.impressao-relatorio-compras { page: compras-fornecedor; }
  body.impressao-relatorio-rateio #view-relatorios { page: rateio-tanque; }
  body.impressao-relatorio #view-relatorios { display: block !important; }
  body.impressao-relatorio #view-relatorios > .page-heading { display: none !important; }
  body.impressao-dashboard .module-view:not(#view-dashboard) { display: none !important; }
  body.impressao-dashboard #view-dashboard { display: block !important; }
  .app-shell { display: block; min-height: 0 !important; height: auto !important; }
  .abastecimento-page { width: 100%; min-height: 0 !important; height: auto !important; padding: 0; }
  body.impressao-relatorio #view-relatorios {
    min-height: 0 !important;
    height: auto !important;
    margin: 0;
    padding: 0;
    break-after: auto;
    page-break-after: auto;
  }
  #view-dashboard { padding: 0; }
  .cabecalho-impressao-dashboard { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; border-bottom: 2px solid #173b2b; padding: 0 0 12px; }
  .cabecalho-impressao-dashboard img { width: 84px; height: 64px; object-fit: contain; }
  .cabecalho-impressao-dashboard p { margin: 0 0 4px; font-size: 9pt; }
  .cabecalho-impressao-dashboard h2 { margin: 0 0 5px; color: #193b2c; font-size: 16pt; }
  .cabecalho-impressao-dashboard span { color: #526657; font-size: 9pt; }
  .dashboard-notice { margin: 0 0 10px; font-size: 8pt; }
  .dashboard-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .dashboard-metric, .dashboard-card { break-inside: avoid; box-shadow: none; }
  .dashboard-card { padding: 10px; }
  .dashboard-widgets { gap: 8px; }
  .dashboard-table-scroll { max-height: none; overflow: visible; }
  .dashboard-table { min-width: 0; font-size: 7pt; }
  .dashboard-table th, .dashboard-table td { padding: 5px; }
  .cartao-relatorio { border: 0; box-shadow: none; }
  .cabecalho-impressao-relatorio { display: flex; gap: 16px; margin-bottom: 20px; border-bottom: 2px solid #173b2b; padding: 0 0 14px; }
  .cabecalho-impressao-relatorio img { width: 84px; height: 64px; }
  .cabecalho-impressao-relatorio p { margin: 0 0 4px; font-size: 9pt; }
  .cabecalho-impressao-relatorio h2 { display: block; margin: 0 0 5px; color: #193b2c; font-size: 16pt; }
  .cabecalho-impressao-relatorio span { color: #526657; font-size: 9pt; }
  .rolagem-tabela-relatorio { max-height: none; overflow: visible; }
  .tabela-relatorio th { position: static; }
  body.impressao-relatorio .tabela-relatorio { width: 100%; min-width: 0; table-layout: auto; }
  body.impressao-relatorio-conferencia .tabela-relatorio { width: 100%; min-width: 0; table-layout: auto; }
  body.impressao-relatorio-conferencia .tabela-relatorio th,
  body.impressao-relatorio-conferencia .tabela-relatorio td { padding: 3px 4px; font-size: 6.5pt; white-space: normal; }
  body.impressao-relatorio-conferencia .tabela-relatorio .linha-titulo-bomba { break-after: avoid; page-break-after: avoid; }
  body.impressao-relatorio-conferencia .tabela-relatorio .linha-titulo-bomba th { background: #e4f1e2 !important; color: #193b2c !important; }
  body.impressao-relatorio-conferencia .tabela-relatorio .linha-cabecalho-bomba th { background: #173b2b !important; color: #fff !important; }
  body.impressao-relatorio-conferencia .tabela-relatorio tbody tr:nth-child(even) { background: #eef4ed !important; }
  body.impressao-relatorio-conferencia .tabela-relatorio .linha-titulo-bomba th,
  body.impressao-relatorio-conferencia .tabela-relatorio .linha-cabecalho-bomba th,
  body.impressao-relatorio-conferencia .tabela-relatorio tbody tr:nth-child(even) {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  body.impressao-relatorio .tabela-relatorio--pagamentos { width: 100%; min-width: 0; table-layout: fixed; font-size: 5.5pt; }
  body.impressao-relatorio .tabela-relatorio--pagamentos th,
  body.impressao-relatorio .tabela-relatorio--pagamentos td { padding: 2px 2px; font-size: 5.5pt; white-space: nowrap; overflow-wrap: normal; }
  body.impressao-relatorio .tabela-relatorio--pagamentos th:nth-child(1),
  body.impressao-relatorio .tabela-relatorio--pagamentos td:nth-child(1) { width: 8%; }
  body.impressao-relatorio .tabela-relatorio--pagamentos th:nth-child(2),
  body.impressao-relatorio .tabela-relatorio--pagamentos td:nth-child(2) { width: 11%; }
  body.impressao-relatorio .tabela-relatorio--pagamentos th:nth-child(3),
  body.impressao-relatorio .tabela-relatorio--pagamentos td:nth-child(3) { width: 10%; }
  body.impressao-relatorio .tabela-relatorio--pagamentos th:nth-child(4),
  body.impressao-relatorio .tabela-relatorio--pagamentos td:nth-child(4) { width: 11%; }
  body.impressao-relatorio .tabela-relatorio--pagamentos th:nth-child(5),
  body.impressao-relatorio .tabela-relatorio--pagamentos td:nth-child(5) { width: 11%; }
  body.impressao-relatorio .tabela-relatorio--pagamentos th:nth-child(6),
  body.impressao-relatorio .tabela-relatorio--pagamentos td:nth-child(6) { width: 10%; }
  body.impressao-relatorio .tabela-relatorio--pagamentos th:nth-child(7),
  body.impressao-relatorio .tabela-relatorio--pagamentos td:nth-child(7) { width: 15%; }
  body.impressao-relatorio .tabela-relatorio--pagamentos th:nth-child(8),
  body.impressao-relatorio .tabela-relatorio--pagamentos td:nth-child(8) { width: 24%; }
  body.impressao-relatorio .tabela-relatorio--pagamentos .linha-titulo-bomba { break-after: avoid; page-break-after: avoid; }
  body.impressao-relatorio .tabela-relatorio--pagamentos .linha-titulo-bomba th { background: #e4f1e2 !important; color: #193b2c !important; }
  body.impressao-relatorio .tabela-relatorio--pagamentos .linha-cabecalho-bomba th { background: #173b2b !important; color: #fff !important; }
  body.impressao-relatorio .tabela-relatorio--pagamentos tbody tr:nth-child(even) { background: #eef4ed !important; }
  body.impressao-relatorio .tabela-relatorio--pagamentos .linha-titulo-bomba th,
  body.impressao-relatorio .tabela-relatorio--pagamentos .linha-cabecalho-bomba th,
  body.impressao-relatorio .tabela-relatorio--pagamentos .linha-subtotal-pagamentos th,
  body.impressao-relatorio .tabela-relatorio--pagamentos .linha-subtotal-pagamentos td,
  body.impressao-relatorio .tabela-relatorio--pagamentos .linha-total-pagamentos th,
  body.impressao-relatorio .tabela-relatorio--pagamentos .linha-total-pagamentos td,
  body.impressao-relatorio .tabela-relatorio--pagamentos tbody tr:nth-child(even) {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  body.impressao-relatorio .tabela-relatorio--estoque { width: 78%; min-width: 0; margin: 0 auto; table-layout: fixed; font-size: 9pt; }
  body.impressao-relatorio .tabela-relatorio--estoque th,
  body.impressao-relatorio .tabela-relatorio--estoque td { padding: 5px 7px; font-size: 9pt; white-space: nowrap; }
  body.impressao-relatorio .tabela-relatorio--estoque th:nth-child(1),
  body.impressao-relatorio .tabela-relatorio--estoque td:nth-child(1) { width: 74%; }
  body.impressao-relatorio .tabela-relatorio--estoque th:nth-child(2),
  body.impressao-relatorio .tabela-relatorio--estoque td:nth-child(2) { width: 26%; text-align: right; }
  body.impressao-relatorio .tabela-relatorio--estoque .linha-grupo-estoque th { background: #e4f1e2 !important; color: #193b2c !important; }
  body.impressao-relatorio .tabela-relatorio--estoque .linha-subtotal-estoque th,
  body.impressao-relatorio .tabela-relatorio--estoque .linha-subtotal-estoque td { background: #eef4ed !important; color: #193b2c !important; }
  body.impressao-relatorio .tabela-relatorio--estoque .linha-grupo-estoque,
  body.impressao-relatorio .tabela-relatorio--estoque .linha-subtotal-estoque { break-inside: avoid; page-break-inside: avoid; }
  body.impressao-relatorio .tabela-relatorio--estoque .linha-grupo-estoque th,
  body.impressao-relatorio .tabela-relatorio--estoque .linha-subtotal-estoque th,
  body.impressao-relatorio .tabela-relatorio--estoque .linha-subtotal-estoque td { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.impressao-relatorio .tabela-relatorio--compras { width: 100%; min-width: 0; table-layout: fixed; font-size: 8pt; }
  body.impressao-relatorio .tabela-relatorio--compras th,
  body.impressao-relatorio .tabela-relatorio--compras td { padding: 4px 5px; font-size: 8pt; white-space: nowrap; }
  body.impressao-relatorio .tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) th:nth-child(1),
  body.impressao-relatorio .tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) td:nth-child(1) { text-align: left; }
  body.impressao-relatorio .tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) th:nth-child(2),
  body.impressao-relatorio .tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) td:nth-child(2),
  body.impressao-relatorio .tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) th:nth-child(3),
  body.impressao-relatorio .tabela-relatorio--compras tr:not(.linha-grupo-compras):not(.linha-subtotal-compras) td:nth-child(3) { text-align: center; }
  body.impressao-relatorio .tabela-relatorio--compras th:nth-child(1),
  body.impressao-relatorio .tabela-relatorio--compras td:nth-child(1) { width: 30%; }
  body.impressao-relatorio .tabela-relatorio--compras th:nth-child(2),
  body.impressao-relatorio .tabela-relatorio--compras td:nth-child(2) { width: 17%; }
  body.impressao-relatorio .tabela-relatorio--compras th:nth-child(3),
  body.impressao-relatorio .tabela-relatorio--compras td:nth-child(3) { width: 16%; }
  body.impressao-relatorio .tabela-relatorio--compras th:nth-child(4),
  body.impressao-relatorio .tabela-relatorio--compras td:nth-child(4) { width: 13%; text-align: right; }
  body.impressao-relatorio .tabela-relatorio--compras th:nth-child(5),
  body.impressao-relatorio .tabela-relatorio--compras td:nth-child(5) { width: 20%; text-align: right; }
  body.impressao-relatorio .tabela-relatorio--compras .linha-grupo-compras,
  body.impressao-relatorio .tabela-relatorio--compras .linha-subtotal-compras { break-inside: avoid; page-break-inside: avoid; }
  body.impressao-relatorio .tabela-relatorio--compras .linha-grupo-compras th { background: #e4f1e2 !important; color: #193b2c !important; }
  body.impressao-relatorio .tabela-relatorio--compras .linha-cabecalho-bomba th { background: #173b2b !important; color: #fff !important; }
  body.impressao-relatorio .tabela-relatorio--compras .linha-subtotal-compras th,
  body.impressao-relatorio .tabela-relatorio--compras .linha-subtotal-compras td { background: #eef4ed !important; color: #193b2c !important; }
  body.impressao-relatorio .tabela-relatorio--compras .linha-grupo-compras th,
  body.impressao-relatorio .tabela-relatorio--compras .linha-cabecalho-bomba th,
  body.impressao-relatorio .tabela-relatorio--compras .linha-subtotal-compras th,
  body.impressao-relatorio .tabela-relatorio--compras .linha-subtotal-compras td {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  body.impressao-relatorio .tabela-relatorio--rateio { width: 100%; min-width: 0; table-layout: fixed; font-size: 8pt; }
  body.impressao-relatorio .tabela-relatorio--rateio th,
  body.impressao-relatorio .tabela-relatorio--rateio td { padding: 4px 5px; font-size: 8pt; white-space: normal; overflow-wrap: anywhere; }
  body.impressao-relatorio .tabela-relatorio--rateio th:nth-child(1),
  body.impressao-relatorio .tabela-relatorio--rateio td:nth-child(1) { width: 20%; text-align: left; }
  body.impressao-relatorio .tabela-relatorio--rateio th:nth-child(2),
  body.impressao-relatorio .tabela-relatorio--rateio td:nth-child(2) { width: 19%; text-align: left; }
  body.impressao-relatorio .tabela-relatorio--rateio th:nth-child(3),
  body.impressao-relatorio .tabela-relatorio--rateio td:nth-child(3) { width: 13%; text-align: right; white-space: nowrap; }
  body.impressao-relatorio .tabela-relatorio--rateio th:nth-child(4),
  body.impressao-relatorio .tabela-relatorio--rateio td:nth-child(4) { width: 13%; text-align: center; white-space: nowrap; }
  body.impressao-relatorio .tabela-relatorio--rateio th:nth-child(5),
  body.impressao-relatorio .tabela-relatorio--rateio td:nth-child(5) { width: 35%; text-align: left; }
  body.impressao-relatorio .tabela-relatorio--rateio .linha-grupo-rateio,
  body.impressao-relatorio .tabela-relatorio--rateio .linha-subtotal-rateio { break-inside: avoid; page-break-inside: avoid; }
  body.impressao-relatorio .tabela-relatorio--rateio .linha-grupo-rateio th { background: #e4f1e2 !important; color: #193b2c !important; text-align: left; }
  body.impressao-relatorio .tabela-relatorio--rateio .linha-cabecalho-bomba th { background: #173b2b !important; color: #fff !important; }
  body.impressao-relatorio .tabela-relatorio--rateio .linha-subtotal-rateio th,
  body.impressao-relatorio .tabela-relatorio--rateio .linha-subtotal-rateio td { background: #eef4ed !important; color: #193b2c !important; }
  body.impressao-relatorio .tabela-relatorio--rateio .linha-grupo-rateio th,
  body.impressao-relatorio .tabela-relatorio--rateio .linha-cabecalho-bomba th,
  body.impressao-relatorio .tabela-relatorio--rateio .linha-subtotal-rateio th,
  body.impressao-relatorio .tabela-relatorio--rateio .linha-subtotal-rateio td { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.impressao-relatorio .tabela-relatorio .linha-grupo-consumo,
  body.impressao-relatorio .tabela-relatorio .linha-subtotal-consumo,
  body.impressao-relatorio .tabela-relatorio .linha-total-consumo,
  body.impressao-relatorio .tabela-relatorio .linha-subtotal-pagamentos,
  body.impressao-relatorio .tabela-relatorio .linha-total-pagamentos { break-inside: avoid; page-break-inside: avoid; }
  body.impressao-relatorio .tabela-relatorio .linha-grupo-consumo th,
  body.impressao-relatorio .tabela-relatorio .linha-subtotal-consumo th,
  body.impressao-relatorio .tabela-relatorio .linha-subtotal-consumo td,
  body.impressao-relatorio .tabela-relatorio .linha-total-consumo th,
  body.impressao-relatorio .tabela-relatorio .linha-total-consumo td {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

:focus-visible { outline: 3px solid rgba(29, 112, 69, .28); outline-offset: 2px; }

@media (max-width: 980px) {
  .company-dialog-card { padding-left: 120px; }
  .company-dialog-card::before { width: 90px; }
  .app-shell { grid-template-columns: 225px minmax(0, 1fr); }
  .sidebar { padding-inline: 11px; }
  .abastecimento-page { padding-inline: 20px; }
  .content-grid { grid-template-columns: minmax(0, 1fr) 270px; gap: 14px; }
  .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-widgets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .painel-dashboard--consumo, .painel-dashboard--combustivel,
  .painel-dashboard--estoque, .painel-dashboard--ranking { grid-column: auto; }
  .painel-dashboard--recentes { grid-column: 1 / -1; }
  .field-grid-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .abastecimento-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .abastecimento-filters > .button { justify-self: start; }
  .abastecimento-pagination { align-items: flex-start; flex-direction: column; }
  .abastecimento-pagination-controls { align-self: flex-end; }
  .cadastro-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .estoque-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .devolucao-abastecimento-fields { grid-template-columns: 1fr; }
  .devolucao-summary { min-height: 0; }
}

@media (max-width: 720px) {
  .company-dialog-card { min-height: 0; padding: 38px 28px 24px; }
  .company-dialog-card::before { width: 12px; clip-path: none; }
  .company-dialog-heading h2 { padding-right: 42px; font-size: clamp(1.75rem, 7vw, 2.5rem); }
  .company-dialog-heading .eyebrow { font-size: .68rem; }
  .company-dialog-close { top: 14px; right: 14px; width: 38px; height: 38px; font-size: 23px; }
  .company-dialog-description { font-size: .88rem; line-height: 1.5; }
  .company-option-button { min-height: 88px; }
  .branch-selector { padding: 14px; }
  .app-shell { display: block; }
  .sidebar { position: static; height: auto; min-height: 0; padding: 16px; overflow: visible; }
  .sidebar-brand { padding-bottom: 16px; }
  .sidebar-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-section-title, .nav-group-toggle, .nav-submenu, .sidebar-footer { grid-column: 1 / -1; }
  .sidebar-footer { grid-template-columns: 1fr 1fr; margin-top: 14px; }
  .nav-button.active { box-shadow: inset 0 -3px #bddc68; }
  .sidebar-nav .nav-button--dashboard.active { box-shadow: inset 0 -3px #bddc68, 0 6px 16px rgba(7, 27, 17, .18); }
  .sidebar-nav .nav-button { width: 100%; min-width: 0; }
  .filtros-relatorio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filtro-relatorio-bombas { grid-column: 1 / -1; grid-row: auto; }
  .filtro-estoque-tanque { grid-template-columns: 1fr; }
  .filtro-consumo-veiculo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filtro-pagamentos-ordem { grid-template-columns: 1fr; }
  .filtro-compras-fornecedor { grid-template-columns: max-content minmax(0, 1fr); gap: 8px 14px; }
  .filtro-compras-fornecedor > small { grid-column: 1 / -1; }
  .filtro-rateio-compras { grid-template-columns: max-content minmax(0, 1fr); gap: 8px 14px; }
  .filtro-rateio-compras > small { grid-column: 1 / -1; }
  .consumo-ordenacao { grid-template-columns: repeat(3, minmax(90px, 1fr)); }
  .abastecimento-page { padding: 0 16px 28px; }
  .topbar { min-height: 68px; gap: 10px; }
  .brand-logo { width: 36px; height: 36px; flex-basis: 36px; }
  .brand-lockup strong { font-size: .82rem; }
  .content-grid { grid-template-columns: 1fr; }
  .dashboard-heading { align-items: flex-start; flex-direction: column; }
  .dashboard-heading .page-heading-actions { width: 100%; flex-wrap: wrap; }
  .dashboard-heading .page-heading-actions .button { flex: 1 1 auto; }
  .dashboard-filtros .field { flex: 1 1 130px; width: auto; }
  .dashboard-filtros .button { flex: 1 1 auto; }
  .dashboard-metrics { grid-template-columns: 1fr 1fr; gap: 9px; }
  .dashboard-widgets { grid-template-columns: minmax(0, 1fr); gap: 11px; }
  .painel-dashboard--consumo, .painel-dashboard--combustivel,
  .painel-dashboard--estoque, .painel-dashboard--ranking,
  .painel-dashboard--recentes { grid-column: 1; }
  .dashboard-metric { min-height: 98px; gap: 9px; padding: 11px; }
  .dashboard-metric-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 10px; font-size: .9rem; }
  .dashboard-metric p { font-size: .62rem; }
  .dashboard-metric strong { font-size: 1.05rem; }
  .dashboard-card { padding: 14px; }
  .abastecimento-filters { grid-template-columns: 1fr; gap: 10px; }
  .filtros-relatorio { grid-template-columns: 1fr; }
  .filtro-relatorio-periodo { grid-template-columns: 1fr; }
  .filtro-relatorio-bombas { grid-column: auto; }
  .filtro-estoque-tanque { grid-template-columns: 1fr; }
  .filtro-consumo-veiculo { grid-template-columns: 1fr; }
  .filtro-pagamentos-ordem { grid-template-columns: 1fr; }
  .filtro-compras-fornecedor { grid-column: auto; grid-template-columns: 1fr; }
  .filtro-compras-fornecedor .selecao-bombas-relatorio { grid-template-columns: 1fr; gap: 6px; }
  .filtro-compras-fornecedor > small { grid-column: auto; }
  .consumo-ordenacao { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .selecao-bombas-relatorio { grid-template-columns: 1fr; }
  .selecao-bombas-relatorio select { width: 100%; }
  .abastecimento-filters > .button { width: 100%; }
  .acoes-filtros-relatorio { align-items: stretch; flex-direction: column; }
  .acoes-filtros-relatorio > .button { width: 100%; }
  .abastecimiento-pagination-controls { align-self: stretch; justify-content: flex-end; }
  .transfer-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .devolucao-details { grid-template-columns: 1fr; }
  .devolucao-destination { grid-template-columns: 1fr; gap: 8px; }
  .info-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .privacy-note { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .abastecimento-page { padding-inline: 12px; }
  .topbar { min-height: 62px; }
  .brand-lockup { gap: 8px; }
  .brand-logo { width: 31px; height: 31px; flex-basis: 31px; }
  .brand-lockup .eyebrow { font-size: .57rem; }
  .brand-lockup strong { font-size: .74rem; }
  .company-button { max-width: 52vw; min-height: 38px; padding: 5px 7px; }
  #empresaSelecionadaLabel { font-size: .61rem; }
  #filialSelecionadaLabel { font-size: .58rem; }
  .company-dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); }
  .company-dialog-card { max-height: calc(100vh - 20px); padding: 34px 16px 18px; border-radius: 12px; }
  .page-heading-actions .button { min-height: 38px; padding: 7px 9px; font-size: .7rem; }
  .page-heading-actions .heading-mark { display: none; }
  .company-dialog-heading { gap: 12px; }
  .company-options { grid-template-columns: 1fr; }
  .company-option-button { min-height: 76px; padding: 10px; }
  .company-option-mark { width: 40px; height: 40px; flex-basis: 40px; font-size: 1.45rem; }
  .company-option-button strong { font-size: .78rem; }
  .company-option-button small { padding: 4px 7px; font-size: .68rem; }
  .branch-selector-heading { gap: 10px; }
  .branch-selector-heading > i { font-size: 1.45rem; }
  .branch-selector-heading h3 { font-size: .92rem; }
  .branch-selector-heading p { font-size: .7rem; line-height: 1.4; }
  .company-continue { min-width: 120px; min-height: 40px; }
  .back-link, .icon-button { width: 34px; height: 34px; flex-basis: 34px; }
  .page-heading { padding: 22px 1px 17px; }
  .page-heading h1 { font-size: 1.5rem; }
  .page-heading-actions { gap: 8px; }
  .heading-copy > p:last-child { max-width: 290px; font-size: .8rem; line-height: 1.5; }
  .heading-mark { width: 46px; height: 46px; flex-basis: 46px; border-radius: 12px; font-size: 1.1rem; }
  .form-card { padding: 18px 14px 16px; }
  .card-heading { flex-direction: column; }
  .field-grid-two { grid-template-columns: 1fr; gap: 13px; }
  .field-grid-three { grid-template-columns: 1fr; gap: 13px; }
  .cadastro-form { grid-template-columns: 1fr; }
  .estoque-form { grid-template-columns: 1fr; }
  .estoque-form > label[for="tanqueEstoque"],
  .estoque-form > .supplier-field,
  .estoque-observacao-field { grid-column: auto; }
  .devolucao-identificacao { grid-template-columns: 1fr 1fr; gap: 8px; }
  .devolucao-summary { padding: 9px; font-size: .68rem; }
  .devolucao-summary > div { grid-template-columns: 48px minmax(0, 1fr) 40px minmax(0, 1fr); gap: 4px; }
  .devolucao-summary > div:not(:nth-child(-n+2)) { grid-template-columns: 48px minmax(0, 1fr); }
  .transfer-fields { grid-template-columns: 1fr; }
  .transfer-history-field { grid-column: auto; }
  .transfer-destination-field { grid-template-columns: 1fr; grid-column: auto; gap: 4px; }
  .transfer-destination-field h3 { margin-bottom: 2px; }
  .cadastro-frentista-form { grid-template-columns: 1fr; }
  .pessoal-pagination { align-items: flex-start; flex-direction: column; }
  .pessoal-pagination-controls { align-self: flex-end; }
  .cadastro-actions .button { width: 100%; }
  .estoque-actions { flex-direction: row; align-items: center; }
  .estoque-actions .button { width: auto; flex: 1; }
  .info-column { grid-template-columns: 1fr; }
  .form-actions { flex-direction: column-reverse; }
  .form-actions .button { width: 100%; }
}

@media (max-width: 400px) {
  .sidebar-nav { grid-template-columns: 1fr; }
}

.rateio-search-card { margin-bottom: 18px; }
.rateio-search-form { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); align-items: end; gap: 14px; }
.rateio-search-form .field { min-width: 0; }
.rateio-search-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.rateio-payments-card { margin-top: 18px; }
.rateio-table { min-width: 1050px; }
.rateio-search-results { width: 100%; min-width: 1000px; table-layout: fixed; }
.rateio-search-results th,
.rateio-search-results td { overflow: hidden; padding: 8px 7px; text-overflow: ellipsis; }
.rateio-search-results th { font-size: .61rem; line-height: 1.25; white-space: normal; }
.rateio-search-results td { font-size: .72rem; white-space: nowrap; }
.rateio-search-results th:nth-child(1), .rateio-search-results td:nth-child(1) { width: 8%; }
.rateio-search-results th:nth-child(2), .rateio-search-results td:nth-child(2) { width: 6%; }
.rateio-search-results th:nth-child(3), .rateio-search-results td:nth-child(3) { width: 12%; }
.rateio-search-results th:nth-child(4), .rateio-search-results td:nth-child(4) { width: 12%; }
.rateio-search-results th:nth-child(5), .rateio-search-results td:nth-child(5) { width: 8%; }
.rateio-search-results th:nth-child(6), .rateio-search-results td:nth-child(6) { width: 8%; }
.rateio-search-results th:nth-child(7), .rateio-search-results td:nth-child(7) { width: 9%; }
.rateio-search-results th:nth-child(8), .rateio-search-results td:nth-child(8) { width: 9%; }
.rateio-search-results th:nth-child(9), .rateio-search-results td:nth-child(9) { width: 8%; }
.rateio-search-results th:nth-child(10), .rateio-search-results td:nth-child(10) { width: 11%; }
.rateio-search-results th:nth-child(11), .rateio-search-results td:nth-child(11) { width: 9%; }
.rateio-search-results td.rateio-status { white-space: normal; }
.rateio-search-results .rateio-selecionar-btn { min-width: 0; width: 100%; padding: 6px 5px; font-size: .66rem; }
.rateio-status { font-weight: 700; white-space: nowrap; }
.rateio-status--rateado { color: #15803d; }
.rateio-status--pronto { color: #166534; }
.rateio-status--aguardando_consumo { color: #a16207; }
.rateio-status--rateio_pendente { color: #b91c1c; }
.rateio-selecionar-btn { min-width: 94px; padding: 7px 10px; white-space: nowrap; }
.rateio-row-selected { background: var(--green-soft); }
.rateio-details-card { margin-top: 18px; }
.rateio-invoice-summary { display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)); gap: 10px; margin: 0 0 14px; }
.rateio-invoice-summary > div { display: grid; gap: 5px; padding: 12px 14px; border-radius: 10px; background: var(--surface-muted, #f3f5f7); }
.rateio-invoice-summary span { color: var(--muted); font-size: .78rem; }
.rateio-invoice-summary strong { font-size: 1rem; }
.rateio-detail-status { margin: 0 0 12px; font-size: .9rem; font-weight: 600; }
.rateio-detail-status--pronto { color: #166534; }
.rateio-detail-status--aguardando_consumo { color: #a16207; }
.rateio-detail-status--rateio_pendente { color: #b91c1c; }
.rateio-detail-status--rateado { color: #15803d; }
.rateio-details-table { min-width: 600px; }
.rateio-inclusion-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; }
.rateio-inclusion-actions > span { color: var(--muted); font-size: .85rem; }

@media (max-width: 800px) {
  .rateio-search-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rateio-invoice-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .rateio-search-form,
  .rateio-invoice-summary { grid-template-columns: 1fr; }
  .rateio-search-actions,
  .rateio-search-actions .button { width: 100%; }
  .rateio-inclusion-actions { align-items: stretch; flex-direction: column; }
  .rateio-inclusion-actions .button { width: 100%; }
}
