/* Desktop manager Drivers workspace. Loaded only for the workspace shell. */
body.fh-workspace-v2 #driversPage.page-section.active.fh-drivers-workbench {
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 12px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: auto !important;
  padding: 0 !important;
}

body.fh-workspace-v2 #driversPage.fh-drivers-workbench > #driverRegistryEntry {
  box-sizing: border-box;
  min-width: 0;
  min-height: 70px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 18px;
  margin: 0;
  padding: 12px 18px;
  background: #121c29;
  border: 1px solid #283647;
  border-radius: 10px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench > #driverRegistryEntry[hidden] {
  display: none !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench > #driverRegistryEntry h2 {
  margin: 0;
  color: #eef3fa;
  font-size: 16px;
  line-height: 1.3;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench > #driverRegistryEntry p {
  min-width: 0;
  margin: 0;
  color: #a3b3c6;
  font-size: 12px;
  line-height: 1.45;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench > #driverRegistryEntry button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #316b82;
  border-radius: 6px;
  background: #164052;
  color: #c9f5ff;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}

body.fh-workspace-v2 #driversPage.fh-drivers-workbench > .drivers-metric-strip {
  box-sizing: border-box;
  width: 100%;
  height: 72px;
  flex: 0 0 72px;
  min-width: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-metric-card {
  min-width: 0;
  min-height: 72px;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 9px;
  padding: 9px 12px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-metric-icon {
  width: 36px;
  height: 36px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-metric-icon .fh-icon {
  width: 18px;
  height: 18px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-metric-card small {
  font-size: 12px !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-metric-card b {
  margin: 3px 0;
  font-size: 18px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-metric-card div > span {
  font-size: 11px !important;
}

body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-workbench-tabs {
  box-sizing: border-box;
  min-width: 0;
  min-height: 44px;
  flex: 0 0 44px;
  display: flex;
  align-items: stretch;
  gap: 4px;
  padding: 3px;
  border: 1px solid #283647;
  border-radius: 8px;
  background: #0e1722;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-workbench-tabs [role="tab"] {
  position: relative;
  min-width: 0;
  min-height: 36px;
  flex: 0 0 auto;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #a3b3c6;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-workbench-tabs [role="tab"][aria-selected="true"] {
  border-color: #22566c;
  background: #123447;
  color: #8de8fa;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-workbench-tabs [role="tab"]:hover:not([aria-selected="true"]) {
  background: #182737;
  color: #eef3fa;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench :is(button, a, input, select, textarea):focus-visible {
  outline: 2px solid #6edff7 !important;
  outline-offset: 3px;
}

body.fh-workspace-v2 #driversPage.fh-drivers-workbench > #driversTaskWorkspace,
body.fh-workspace-v2 #driversPage.fh-drivers-workbench > .drivers-ops-grid {
  box-sizing: border-box;
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100%;
  margin: 0;
  flex: 1 1 0;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench > #driversTaskWorkspace[hidden],
body.fh-workspace-v2 #driversPage.fh-drivers-workbench > .drivers-ops-grid[hidden],
body.fh-workspace-v2 #driversPage.fh-drivers-workbench [hidden] {
  display: none !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench > #driversTaskWorkspace {
  display: block;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench #driverActiveRoutePanel {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 0;
  grid-template-columns: 48px minmax(190px, 245px) minmax(0, 1fr) minmax(180px, 250px);
  gap: 14px;
  padding: 16px;
  overflow: visible;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench #driverActiveRoutePanel h2,
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-panel-head h2,
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-context-panel h2 {
  color: #eef3fa;
  font-size: 16px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench #driverActiveRoutePanel p {
  color: #a3b3c6;
  font-size: 12px;
  line-height: 1.5;
}

body.fh-workspace-v2 #driversPage.fh-drivers-workbench > .drivers-ops-grid {
  display: grid;
  flex: 1 0 320px !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr);
  gap: 12px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="contacts"] > .drivers-ops-grid {
  grid-template-columns: minmax(0, 3fr) minmax(280px, 2fr) !important;
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="contacts"] #driversAlertsWorkspace {
  display: none !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="contacts"] #driversContactsWorkspace,
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="contacts"] #driversContextWorkspace {
  display: flex;
  min-width: 0;
  min-height: 0;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="alerts"] > .drivers-ops-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="alerts"] #driversAlertsWorkspace {
  display: flex;
  min-width: 0;
  min-height: 0;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="alerts"] :is(#driversContactsWorkspace, #driversContextWorkspace) {
  display: none !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="tasks"] > .drivers-ops-grid {
  display: none !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="tasks"] > #driversTaskWorkspace {
  display: block;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench :is(#driversAlertsWorkspace, #driversContactsWorkspace, #driversContextWorkspace) {
  min-width: 0 !important;
  min-height: 0 !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-ops-panel {
  background: #121c29;
  border-color: #283647;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-panel-head {
  min-height: 62px;
  padding: 12px 16px !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-panel-head p {
  margin: 4px 0 0;
  color: #a3b3c6;
  font-size: 12px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .drivers-panel-tools {
  gap: 8px;
  padding: 12px 16px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench :is(.drivers-alert-list, .drivers-contact-list, .drivers-context-list) {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow: auto;
}

body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="tasks"] #driversTaskWorkspace[hidden],
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="contacts"] .drivers-ops-grid[hidden],
body.fh-workspace-v2 #driversPage.fh-drivers-workbench[data-drivers-view="alerts"] .drivers-ops-grid[hidden] {
  display: none !important;
}

/* Restore readable record density after the legacy compact-console cascade. */
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .driver-contact-card {
  grid-template-columns: 36px minmax(0, 1fr) 150px !important;
  gap: 12px !important;
  padding: 16px !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .driver-contact-actions {
  grid-column: auto;
  width: 100% !important;
  max-width: 100%;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .driver-contact-live {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 6px;
  text-align: left;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench :is(.driver-contact-title,.driver-alert-title,.driver-context-card b) {
  font-size: 14px !important;
  line-height: 1.45 !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench :is(.driver-contact-meta,.driver-alert-meta,.driver-alert-body,.driver-context-card small,.driver-context-card em,.driver-context-card strong,.driver-contact-live b,.driver-contact-live small,.drivers-list-foot,.drivers-list-foot label,.drivers-context-panel .status-line) {
  font-size: 12px !important;
  line-height: 1.5 !important;
  white-space: normal;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench :is(.driver-pill,.astra-driver-record-status) {
  font-size: 11px !important;
  line-height: 1.5 !important;
  padding: 3px 7px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench :is(.driver-contact-actions,.driver-alert-actions) button {
  width: auto !important;
  min-height: 34px !important;
  height: auto !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .driver-alert-card {
  padding: 14px !important;
  gap: 10px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .driver-context-card {
  flex: 0 0 auto;
  padding: 12px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .driver-context-facts {
  grid-template-columns: minmax(0,1fr);
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .driver-context-facts > span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench :is(.driver-route-progress-note,.driver-route-stop-node b,.driver-route-stop-node span) {
  font-size: 12px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
}
body.fh-workspace-v2 #driversPage.fh-drivers-workbench .driver-route-summary-line b {
  font-size: 14px !important;
  white-space: normal !important;
}
