:root{--bg:#f3f1ea;--panel:#fffdf7;--panel-strong:#0f1720;--line:#d8d2c2;--text:#13202b;--muted:#62707d;--accent:#0c7c71;--accent-dark:#085b54;--danger:#b54a39;--warning-bg:#fff1cf;--warning-text:#9a5c00;--neutral-bg:#eef1f4;--neutral-text:#51606d;--shadow:0 18px 40px rgba(15,23,32,0.09)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:radial-gradient(circle at top left,rgba(12,124,113,.1),transparent 28%),linear-gradient(180deg,#f8f5ee,#efe8dd);color:var(--text);font-family:var(--font-body),sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--font-heading),sans-serif;margin:0}p{margin:0}input,select,textarea{width:100%;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:14px;padding:.85rem 1rem;background:#fff}textarea{min-height:110px;resize:vertical}label{display:grid;align-content:start;grid-gap:.45rem;gap:.45rem;min-width:0;font-size:.95rem;font-weight:500;color:var(--muted)}label input,label select,label textarea{color:var(--text);font-weight:400}.ghost-button,.primary-button,.secondary-button{border-radius:999px;padding:.85rem 1.2rem;border:0;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.primary-button{background:var(--accent);color:white}.secondary-button{background:#e4ecea;color:var(--panel-strong)}.ghost-button{background:#f2e4df;color:var(--danger)}.app-shell{min-height:100vh;display:grid;grid-template-columns:300px 1fr}.sidebar{padding:2rem;background:linear-gradient(180deg,#10232d,#183642);color:white;display:flex;flex-direction:column;gap:2rem;position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto}.eyebrow,.sidebar-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;opacity:.75}.sidebar-title{font-size:2rem;margin-top:.6rem}.sidebar-subtitle{color:rgba(255,255,255,.72);margin-top:.75rem;line-height:1.55}.sidebar-nav{display:grid;grid-gap:.75rem;gap:.75rem}.nav-link{border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:1rem;display:grid;grid-gap:.35rem;gap:.35rem;background:rgba(255,255,255,.03)}.nav-link.active{background:rgba(12,124,113,.25);border-color:rgba(12,124,113,.6)}.nav-link small{color:rgba(255,255,255,.7)}.app-content{padding:2rem}.topbar{justify-content:space-between;margin-bottom:1.5rem}.topbar,.topbar-actions{display:flex;align-items:center}.topbar-actions{gap:1rem;margin-left:auto}.topbar-meta{display:grid;grid-gap:.25rem;gap:.25rem;justify-items:flex-end;color:var(--muted)}.topbar-logout{min-width:96px}.app-notice{border-radius:24px;border:1px solid transparent;padding:1rem 1.25rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.app-notice-warning{background:var(--warning-bg);border-color:#f2d58e;color:var(--warning-text)}.app-notice-danger{background:#f8e9e5;border-color:#e2b4aa;color:var(--danger)}.app-notice-copy{display:grid;grid-gap:.25rem;gap:.25rem}.app-notice-actions{display:flex;gap:.75rem;flex-wrap:wrap}.content-area,.page-grid{display:grid;grid-gap:1.5rem;gap:1.5rem}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end}.page-header h2{font-size:2.1rem;margin:.4rem 0}.button-row,.page-actions{display:flex;gap:.75rem;flex-wrap:wrap}.button-row.compact{gap:.5rem}.muted-text{color:var(--muted);line-height:1.55}.vehicle-tabs{display:flex;gap:.45rem;padding:.4rem;overflow-x:auto;border:1px solid rgba(19,32,43,.08);border-radius:18px;background:rgba(255,253,247,.82)}.vehicle-tab{flex:1 0 auto;min-height:38px;padding:.55rem .9rem;border:0;border-radius:13px;background:transparent;color:var(--muted);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.vehicle-tab:hover:not(:disabled){background:rgba(15,139,128,.08);color:var(--accent-dark)}.vehicle-tab.active{background:var(--panel-strong);color:white}.vehicle-tab:disabled{cursor:not-allowed;opacity:.42}.empty-state,.list-card,.section-card,.stat-card{background:var(--panel);border:1px solid rgba(19,32,43,.08);border-radius:28px;box-shadow:var(--shadow)}.section-card{padding:1.5rem;display:grid;grid-gap:1rem;gap:1rem;align-content:start}.section-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.stat-card{padding:1.4rem;display:grid;grid-gap:.4rem;gap:.4rem}.stat-card strong{font-size:2rem}.maintenance-grid,.stats-grid,.three-column-grid,.two-column-grid{display:grid;grid-gap:1rem;gap:1rem}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.two-column-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-grid,.three-column-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.maintenance-grid,.simple-form{align-items:start}.simple-form{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.simple-form>*{min-width:0}.simple-form>.form-error,.simple-form>.form-helper,.simple-form>.form-success,.simple-form>button{grid-column:1/-1}.form-error{color:var(--danger)}.form-success{color:var(--accent-dark)}.form-helper{color:var(--muted)}.tire-detail-history,.tire-history-grid,.tire-management-grid,.tire-vehicle-board{display:grid;grid-gap:1rem;gap:1rem}.tire-board-header,.tire-card-meta,.tire-fleet-card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tire-board-header>div:first-child,.tire-fleet-card-heading>div{display:grid;grid-gap:.25rem;gap:.25rem}.tire-board-header span,.tire-card-meta span,.tire-fleet-card p,.tire-fleet-card-heading span,.tire-slot-card>span{color:var(--muted);font-size:.88rem}.tire-color-legend{display:flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--muted)}.tire-color-legend i{width:38px;height:8px;border-radius:99px;background:linear-gradient(90deg,#22c55e,#eab308,#dc2626)}.tire-vehicle-board{width:100%;max-width:30vw;justify-self:center;gap:.55rem;padding:.75rem;border:1px solid rgba(19,32,43,.08);border-radius:20px;background:#f2f5f2}.tire-cab{width:min(240px,70%);justify-self:center;padding:.55rem .8rem;border-radius:48px 48px 12px 12px;background:#10232d;color:white;text-align:center;font-size:.88rem;font-weight:700}.tire-axle,.tire-spares{position:relative;display:grid;grid-gap:.35rem;gap:.35rem;padding:.35rem}.tire-axle-label{justify-self:center;color:var(--muted);font-size:.82rem;font-weight:700}.tire-axle-line{position:absolute;left:8%;right:8%;top:47%;height:6px;border-radius:99px;background:#71808a}.tire-axle-slots{position:relative;z-index:1;display:flex;justify-content:space-between;gap:.5rem}.tire-spares .tire-axle-slots{justify-content:center}.tire-slot-card{flex:1 1 180px;max-width:260px;min-width:0;display:grid;justify-items:center;align-content:start;grid-gap:.3rem;gap:.3rem;padding:.5rem;border:1px solid rgba(19,32,43,.1);border-radius:14px;background:rgba(255,253,247,.96);text-align:center;cursor:-webkit-grab;cursor:grab;overflow:hidden}.tire-slot-card:active{cursor:-webkit-grabbing;cursor:grabbing}.tire-slot-card>span,.tire-slot-card>strong{width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.tire-stock-dropzone{padding:.85rem;border:2px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center;transition:.16s ease}.tire-stock-dropzone.active{border-color:var(--danger);background:#fff4f1;color:var(--danger)}.tire-slot-visual{width:48px;height:60px;display:grid;place-items:center;border:4px solid rgba(15,23,32,.78);border-radius:15px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35);color:#10232d;font-size:.68rem;font-weight:800}.tire-slot-card>strong{font-size:.82rem;line-height:1.2}.tire-slot-card>span{font-size:.75rem}.tire-action-help{max-width:680px;font-size:.76rem!important}.tire-empty-actions{display:flex;justify-content:center;gap:.3rem;width:auto;flex-wrap:wrap}.tire-empty-actions .primary-button,.tire-empty-actions .secondary-button,.tire-slot-card .button-row button{min-height:30px;padding:.32rem .6rem;font-size:.72rem}.tire-slot-card .button-row{justify-content:center}.tire-drag-hint{color:var(--accent-dark)!important;font-size:.7rem!important;font-weight:700;white-space:nowrap}.tire-history-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tire-fleet-card{display:grid;grid-gap:.8rem;gap:.8rem;padding:1rem;border:1px solid rgba(19,32,43,.08);border-radius:20px;background:#f8faf8}.tire-dot{width:20px;height:20px;flex:0 0 auto;border:3px solid rgba(15,23,32,.72);border-radius:7px}.tire-dot.large{width:38px;height:48px;border-radius:12px}.tire-usage-track{height:10px;overflow:hidden;border-radius:99px;background:#dfe6e3}.tire-usage-track span{display:block;height:100%;border-radius:inherit}.stock-items-grid,.stock-type-grid{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(3,minmax(0,1fr))}.stock-item-card,.stock-type-card{border:1px solid rgba(19,32,43,.08);background:#f8faf8}.stock-type-card{display:flex;align-items:center;gap:.8rem;padding:.9rem;border-radius:18px}.stock-item-card,.stock-item-meta,.stock-type-card>div{display:grid;grid-gap:.4rem;gap:.4rem}.stock-item-card>p,.stock-item-meta span,.stock-type-card p{color:var(--muted);font-size:.82rem}.stock-type-icon{width:38px;height:46px;display:grid;place-items:center;flex:0 0 auto;border:4px solid rgba(15,23,32,.78);border-radius:12px;background:#d8dfdd;font-size:.75rem;font-weight:800}.stock-item-card{padding:1rem;border-radius:20px}.stock-item-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.stock-item-meta span{display:grid;grid-gap:.15rem;gap:.15rem}.stock-item-meta strong{color:var(--panel-strong);overflow-wrap:anywhere}.stock-available-label{width:-moz-fit-content;width:fit-content;padding:.28rem .55rem;border-radius:999px;background:#e4ecea;color:var(--accent-dark);font-size:.75rem;font-weight:700}.stock-type-helper{align-self:end}.action-popover{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;width:min(420px,calc(100vw - 2rem));display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.85rem;gap:.85rem;align-items:start;padding:1rem;border-radius:8px;border:1px solid rgba(19,32,43,.12);background:var(--panel);box-shadow:var(--shadow)}.action-popover div{min-width:0;display:grid;grid-gap:.2rem;gap:.2rem}.action-popover span,.action-popover strong{overflow-wrap:anywhere}.action-popover-error{border-color:rgba(181,74,57,.34);background:#fff4f1;color:#8f3326}.action-popover-success{border-color:rgba(12,124,113,.28);background:#eef8f6;color:#085b54}.checkbox-field{display:flex;align-items:center;gap:.55rem}.checkbox-field input,.mobile-checkbox input{width:auto;min-height:auto;padding:0}.selected-attachment-preview{display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:.75rem;gap:.75rem;align-items:center;padding:.65rem;border:1px solid rgba(12,124,113,.28);border-radius:16px;background:#eef8f6;color:var(--text)}.selected-attachment-file,.selected-attachment-preview img{width:64px;height:64px;border-radius:12px;object-fit:cover;background:#fff;border:1px solid rgba(19,32,43,.1)}.selected-attachment-file{display:grid;place-items:center;color:var(--accent-dark);font-weight:700;font-size:.82rem}.selected-attachment-preview div{min-width:0;display:grid;grid-gap:.2rem;gap:.2rem}.selected-attachment-preview strong{color:var(--accent-dark)}.selected-attachment-preview span{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem}.suffix-field{display:flex;align-items:stretch;width:100%}.suffix-field input{border-top-right-radius:0;border-bottom-right-radius:0}.suffix-field-tag{display:inline-flex;align-items:center;padding:.85rem 1rem;border:1px solid var(--line);border-left:0;border-top-right-radius:14px;border-bottom-right-radius:14px;background:#f4efe4;color:var(--muted);white-space:nowrap}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:980px}.data-table td,.data-table th{text-align:left;padding:1rem .75rem;border-bottom:1px solid rgba(19,32,43,.08)}.data-table th{color:var(--muted);font-weight:600}.data-table input[type=checkbox]{width:auto;min-height:auto;padding:0}.financial-value{color:var(--panel-strong);white-space:nowrap}.financial-value.negative{color:var(--danger)}.status-badge{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;background:#ebf5f3;color:var(--accent-dark);font-size:.85rem;font-weight:600}.status-open{background:#fff1cf;color:#9a5c00}.status-cancelled,.status-inactive,.status-overdue{background:#f8e9e5;color:var(--danger)}.status-alert{background:var(--warning-bg);color:var(--warning-text)}.status-not-scheduled{background:var(--neutral-bg);color:var(--neutral-text)}.status-up-to-date{background:#ebf5f3;color:var(--accent-dark)}.maintenance-alert-cell{display:grid;grid-gap:.35rem;gap:.35rem}.maintenance-alert-note{color:var(--muted);font-size:.82rem}.empty-state{padding:2rem;text-align:center}.feature-list,.stack-list{display:grid;grid-gap:.85rem;gap:.85rem;padding-left:1.2rem;margin:0}.list-card{padding:1rem 1.1rem;display:grid;grid-gap:.35rem;gap:.35rem}.summary-list{display:grid;grid-gap:.9rem;gap:.9rem}.summary-list>div{display:flex;justify-content:space-between;gap:1rem;align-items:center}.summary-label-group{display:grid;grid-gap:.2rem;gap:.2rem}.summary-note{color:var(--muted);font-size:.82rem}.summary-negative{color:var(--danger)}.summary-financial-list{gap:0}.summary-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.95rem 0;border-bottom:1px solid rgba(19,32,43,.12)}.summary-row-divider{border-bottom:3px solid rgba(19,32,43,.92)}.summary-financial-list>.summary-row:last-child{border-bottom:0}.attachment-list{display:flex;flex-wrap:wrap;gap:.5rem}.movement-list{padding-left:0}.movement-card{gap:.85rem}.movement-header-row{display:flex;gap:.9rem;align-items:baseline;flex-wrap:wrap}.movement-title{color:var(--muted);font-weight:500}.movement-summary{color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.movement-inline{color:var(--muted);white-space:nowrap}.movement-meta-row{display:grid;grid-gap:.45rem .9rem;gap:.45rem .9rem;grid-template-columns:minmax(0,1.4fr) auto auto;align-items:center}.fuel-meta-row .movement-summary:first-child{min-width:0}.movement-main-row{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;align-items:center}.movement-main-row>*{white-space:nowrap}.movement-main-row span{color:var(--muted)}.movement-value{font-size:1.1rem;color:var(--panel-strong)}.movement-actions{display:flex;gap:.65rem;flex-wrap:wrap}.maintenance-card{align-self:start;align-content:start;gap:1rem}.maintenance-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.maintenance-actions-row{display:flex;justify-content:flex-end}.maintenance-empty{padding:1.1rem}.attachment-block{display:grid;grid-gap:.65rem;gap:.65rem}.attachment-actions{display:flex;gap:.65rem;flex-wrap:wrap}.attachment-upload{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:999px;background:#ebf5f3;color:var(--accent-dark);cursor:pointer;font-size:.9rem;font-weight:600}.attachment-upload.is-uploading{opacity:.7;cursor:wait}.attachment-upload input{display:none}.attachment-link{padding:.55rem .8rem;border-radius:999px;background:#e6f0ee;color:var(--accent-dark)}.centered-message,.login-page{min-height:100vh;display:grid;place-items:center;padding:2rem}.login-page{grid-template-columns:minmax(0,480px) minmax(0,480px);gap:2rem}.login-hero{padding:2.25rem;border-radius:32px;background:linear-gradient(180deg,#10232d,#0c7c71);color:white;box-shadow:var(--shadow);display:grid;grid-gap:1rem;gap:1rem}.login-hero h1{font-size:3rem}@media (max-width:1100px){.app-shell,.login-page,.maintenance-grid,.simple-form,.stats-grid,.three-column-grid,.two-column-grid{grid-template-columns:1fr}.sidebar{padding:1.5rem}.page-header,.topbar{align-items:flex-start;flex-direction:column}.app-notice,.topbar-actions{width:100%;justify-content:space-between}.app-notice{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.stock-items-grid,.stock-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tire-vehicle-board{max-width:100%}}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,32,.55);display:grid;place-items:center;padding:2rem;z-index:1000}.modal-card{width:min(780px,100%);max-height:85vh;overflow:auto;background:var(--panel);border:1px solid rgba(19,32,43,.08);border-radius:28px;box-shadow:var(--shadow);padding:1.5rem;display:grid;grid-gap:1rem;gap:1rem}@media (max-width:720px){.vehicle-tabs{padding:.3rem}.vehicle-tab{flex:0 0 auto;min-height:36px;padding:.5rem .75rem}.tire-board-header,.tire-card-meta{align-items:flex-start;flex-direction:column}.stock-item-meta,.stock-items-grid,.stock-type-grid,.tire-history-grid{grid-template-columns:1fr}.tire-axle-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tire-slot-card{max-width:none}.tire-axle-line{display:none}.movement-meta-row{grid-template-columns:1fr}.maintenance-card-header{flex-direction:column;align-items:flex-start}.suffix-field{flex-direction:column}.suffix-field input{border-radius:14px 14px 0 0}.suffix-field-tag{border-left:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px}}.vehicle-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.vehicle-dashboard-card{display:grid;grid-gap:1rem;gap:1rem;padding:1.35rem;border-radius:24px;border:1px solid rgba(19,32,43,.08);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(241,247,246,.92)),radial-gradient(circle at top right,rgba(12,124,113,.12),transparent 34%)}.vehicle-dashboard-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.vehicle-dashboard-totals{display:grid;grid-gap:.2rem;gap:.2rem;justify-items:flex-end}.vehicle-dashboard-totals strong{font-size:1.2rem}.vehicle-dashboard-totals span{color:var(--muted);font-size:.88rem}.dashboard-bar-chart,.trip-comparison-chart{display:grid;grid-gap:.85rem;gap:.85rem}.dashboard-bar-row,.trip-comparison-row{display:grid;grid-gap:.6rem;gap:.6rem;align-items:center}.dashboard-bar-row{grid-template-columns:minmax(0,1.2fr) minmax(120px,2fr) auto}.dashboard-bar-copy,.trip-comparison-copy{display:grid;grid-gap:.18rem;gap:.18rem}.dashboard-bar-copy span,.trip-comparison-copy span,.trip-comparison-values span{color:var(--muted);font-size:.85rem}.dashboard-bar-track,.trip-comparison-track{height:12px;border-radius:999px;overflow:hidden;background:rgba(19,32,43,.08)}.dashboard-bar-fill,.trip-comparison-fill{height:100%;border-radius:inherit}.dashboard-bar-fill,.trip-comparison-track-composite{background:linear-gradient(90deg,#0c7c71,#32a395)}.trip-comparison-track-composite{position:relative}.trip-comparison-track-composite .trip-comparison-fill{position:absolute;top:0}.trip-comparison-fill.expense{left:0;background:linear-gradient(90deg,#d6a23a,#f2c568)}.trip-comparison-fill.profit{background:linear-gradient(90deg,#2563eb,#60a5fa)}.trip-comparison-fill.negative{background:linear-gradient(90deg,#b54a39,#df7766)}.dashboard-bar-value{white-space:nowrap}.trip-comparison-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto}.trip-comparison-bars,.trip-comparison-values{display:grid;grid-gap:.4rem;gap:.4rem}.trip-comparison-legend{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:.88rem}.trip-comparison-legend span{display:inline-flex;align-items:center;gap:.4rem}.legend-dot{width:.75rem;height:.75rem;border-radius:999px;display:inline-block}.legend-dot.gross{background:#0c7c71}.legend-dot.expense{background:#d6a23a}.legend-dot.profit{background:#2563eb}.trip-comparison-values{justify-items:flex-end}.metric-inline-note{display:inline-flex;width:-moz-fit-content;width:fit-content;gap:.35rem;align-items:center;padding:.55rem .8rem;border-radius:999px;background:#e7efed;color:var(--muted);font-size:.92rem}.metric-inline-note strong{color:var(--panel-strong)}.dashboard-filter-grid{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(2,minmax(160px,1fr));grid-gap:1rem;gap:1rem;align-items:flex-end}.trip-list-filter-grid{grid-template-columns:minmax(220px,1fr) minmax(280px,auto)}.filter-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.monthly-financial-chart{min-height:260px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(86px,1fr);grid-gap:.9rem;gap:.9rem;align-items:flex-end;overflow-x:auto;padding-bottom:.35rem}.monthly-financial-item{min-width:86px;display:grid;grid-gap:.45rem;gap:.45rem;justify-items:center}.monthly-financial-bars{width:100%;height:170px;display:flex;justify-content:center;align-items:flex-end;gap:.35rem;padding:.65rem;border-radius:18px;background:rgba(19,32,43,.06)}.monthly-financial-bar{width:24px;min-height:0;border-radius:999px 999px 4px 4px}.monthly-financial-bar.revenue,.vehicle-ranking-fill.revenue{background:linear-gradient(180deg,#0c7c71,#32a395)}.monthly-financial-bar.expense,.vehicle-ranking-fill.expense{background:linear-gradient(180deg,#d6a23a,#f2c568)}.monthly-financial-item strong{text-transform:capitalize}.monthly-financial-item span{color:var(--muted);font-size:.84rem}.maintenance-km-chart,.vehicle-ranking-chart{display:grid;grid-gap:.95rem;gap:.95rem}.maintenance-km-row,.vehicle-ranking-row{display:grid;grid-gap:.65rem;gap:.65rem;align-items:center}.vehicle-ranking-row{grid-template-columns:minmax(0,1fr) minmax(140px,1.4fr) auto}.maintenance-km-copy,.vehicle-ranking-bars,.vehicle-ranking-copy,.vehicle-ranking-values{display:grid;grid-gap:.25rem;gap:.25rem}.maintenance-km-copy span,.vehicle-ranking-copy span,.vehicle-ranking-values span{color:var(--muted);font-size:.86rem}.maintenance-km-track,.vehicle-ranking-track{height:11px;border-radius:999px;overflow:hidden;background:rgba(19,32,43,.08)}.maintenance-km-fill,.vehicle-ranking-fill{display:block;height:100%;border-radius:inherit}.maintenance-km-row{grid-template-columns:minmax(0,1fr) minmax(160px,1.5fr) auto}.maintenance-km-fill{background:linear-gradient(90deg,#0c7c71,#32a395)}.maintenance-km-fill.overdue{background:linear-gradient(90deg,#b54a39,#df7766)}@media (max-width:1100px){.dashboard-filter-grid,.vehicle-dashboard-grid{grid-template-columns:1fr}}@media (max-width:720px){.dashboard-bar-row,.maintenance-km-row,.trip-comparison-row,.vehicle-ranking-row{grid-template-columns:1fr}.vehicle-dashboard-header{flex-direction:column}.trip-comparison-values,.vehicle-dashboard-totals{justify-items:flex-start}}.attachment-links{display:grid;grid-gap:.45rem;gap:.45rem}.attachment-links-label{color:var(--muted);font-size:.92rem}.inline-link{color:var(--accent-strong);font-weight:600;text-decoration:none}.inline-link:hover{text-decoration:underline}.link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:0;color:var(--accent-strong);font-weight:600;text-decoration:none;cursor:pointer;text-align:left}.link-button:hover,.login-hero-link a{text-decoration:underline}.login-hero-link a{color:white;-webkit-text-decoration-color:rgba(255,255,255,.55);text-decoration-color:rgba(255,255,255,.55)}.policy-page{min-height:100vh;display:grid;grid-gap:1.5rem;gap:1.5rem;padding:2rem;max-width:1080px;margin:0 auto}.policy-card,.policy-hero{border-radius:32px;box-shadow:var(--shadow)}.policy-hero{background:linear-gradient(180deg,#10232d,#0c7c71);color:white;padding:2rem;display:grid;grid-gap:1rem;gap:1rem}.policy-hero h1{font-size:2.8rem}.policy-updated{color:rgba(255,255,255,.78)}.policy-card{background:var(--panel);border:1px solid rgba(19,32,43,.08);padding:2rem;display:grid;grid-gap:1.5rem;gap:1.5rem}.policy-section{display:grid;grid-gap:.75rem;gap:.75rem}.policy-section h2{font-size:1.4rem}.policy-list,.policy-section p{color:var(--muted);line-height:1.7}.policy-list{margin:0;padding-left:1.2rem;display:grid;grid-gap:.55rem;gap:.55rem}.policy-actions{display:flex;justify-content:flex-start}@media (max-width:720px){.policy-page{padding:1rem}.policy-card,.policy-hero{padding:1.35rem}.policy-hero h1{font-size:2.1rem}}.mobile-app,.mobile-login{min-height:100vh;background:#eef3f0;color:#13202b}.mobile-app{padding:0 0 5.5rem}.mobile-login{display:grid;place-items:center;padding:1rem}.mobile-login-panel{width:min(100%,440px);display:grid;grid-gap:1.4rem;gap:1.4rem;padding:1.25rem;border:1px solid rgba(19,32,43,.1);border-radius:20px;background:#fffdf7;box-shadow:0 16px 32px rgba(19,32,43,.1)}.mobile-login-panel h1,.mobile-page-heading h1,.mobile-trip-summary h1{font-size:1.55rem;line-height:1.15}.mobile-login-panel p,.mobile-muted,.mobile-page-heading p,.mobile-record small,.mobile-record span,.mobile-summary-box span,.mobile-trip-card span{color:#62707d}.mobile-kicker{display:inline-flex;margin-bottom:.5rem;color:#0c7c71;font-weight:700;text-transform:uppercase;font-size:.78rem}.mobile-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.85rem 1rem;background:#10232d;color:white}.mobile-topbar div{display:grid;grid-gap:.12rem;gap:.12rem;min-width:0}.mobile-topbar span{color:rgba(255,255,255,.7);font-size:.78rem}.mobile-topbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-content{width:min(100%,760px);margin:0 auto;padding:1rem;display:grid;grid-gap:1rem;gap:1rem}.mobile-card-header,.mobile-page-heading{display:flex;justify-content:space-between;gap:.85rem;align-items:flex-start}.mobile-page-heading{margin-bottom:.2rem}.mobile-card-list,.mobile-form,.mobile-record-list{display:grid;grid-gap:.85rem;gap:.85rem}.mobile-card,.mobile-trip-card{border:1px solid rgba(19,32,43,.1);border-radius:16px;background:#fffdf7;box-shadow:0 10px 24px rgba(19,32,43,.08)}.mobile-card{padding:1rem;display:grid;grid-gap:.9rem;gap:.9rem}.mobile-card h2{font-size:1.15rem}.mobile-trip-card{padding:1rem;display:grid;grid-gap:.9rem;gap:.9rem}.mobile-form label{display:grid;grid-gap:.38rem;gap:.38rem;color:#51606d;font-size:.92rem}.mobile-form .mobile-checkbox{display:flex;align-items:center;gap:.55rem}.mobile-form input,.mobile-form select{min-height:46px;width:100%;border:1px solid #d8d2c2;border-radius:12px;padding:.75rem .85rem;background:white;color:#13202b}.mobile-icon-button,.mobile-primary-button,.mobile-primary-link,.mobile-secondary-button{min-height:44px;border:0;border-radius:999px;display:inline-flex;justify-content:center;align-items:center;padding:.72rem 1rem;font-weight:700}.mobile-primary-button,.mobile-primary-link{background:#0c7c71;color:white}.mobile-secondary-button{background:#10232d;color:white}.mobile-icon-button{min-height:38px;background:rgba(255,255,255,.12);color:white}.mobile-primary-button:disabled,.mobile-secondary-button:disabled{opacity:.65;cursor:wait}.mobile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.6rem;gap:.6rem;margin:0}.mobile-metrics div{display:grid;grid-gap:.18rem;gap:.18rem;min-width:0;padding:.65rem;border-radius:12px;background:#eef3f0}.mobile-metrics dt{color:#62707d;font-size:.76rem}.mobile-metrics dd{margin:0;font-weight:700;overflow-wrap:anywhere}.mobile-status{flex:0 0 auto;display:inline-flex;align-items:center;min-height:30px;padding:.35rem .65rem;border-radius:999px;background:#ebf5f3;color:#085b54;font-size:.82rem;font-weight:700}.mobile-status-cancelled,.mobile-status-closed{background:#f8e9e5;color:#b54a39}.mobile-summary-box{display:grid;grid-gap:.25rem;gap:.25rem;padding:.85rem;border-radius:14px;background:#eef3f0}.mobile-record{display:grid;grid-gap:.2rem;gap:.2rem;padding:.8rem 0;border-top:1px solid rgba(19,32,43,.1)}.mobile-record:first-child{border-top:0}.mobile-record small{line-height:1.45}.mobile-financial-summary{display:grid;grid-gap:.55rem;gap:.55rem;padding-top:.85rem;border-top:1px solid rgba(19,32,43,.1)}.mobile-actions-row,.mobile-financial-summary div,.mobile-movement-form summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.mobile-financial-summary span{color:#62707d}.mobile-actions-row>*{flex:1 1}.mobile-movement-form summary{cursor:pointer;font-size:1rem;font-weight:700;list-style:none}.mobile-movement-form summary::-webkit-details-marker{display:none}.mobile-movement-form[open] summary{padding-bottom:.85rem;border-bottom:1px solid rgba(19,32,43,.1)}.mobile-record-action{justify-self:start;border:0;padding:.35rem 0;background:transparent;color:#0c7c71;font-weight:700}.mobile-sheet-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;background:rgba(7,18,24,.58)}.mobile-sheet{width:min(100%,760px);max-height:80vh;margin:0 auto;padding:1.1rem 1rem calc(1rem + env(safe-area-inset-bottom));overflow:auto;display:grid;grid-gap:.75rem;gap:.75rem;border-radius:20px 20px 0 0;background:#fffdf7}.mobile-attachment-button{min-height:48px;border:1px solid #d8d2c2;border-radius:12px;padding:.75rem;background:#eef3f0;color:#13202b;text-align:left;font-weight:700}.mobile-error{color:#b54a39;line-height:1.45}.mobile-empty{padding:1rem;border:1px dashed rgba(19,32,43,.2);border-radius:16px;color:#62707d;text-align:center}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;padding:.65rem .75rem calc(.65rem + env(safe-area-inset-bottom));background:rgba(255,253,247,.96);border-top:1px solid rgba(19,32,43,.1);box-shadow:0 -10px 26px rgba(19,32,43,.08)}.mobile-bottom-nav a,.mobile-bottom-nav span{min-height:42px;display:grid;place-items:center;border-radius:999px;background:#eef3f0;color:#13202b;font-weight:700;font-size:.9rem;text-align:center}.mobile-bottom-nav a:nth-child(3){background:#0c7c71;color:white}.mobile-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-dashboard-card{display:grid;grid-gap:.9rem;gap:.9rem;padding:.9rem 0;border-top:1px solid rgba(19,32,43,.1)}.mobile-dashboard-card:first-child{border-top:0;padding-top:0}.mobile-dashboard-card:last-child{padding-bottom:0}.mobile-negative{color:#b54a39}.mobile-ratio-bar{position:relative;display:grid;grid-gap:.4rem;gap:.4rem}.mobile-ratio-fill{display:block;height:10px;border-radius:999px}.mobile-ratio-fill.revenue{width:100%;background:linear-gradient(90deg,#0c7c71,#32a395)}.mobile-ratio-fill.expense{background:linear-gradient(90deg,#d6a23a,#f2c568)}@media (max-width:430px){.mobile-content{padding:.85rem}.mobile-metrics{grid-template-columns:1fr}.mobile-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-card-header,.mobile-page-heading{flex-direction:column}.mobile-status{align-self:flex-start}.mobile-actions-row{align-items:stretch;flex-direction:column}}.freight-calculator-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);grid-gap:1.5rem;gap:1.5rem;align-items:start}.freight-calculator-form,.freight-result-column,.freight-summary-list{display:grid;grid-gap:1rem;gap:1rem}.freight-antt-grid,.freight-expense-grid,.freight-fuel-grid,.freight-percentage-grid,.freight-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.freight-antt-heading{display:grid;grid-gap:.25rem;gap:.25rem;margin:1.35rem 0 1rem;padding-top:1.25rem;border-top:1px solid var(--line)}.freight-antt-heading span{color:var(--muted);font-size:.9rem}.freight-antt-grid>label,.freight-input-field{display:grid;grid-gap:.45rem;gap:.45rem;min-width:0}.freight-input-field>span{color:var(--text);font-weight:650}.freight-location-field{position:relative;z-index:5}.freight-location-field>label{display:grid;grid-gap:.45rem;gap:.45rem}.freight-location-field>label>span{font-weight:650}.freight-location-suggestions{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:1000;display:grid;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:var(--shadow)}.freight-location-suggestions button,.freight-location-suggestions>span{padding:.8rem .9rem;border:0;border-bottom:1px solid var(--line);border-radius:0;background:white;color:var(--text);text-align:left}.freight-location-suggestions button:focus-visible,.freight-location-suggestions button:hover{background:#eef7f4}.freight-location-suggestions>:last-child{border-bottom:0}.freight-route-button{margin-top:1rem}.freight-route-result{display:grid;grid-gap:.8rem;gap:.8rem;margin-top:1.2rem}.freight-route-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.freight-route-metrics>div{display:grid;grid-gap:.2rem;gap:.2rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:16px;background:#f8f5ee}.freight-antt-result span,.freight-route-metrics span{color:var(--muted);font-size:.85rem}.freight-route-map{position:relative;min-height:330px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#e8ece8}.freight-route-map-frame{position:relative;min-width:0}.freight-map-hint{position:absolute;z-index:500;left:50%;bottom:.75rem;translate:-50% 0;padding:.45rem .7rem;border-radius:999px;background:rgba(16,35,45,.82);color:white;font-size:.78rem;pointer-events:none;white-space:nowrap}.freight-switches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.freight-switches label{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:52px;padding:.7rem .85rem;border:1px solid var(--line);border-radius:14px;background:#f8f5ee;cursor:pointer}.freight-switches input{width:20px;height:20px;flex:0 0 auto}.freight-antt-result{display:grid;grid-gap:.45rem;gap:.45rem;margin-top:1rem;padding:1rem 1.1rem;border:1px solid rgba(12,124,113,.24);border-radius:18px;background:#e8f2ef}.freight-antt-result>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.freight-antt-result strong{color:var(--accent-dark);font-size:1.45rem}.freight-comparison{margin:0;padding:.75rem .9rem;border-radius:14px;font-weight:700}.freight-comparison.above{color:#09685f;background:#e1f3ed}.freight-comparison.below{color:#9d3829;background:#fbe9e5}.freight-input-field input[readonly]{background:#f3f3ef;color:var(--muted)}.form-grid.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.form-grid.two-columns .form-helper{grid-column:1/-1}.freight-input-field small{color:var(--muted);line-height:1.4}.freight-input-with-prefix,.freight-input-with-suffix{display:flex;align-items:stretch;width:100%;min-width:0}.freight-input-with-prefix input,.freight-input-with-suffix input{flex:1 1 auto;width:auto;min-width:0}.freight-input-with-prefix>span,.freight-input-with-suffix>span{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:.85rem;border:1px solid var(--line);background:#f4efe4;color:var(--muted);font-weight:700}.freight-input-with-prefix>span{border-right:0;border-radius:14px 0 0 14px}.freight-input-with-prefix input{border-radius:0 14px 14px 0}.freight-input-with-suffix input{border-radius:14px 0 0 14px}.freight-input-with-suffix>span{border-left:0;border-radius:0 14px 14px 0;white-space:nowrap}.freight-diesel-field{grid-column:1/-1;min-width:0}.maintenance-entry-form>label{align-content:start;min-width:0}.maintenance-entry-form .form-helper,.maintenance-entry-form>label{line-height:1.4}.maintenance-entry-observation{grid-column:1/-1}.freight-result-column{position:-webkit-sticky;position:sticky;top:1.5rem}.freight-result-card{display:grid;grid-gap:1.25rem;gap:1.25rem;padding:1.5rem;border-radius:28px;color:white;background:linear-gradient(160deg,#10232d,#183642);box-shadow:var(--shadow)}.freight-result-card h3{margin-top:.35rem;font-size:1.6rem}.freight-result-highlight{display:grid;grid-gap:.35rem;gap:.35rem;padding:1.2rem;border:1px solid rgba(114,225,209,.32);border-radius:20px;background:rgba(12,124,113,.3)}.freight-result-highlight.negative{border-color:rgba(255,169,151,.38);background:rgba(181,74,57,.28)}.freight-result-highlight strong{font-size:clamp(1.8rem,3vw,2.6rem)}.freight-result-highlight span{color:rgba(255,255,255,.75)}.freight-summary-row{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.freight-summary-row span{color:rgba(255,255,255,.72)}.freight-summary-row strong{white-space:nowrap}.freight-summary-row.emphasized{padding-top:.35rem;border-bottom:0;font-size:1.05rem}.freight-summary-row.emphasized span{color:white;font-weight:700}.freight-calculator-note{padding:1rem 1.1rem;border:1px solid rgba(12,124,113,.18);border-radius:18px;background:#e8f2ef;color:var(--accent-dark);line-height:1.55}@media (max-width:1100px){.freight-calculator-layout{grid-template-columns:1fr}.freight-result-column{position:static}}@media (max-width:620px){.freight-antt-grid,.freight-expense-grid,.freight-fuel-grid,.freight-percentage-grid,.freight-route-grid,.freight-route-metrics{grid-template-columns:1fr}.freight-route-map{min-height:260px}.form-grid.two-columns,.freight-switches{grid-template-columns:1fr}.freight-summary-row{align-items:flex-start}}