/* Eco-Town Fuel workspace. Load after Bootstrap and page-specific legacy CSS. */
:root,[data-bs-theme=dark] {
  color-scheme:dark;
  --bs-body-bg:#17191b; --bs-body-color:#e4e7eb; --bs-border-color:#3b4149;
  --bs-secondary-color:#b4bdc9; --bs-tertiary-bg:#282d34;
  --bs-primary:#4b83c9; --bs-link-color:#a8cbfa; --bs-link-hover-color:#d2e5ff;
  --fuel-panel:#202429; --fuel-input:#292f37; --fuel-muted:#b4bdc9;
  --ui-bg:#17191b; --ui-card:#202429; --ui-border:#3b4149;
  --ui-text:#e4e7eb; --ui-muted:#b4bdc9; --ui-shadow-soft:none; --ui-radius:12px;
}
html,body { background:#17191b; color:#e4e7eb; font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; }
body { background-image:none; min-height:100vh; }
body>.container,body>.container-fluid { width:100%; max-width:none; padding:24px; margin:0!important; }
h1,.page-title { font-size:26px; line-height:1.25; font-weight:650; letter-spacing:-.4px; }
h2 { font-size:21px; } h3 { font-size:18px; }
h1.h3 { font-size:26px; }
body>.container>h1,body>.container>h2 { margin-bottom:18px; }
.text-muted,.page-subtitle,.form-text,.metric-label,.stat-label,.stat-note { color:var(--fuel-muted)!important; }
.page-subtitle { font-size:13px; line-height:1.6; }
.fuel-page-heading { margin-bottom:20px; display:flex; gap:16px; align-items:center; justify-content:space-between; }
.fuel-page-heading h1 { margin:0 0 6px; }
.fuel-page-heading p { margin:0; color:var(--fuel-muted); max-width:100ch; }
.fuel-navigation { background:#202429!important; border-right:1px solid var(--bs-border-color); padding:16px 12px; box-shadow:none; }
.fuel-navigation .navbar-brand { display:flex; align-items:center; gap:10px; font-size:18px; margin:0 0 22px; padding:8px; }
.fuel-navigation .navbar-brand small { display:block; font-size:11px; color:var(--fuel-muted); font-weight:400; }
.fuel-brand-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:#345c8d; color:#e3eeff; font-weight:750; flex:none; }
.fuel-navigation .nav-link { color:#d0d8e3; border:1px solid transparent; border-radius:9px; padding:11px 12px!important; font-size:13px; line-height:1.45; }
.fuel-navigation .nav-link.active { background:#293444; color:#b3d2fb; border-color:#4c6483; }
.fuel-navigation .nav-link:hover { background:#2b3440; color:#fff; }
.fuel-navigation-exit { margin-top:24px; border-top:1px solid var(--bs-border-color); padding-top:8px; }
@media(min-width:992px) {
  body:has(.fuel-navigation) { padding-left:230px; }
  .fuel-navigation { position:fixed; inset:0 auto 0 0; width:230px; overflow-y:auto; z-index:1020; align-items:flex-start; }
  .fuel-navigation .container-fluid,.fuel-navigation .navbar-collapse,.fuel-navigation .navbar-nav { display:flex!important; flex-direction:column; align-items:stretch; width:100%; padding:0; }
}
.card,.panel,.stat-card,.filter-card,.table-card,.modal-content,.login-card,.login-container {
  background:var(--fuel-panel)!important; color:var(--bs-body-color); border:1px solid var(--bs-border-color)!important; border-radius:12px; box-shadow:none;
}
.card-header,.card-footer,.modal-header,.modal-footer { background:#272d34; border-color:var(--bs-border-color); color:var(--bs-body-color); padding:12px 16px; }
.card-header { font-weight:600; }
.card-body { padding:16px; min-width:0; }
.card>.card-header:first-child { border-radius:11px 11px 0 0; }
.stat-card { padding:18px; }
.stat-value,.metric-value { color:#e4e7eb; font-size:27px; font-weight:650; font-variant-numeric:tabular-nums; }
.metric-unit { color:var(--fuel-muted); }
.form-label { margin-bottom:6px; font-size:13px; font-weight:500; }
.form-control,.form-select,.dataTables_wrapper input,.dataTables_wrapper select {
  background-color:var(--fuel-input)!important; border:1px solid #535e6d;
  color:#e4e7eb!important; border-radius:8px; min-height:38px; box-shadow:none;
}
.form-control::placeholder { color:#aeb8c6; opacity:1; }
.form-control:focus,.form-select:focus,.dataTables_wrapper input:focus,.dataTables_wrapper select:focus { border-color:#91bbf1; outline:0; box-shadow:0 0 0 3px #4b83c930; }
.form-control:disabled,.form-select:disabled { color:#b2bac5!important; background:#242931!important; opacity:1; }
.form-select {
  --bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23bccbdf' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
input[type=date] { color-scheme:dark; }
.fuel-filter-bar { display:grid; grid-template-columns:repeat(4,minmax(160px,1fr)) auto; gap:14px; align-items:end; padding:16px; margin:0 0 20px!important; background:var(--fuel-panel); border:1px solid var(--bs-border-color); border-radius:12px; }
.fuel-filter-bar>div { width:auto; padding:0; margin:0; min-width:0; }
.fuel-filter-bar .fuel-filter-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.fuel-filter-bar .btn { margin:0!important; white-space:nowrap; }
.fuel-filter-bar.fuel-filter-short { grid-template-columns:180px 180px minmax(220px,360px) auto; justify-content:start; }
.fuel-filter-bar.fuel-filter-card-form { grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) minmax(200px,1fr) auto; }
.fuel-table-panel { border:1px solid var(--bs-border-color); border-radius:12px; background:var(--fuel-panel); padding:16px; }
#addVehicleForm,#addUserForm { display:grid; gap:16px; align-items:end; }
#addVehicleForm>div,#addUserForm>div { margin:0!important; min-width:0; }
#addVehicleForm>button,#addUserForm>button { justify-self:start; align-self:end; }
#importVehiclesForm { display:grid; grid-template-columns:minmax(260px,1fr) auto; gap:16px; align-items:end; }
#importVehiclesForm>div { margin:0!important; min-width:0; }
@media(min-width:1200px) {
  #addVehicleForm { grid-template-columns:repeat(3,minmax(0,1fr)) auto; }
  #addUserForm { grid-template-columns:repeat(4,minmax(0,1fr)) auto; }
}
.btn { border-radius:8px; font-size:13px; font-weight:600; padding:8px 12px; line-height:1.45; }
.btn-primary { background:#467bb9; border-color:#6797d4; color:#fff; }
.btn-primary:hover { background:#548ac9; border-color:#91b6e7; }
.btn-outline-primary,.btn-soft { color:#b6d4ff; border-color:#637fa5; background:#26374e; }
.btn-outline-primary:hover,.btn-soft:hover { color:#fff; background:#375b88; border-color:#8bb5ed; }
.btn-outline-success { color:#afe1c5; border-color:#588773; background:#243c32; }
.btn-outline-success:hover { color:#fff; background:#356b50; }
.btn-outline-secondary { color:#d4deeb; border-color:#606e80; background:#2a323d; }
.btn-outline-secondary:hover { color:#fff; background:#3e4d60; }
.btn-outline-danger,.btn-link.text-danger { color:#ffc0c6!important; border-color:#93616a; }
.btn-close { filter:none; opacity:.85; }
.btn-icon { background:#2a323d; border-color:#606e80; border-radius:8px; width:34px; height:34px; }
.btn-icon img { filter:invert(1); opacity:.9; width:20px; height:20px; }
.btn-no-bg { color:#d4deeb!important; min-width:34px; min-height:34px; }
.btn-no-bg.dropdown-toggle::after { display:none; }
.fuel-menu-dots { font-size:22px; line-height:1; }
.btn:focus-visible,a:focus-visible { outline:2px solid #9bc4ff; outline-offset:3px; }
.table,.table.dataTable {
  --bs-table-bg:#202429; --bs-table-color:#e4e7eb; --bs-table-striped-bg:#262c33; --bs-table-striped-color:#e4e7eb;
  --bs-table-hover-bg:#303d4e; --bs-table-hover-color:#fff;
  width:100%; color:#e4e7eb; border-color:#46505d; border-collapse:separate!important; border-spacing:0;
}
.table>:not(caption)>*>*,table.dataTable thead th,table.dataTable tbody td {
  border:0; border-bottom:1px solid #424a56; border-right:1px solid #363f49;
  padding:11px 12px; vertical-align:middle; text-align:left; overflow-wrap:break-word;
}
.table tr>*:first-child { border-left:1px solid #363f49; }
.table thead th,table.dataTable thead th {
  background-color:#2b333e!important; color:#c5d1e1; font-size:12px; font-weight:600;
  line-height:1.4; letter-spacing:0; text-transform:none; border-top:1px solid #46505d;
}
table.dataTable tbody tr { background:var(--fuel-panel); }
table.dataTable tbody tr:nth-child(even) { background:#262c33; }
table.dataTable tbody tr:hover { background:#303d4e; }
table.dataTable tbody td { color:inherit; background:transparent; }
.table .text-end { text-align:right!important; font-variant-numeric:tabular-nums; }
.table .text-center { text-align:center!important; }
.table td .badge { max-width:100%; }
.table-responsive { border-radius:8px; }
.dataTables_wrapper { width:100%; min-width:0; }
.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter { color:#c0cbd9; margin:0 0 12px; padding:0; }
.dataTables_wrapper label { display:inline-flex; align-items:center; gap:8px; margin:0; }
.dataTables_wrapper input { padding:7px 10px!important; margin:0!important; min-width:180px; }
.dataTables_wrapper select { padding:5px 8px; margin:0; }
.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate { color:#c0cbd9; margin-top:12px; padding-top:0; }
.dataTables_wrapper .dataTables_paginate .paginate_button {
  color:#d0dceb!important; border:1px solid #536071!important; border-radius:7px;
  background:#293340!important; padding:6px 10px; margin:0 0 0 6px; font-size:13px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current { background:#3f608b!important; color:#fff!important; border-color:#8badd8!important; }
.dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.disabled) { background:#3b526f!important; color:#fff!important; }
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled { color:#9ca7b5!important; background:transparent!important; border-color:#414955!important; }
.select2-container--bootstrap-5 .select2-selection,.select2-container--default .select2-selection--single {
  background:var(--fuel-input); border:1px solid #535e6d; color:#e4e7eb; min-height:38px; border-radius:8px;
}
.select2-container .select2-selection__rendered { color:#e4e7eb!important; }
.select2-dropdown,.select2-search__field { background:#252e3a!important; color:#e4e7eb!important; border-color:#63768e!important; }
.select2-results__option { color:#e4e7eb; }
.select2-results__option--selected { background:#354c6b!important; }
.select2-results__option--highlighted { background:#416fa9!important; color:#fff!important; }
.select2-container--bootstrap-5 .select2-selection__clear { filter:brightness(2); }
.badge { font-size:11px; font-weight:600; padding:4px 7px; line-height:1.45; white-space:normal; text-align:left; overflow-wrap:anywhere; border:1px solid transparent; }
.badge.text-bg-warning { background:#463c27!important; color:#ffe0a4!important; border-color:#8a7343; }
.badge.text-bg-success { background:#244b3d!important; color:#bdf2d8!important; border-color:#507f69; }
.badge.text-bg-secondary { background:#3b4655!important; color:#e3ebf6!important; border-color:#637084; }
.badge.text-bg-danger { background:#562f39!important; color:#ffd2d8!important; border-color:#996575; }
.veh-pill { display:inline-block; background:#293c57; border:1px solid #526e94; color:#c4dcff; line-height:1.45; white-space:normal; max-width:100%; box-shadow:none; }
.veh-pill:hover { transform:none; }
.veh-dot { display:none; }
#logsTable .veh-model { display:block; font-weight:400; color:#c3cfdf; }
#logsTable { font-size:13px; width:100%!important; table-layout:fixed; }
#logsTable th,#logsTable td { white-space:normal!important; min-width:0; max-width:none; }
#logsTable th:nth-child(1) { width:11%!important; }
#logsTable th:nth-child(2) { width:15%!important; }
#logsTable th:nth-child(3) { width:7%!important; }
#logsTable th:nth-child(4) { width:7%!important; }
#logsTable th:nth-child(5) { width:12%!important; }
#logsTable th:nth-child(6) { width:12%!important; }
#logsTable th:nth-child(7) { width:7%!important; }
#logsTable th:nth-child(8) { width:7%!important; }
#logsTable th:nth-child(9) { width:6%!important; }
#logsTable th:nth-child(10) { width:16%!important; }
#logsTable td:nth-child(3),#logsTable td:nth-child(4) { text-align:right; font-variant-numeric:tabular-nums; }
#logsTable td:nth-child(2)>.badge { display:block; margin-top:6px; }
#logsTable .fuel-row-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
#logsTable .fuel-row-actions .btn { margin:0!important; padding:6px 8px; white-space:nowrap; }
@media(max-width:1399px) { #logsTable { min-width:1300px; } }
#filtersForm { margin:0; display:grid; gap:14px; grid-template-columns:repeat(4,minmax(0,1fr)); }
#filtersForm>div { width:auto; min-width:0; padding:0; margin:0; }
#filtersForm>div:first-child { grid-column:1/-1; }
@media(min-width:1600px) { #filtersForm { grid-template-columns:repeat(7,minmax(0,1fr)); } }
.ui-sticky { position:static; backdrop-filter:none; }
.alert { line-height:1.6; padding:12px 14px; border-radius:9px; }
.alert-info { background:#223a53; color:#cee3ff; border-color:#527599; }
.alert-warning { background:#3d3524; color:#ffe0a4; border-color:#8a7343; }
.alert-success { background:#213f34; color:#c2ead9; border-color:#537e6b; }
.alert-danger { background:#462d33; color:#ffd0d6; border-color:#9c6673; }
.modal-body { max-height:calc(100dvh - 200px); overflow:auto; overflow-wrap:anywhere; }
.modal-body dt { color:#b9c7d8; font-weight:500; }
.modal-body dd { margin-bottom:12px; }
.dropdown-menu { --bs-dropdown-bg:#293340; --bs-dropdown-color:#e4e7eb; --bs-dropdown-link-color:#e4e7eb; --bs-dropdown-link-hover-bg:#3d5676; --bs-dropdown-link-hover-color:#fff; border-color:#697d98; box-shadow:0 8px 28px #0005; }
.bg-light { background:#272d34!important; }.bg-white { background:#202429!important; }.text-dark { color:#e4e7eb!important; }
.fuel-resolution-grid .card { height:100%; }
.fuel-resolution-grid .card-body>p { color:var(--fuel-muted); font-size:12px; }
.fuel-resolution-grid .card-header { align-items:center; gap:12px; }
.fuel-resolution-grid .resolution-form .col-lg-3 { width:40%; }
.fuel-resolution-grid .resolution-form .col-lg-9 { width:60%; }
.fuel-resolution-item[hidden] { display:none!important; }
.fuel-resolution-toolbar {
  position:sticky; top:12px; z-index:1010; display:grid;
  grid-template-columns:minmax(280px,680px) auto; align-items:end; gap:14px;
  margin:0 0 16px; padding:14px 16px; background:#202429f5;
  border:1px solid var(--bs-border-color); border-radius:12px; box-shadow:0 8px 24px #0004;
}
.fuel-resolution-toolbar .input-group>.form-control { min-width:0; }
.fuel-resolution-counter { color:var(--fuel-muted); font-variant-numeric:tabular-nums; white-space:nowrap; padding-bottom:8px; }
.fuel-resolution-plate { font-size:16px; letter-spacing:.25px; font-variant-numeric:tabular-nums; }
.fuel-resolution-suggestions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; min-height:22px; margin-top:8px; }
.fuel-resolution-match,.fuel-resolution-match-label { color:var(--fuel-muted); font-size:12px; line-height:1.45; }
.fuel-resolution-match-exact { color:#bdebd4; }
.fuel-resolution-suggestions .btn { padding:4px 8px; font-size:12px; }
.fuel-resolution-grid .select2-container { max-width:100%; }
.fuel-resolution-grid .select2-container--bootstrap-5 .select2-selection { min-height:40px; }
.fuel-resolution-grid .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered { padding-top:3px; }
.select2-container--open { z-index:1090; }
.select2-container--open .select2-dropdown { box-shadow:0 12px 30px #0008; }
.select2-container--open .select2-search__field { width:100%!important; padding:9px 11px!important; border-radius:7px; }
.select2-container--open .select2-results__options { max-height:260px!important; }
.fuel-card-list { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px; }
.fuel-card-list li { display:inline-flex; align-items:center; gap:6px; border:1px solid #4a596e; background:#293443; border-radius:8px; padding:3px 8px; font-variant-numeric:tabular-nums; }
.fuel-card-list .btn { padding:3px 6px; }
@media(min-width:1400px) { .fuel-resolution-grid>div { width:50%; } }
@media(max-width:1199px) { .fuel-filter-bar { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
  .fuel-resolution-grid .resolution-form .col-lg-3,.fuel-resolution-grid .resolution-form .col-lg-9 { width:100%; }
  .fuel-resolution-toolbar { position:static; grid-template-columns:minmax(0,1fr); }
  .fuel-resolution-counter { padding:0; }
  #filtersForm,.fuel-filter-bar,.fuel-filter-bar.fuel-filter-short,.fuel-filter-bar.fuel-filter-card-form,#importVehiclesForm { grid-template-columns:minmax(0,1fr); }
  .fuel-page-heading { align-items:flex-start; flex-direction:column; }
  .dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter { float:none; text-align:left; }
  .dataTables_wrapper input { min-width:0; max-width:100%; }
}
@media(max-width:991px) { .fuel-navigation .navbar-brand { margin:0; }.fuel-navigation .navbar-nav { padding-top:12px; } body>.container,body>.container-fluid { padding:16px; } }
