#fleetRoot { --fleet-line: var(--line, #d7dce3); display: grid; gap: 18px; }
.fleet-heading,.fleet-toolbar,.fleet-actions,.fleet-tabs { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.fleet-heading { justify-content:space-between; }
.fleet-heading h2 { margin:0 0 5px; font-size:24px; }
.fleet-muted { opacity:.72; font-size:13px; }
#fleetRoot button,.fleet-link { border:1px solid var(--fleet-line); background:var(--panel, #fff); color:inherit; padding:9px 13px; border-radius:8px; cursor:pointer; font:inherit; font-size:13px; }
#fleetRoot button:hover { border-color:#087f63; }
#fleetRoot button:disabled { opacity:.5; cursor:wait; }
#fleetRoot .fleet-primary,#fleetRoot .fleet-tabs button[aria-selected=true] { background:#087f63; color:white; border-color:#087f63; }
.fleet-panel { padding:20px; border:1px solid var(--fleet-line); border-radius:12px; background:var(--panel, #fff); min-width:0; }
.fleet-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:12px; }
.fleet-metric { border:1px solid var(--fleet-line); padding:16px; border-radius:12px; }
.fleet-metric strong { display:block; margin-top:8px; font-size:23px; }
.fleet-toolbar label,.fleet-form label { display:grid; gap:6px; font-size:13px; }
.fleet-toolbar input,.fleet-toolbar select,.fleet-form input,.fleet-form select,.fleet-form textarea { background:var(--panel, #fff); color:inherit; border:1px solid var(--fleet-line); border-radius:7px; min-height:40px; padding:9px; width:100%; font:inherit; }
.fleet-toolbar label:first-child { flex:1; min-width:180px; }
.fleet-table-wrap { overflow:auto; }
.fleet-table { border-collapse:collapse; width:100%; font-size:13px; }
.fleet-table th,.fleet-table td { text-align:left; padding:12px 10px; border-bottom:1px solid var(--fleet-line); vertical-align:top; }
.fleet-table th { font-size:12px; opacity:.7; }
.fleet-badge { display:inline-block; padding:5px 9px; border-radius:20px; font-size:12px; background:#eee7fa; color:#54278e; white-space:nowrap; }
.fleet-badge[data-status="Disponível"] { background:#d9f3e5; color:#14643b; }
.fleet-badge[data-status="Indisponível"],.fleet-alert[data-urgent=true] { background:#fff0ec; color:#8f2917; }
.fleet-alert { padding:10px 12px; border-radius:8px; margin:7px 0; background:#fff6da; color:#735516; }
.fleet-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.fleet-form h3,.fleet-form fieldset,.fleet-form .fleet-wide,.fleet-form .fleet-actions { grid-column:1/-1; }
.fleet-form h3 { margin:10px 0 0; }
.fleet-form fieldset { border:1px solid var(--fleet-line); border-radius:8px; padding:12px; }
.fleet-check { display:grid; grid-template-columns:minmax(140px,1fr) 150px 2fr; align-items:center; gap:10px; margin:9px 0; }
.fleet-form input[type=checkbox] { width:20px; min-height:20px; }
.fleet-error { padding:12px; background:#fff0ec; color:#8f2917; border-radius:8px; }
.fleet-empty { padding:36px 14px; text-align:center; opacity:.7; }
.fleet-details { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; }
.fleet-details dt { font-size:12px; opacity:.7; }.fleet-details dd { margin:4px 0 10px; white-space:pre-wrap; overflow-wrap:anywhere; }
.fleet-audit { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; max-height:350px; overflow:auto; }
@media(max-width:650px) { .fleet-form { grid-template-columns:1fr; }.fleet-check { grid-template-columns:1fr; }.fleet-panel { padding:13px; }.fleet-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media print { body.fleet-print * { visibility:hidden; } body.fleet-print #fleetRoot,body.fleet-print #fleetRoot * { visibility:visible; } body.fleet-print #fleetRoot { position:absolute; left:0; top:0; width:100%; color:#111; background:#fff; } body.fleet-print .fleet-no-print { display:none!important; } body.fleet-print .fleet-table-wrap { overflow:visible; } body.fleet-print .fleet-panel { break-inside:avoid; } }

.fleet-vehicle { display:flex; align-items:center; gap:16px; min-width:290px; }
.fleet-vehicle > div:last-child { display:grid; gap:6px; }
.fleet-plate { font-size:15px; letter-spacing:.04em; }
.fleet-photo { position:relative; width:136px; height:92px; flex:0 0 136px; border:1px solid var(--fleet-line); border-radius:9px; overflow:hidden; background:#f2f3f5; }
.fleet-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.fleet-photo-label { position:absolute; bottom:3px; left:4px; padding:2px 5px; border-radius:4px; background:#fff; color:#4b5563; font-size:10px; }
.fleet-photo-empty { display:grid; place-items:center; height:100%; color:#68717e; font-size:12px; }
.fleet-photo-detail { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin:10px 0; }
.fleet-photo-detail .fleet-photo { width:260px; height:176px; flex-basis:260px; max-width:100%; }
