/* Fleet Admin roster polish — Trucks and Trailers only.
 * Keep all 14 columns, 5px/8px cells, persisted widths, resize handles,
 * sorting, filtering and active/archived behavior owned by the existing UI.
 * In particular, row backgrounds, first-cell status rails, inline status
 * colors and FA_TEXT_RING are not replaced by this visual layer.
 */

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers) {
  --fa-roster-surface: var(--fa-pol-surface, var(--bg2, #141414));
  --fa-roster-inset: var(--fa-pol-inset, var(--bg3, #1a1a1a));
  --fa-roster-border: var(--fa-pol-border, var(--border2, #353535));
  --fa-roster-border-strong: var(--fa-pol-border-strong, var(--border2, #454545));
  --fa-roster-text: var(--fa-pol-text, var(--text, #f8f9fa));
  --fa-roster-muted: var(--fa-pol-muted, var(--text2, #d7d9dc));
  --fa-roster-accent: var(--fa-pol-accent, var(--gold, var(--accent, #f5a800)));
}

/* Header boundaries use inset paint, so saved column widths and the
 * existing resize hit areas retain their exact geometry. The sort code
 * continues to own each header's active/inactive text color. */
#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers) thead th {
  background-color: var(--fa-roster-inset);
  box-shadow: inset 0 -1px 0 var(--fa-roster-border-strong);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers) thead th:not(:last-child) {
  box-shadow: inset -1px 0 0 var(--fa-roster-border),
    inset 0 -1px 0 var(--fa-roster-border-strong);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(th[data-fa-trucks-sort], th[data-fa-trailers-sort]):hover {
  background-color: color-mix(in srgb, var(--fa-roster-inset) 94%, var(--fa-roster-text));
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers) .fa-sort-arrow {
  color: var(--fa-roster-accent);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers) .col-resize-handle:hover {
  background-image: linear-gradient(to right,
    transparent calc(50% - .5px),
    var(--fa-roster-accent) calc(50% - .5px),
    var(--fa-roster-accent) calc(50% + .5px),
    transparent calc(50% + .5px));
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  tbody > :is(tr[data-fa-truck-row], tr[data-fa-trailer-row]) {
  border-bottom-color: var(--fa-roster-border) !important;
}

/* The global table hover can be an opaque light-theme tint. A transparent
 * wash leaves the roster's existing urgency/archived row tint visible. */
#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  tbody > :is(tr[data-fa-truck-row], tr[data-fa-trailer-row]):hover > td {
  background-color: color-mix(in srgb, var(--fa-roster-accent) 5%, transparent);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  tbody > tr > :is(td[data-fa-truck-cell="truck_number"], td[data-fa-trailer-cell="trailer_number"]):hover {
  color: var(--fa-roster-accent);
}

/* Selection is marked at the checkbox edge, leaving the first-cell rail
 * available exclusively for unit status. Native checked state remains
 * usable in browsers without :has support. */
#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  tbody > tr:has(input[data-fa-rowcheck]:checked) > .fa-select-cell {
  box-shadow: inset -3px 0 0 var(--fa-roster-accent);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(.fa-select-cell, .fa-select-th) input[type="checkbox"] {
  accent-color: var(--gold, var(--accent, #f5a800));
}

/* Only the two roster search fields and known secondary toolbar actions
 * override their legacy inline colors. Filled Add buttons stay primary. */
#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(#fleetadm-trucks-search, #fleetadm-trailers-search) {
  background-color: var(--fa-roster-surface) !important;
  border-color: var(--fa-roster-border-strong) !important;
  color: var(--fa-roster-text) !important;
  box-shadow: inset 0 1px 2px rgb(0 0 0 / 5%);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(#fleetadm-trucks-search, #fleetadm-trailers-search)::placeholder {
  color: var(--fa-roster-muted);
  opacity: 1;
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(.emr-hbtn:not(.primary):not(.active),
    #fleetadm-bulk-maint-trailers-btn,
    #fleetadm-maint-registry-trailers-btn,
    button[onclick="faExportRoster('trailers')"]) {
  background-color: var(--fa-roster-surface) !important;
  border-color: var(--fa-roster-border-strong) !important;
  color: var(--fa-roster-muted) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--fa-roster-text) 4%, transparent);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(.emr-hbtn:not(.primary):not(.active),
    #fleetadm-bulk-maint-trailers-btn,
    #fleetadm-maint-registry-trailers-btn,
    button[onclick="faExportRoster('trailers')"]):not(:disabled):not([aria-disabled="true"]):hover {
  background-color: var(--fa-roster-inset) !important;
  border-color: var(--fa-roster-accent) !important;
  color: var(--fa-roster-text) !important;
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  .fa-trucks-viewchip:not(.active) {
  border-color: var(--fa-roster-border-strong);
  color: var(--fa-roster-muted);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  .fa-trucks-viewchip:not(.active):not(:disabled):hover {
  background-color: var(--fa-roster-inset);
  color: var(--fa-roster-text);
}

/* Keep the existing gold active view, green requested/unarchive state,
 * and red destructive confirmations. Only ordinary row actions get the
 * neutral treatment. Their sizing is still defined by the original CSS. */
#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(.fa-row-act-btn[data-fa-maint-report],
    .fa-row-act-btn[data-fa-bulk-arch],
    .fa-row-act-btn.is-dot:not(.is-requested)) {
  border-color: var(--fa-roster-border-strong);
  color: var(--fa-roster-muted);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(.fa-row-act-btn[data-fa-maint-report],
    .fa-row-act-btn[data-fa-bulk-arch],
    .fa-row-act-btn.is-dot:not(.is-requested)):not(:disabled):not([aria-disabled="true"]):hover {
  border-color: var(--fa-roster-accent);
  color: var(--fa-roster-accent);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers) .fa-bulk-bar {
  background-color: var(--fa-roster-surface);
  border-color: var(--fa-roster-accent);
  color: var(--fa-roster-text);
  box-shadow: 0 2px 8px rgb(0 0 0 / 10%);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(.fa-bulk-count, .fa-bulk-count strong) {
  color: var(--fa-roster-accent);
}

/* Clearing a selection or cancelling a confirmation is neutral; preserve
 * the renderer's red Delete/Confirm buttons by matching safe actions only. */
#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(.fa-bulk-btn[data-fa-bulk-action^="reqdot|"],
    .fa-bulk-btn[data-fa-bulk-action^="archive|"],
    .fa-bulk-btn.is-clear) {
  background-color: var(--fa-roster-inset);
  border-color: var(--fa-roster-border-strong);
  color: var(--fa-roster-muted);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(.fa-bulk-btn[data-fa-bulk-action^="reqdot|"],
    .fa-bulk-btn[data-fa-bulk-action^="archive|"],
    .fa-bulk-btn.is-clear):not(:disabled):not([aria-disabled="true"]):hover {
  background-color: var(--fa-roster-surface);
  border-color: var(--fa-roster-accent);
  color: var(--fa-roster-text);
}

#panel-fleetadmin :is(#fleetadm-pane-trucks, #fleetadm-pane-trailers)
  :is(button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--fa-roster-accent) !important;
  outline-offset: 2px;
}
