/* Hadreen Fleet: scoped presentation, using the live Workspace theme. */
.fw { --fw-accent:#D49F36; --fw-ink:#061A3D; color:var(--text); min-width:0; font-size:14px; }
.fw *, .fw-dialog * { box-sizing:border-box; }
.fw :is(h1,h2,h3,p) { margin:0; }
.fw h1 { font-size:25px; font-weight:700; }
.fw h2 { font-size:23px; font-weight:650; }
.fw h3 { font-size:16px; font-weight:650; }
.fw small { display:block; color:var(--text2); font-size:12px; line-height:1.6; }
.fw :is(button,input,select),.fw-dialog :is(button,input,select) { font:inherit; }
.fw-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.fw-head small { margin-top:7px; }
.fw-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.fw-btn,.fw-link { cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:7px; text-align:start; }
.fw-btn { min-height:40px; padding:8px 12px; background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:7px; }
.fw-btn:hover { background:var(--surface2); }
.fw-btn.primary { background:var(--fw-accent); color:var(--fw-ink); border-color:var(--fw-accent); font-weight:650; }
.fw-link { border:0; background:none; color:var(--mint); padding:6px 0; }
.fw-link:hover { text-decoration:underline; }
.fw :is(button,input,select):focus-visible,.fw-dialog :is(button,input,select):focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.fw-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:14px 16px; border-bottom:1px solid var(--border); }
.fw input,.fw select { max-width:100%; min-height:40px; padding:8px 10px; border:1px solid var(--border); border-radius:6px; color:var(--text); background:var(--surface); }
.fw-filter { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.fw-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.fw-kpi { text-align:start; padding:18px; border:1px solid var(--border); border-radius:10px; color:var(--text); background:var(--surface); cursor:pointer; }
.fw-kpi h2 { margin:10px 0 5px; font-variant-numeric:tabular-nums; }
.fw-kpi:first-child { background:#0C2556; color:#fff; border-color:#0C2556; }
.fw-kpi:first-child small { color:#C9D6EC; }
.fw-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr); gap:18px; align-items:start; }
.fw-stack { display:grid; gap:18px; }
.fw-panel { min-width:0; background:var(--surface); border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.fw-panel-head { padding:17px; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; border-bottom:1px solid var(--border); }
.fw-pad { padding:18px; }
.fw-note { display:flex; align-items:flex-start; gap:9px; padding:12px 15px; margin:0 0 18px; border:1px solid var(--border); border-radius:7px; background:var(--hx-warning-bg,var(--surface2)); color:var(--text); font-size:13px; }
.fw-row { padding:15px 17px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.fw-row:last-child { border:0; }
.fw-row small { margin-top:5px; }
.fw-row .fw-link { flex-shrink:0; }
.fw-scroll { overflow:auto; max-width:100%; }
.fw table { width:100%; border-collapse:collapse; text-align:start; }
.fw th { text-align:start; background:var(--surface2); color:var(--text2); font-size:12px; padding:12px 14px; white-space:nowrap; font-weight:600; }
.fw td { padding:14px; border-top:1px solid var(--border); vertical-align:middle; }
.fw tbody tr:hover { background:var(--surface2); }
.fw-num { text-align:end!important; font-variant-numeric:tabular-nums; white-space:nowrap; }
.fw-vehicle { display:flex; align-items:center; gap:10px; min-width:165px; }
.fw-icon { display:grid; place-items:center; width:36px; height:36px; flex-shrink:0; color:var(--mint); background:var(--hx-tint,var(--surface2)); border-radius:8px; }
.fw-badge { display:inline-block; padding:4px 7px; border-radius:5px; font-size:12px; background:var(--surface2); color:var(--text2); }
.fw-badge.ready,.fw-badge.valid { color:var(--green); background:var(--hx-success-bg,var(--surface2)); }
.fw-badge.expired,.fw-badge.overdue { color:var(--coral); background:var(--hx-danger-bg,var(--surface2)); }
.fw-badge.missing,.fw-badge.expiring_soon,.fw-badge.due_soon,.fw-badge.due_today { color:var(--gold); background:var(--hx-warning-bg,var(--surface2)); }
.fw-badge.blocked { color:var(--text2); background:var(--surface2); }
.fw-line { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:14px 0; }
.fw-line span { display:flex; align-items:center; gap:8px; }
.fw-dot { display:inline-block; width:9px; height:9px; border-radius:2px; flex-shrink:0; }
.fw-bar { display:flex; height:12px; border-radius:4px; overflow:hidden; margin:18px 0; }
.fw-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.fw-details small { margin-bottom:6px; }
.fw-subnav { display:flex; flex-wrap:wrap; gap:7px; margin:18px 0; }
.fw-subnav [aria-pressed="true"] { color:var(--mint); background:var(--hx-tint,var(--surface2)); border-color:var(--mint); }
.fw-reports { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.fw-report { display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:20px; }
.fw-report .fw-link { margin-top:auto; }
.fw-empty { text-align:center; padding:32px 18px; color:var(--text2); }
.fw-footer { margin-top:18px; color:var(--text2); font-size:12px; }
.fw-dialog { width:min(580px,calc(100vw - 28px)); max-height:90dvh; overflow:auto; padding:0; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--text); font:14px var(--hx-font,sans-serif); }
.fw-dialog::backdrop { background:#061A3D88; }
.fw-dialog header { display:flex; align-items:center; justify-content:space-between; padding:18px; border-bottom:1px solid var(--border); gap:12px; }
.fw-dialog h2 { margin:0; font-size:19px; }
.fw-dialog form { padding:20px; display:grid; gap:16px; }
.fw-dialog label { display:grid; gap:7px; }
.fw-dialog input,.fw-dialog select { min-height:42px; padding:10px; color:var(--text); background:var(--surface2); border:1px solid var(--border); border-radius:6px; min-width:0; width:100%; }
.fw-dialog p { margin:0; color:var(--text2); line-height:1.6; }
.fw-dialog .fw-error { color:var(--coral); }
.fw-dialog .primary { background:#D49F36; color:#061A3D; }
.fw-status { margin-top:12px; color:var(--green); }
@media(max-width:1000px) { .fw-grid { grid-template-columns:1fr; } .fw-kpis,.fw-reports { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:550px) { .fw h1 { font-size:22px; } .fw h2 { font-size:20px; } .fw-kpi { padding:12px; } .fw-details,.fw-reports { grid-template-columns:1fr; } .fw-row { flex-wrap:wrap; } .fw-toolbar>label,.fw-toolbar>input { width:100%; } .fw :is(input,select),.fw-dialog :is(input,select) { font-size:16px; } .fw :is(button,select),.fw-dialog button { min-height:44px; } }
/* Keep every native header control reachable on the narrowest Fleet screens. */
@media(max-width:380px) {
  html:has(.page.active .fw) .hx-latest-header { flex-wrap:wrap; height:auto; padding-block:8px; }
  html:has(.page.active .fw) .hx-latest-header .topbar-right { flex-basis:100%; width:100%; min-width:0; justify-content:space-between; }
}
