.fleet-page { display:grid; gap:18px; }
.fleet-page button,.fleet-modal-content button { width:auto; margin-top:0; }
.fleet-header,.fleet-section-heading,.fleet-date-toolbar,.fleet-list-toolbar,.fleet-master-row,.fleet-card-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.fleet-header h2,.fleet-section-heading h3,.fleet-modal-heading h2 { margin:4px 0 0; }
.fleet-header-actions,.fleet-form-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.fleet-tabs { display:flex; gap:8px; overflow-x:auto; padding:5px; border:1px solid #e2e6dc; border-radius:16px; background:rgba(255,255,255,.7); scrollbar-width:thin; }
.fleet-tabs button { flex:0 0 auto; padding:10px 14px; border-radius:12px; background:transparent!important; color:var(--text)!important; box-shadow:none; }
.fleet-tabs button.active { background:#25311f!important; color:#fff!important; }
.fleet-message { min-height:0; margin:0; }
.fleet-message:empty { display:none; }
.fleet-message[data-tone="success"] { color:#26733a; }
.fleet-message[data-tone="danger"] { color:#b42318; }
.fleet-loading,.fleet-empty { display:flex; min-height:160px; align-items:center; justify-content:center; flex-direction:column; gap:8px; color:var(--muted); text-align:center; }
.fleet-dashboard-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:18px; }
.fleet-summary,.fleet-section-heading>div { min-width:0; }
.fleet-section-heading span,.fleet-master-row span,.fleet-tour-identity>span,.fleet-assignment>span,.fleet-inline-field>span,.fleet-detail-grid>section>span,.fleet-detail-facts span { display:block; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.fleet-metrics { display:grid; grid-template-columns:repeat(5,minmax(100px,1fr)); gap:10px; margin-top:22px; }
.fleet-metrics-compact { grid-template-columns:repeat(2,minmax(110px,1fr)); }
.fleet-metric { display:flex; min-width:0; flex-direction:column; gap:5px; padding:14px; border:1px solid #e4e7df; border-radius:14px; background:#fff; color:var(--text); }
.fleet-metric strong { font-size:24px; }
.fleet-metric span { color:var(--muted); font-size:13px; }
.fleet-metric.success { border-color:#b9ddbf; background:#f3faf4; }
.fleet-metric.warning { border-color:#eed58c; background:#fffaf0; }
.fleet-metric.danger { border-color:#efb7b1; background:#fff5f4; color:var(--text); }
.fleet-alert-panel { padding-top:20px; }
.fleet-alert-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:16px; }
.fleet-alert-list button { display:flex; width:100%; align-items:flex-start; flex-direction:column; gap:4px; padding:14px; text-align:left; border:1px solid #ead9a7; background:#fffaf0!important; color:var(--text)!important; box-shadow:none; }
.fleet-alert-list span { color:var(--muted); font-size:13px; }
.fleet-empty-inline { display:block; padding:16px; color:var(--muted); }
.fleet-date-toolbar,.fleet-list-toolbar { flex-wrap:wrap; padding:16px 18px; }
.fleet-date-toolbar label,.fleet-list-toolbar label { display:flex; align-items:center; gap:8px; margin:0; }
.fleet-date-toolbar label span { color:var(--muted); font-size:13px; }
.fleet-date-toolbar input[type="search"] { flex:1 1 300px; min-height:42px; height:42px; }
.fleet-list-toolbar>input[type="search"] { flex:1 1 360px; }
.fleet-date-toolbar strong { min-width:210px; text-align:center; }
.fleet-dispatch-list { display:grid; gap:10px; }
.fleet-dispatch-card { position:relative; display:grid; grid-template-columns:minmax(125px,.7fr) minmax(180px,1fr) minmax(170px,.9fr) minmax(140px,.8fr) minmax(180px,1.2fr) auto; align-items:end; gap:12px; padding:16px 18px; border-left:5px solid #88b88e; border-radius:16px; background:var(--card); color:var(--text); }
.fleet-dispatch-card.warning { border-left-color:#d3a62a; background:var(--card); color:var(--text); }
.fleet-dispatch-card.danger { border-left-color:#d66055; background:var(--card); color:var(--text); }
.fleet-dispatch-card.muted { border-left-color:#a8aca5; opacity:.72; }
.fleet-tour-identity,.fleet-assignment,.fleet-inline-field { min-width:0; }
.fleet-tour-identity strong { display:block; margin:4px 0; font-size:20px; }
.fleet-tour-identity small,.fleet-assignment small { display:block; overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.fleet-assignment-button { display:flex; width:100%!important; min-height:55px; align-items:flex-start; justify-content:center; flex-direction:column; gap:3px; margin:4px 0 0!important; padding:8px 10px; text-align:left; border:1px solid #dfe4d8; border-radius:10px; background:#fff!important; color:var(--text)!important; box-shadow:none; }
.fleet-assignment-button:hover { border-color:var(--primary); background:#f8faf3!important; }
.fleet-assignment-button.missing { border-color:#e7aaa4; background:#fff4f3!important; }
.fleet-inline-field { display:grid; gap:4px; margin:0; }
.fleet-inline-field input { min-width:0; width:100%; padding:9px 10px; }
.fleet-card-actions { align-items:flex-end; flex-direction:column; }
.fleet-status-pill { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:6px 9px; border-radius:999px; background:#eef2eb; color:#526050; font-size:12px; font-weight:700; }
.fleet-status-pill.success { background:#e6f5e9; color:#25703a; }
.fleet-status-pill.warning { background:#fff2cc; color:#775b0a; }
.fleet-status-pill.danger { background:#fde5e2; color:#a8352c; }
.fleet-status-pill.muted { background:#eceeeb; color:#666; }
.fleet-week-wrap { padding:0; overflow:auto; border-radius:18px; }
.fleet-week-table { width:100%; min-width:980px; border-collapse:separate; border-spacing:0; }
.fleet-week-table th,.fleet-week-table td { padding:10px; border-right:1px solid #e5e8e1; border-bottom:1px solid #e5e8e1; vertical-align:top; }
.fleet-week-table thead th { position:sticky; top:0; z-index:1; background:#263021; color:#fff; }
.fleet-week-table tbody th { width:170px; background:#f8f9f6; text-align:left; }
.fleet-week-table tbody th strong,.fleet-week-table tbody th span { display:block; }
.fleet-week-table tbody th span { margin-top:4px; color:var(--muted); font-size:12px; font-weight:400; }
.fleet-week-table td { padding:0; }
.fleet-week-table td button { display:flex; width:100%!important; min-height:84px; align-items:flex-start; flex-direction:column; gap:4px; padding:10px; text-align:left; border:0; border-radius:0; background:transparent!important; color:var(--text)!important; box-shadow:none; }
.fleet-week-table td span,.fleet-week-table td small { color:var(--muted); font-size:12px; }
.fleet-week-table td.success { background:#f0f8f1; }
.fleet-week-table td.warning { background:#fff9e9; }
.fleet-week-table td.danger { background:#fff1ef; color:var(--text); }
.fleet-master-list { display:grid; gap:10px; }
.fleet-master-row { padding:16px 18px; border-radius:16px; }
.fleet-master-row>div,.fleet-row-main { display:flex; min-width:170px; align-items:flex-start; flex:1; flex-direction:column; gap:4px; }
.fleet-master-row strong { overflow-wrap:anywhere; }
.fleet-master-row small { color:var(--muted); }
.fleet-master-row.inactive,.fleet-vehicle-card.inactive { opacity:.62; }
.fleet-row-main { width:100%!important; padding:0; text-align:left; background:transparent!important; color:var(--text)!important; box-shadow:none; }
.fleet-vehicle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.fleet-vehicle-card { display:flex; min-width:0; align-items:stretch; flex-direction:column; gap:10px; padding:16px; border-radius:17px; }
.fleet-vehicle-card>button:first-child { display:flex; width:100%!important; align-items:flex-start; flex:1; flex-direction:column; gap:8px; padding:0; text-align:left; background:transparent!important; color:var(--text)!important; box-shadow:none; }
.fleet-vehicle-card>button:first-child>strong { font-size:21px; }
.fleet-vehicle-card>button:first-child>small { color:var(--muted); }
.fleet-vehicle-card>button:first-child>div { display:flex; width:100%; justify-content:space-between; gap:8px; padding-top:8px; border-top:1px solid #e8ebe4; color:var(--muted); font-size:13px; }
.fleet-modal-content { width:min(900px,calc(100vw - 28px)); max-height:92vh; overflow:auto; }
.fleet-modal-heading { padding-right:42px; }
.fleet-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.fleet-form label { display:grid; align-content:start; gap:6px; margin:0; }
.fleet-form label small { color:var(--muted); font-weight:400; }
.fleet-form .wide,.fleet-form-actions { grid-column:1/-1; }
.fleet-form textarea { min-height:92px; }
.fleet-form select[multiple] { min-height:150px; }
.fleet-form .fleet-check { display:flex; align-items:center; grid-column:1/-1; grid-template-columns:auto 1fr; }
.fleet-picker h3 { margin:18px 0 8px; }
.fleet-picker-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.fleet-picker-option,.fleet-picker-clear { display:flex; width:100%; align-items:flex-start; flex-direction:column; gap:4px; padding:12px; text-align:left; border:1px solid #dde2d7; background:#fff!important; color:var(--text)!important; box-shadow:none; }
.fleet-picker-option span { color:var(--muted); font-size:13px; }
.fleet-picker-option:hover,.fleet-picker-option.selected { border-color:var(--primary); background:#f4f8ed!important; }
.fleet-picker-list.recommended .fleet-picker-option { border-color:#bad58f; }
.fleet-picker-clear { border-color:#edc5c1; color:#a33b33!important; }
.fleet-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.fleet-detail-grid>section:first-child { grid-column:1/-1; }
.fleet-detail-list,.fleet-timeline { display:grid; gap:8px; margin-top:10px; }
.fleet-detail-entry { display:flex; flex-direction:column; gap:4px; padding:11px 12px; border:1px solid #e5e8e1; border-radius:11px; background:#fff; }
.fleet-detail-entry small { color:var(--muted); }
.fleet-detail-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:20px; }
.fleet-detail-facts>div { display:flex; flex-direction:column; gap:5px; padding:12px; border:1px solid #e5e8e1; border-radius:12px; }
.fleet-history { padding:20px; }
.fleet-timeline article { position:relative; display:flex; flex-direction:column; gap:4px; padding:13px 14px 13px 22px; border-left:2px solid #bac9ad; border-radius:0 12px 12px 0; background:#fff; }
.fleet-timeline article::before { position:absolute; top:18px; left:-6px; width:10px; height:10px; border-radius:50%; background:var(--primary); content:""; }
.fleet-timeline time,.fleet-timeline span { color:var(--muted); font-size:13px; }
.fleet-import { display:grid; gap:16px; }
.fleet-import form { display:flex; align-items:end; gap:12px; }
.fleet-import-drop { display:grid; flex:1; gap:6px; padding:16px; border:1px dashed #9daf8d; border-radius:14px; background:#f8faf5; }
.fleet-import-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.fleet-import-issues { display:grid; max-height:300px; gap:7px; overflow:auto; }
.fleet-import-issues>div { padding:10px 12px; border-left:3px solid #d2a32a; background:#fff9e8; }
.fleet-import-issues>div.error { border-left-color:#cf564c; background:#fff1ef; }
.fleet-import-issues span { margin-left:8px; color:var(--muted); font-size:12px; }
.fleet-import-issues p { margin:4px 0 0; }

@media (max-width:1250px) {
  .fleet-dashboard-grid { grid-template-columns:1fr; }
  .fleet-dispatch-card { grid-template-columns:120px 1fr 1fr; }
  .fleet-inline-field,.fleet-card-actions { grid-column:auto; }
  .fleet-notes { grid-column:2/4; }
  .fleet-card-actions { grid-column:1/-1; align-items:center; flex-direction:row; }
  .fleet-vehicle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px) {
  .fleet-header,.fleet-section-heading,.fleet-master-row { align-items:stretch; flex-direction:column; }
  .fleet-header-actions>* { flex:1; }
  .fleet-tabs { margin-inline:-6px; }
  .fleet-metrics,.fleet-metrics-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fleet-alert-list,.fleet-picker-list,.fleet-detail-grid,.fleet-detail-facts,.fleet-form,.fleet-vehicle-grid { grid-template-columns:1fr; }
  .fleet-dispatch-card { grid-template-columns:1fr; padding:16px; }
  .fleet-notes,.fleet-card-actions,.fleet-form .wide,.fleet-form-actions,.fleet-detail-grid>section:first-child { grid-column:auto; }
  .fleet-card-actions { justify-content:space-between; }
  .fleet-date-toolbar { align-items:stretch; flex-direction:column; }
  .fleet-date-toolbar input[type="search"] { flex:0 0 auto; width:100%; min-height:44px; height:44px; }
  .fleet-date-toolbar strong { min-width:0; text-align:left; }
  .fleet-master-row>div,.fleet-row-main { min-width:0; }
  .fleet-import form { align-items:stretch; flex-direction:column; }
  .fleet-import-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fleet-modal-content { padding:20px; }
  .fleet-week-wrap { margin-inline:-4px; }
}


/* RUESS Hub UI Pass 8 · Fleet search feedback */
.fleet-empty strong,.fleet-empty span{display:block;}
.fleet-empty span{margin-top:6px;color:var(--muted);}

/* RUESS Hub UI71 · search and absence toolbar */
.fleet-master-row[hidden],
.fleet-tour-row[hidden],
.fleet-driver-row[hidden],
.fleet-vehicle-card[hidden],
.fleet-absence-row[hidden] { display:none !important; }
.fleet-absence-toolbar { display:grid; grid-template-columns:minmax(260px,1fr) auto auto auto auto; gap:10px; align-items:end; }
.fleet-absence-toolbar > input[type="search"] { min-height:44px; }
.fleet-absence-toolbar label { margin:0; }
@media (max-width: 980px){ .fleet-absence-toolbar { grid-template-columns:1fr 1fr; } .fleet-absence-toolbar > input[type="search"] { grid-column:1/-1; } }
@media (max-width: 620px){ .fleet-absence-toolbar { grid-template-columns:1fr; } .fleet-absence-toolbar > input[type="search"] { grid-column:auto; } }
