/* Read-only courier fleet directory: bounded cards and no horizontal page overflow. */
.fleet-directory { display:grid; gap:16px; min-width:0; }
.fleet-directory-header { padding:24px; }
.fleet-directory-title-row { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.fleet-directory h1 { margin:0; color:#0f172a; font-size:28px; line-height:1.25; scroll-margin-top:110px; }
.fleet-directory-lead { margin:8px 0 0; color:#64748b; font-size:15px; line-height:1.5; }
.fleet-directory-filters { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto; gap:14px; align-items:end; margin:20px 0 14px; }
.fleet-directory-filters>div { min-width:0; }
.fleet-directory .input,.fleet-directory .select { width:100%; min-width:0; max-width:100%; min-height:48px; font-size:16px; }
.fleet-directory .btn { min-height:48px; max-width:100%; }
.fleet-directory-note { padding:12px 14px; margin:0; border-radius:12px; background:#f1f5f9; color:#475569; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.fleet-directory-sync { margin:10px 0 0; min-height:20px; color:#64748b; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.fleet-directory-count { margin:0 0 12px; color:#475569; font-size:14px; font-weight:700; line-height:1.5; }
.fleet-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.fleet-directory-car { display:flex; flex-direction:column; min-width:0; padding:20px; border:1px solid #dce4ef; border-radius:20px; background:#fff; box-shadow:0 3px 12px rgba(15,23,42,.035); overflow-wrap:anywhere; }
.fleet-directory-car-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:20px; }
.fleet-directory-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:14px; background:#f1f5f9; font-size:24px; flex:none; }
.fleet-directory-badge { padding:7px 10px; font-size:12px; font-weight:700; line-height:1.4; border-radius:10px; background:#f1f5f9; color:#475569; }
.fleet-directory-badge-active { background:#ecfdf5; color:#166534; }
.fleet-directory-badge-service,.fleet-directory-badge-unavailable { background:#fff7ed; color:#9a3412; }
.fleet-directory-badge-upcoming { background:#eff6ff; color:#1d4ed8; }
.fleet-directory-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#64748b; }
.fleet-directory-plate { margin:7px 0; font-size:25px; font-weight:800; letter-spacing:.03em; line-height:1.25; color:#0f172a; }
.fleet-directory-name { margin:0 0 20px; color:#475569; font-size:15px; line-height:1.5; }
.fleet-directory-location { display:flex; align-items:center; gap:8px; padding-top:14px; border-top:1px solid #edf1f7; margin-top:auto; color:#475569; font-size:13px; line-height:1.5; }
.fleet-directory-empty { padding:28px 20px; border:1px dashed #cbd5e1; border-radius:18px; background:#fff; font-size:15px; line-height:1.6; color:#475569; }
.fleet-directory-pager { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; }
.fleet-directory-pager span { font-size:13px; color:#475569; }
[data-fleet-results] { min-width:0; scroll-margin-top:100px; }
.fleet-directory :is(button,input,select):focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
@media(min-width:1101px) { .public-mode-tabs { grid-template-columns:repeat(9,minmax(0,1fr))!important; } }
@media(max-width:1100px) { .fleet-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
  .fleet-directory-header { padding:18px; }
  .fleet-directory-title-row { gap:12px; }
  .fleet-directory h1 { font-size:24px; scroll-margin-top:85px; }
  .fleet-directory-filters { grid-template-columns:minmax(0,1fr); gap:14px; }
  .fleet-directory-filters>.btn { justify-self:stretch; }
  .fleet-directory-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .fleet-directory-car { padding:18px; box-shadow:none; }
  .fleet-directory-plate { font-size:25px; }
  .fleet-directory-note { padding:12px; }
}
@media(max-width:380px) {
  .fleet-directory-header { padding:14px; }
  .fleet-directory-car { padding:16px; }
  .fleet-directory-pager { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .fleet-directory-pager span { grid-row:1; grid-column:1/-1; text-align:center; }
}

/* v18.6: current-day use is distinct from the lifecycle/service status. */
.fleet-directory-badge-occupied { background:#fee2e2; color:#991b1b; }
.fleet-directory-car-occupied { border-color:#f0b7b7; background:#fffafa; }
.fleet-directory-car-occupied .fleet-directory-plate { color:#991b1b; }
.fleet-directory-condition { margin:-8px 0 16px; padding:8px 10px; border-radius:10px; color:#9a3412; background:#fff7ed; font-size:13px; font-weight:700; line-height:1.5; }

/* v18.7: distinguish data refresh from full frontend recovery. */
.fleet-directory-actions { display:flex; gap:8px; flex-wrap:wrap; }
.fleet-release-notice { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:16px 24px; background:#fff7ed; border-bottom:2px solid #fdba74; color:#7c2d12; position:relative; z-index:1500; font:14px/1.6 system-ui,sans-serif; }
.fleet-release-notice p { margin:0; flex:1 1 300px; overflow-wrap:anywhere; }
.fleet-release-notice button { min-height:44px; flex:none; }
@media(max-width:760px) { .fleet-directory-actions { display:grid; grid-template-columns:1fr; width:100%; } .fleet-directory-actions .btn { width:100%; } .fleet-release-notice { padding:14px 16px; gap:12px; } .fleet-release-notice button { width:100%; } }
