/* Tipografia, cores e estilos base */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root { --ink: #17252a; --muted: #748286; --paper: #f5f7f5; --panel: #fff; --line: #e3e9e6; --teal: #176c69; --teal-dark: #0e4d4d; --mint: #d9f0e6; --amber: #d58a2a; --amber-soft: #fff2dc; --red: #c95c52; --red-soft: #fde8e5; --blue: #4d78a8; --shadow: 0 10px 30px rgba(33, 62, 59, .06); }
.notification-count { display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; color: #fff; background: var(--red); border: 2px solid #fff; border-radius: 999px; font-size: 9px; font-weight: 700; line-height: 1; }
.notification-count[hidden] { display: none; }
.notification-button .notification-count { position: absolute; top: -5px; right: -8px; width: auto; min-width: 17px; height: 17px; }
.notification-button .notification-count[hidden] { display: none; }
.notifications-dialog { width: min(520px, calc(100vw - 28px)); max-width: none; max-height: min(680px, calc(100vh - 28px)); padding: 22px; overflow: auto; }
.notifications-dialog::backdrop { background: rgba(10, 35, 34, .48); backdrop-filter: blur(3px); }
.notifications-heading, .notifications-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.notifications-heading { padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.notifications-heading h2 { margin: 0; font: 600 24px/1.1 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.notifications-heading .eyebrow { margin: 0 0 5px; font-size: 9px; }
.notifications-heading .close-button { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 8px; }
.notifications-actions { min-height: 46px; color: var(--muted); font-size: 11px; }
.notifications-actions .text-button { flex: 0 0 auto; }
.notifications-list { display: grid; gap: 9px; }
.notification-item { padding: 12px 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.notification-item--unread { border-color: #b8d9c9; background: #f5fbf7; }
.notification-item-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.notification-item h3 { margin: 0; font-size: 13px; font-weight: 700; }
.notification-item p { margin: 6px 0; color: #586966; font-size: 11px; line-height: 1.45; }
.notification-item small { color: var(--muted); font-size: 10px; }
.notification-read-button { padding: 3px 0; color: var(--teal); background: transparent; border: 0; font-size: 10px; font-weight: 700; }
.notification-empty { padding: 22px 10px; color: var(--muted); text-align: center; font-size: 12px; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--paper); font-family: 'DM Sans', sans-serif; }
button, input, select, textarea { font: inherit; }
input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
button { cursor: pointer; }
.app-shell { display: flex; min-height: 100vh; }
/* Navegação lateral e cabeçalho */
.sidebar { position: sticky; top: 0; display: flex; align-self: flex-start; flex-direction: column; width: 248px; height: 100vh; min-height: 0; flex: 0 0 248px; padding: 28px 18px 18px; overflow-y: auto; color: #e0f1e9; background: linear-gradient(180deg, #176b50 0%, #125540 100%); }
.brand, .mobile-brand { align-items: center; gap: 11px; color: #fff; }
.brand { display: flex; padding: 0 14px 34px; }
.brand strong, .mobile-brand strong { display: block; font: 700 17px 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.brand-logo { display: block; flex: 0 0 44px; width: 44px; height: 44px; object-fit: contain; }
.brand small { display: block; margin-top: 3px; color: #8eada9; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.brand-mark{display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 2.5rem; color: var(--bg-dark); background: var(--primary); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em; transform: skew(-8deg);}
.nav-label { margin: 0 14px 10px; color: #7fa7a0; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.nav-label-spaced { margin-top: 28px; }
.main-nav { flex: 1; }
.nav-item { display: flex; align-items: center; gap: 13px; width: 100%; margin: 3px 0; padding: 12px 14px; color: #b3c6c3; background: transparent; border: 0; border-radius: 5px; text-align: left; font-size: 13px; transition: all .18s ease; }
.nav-item:hover, .nav-item.active { color: #fff; background: rgba(179, 230, 210, .12); transform: translateX(1px); }
.nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(169, 228, 207, .16), rgba(169, 228, 207, .05)); box-shadow: inset 3px 0 #a9e4cf, 0 0 0 1px rgba(169, 228, 207, .18); }
.nav-item.active .nav-icon { color: #dff9ef; }
.nav-item.active b { color: #dff9ef; }
.nav-icon { width: 18px; color: #8eada9; font-size: 16px; text-align: center; }
.nav-icon i, .kpi-icon i { line-height: 1; }
.nav-item b { margin-left: auto; color: #86aaa5; font-size: 11px; font-weight: 500; }.nav-item .nav-alert { color: #f6c879; }
.sidebar-bottom { margin-top: 20px; }.oracle-status { display: flex; gap: 9px; margin: 0 12px 18px; padding: 12px 0 19px; border-bottom: 1px solid rgba(205, 235, 223, .12); }.oracle-status strong, .user-card strong { display: block; color: #dbe9e5; font-size: 11px; font-weight: 600; }.oracle-status small, .user-card small { display: block; margin-top: 3px; color: #729490; font-size: 10px; }.status-dot { width: 7px; height: 7px; margin-top: 3px; border-radius: 50%; background: #6ed49e; box-shadow: 0 0 0 4px rgba(110, 212, 158, .12); }.settings-item { margin-bottom: 17px; }.user-card { display: flex; align-items: center; gap: 9px; padding: 14px 10px 0; border-top: 1px solid rgba(205, 235, 223, .12); }.avatar { display: grid; place-items: center; width: 29px; height: 29px; color: var(--teal-dark); background: #f2c98f; border-radius: 50%; font-size: 9px; font-weight: 700; }.more { margin-left: auto; color: #6e918d; letter-spacing: 2px; }
.module-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 16px 10px 0; }.module-action { display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 8px 5px; color: #9bb7b1; background: rgba(179, 230, 210, .08); border: 1px solid rgba(205, 235, 223, .12); border-radius: 3px; font-size: 10px; text-decoration: none; }.module-action:hover { color: #fff; background: rgba(179, 230, 210, .16); }.module-action span { font-size: 15px; }.logout-action { font-weight: 600; }
.module-actions #switch-module-button { color: #eafff2; background: #16834f; border-color: #56bd83; }
.module-actions #switch-module-button:hover { background: #1c9a5e; border-color: #8be0ae; }
.module-actions .logout-action { color: #fff0ee; background: #a9433b; border-color: #df7970; }
.module-actions .logout-action:hover { background: #c55248; border-color: #f3a098; }
.main-content { flex: 1; min-width: 0; }.topbar { display: flex; align-items: center; justify-content: space-between; height: 76px; padding: 0 4.1vw; background: #fff; border-bottom: 1px solid var(--line); }.breadcrumb { display: flex; gap: 10px; color: #9aa6a5; font-size: 12px; }.breadcrumb strong { color: var(--ink); font-weight: 600; }.top-actions { display: flex; align-items: center; gap: 17px; }.icon-button, .more-button, .row-more, .close-button { color: #82908e; background: none; border: 0; font-size: 20px; }.notification-button { position: relative; }.notification-button span { position: absolute; top: 1px; right: 0; width: 5px; height: 5px; background: var(--red); border-radius: 50%; }.sync-button { padding: 9px 14px; color: var(--teal); background: #eff8f3; border: 1px solid #d1ebdf; border-radius: 4px; font-size: 11px; font-weight: 600; }.sync-button span { margin-right: 5px; font-size: 17px; }.mobile-brand { display: none; }
/* Tela principal: dashboard da frota */
.module-view { display: block; }
.module-view[hidden] { display: none !important; }
.module-view-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 0 0 22px; padding-top: 6px; }.module-view-heading h2 { margin: 0 0 5px; font: 600 28px 'Space Grotesk', sans-serif; letter-spacing: -.04em; }.module-view-heading p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 13px; }.module-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; }.module-search { display: flex; align-items: center; gap: 8px; min-width: 220px; padding: 10px 12px; color: #99a5a3; border: 1px solid rgba(22, 73, 72, .12); border-radius: 8px; background: #f9fbfa; }.module-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 12px; }.module-search input::placeholder { color: #a9b3b1; }.module-actions-group { display: flex; gap: 8px; flex-wrap: wrap; }.module-action-button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 1px solid rgba(22, 73, 72, .12); border-radius: 10px; background: #f9fbfa; color: var(--teal); font-size: 18px; line-height: 1; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }.module-action-button:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(23, 108, 105, .12); background: #f1f8f5; }.module-action-button.danger { color: #b65d52; border-color: rgba(198, 90, 81, .2); background: #fff6f4; }.module-table-panel { padding: 8px 20px 20px; background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,250,249,.98)); border: 1px solid rgba(22, 73, 72, .12); border-radius: 12px; box-shadow: 0 10px 24px rgba(16, 47, 46, .05); }
.module-table-panel table { min-width: 720px; border-collapse: collapse; }
.module-table-panel table.farm-machines-table { min-width: 1640px; }
.module-table-panel th { padding: 12px 14px; color: #98a3a1; border-top: 1px solid rgba(22, 73, 72, .08); border-bottom: 1px solid rgba(22, 73, 72, .08); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.grid-sort-button { display: inline-flex; align-items: center; gap: 6px; padding: 0; color: inherit; background: transparent; border: 0; font: inherit; letter-spacing: inherit; text-align: left; text-transform: inherit; cursor: pointer; }
.grid-sort-button:hover, .grid-sort-button:focus-visible { color: var(--teal-dark); outline-color: var(--teal); }
.grid-sort-indicator { color: var(--teal); font-size: 12px; line-height: 1; }
.module-table-panel td { padding: 1px 14px; color: #657371; border-bottom: 1px solid rgba(22, 73, 72, .08); font-size: 10px; }
.module-table-panel td:last-child { color: var(--teal); font-weight: 600; text-align: right; }
.module-table-panel td:last-child .row-more + .row-more { margin-left: 6px; }
.module-table-panel tbody tr { cursor: pointer; transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.module-table-panel tbody tr:hover { background: #f5faf7; box-shadow: inset 0 0 0 1px rgba(107, 182, 151, .15); }
.module-table-panel tbody tr.selected { background: #edf9f2; box-shadow: inset 3px 0 0 #6bb697, inset 0 0 0 1px rgba(107, 182, 151, .22); }
.module-table-panel tbody tr .row-more { opacity: 0; visibility: hidden; transform: translateY(-1px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.module-table-panel tbody tr:hover .row-more, .module-table-panel tbody tr.selected .row-more, .module-table-panel tbody tr:focus-within .row-more { opacity: 1; visibility: visible; transform: translateY(0); }
.module-table-panel .status-pill.done { color: #268b63; background: #e8f7ef; border: 1px solid rgba(38, 139, 99, .12); }
.module-table-panel .status-pill.warning { color: #b06a2e; background: #fff2dc; border: 1px solid rgba(176, 106, 46, .12); }
.module-table-panel .status-pill.progress { color: #ba7c2f; background: var(--amber-soft); border: 1px solid rgba(186, 124, 47, .12); }
.module-table-panel .status-pill.status-vehicle--inactive { color: #b44740; background: var(--red-soft); border: 1px solid rgba(180, 71, 64, .16); }
.module-table-panel .status-pill.status-os--open { color: #396b9a; background: #eaf3fc; border: 1px solid rgba(57, 107, 154, .16); }
.module-table-panel .status-pill.status-os--scheduled { color: #7356a5; background: #f1ecfa; border: 1px solid rgba(115, 86, 165, .16); }
.module-table-panel .status-pill.status-os--progress { color: #2674a8; background: #e8f4fc; border: 1px solid rgba(38, 116, 168, .16); }
.module-table-panel .status-pill.status-os--waiting { color: #a66a12; background: #fff4d9; border: 1px solid rgba(166, 106, 18, .18); }
.module-table-panel .status-pill.status-os--done { color: #268b63; background: #e8f7ef; border: 1px solid rgba(38, 139, 99, .16); }
.module-table-panel .status-pill.status-os--cancelled { color: #b44740; background: #fdecea; border: 1px solid rgba(180, 71, 64, .16); }
.module-table-panel .status-pill.status-os--unknown { color: #657371; background: #eef1f0; border: 1px solid rgba(101, 115, 113, .14); }
.module-table-panel .row-more { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; background: #f2f6f5; color: #69807b; font-size: 16px; border: 1px solid rgba(22, 73, 72, .08); transition: all .18s ease; }
.module-table-panel .row-more:hover { background: #eaf3f1; color: var(--teal-dark); transform: translateY(-1px); }
.module-table-panel .primary-button { margin-left: auto; }
.module-table-panel .status-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 80px; padding: 6px 9px; border-radius: 999px; font-size: 9px; font-weight: 700; letter-spacing: .02em; }
.module-table-panel tbody tr td:first-child { font-weight: 600; color: #27373a; }
.module-table-panel tbody tr td:nth-child(2) { color: #3e4d4d; }
.module-table-panel tbody tr:hover td:first-child, .module-table-panel tbody tr.selected td:first-child { color: var(--teal-dark); }
.module-view-heading .primary-button { border-radius: 10px; padding: 12px 16px; box-shadow: 0 10px 18px rgba(23, 108, 105, .14); }
.vehicle-dialog { width: min(560px, calc(100vw - 30px)); max-height: calc(100vh - 32px); overflow-y: auto; }.vehicle-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.vehicle-form-grid label { display: grid; gap: 6px; color: #657371; font-size: 11px; font-weight: 600; }.vehicle-form-grid input, .vehicle-form-grid select, .vehicle-form-grid textarea { width: 100%; padding: 10px 12px; color: var(--ink); background: #fbfcfb; border: 1px solid rgba(22, 73, 72, .12); border-radius: 8px; outline: 0; font-size: 12px; box-shadow: inset 0 1px 2px rgba(16, 47, 46, .02); }
.fornecedor-dialog .vehicle-form-grid input, .fornecedor-dialog .vehicle-form-grid select { height: 30px; min-height: 30px; padding: 4px 8px; line-height: 20px; }
.field-wide { grid-column: 1 / -1; }.field-wide textarea { min-height: 78px; padding: 10px 12px; border: 1px solid rgba(22, 73, 72, .12); border-radius: 8px; resize: vertical; background: #fbfcfb; }
.page-body { width: min(1360px, calc(100% - 8.2vw)); margin: 0 auto; padding: 38px 0 55px; }.page-body > section:not(#module-view) { display: none; }.page-body.dashboard-hidden { display: none; }.welcome-row { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 29px; }.eyebrow { margin: 0 0 8px; color: var(--teal); font-size: 9px; font-weight: 700; letter-spacing: .16em; }.welcome-row h1 { margin: 0 0 5px; font: 600 clamp(24px, 2.4vw, 32px) 'Space Grotesk', sans-serif; letter-spacing: -.05em; }.subheading { margin: 0; color: var(--muted); font-size: 13px; }
.primary-button { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; color: #fff; background: var(--teal); border: 0; border-radius: 4px; font-size: 10px; font-weight: 600; box-shadow: 0 6px 12px rgba(23, 108, 105, .14); }.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-bottom: 17px; }.kpi-card, .panel { background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,250,249,.98)); border: 1px solid rgba(22, 73, 72, .12); border-radius: 12px; box-shadow: 0 10px 24px rgba(16, 47, 46, .05); }
.page-body.dashboard-visible > .welcome-row { display: flex !important; }.page-body.dashboard-visible > .kpi-grid { display: grid !important; }.page-body.dashboard-visible > .dashboard-grid, .page-body.dashboard-visible > .bottom-grid { display: grid !important; }.page-body.dashboard-visible > .work-orders-panel { display: block !important; }
.report-filter-panel { margin-bottom: 17px; padding: 16px 20px; }.report-filter-fields { display: flex; gap: 14px; }.report-filter-fields label { display: grid; gap: 6px; color: #657371; font-size: 11px; font-weight: 600; }.report-filter-fields input { padding: 9px 10px; color: var(--ink); border: 1px solid var(--line); border-radius: 6px; background: #fbfcfb; }.report-print-options { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); color: #657371; font-size: 11px; }.report-print-options strong { color: var(--ink); }.report-print-options label { display: flex; align-items: center; gap: 5px; font-weight: 500; }.report-print-options input { accent-color: var(--teal); }.availability-report-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-bottom: 17px; }.availability-card { padding: 17px 19px; }.availability-card span, .availability-card small { display: block; color: var(--muted); font-size: 11px; }.availability-card strong { display: block; margin: 10px 0 4px; color: var(--ink); font: 600 28px 'Space Grotesk', sans-serif; }.availability-card small { color: var(--teal); font-weight: 700; }
.kpi-card:hover, .panel:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(16, 47, 46, .08); }
.kpi-card { position: relative; min-height: 162px; padding: 18px 19px 15px; overflow: hidden; }.kpi-top, .panel-heading, .health-legend > div, .alert-item, .table-heading, .chart-legend, .schedule > div { display: flex; align-items: center; justify-content: space-between; }.kpi-label { color: var(--muted); font-size: 11px; }.kpi-icon { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 4px; font-size: 10px; font-weight: 700; }.kpi-icon.green { color: #328968; background: var(--mint); }.kpi-icon.amber { color: #b3701f; background: var(--amber-soft); }.kpi-icon.blue { color: var(--blue); background: #e8f0fa; font-size: 16px; }.kpi-icon.violet { color: #7b68a6; background: #f0ebfb; font-size: 17px; }.kpi-value { display: block; margin: 16px 0 7px; font: 600 28px 'Space Grotesk', sans-serif; letter-spacing: -.05em; }.kpi-value span { margin-left: 2px; color: #9daaa8; font-size: 14px; }.trend { font-size: 10px; font-weight: 700; }.trend small { margin-left: 4px; color: #a2acab; font-weight: 400; }.trend.up { color: #3e9b70; }.trend.down { color: #d16b4e; }.trend.neutral { color: var(--blue); }.sparkline { display: flex; align-items: end; gap: 3px; position: absolute; right: 19px; bottom: 17px; width: 66px; height: 26px; }.sparkline i { width: 5px; border-radius: 2px 2px 0 0; background: currentColor; opacity: .3; }.green-line { color: #55b88a; }.green-line i:nth-child(1) { height: 8px; }.green-line i:nth-child(2) { height: 13px; }.green-line i:nth-child(3) { height: 10px; }.green-line i:nth-child(4) { height: 18px; }.green-line i:nth-child(5) { height: 13px; }.green-line i:nth-child(6) { height: 20px; }.green-line i:nth-child(7) { height: 17px; }.green-line i:nth-child(8) { height: 24px; opacity: .6; }.green-line i:nth-child(9) { height: 21px; opacity: .8; }.amber-line { color: #dda45e; }.amber-line i:nth-child(1) { height: 20px; }.amber-line i:nth-child(2) { height: 17px; }.amber-line i:nth-child(3) { height: 21px; }.amber-line i:nth-child(4) { height: 13px; }.amber-line i:nth-child(5) { height: 16px; }.amber-line i:nth-child(6) { height: 11px; }.amber-line i:nth-child(7) { height: 14px; }.amber-line i:nth-child(8) { height: 9px; }.amber-line i:nth-child(9) { height: 6px; opacity: .8; }.violet-line { color: #9a82c7; }.violet-line i:nth-child(1) { height: 6px; }.violet-line i:nth-child(2) { height: 10px; }.violet-line i:nth-child(3) { height: 13px; }.violet-line i:nth-child(4) { height: 11px; }.violet-line i:nth-child(5) { height: 17px; }.violet-line i:nth-child(6) { height: 15px; }.violet-line i:nth-child(7) { height: 20px; }.violet-line i:nth-child(8) { height: 22px; }.violet-line i:nth-child(9) { height: 25px; opacity: .8; }.progress-bar { height: 4px; margin-top: 17px; overflow: hidden; background: #e8eeee; border-radius: 5px; }.progress-bar span { display: block; height: 100%; background: #719ac2; border-radius: inherit; }.progress-caption { display: block; margin-top: 6px; color: #a2acab; font-size: 9px; }
.dashboard-grid, .bottom-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 17px; margin-bottom: 17px; }.panel { padding: 20px 21px; }.panel-heading { align-items: flex-start; }.panel-heading h2 { margin: 0; font: 600 17px 'Space Grotesk', sans-serif; letter-spacing: -.035em; }.text-button, .view-all { padding: 4px 0; color: var(--teal); background: none; border: 0; font-size: 11px; font-weight: 600; }.text-button span, .view-all span { margin-left: 5px; font-size: 16px; }.more-button { padding: 0; font-size: 15px; }.health-content { display: flex; align-items: center; gap: 43px; min-height: 183px; padding: 8px 25px 0; }.donut { display: grid; place-items: center; width: 142px; height: 142px; flex: 0 0 142px; border-radius: 50%; background: conic-gradient(#65b790 0 91.7%, #e6b35c 91.7% 98%, #d87064 98% 100%); }.donut:after { content: ''; position: absolute; width: 104px; height: 104px; border-radius: 50%; background: white; }.donut > div { position: relative; z-index: 1; text-align: center; }.donut strong { display: block; font: 600 28px 'Space Grotesk', sans-serif; }.donut small { color: var(--muted); font-size: 10px; }.health-legend { flex: 1; }.health-legend > div { justify-content: flex-start; gap: 10px; margin: 14px 0; }.health-legend > div b { margin-left: auto; color: var(--ink); font-size: 11px; }.health-legend strong, .health-legend small { display: block; }.health-legend strong { font-size: 11px; font-weight: 600; }.health-legend small { margin-top: 3px; color: var(--muted); font-size: 10px; }.legend-dot { width: 7px; height: 7px; border-radius: 50%; }.available { background: #65b790; }.maintenance { background: #e6b35c; }.stopped { background: #d87064; }.health-footer { display: flex; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }.health-footer strong { color: var(--ink); }.health-warning { color: #ce7d39; }.health-warning b { margin-left: 5px; font-weight: 600; }.count-badge { display: inline-grid; place-items: center; width: 22px; height: 22px; margin-left: 5px; color: #b86b25; background: var(--amber-soft); border-radius: 50%; font: 600 10px 'DM Sans', sans-serif; vertical-align: 2px; }.alert-list { margin-top: 17px; }.alert-item { justify-content: flex-start; gap: 11px; padding: 11px 0; border-bottom: 1px solid #edf0ef; }.alert-symbol { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 4px; font-weight: 700; }.high .alert-symbol { color: var(--red); background: var(--red-soft); }.medium .alert-symbol { color: #c78631; background: var(--amber-soft); }.low .alert-symbol { color: #6387af; background: #eaf1fa; }.alert-item strong { display: block; font-size: 11px; font-weight: 600; }.alert-item p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }.alert-item p span { color: #a7b0af; }.arrow-button { margin-left: auto; color: #a6b0ae; background: none; border: 0; font-size: 18px; }.view-all { display: block; margin: 17px auto 0; }
.work-orders-panel { margin-bottom: 17px; }.table-heading { align-items: center; margin-bottom: 17px; }.table-actions { display: flex; gap: 8px; }.search-box { display: flex; align-items: center; gap: 6px; width: 188px; padding: 8px 10px; color: #99a5a3; border: 1px solid rgba(22, 73, 72, .12); border-radius: 8px; background: #f9fbfa; }.search-box input { width: 100%; color: var(--ink); border: 0; outline: 0; font-size: 10px; }.search-box input::placeholder { color: #a9b3b1; }.filter-button, .secondary-button { padding: 8px 11px; color: #62716f; background: white; border: 1px solid var(--line); border-radius: 3px; font-size: 10px; }.filter-button { color: var(--teal); }.table-wrap { overflow-x: auto; }table { width: 100%; min-width: 650px; border-collapse: collapse; }th { padding: 10px 12px; color: #98a3a1; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 9px; font-weight: 600; letter-spacing: .04em; text-align: left; text-transform: uppercase; }td { padding: 12px; color: #657371; border-bottom: 1px solid #edf0ef; font-size: 10px; }th:first-child, td:first-child { padding-left: 4px; }.vehicle-cell { display: flex; align-items: center; gap: 9px; }.vehicle-icon { display: grid; place-items: center; width: 28px; height: 28px; color: #5d9c86; background: #e8f4ee; border-radius: 4px; font-size: 13px; }.vehicle-cell strong, .vehicle-cell small { display: block; }.vehicle-cell strong { color: var(--ink); font-size: 11px; font-weight: 600; }.vehicle-cell small { margin-top: 3px; font-size: 10px; }.vehicle-cell i { margin-left: 5px; color: #a8b1af; font-style: normal; }.type-pill, .status-pill { display: inline-block; padding: 5px 8px; border-radius: 3px; font-size: 9px; font-weight: 600; }.preventive { color: #448b6f; background: #e6f4ed; }.corrective { color: #c16c50; background: #fcebe6; }.inspection { color: #6c7fa0; background: #edf2fa; }.status-pill.progress { color: #ba7c2f; background: var(--amber-soft); }.status-pill.waiting { color: #ad6861; background: var(--red-soft); }.status-pill.done { color: #4a9876; background: var(--mint); }.status-pill.scheduled { color: #657ba3; background: #edf2fa; }.row-more { font-size: 14px; }.load-more { display: block; margin: 16px auto 0; padding: 7px 15px; color: #6e7d7a; background: white; border: 1px solid var(--line); border-radius: 3px; font-size: 10px; }.load-more span { margin-left: 4px; color: var(--teal); }
.cost-panel { min-height: 285px; }.panel-heading select { color: #73817f; background: white; border: 1px solid var(--line); border-radius: 3px; padding: 6px 8px; font-size: 10px; outline: 0; }.cost-panel .chart { display: flex; height: 190px; margin-top: 20px; }.cost-panel .chart-y { display: flex; flex-direction: column; justify-content: space-between; width: 50px; padding-bottom: 26px; color: #a5afad; font-size: 9px; }.cost-panel .chart-area { position: relative; flex: 1; }.cost-panel .grid-lines { display: flex; flex-direction: column; justify-content: space-between; height: 154px; }.grid-lines i { border-top: 1px dashed #e8edeb; }.cost-panel .bars { position: absolute; inset: 0 10px 0 12px; display: flex; justify-content: space-around; align-items: end; }.cost-panel .bars > div { display: flex; align-items: end; gap: 3px; height: 100%; position: relative; }.cost-panel .bars span { display: block; width: 12px; min-height: 3px; background: #7bc09d; border-radius: 2px 2px 0 0; }.cost-panel .bars span + span { background: #edbd6f; }.cost-panel .bars small { position: absolute; bottom: -24px; left: 50%; color: #74817e; font-size: 9px; transform: translateX(-50%); }.cost-panel .bars .current span { background: var(--teal); }.cost-panel .bars .current span + span { background: #d99843; }.cost-panel .chart-legend { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 10px 18px; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); color: #899592; font-size: 10px; }.cost-panel .chart-legend strong { width: 100%; margin-left: 0; color: var(--ink); font-size: 13px; text-align: right; }.legend-square { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 1px; }.parts { background: #7bc09d; }.labor { background: #edbd6f; }.schedule { margin-top: 9px; }.schedule > div { justify-content: flex-start; gap: 11px; padding: 13px 0; border-bottom: 1px solid #edf0ef; }.schedule > div:last-child { border-bottom: 0; }.date { display: grid; place-items: center; width: 38px; height: 38px; color: var(--teal); background: #edf7f1; border-radius: 4px; font: 600 15px 'Space Grotesk', sans-serif; }.date small { display: block; margin-top: -9px; font: 600 8px 'DM Sans', sans-serif; }.schedule strong { display: block; font-size: 11px; font-weight: 600; }.schedule p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }.schedule p span { color: #a9b3b0; }.schedule-tag { margin-left: auto; color: #a7b1af; font-size: 9px; white-space: nowrap; }
.nav-group-toggle { justify-content: flex-start; }.nav-group-toggle > span:nth-child(2) { flex: 1; }.nav-group-toggle .nav-group-chevron { margin-left: auto; color: #86aaa5; font-size: 15px; transition: transform .2s ease; }.nav-group-toggle[aria-expanded="false"] .nav-group-chevron { transform: rotate(-90deg); }.nav-submenu { position: relative; display: grid; gap: 3px; margin: -1px 0 8px 20px; padding-left: 15px; overflow: hidden; max-height: 100px; border-left: 1px solid rgba(169, 228, 207, .22); transition: max-height .2s ease, opacity .2s ease; }.nav-submenu.is-collapsed { max-height: 0; opacity: 0; }.nav-subitem { display: flex; align-items: center; gap: 9px; width: 100%; color: #91a09d; background: transparent; border: 0; border-radius: 7px; font-size: 11px; text-align: left; cursor: pointer; }.nav-subitem:hover, .nav-subitem.active { color: #dbe9e5; background: rgba(205, 235, 223, .08); }.nav-subitem.active { box-shadow: inset 2px 0 #a9e4cf; }.nav-subitem .nav-icon { width: 16px; font-size: 12px; }
/* Ajustes responsivos */
@media (max-width: 1080px) { .sidebar { width: 215px; flex-basis: 215px; }.page-body { width: min(100% - 40px, 920px); }.kpi-grid { grid-template-columns: repeat(2, 1fr); }.dashboard-grid, .bottom-grid { grid-template-columns: 1fr; } }
.nav-submenu[hidden] { display: none; }
@media (max-width: 720px) { .sidebar { display: none; }.topbar { height: 64px; padding: 0 18px; }.mobile-brand { display: flex; }.mobile-brand .brand-mark { width: 28px; height: 28px; font-size: 15px; }.mobile-brand strong { font-size: 17px; }.breadcrumb { display: none; }.top-actions { gap: 8px; }.icon-button { font-size: 18px; }.sync-button { padding: 8px; font-size: 0; }.sync-button span { margin: 0; font-size: 19px; }.page-body { width: calc(100% - 28px); padding-top: 28px; }.welcome-row { display: block; }.welcome-row .primary-button { margin-top: 19px; }.kpi-grid { grid-template-columns: 1fr 1fr; gap: 9px; }.kpi-card { min-height: 150px; padding: 14px; }.kpi-label { max-width: 90px; line-height: 1.3; }.kpi-value { margin-top: 18px; font-size: 25px; }.kpi-card .trend small { display: block; margin: 3px 0 0; }.sparkline { right: 14px; bottom: 14px; }.panel { padding: 17px 14px; }.health-content { gap: 14px; padding: 10px 0; }.donut { width: 112px; height: 112px; flex-basis: 112px; }.donut:after { width: 82px; height: 82px; }.donut strong { font-size: 24px; }.table-heading { display: block; }.table-actions { margin-top: 16px; }.search-box { flex: 1; width: auto; }.chart-legend { flex-wrap: wrap; gap: 9px; }.chart-legend strong { width: 100%; margin: 4px 0 0; }.schedule-tag { display: none; } }

/* Toasts ficam ocultos até que a aplicação os exiba */
.toast {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 1000;
	max-width: min(420px, calc(100vw - 32px));
	padding: 14px 18px;
	color: #fff;
	background: var(--teal-dark);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 10px;
	box-shadow: 0 12px 30px rgba(10, 35, 34, .2);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.toast.show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Seletor de empresa */
#company-dialog {
	width: min(680px, calc(100vw - 32px));
	max-width: none;
	padding: 0;
	color: var(--ink);
	background: transparent;
	border: 0;
}

#company-dialog::backdrop { background: rgba(10, 35, 34, .48); backdrop-filter: blur(3px); }
#company-dialog .dialog-card { width: 100%; max-height: min(760px, calc(100vh - 32px)); overflow: auto; padding: 30px; background: #fff; border: 1px solid rgba(22, 73, 72, .14); border-radius: 16px; box-shadow: 0 24px 70px rgba(10, 35, 34, .24); }
#company-dialog .dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
#company-dialog .dialog-heading h2 { max-width: 520px; margin: 0; color: var(--ink); font: 600 clamp(24px, 4vw, 34px)/1.08 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
#company-dialog .eyebrow { margin-bottom: 11px; }
#company-dialog .close-button { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; color: var(--teal-dark); background: #f0f7f4; border: 1px solid rgba(23, 108, 105, .14); border-radius: 8px; font-size: 23px; line-height: 1; }
#company-dialog .close-button:hover, #company-dialog .close-button:focus-visible { color: #fff; background: var(--teal); outline: 3px solid rgba(23, 108, 105, .16); outline-offset: 2px; }
#company-dialog .company-dialog-description { margin: 18px 0 22px; color: var(--muted); font-size: 13px; }
#company-dialog .company-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#company-dialog .company-option-button { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px; color: var(--ink); background: #fbfdfc; border: 1px solid var(--line); border-radius: 10px; text-align: left; transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }
#company-dialog .company-option-button:hover, #company-dialog .company-option-button:focus-visible { background: #f0f8f4; border-color: #81bba4; box-shadow: 0 8px 20px rgba(23, 108, 105, .1); outline: 0; transform: translateY(-1px); }
#company-dialog .company-option-button strong { display: block; width: 100%; overflow-wrap: anywhere; font: 600 13px/1.35 'DM Sans', sans-serif; }
#company-dialog .company-option-button small { display: inline-flex; padding: 4px 7px; color: var(--teal-dark); background: #e5f4ec; border-radius: 4px; font-size: 10px; font-weight: 700; }
#company-dialog .company-dialog-error { margin: 0; padding: 14px; color: #a64c42; background: #fff3f1; border: 1px solid #f1d0cb; border-radius: 8px; font-size: 12px; }

.top-actions .company-button { display: inline-flex; align-items: center; gap: 8px; max-width: min(360px, 38vw); min-height: 42px; padding: 6px 10px; text-align: left; }
.company-button-icon { flex: 0 0 auto; margin: 0 !important; color: var(--teal); font-size: 15px !important; }
.company-button-details { display: grid; min-width: 0; gap: 2px; }
#empresaSelecionadaLabel { overflow: hidden; color: var(--teal-dark); font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
#filialSelecionadaLabel { color: var(--muted); font-size: 10px; font-weight: 600; line-height: 1.1; }
#company-dialog { max-height: calc(100vh - 24px); }
#company-dialog .company-dialog-card { position: relative; max-height: calc(100vh - 24px); overflow: auto; 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); }
#company-dialog .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 .company-dialog-heading, #company-dialog .company-dialog-description, #company-dialog .company-options, #company-dialog .branch-selector, #company-dialog .company-dialog-actions { position: relative; z-index: 1; }
#company-dialog .company-dialog-heading .eyebrow { margin: 0 0 12px; color: #1d7045; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
#company-dialog .company-dialog-heading .eyebrow i { margin-right: 8px; }
#company-dialog .dialog-heading h2 { max-width: 520px; color: #103e35; font-size: clamp(24px, 4vw, 34px); }
#company-dialog .company-dialog-close { position: absolute; z-index: 2; top: 18px; right: 18px; width: 36px; height: 36px; border: 2px solid #bed7ca; border-radius: 9px; background: #116038; color: #fff; }
#company-dialog .company-dialog-description { margin: 12px 0 18px; color: #586d71; font-size: 13px; }
#company-dialog .company-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#company-dialog .company-options > p { grid-column: 1 / -1; }
#company-dialog .company-option-button { display: flex; min-width: 0; min-height: 82px; flex-direction: row; align-items: center; gap: 9px; padding: 10px; border: 2px solid #e0e8e5; border-radius: 10px; background: rgba(255,255,255,.72); }
#company-dialog .company-option-button:hover, #company-dialog .company-option-button:focus-visible { border-color: #62ad82; background: #f0f8f4; }
#company-dialog .company-option-button.selected { border-color: #20a45b; background: #f0f9f3; box-shadow: inset 0 0 0 1px #20a45b; }
#company-dialog .company-option-mark { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 8px; background: #f2faf5; color: #258750; font-size: 20px; }
#company-dialog .company-option-details { display: grid; min-width: 0; justify-items: start; gap: 7px; }
#company-dialog .company-option-button strong { display: block; width: 100%; overflow-wrap: anywhere; color: #104a40; font: 700 12px/1.2 'DM Sans', sans-serif; }
#company-dialog .company-option-button small { padding: 4px 7px; border-radius: 5px; background: #d9eee1; color: var(--teal-dark); font-size: 10px; }
#company-dialog .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-dialog .company-option-button.selected .company-option-check { border-color: #147442; background: #147442; color: #fff; }
#company-dialog .company-option-button.selected .company-option-check::before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-size: 11px; font-weight: 900; }
#company-dialog .branch-selector { margin-top: 12px; border: 1px solid #cfe3d8; border-radius: 10px; padding: 12px; background: rgba(237, 247, 241, .88); }
#company-dialog .branch-selector-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
#company-dialog .branch-selector-heading > i { color: #197445; font-size: 22px; }
#company-dialog .branch-selector-heading h3 { margin: 0; color: #124b40; font-size: 14px; }
#company-dialog .branch-selector-heading p { margin: 4px 0 0; color: #687b7d; font-size: 11px; }
#company-dialog .branch-select { width: 100%; min-height: 38px; border: 1px solid #a9c9bb; border-radius: 7px; padding: 7px 10px; background: #fff; color: #38565a; font-size: 12px; }
#company-dialog .branch-selector-message { margin: 6px 0 0; color: #587363; font-size: 11px; }
#company-dialog .branch-selector-message:empty { display: none; }
#company-dialog .branch-selector-message.is-error { color: #a64c42; }
#company-dialog .company-dialog-actions { display: flex; justify-content: flex-end; margin-top: 12px; }
#company-dialog .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: 12px; font-weight: 700; }
#company-dialog .company-continue:disabled { background: #a8bdb0; cursor: not-allowed; }

@media (max-width: 560px) {
	#company-dialog .dialog-card { padding: 22px 18px; border-radius: 12px; }
	#company-dialog .dialog-heading { gap: 12px; }
	#company-dialog .company-options { grid-template-columns: 1fr; }
	#company-dialog .company-dialog-card { padding: 34px 16px 18px; }
	#company-dialog .company-dialog-card::before { width: 12px; clip-path: none; }
	#company-dialog .company-dialog-heading h2 { padding-right: 35px; }
	#company-dialog .company-dialog-close { top: 12px; right: 12px; }
	.top-actions .company-button { max-width: 48vw; padding: 6px 8px; }
	#empresaSelecionadaLabel { font-size: 10px; }
	#filialSelecionadaLabel { font-size: 9px; }
}

/* Views operacionais */
.module-view-heading { align-items: flex-end; padding: 4px 2px 0; }
.module-heading-copy { min-width: 0; }
.module-heading-copy h2 { color: var(--ink); }
.module-heading-copy > p:not(.eyebrow) { max-width: 560px; }
.module-toolbar { align-items: center; }
.module-record-count { padding: 7px 9px; color: var(--teal-dark); background: #e7f4ed; border-radius: 5px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.module-add-button { min-height: 40px; padding: 10px 13px; border-radius: 8px; font-size: 11px; }
.module-add-button span:first-child { font-size: 17px; line-height: .8; }
.module-table-panel { overflow: hidden; padding: 0 20px 20px; }
.module-table-caption { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 0 12px; color: #8a9895; border-bottom: 1px solid rgba(22, 73, 72, .08); font-size: 10px; }
.module-table-caption span:first-child { color: var(--teal); font-weight: 700; }
.table-hint { white-space: nowrap; }
.module-table-panel .table-wrap { margin: 0 -20px; padding: 0 20px; }
.module-table-panel tbody tr { transition: background .18s ease, box-shadow .18s ease; }
.module-table-panel tbody tr:focus-within { outline: 2px solid rgba(23, 108, 105, .3); outline-offset: -2px; }
.module-table-panel td:first-child { color: var(--ink); font-weight: 600; }
.module-table-panel td:last-child { white-space: nowrap; }
.module-table-panel .row-more { opacity: 1; visibility: visible; }
.report-filter-panel { padding: 20px; border-radius: 12px; }
.report-filter-fields { align-items: end; flex-wrap: wrap; }
.report-filter-fields label { min-width: 180px; }
.report-filter-fields input:focus, .module-search:focus-within { border-color: #73ae96; box-shadow: 0 0 0 3px rgba(23, 108, 105, .1); outline: 0; }
.availability-report-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.availability-card { min-height: 130px; }
.availability-card:hover { transform: translateY(-2px); }
.dialog-card { color: var(--ink); background: #fff; border: 1px solid rgba(22, 73, 72, .14); border-radius: 14px; box-shadow: 0 24px 70px rgba(10, 35, 34, .2); }
.dialog-card::backdrop { background: rgba(10, 35, 34, .48); backdrop-filter: blur(3px); }
.dialog-card form { padding: 26px; }
.dialog-heading h2 { margin: 0; color: var(--ink); font: 600 25px/1.1 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--line); }
.dialog-actions .secondary-button, .dialog-actions .primary-button { min-height: 38px; padding: 9px 13px; border-radius: 7px; }
.vehicle-dialog { width: min(620px, calc(100vw - 30px)); max-width: none; max-height: min(820px, calc(100vh - 32px)); padding: 0; overflow: auto; }
.vehicle-dialog form { padding: 22px; }
.vehicle-dialog .dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.vehicle-dialog .dialog-heading > div { min-width: 0; }
.vehicle-dialog .dialog-heading .eyebrow { margin-bottom: 6px; font-size: 8px; }
.vehicle-dialog .dialog-heading h2 { font-size: clamp(20px, 2.5vw, 24px); }
.vehicle-dialog .close-button { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; margin: -3px -3px 0 0; color: #55716b; background: #f2f7f5; border: 1px solid #e0ebe6; border-radius: 10px; font-size: 24px; line-height: 1; transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease; }
.vehicle-dialog .close-button:hover, .vehicle-dialog .close-button:focus-visible { color: #fff; background: var(--teal); border-color: var(--teal); outline: 3px solid rgba(23, 108, 105, .16); outline-offset: 2px; transform: rotate(90deg); }
.vehicle-dialog .vehicle-form-grid { gap: 13px 12px; }
.vehicle-dialog .vehicle-form-grid label { gap: 5px; color: #4e625e; font-size: 10px; }
.vehicle-dialog .vehicle-form-grid .vehicle-half-width { width: 60%; }
.vehicle-dialog .vehicle-form-grid .vehicle-color-width { width: 30%; }
.vehicle-dialog .vehicle-form-grid .vehicle-catalog-field { width: 60%; }
.vehicle-dialog .vehicle-form-grid .vehicle-catalog-field.vehicle-half-width { width: 50%; }
.vehicle-dialog .vehicle-form-grid .vehicle-rateio-group-width { width: 70%; }
.vehicle-dialog .vehicle-form-grid .vehicle-meter-width { width: 40%; }
.vehicle-registration-dialog .vehicle-form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.vehicle-registration-dialog .vehicle-form-grid .vehicle-half-width,
.vehicle-registration-dialog .vehicle-form-grid .vehicle-catalog-field.vehicle-half-width { width: 100%; }
.vehicle-registration-dialog .vehicle-form-grid .vehicle-color-width { width: 100%; }
.vehicle-registration-dialog .vehicle-form-grid .vehicle-rateio-group-width { width: 70%; }
.vehicle-registration-dialog .vehicle-form-grid .vehicle-grid-span-two { grid-column: span 2; }
.vehicle-registration-dialog .vehicle-form-grid .vehicle-meter-width { width: 85%; }
.vehicle-dialog .vehicle-form-grid input, .vehicle-dialog .vehicle-form-grid select, .vehicle-dialog .vehicle-form-grid textarea { min-height: 36px; padding: 7px 10px; background: #fbfdfc; border-color: #dce7e2; border-radius: 7px; font-size: 11px; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.vehicle-dialog .vehicle-form-grid input:focus, .vehicle-dialog .vehicle-form-grid select:focus, .vehicle-dialog .vehicle-form-grid textarea:focus { background: #fff; border-color: #6eae94; box-shadow: 0 0 0 3px rgba(23, 108, 105, .11); }
.vehicle-dialog .vehicle-form-grid input[readonly], .vehicle-dialog .vehicle-form-grid input:disabled, .vehicle-dialog .vehicle-form-grid select:disabled, .vehicle-dialog .vehicle-form-grid textarea:disabled { color: #71817d; background: #f1f5f3; cursor: not-allowed; }
.vehicle-dialog .vehicle-form-grid textarea { min-height: 68px; resize: vertical; }
.vehicle-dialog .dialog-actions { align-items: center; margin-top: 19px; padding-top: 14px; }
.vehicle-dialog .dialog-actions .secondary-button, .vehicle-dialog .dialog-actions .primary-button { min-height: 36px; padding: 8px 13px; border-radius: 7px; font-size: 11px; }
.vehicle-dialog .dialog-actions .secondary-button { color: #526560; background: #f4f7f6; border: 1px solid #dfe8e4; }
.vehicle-dialog .dialog-actions .secondary-button:hover { background: #eaf1ee; }
.vehicle-dialog .dialog-actions .primary-button { box-shadow: 0 7px 16px rgba(23, 108, 105, .2); }
.vehicle-dialog .dialog-actions .primary-button:hover { background: var(--teal-dark); }
.vehicle-dialog { width: min(760px, calc(100vw - 30px)); }
.vehicle-dialog .vehicle-active-field { display: flex !important; align-items: center; gap: 8px !important; min-height: 36px; }
.vehicle-dialog .vehicle-active-field input { width: 17px; min-height: 17px; margin: 0; accent-color: var(--teal); }
.vehicle-rateio-section { display: grid; gap: 11px; margin-top: 20px; padding: 15px; background: #f7faf8; border: 1px solid var(--line); border-radius: 9px; }
.vehicle-rateio-section h3 { margin: 0 0 4px; color: var(--ink); font-size: 13px; }
.vehicle-rateio-section p { margin: 0; color: var(--muted); font-size: 10px; }
.vehicle-rateio-list { display: grid; gap: 8px; }
.vehicle-rateio-row { display: grid; grid-template-columns: minmax(0, 1fr) 130px auto; gap: 8px; }
.vehicle-rateio-row select, .vehicle-rateio-row input { min-width: 0; min-height: 36px; padding: 7px 9px; color: var(--ink); background: #fff; border: 1px solid #dce7e2; border-radius: 7px; font-size: 11px; }
.vehicle-rateio-row button, .vehicle-rateio-section > button, #manage-vehicle-catalogs { min-height: 36px; padding: 8px 11px; color: var(--teal); background: #eff8f3; border: 1px solid #d1ebdf; border-radius: 7px; font-size: 10px; font-weight: 700; }
.vehicle-rateio-row button { color: #a34842; background: #fff5f3; border-color: #f1d5d1; }
.vehicle-list-detail { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; font-weight: 400; }
.vehicle-catalog-dialog { width: min(760px, calc(100vw - 30px)); }
.vehicle-catalog-toolbar { margin-bottom: 14px; }
.vehicle-catalog-toolbar label, .vehicle-catalog-new label { display: grid; gap: 5px; color: #4e625e; font-size: 11px; font-weight: 600; }
.vehicle-catalog-toolbar select, .vehicle-catalog-new input, .vehicle-catalog-list input { min-height: 35px; padding: 7px 9px; color: var(--ink); background: #fbfdfc; border: 1px solid #dce7e2; border-radius: 7px; font-size: 11px; }
.vehicle-catalog-list { max-height: 310px; overflow: auto; }
.vehicle-catalog-list table { width: 100%; border-collapse: collapse; }
.vehicle-catalog-list th, .vehicle-catalog-list td { padding: 6px; border-bottom: 1px solid var(--line); text-align: left; }
.vehicle-catalog-list th { color: var(--muted); font-size: 10px; }
.vehicle-catalog-list td:first-child { width: 110px; }
.vehicle-catalog-list td:nth-child(3) { white-space: nowrap; }
.vehicle-catalog-list td:last-child { white-space: nowrap; }
.vehicle-catalog-list button { min-height: 32px; padding: 6px 8px; color: var(--teal); background: #eff8f3; border: 1px solid #d1ebdf; border-radius: 6px; font-size: 10px; }
.vehicle-catalog-new { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: end; gap: 10px; margin: 15px 0 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.vehicle-catalog-new legend { padding: 0 6px; color: var(--teal); font-size: 10px; font-weight: 700; }
.vehicle-catalog-new .primary-button { min-height: 35px; padding: 8px 11px; border-radius: 7px; font-size: 10px; }
.work-order-dialog { width: min(580px, calc(100vw - 30px)); }
.work-order-dialog form { padding: 18px; }
.work-order-dialog .dialog-heading { margin-bottom: 13px; padding-bottom: 11px; }
.work-order-dialog .dialog-heading h2 { font-size: 21px; }
.work-order-dialog .vehicle-form-grid { gap: 9px 10px; }
.work-order-dialog .vehicle-form-grid label { gap: 4px; font-size: 9px; }
.work-order-dialog .vehicle-form-grid input, .work-order-dialog .vehicle-form-grid select { min-height: 31px; padding: 5px 8px; font-size: 10px; }
.work-order-dialog .vehicle-form-grid textarea { min-height: 54px; padding: 6px 8px; font-size: 10px; }
.work-order-dialog .dialog-actions { margin-top: 14px; padding-top: 11px; }
.work-order-dialog .dialog-actions .secondary-button, .work-order-dialog .dialog-actions .primary-button { min-height: 32px; padding: 6px 11px; font-size: 10px; }
.tire-dialog { width: min(580px, calc(100vw - 30px)); }
.tire-dialog form { padding: 18px; }
.tire-dialog .dialog-heading { margin-bottom: 13px; padding-bottom: 11px; }
.tire-dialog .dialog-heading h2 { font-size: 21px; }
.tire-dialog .vehicle-form-grid { gap: 9px 10px; }
.tire-dialog .vehicle-form-grid label { gap: 4px; font-size: 9px; }
.tire-dialog .vehicle-form-grid input, .tire-dialog .vehicle-form-grid select { min-height: 31px; padding: 5px 8px; font-size: 10px; }
.tire-dialog .dialog-actions { margin-top: 14px; padding-top: 11px; }
.tire-dialog .dialog-actions .secondary-button, .tire-dialog .dialog-actions .primary-button { min-height: 32px; padding: 6px 11px; font-size: 10px; }
.maintenance-dialog { width: min(580px, calc(100vw - 30px)); }
.maintenance-dialog form { padding: 18px; }
.maintenance-dialog .dialog-heading { margin-bottom: 13px; padding-bottom: 11px; }
.maintenance-dialog .dialog-heading h2 { font-size: 21px; }
.maintenance-dialog .vehicle-form-grid { gap: 9px 10px; }
.maintenance-dialog .vehicle-form-grid label { gap: 4px; font-size: 9px; }
.maintenance-dialog .vehicle-form-grid input, .maintenance-dialog .vehicle-form-grid select { min-height: 31px; padding: 5px 8px; font-size: 10px; }
.maintenance-dialog .dialog-actions { margin-top: 14px; padding-top: 11px; }
.maintenance-dialog .dialog-actions .secondary-button, .maintenance-dialog .dialog-actions .primary-button { min-height: 32px; padding: 6px 11px; font-size: 10px; }
.registration-edit-dialog { width: min(580px, calc(100vw - 30px)); }
.registration-edit-dialog form { padding: 18px; }
.registration-edit-dialog .dialog-heading { margin-bottom: 13px; padding-bottom: 11px; }
.registration-edit-dialog .dialog-heading h2 { font-size: 21px; }
.registration-edit-dialog .vehicle-form-grid { gap: 9px 10px; }
.registration-edit-dialog .vehicle-form-grid label { gap: 4px; font-size: 9px; }
.registration-edit-dialog .vehicle-form-grid input, .registration-edit-dialog .vehicle-form-grid select { min-height: 31px; padding: 5px 8px; font-size: 10px; }
.registration-edit-dialog .vehicle-form-grid textarea { min-height: 54px; padding: 6px 8px; font-size: 10px; }
.registration-edit-dialog .dialog-actions { margin-top: 14px; padding-top: 11px; }
.registration-edit-dialog .dialog-actions .secondary-button, .registration-edit-dialog .dialog-actions .primary-button { min-height: 32px; padding: 6px 11px; font-size: 10px; }
.fornecedor-dialog { width: min(760px, calc(100vw - 30px)); }
.fornecedor-dialog .vehicle-form-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.fornecedor-dialog .fornecedor-col-6 { grid-column: span 6; }
.fornecedor-dialog .fornecedor-col-8 { grid-column: span 8; }
.fornecedor-dialog .fornecedor-col-10 { grid-column: span 10; }
.fornecedor-dialog .fornecedor-col-5 { grid-column: span 5; }
.fornecedor-dialog .fornecedor-col-4 { grid-column: span 4; }
.fornecedor-dialog .fornecedor-col-3 { grid-column: span 3; }
.fornecedor-dialog .fornecedor-col-2 { grid-column: span 2; }
.fornecedor-dialog .fornecedor-col-1 { grid-column: span 1; }
.fornecedor-dialog .fornecedor-campo-largo { grid-column: 1 / -1; }
.fornecedor-documento { display: flex; align-items: center; gap: 8px; min-width: 0; }
.fornecedor-documento input { flex: 1; min-width: 0; }
.fornecedor-consultar-cnpj { min-height: 36px; padding: 8px 11px; color: var(--teal); background: #eff8f3; border: 1px solid #d1ebdf; border-radius: 8px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.fornecedor-consultar-cnpj:hover { background: #e4f3eb; }
.fornecedor-consultar-cnpj:disabled { cursor: wait; opacity: .65; }
.fornecedor-mensagem { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 11px; }

@media (max-width: 760px) {
	.fornecedor-dialog .vehicle-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fornecedor-dialog .fornecedor-col-6, .fornecedor-dialog .fornecedor-col-8, .fornecedor-dialog .fornecedor-col-10, .fornecedor-dialog .fornecedor-col-5, .fornecedor-dialog .fornecedor-col-4, .fornecedor-dialog .fornecedor-col-3, .fornecedor-dialog .fornecedor-col-2, .fornecedor-dialog .fornecedor-col-1 { grid-column: span 1; }
	.fornecedor-dialog .fornecedor-campo-largo { grid-column: 1 / -1; }
	.fornecedor-documento { align-items: stretch; flex-direction: column; }
	.module-view-heading { display: block; }
	.module-toolbar { justify-content: flex-start; margin-top: 17px; }
	.module-search { flex: 1; min-width: 160px; }
	.module-record-count { order: 3; }
	.module-add-button { order: 2; }
	.module-table-caption { align-items: flex-start; flex-direction: column; gap: 5px; }
	.availability-report-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.report-filter-fields label { flex: 1 1 140px; min-width: 0; }
	.report-print-options { align-items: flex-start; flex-direction: column; gap: 9px; }
	.dialog-card form { padding: 21px 18px; }
	.vehicle-form-grid { grid-template-columns: 1fr; }
	.vehicle-registration-dialog .vehicle-form-grid { grid-template-columns: 1fr; }
	.vehicle-registration-dialog .vehicle-form-grid .vehicle-half-width,
	.vehicle-registration-dialog .vehicle-form-grid .vehicle-color-width,
	.vehicle-registration-dialog .vehicle-form-grid .vehicle-rateio-group-width,
	.vehicle-registration-dialog .vehicle-form-grid .vehicle-meter-width,
	.vehicle-registration-dialog .vehicle-form-grid .vehicle-catalog-field.vehicle-half-width { width: 100%; }
	.vehicle-registration-dialog .vehicle-form-grid .vehicle-grid-span-two { grid-column: auto; }
	.field-wide { grid-column: auto; }
	.vehicle-dialog form { padding: 22px 18px; }
	.vehicle-dialog .dialog-heading { margin-bottom: 19px; padding-bottom: 15px; }
	.vehicle-dialog .dialog-actions { margin: 22px -18px -22px; padding: 14px 18px 22px; background: #fff; }
	.vehicle-rateio-row { grid-template-columns: 1fr; }
	.vehicle-catalog-new { grid-template-columns: 1fr; }
	.work-order-dialog form { padding: 18px 15px; }
	.work-order-dialog .vehicle-form-grid { gap: 10px; }
	.work-order-dialog .dialog-actions { margin: 15px -15px -18px; padding: 11px 15px 18px; }
	.tire-dialog form { padding: 18px 15px; }
	.tire-dialog .vehicle-form-grid { gap: 10px; }
	.tire-dialog .dialog-actions { margin: 15px -15px -18px; padding: 11px 15px 18px; }
	.maintenance-dialog form { padding: 18px 15px; }
	.maintenance-dialog .vehicle-form-grid { gap: 10px; }
	.maintenance-dialog .dialog-actions { margin: 15px -15px -18px; padding: 11px 15px 18px; }
	.registration-edit-dialog form { padding: 18px 15px; }
	.registration-edit-dialog .vehicle-form-grid { gap: 10px; }
	.registration-edit-dialog .dialog-actions { margin: 15px -15px -18px; padding: 11px 15px 18px; }
}

/* Menu lateral */
.sidebar {
	width: 264px;
	flex-basis: 264px;
	padding: 22px 14px 16px;
	background:
		radial-gradient(ellipse at 0 0, rgba(116, 190, 151, .14), transparent 55%),
		linear-gradient(180deg, #164f3b 0%, #103e32 100%);
}
.brand {
	gap: 12px;
	margin: 0 4px 12px;
	padding: 4px 8px 20px;
	border-bottom: 1px solid rgba(205, 235, 223, .14);
}
.brand-logo {
	width: 42px;
	height: 42px;
	flex-basis: 42px;
	padding: 5px;
	background: rgba(255, 255, 255, .96);
	border-radius: 10px;
}
.brand-copy { min-width: 0; }
.brand-copy strong { font-size: 15px; }
.brand-copy small {
	display: block;
	margin-top: 4px;
	color: #a7c8b8;
	font-size: 10px;
	letter-spacing: .02em;
}
.main-nav {
	min-height: 0;
	padding: 4px 2px 14px;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-color: rgba(169, 228, 207, .28) transparent;
	scrollbar-width: thin;
}
.nav-label {
	margin: 12px 10px 7px;
	color: #8fb5a2;
	font-size: 9px;
	letter-spacing: .15em;
}
.nav-label-spaced { margin-top: 22px; }
.nav-item {
	position: relative;
	min-height: 44px;
	margin: 3px 0;
	padding: 6px 10px;
	gap: 11px;
	border: 1px solid transparent;
	border-radius: 9px;
	color: #c0d5ca;
	font-size: 12px;
	font-weight: 600;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.nav-item:hover {
	transform: none;
	color: #fff;
	background: rgba(205, 235, 223, .09);
	border-color: rgba(205, 235, 223, .08);
}
.nav-item.active {
	transform: none;
	color: #fff;
	background: linear-gradient(100deg, rgba(113, 190, 149, .23), rgba(113, 190, 149, .1));
	border-color: rgba(169, 228, 207, .16);
	box-shadow: inset 3px 0 #a9e4cf;
}
.nav-item:focus-visible,
.nav-subitem:focus-visible {
	outline: 2px solid #b7eccd;
	outline-offset: 2px;
}
.nav-icon {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	border-radius: 8px;
	color: #a6c9b8;
	background: rgba(205, 235, 223, .08);
	font-size: 14px;
}
.nav-item.active .nav-icon {
	color: #e8fff1;
	background: rgba(169, 228, 207, .14);
}
.nav-item b {
	min-width: 22px;
	margin-left: auto;
	padding: 3px 6px;
	border-radius: 999px;
	color: #e9fff1;
	background: rgba(169, 228, 207, .14);
	font-size: 10px;
	text-align: center;
}
.nav-item .nav-alert {
	color: #ffe4a9;
	background: rgba(214, 145, 56, .2);
}
.nav-group-toggle[aria-expanded="true"] {
	color: #fff;
	background: rgba(205, 235, 223, .055);
}
.nav-group-toggle .nav-group-chevron {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 6px;
	color: #a6c9b8;
	font-size: 11px;
}
.nav-submenu {
	gap: 3px;
	max-height: none;
	margin: 2px 0 8px 20px;
	padding: 2px 0 2px 12px;
	overflow: visible;
	border-left-color: rgba(169, 228, 207, .2);
}
.nav-subitem {
	min-height: 38px;
	padding: 5px 8px;
	gap: 9px;
	border: 1px solid transparent;
	border-radius: 8px;
	color: #a8c0b4;
	font-size: 11px;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.nav-subitem:hover {
	color: #fff;
	background: rgba(205, 235, 223, .08);
}
.nav-subitem.active {
	color: #edfff4;
	background: rgba(125, 194, 157, .15);
	border-color: rgba(169, 228, 207, .1);
	box-shadow: inset 2px 0 #a9e4cf;
}
.nav-subitem .nav-icon {
	width: 25px;
	height: 25px;
	flex-basis: 25px;
	font-size: 12px;
}
.nav-icon {
	position: relative;
	isolation: isolate;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 9px;
	color: #f0fff5;
	background: linear-gradient(145deg, #367451, #214a34);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.24), inset 0 -2px 0 rgba(0,0,0,.14), 0 2px 5px rgba(0,0,0,.18);
	text-shadow: 0 1px 2px rgba(15,35,28,.35);
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.nav-icon i { filter: drop-shadow(0 1px 1px rgba(0,0,0,.24)); }
.nav-icon--dashboard, .nav-icon--vehicles { background: linear-gradient(145deg, #4b8db6, #24587d); }
.nav-icon--registrations, .nav-icon--companies, .nav-icon--suppliers, .nav-icon--inventory { background: linear-gradient(145deg, #58a174, #286344); }
.nav-icon--machines, .nav-icon--maintenance, .nav-icon--settings { background: linear-gradient(145deg, #bd8751, #75502f); }
.nav-icon--movements, .nav-icon--orders { background: linear-gradient(145deg, #8b75bd, #55457e); }
.nav-icon--tires { background: linear-gradient(145deg, #818b91, #4e5b61); }
.nav-icon--reports, .nav-icon--availability { background: linear-gradient(145deg, #6482c1, #3e5285); }
.nav-item.active .nav-icon--dashboard, .nav-item.active .nav-icon--vehicles { background: linear-gradient(145deg, #4b8db6, #24587d); }
.nav-item.active .nav-icon--registrations, .nav-item.active .nav-icon--companies, .nav-item.active .nav-icon--suppliers, .nav-item.active .nav-icon--inventory { background: linear-gradient(145deg, #58a174, #286344); }
.nav-item.active .nav-icon--machines, .nav-item.active .nav-icon--maintenance, .nav-item.active .nav-icon--settings { background: linear-gradient(145deg, #bd8751, #75502f); }
.nav-item.active .nav-icon--movements, .nav-item.active .nav-icon--orders { background: linear-gradient(145deg, #8b75bd, #55457e); }
.nav-item.active .nav-icon--tires { background: linear-gradient(145deg, #818b91, #4e5b61); }
.nav-item.active .nav-icon--reports, .nav-item.active .nav-icon--availability { background: linear-gradient(145deg, #6482c1, #3e5285); }
.nav-item:hover .nav-icon, .nav-item.active .nav-icon, .nav-subitem:hover .nav-icon, .nav-subitem.active .nav-icon {
	transform: perspective(70px) rotateX(0) translateY(-2px);
	filter: brightness(1.1);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.32), inset 0 -2px 0 rgba(0,0,0,.14), 0 4px 0 rgba(8,26,18,.35), 0 7px 10px rgba(8,26,18,.28);
}
.sidebar-bottom {
	flex: 0 0 auto;
	margin-top: auto;
	padding: 12px 4px 0;
	border-top: 1px solid rgba(205, 235, 223, .14);
	background: linear-gradient(180deg, rgba(16, 62, 50, .72), #103e32 24%);
}
.oracle-status {
	align-items: center;
	margin: 0 4px 8px;
	padding: 10px 9px;
	border: 1px solid rgba(169, 228, 207, .12);
	border-radius: 9px;
	background: rgba(205, 235, 223, .055);
}
.oracle-status strong { color: #e3f3ea; font-size: 10px; }
.oracle-status small { color: #9bb8aa; font-size: 9px; }
.status-dot { flex: 0 0 7px; }
.settings-item { margin: 3px 0 10px; }
.user-card {
	padding: 12px 8px 0;
	border-top-color: rgba(205, 235, 223, .14);
}
.avatar { width: 36px; height: 36px; flex: 0 0 36px; border: 1px solid rgba(226,255,190,.75); color: #173b2b; background: radial-gradient(circle at 32% 24%, #d9f59a, #9bc74e 68%, #6d9d35); font-size: 14px; 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); }
.avatar i { filter: drop-shadow(0 1px 1px rgba(255,255,255,.35)); }
.user-card strong { font-size: 10px; }
.user-card small { color: #9bb8aa; font-size: 9px; }
.module-actions {
	gap: 8px;
	margin: 12px 4px 0;
}
.module-action {
	min-height: 36px;
	padding: 7px 5px;
	border-radius: 7px;
	font-size: 9px;
	font-weight: 700;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease;
}
.module-action span { display: inline-grid; place-items: center; width: 23px; height: 23px; flex: 0 0 23px; border: 1px solid rgba(255,255,255,.16); border-radius: 7px; color: #d7f48b; background: linear-gradient(145deg, #367451, #214a34); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), inset 0 -2px 0 rgba(0,0,0,.14), 0 2px 5px rgba(0,0,0,.18); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.module-action:hover { transform: translateY(-1px); box-shadow: 0 5px 12px rgba(0,0,0,.2); }
.module-action:hover span { 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); }
.module-actions #switch-module-button {
	color: #eafff2;
	background: rgba(22, 131, 79, .52);
	border-color: rgba(86, 189, 131, .48);
}
.module-actions #switch-module-button:hover {
	background: #16834f;
	border-color: #8be0ae;
}
.module-actions .logout-action {
	color: #ffe5e2;
	background: rgba(169, 67, 59, .28);
	border-color: rgba(223, 121, 112, .35);
}
.module-actions .logout-action span { color: #ffd2ca; background: linear-gradient(145deg, #9b5147, #69372f); }
.module-actions .logout-action:hover {
	background: #a9433b;
	border-color: #f3a098;
}

@media (max-width: 1080px) {
	.sidebar { width: 248px; flex-basis: 248px; }
}
