.gis-admin-transit-vehicles-page { word-break: keep-all; overflow-wrap: break-word; }
.gis-admin-transit-vehicles-page .gis-hero-title { display: grid; gap: var(--space-2); }
.gis-admin-transit-vehicles-page .gis-hero-title p { margin: 0; max-width: 70rem; }
.gis-vehicles-help { color: var(--muted-foreground); font-size: var(--fs-xs); }
.gis-vehicles-help summary { cursor: pointer; }
.gis-vehicles-help p { padding-block: var(--space-2); }
.gis-vehicles-shell, .gis-vehicles-add, .gis-vehicles-assignment-editor { min-width: 0; }
.gis-vehicles-shell { border: var(--space-px) solid var(--border); border-radius: var(--radius-lg); background: var(--card); overflow: hidden; }
.gis-vehicles-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-2); }
.gis-vehicles-shell > .gis-vehicles-toolbar { padding: var(--space-3); border-bottom: var(--space-px) solid var(--border); }
.gis-vehicles-toolbar .input-group { min-width: 10rem; flex: 1 1 11rem; }
.gis-vehicles-toolbar .btn { white-space: nowrap; }
.gis-vehicles-summary-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); padding: var(--space-2) var(--space-3); }
.gis-vehicles-summary { margin: 0; min-height: 1.5rem; }
.gis-vehicles-status-legend { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); font-size: var(--fs-xs); }
.gis-vehicles-status-legend > span { display: inline-flex; align-items: center; gap: var(--space-1); white-space: nowrap; }
.gis-vehicles-table-scroll { max-width: 100%; max-height: 60dvh; overflow: auto; }
.gis-vehicles-table thead th { position: sticky; top: 0; z-index: 1; background: var(--card); }
.gis-vehicles-pagination { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border-top: var(--space-px) solid var(--border); }
.gis-vehicles-pagination > div { display: flex; gap: var(--space-2); }
.gis-vehicles-table { min-width: 58rem; width: 100%; }
.gis-vehicles-table th, .gis-vehicles-table td { vertical-align: middle; }
.gis-vehicles-table th { white-space: nowrap; }
.gis-vehicle-owner { display: grid; gap: var(--space-0-5); min-width: 0; }
.gis-vehicle-owner-name { min-width: 0; }
.gis-vehicle-assignment { display: block; min-width: 0; max-width: 16rem; color: var(--muted-foreground); font-size: var(--fs-xs); }
.gis-vehicle-edit-reason { display: block; min-width: 0; max-width: 16rem; color: var(--muted-foreground); font-size: var(--fs-xs); line-height: var(--lh-xs); }
.gis-vehicle-assignment-edit { justify-self: start; }
.gis-vehicles-assignment-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--space-2); }
.gis-vehicles-assignment-head h2, .gis-vehicles-assignment-head p { margin: 0; }
.gis-vehicles-assignment-list { display: grid; gap: var(--space-2); padding: var(--space-3); }
.gis-vehicles-assignment-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-width: 0; }
.gis-vehicles-assignment-row .checkbox-label { display: flex; flex: 1 1 auto; align-items: center; gap: var(--space-2); min-width: 0; }
.gis-vehicles-assignment-row .checkbox-label input { flex: none; }
.gis-vehicles-assignment-row .select { width: 8rem; flex: none; }
.gis-vehicles-table .input, .gis-vehicles-table .select { width: 100%; min-width: 0; }
.gis-vehicles-table td:nth-child(2) { min-width: 8rem; }
.gis-vehicles-table td:nth-child(3) { min-width: 10rem; }
.gis-vehicles-table td:nth-child(4) { width: 5.5rem; }
.gis-vehicles-table td:nth-child(5) { min-width: 11rem; }
.gis-vehicles-table th:nth-child(6), .gis-vehicles-table td:nth-child(6) { width: 3.5rem; text-align: center; }
.gis-vehicles-table td:nth-child(7) { min-width: 13rem; }
.gis-vehicle-status-control { display: inline-grid; place-items: center; width: var(--control-h-s); height: var(--control-h-s); border: 0; border-radius: var(--radius-full); background: transparent; cursor: pointer; }
.gis-vehicle-status-control:hover { background: var(--muted); }
.gis-vehicle-status-control:focus-visible { outline: var(--space-0-5) solid var(--ring); outline-offset: var(--space-px); }
.gis-vehicle-status-control[aria-invalid="true"] { outline: var(--space-0-5) solid var(--destructive); }
.gis-vehicle-status-dot { display: inline-block; flex: none; width: var(--space-3); height: var(--space-3); border: var(--space-px) solid var(--border); border-radius: var(--radius-full); background: var(--success); }
.gis-vehicle-status-dot[data-status="planned"], .gis-vehicle-status-control[data-status="planned"] .gis-vehicle-status-dot { background: var(--warning); }
.gis-vehicle-status-dot[data-status="archived"], .gis-vehicle-status-control[data-status="archived"] .gis-vehicle-status-dot { background: var(--destructive); }
.gis-vehicle-status-popover[hidden], .gis-vehicle-status-sheet[hidden] { display: none; }
.gis-vehicle-status-popover { width: min(12rem, calc(100vw - var(--space-2) - var(--space-2))); }
.gis-vehicle-status-choice { width: 100%; min-height: var(--control-h-s); border-radius: var(--radius-sm); font-size: var(--fs-sm); cursor: pointer; }
.gis-vehicle-status-choice > span:first-child { display: inline-flex; align-items: center; gap: var(--space-2); }
.gis-vehicle-status-choice[aria-checked="true"] { background: color-mix(in srgb, var(--primary) 10%, var(--card)); font-weight: 600; }
.gis-vehicle-status-choice[aria-checked="false"] .gis-vehicle-status-check { visibility: hidden; }
.gis-vehicle-status-choice:focus-visible { outline: var(--space-0-5) solid var(--ring); outline-offset: calc(-1 * var(--space-px)); }
.gis-vehicle-status-sheet .hz-dialog-header h2 { margin: 0; font-size: var(--fs-h3); }
.gis-vehicle-status-sheet .hz-menu { border: 0; background: transparent; }
.gis-vehicles-table [data-save-state="saving"] { color: var(--muted-foreground); }
.gis-vehicles-table [data-save-state="error"] { color: var(--destructive); }
.gis-vehicles-table [aria-invalid="true"] { border-color: var(--destructive); }
.gis-vehicle-readonly-value { display: block; min-width: 0; padding-block: var(--space-2); font-variant-numeric: tabular-nums; }
.gis-vehicles-table td:nth-child(2) .gis-vehicle-readonly-value,
.gis-vehicles-table td:nth-child(4) .gis-vehicle-readonly-value,
.gis-vehicles-table td:nth-child(5) .gis-vehicle-readonly-value { max-width: 100%; overflow-x: auto; white-space: nowrap; }
.gis-vehicle-status-readonly { display: inline-flex; align-items: center; gap: var(--space-2); white-space: nowrap; }
.gis-vehicles-readonly .gis-vehicles-table { min-width: 39rem; }
.gis-vehicles-readonly .gis-vehicles-table th:nth-child(7),
.gis-vehicles-readonly .gis-vehicles-table td:nth-child(7),
.gis-vehicles-readonly .gis-vehicles-table th:nth-child(8),
.gis-vehicles-readonly .gis-vehicles-table td:nth-child(8) { display: none; }
.gis-portal-page .gis-vehicles-admin-link { display: none; }
.gis-vehicle-saved { margin-block: var(--space-3); padding: var(--space-3); background: var(--muted); border-radius: var(--radius-md); }
.gis-vehicle-saved > span { font-weight: var(--fw-medium); }
@media (max-width: 640px) {
  .gis-vehicles-readonly .gis-vehicles-table { min-width: 0; }
  .gis-vehicles-table-scroll { max-height: none; overflow-x: auto; }
  .gis-vehicles-assignment-row { align-items: stretch; flex-direction: column; gap: var(--space-1); }
  .gis-vehicles-assignment-row .select { width: 100%; }
  .gis-vehicles-table { min-width: 0; --gis-mobile-card-label-width: 6.5rem; }
  .gis-vehicles-table td { min-width: 0; }
  .gis-vehicles-table td::before { word-break: keep-all; white-space: nowrap; }
  .gis-vehicles-table td > .input, .gis-vehicles-table td > .gis-vehicle-readonly-value { flex: 1 1 auto; min-width: 0; }
  .gis-vehicle-owner-name, .gis-vehicle-assignment { white-space: normal; }
  .gis-vehicles-table td:nth-child(4), .gis-vehicles-table td:nth-child(6) { width: 100%; }
  .gis-vehicles-table td:nth-child(2), .gis-vehicles-table td:nth-child(3),
  .gis-vehicles-table td:nth-child(5), .gis-vehicles-table td:nth-child(7) { min-width: 0; }
  .gis-vehicles-table td:nth-child(6) { text-align: left; }
}
