:root {
  --bg: #eef7ff;
  --bg2: #f7fbff;
  --panel: #ffffff;
  --panel2: #f0f8ff;
  --panel3: #e1f2ff;
  --line: #bfdaf2;
  --line2: #d8e9f8;
  --text: #1b2e43;
  --muted: #62768d;
  --blue: #52a8f6;
  --blue2: #2b7fc5;
  --blue3: #dff2ff;
  --red: #d52f35;
  --red2: #a51f25;
  --green: #2c9f5a;
  --yellow: #f3b63f;
  --orange: #ed7d31;
  --purple: #7c5cff;
  --shadow: 0 14px 40px rgba(34, 102, 150, .12);
  --radius: 22px;
  --pill: 999px;
  --font: 13px/1.35 "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 10% 0%, rgba(83, 174, 255, .22), transparent 28%),
    linear-gradient(180deg, var(--bg2), var(--bg));
  color: var(--text);
  font: var(--font);
  min-height: 100vh;
  overflow: hidden;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.hidden,
[hidden] { display: none !important; }

.bootstrap-screen {
  min-height: 100vh;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 14px;
  background: linear-gradient(135deg, #e7f5ff, #f8fbff);
  color: #16345f;
}
.bootstrap-logo-img {
  width: min(260px, 62vw);
  height: auto;
}
.bootstrap-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid #c9dcf5;
  border-top-color: #2f7cf6;
  border-radius: 50%;
  animation: freightq-bootstrap-spin .8s linear infinite;
}
@keyframes freightq-bootstrap-spin {
  to { transform: rotate(360deg); }
}

.login-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #e7f5ff, #f8fbff);
}
.login-card {
  width: min(440px, 94vw);
  padding: 30px;
  display: grid;
  gap: 12px;
}
.login-brand { display: flex; gap: 14px; align-items: center; margin-bottom: 12px; }
.login-brand h1 { margin: 0; letter-spacing: 1px; color: var(--blue2); font-size: 24px; }
.login-brand p { margin: 2px 0 0; color: var(--red); font-weight: 700; }
.bull-mark, .brand-bull {
  width: 52px; height: 52px; border-radius: 50%;
  background: linear-gradient(135deg, var(--red), #ff6969);
  color: var(--red); box-shadow: 0 10px 28px rgba(213,47,53,.25);
}
.login-card label { font-weight: 800; color: var(--muted); text-transform: uppercase; font-size: 11px; letter-spacing: .5px; }
.error-text { color: var(--red); min-height: 18px; font-weight: 700; }

.app-shell { height: 100vh; display: grid; grid-template-rows: 72px 1fr; }
.topbar {
  height: 72px;
  display: flex;
  align-items: stretch;
  gap: 8px;
  padding: 0 12px;
  background: linear-gradient(90deg, #eaf6ff, #f8fbff);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 22px rgba(58, 120, 170, .12);
  z-index: 4;
}
.brand-block { display: flex; align-items: center; gap: 12px; min-width: 230px; padding-left: 6px; }
.brand-bull { width: 42px; height: 42px; flex: none; }
.brand-text strong { display: block; letter-spacing: 1px; color: var(--blue2); font-size: 18px; }
.brand-text span { color: var(--red); font-weight: 800; }
.topnav { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; }
.topitem {
  width: 118px;
  height: 60px;
  border: 1px solid transparent;
  border-radius: 20px;
  display: grid;
  place-items: center;
  color: var(--text);
  background: transparent;
  transition: .16s ease;
}
.topitem:hover { background: #fff; border-color: var(--line2); box-shadow: var(--shadow); }
.topitem.active { background: linear-gradient(180deg, #ffffff, #e5f4ff); border-color: var(--blue); color: var(--blue2); }
.topitem .ico { display:block; font-size: 21px; margin-bottom: 2px; }
.topitem .label { font-size: 12px; font-weight: 800; }
.userbox { width: 230px; display: flex; align-items: center; justify-content: flex-end; gap: 14px; padding-right: 12px; }
.userbox small { display: block; color: var(--muted); }
.notify { min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center; background: var(--red); color: #fff; font-weight: 900; }

.main-layout { display: grid; grid-template-columns: 236px 1fr; min-height: 0; }
.sidebar {
  background: linear-gradient(180deg, #ffffff, #ecf7ff);
  border-right: 1px solid var(--line);
  overflow: auto;
  padding: 12px 10px 20px;
}
.sidegroup { margin-bottom: 16px; }
.sidegroup h3 {
  margin: 0 0 8px;
  padding: 0 8px;
  font-size: 12px;
  letter-spacing: .6px;
  color: var(--blue2);
  text-transform: uppercase;
}
.sideitem {
  width: 100%;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  text-align: left;
  padding: 9px 14px;
  border-radius: 999px;
  margin: 3px 0;
}
.sideitem:hover, .sideitem.active { background: #fff; border-color: var(--line2); box-shadow: 0 8px 20px rgba(42, 127, 197, .12); color: var(--blue2); font-weight: 800; }
.quick-search { position: sticky; bottom: 0; background: linear-gradient(180deg, rgba(236,247,255,.82), #ecf7ff); padding-top: 10px; }

.content { overflow: auto; padding: 12px; min-width: 0; }
.soft-card, .panel {
  background: rgba(255,255,255,.94);
  border: 1px solid var(--line2);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.panel { margin-bottom: 12px; overflow: hidden; }
.panel-title {
  min-height: 42px;
  padding: 11px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid var(--line2);
  background: linear-gradient(180deg, #fff, #eff8ff);
}
.panel-title h2, .panel-title h3 { margin: 0; font-size: 16px; color: var(--blue2); letter-spacing: .2px; }
.panel-title h3 { font-size: 14px; color: var(--red); text-transform: uppercase; }
.panel-body { padding: 14px; }
.toolbar { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.toolbar.spread { justify-content: space-between; }
.toolbar-right, .toolbar-left { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.kpis { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 12px; margin-bottom: 12px; }
.kpi { padding: 16px 18px; }
.kpi label { color: var(--muted); font-weight: 800; text-transform: uppercase; letter-spacing: .5px; font-size: 11px; }
.kpi strong { display: block; font-size: 26px; margin-top: 4px; color: var(--blue2); }
.kpi .hint { color: var(--muted); font-size: 12px; }

input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  border-radius: 999px;
  padding: 9px 14px;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
textarea { border-radius: 18px; min-height: 82px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(82,168,246,.16); }
input[type="checkbox"] { width: 16px; height: 16px; padding: 0; border-radius: 5px; vertical-align: middle; }
label.form-label { display: grid; gap: 5px; font-weight: 800; color: #34495f; font-size: 12px; }
label.form-label span { white-space: nowrap; }
.form-row { display: grid; gap: 10px; }
.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.five { grid-template-columns: repeat(5, minmax(0,1fr)); }

button, .btn {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, #ffffff, #eaf6ff);
  color: var(--text);
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  white-space: nowrap;
  min-height: 36px;
}
button:hover, .btn:hover { border-color: var(--blue); color: var(--blue2); }
.primary { background: linear-gradient(180deg, #6ab7ff, var(--blue2)); color: white; border-color: var(--blue2); }
.primary:hover { color: #fff; filter: brightness(1.03); }
.danger { background: linear-gradient(180deg, #ff6b72, var(--red)); color: #fff; border-color: var(--red2); }
.success { background: linear-gradient(180deg, #57cf85, var(--green)); color: #fff; border-color: var(--green); }
.warning { background: linear-gradient(180deg, #ffd67a, #eca72a); color: #5f3a00; border-color: #d6921c; }
.ghost { background: transparent; }
.big-pill { min-height: 46px; border-radius: 999px; font-size: 15px; }
.small { min-height: 30px; padding: 5px 10px; font-size: 12px; }

.table-wrap { overflow: auto; border-radius: 18px; border: 1px solid var(--line2); background: white; }
table.grid { width: 100%; border-collapse: collapse; min-width: 900px; }
.grid th, .grid td { border-bottom: 1px solid var(--line2); border-right: 1px solid var(--line2); padding: 8px 9px; white-space: nowrap; vertical-align: middle; }
.grid th { position: sticky; top: 0; z-index: 1; background: linear-gradient(180deg, #f7fbff, #dff2ff); color: #27445e; font-size: 12px; text-transform: uppercase; letter-spacing: .2px; }
.grid tr:nth-child(even) td { background: #f7fbff; }
.grid tr:hover td { background: #e8f6ff; }
.grid tr.selected td { background: #d5eeff !important; }
.link { color: var(--blue2); font-weight: 900; cursor: pointer; }
.money { font-variant-numeric: tabular-nums; text-align: right; }
.badge, .status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 2px 9px;
  border-radius: 999px;
  background: var(--blue3);
  border: 1px solid var(--line);
  color: var(--blue2);
  font-weight: 900;
  font-size: 12px;
}
.status-at-risk { background:#fff4d6!important; color:#8a5b00!important; border-color:#f1c45b!important; }
.status-late { background:#ffe1df!important; color:#b42318!important; border-color:#f4a19b!important; }
.load-truck-location-card .tracking-map-shell { margin-top: 8px; }
.equipment-map-location.live strong { font-size: 12px; }
.pm-hos.missing span { color:#7284a3; }
.pm-hos.missing i b { background:#b7c4d8; }
.status-available, .status-paid, .status-settled, .status-delivered { color: var(--green); border-color: rgba(44,159,90,.3); background: #e9f9ef; }
.status-load-booked, .status-dispatched, .status-in-transit, .status-invoiced { color: var(--blue2); background: #e8f4ff; border-color: #b8dfff; }
.status-ready-to-invoice, .status-partially-paid { color: #a66a00; background: #fff4d8; border-color: #ffdda0; }
.status-canceled, .status-tonu, .status-void { color: var(--red); background: #fff0f1; border-color: #ffc4c7; }
.row-actions { display:flex; gap:6px; }

.load-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  padding: 12px;
  background: linear-gradient(90deg, #e1f6ec, #eaf7ff);
  border-radius: 20px;
  border: 1px solid #cbead8;
  margin-bottom: 12px;
}
.send-trip-btn {
  min-height: 44px;
  border-radius: 999px;
  padding: 0 18px 0 8px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  border-color: #2f79f2;
  background: linear-gradient(180deg, #68b2ff, #2f79f2);
  box-shadow: 0 12px 24px rgba(47, 121, 242, .22);
}
.send-trip-btn:hover {
  color: #fff;
  border-color: #1e63d3;
  transform: translateY(-1px);
}
.send-trip-btn-icon {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.22);
}
.send-trip-btn-icon .pm-svg { width: 17px; height: 17px; }
.trip-driver-modal { display: grid; gap: 14px; }
.trip-driver-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid var(--line2);
  background: linear-gradient(180deg, #ffffff, #f0f7ff);
}
.trip-driver-icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--blue2);
  background: #eaf4ff;
}
.trip-driver-icon .pm-svg { width: 22px; height: 22px; }
.trip-driver-card strong { display:block; color: var(--text); }
.trip-driver-card small { display:block; color: var(--muted); margin-top: 3px; }
.trip-message-preview textarea {
  min-height: 240px;
  line-height: 1.45;
  font-family: Consolas, "SFMono-Regular", monospace;
  resize: vertical;
}
.trip-send-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.trip-send-actions button { border-radius: 999px; min-height: 42px; padding: 0 16px; }
.trip-send-actions button:disabled { opacity: .46; cursor: not-allowed; }

/* Accounting AR report */
.ar-report-panel .panel-title h2 { margin-bottom: 2px; }
.ar-summary-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.ar-action-strip {
  border: 1px solid #cfeac6;
  border-radius: 22px;
  background: linear-gradient(180deg, #efffea, #e4f6dc);
  padding: 16px;
  display: grid;
  gap: 12px;
  justify-items: center;
  margin-bottom: 14px;
}
.ar-selected-title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #2b6d36;
}
.ar-selected-title button,
.ar-action-buttons button {
  border-radius: 999px;
  min-height: 36px;
  padding: 0 14px;
}
.ar-action-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
.ar-filter-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.ar-filter-row input {
  max-width: 520px;
}
.ar-table-wrap {
  max-height: 58vh;
}
.ar-grid {
  min-width: 1900px;
}
.ar-grid th {
  white-space: nowrap;
}
.ar-grid td {
  vertical-align: middle;
}
.ar-grid .ar-group-row td {
  background: #eef5ff !important;
  color: #54708c;
  font-weight: 900;
  text-transform: none;
}
.ar-selected-row td {
  background: #fffec2 !important;
}
.ar-alert {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  font-weight: 900;
  font-size: 12px;
}
.ar-alert.overdue { color: #fff; background: #ff4d55; }
.ar-alert.unsent { color: #2f79f2; background: #e9f3ff; border: 1px solid #cde2ff; }
.ar-alert.ok { color: #16a060; background: #e6f9ed; }
.ar-overdue-date {
  color: var(--red);
  font-weight: 900;
}
.ar-pay-button,
.ar-close-button {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  padding: 0;
  display: inline-grid;
  place-items: center;
}
.ar-pay-button {
  color: #fff;
  border-color: #2f79f2;
  background: linear-gradient(180deg, #6ab7ff, #2f79f2);
}
.ar-close-button {
  color: #fff;
  border-color: #aab6c2;
  background: linear-gradient(180deg, #ccd6df, #98a7b5);
}
.ar-pay-button .pm-svg,
.ar-close-button .pm-svg {
  width: 15px;
  height: 15px;
}
.ar-inline-input {
  min-width: 180px;
  height: 34px;
  border-radius: 12px;
}
.ar-payment-modal {
  display: grid;
  gap: 14px;
}
.modal-card:has(.ar-payment-modal.wide) {
  width: min(1380px, 98vw);
}
.ar-payment-head-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 10px;
}
.ar-payment-summary {
  display: grid;
  grid-template-columns: 160px 190px minmax(260px, 1fr);
  gap: 10px;
  align-items: end;
}
.ar-payment-summary > div {
  border: 1px solid var(--line2);
  border-radius: 16px;
  background: rgba(247,251,255,.95);
  padding: 10px 12px;
  display: grid;
  gap: 4px;
}
.ar-payment-summary span {
  color: #6f859d;
  font-size: 12px;
  font-weight: 800;
}
.ar-payment-summary strong {
  color: #13284d;
  font-size: 18px;
}
.ar-payment-table-wrap {
  max-height: 58vh;
}
.ar-payment-grid {
  min-width: 1940px;
}
.ar-payment-grid input,
.ar-payment-grid select {
  width: 100%;
  min-width: 105px;
  height: 34px;
  border-radius: 10px;
  padding: 6px 8px;
}
.ar-payment-grid th {
  white-space: normal;
  line-height: 1.12;
}
.ar-payment-grid td {
  vertical-align: middle;
}
.accounting-search-input {
  width: min(520px, 44vw);
  min-width: 280px;
}
.accounting-history-section {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line2);
}
.accounting-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.accounting-section-heading h3,
.accounting-section-heading p {
  margin: 0;
}
.accounting-section-heading span {
  color: var(--muted);
  font-weight: 800;
}
.accounting-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 18px;
}
.accounting-report-grid > section {
  min-width: 0;
}
.accounting-report-grid .table-wrap {
  max-height: 55vh;
}
.carrier-payments-grid {
  min-width: 1500px;
}
.carrier-payments-grid td small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
}
@media (max-width: 1100px) {
  .ar-summary-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ar-payment-head-grid,
  .ar-payment-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .accounting-report-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .ar-summary-row { grid-template-columns: 1fr; }
  .ar-filter-row { align-items: stretch; flex-direction: column; }
  .ar-filter-row input { max-width: none; width: 100%; }
  .ar-payment-head-grid,
  .ar-payment-summary { grid-template-columns: 1fr; }
  .accounting-search-input { width: 100%; min-width: 0; }
}
.load-tabs {
  display: flex;
  gap: 6px;
  padding: 8px 10px 0;
  background: #f7fbff;
  border-bottom: 1px solid var(--line2);
  overflow-x: auto;
}
.load-tab {
  border-radius: 17px 17px 0 0;
  border-bottom-color: transparent;
  background: #eef7ff;
  padding: 10px 18px;
  color: #486982;
}
.load-tab.active { background: #fff; color: var(--red); border-color: var(--line2); border-bottom-color: #fff; }
.load-body { padding: 12px; }
.load-lock-banner {
  margin: 0 12px 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid #d9e8f7;
  border-radius: 18px;
  background: linear-gradient(180deg, #f6faff, #edf5fe);
  color: #5d7088;
  box-shadow: var(--shadow2);
}
.load-lock-banner strong {
  color: #1d3c68;
  white-space: nowrap;
}
#loadWorkspace.load-locked .load-body {
  filter: grayscale(.2);
}
#loadWorkspace.load-locked .section-card,
#loadWorkspace.load-locked .stop-card,
#loadWorkspace.load-locked .load-invoice-row {
  background: linear-gradient(180deg, #f9fbfd, #eef4fa);
  border-color: #d9e5f1;
}
#loadWorkspace.load-locked input:not([type="file"]),
#loadWorkspace.load-locked select,
#loadWorkspace.load-locked textarea {
  background: #edf3f8 !important;
  color: #6c7f96 !important;
  cursor: not-allowed;
}
#loadWorkspace.load-locked input[type="checkbox"] {
  accent-color: #9dadc0;
}
.load-uninvoice-warning {
  display: grid;
  gap: 12px;
  color: #435b76;
}
.load-uninvoice-warning strong {
  color: #17345f;
  font-size: 15px;
}
.load-uninvoice-warning p {
  margin: 0;
}
.load-layout { display: grid; grid-template-columns: 360px minmax(0,1fr); gap: 12px; align-items: start; }
.load-left { display: grid; gap: 12px; }
.field-stack { display: grid; gap: 10px; }
.stop-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.stop-card, .section-card {
  background: linear-gradient(180deg, #ffffff, #f7fbff);
  border: 1px solid var(--line2);
  border-radius: 24px;
  overflow: hidden;
}
.stop-card h3, .section-card h3 {
  margin: 0;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line2);
  color: var(--red);
  font-size: 14px;
  text-transform: uppercase;
  background: linear-gradient(180deg, #fff, #eff8ff);
}
.stop-card .inside, .section-card .inside { padding: 14px; display: grid; gap: 10px; }
.inline-checks { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; padding: 2px 0; }
.inline-checks label { display: inline-flex; gap: 7px; align-items: center; font-weight: 700; color: var(--muted); }
.fin-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.fin-box { border-radius: 20px; border: 1px solid var(--line2); background: #fff; padding: 12px; }
.fin-box span { color: var(--muted); font-weight: 800; text-transform: uppercase; font-size: 11px; }
.fin-box strong { display:block; font-size: 20px; margin-top: 5px; }
.fin-box.profit strong { color: var(--green); }
.fin-box.loss strong { color: var(--red); }
.fin-box-action {
  appearance: none;
  display: grid;
  align-content: start;
  justify-items: start;
  width: 100%;
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.fin-box-action span,
.fin-box-action strong,
.fin-box-action small {
  justify-self: start;
}
.fin-box-action:hover {
  transform: translateY(-1px);
}
.fin-box-action.active {
  border-color: rgba(47,124,255,.55) !important;
  box-shadow: 0 0 0 4px rgba(47,124,255,.12), 0 8px 24px rgba(35,71,120,.1) !important;
}

.modal-backdrop { position: fixed; inset: 0; background: rgba(27, 46, 67, .36); display: grid; place-items: center; z-index: 20; padding: 16px; }
.modal-card { width: min(980px, 96vw); max-height: 90vh; overflow: auto; background: #fff; border-radius: 26px; border: 1px solid var(--line2); box-shadow: 0 30px 80px rgba(20, 75, 120, .3); }
.modal-head { position: sticky; top: 0; background: linear-gradient(180deg, #ffffff, #eef8ff); z-index: 2; display:flex; align-items:center; justify-content:space-between; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--line2); }
.modal-head h2 { margin:0; color: var(--blue2); font-size: 17px; }
.modal-body { padding: 16px; display: grid; gap: 12px; }
.modal-foot { position: sticky; bottom: 0; background:#fff; border-top: 1px solid var(--line2); display:flex; justify-content:flex-end; gap: 10px; padding: 14px 18px; }

.fuel-import-result { display: grid; grid-auto-rows: max-content; align-content: start; gap: 16px; max-height: min(72vh, 760px); overflow-y: auto; padding-right: 2px; }
.fuel-import-result-file {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid var(--line2);
  border-radius: 8px;
  background: var(--panel2);
}
.fuel-import-result-file strong { color: var(--text); font-size: 15px; overflow-wrap: anywhere; }
.fuel-import-result-file span { color: var(--muted); }
.fuel-import-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.fuel-import-result-metric {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line2);
  border-radius: 8px;
  background: var(--panel);
}
.fuel-import-result-metric span { display: block; min-height: 32px; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.fuel-import-result-metric strong { display: block; margin-top: 4px; color: var(--text); font-size: 24px; }
.fuel-import-result-metric.imported strong { color: var(--green); }
.fuel-import-result-metric.duplicate strong { color: #9b6a00; }
.fuel-import-result-metric.money-code strong { color: var(--primary); }
.fuel-import-result-details { border: 1px solid var(--line2); border-radius: 8px; overflow: hidden; background: var(--panel); }
.fuel-import-result-details summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 11px 14px; color: var(--text); font-weight: 900; cursor: pointer; }
.fuel-import-result-details summary strong { min-width: 34px; padding: 4px 8px; border-radius: 999px; background: var(--panel2); color: var(--primary); text-align: center; }
.fuel-import-detail-table-wrap { max-height: 310px; overflow: auto; border-top: 1px solid var(--line2); }
.fuel-import-result-details[open] .fuel-import-detail-table-wrap { min-height: min(240px, 34vh); }
.fuel-import-detail-table { width: 100%; min-width: 920px; border-collapse: collapse; }
.fuel-import-detail-table th { position: sticky; top: 0; z-index: 1; padding: 9px 10px; background: var(--panel2); color: var(--muted); font-size: 10px; text-align: left; text-transform: uppercase; }
.fuel-import-detail-table td { padding: 9px 10px; border-top: 1px solid var(--line2); color: var(--text); font-size: 12px; vertical-align: top; }
.fuel-import-detail-table td small { display: block; margin-top: 3px; color: var(--muted); }
.fuel-import-result-details > .note { margin: 0; padding: 9px 14px; border-top: 1px solid var(--line2); }

@media (max-width: 720px) {
  .fuel-import-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.toast-root { position: fixed; right: 18px; bottom: 18px; display: grid; gap: 8px; z-index: 30; }
.toast { background: #fff; border: 1px solid var(--line2); box-shadow: var(--shadow); border-radius: 999px; padding: 10px 16px; color: var(--text); font-weight: 800; }
.toast.good { border-color: rgba(44,159,90,.3); color: var(--green); }
.toast.bad { border-color: rgba(213,47,53,.3); color: var(--red); }

.empty-state { padding: 40px; text-align: center; color: var(--muted); }
.split-pane { display:grid; grid-template-columns: minmax(0,1fr) 420px; gap:12px; }
.note { color: var(--muted); font-size: 12px; }
.google-ready { color: var(--green); }
.google-missing { color: #9b6a00; }
.required::after { content:" *"; color: var(--red); }
.address-hint { font-size: 11px; color: var(--muted); margin-top: -2px; }

@media (max-width: 1280px) {
  .kpis { grid-template-columns: repeat(3, 1fr); }
  .load-layout, .split-pane { grid-template-columns: 1fr; }
  .stop-pair { grid-template-columns: 1fr; }
  .topitem { width: 92px; }
  .brand-block { min-width: 190px; }
  .userbox { width: 170px; }
}
@media (max-width: 920px) {
  body { overflow: auto; }
  .app-shell { height: auto; min-height: 100vh; }
  .topbar { height: auto; flex-wrap: wrap; padding: 8px; }
  .main-layout { grid-template-columns: 1fr; }
  .sidebar { display: none; }
  .content { overflow: visible; }
  .topnav { order: 3; width: 100%; overflow-x:auto; justify-content:flex-start; }
  .kpis { grid-template-columns: 1fr 1fr; }
  .two,.three,.four,.five { grid-template-columns: 1fr; }
}

/* ===== Freightbull Air Command visual overrides ===== */
:root {
  --bg: #f5faff;
  --bg2: #eef7ff;
  --panel: rgba(255,255,255,.86);
  --panel2: rgba(255,255,255,.72);
  --line: #dbe9f8;
  --line2: #edf4fb;
  --text: #20344a;
  --muted: #72859a;
  --blue: #5ba7f7;
  --blue2: #3b82f6;
  --blue3: #e7f1ff;
  --red: #d93737;
  --red2: #b92222;
  --green: #43b66b;
  --yellow: #f3c257;
  --orange: #f2994a;
  --purple: #8c7cf7;
  --shadow: 0 16px 38px rgba(89, 126, 166, .12);
}
body {
  background:
    radial-gradient(circle at 10% 0%, rgba(91, 167, 247, .18), transparent 25%),
    radial-gradient(circle at 100% 0%, rgba(196, 228, 255, .42), transparent 25%),
    linear-gradient(180deg, #f8fbff, #f2f8ff 56%, #eef6ff);
}
.glass-strip {
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.glass-card {
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.topbar {
  grid-template-columns: 210px minmax(320px, 1fr) minmax(260px, 420px) auto 220px;
  display: grid;
  align-items: center;
  gap: 14px;
  height: 80px;
  padding: 10px 18px;
}
.topnav {
  display: flex;
  gap: 6px;
  align-items: center;
  min-width: 0;
  overflow-x: auto;
}
.topitem.compact {
  width: auto;
  min-width: 94px;
  height: 52px;
  padding: 0 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.3);
}
.topitem.compact .ico { font-size: 18px; }
.topsearch input {
  height: 48px;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  border: 1px solid var(--line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 6px 20px rgba(113,149,190,.08);
}
.header-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.brand-block { min-width: 0; }
.notify { box-shadow: 0 6px 18px rgba(217,55,55,.25); }
.main-layout { grid-template-columns: 230px 1fr; }
.sidebar {
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(239,247,255,.92));
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.sideitem { font-weight: 700; }
.side-footer {
  margin-top: 14px;
  padding: 14px;
  border-radius: 18px;
  display: grid;
  gap: 6px;
}
.brand-mini strong { display:block; color: var(--blue2); }
.brand-mini small, .side-footer small { color: var(--muted); }
.content { padding: 14px; }
.panel, .soft-card { background: rgba(255,255,255,.88); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.dash-card-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.dash-stat {
  padding: 18px;
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: center;
}
.dash-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, #eaf5ff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.dash-stat label { display:block; color: var(--muted); font-size: 12px; font-weight: 800; }
.dash-stat strong { display:block; font-size: 32px; color: var(--text); line-height:1.05; margin: 2px 0; }
.dash-stat span { color: var(--muted); font-size: 12px; }
.dash-stat.green .dash-icon { background: linear-gradient(180deg,#f1fff4,#dbf6e3); }
.dash-stat.purple .dash-icon { background: linear-gradient(180deg,#f7f1ff,#ece2ff); }
.dash-stat.orange .dash-icon { background: linear-gradient(180deg,#fff9f1,#ffe8d2); }
.dash-stat.red .dash-icon { background: linear-gradient(180deg,#fff3f4,#ffe0e2); }
.dash-grid { display:grid; gap: 14px; margin-bottom: 14px; }
.dash-grid.three-col { grid-template-columns: 2fr 1fr 1fr; }
.dash-grid.four-panels { grid-template-columns: repeat(3, 1fr); }
.dash-grid.lower-grid { grid-template-columns: 1.7fr 1fr .9fr; }
.dashboard-wide .panel-body { min-height: 188px; }
.pipeline { display:grid; grid-template-columns: repeat(9, 1fr); gap: 10px; }
.pipe-step { text-align: center; position: relative; padding: 8px 2px; }
.pipe-step:not(:last-child)::after {
  content:''; position:absolute; top:22px; left:calc(50% + 26px); width:calc(100% - 40px); height:2px; background:#d9eaf9;
}
.pipe-dot { width:18px; height:18px; border-radius:50%; background: linear-gradient(180deg,#7fc2ff,#3b82f6); margin:0 auto 8px; box-shadow: 0 8px 18px rgba(59,130,246,.22); }
.pipe-label { color: var(--muted); font-size: 11px; min-height: 28px; }
.pipe-step strong { font-size: 24px; color: var(--text); }
.pipeline-summary { display:flex; justify-content:space-between; margin-top: 16px; padding-top: 14px; border-top:1px solid var(--line2); }
.pipeline-summary div { display:flex; gap:10px; align-items:center; }
.pipeline-summary strong { color: var(--muted); font-size: 12px; text-transform: uppercase; }
.pipeline-summary span { font-size: 22px; font-weight: 800; }
.metric-list, .attention-list, .activity-list, .leader-list, .profit-boxes { display:grid; gap: 12px; }
.metric-row, .attention-row, .activity-row, .profit-line { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.metric-row span, .attention-row span, .activity-row span { color: var(--muted); }
.activity-row { display:grid; grid-template-columns: 1fr auto; align-items:start; }
.activity-row div { grid-column: 1 / span 2; color: var(--text); font-size: 12px; }
.status-ring-wrap { display:grid; grid-template-columns: 180px 1fr; gap: 14px; align-items:center; }
.status-ring {
  width: 168px; height: 168px; border-radius:50%; display:grid; place-items:center; margin: 0 auto;
}
.status-ring-inner {
  width: 96px; height: 96px; border-radius:50%; background: rgba(255,255,255,.92); display:grid; place-items:center; text-align:center; box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.status-ring-inner strong { font-size: 30px; line-height: 1; }
.status-ring-inner span { color: var(--muted); font-size: 12px; }
.status-legend { display:grid; gap: 8px; }
.status-legend div { display:grid; grid-template-columns: 12px 1fr auto; gap: 8px; align-items:center; font-size: 12px; }
.legend-dot { width: 12px; height: 12px; border-radius:50%; display:inline-block; }
.mini-cards { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.mini-card {
  padding: 14px; border:1px solid var(--line2); border-radius: 18px; background: linear-gradient(180deg,rgba(255,255,255,.92), rgba(240,248,255,.8));
}
.mini-card label { display:block; color: var(--muted); font-size:12px; font-weight:800; }
.mini-card strong { display:block; font-size: 24px; margin-top: 4px; }
.mini-card span { color: var(--muted); font-size: 12px; }
.quick-actions-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.quick-action {
  min-height: 54px; border-radius: 18px; background: linear-gradient(180deg, #ffffff, #eff7ff);
}
.compact-table table.grid { min-width: 100%; }
.compact-table .grid th, .compact-table .grid td { padding: 8px; }
.leader-head { display:flex; justify-content:space-between; gap:10px; margin-bottom:6px; }
.leader-bar { height: 10px; background: #edf5fd; border-radius:999px; overflow:hidden; }
.leader-bar span { display:block; height:100%; background: linear-gradient(90deg,#89bcff,#5ba7f7); border-radius:999px; }
.profit-line.emphasis strong { color: var(--green); }
.margin-wheel { display:grid; place-items:center; margin-top: 10px; }
.mw-circle {
  width: 160px; height: 160px; border-radius: 50%; display:grid; place-items:center;
}
.mw-circle > div {
  width: 92px; height: 92px; border-radius:50%; background:#fff; display:grid; place-items:center; text-align:center;
}
.mw-circle strong { font-size: 24px; line-height: 1; }
.mw-circle span { color: var(--muted); font-size: 12px; }
.mini-link { color: var(--blue2); font-weight: 800; cursor:pointer; }
.table-wrap.compact-table { border-radius: 16px; }
.empty-state { padding: 40px; text-align:center; color: var(--muted); }
@media (max-width: 1440px) {
  .topbar { grid-template-columns: 210px 1fr 320px auto 180px; }
  .dash-card-strip { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .dash-grid.three-col, .dash-grid.four-panels, .dash-grid.lower-grid { grid-template-columns: 1fr; }
  .pipeline { grid-template-columns: repeat(3, 1fr); }
  .pipe-step:not(:last-child)::after { display:none; }
}
@media (max-width: 1100px) {
  .topbar { grid-template-columns: 1fr; height:auto; }
  .userbox { justify-content:flex-start; width:auto; }
  .main-layout { grid-template-columns: 1fr; }
  .sidebar { display:none; }
  .dash-card-strip, .mini-cards, .quick-actions-grid, .status-ring-wrap { grid-template-columns: 1fr; }
}

/* ===== Freightbull Sky Command theme ===== */
:root {
  --bg: #f7f9fc;
  --bg2: #eff6ff;
  --panel: rgba(255,255,255,.88);
  --panel2: rgba(255,255,255,.72);
  --line: #e3ebf6;
  --line2: #eff4fa;
  --text: #18304b;
  --muted: #7e90a8;
  --blue: #4f93ff;
  --blue2: #2f7cf6;
  --blue3: #edf5ff;
  --red: #ef4d4d;
  --red2: #d53a3a;
  --green: #37be68;
  --yellow: #f4c45d;
  --orange: #ff8a3d;
  --purple: #9b7cff;
  --shadow: 0 14px 30px rgba(82, 117, 165, .10);
  --shadow2: 0 6px 18px rgba(78, 114, 167, .08);
}
body { background: linear-gradient(180deg,#f8fbff,#f6f8fc); color: var(--text); }
.login-brand .bull-mark, .brand-bull { font-size: 22px; }
.topnav.hidden { display:none; }
.sky-header {
  display:grid;
  grid-template-columns: 280px minmax(280px, 1fr) auto auto auto;
  gap: 16px;
  align-items:center;
  height: 88px;
  padding: 14px 18px;
  margin: 0;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}
.brand-row { display:flex; align-items:center; gap: 16px; }
.brand-block { width:auto; display:flex; align-items:center; gap: 10px; }
.brand-bull { width: 42px; height:42px; border-radius:14px; display:grid; place-items:center; background:#fff2f2; color: var(--red); box-shadow: var(--shadow2); }
.brand-text strong { font-size: 16px; letter-spacing:.02em; color:#20324d; display:block; }
.brand-text span { font-size: 11px; color: var(--red); font-weight:800; letter-spacing:.06em; }
.menu-btn { width:44px; height:44px; border-radius:14px; font-size:20px; background:#fff; border:1px solid var(--line); box-shadow: var(--shadow2); }
.topsearch { display:flex; align-items:center; gap: 10px; border-radius: 999px; background: #fff; border:1px solid var(--line); padding: 0 14px; height: 52px; box-shadow: var(--shadow2); }
.topsearch input { border: none; background: transparent; box-shadow:none; padding:0; height:auto; }
.topsearch input:focus { outline: none; }
.search-ico, .search-kbd { color: var(--muted); font-size: 13px; }
.search-kbd { background:#f4f7fb; border:1px solid var(--line); border-radius:10px; padding: 5px 8px; font-weight:700; }
.header-actions { display:flex; gap: 12px; }
.pill-action, .header-actions button { border-radius:999px; min-height: 48px; padding: 0 20px; box-shadow: var(--shadow2); }
.primary.pill-action, .header-actions .primary { background: linear-gradient(180deg,#61a7ff,#367cf6); border-color:#367cf6; color:#fff; }
.header-tools { display:flex; gap: 10px; }
.icon-pill { position:relative; width: 48px; height: 48px; border-radius:999px; background:#fff; border:1px solid var(--line); box-shadow: var(--shadow2); }
.notify-dot { position:absolute; top:-2px; right:-2px; min-width:18px; height:18px; border-radius:999px; background: var(--red); color:#fff; font-size:10px; display:grid; place-items:center; padding:0 4px; }
.notify-dot.secondary { background:#ff6b6b; }
.userbox { width:auto; min-width: 220px; border:1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow2); }
.avatar { width: 42px; height:42px; border-radius:50%; background: linear-gradient(180deg,#79b6ff,#3b82f6); color:#fff; display:grid; place-items:center; font-weight:800; }
.main-layout { grid-template-columns: 220px 1fr; }
.sidebar {
  padding: 12px 16px 16px;
  background: transparent;
  border-right: none;
  overflow-y: auto;
}
.module-nav { display:grid; gap: 8px; }
.module-btn {
  display:grid; grid-template-columns: 26px 1fr auto; align-items:center; gap: 10px;
  width:100%; min-height: 48px; border-radius: 18px; background: transparent; border: 1px solid transparent; color: #50627b; padding: 0 14px; font-weight:700;
}
.module-btn .module-ico {
  width: 26px; height:26px; border-radius: 9px; display:grid; place-items:center; color: var(--blue2); background: #edf4ff; font-size: 13px;
}
.module-btn .module-arrow { color:#9badc3; }
.module-btn.active {
  background: linear-gradient(180deg,#67a7ff,#367cf6); color:#fff; box-shadow: 0 12px 24px rgba(67,130,246,.22);
}
.module-btn.active .module-ico { background: rgba(255,255,255,.18); color:#fff; }
.module-btn.active .module-arrow { color:#fff; }
.side-subcard { margin-top: 16px; border-radius: 22px; padding: 16px; }
.side-subcard h4 { margin: 0 0 10px; font-size: 13px; text-transform: uppercase; color: var(--muted); letter-spacing:.06em; }
.sub-links { display:grid; gap: 6px; }
.sub-link { text-align:left; min-height: 40px; padding: 0 12px; border-radius: 14px; background:#f7fbff; border:1px solid #edf3fb; font-weight:700; color:#43627d; }
.sub-link.active { background:#edf5ff; color: var(--blue2); border-color:#dbeaff; }
.quick-search-card .form-label input { border-radius: 16px; height: 44px; }
.side-brand-card { text-align:left; }
.side-brand { display:flex; align-items:center; gap: 8px; color: var(--red); margin-bottom: 8px; }
.content { padding: 20px 18px 28px; overflow:auto; }
.panel, .soft-card, .section-card, .fin-box, .mini-card, .quick-action, .topsearch, .icon-pill, .userbox, .topbar, .table-wrap {
  box-shadow: var(--shadow);
}
.panel, .soft-card, .section-card, .mini-card, .fin-box, .table-wrap { border-radius: 24px; border: 1px solid var(--line); background: rgba(255,255,255,.92); }
.panel-title { min-height: 54px; padding: 0 18px; border-bottom-color: var(--line2); }
.panel-title h2 { font-size: 18px; }
.panel-body { padding: 16px 18px 18px; }
.dash-card-strip { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 14px; }
.dash-stat { border-radius: 24px; min-height: 102px; }
.dash-icon { border-radius: 18px; width: 54px; height: 54px; }
.dash-stat strong { font-size: 28px; }
.dash-grid.three-col { grid-template-columns: 2fr .95fr .95fr; }
.dash-grid.four-panels { grid-template-columns: 1.15fr 1.05fr .95fr; }
.dash-grid.lower-grid { grid-template-columns: 1.9fr 1fr .9fr; }
.pipeline { grid-template-columns: repeat(9, minmax(0,1fr)); gap: 8px; }
.pipe-step { padding: 10px 4px; }
.pipe-dot { width: 44px; height:44px; border-radius: 50%; display:grid; place-items:center; position:relative; }
.pipe-dot::before { content:' '; width: 18px; height: 18px; border-radius:50%; background:#fff; box-shadow: inset 0 0 0 6px #5ba7f7; }
.pipe-label { font-size: 11px; }
.pipe-step strong { font-size: 22px; }
.pipeline-summary { margin-top: 20px; }
.metric-row, .attention-row { min-height: 38px; border-bottom:1px solid var(--line2); }
.metric-row:last-child, .attention-row:last-child { border-bottom:none; }
.mini-cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
.mini-card { border-radius: 20px; }
.quick-actions-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.quick-action { min-height: 92px; border-radius: 22px; display:grid; place-items:center; font-weight:800; color:#45647d; }
.activity-row, .leader-row { padding: 2px 0; }
.table-wrap { overflow:auto; }
.grid th { background:#f5f9fe; color:#6f859d; font-size: 11px; text-transform:none; letter-spacing:0; border-bottom:1px solid var(--line2); }
.grid td { border-bottom:1px solid var(--line2); }
.grid tr:nth-child(even) { background: #fbfdff; }
.grid tr:hover { background: #f3f8ff; }
.link { color:#367cf6; font-weight:700; }
.status-pill { border-radius: 999px; padding: 4px 10px; font-weight:700; font-size: 12px; }
.form-label span { color:#73879e; }
input, select, textarea { border-radius: 16px; border-color: var(--line); background:#fff; color:var(--text); min-height: 42px; }
textarea { min-height: 72px; }
button, .btn { border-radius: 14px; }
.form-section, .section-card { border-radius: 22px; }
.load-tabs { background: transparent; border-bottom: none; gap: 8px; padding: 0; margin-bottom: 12px; }
.load-tab { border-radius: 16px; background:#fff; border:1px solid var(--line); box-shadow: var(--shadow2); text-transform:none; font-size:13px; font-weight:800; }
.load-tab.active { background: linear-gradient(180deg,#67a7ff,#367cf6); color:#fff; border-color:#367cf6; }
.load-body { gap: 14px; }
.toolbar-right { display:flex; gap:10px; align-items:center; }
.note { color: var(--muted); font-size: 12px; }
.compact-stats { margin-bottom: 16px; }
.doc-grid-layout { display:grid; grid-template-columns: 1.35fr .8fr; gap: 16px; }
.doc-checklist { margin: 0; padding-left: 18px; display:grid; gap: 8px; color:#47647d; }
body.sidebar-collapsed .main-layout { grid-template-columns: 96px 1fr; }
body.sidebar-collapsed .module-label,
body.sidebar-collapsed .module-arrow,
body.sidebar-collapsed .side-subcard { display:none; }
body.sidebar-collapsed .module-btn { grid-template-columns: 1fr; justify-items:center; padding:0; }
body.sidebar-collapsed .module-btn .module-ico { width:34px; height:34px; border-radius:12px; }
@media (max-width: 1480px) {
  .sky-header { grid-template-columns: 230px 1fr auto auto auto; }
  .dash-card-strip { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .dash-grid.three-col, .dash-grid.four-panels, .dash-grid.lower-grid, .doc-grid-layout { grid-template-columns: 1fr; }
  .quick-actions-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 1100px) {
  .sky-header { grid-template-columns: 1fr; height:auto; }
  .main-layout { grid-template-columns: 1fr; }
  .sidebar { display:none; }
  .pipeline { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .pipe-step:not(:last-child)::after { display:none; }
}


/* ===== Picture Match visual theme: final layer ===== */
:root{
  --pm-bg:#f6f9fd;
  --pm-panel:#ffffff;
  --pm-panel-soft:rgba(255,255,255,.88);
  --pm-border:#e7eef7;
  --pm-border-2:#eef3fa;
  --pm-text:#14254a;
  --pm-muted:#7c8ea8;
  --pm-blue:#347df6;
  --pm-blue-2:#5ea6ff;
  --pm-blue-soft:#eaf3ff;
  --pm-red:#ec4747;
  --pm-green:#3cc56f;
  --pm-purple:#8c67ff;
  --pm-orange:#ff8a32;
  --pm-shadow:0 14px 34px rgba(68,101,145,.10);
  --pm-shadow-soft:0 8px 20px rgba(68,101,145,.08);
  --pm-radius:22px;
  --pm-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Inter,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0!important;
  overflow:hidden!important;
  background:var(--pm-bg)!important;
  color:var(--pm-text)!important;
  font:13px/1.45 var(--pm-font)!important;
}
button,input,select,textarea{font:inherit}
.pm-shell{
  height:100vh!important;
  display:grid!important;
  grid-template-columns:296px minmax(0,1fr)!important;
  grid-template-rows:92px minmax(0,1fr)!important;
  background:
    radial-gradient(circle at 18% -20%, rgba(87,160,255,.18), transparent 32%),
    radial-gradient(circle at 100% 0%, rgba(205,229,255,.42), transparent 34%),
    linear-gradient(180deg,#fbfdff,#f6f9fd)!important;
}
.pm-sidebar{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  background:rgba(255,255,255,.78)!important;
  border-right:1px solid var(--pm-border)!important;
  padding:25px 20px!important;
  overflow:auto!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
.pm-topbar{
  grid-column:2!important;
  grid-row:1!important;
  height:92px!important;
  display:grid!important;
  grid-template-columns:54px minmax(320px,650px) 1fr auto auto auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:18px 28px!important;
  background:rgba(255,255,255,.72)!important;
  border-bottom:1px solid var(--pm-border)!important;
  box-shadow:0 8px 22px rgba(80,118,158,.06)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  z-index:3!important;
}
.pm-content{
  grid-column:2!important;
  grid-row:2!important;
  overflow:auto!important;
  padding:28px 32px 36px!important;
  min-width:0!important;
  position:relative!important;
}
.pm-logo{
  display:flex;align-items:center;gap:12px;margin-bottom:28px;
}
.pm-logo-mark{
  width:44px;height:44px;border-radius:14px;background:#fff1f2;color:var(--pm-red);display:grid;place-items:center;font-size:24px;
}
.pm-logo strong{display:block;font-size:20px;letter-spacing:.03em;color:#16294a;line-height:1}
.pm-logo span{display:block;color:#ef3d3d;font-size:12px;font-weight:800;margin-top:4px;letter-spacing:.04em}
.pm-nav{display:grid;gap:9px}
.pm-nav-item{
  width:100%;height:48px;border:1px solid transparent;background:transparent;border-radius:18px;
  display:grid;grid-template-columns:26px 1fr 15px;align-items:center;gap:12px;
  color:#4f6380;font-weight:700;text-align:left;padding:0 14px;box-shadow:none!important;
}
.pm-nav-icon{color:#2b4f8a;display:grid;place-items:center}
.pm-nav-icon .pm-svg{width:20px;height:20px}
.pm-nav-chevron{color:#8aa0ba;font-size:19px}
.pm-nav-item.active{
  color:white;background:linear-gradient(180deg,#62adff,#367ff6);box-shadow:0 12px 26px rgba(54,127,246,.24)!important;
}
.pm-nav-item.active .pm-nav-icon,.pm-nav-item.active .pm-nav-chevron{color:white}
.pm-sidebar-footer{margin-top:42px}
.pm-powered-card{
  border-radius:22px;background:rgba(255,255,255,.92);border:1px solid var(--pm-border);box-shadow:var(--pm-shadow-soft);
  padding:18px 18px 20px;min-height:115px;display:grid;gap:9px;color:var(--pm-muted)
}
.pm-powered-logo{display:flex;align-items:center;gap:8px;color:var(--pm-red)}
.pm-powered-logo strong{color:#17294b}
.pm-powered-card small{font-size:11px;letter-spacing:.04em;font-weight:700;color:#8b9bb2}
.pm-menu{
  width:48px;height:48px;border-radius:18px;border:1px solid var(--pm-border);background:#fff;display:grid;place-items:center;gap:3px;
  box-shadow:var(--pm-shadow-soft);padding:12px!important
}
.pm-menu span{display:block;width:18px;height:2px;border-radius:2px;background:#6c7d94}
.pm-search{
  height:52px;border-radius:999px;background:#fff;border:1px solid var(--pm-border);
  display:grid;grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 17px;
  box-shadow:var(--pm-shadow-soft)
}
.pm-search .pm-svg{width:20px;height:20px;color:#6d82a0}
.pm-search input{
  border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;min-height:0!important;height:36px!important;color:var(--pm-text)!important
}
.pm-search input:focus{box-shadow:none!important}
.pm-kbd{background:#f3f6fb;border:1px solid #e9eef6;border-radius:10px;padding:4px 8px;color:#91a1b8;font-weight:800;font-size:12px}
.pm-header-actions{display:flex;gap:14px}
.pm-btn,.pm-header-actions button{
  min-height:48px;border-radius:999px!important;padding:0 22px!important;border:1px solid var(--pm-border)!important;font-weight:800;
  box-shadow:var(--pm-shadow-soft)!important
}
.pm-primary{background:linear-gradient(180deg,#5ba6ff,#367cf6)!important;color:#fff!important;border-color:#367cf6!important}
.pm-white{background:#fff!important;color:#2c72d8!important}
.pm-header-tools{display:flex;gap:10px}
.pm-icon-button{
  position:relative;width:48px;height:48px;border-radius:999px!important;border:1px solid var(--pm-border)!important;background:#fff!important;
  display:grid!important;place-items:center!important;box-shadow:var(--pm-shadow-soft)!important;color:#2c3f60!important;padding:0!important
}
.pm-icon-button .pm-svg{width:20px;height:20px}
.pm-red-dot{position:absolute;top:-4px;right:-3px;min-width:18px;height:18px;border-radius:999px;background:var(--pm-red);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900;padding:0 5px}
.pm-red-dot-2{background:#f05b5b}
.pm-user{
  height:56px;display:grid;grid-template-columns:42px minmax(110px,1fr) 16px;align-items:center;gap:12px;color:#243a5f
}
.pm-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(180deg,#7fb7ff,#3e82f7);color:white;display:grid;place-items:center;font-weight:900}
.pm-user strong{display:block;font-size:13px;white-space:nowrap}
.pm-user small{display:block;color:var(--pm-muted);font-size:11px}
.pm-user-chevron{color:#7f91aa}
.pm-date-pill{
  position:absolute;right:32px;top:10px;height:36px;border-radius:999px;background:#fff;border:1px solid var(--pm-border);box-shadow:var(--pm-shadow-soft);
  display:flex;align-items:center;gap:8px;padding:0 15px;color:#31496d;font-size:12px;font-weight:800
}
.pm-date-pill .pm-svg{width:16px;height:16px;color:#3c7df6}
.pm-kpi-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin:34px 0 22px}
.pm-board-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.pm-kpi{
  background:#fff;border:1px solid var(--pm-border);border-radius:24px;box-shadow:var(--pm-shadow);
  min-height:122px;display:grid;grid-template-columns:64px 1fr;align-items:center;gap:17px;padding:22px
}
.pm-kpi-icon{width:60px;height:60px;border-radius:22px;display:grid;place-items:center;background:#edf5ff;color:#2f7cf6}
.pm-kpi-icon .pm-svg{width:28px;height:28px}
.pm-kpi-green .pm-kpi-icon{background:#e8f9ef;color:#2eba66}
.pm-kpi-purple .pm-kpi-icon{background:#f0eafd;color:#875dff}
.pm-kpi-orange .pm-kpi-icon{background:#fff2e8;color:#ff8732}
.pm-kpi-red .pm-kpi-icon{background:#fff0f1;color:#ee4747}
.pm-kpi label{display:block;color:#253a5c;font-size:13px;font-weight:800;margin-bottom:2px}
.pm-kpi strong{display:block;font-size:30px;line-height:1.06;color:#0c1f49;font-weight:900}
.pm-kpi span{display:block;color:#31a35f;font-size:12px;font-weight:800;margin-top:4px}
.pm-kpi-orange span,.pm-kpi-red span{color:#ff7139}
.pm-dashboard-grid{display:grid;gap:18px;margin-bottom:18px}
.pm-top-grid{grid-template-columns:2.12fr .96fr 1.05fr}
.pm-mid-grid{grid-template-columns:1.15fr 1.05fr .95fr}
.pm-bottom-grid{grid-template-columns:1.85fr .95fr 1fr}
.pm-dashboard-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.pm-card{
  background:#fff;border:1px solid var(--pm-border);border-radius:24px;box-shadow:var(--pm-shadow);overflow:hidden;min-width:0
}
.pm-card-title{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid transparent}
.pm-card-title h2{margin:0;color:#16284a;font-size:16px;font-weight:900}
.pm-card-title a{color:#2f7cf6;font-weight:800;font-size:12px;cursor:pointer}
.pm-card-body{padding:8px 20px 20px}
.pm-ops .pm-card-body{padding-top:20px}
.pm-pipeline{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));align-items:start;gap:3px}
.pm-step{text-align:center;position:relative}
.pm-step:not(:last-child)::after{content:'>';position:absolute;right:-8px;top:24px;color:#b3c2d7;font-weight:900}
.pm-step-circle{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;margin:0 auto 10px;background:#edf5ff;color:#2878f5;border:1px solid #dbeaff
}
.pm-step-circle .pm-svg{width:22px;height:22px}
.pm-step span{display:block;color:#405671;font-size:11px;font-weight:800;min-height:29px}
.pm-step strong{font-size:23px;color:#0f224a;font-weight:900}
.pm-pipeline-foot{display:grid;grid-template-columns:auto minmax(140px,1fr) auto;align-items:center;gap:14px;margin-top:25px}
.pm-pipeline-foot span{display:block;color:#60738d;font-size:12px;font-weight:800}
.pm-pipeline-foot strong{font-size:17px;color:#1a2f51}
.pm-progress{height:10px;background:#edf4fe;border-radius:999px;overflow:hidden}
.pm-progress i{display:block;height:100%;background:linear-gradient(90deg,#68aaff,#4a8bff);border-radius:999px}
.pm-metric-table{display:grid;gap:0}
.pm-metric-head,.pm-metric-row{display:grid;grid-template-columns:1fr 54px 75px;gap:10px;align-items:center;min-height:35px;border-bottom:1px solid var(--pm-border-2)}
.pm-metric-head{font-size:11px;color:#7889a0;font-weight:800}
.pm-metric-row span{color:#455d79}
.pm-metric-row strong{color:#192d51;text-align:right}
.pm-metric-row em{font-style:normal;font-weight:900;text-align:right;color:var(--pm-green)}
.pm-metric-row em.down{color:#ff4d5b}
.pm-ring-wrap{display:grid;grid-template-columns:160px 1fr;gap:13px;align-items:center}
.pm-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:auto}
.pm-ring>div{width:84px;height:84px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #ecf1f8;text-align:center}
.pm-ring strong{display:block;font-size:11px;color:#61738d;margin-top:13px}
.pm-ring b{display:block;font-size:22px;color:#12254d;margin-top:-12px}
.pm-ring-legend{display:grid;gap:6px}
.pm-ring-legend div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;font-size:11px;color:#536982}
.pm-ring-legend i{width:10px;height:10px;border-radius:3px}
.pm-ring-legend strong{font-size:11px;color:#31466c}
.pm-mini-select,.pm-table-filters button{border-radius:999px!important;background:#fff!important;border:1px solid var(--pm-border)!important;min-height:32px!important;padding:0 12px!important;color:#526883!important;font-size:12px!important}
.pm-fin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pm-fin-box{border:1px solid var(--pm-border-2);border-radius:18px;padding:17px;display:grid;grid-template-columns:1fr 45px;gap:8px;align-items:center;background:linear-gradient(180deg,#fff,#f8fbff)}
.pm-fin-box label{display:block;color:#62748c;font-size:12px;font-weight:800}
.pm-fin-box strong{display:block;color:#10234b;font-size:22px;margin:3px 0;font-weight:900}
.pm-fin-box span{font-size:11px;color:#2fa35d;font-weight:800}
.pm-fin-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eaf3ff;color:#2f7cf6}
.pm-fin-icon .pm-svg{width:20px;height:20px}
.pm-fin-green .pm-fin-icon{background:#e7faef;color:#35b665}
.pm-fin-purple .pm-fin-icon{background:#f0eaff;color:#8b67ff}
.pm-fin-red span{color:#ef4747}.pm-fin-red .pm-fin-icon{background:#fff0f1;color:#ef4747}
.pm-needs{display:grid;gap:0}
.pm-needs>div{display:grid;grid-template-columns:20px 1fr 24px;align-items:center;min-height:34px;border-bottom:1px solid var(--pm-border-2)}
.pm-alert-dot{width:15px;height:15px;border-radius:50%;background:#fff0f1;color:#ef4747;font-size:10px;display:grid;place-items:center;font-weight:900}
.pm-needs p{margin:0;color:#465d78;font-size:12px;font-weight:700}
.pm-needs b{width:21px;height:21px;border-radius:50%;background:#fff0f1;color:#ef4747;display:grid;place-items:center;font-size:11px}
.pm-needs a,.pm-recent a,.pm-leaders a{justify-self:end;margin-top:10px;color:#2f7cf6;font-weight:900;font-size:12px}
.pm-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pm-actions-grid button{height:75px;border-radius:21px!important;border:0!important;background:#fff!important;box-shadow:none!important;display:grid!important;place-items:center!important;color:#1d3762!important;padding:4px!important}
.pm-actions-grid span{width:44px;height:44px;border-radius:50%;background:#edf5ff;color:#2f7cf6;display:grid;place-items:center}
.pm-actions-grid .pm-svg{width:21px;height:21px}
.pm-actions-grid b{font-size:11px;font-weight:900}
.pm-recent{display:grid;gap:0}
.pm-recent>div{display:grid;grid-template-columns:17px 1fr auto;align-items:center;gap:10px;min-height:34px;border-bottom:1px solid var(--pm-border-2);color:#405874}
.pm-recent .pm-svg{width:15px;height:15px;color:#58708f}
.pm-recent span{font-size:12px;font-weight:700}
.pm-recent small{font-size:10px;color:#71839b}
.pm-table-wrap{overflow:auto}
.pm-table{width:100%;border-collapse:collapse;min-width:900px}
.pm-table th,.pm-table td{padding:12px 12px;border-bottom:1px solid var(--pm-border-2);text-align:left;white-space:nowrap}
.pm-table th{font-size:11px;color:#6e8097;background:#f7faff;font-weight:900}
.pm-table td{font-size:12px;color:#263d61}
.pm-leaders{display:grid;gap:14px}
.pm-leaders>div>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;color:#405773;font-weight:800}
.pm-leaders strong{color:#18305a}
.pm-leaders i{height:9px;border-radius:999px;background:#edf4fe;display:block;overflow:hidden}
.pm-leaders i b{display:block;height:100%;border-radius:999px;background:#9dc5ff}
.pm-profit{display:grid;gap:14px;position:relative}
.pm-profit>div:not(.pm-margin-ring){display:grid;gap:3px}
.pm-profit span{color:#63758d;font-weight:800;font-size:12px}
.pm-profit strong{font-size:22px;color:#0f244f}
.pm-profit small{font-weight:800;font-size:11px}
.pm-profit .up{color:#2fac5e}.pm-profit .down{color:#ef4747}
.pm-margin-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:4px auto 0}
.pm-margin-ring>div{width:88px;height:88px;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center;border:1px solid var(--pm-border-2)}
.pm-margin-ring strong{font-size:23px;line-height:1;margin-top:15px}
.pm-margin-ring span{font-size:12px;margin-top:-16px}
.pm-module-panel{margin-top:0!important}
.pm-module-panel .panel-title{height:64px}
.pm-module-panel .panel-body{padding:18px}
.pm-command-hero{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:#fff;border:1px solid var(--pm-border);border-radius:24px;box-shadow:var(--pm-shadow);
  padding:22px 24px;margin-bottom:18px
}
.pm-command-title{display:flex;align-items:center;gap:16px;min-width:0}
.pm-command-title>span{
  width:64px;height:64px;border-radius:22px;display:grid;place-items:center;
  background:#edf5ff;color:#2f7cf6;flex:none
}
.pm-command-title .pm-svg{width:30px;height:30px}
.pm-command-title h1{margin:0;color:#10234b;font-size:26px;line-height:1.1;font-weight:900}
.pm-command-title p{margin:5px 0 0;color:#687b94;font-size:13px;font-weight:700;max-width:760px}
.pm-command-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.pm-command-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}
.pm-command-stat{
  background:#fff;border:1px solid var(--pm-border);border-radius:24px;box-shadow:var(--pm-shadow);
  padding:18px 20px;min-height:105px;display:grid;align-content:center
}
.pm-command-stat label{color:#657992;font-size:12px;font-weight:900}
.pm-command-stat strong{color:#0f234b;font-size:27px;line-height:1.15;font-weight:900;margin:3px 0}
.pm-command-stat span{color:#31a35f;font-size:12px;font-weight:800}
.pm-command-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:18px}
.pm-command-main .pm-card-body{padding-top:10px}
.pm-queue-list{display:grid;gap:10px}
.pm-queue-list button{
  width:100%;min-height:72px;border:1px solid var(--pm-border)!important;border-radius:18px!important;background:#fff!important;
  display:grid!important;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;text-align:left!important;
  box-shadow:none!important;color:#1f365d!important;padding:11px 13px!important
}
.pm-queue-list button>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#edf5ff;color:#2f7cf6}
.pm-queue-list .pm-svg{width:20px;height:20px}
.pm-queue-list strong{display:block;color:#1b3157;font-size:13px;font-weight:900}
.pm-queue-list small{display:block;color:#6d8098;font-size:11px;font-weight:700;margin-top:2px}
.panel,.section-card,.soft-card,.table-wrap,.fin-box{border-radius:24px!important;border-color:var(--pm-border)!important;box-shadow:var(--pm-shadow)!important}
input,select,textarea{border-radius:16px!important;border-color:var(--pm-border)!important;background:#fff!important;color:var(--pm-text)!important}
button,.btn{border-radius:14px!important}
.pm-nav-item{border-radius:18px!important}
.status-pill{border-radius:999px!important;font-size:11px!important;font-weight:900!important;padding:5px 10px!important}
.grid th{background:#f7faff!important;color:#6e8097!important;text-transform:none!important;letter-spacing:0!important}
.grid td{border-color:var(--pm-border-2)!important}
.pm-sidebar-small .pm-shell{grid-template-columns:94px minmax(0,1fr)!important}
.pm-sidebar-small .pm-logo div:not(.pm-logo-mark),.pm-sidebar-small .pm-nav-label,.pm-sidebar-small .pm-nav-chevron,.pm-sidebar-small .pm-sidebar-footer{display:none}
.pm-sidebar-small .pm-nav-item{grid-template-columns:1fr;justify-items:center;padding:0}
.pm-sidebar-small .pm-logo{justify-content:center}
@media(max-width:1600px){
  .pm-topbar{grid-template-columns:54px minmax(280px,500px) 1fr auto auto auto!important}
  .pm-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pm-top-grid,.pm-mid-grid,.pm-bottom-grid{grid-template-columns:1fr}
  .pm-command-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pm-command-grid{grid-template-columns:1fr}
}
@media(max-width:1050px){
  .pm-shell{grid-template-columns:1fr!important;grid-template-rows:auto 1fr!important}
  .pm-sidebar{display:none!important}
  .pm-topbar{grid-column:1!important;grid-template-columns:1fr!important;height:auto!important}
  .pm-content{grid-column:1!important}
  .pm-kpi-row,.pm-fin-grid,.pm-actions-grid{grid-template-columns:1fr}
  .pm-command-hero{display:grid}
  .pm-command-actions{justify-content:flex-start}
  .pm-command-stats{grid-template-columns:1fr}
  .pm-pipeline{grid-template-columns:repeat(3,1fr)}
  .pm-ring-wrap{grid-template-columns:1fr}
}

/* ===== Approved Freightbull screenshot match: icon and shell correction ===== */
body{
  min-width:1440px!important;
  background:radial-gradient(circle at 50% -10%, #ffffff 0, #f3f8ff 46%, #eef6ff 100%)!important;
}
.pm-shell{
  grid-template-columns:208px minmax(0,1fr)!important;
  grid-template-rows:72px minmax(0,1fr)!important;
  background:transparent!important;
}
.pm-sidebar{
  padding:18px 14px!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:12px 0 34px rgba(46,88,136,.06)!important;
}
.pm-logo{
  display:grid!important;
  grid-template-columns:42px 1fr 38px!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 24px!important;
  padding:2px 4px 6px!important;
}
.pm-logo-mark{
  width:40px!important;
  height:34px!important;
  border-radius:0!important;
  background:transparent!important;
  color:#ff3038!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
}
.pm-logo-mark svg,
.bull-mark svg{
  width:40px!important;
  height:30px!important;
  display:block!important;
  fill:currentColor!important;
}
.pm-logo strong{
  font-size:15px!important;
  letter-spacing:.3px!important;
  line-height:1.1!important;
}
.pm-logo span{
  color:#ff3038!important;
  font-size:12px!important;
  margin-top:4px!important;
  letter-spacing:0!important;
}
.pm-nav{gap:3px!important}
.pm-nav-item{
  height:38px!important;
  border:0!important;
  border-radius:14px!important;
  padding:0 10px!important;
  display:grid!important;
  grid-template-columns:24px 1fr 12px!important;
  gap:8px!important;
  color:#2b3d68!important;
  font-size:13px!important;
  font-weight:600!important;
}
.pm-nav-icon{
  width:22px!important;
  height:22px!important;
  border-radius:8px!important;
  color:#294f90!important;
}
.pm-nav-icon .pm-svg{
  width:17px!important;
  height:17px!important;
  display:block!important;
}
.pm-nav-chevron{
  color:#506894!important;
  font-size:0!important;
  width:13px!important;
  height:13px!important;
  justify-self:end!important;
}
.pm-nav-chevron::before{
  content:">";
  font-size:13px;
  line-height:13px;
}
.pm-nav-item.active{
  color:#fff!important;
  background:linear-gradient(135deg,#0e70ff,#5ba2ff)!important;
  box-shadow:0 14px 26px rgba(15,115,255,.28)!important;
}
.pm-nav-item.active .pm-nav-icon,
.pm-nav-item.active .pm-nav-chevron{color:#fff!important}
.pm-sidebar-footer{margin-top:24px!important}
.pm-powered-card{
  border-radius:12px!important;
  padding:16px!important;
  min-height:108px!important;
}
.pm-powered-logo span{
  width:36px!important;
  height:30px!important;
  color:#ff3038!important;
}
.pm-powered-logo svg{
  width:36px!important;
  height:26px!important;
  fill:currentColor!important;
}
.pm-topbar{
  grid-template-columns:minmax(360px,520px) 1fr auto auto auto!important;
  height:72px!important;
  padding:14px 20px 8px!important;
  gap:12px!important;
  background:rgba(255,255,255,.62)!important;
  box-shadow:0 8px 22px rgba(80,118,158,.05)!important;
}
.pm-menu{
  position:fixed!important;
  left:166px!important;
  top:18px!important;
  z-index:9!important;
  width:36px!important;
  height:36px!important;
  border-radius:18px!important;
  padding:0!important;
  color:#48628f!important;
}
.pm-menu .pm-svg,
.pm-menu svg{width:17px!important;height:17px!important}
.pm-search{
  height:42px!important;
  grid-template-columns:22px 1fr 40px!important;
  gap:8px!important;
  padding:0 12px!important;
  border-radius:21px!important;
}
.pm-search .pm-svg{width:17px!important;height:17px!important;color:#6b7ba1!important}
.pm-kbd{
  min-width:34px!important;
  border:0!important;
  border-radius:10px!important;
  background:#eef4ff!important;
  color:#8a99b9!important;
  font-size:10px!important;
  padding:4px 5px!important;
  text-align:center!important;
}
.pm-header-actions{
  justify-self:end!important;
  gap:12px!important;
}
.pm-btn,
.pm-header-actions button{
  min-width:126px!important;
  min-height:42px!important;
  height:42px!important;
  border-radius:22px!important;
  padding:0 16px!important;
  font-size:13px!important;
  gap:8px!important;
}
.pm-btn .pm-svg,
.pm-header-actions .pm-svg{width:17px!important;height:17px!important}
.pm-primary{background:linear-gradient(135deg,#0e70ff,#5ba2ff)!important}
.pm-icon-button{
  width:42px!important;
  height:42px!important;
  border-radius:21px!important;
}
.pm-icon-button .pm-svg{width:17px!important;height:17px!important}
.pm-red-dot{
  top:0!important;
  right:-2px!important;
  min-width:16px!important;
  height:16px!important;
  font-size:9px!important;
  line-height:16px!important;
}
.pm-user{
  height:42px!important;
  grid-template-columns:38px max-content 14px!important;
  gap:9px!important;
}
.pm-avatar{
  width:38px!important;
  height:38px!important;
  border-radius:19px!important;
  background:linear-gradient(135deg,#ffd2ae,#5b88c9)!important;
  border:3px solid #fff!important;
  font-size:11px!important;
}
.pm-user strong{font-size:12px!important}
.pm-user small{font-size:10px!important;margin-top:3px!important}
.pm-user-chevron .pm-svg{width:14px!important;height:14px!important}
.pm-content{
  padding:12px 20px 24px!important;
}
.pm-date-pill{
  right:20px!important;
  top:4px!important;
  height:34px!important;
  min-width:148px!important;
  border-radius:17px!important;
  font-size:12px!important;
}
.pm-date-pill .pm-svg{width:17px!important;height:17px!important}
.pm-date-pill b .pm-svg{width:13px!important;height:13px!important}
.pm-kpi-row{
  gap:14px!important;
  margin:42px 0 14px!important;
}
.pm-board-kpis{margin-top:0!important}
.pm-kpi{
  min-height:92px!important;
  grid-template-columns:58px 1fr!important;
  gap:12px!important;
  padding:16px!important;
  border-radius:16px!important;
}
.pm-kpi-icon{
  width:58px!important;
  height:58px!important;
  border-radius:18px!important;
}
.pm-kpi-icon .pm-svg{width:25px!important;height:25px!important}
.pm-kpi label{font-size:11px!important;color:#69789f!important}
.pm-kpi strong{font-size:26px!important}
.pm-kpi span{font-size:10px!important}
.pm-dashboard-grid{gap:14px!important;margin-bottom:14px!important}
.pm-card,
.panel,
.section-card,
.soft-card,
.table-wrap,
.fin-box{
  border-radius:16px!important;
  box-shadow:0 8px 24px rgba(35,71,120,.07)!important;
}
.pm-card-title{height:48px!important;padding:0 16px!important}
.pm-card-title h2{font-size:14px!important}
.pm-card-body{padding:8px 16px 16px!important}
.pm-step-circle{
  width:48px!important;
  height:48px!important;
  border-radius:18px!important;
}
.pm-step-circle .pm-svg{width:21px!important;height:21px!important}
.pm-step-blue{background:#edf5ff!important;color:#0f73ff!important;border-color:#dcecff!important}
.pm-step-green{background:#e6faef!important;color:#18bf64!important;border-color:#d5f5e3!important}
.pm-step-purple{background:#f0e8ff!important;color:#8f62ff!important;border-color:#e6d8ff!important}
.pm-step-orange{background:#fff2e8!important;color:#ff7a1a!important;border-color:#ffe1c9!important}
.pm-step:not(:last-child)::after{content:'>';position:absolute;right:-8px;top:24px;color:#b3c2d7;font-weight:900}
  content:">"!important;
  top:23px!important;
}
.pm-actions-grid button{height:70px!important}
.pm-actions-grid span{
  width:44px!important;
  height:44px!important;
}
.pm-actions-grid .pm-svg{width:21px!important;height:21px!important}
.pm-kpi.pm-clickable{
  width:100%!important;
  color:inherit!important;
  text-align:left!important;
  white-space:normal!important;
  cursor:pointer!important;
}
.pm-kpi.pm-clickable:hover,
.pm-step.pm-clickable:hover,
.pm-ring-legend button:hover{
  border-color:#c4dcff!important;
  box-shadow:0 10px 26px rgba(47,124,255,.12)!important;
}
.pm-step.pm-clickable{
  width:100%!important;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  color:inherit!important;
  white-space:normal!important;
  display:block!important;
  cursor:pointer!important;
}
.pm-step.pm-clickable:hover .pm-step-circle{
  border-color:#aecdff!important;
  box-shadow:0 8px 18px rgba(47,124,255,.13)!important;
}
.pm-ring-legend button{
  display:grid!important;
  grid-template-columns:10px 1fr auto!important;
  align-items:center!important;
  gap:7px!important;
  min-height:25px!important;
  padding:0 6px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#536982!important;
  font-size:11px!important;
  text-align:left!important;
}
.dashboard-period-select{
  max-width:142px!important;
}
.dashboard-filter-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #c8ddff;
  border-radius:14px;
  background:#eaf4ff;
  color:#183762;
  font-size:12px;
  font-weight:800;
}
.dashboard-filter-banner>div{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.dashboard-filter-banner .pm-svg{
  width:16px;
  height:16px;
  color:#2f7cff;
}
.bull-mark{
  width:52px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  background:transparent!important;
  color:#ff3038!important;
  box-shadow:none!important;
}
.login-brand .bull-mark svg{
  width:48px!important;
  height:34px!important;
}

/* Locked visual polish: circular icon wells and approved typography */
:root{
  --pm-font:Inter,"Segoe UI Variable Text","Segoe UI",Arial,sans-serif!important;
}
body,
button,
input,
select,
textarea{
  font-family:Inter,"Segoe UI Variable Text","Segoe UI",Arial,sans-serif!important;
  letter-spacing:0!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.pm-kpi-icon,
.pm-step-circle,
.pm-fin-icon,
.pm-actions-grid span,
.pm-command-title>span,
.pm-queue-list button>span{
  border-radius:50%!important;
}
.pm-kpi label,
.pm-fin-box label,
.pm-metric-head,
.pm-pipeline-foot span,
.pm-command-stat label{
  font-weight:700!important;
}
.pm-card-title h2,
.panel-title h2,
.pm-command-title h1{
  font-weight:800!important;
}
.pm-kpi strong,
.pm-step strong,
.pm-fin-box strong,
.pm-command-stat strong,
.pm-profit strong{
  font-weight:800!important;
}
.pm-step span,
.pm-actions-grid b,
.pm-needs p,
.pm-recent span,
.pm-table th,
.pm-leaders>div>div,
.pm-profit span,
.pm-queue-list strong{
  font-weight:700!important;
}
.pm-kpi span,
.pm-fin-box span,
.pm-command-title p,
.pm-command-stat span,
.pm-queue-list small{
  font-weight:600!important;
}

/* Drivers module detail form */
.driver-modal-card {
  width: min(1480px, 98vw) !important;
  max-height: 94vh !important;
}
.driver-profile-modal {
  display: grid;
  gap: 9px;
}
.driver-profile-tabs {
  margin-bottom: 0 !important;
  gap: 6px !important;
}
.driver-profile-tabs .load-tab {
  min-height: 34px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
}
.driver-tab-pane {
  display: none;
}
.driver-tab-pane.active {
  display: block;
}
.driver-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(250px, 1fr));
  gap: 10px;
  align-items: start;
}
.driver-section-personal {
  grid-column: span 2;
}
.driver-right-stack {
  display: grid;
  gap: 8px;
  align-self: start;
}
.driver-section-safety {
  grid-column: 1;
  margin-top: -76px;
}
.driver-section-general {
  grid-column: 2;
  margin-top: -76px;
}
.driver-section-full {
  grid-column: 1 / -1;
}
.driver-personal-layout {
  display: grid;
  grid-template-columns: 180px minmax(0, 740px);
  gap: 18px;
  align-items: start;
  justify-content: start;
}
.driver-personal-fields {
  display: grid;
  gap: 7px;
  max-width: 740px;
  min-width: 0;
}
.driver-headshot-panel {
  border: 1px solid var(--pm-border);
  border-radius: 15px;
  background: linear-gradient(180deg, #ffffff, #f5faff);
  padding: 8px;
  display: grid;
  gap: 6px;
  align-content: start;
}
.driver-headshot-preview {
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  border: 1px solid #d9e7fb;
  background: #eef6ff;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #2f7cff;
}
.driver-headshot-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.driver-headshot-preview span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #dcecff;
}
.driver-headshot-preview small {
  color: #6d839b;
  font-size: 10px;
  font-weight: 900;
}
.driver-headshot-panel input[type="file"] {
  display: none;
}
.driver-headshot-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.driver-headshot-panel .note {
  margin: 0;
  font-size: 10px;
}
.driver-contact-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 8px;
}
.driver-section {
  border-radius: 15px !important;
}
.driver-section h3 {
  min-height: 34px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
}
.driver-section .inside {
  gap: 7px !important;
  padding: 10px 12px !important;
}
.driver-section textarea {
  min-height: 58px;
}
.driver-section-geotab .inside {
  align-content: start;
}
.geotab-driver-status {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid #dcecff;
  border-radius: 13px;
  background: #f7fbff;
}
.geotab-driver-status strong {
  color: #102c63;
}
.geotab-driver-status span {
  display: block;
}
.geotab-driver-help {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #dcecff;
  border-radius: 11px;
  background: #f7fbff;
}
.geotab-driver-actions {
  justify-content: flex-start;
}
.driver-maintenance-account {
  display: grid;
  gap: 10px;
}
.driver-maintenance-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 10px;
}
.driver-maintenance-summary > div {
  border: 1px solid #dcecff;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #f7fbff);
  padding: 13px 14px;
  box-shadow: 0 8px 18px rgba(47,124,255,.07);
}
.driver-maintenance-summary span {
  display: block;
  color: #6d839b;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.driver-maintenance-summary strong {
  display: block;
  margin-top: 5px;
  color: #102c63;
  font-size: 20px;
  font-weight: 950;
}
.driver-maintenance-summary .good,
.driver-maintenance-table .good {
  color: #18a45b !important;
}
.driver-maintenance-summary .bad,
.driver-maintenance-table .bad {
  color: #ef4747 !important;
}
.driver-maintenance-entry-grid {
  display: grid;
  grid-template-columns: minmax(130px, .55fr) minmax(130px, .55fr) minmax(130px, .55fr) minmax(160px, .7fr) minmax(240px, 1fr) auto;
  gap: 8px;
  align-items: end;
}
.driver-maintenance-save {
  min-height: 34px !important;
  border-radius: 11px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.driver-maintenance-table-wrap {
  overflow: auto;
}
.driver-maintenance-ledger-actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}
.driver-maintenance-ledger-actions .small {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.driver-maintenance-ledger-actions .pm-svg {
  width: 15px;
  height: 15px;
}
.driver-maintenance-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}
.driver-maintenance-table th,
.driver-maintenance-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #e2efff;
  color: #263d5f;
  text-align: left;
  font-size: 12px;
}
.driver-maintenance-table th {
  background: #f7fbff;
  color: #697d96;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.driver-maintenance-table strong {
  display: block;
  color: #13284b;
  font-weight: 900;
}
.driver-maintenance-table small {
  display: block;
  margin-top: 3px;
  color: #70839b;
  font-size: 11px;
  font-weight: 800;
}
.driver-maintenance-table .money {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
}
.driver-profile-modal label.form-label {
  gap: 3px;
  font-size: 10px;
}
.driver-profile-modal input:not([type="checkbox"]):not([type="file"]),
.driver-profile-modal select,
.driver-profile-modal textarea {
  min-height: 34px !important;
  height: 34px;
  padding: 5px 10px !important;
  border-radius: 13px !important;
  font-size: 12px;
  font-weight: 750;
}
.driver-profile-modal textarea {
  height: auto;
}
.driver-profile-modal .form-row {
  gap: 7px;
}
.driver-check {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #6c8198;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 7px 10px;
  background: transparent;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
}
.driver-check input {
  width: 16px;
  height: 16px;
}
.driver-check span {
  cursor: pointer;
}
.driver-check[aria-checked="true"] {
  color: #102c63;
  background: #eaf4ff;
  border-color: #c4dcff;
  box-shadow: 0 7px 16px rgba(47,124,255,.10);
}
.driver-profile-modal input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  display: inline-grid;
  place-content: center;
  border: 2px solid #d5e5f8;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(45,83,122,.08);
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.driver-profile-modal input[type="checkbox"]::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #9cc9ff;
  transform: scale(0);
  transition: transform .15s ease;
  pointer-events: none;
}
.driver-profile-modal input[type="checkbox"]:checked,
.driver-check[aria-checked="true"] input[type="checkbox"] {
  border-color: #d9eaff;
  background: #fff;
  box-shadow: 0 4px 12px rgba(47,124,255,.16);
}
.driver-profile-modal input[type="checkbox"]:checked::before,
.driver-check[aria-checked="true"] input[type="checkbox"]::before {
  transform: scale(1);
}
.driver-profile-modal input[type="checkbox"]:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 4px rgba(47,124,255,.18), 0 8px 16px rgba(47,124,255,.18);
}
.driver-grid-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin: 4px 0 12px;
  flex-wrap: wrap;
}
.driver-filter-row input {
  width: 100%;
  min-width: 0;
  min-height: 30px;
  height: 30px;
  border-radius: 12px;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 750;
}
.data-grid-actions {
  justify-content: space-between;
}
.grid-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin-left: auto;
}
.grid-pagination label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #64799c;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}
.grid-pagination select {
  width: auto;
  min-width: 72px;
  min-height: 30px;
  height: 30px;
  padding: 3px 28px 3px 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 850;
}
.grid-page-summary {
  min-width: 76px;
  color: #64799c;
  font-size: 12px;
  font-weight: 850;
  text-align: right;
  white-space: nowrap;
}
.grid-page-buttons {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.grid-page-number.small,
.grid-page-nav.small {
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 10px;
  font-size: 12px;
}
.grid-page-number.active {
  background: linear-gradient(135deg, #5c7cff, #209ff5);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 8px 18px rgba(47,124,255,.18);
}
.grid-page-nav:disabled {
  opacity: .48;
  cursor: not-allowed;
}
.grid-page-gap {
  color: #8798b5;
  font-size: 12px;
  font-weight: 900;
  padding: 0 2px;
}
.data-grid-filter-row input,
.data-grid-filter-row select {
  width: 100%;
  min-width: 0;
}
.data-filter-grid th,
.data-filter-grid td {
  vertical-align: middle;
}
.driver-grid-table {
  table-layout: fixed;
  min-width: 1320px;
}
.driver-grid-table th,
.driver-grid-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
}
.driver-grid-table td small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.driver-grid-record {
  cursor: pointer;
}
.driver-grid-record:focus-visible {
  outline: 3px solid rgba(47,124,255,.35);
  outline-offset: -3px;
}
.driver-col-resizer {
  position: absolute;
  top: 0;
  right: -3px;
  width: 7px;
  height: 100%;
  cursor: col-resize;
  z-index: 2;
}
.driver-col-resizer:hover {
  background: rgba(47,124,255,.18);
}
.data-grid-drag-handle {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 24px;
  margin-right: 4px;
  color: #8295b4;
  cursor: grab;
  vertical-align: middle;
  border-radius: 6px;
}
.data-grid-drag-handle:hover {
  color: #2f7cff;
  background: rgba(47,124,255,.1);
}
.data-grid-drag-handle:active { cursor: grabbing; }
.data-grid-drag-handle .pm-svg { width: 15px; height: 15px; }
.data-grid-column-dragging { opacity: .5; }
.data-grid-column-drop-target {
  box-shadow: inset 3px 0 0 #2f7cff;
  background: rgba(47,124,255,.1) !important;
}
.data-resizable-grid {
  table-layout: fixed;
}
.data-resizable-grid th,
.data-resizable-grid td {
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
}
.data-resizable-grid td small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.data-grid-column-control {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}
.data-grid-column-control > span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.data-grid-column-control .small {
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 9px;
  font-size: 11px;
  white-space: nowrap;
}
.data-grid-column-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 80;
  width: 240px;
  max-height: 330px;
  overflow: auto;
  padding: 8px;
  border: 1px solid #cfe0f7;
  border-radius: 12px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 42px rgba(22,45,82,.18);
  display: grid;
  gap: 4px;
  text-align: left;
}
.data-grid-column-menu-floating {
  position: fixed;
  right: auto;
  top: auto;
  z-index: 10000;
  max-height: min(420px, calc(100vh - 40px));
}
.data-grid-scroll-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: scroll !important;
  overflow-y: auto;
  padding-bottom: 8px;
  scrollbar-gutter: stable;
  scrollbar-color: #9fc3ff #edf5ff;
  scrollbar-width: thin;
}
.data-grid-scroll-wrap::-webkit-scrollbar {
  height: 12px;
}
.data-grid-scroll-wrap::-webkit-scrollbar-track {
  background: #edf5ff;
  border-radius: 999px;
}
.data-grid-scroll-wrap::-webkit-scrollbar-thumb {
  background: #9fc3ff;
  border-radius: 999px;
  border: 2px solid #edf5ff;
}
.data-grid-column-menu label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 8px;
  color: #17325c;
  font-size: 12px;
  font-weight: 850;
  text-transform: none;
}
.data-grid-column-menu label:hover {
  background: #eef6ff;
}
.data-grid-column-menu input {
  width: 16px;
  height: 16px;
  min-height: 16px;
  padding: 0;
}
.grid-sort {
  width: auto;
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}
.driver-grid-header-content {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.grid-sort-label {
  color: inherit;
  font: inherit;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.grid-sort-arrow {
  color: #2f7cff;
  font-size: 10px;
  margin: 0;
  flex: 0 0 auto;
}
.driver-fuel-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 10px 16px;
  border-top: 1px solid #e3ecf8;
  color: #5d7397;
  font-size: 12px;
  font-weight: 750;
}
.driver-fuel-pagination label {
  display: flex;
  align-items: center;
  gap: 6px;
}
.driver-fuel-pagination select {
  width: auto;
  min-width: 70px;
  min-height: 32px;
  padding: 4px 24px 4px 8px;
}
.driver-fuel-search-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-top: 1px solid #e3ecf8;
  border-bottom: 1px solid #e3ecf8;
}
.driver-fuel-search-row .pm-svg {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  color: #2f7cff;
}
.driver-fuel-search-row input {
  width: min(720px, 100%);
}
.money-code-review .section-card {
  margin: 0;
}
@media (max-width: 1180px) {
  .driver-info-grid {
    grid-template-columns: 1fr 1fr;
  }
  .driver-section-personal {
    grid-column: 1 / -1;
  }
  .driver-personal-layout {
    grid-template-columns: 160px minmax(0, 1fr);
  }
  .driver-section-safety,
  .driver-section-general {
    grid-column: auto;
    margin-top: 0;
  }
  .driver-contact-grid {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }
  .driver-maintenance-summary,
  .driver-maintenance-entry-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 760px) {
  .driver-info-grid {
    grid-template-columns: 1fr;
  }
  .driver-personal-layout,
  .driver-contact-grid,
  .driver-maintenance-summary,
  .driver-maintenance-entry-grid {
    grid-template-columns: 1fr;
  }
}

/* Equipment module truck detail form */
.equipment-modal-card {
  width: min(1420px, 96vw) !important;
}

/* Customer module profile form */
.customer-modal-card {
  width: min(1500px, 96vw) !important;
}
.ai-review-modal-card {
  width: min(1680px, 98vw) !important;
}
.customer-profile-modal,
.customer-manager {
  display: grid;
  gap: 14px;
}
.customer-profile-tabs {
  margin-bottom: 0 !important;
}
.customer-tab-pane {
  display: none;
}
.customer-tab-pane.active {
  display: block;
}
.customer-info-grid {
  display: grid;
  grid-template-columns: minmax(285px, .9fr) minmax(330px, 1fr) minmax(330px, 1fr);
  gap: 14px;
  align-items: start;
}
.customer-info-grid-clean {
  grid-template-columns: minmax(330px, .9fr) minmax(420px, 1.1fr);
}
.customer-left-stack,
.customer-middle-stack,
.customer-right-stack,
.customer-wide-stack {
  display: grid;
  gap: 14px;
  align-content: start;
}
.customer-wide-stack {
  grid-column: 1 / -1;
}
.customer-contact-detail-grid {
  display: grid;
  grid-template-columns: minmax(620px, 1.55fr) minmax(260px, .7fr);
  gap: 14px;
  align-items: start;
}
.customer-details-panel .customer-section .inside {
  gap: 7px !important;
}
.customer-details-panel .form-label {
  grid-template-columns: 94px minmax(0, 1fr);
}
.customer-details-panel input,
.customer-details-panel select {
  min-height: 32px;
  height: 32px;
  border-radius: 14px;
  font-size: 12px;
}
.customer-section .inside {
  gap: 11px !important;
}
.customer-section textarea {
  min-height: 94px;
}
.customer-field-full {
  grid-column: 1 / -1;
}
.customer-check {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #6c8198;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  user-select: none;
}
.customer-check input {
  width: 18px;
  height: 18px;
}
.customer-check span {
  cursor: pointer;
}
.customer-check[aria-checked="true"] {
  color: #102c63;
  background: linear-gradient(180deg, #eef6ff, #e5f0ff);
  border: 1px solid #bfd7ff;
  border-radius: 999px;
  padding: 8px 12px;
  box-shadow: 0 8px 18px rgba(47,124,255,.12);
}
.customer-check[aria-checked="true"] input[type="checkbox"] {
  border-color: #2f7cff;
  background: #fff;
  box-shadow: 0 8px 16px rgba(47,124,255,.22);
}
.customer-check[aria-checked="true"] input[type="checkbox"]::before {
  background: #2f7cff;
  transform: scale(1);
}
.customer-profile-modal input[type="checkbox"],
.carrier-profile-modal input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  display: inline-grid;
  place-content: center;
  border: 2px solid #b9cdec;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(45,83,122,.08);
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.customer-profile-modal input[type="checkbox"]::before,
.carrier-profile-modal input[type="checkbox"]::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #fff;
  transform: scale(0);
  transition: transform .15s ease;
  pointer-events: none;
}
.customer-profile-modal input[type="checkbox"]:checked,
.carrier-profile-modal input[type="checkbox"]:checked {
  border-color: #2f7cff;
  background: #2f7cff;
  box-shadow: 0 8px 16px rgba(47,124,255,.22);
}
.customer-profile-modal input[type="checkbox"]:checked::before,
.carrier-profile-modal input[type="checkbox"]:checked::before {
  transform: scale(1);
}
.customer-profile-modal input[type="checkbox"]:focus-visible,
.carrier-profile-modal input[type="checkbox"]:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 4px rgba(47,124,255,.18), 0 8px 16px rgba(47,124,255,.18);
}
.customer-profile-modal [data-customer-check="quick_pay"][aria-checked="true"],
.carrier-profile-modal [data-carrier-check="quickpay"][aria-checked="true"],
.carrier-profile-modal [data-carrier-check="ok_to_load"][aria-checked="true"] {
  color: #fff;
  background: linear-gradient(180deg, #4091ff, #236df1);
  border-color: #236df1;
}
.customer-profile-modal [data-customer-check="quick_pay"][aria-checked="true"] input,
.carrier-profile-modal [data-carrier-check="quickpay"][aria-checked="true"] input,
.carrier-profile-modal [data-carrier-check="ok_to_load"][aria-checked="true"] input {
  border-color: #fff;
  background: #fff;
}
.customer-profile-modal [data-customer-check="quick_pay"][aria-checked="true"] input::before,
.carrier-profile-modal [data-carrier-check="quickpay"][aria-checked="true"] input::before,
.carrier-profile-modal [data-carrier-check="ok_to_load"][aria-checked="true"] input::before {
  background: #145fe8;
}
.customer-profile-modal [data-customer-check="prohibit_above_credit_limit"][aria-checked="true"],
.customer-profile-modal [data-customer-check="on_hold"][aria-checked="true"] {
  color: #9f1239;
  background: linear-gradient(180deg, #fff1f2, #ffe4e6);
  border-color: #fda4af;
  box-shadow: 0 8px 18px rgba(225,29,72,.14);
}
.customer-profile-modal [data-customer-check="prohibit_above_credit_limit"][aria-checked="true"] input,
.customer-profile-modal [data-customer-check="on_hold"][aria-checked="true"] input {
  border-color: #fb7185;
  background: #fff;
  box-shadow: 0 8px 16px rgba(225,29,72,.18);
}
.customer-profile-modal [data-customer-check="prohibit_above_credit_limit"][aria-checked="true"] input::before,
.customer-profile-modal [data-customer-check="on_hold"][aria-checked="true"] input::before {
  background: #e11d48;
  transform: scale(1);
}
.customer-profile-modal .muted-field {
  opacity: .56;
}
.customer-profile-modal .muted-field select,
.customer-profile-modal .muted-field input {
  background: #f4f8fd;
  cursor: not-allowed;
}
.customer-details-horizontal {
  display: grid;
  grid-template-columns: minmax(130px, .55fr) repeat(4, minmax(145px, 1fr));
  gap: 10px;
  align-items: end;
}
.customer-details-horizontal .form-label {
  grid-template-columns: 1fr;
  gap: 5px;
}
.customer-details-horizontal .form-label span {
  min-height: 14px;
}
.customer-details-horizontal input,
.customer-details-horizontal select {
  min-height: 34px;
  height: 34px;
}
.customer-file-toolbar {
  align-items: center;
  flex-wrap: wrap;
}
.customer-files-table table.grid {
  min-width: 760px;
}
.customer-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 12px;
}
.customer-summary {
  margin-bottom: 14px;
}
.customer-manager,
.carrier-manager,
.customer-manager .panel-body,
.carrier-manager .panel-body {
  min-width: 0;
}
.customer-manager .data-grid-scroll-wrap,
.carrier-manager .data-grid-scroll-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: scroll !important;
}
.customer-manager .data-grid-scroll-wrap > .grid,
.carrier-manager .data-grid-scroll-wrap > .grid {
  width: max-content !important;
  min-width: 2600px !important;
}
.customer-grid {
  min-width: 2600px;
}
.customer-contacts-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.customer-contacts-table table.grid {
  min-width: 920px;
}
.customer-commission-table table.grid {
  min-width: 900px;
}
.carrier-modal-card {
  width: min(1460px, 96vw) !important;
}
.carrier-profile-modal,
.carrier-manager {
  display: grid;
  gap: 14px;
}
.carrier-lookup-strip {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) minmax(180px, .8fr) auto minmax(260px, 1.1fr);
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid #dce9f7;
  border-radius: 16px;
  background: linear-gradient(180deg, #fbfdff, #f5f9ff);
}
.carrier-info-grid {
  display: grid;
  grid-template-columns: minmax(360px, .95fr) minmax(420px, 1.05fr);
  gap: 14px;
  align-items: start;
}
.carrier-left-stack,
.carrier-right-stack,
.carrier-wide-stack {
  display: grid;
  gap: 14px;
  align-content: start;
}
.carrier-wide-stack {
  grid-column: 1 / -1;
}
.carrier-section .inside {
  gap: 11px !important;
}
.carrier-ok-note {
  padding: 10px 12px;
  border: 1px solid #bee8cf;
  background: #f0fff6;
  color: #128047;
  border-radius: 14px;
  font-weight: 850;
  font-size: 12px;
}
.carrier-ok-note.blocked {
  border-color: #ffd0d6;
  background: #fff4f5;
  color: #d71920;
}
.carrier-contacts-table table.grid {
  min-width: 1120px;
}
.carrier-grid {
  min-width: 2600px;
}
@media (max-width: 1180px) {
  .customer-contact-detail-grid {
    grid-template-columns: 1fr;
  }
  .customer-details-horizontal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .carrier-lookup-strip,
  .carrier-info-grid {
    grid-template-columns: 1fr;
  }
}
.customer-contacts-table input[type="checkbox"] {
  width: 18px;
  height: 18px;
}
.customer-contacts-table td,
.customer-contacts-table th {
  white-space: nowrap;
}
.customer-contacts-table input {
  min-width: 110px;
}
@media (max-width: 1280px) {
  .customer-info-grid {
    grid-template-columns: 1fr 1fr;
  }
  .customer-right-stack,
  .customer-wide-stack {
    grid-column: 1 / -1;
  }
}
@media (max-width: 820px) {
  .customer-info-grid,
  .customer-details-horizontal,
  .carrier-lookup-strip,
  .carrier-info-grid,
  .customer-type-grid {
    grid-template-columns: 1fr;
  }
}
.equipment-manager-tabs {
  margin-bottom: 12px !important;
}
.equipment-manager .panel-title.toolbar.spread {
  gap: 12px;
}
.equipment-manager .panel-title h2 {
  flex: 0 0 auto;
}
.equipment-manager .panel-title .toolbar-right {
  flex: 1 1 520px;
  min-width: 280px;
  justify-content: flex-end;
}
.equipment-kind-summary {
  margin-bottom: 14px;
}
.equipment-grid {
  min-width: 1180px !important;
}
button.primary.light {
  background: linear-gradient(180deg, #ffffff, #edf6ff);
  color: var(--blue2);
  border-color: var(--pm-border);
}
.equipment-profile-modal {
  display: grid;
  gap: 14px;
}
.equipment-profile-tabs {
  margin-bottom: 0 !important;
}
.equipment-tab-pane {
  display: none;
}
.equipment-tab-pane.active {
  display: block;
}
.equipment-info-grid {
  display: grid;
  grid-template-columns: minmax(300px, .95fr) minmax(300px, .95fr) minmax(300px, .8fr);
  gap: 14px;
  align-items: stretch;
}
.equipment-left-stack,
.equipment-middle-stack,
.equipment-right-stack {
  display: grid;
  gap: 14px;
  align-content: start;
}
.equipment-middle-stack .equipment-section {
  min-height: 100%;
}
.trailer-info-grid .equipment-middle-stack .equipment-section {
  min-height: 0;
}
.equipment-section .inside {
  gap: 11px !important;
}
.equipment-section textarea {
  min-height: 96px;
}
.equipment-check {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #6c8198;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 7px 10px;
  background: transparent;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
}
.equipment-check input {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  display: inline-grid;
  place-content: center;
  border: 2px solid #d5e5f8;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(45,83,122,.08);
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.equipment-check input::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #9cc9ff;
  transform: scale(0);
  transition: transform .15s ease;
  pointer-events: none;
}
.equipment-check input:checked,
.equipment-check[aria-checked="true"] input {
  border-color: #d9eaff;
  background: #fff;
  box-shadow: 0 4px 12px rgba(47,124,255,.16);
}
.equipment-check input:checked::before,
.equipment-check[aria-checked="true"] input::before {
  transform: scale(1);
}
.equipment-check[aria-checked="true"] {
  color: #102c63;
  background: #eaf4ff;
  border-color: #c4dcff;
  box-shadow: 0 7px 16px rgba(47,124,255,.10);
}
.equipment-file-toolbar {
  align-items: center;
  flex-wrap: wrap;
}
.maintenance-schedule-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) minmax(160px, .8fr) minmax(160px, .8fr) minmax(150px, .7fr) auto;
  gap: 10px;
  align-items: center;
  margin: 0 0 14px;
}
.maintenance-schedule-filters label {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--pm-border);
  border-radius: 12px;
  background: #fff;
  padding: 0 12px;
  color: #52749d;
}
.maintenance-schedule-filters input,
.maintenance-schedule-filters select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--pm-border);
  border-radius: 12px;
  background: #fff;
  color: #14294c;
  font-weight: 750;
  padding: 0 12px;
}
.maintenance-schedule-filters label input {
  min-height: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.maintenance-chip {
  display: inline-flex;
  align-items: center;
  max-width: 180px;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: #f1f6fb;
  color: #17345b;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.maintenance-schedule-table td {
  height: 54px;
}
.maintenance-schedule-modal {
  display: grid;
  gap: 12px;
}
.maintenance-field-full {
  grid-column: 1 / -1;
}
.maintenance-asset-picker {
  border: 1px solid var(--pm-border);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f7fbff);
  padding: 12px;
  display: grid;
  gap: 12px;
}
.maintenance-asset-picker-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}
.maintenance-asset-picker-head strong {
  color: #112b55;
  font-size: 13px;
  font-weight: 900;
}
.maintenance-asset-picker-head span {
  color: #70849d;
  font-size: 11px;
  font-weight: 750;
}
.maintenance-asset-scope-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.maintenance-asset-scope {
  min-height: 34px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid var(--pm-border) !important;
  color: #315071 !important;
  box-shadow: none !important;
}
.maintenance-asset-scope.active {
  background: #eaf4ff !important;
  border-color: #b9d5ff !important;
  color: #102c63 !important;
  box-shadow: 0 7px 16px rgba(47,124,255,.10) !important;
}
.maintenance-asset-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  max-height: 260px;
  overflow: auto;
}
.maintenance-asset-list > div {
  border: 1px solid var(--pm-border-2);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  padding: 10px;
  display: grid;
  gap: 7px;
  align-content: start;
}
.maintenance-asset-list h4 {
  margin: 0 0 4px;
  color: #16335c;
  font-size: 12px;
  font-weight: 900;
}
.maintenance-asset-option span {
  display: grid;
  gap: 1px;
}
.maintenance-asset-option small {
  color: #7890aa;
  font-size: 10px;
  font-weight: 800;
}
.maintenance-upcoming-page .panel-title {
  align-items: center;
}
.maintenance-mile-filter {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #687d97;
  font-size: 12px;
  font-weight: 900;
}
.maintenance-mile-filter input {
  width: 118px;
  min-height: 34px;
  border-radius: 999px;
  font-weight: 900;
}
.maintenance-upcoming-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.maintenance-status-tabs {
  display: flex;
  align-items: center;
  gap: 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--pm-border);
  background: #f8fbff;
}
.maintenance-status-tabs button {
  min-height: 40px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #43607e !important;
  box-shadow: none !important;
  padding: 0 14px !important;
  font-size: 12px !important;
}
.maintenance-status-tabs button + button {
  border-left: 1px solid var(--pm-border) !important;
}
.maintenance-status-tabs button.active {
  background: #2f7cff !important;
  color: #fff !important;
}
.maintenance-status-tabs .pm-svg {
  width: 16px;
  height: 16px;
}
.maintenance-upcoming-search {
  min-width: 260px;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--pm-border);
  border-radius: 999px;
  background: #fff;
  padding: 0 12px;
  color: #52749d;
}
.maintenance-upcoming-search input {
  min-height: 0;
  border: 0;
  padding: 0;
  box-shadow: none;
}
.maintenance-upcoming-table .grid {
  min-width: 1500px;
}
.maintenance-upcoming-table td {
  height: 42px;
}
.maintenance-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  border: 1px solid #dbe7f7;
  background: #f4f8fd;
  color: #455f7c;
}
.maintenance-status-badge.status-overdue {
  background: #fff0f1;
  border-color: #ffc9ce;
  color: #d71920;
}
.maintenance-status-badge.status-due-soon {
  background: #fff6df;
  border-color: #ffe3a3;
  color: #a96d00;
}
.link-button {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #2f7cff !important;
  padding: 0 !important;
  min-height: 0 !important;
  font-weight: 900;
}
.equipment-subtitle {
  margin: 2px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--pm-border-2);
  color: #1f3558;
  font-size: 12px;
  font-weight: 900;
}

.equipment-row {
  cursor: pointer;
}
.equipment-row:hover td {
  background: #f7fbff;
}
.equipment-workspace-title {
  align-items: flex-start;
}
.equipment-workspace-title h2 {
  margin-top: 8px;
}
.equipment-back {
  margin-bottom: 2px;
}
.equipment-workspace-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.equipment-mini-stat {
  min-height: 104px;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,250,255,.94));
  box-shadow: var(--pm-shadow-soft);
  padding: 15px 16px;
  display: grid;
  align-content: center;
  gap: 7px;
}
.equipment-mini-stat span {
  color: #70859d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.equipment-mini-stat strong {
  color: #162a4c;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 900;
}
.equipment-mini-stat small {
  color: #7b8fa7;
  font-size: 12px;
  line-height: 1.35;
}
.equipment-detail-tabs {
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 14px !important;
}
.equipment-detail-pane {
  min-height: 420px;
}
.equipment-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 14px;
  align-items: start;
}
.equipment-detail-grid.two-col {
  grid-template-columns: repeat(2, minmax(320px, 1fr));
}
.equipment-detail-grid .equipment-section {
  min-height: 100%;
}
.equipment-detail-grid .equipment-field-full {
  grid-column: 1 / -1;
}
@media (max-width: 1280px) {
  .equipment-workspace-summary {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
  .equipment-detail-grid,
  .equipment-detail-grid.two-col {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .equipment-workspace-summary {
    grid-template-columns: 1fr;
  }
  .equipment-workspace-title .toolbar-right {
    justify-content: flex-start;
    width: 100%;
  }
}

@media (max-width: 1280px) {
  .equipment-manager .panel-title .toolbar-right {
    flex-basis: 100%;
    justify-content: flex-start;
  }
  .maintenance-schedule-filters {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
  .maintenance-asset-list {
    grid-template-columns: 1fr;
  }
  .maintenance-upcoming-toolbar {
    align-items: stretch;
  }
  .maintenance-upcoming-search {
    width: 100%;
  }
  .equipment-info-grid {
    grid-template-columns: 1fr 1fr;
  }
  .equipment-right-stack {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 820px) {
  .equipment-info-grid,
  .equipment-right-stack,
  .maintenance-schedule-filters {
    grid-template-columns: 1fr;
  }
  .maintenance-status-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
  .maintenance-status-tabs button + button {
    border-left: 0 !important;
    border-top: 1px solid var(--pm-border) !important;
  }
  .maintenance-mile-filter {
    width: 100%;
    justify-content: space-between;
  }
}

/* Admin workspace tabs and company data */
.admin-workspace .panel-title {
  align-items: center;
}
.admin-tabs {
  display: flex;
  gap: 8px;
  align-items: center;
  overflow-x: auto;
  padding: 0 0 14px;
  margin-bottom: 4px;
}
.admin-tab {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--pm-border);
  background: rgba(255,255,255,.84);
  color: #647c96;
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}
.admin-tab.active {
  background: linear-gradient(180deg, #e9f6ff, #ffffff);
  color: var(--blue2);
  box-shadow: 0 12px 26px rgba(52, 152, 219, .16);
}
.admin-tab.muted {
  opacity: .62;
}
.admin-company-grid,
.admin-factor-grid {
  display: grid;
  grid-template-columns: minmax(320px, .95fr) minmax(340px, 1.05fr);
  gap: 14px;
  align-items: start;
}
.admin-dense-form {
  gap: 7px !important;
}
.admin-dense-form .form-label,
.admin-address-row .form-label {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.admin-dense-form .form-label span,
.admin-address-row .form-label span {
  margin: 0;
  color: #15385f;
}
.admin-dense-form input,
.admin-dense-form select,
.admin-address-row input,
.admin-address-row select {
  min-height: 30px;
  border-radius: 10px;
}
.admin-address-row {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) minmax(150px, .8fr) minmax(130px, .7fr);
  gap: 8px;
}
.admin-logo-panel {
  align-content: start;
}
.admin-logo-preview {
  min-height: 122px;
  display: grid;
  place-items: center;
  border: 1px solid var(--pm-border);
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  overflow: hidden;
}
.admin-logo-img {
  max-width: 100%;
  max-height: 110px;
  object-fit: contain;
}
.admin-logo-placeholder {
  display: grid;
  gap: 4px;
  place-items: center;
  color: #dc1726;
  font-weight: 1000;
  letter-spacing: 0;
}
.admin-logo-mark svg {
  width: 54px;
  height: 38px;
  fill: #dc1726;
}
.admin-logo-placeholder span {
  color: #dc1726;
  font-size: 10px;
}
.admin-hidden-file {
  display: none;
}
.admin-horizontal-field {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  gap: 10px;
  align-items: end;
}
.admin-factor-selector {
  margin-bottom: 14px;
}
.admin-full {
  grid-column: 1 / -1;
}
.admin-users-grid {
  min-width: 940px !important;
}
.admin-user-modal {
  display: grid;
  gap: 12px;
}
.admin-access-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px 12px !important;
}
@media (max-width: 980px) {
  .admin-company-grid,
  .admin-factor-grid,
  .admin-horizontal-field,
  .admin-address-row {
    grid-template-columns: 1fr;
  }
  .admin-dense-form .form-label,
  .admin-address-row .form-label {
    grid-template-columns: 1fr;
  }
  .admin-access-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .admin-access-grid {
    grid-template-columns: 1fr;
  }
}

/* Dispatch board fleet view */
.pm-dispatch-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}
.pm-dispatch-hero h1 {
  margin: 0;
  color: #10234b;
  font-size: 27px;
  line-height: 1.1;
  font-weight: 900;
}
.pm-dispatch-hero h1 span {
  display: inline-grid;
  place-items: center;
  min-width: 30px;
  height: 26px;
  padding: 0 8px;
  margin-left: 8px;
  border-radius: 999px;
  background: #3f7cff;
  color: #fff;
  font-size: 13px;
}
.pm-dispatch-hero p {
  margin: 6px 0 0;
  color: var(--pm-muted);
  font-size: 13px;
  font-weight: 700;
}
.pm-dispatch-actions,
.pm-dispatch-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.pm-dispatch-kpis {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 0;
}
.pm-dispatch-layout {
  display: grid;
  grid-template-columns: minmax(720px, 1fr) 360px;
  gap: 18px;
  align-items: stretch;
}
.pm-dispatch-layout.density-compact {
  grid-template-columns: minmax(560px, .92fr) minmax(500px, 1.08fr);
  align-items: stretch;
}
.pm-dispatch-board-card {
  overflow: hidden;
}
.pm-dispatch-toolbar {
  padding: 16px 18px;
  border-bottom: 1px solid var(--pm-border-2);
}
.pm-dispatch-toolbar input {
  flex: 1 1 280px;
  max-width: 360px;
}
.pm-dispatch-toolbar select {
  max-width: 180px;
}
.pm-dispatch-table-wrap {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  max-height: 494px;
  overflow: auto !important;
  scrollbar-color: #9fc3ff #edf5ff;
  scrollbar-width: thin;
}
.pm-dispatch-table-wrap.compact {
  max-height: 426px;
}
.pm-dispatch-table {
  min-width: 1260px !important;
}
.pm-dispatch-table-wrap.compact .pm-dispatch-table {
  min-width: 860px !important;
}
.pm-dispatch-table thead th {
  z-index: 8;
}
.pm-dispatch-table th,
.pm-dispatch-table td {
  padding: 9px 11px !important;
}
.pm-dispatch-table-wrap.compact .pm-dispatch-table th,
.pm-dispatch-table-wrap.compact .pm-dispatch-table td {
  padding: 6px 8px !important;
}
.pm-dispatch-driver-row td {
  height: 45px;
}
.pm-dispatch-table-wrap.compact .pm-dispatch-driver-row td {
  height: 36px;
}
.pm-dispatch-table-wrap.compact .status-pill {
  padding: 4px 8px;
  font-size: 10px;
}
.pm-dispatch-table td strong,
.pm-trip-drop-inner strong,
.pm-side-list strong {
  display: block;
  color: #18305a;
  font-size: 12px;
  font-weight: 900;
}
.pm-dispatch-table td small,
.pm-trip-drop-inner small,
.pm-side-list span {
  display: block;
  color: #73859c;
  font-size: 11px;
  font-weight: 700;
  margin-top: 2px;
}
.pm-dispatch-table-wrap.compact .pm-dispatch-table td strong {
  font-size: 11px;
}
.pm-dispatch-table-wrap.compact .pm-dispatch-table td small {
  font-size: 10px;
}
.pm-dispatch-truck-cell {
  position: relative;
}
.pm-hos-inline-popover {
  position: absolute;
  left: 8px;
  top: calc(100% - 2px);
  z-index: 25;
  width: 232px;
  display: none;
  gap: 7px;
  padding: 12px 13px;
  border: 1px solid #d9e8ff;
  border-radius: 16px;
  background: rgba(255,255,255,.99);
  box-shadow: 0 18px 45px rgba(26, 67, 120, .22);
  white-space: normal;
}
.pm-dispatch-compact-row:hover .pm-hos-inline-popover {
  display: grid;
}
.pm-hos-inline-popover strong {
  color: #10234b !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}
.pm-hos-inline-popover > span {
  color: #5f7390;
  font-size: 11px;
  font-weight: 900;
  margin-top: -4px;
}
.pm-hos-inline-popover div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding-top: 7px;
  border-top: 1px solid #edf4fe;
}
.pm-hos-inline-popover b {
  color: #6e8097;
  font-size: 11px;
  font-weight: 900;
}
.pm-hos-inline-popover em {
  color: #18305a;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}
.pm-plus {
  width: 25px;
  height: 25px;
  border-radius: 9px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center;
  font-size: 17px !important;
  font-weight: 900 !important;
}
.linklike {
  border: 0 !important;
  background: transparent !important;
  color: #2f74f6 !important;
  padding: 0 !important;
  min-height: 0 !important;
  box-shadow: none !important;
  font-weight: 900 !important;
}
.pm-hos {
  display: grid;
  gap: 5px;
  min-width: 82px;
}
.pm-dispatch-table-wrap.compact .pm-hos {
  min-width: 68px;
  gap: 4px;
}
.pm-hos span {
  color: #1e365d;
  font-size: 12px;
  font-weight: 900;
}
.pm-dispatch-table-wrap.compact .pm-hos span {
  font-size: 11px;
}
.pm-hos i {
  display: block;
  height: 5px;
  border-radius: 999px;
  background: #edf3fb;
  overflow: hidden;
}
.pm-hos b {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: #35ba70;
}
.pm-hos.low b {
  background: #ffb02e;
}
.pm-trip-drop td {
  background: #f8fbff !important;
}
.pm-trip-drop-inner {
  display: grid;
  gap: 8px;
  padding: 8px 0;
}
.pm-trip-drop-inner button {
  min-height: 54px;
  display: grid !important;
  grid-template-columns: 95px minmax(240px, 1fr) 130px 180px;
  gap: 12px;
  align-items: center;
  text-align: left !important;
  background: #fff !important;
  border: 1px solid var(--pm-border-2) !important;
  box-shadow: none !important;
}
.pm-trip-drop-inner em,
.pm-side-list em {
  color: #2f74f6;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
  justify-self: end;
}
.pm-dispatch-side {
  display: grid;
  gap: 14px;
  max-height: 592px;
  overflow-y: auto;
  padding-right: 2px;
  scrollbar-color: #9fc3ff #edf5ff;
  scrollbar-width: thin;
}
.pm-dispatch-layout.density-compact .pm-dispatch-side {
  display: block;
  max-height: none;
  overflow: visible;
  padding-right: 0;
}
.pm-side-card .pm-card-title {
  height: 44px;
  padding: 0 14px;
}
.pm-side-card .pm-card-title h2 {
  font-size: 14px;
}
.pm-side-card .pm-card-title span {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  margin-left: 5px;
  border-radius: 999px;
  background: #fff0f1;
  color: #ef4747;
  font-size: 11px;
}
.pm-map-fake {
  height: 190px;
  margin: 0 14px 14px;
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--pm-border-2);
  background:
    linear-gradient(135deg, rgba(46, 125, 246, .14), transparent 36%),
    linear-gradient(45deg, rgba(53, 186, 112, .12), transparent 42%),
    #eef7f2;
}
.pm-map-fake i {
  position: absolute;
  left: 18%;
  top: 62%;
  width: 70%;
  border-top: 2px dashed #ef4747;
  transform: rotate(-18deg);
}
.pm-map-marker {
  position: absolute;
  width: 25px;
  height: 25px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #3f7cff;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 6px 18px rgba(47, 116, 246, .25);
}
.pm-map-marker.m1{left:18%;top:20%}.pm-map-marker.m2{left:48%;top:37%}.pm-map-marker.m3{left:72%;top:22%}.pm-map-marker.m4{left:67%;top:62%}.pm-map-marker.m5{left:32%;top:70%}.pm-map-marker.m6{left:80%;top:46%}.pm-map-marker.m7{left:12%;top:58%}.pm-map-marker.m8{left:56%;top:16%}
.pm-tracking-side-card {
  overflow: hidden;
}
.pm-dispatch-layout.density-compact .pm-tracking-side-card {
  height: 100%;
  min-height: 520px;
  display: flex;
}
.tracking-map-shell {
  padding: 14px;
}
.pm-dispatch-layout.density-compact .tracking-map-shell.large {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.tracking-map-shell.compact {
  padding: 0 14px 14px;
}
.tracking-map-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.tracking-map-head h3 {
  margin: 0;
  color: #0d1b45;
  font-size: 15px;
  font-weight: 900;
}
.tracking-map-head span {
  display: block;
  margin-top: 3px;
  color: #7688a4;
  font-size: 11px;
  font-weight: 800;
}
.tracking-map-head .small {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px !important;
  padding: 0 !important;
}
.tracking-map-canvas {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  border: 1px solid var(--pm-border-2);
  border-radius: 18px;
  background:
    radial-gradient(circle at 80% 24%, rgba(76, 180, 245, .22) 0 8%, transparent 9%),
    radial-gradient(circle at 20% 76%, rgba(55, 186, 112, .14) 0 12%, transparent 13%),
    linear-gradient(28deg, transparent 0 28%, rgba(112, 161, 114, .24) 29% 31%, transparent 32% 62%, rgba(75, 130, 246, .12) 63% 66%, transparent 67%),
    linear-gradient(0deg, #edf7ff 0 42%, #f2faf5 43% 100%);
}
.tracking-map-shell.compact .tracking-map-canvas {
  min-height: 210px;
}
.tracking-map-shell.large .tracking-map-canvas {
  min-height: 382px;
}
.pm-dispatch-layout.density-compact .tracking-map-shell.large .tracking-map-canvas {
  flex: 1 1 auto;
  min-height: 468px;
}
.equipment-tracking-card .tracking-map-canvas {
  min-height: 458px;
}
.tracking-map-canvas:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(77, 105, 139, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(77, 105, 139, .12) 1px, transparent 1px);
  background-size: 64px 52px;
  pointer-events: none;
}
.tracking-map-mode,
.tracking-map-label {
  position: absolute;
  z-index: 5;
  color: #51627b;
  font-size: 11px;
  font-weight: 900;
  text-shadow: 0 1px 0 rgba(255,255,255,.75);
}
.tracking-map-mode {
  left: 12px;
  bottom: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(207, 222, 242, .85);
}
.tracking-map-label.west { left: 18%; top: 42%; }
.tracking-map-label.central { left: 47%; top: 48%; }
.tracking-map-label.east { right: 18%; top: 37%; }
.tracking-route-lines {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.tracking-route-lines line {
  stroke: rgba(47, 116, 246, .72);
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-dasharray: 4 4;
}
.tracking-map-marker {
  position: absolute;
  z-index: 8;
  width: 34px;
  height: 34px;
  display: grid !important;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 3px solid #fff !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #2f74f6 !important;
  box-shadow: 0 10px 24px rgba(16, 42, 84, .22) !important;
  padding: 0 !important;
}
.tracking-map-marker span {
  max-width: 28px;
  overflow: hidden;
  color: #fff;
  font-size: 10px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracking-map-marker.available { background: #22b86f !important; }
.tracking-map-marker.pickup { background: #21bf73 !important; }
.tracking-map-marker.delivery { background: #ff8a3d !important; }
.tracking-map-marker.transit { background: #2f74f6 !important; }
.tracking-map-marker.danger { background: #ef4747 !important; }
.tracking-map-marker.neutral { background: #7284a3 !important; }
.tracking-map-empty {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 7;
  transform: translate(-50%, -50%);
  color: #7284a3;
  font-size: 13px;
  font-weight: 900;
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(207, 222, 242, .8);
}
.tracking-google-map {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 12;
}
.tracking-map-canvas.is-google-live .tracking-google-map,
.is-google-live .tracking-google-map {
  display: block;
}
.tracking-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.tracking-map-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #607189;
  font-size: 11px;
  font-weight: 900;
}
.tracking-map-legend i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #7284a3;
}
.tracking-map-legend i.transit { background: #2f74f6; }
.tracking-map-legend i.pickup { background: #21bf73; }
.tracking-map-legend i.delivery { background: #ff8a3d; }
.tracking-map-legend i.available { background: #22b86f; }
.tracking-map-legend i.danger { background: #ef4747; }
.tracking-map-legend b {
  color: #0d1b45;
}
.tracking-motion-legend {
  margin-top: 6px;
  padding-top: 8px;
  border-top: 1px solid var(--pm-border-2);
}
.tracking-motion-symbol {
  width: 19px;
  height: 19px;
  display: inline-grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #2f74f6;
  color: #fff;
  box-shadow: 0 1px 4px rgba(21, 63, 137, .28);
  font-size: 9px;
  font-style: normal;
  line-height: 1;
}
.tracking-motion-symbol.moving {
  padding-left: 1px;
  background: #21bf73;
}
.tracking-motion-symbol.pause {
  letter-spacing: -3px;
  padding-right: 3px;
  font-size: 8px;
}
.tracking-motion-symbol.square {
  font-size: 9px;
}
.dispatch-map-view .tracking-map-canvas {
  min-height: 520px;
}
.tracking-position-table {
  margin-top: 18px;
}
.pm-side-list {
  display: grid;
  gap: 0;
  padding: 0 14px 14px;
}
.pm-side-list button {
  width: 100%;
  min-height: 52px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 10px;
  align-items: center;
  text-align: left !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-bottom: 1px solid var(--pm-border-2) !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 9px 0 !important;
}
.pm-side-list button:last-child {
  border-bottom: 0 !important;
}
.pm-side-list button span {
  grid-column: 1 / -1;
}
.pm-dispatch-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  margin-top: 18px;
}
.pm-dispatch-bottom.density-compact {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
}
.pm-dispatch-bottom.density-compact .pm-card {
  min-width: 0;
  overflow: hidden;
}
.pm-dispatch-bottom.density-compact .pm-card-title {
  min-height: 40px;
  height: 40px;
  padding: 0 10px;
}
.pm-dispatch-bottom.density-compact .pm-card-title h2 {
  font-size: 12px;
}
.pm-dispatch-bottom.density-compact .pm-card-title a {
  font-size: 10px;
}
.pm-dispatch-bottom.density-compact .pm-side-list {
  max-height: 188px;
  overflow: hidden;
  padding: 0 10px 10px;
}
.pm-dispatch-bottom.density-compact .pm-side-list button {
  min-height: 42px;
  padding: 6px 0 !important;
}
.pm-dispatch-bottom.density-compact .pm-side-list strong,
.pm-dispatch-bottom.density-compact .pm-side-list span,
.pm-dispatch-bottom.density-compact .pm-side-list em {
  font-size: 10px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-status-body {
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 8px;
  padding: 0 10px 10px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-donut {
  width: 76px;
  height: 76px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-donut > div {
  width: 52px;
  height: 52px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-donut strong {
  font-size: 15px;
  margin-top: 8px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-donut span {
  font-size: 8px;
  margin-top: -11px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-status-legend {
  gap: 4px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-status-legend div {
  grid-template-columns: 8px minmax(0, 1fr);
  gap: 5px;
  font-size: 10px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-status-legend strong {
  display: none;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 0 10px 10px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-metrics div {
  min-height: 58px;
  padding: 8px;
  border-radius: 14px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-metrics span {
  font-size: 9px;
}
.pm-dispatch-bottom.density-compact .pm-dispatch-metrics strong {
  font-size: 15px;
}
.pm-dispatch-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0 18px 18px;
}
.pm-dispatch-metrics div {
  min-height: 92px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 16px;
  border: 1px solid var(--pm-border-2);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #f8fbff);
}
.pm-dispatch-metrics span {
  color: #6b7f98;
  font-size: 12px;
  font-weight: 900;
}
.pm-dispatch-metrics strong {
  color: #10234b;
  font-size: 25px;
  font-weight: 900;
}
@media (max-width: 1320px) {
  .pm-dispatch-layout,
  .pm-dispatch-bottom {
    grid-template-columns: 1fr;
  }
  .pm-dispatch-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 860px) {
  .pm-dispatch-hero {
    display: grid;
  }
  .pm-dispatch-kpis,
  .pm-dispatch-side,
  .pm-dispatch-bottom,
  .pm-dispatch-metrics {
    grid-template-columns: 1fr;
  }
}
/* Dispatch board design refinements */
.pm-dispatch-actions-cell {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 142px;
}
.pm-dispatch-table-wrap.compact .pm-dispatch-actions-cell {
  min-width: 96px;
  gap: 4px;
}
.pm-action-icon {
  width: 30px;
  height: 30px;
  min-height: 30px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #2f74f6 !important;
  box-shadow: none !important;
}
.pm-action-icon:hover {
  background: #eef5ff !important;
  border-color: #d9e8ff !important;
}
.pm-action-icon .pm-svg {
  width: 16px;
  height: 16px;
}
.pm-dispatch-table-wrap.compact .pm-action-icon {
  width: 27px;
  height: 27px;
  min-height: 27px !important;
}
.pm-dispatch-table-wrap.compact .pm-action-icon .pm-svg {
  width: 14px;
  height: 14px;
}
.pm-hos-floating {
  position: fixed;
  z-index: 9999;
  width: 238px;
  display: none;
  gap: 7px;
  padding: 13px 14px;
  border: 1px solid #d9e8ff;
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 45px rgba(26, 67, 120, .22);
  pointer-events: none;
}
.pm-hos-floating.show {
  display: grid;
}
.pm-hos-floating strong {
  color: #10234b;
  font-size: 13px;
  font-weight: 950;
}
.pm-hos-floating > span {
  color: #5f7390;
  font-size: 11px;
  font-weight: 900;
  margin-top: -4px;
}
.pm-hos-floating div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding-top: 7px;
  border-top: 1px solid #edf4fe;
}
.pm-hos-floating b {
  color: #6e8097;
  font-size: 11px;
  font-weight: 900;
}
.pm-hos-floating em {
  color: #18305a;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}
.pm-dispatch-bottom {
  grid-template-columns: 1fr 1.45fr;
}
.pm-dispatch-status-body {
  display: grid;
  grid-template-columns: 145px 1fr;
  gap: 16px;
  align-items: center;
  padding: 0 18px 18px;
}
.pm-dispatch-donut {
  width: 132px;
  height: 132px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto;
}
.pm-dispatch-donut > div {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  text-align: center;
  background: #fff;
  border: 1px solid var(--pm-border-2);
}
.pm-dispatch-donut strong {
  display: block;
  color: #10234b;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
  margin-top: 12px;
}
.pm-dispatch-donut span {
  display: block;
  color: #60738d;
  font-size: 10px;
  font-weight: 900;
  margin-top: -18px;
}
.pm-dispatch-status-legend {
  display: grid;
  gap: 8px;
}
.pm-dispatch-status-legend div {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  color: #536982;
  font-size: 12px;
  font-weight: 800;
}
.pm-dispatch-status-legend i {
  width: 10px;
  height: 10px;
  border-radius: 3px;
}
.pm-dispatch-status-legend strong {
  color: #31466c;
  font-size: 11px;
}
@media (max-width: 1320px) {
  .pm-dispatch-bottom {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .pm-dispatch-status-body {
    grid-template-columns: 1fr;
  }
}

/* Equipment opened-truck playbook view */
.equipment-playbook {
  padding: 0 !important;
  overflow: hidden;
  background: #f5f7fb !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.equipment-playbook-tabs {
  min-height: 52px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #d9dfe9;
  background: #f7f9fc;
  padding: 0 16px 0 18px;
}
.equipment-playbook-tab-scroll {
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}
.equipment-playbook-tab {
  position: relative;
  min-height: 52px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #344765;
  padding: 0 8px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: none;
}
.equipment-playbook-tab.active {
  color: #1f74ff;
}
.equipment-playbook-tab.active:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #1f74ff;
}
.equipment-tab-badge {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #d9d9d9;
  color: #4b5563;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 900;
}
.equipment-playbook-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}
.equipment-playbook-body {
  padding: 16px !important;
}
.equipment-playbook-grid {
  display: grid;
  grid-template-columns: minmax(420px, .98fr) minmax(520px, 1fr);
  gap: 14px;
  align-items: start;
}
.equipment-playbook-right {
  display: grid;
  gap: 14px;
}
.equipment-playbook-card {
  border: 1px solid #dfe5ee;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(16, 33, 62, .06);
  overflow: hidden;
}
.equipment-playbook-card h3 {
  margin: 0;
  padding: 9px 16px;
  border-bottom: 1px solid #e8edf4;
  color: #111827;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.3;
}
.equipment-kv-list {
  display: grid;
}
.equipment-kv-row {
  min-height: 40px;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 6px;
  padding: 0 16px;
  border-bottom: 1px solid #edf0f4;
  color: #111827;
  font-size: 13px;
}
.equipment-kv-list.compact .equipment-kv-row {
  min-height: 30px;
}
.equipment-kv-row:last-child {
  border-bottom: 0;
}
.equipment-kv-row span {
  color: #111827;
  font-weight: 500;
}
.equipment-kv-row strong {
  color: #111827;
  font-size: 13px;
  font-weight: 500;
  min-width: 0;
  overflow-wrap: anywhere;
}
.equipment-inline-edit {
  width: 22px;
  height: 22px;
  min-height: 22px;
  border: 0;
  padding: 0;
  border-radius: 50%;
  background: transparent;
  color: #1683d8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}
.equipment-inline-edit .pm-svg {
  width: 14px;
  height: 14px;
}

.equipment-toggle-row strong {
  display: flex;
  align-items: center;
}
.equipment-toggle-row em {
  color: #7b8fa7;
  font-size: 11px;
  font-style: normal;
  text-align: right;
}
.equipment-yesno-switch {
  width: 118px;
  height: 30px;
  min-height: 30px;
  border: 1px solid #d8e1ec;
  border-radius: 999px;
  background: #f7faff;
  color: #526883;
  padding: 0 9px;
  display: grid;
  grid-template-columns: 32px 34px 32px;
  align-items: center;
  gap: 4px;
  box-shadow: none;
  font-size: 12px;
  font-weight: 900;
}
.equipment-yesno-switch span {
  color: #526883;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}
.equipment-yesno-switch i {
  position: relative;
  width: 34px;
  height: 18px;
  border-radius: 999px;
  background: #dbe5f1;
  display: block;
  transition: background .18s ease;
}
.equipment-yesno-switch b {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(16,33,62,.25);
  transition: transform .18s ease;
}
.equipment-yesno-switch.is-yes {
  border-color: #bdd7ff;
  background: #eef6ff;
}
.equipment-yesno-switch.is-yes i {
  background: #1f74ff;
}
.equipment-yesno-switch.is-yes b {
  transform: translateX(16px);
}
.equipment-yesno-switch.is-yes span:last-child {
  color: #1f74ff;
}
.equipment-yesno-switch.is-no span:first-child {
  color: #1f3558;
}
.equipment-yesno-switch:disabled {
  opacity: .72;
  cursor: progress;
}
.equipment-yesno-switch:not(:disabled):hover {
  border-color: #9dc8ff;
  box-shadow: 0 4px 10px rgba(31,116,255,.12);
}
.equipment-map-card {
  min-height: 548px;
}
.equipment-map-visual {
  position: relative;
  min-height: 496px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 34%, rgba(74, 183, 165, .25) 0 9%, transparent 10%),
    radial-gradient(circle at 25% 22%, rgba(80, 178, 157, .18) 0 10%, transparent 11%),
    radial-gradient(circle at 72% 78%, rgba(50, 180, 205, .24) 0 14%, transparent 15%),
    linear-gradient(33deg, transparent 0 19%, rgba(83, 155, 101, .26) 20% 22%, transparent 23% 42%, rgba(93, 146, 94, .24) 43% 46%, transparent 47% 100%),
    linear-gradient(0deg, #d9f1ea 0 20%, #eaf4e6 21% 52%, #dceef6 53% 100%);
}
.equipment-map-visual:before,
.equipment-map-visual:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.equipment-map-visual:before {
  background-image:
    linear-gradient(rgba(87, 104, 130, .14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(87, 104, 130, .14) 1px, transparent 1px);
  background-size: 92px 72px;
}
.equipment-map-visual:after {
  background:
    linear-gradient(110deg, transparent 0 46%, rgba(255,255,255,.42) 47% 49%, transparent 50% 100%),
    linear-gradient(150deg, transparent 0 57%, rgba(117, 153, 121, .42) 58% 59%, transparent 60% 100%);
}
.map-label {
  position: absolute;
  z-index: 2;
  color: #536072;
  font-size: 13px;
  font-weight: 800;
  text-shadow: 0 1px 0 rgba(255,255,255,.8);
}
.map-us {
  left: 25%;
  top: 39%;
  color: #27384f;
  font-size: 20px;
  font-weight: 900;
}
.map-chicago { right: 23%; top: 26%; }
.map-dallas { left: 42%; bottom: 22%; }
.map-kansas { right: 33%; top: 42%; }
.map-memphis { right: 25%; bottom: 32%; }
.map-google {
  position: absolute;
  left: 12px;
  bottom: 8px;
  z-index: 2;
  color: #344765;
  font-size: 17px;
  font-weight: 800;
}
.map-pin {
  position: absolute;
  left: 52%;
  top: 50%;
  z-index: 4;
  width: 24px;
  height: 24px;
  transform: translate(-50%, -100%) rotate(45deg);
  border-radius: 50% 50% 50% 0;
  background: #dd302c;
  box-shadow: 0 3px 9px rgba(0,0,0,.25);
}
.map-pin:after {
  content: "";
  position: absolute;
  left: 7px;
  top: 7px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #b71f1b;
}
.equipment-map-location {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 48px;
  padding: 0 16px;
  border-top: 1px solid #e8edf4;
  font-size: 13px;
}
.equipment-map-location span,
.equipment-map-location strong {
  color: #111827;
  font-weight: 500;
}
.equipment-light-list {
  display: inline-flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: center;
}
.equipment-light-list span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.equipment-light-list i {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #8b8b8b;
  display: inline-block;
}
.equipment-fuel {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 210px;
}
.equipment-fuel > span {
  width: 150px;
  height: 10px;
  border: 1px solid #222;
  background: #fff;
  display: inline-block;
}
.equipment-fuel i {
  display: block;
  height: 100%;
  background: #b95600;
}
.equipment-fuel b {
  font-weight: 500;
}
.equipment-fuel .pm-svg {
  width: 14px;
  height: 14px;
}
@media (max-width: 1380px) {
  .equipment-playbook-grid {
    grid-template-columns: 1fr;
  }
  .equipment-map-card,
  .equipment-map-visual {
    min-height: 360px;
  }
}
@media (max-width: 760px) {
  .equipment-playbook-tabs {
    flex-direction: column;
    padding: 0 10px 10px;
  }
  .equipment-playbook-actions {
    justify-content: flex-start;
  }
  .equipment-kv-row,
  .equipment-map-location {
    grid-template-columns: 1fr;
    gap: 3px;
    padding: 8px 12px;
  }
}


/* Driver statements workspace */
.driver-statements-page {
  display: grid;
  gap: 16px;
}
.driver-statement-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.driver-statement-hero h1 {
  margin: 0;
  color: #10234b;
  font-size: 26px;
  line-height: 1.1;
  font-weight: 900;
}
.driver-statement-hero p {
  margin: 8px 0 0;
  color: #526883;
  font-size: 12px;
  font-weight: 800;
}
.driver-statement-hero p span {
  color: #9aaac0;
  padding: 0 8px;
}
.driver-statement-hero-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.driver-statement-search {
  width: min(380px, 44vw);
  height: 42px !important;
}
.driver-statement-profile {
  display: grid;
  grid-template-columns: 92px minmax(300px, 1fr) auto;
  gap: 18px 22px;
  align-items: center;
  padding: 22px 28px;
}
.driver-statement-avatar {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: linear-gradient(135deg, #dfeeff, #ffffff);
  border: 1px solid var(--pm-border);
  box-shadow: var(--pm-shadow-soft);
  display: grid;
  place-items: center;
  color: #174985;
  font-size: 26px;
  font-weight: 900;
}
.driver-statement-avatar.all-drivers {
  font-size: 18px;
  letter-spacing: .06em;
}
.driver-statement-identity h2 {
  margin: 0;
  color: #10234b;
  font-size: 22px;
  font-weight: 900;
}
.driver-statement-identity > span {
  display: block;
  margin-top: 3px;
  color: #6b7d96;
  font-size: 12px;
  font-weight: 800;
}
.driver-statement-identity div {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 10px;
}
.driver-statement-identity small {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #324766;
  font-size: 12px;
  font-weight: 800;
}
.driver-statement-identity .pm-svg {
  width: 15px;
  height: 15px;
  color: #347df6;
}
.driver-statement-profile-actions select {
  min-width: 170px;
  min-height: 36px !important;
  border-radius: 10px !important;
}
.driver-statement-kpis {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  gap: 12px;
}
.driver-statement-kpi {
  min-height: 78px;
  border-radius: 12px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 12px;
  row-gap: 4px;
  border: 1px solid var(--pm-border-2);
  overflow: hidden;
}
.driver-statement-kpi span {
  grid-column: 1;
  grid-row: 1;
  display: block;
  color: #6b7e98;
  font-size: 12px;
  font-weight: 900;
  min-width: 0;
}
.driver-statement-kpi strong {
  grid-column: 1;
  grid-row: 2;
  display: block;
  color: #10234b;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 900;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.driver-statement-kpi .pm-svg {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 24px;
  height: 24px;
  justify-self: end;
  align-self: center;
}
.driver-statement-kpi.green { background: #ecfbf4; }
.driver-statement-kpi.green strong, .driver-statement-kpi.green .pm-svg { color: #20b967; }
.driver-statement-kpi.blue { background: #eef5ff; }
.driver-statement-kpi.blue strong, .driver-statement-kpi.blue .pm-svg { color: #2878ff; }
.driver-statement-kpi.orange { background: #fff6eb; }
.driver-statement-kpi.orange strong, .driver-statement-kpi.orange .pm-svg { color: #ff8a24; }
.driver-statement-kpi.purple { background: #f5f0ff; }
.driver-statement-kpi.purple strong, .driver-statement-kpi.purple .pm-svg { color: #7d58ff; }
.driver-statement-shell {
  overflow: hidden;
}
.driver-statement-tabs {
  min-height: 52px;
  display: flex;
  align-items: stretch;
  gap: 18px;
  padding: 0 18px;
  border-bottom: 1px solid var(--pm-border-2);
  overflow-x: auto;
}
.driver-statement-tabs button {
  position: relative;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0 2px;
  color: #415873;
  font-size: 13px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.driver-statement-tabs button.active {
  color: #2878ff;
}
.driver-statement-tabs button.active:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #2878ff;
}
.driver-statement-tabs span {
  min-width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #eef3fa;
  color: #526883;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 6px;
  font-size: 11px;
  font-weight: 900;
}
.driver-statement-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 355px;
  gap: 16px;
  padding: 16px;
}
.driver-statement-search-workspace {
  grid-template-columns: minmax(0, 1fr);
}
.driver-statement-item-search-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}
.driver-statement-item-search-summary > div {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #dceafe;
  border-radius: 12px;
  background: #f7fbff;
}
.driver-statement-item-search-summary span,
.driver-statement-item-search-summary strong {
  display: block;
}
.driver-statement-item-search-summary span {
  color: #71839a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.driver-statement-item-search-summary strong {
  margin-top: 5px;
  color: #142f58;
  font-size: 18px;
  overflow-wrap: anywhere;
}
.driver-statement-search-progress {
  padding: 0 14px 14px;
}
.driver-statement-search-progress h3 {
  margin: 0 0 10px;
  color: #17345c;
  font-size: 14px;
}
.driver-statement-search-progress .driver-statement-table-wrap {
  padding: 0;
  border: 1px solid #e1ebf7;
  border-radius: 12px;
}
.driver-statement-card,
.driver-statement-side-card {
  border-radius: 14px !important;
}
.driver-statement-main-card .pm-card-title,
.driver-statement-side-card .pm-card-title {
  height: auto !important;
  min-height: 58px;
  padding: 14px 18px !important;
}
.driver-statement-main-card .pm-card-title small {
  display: block;
  color: #6f8199;
  font-size: 12px;
  font-weight: 800;
  margin-top: 4px;
}
.driver-statement-tools {
  display: flex;
  align-items: center;
  gap: 10px;
}
.driver-statement-select-all {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #405675;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.driver-statement-tools .driver-statement-select-all input {
  min-width: auto;
  min-height: auto !important;
  margin: 0;
}
.driver-statement-tools input {
  min-width: 240px;
  min-height: 38px !important;
  border-radius: 10px !important;
}
.driver-statement-tools button {
  min-height: 38px !important;
  border-radius: 10px !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.driver-statement-tools .pm-svg {
  width: 16px;
  height: 16px;
}
.driver-statement-table-wrap {
  overflow: auto;
  padding: 0 14px 14px;
}
.driver-statement-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 900px;
}
.driver-statement-table th,
.driver-statement-table td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--pm-border-2);
  text-align: left;
  color: #243b5f;
  font-size: 12px;
  white-space: nowrap;
}
.driver-statement-table th {
  color: #71839c;
  background: #f8fbff;
  font-size: 11px;
  font-weight: 900;
}
.driver-statement-table strong {
  display: block;
  color: #1d3156;
  font-size: 12px;
  font-weight: 900;
}
.driver-statement-table small {
  display: block;
  color: #6e8098;
  margin-top: 3px;
  font-size: 11px;
  font-weight: 700;
}
.driver-plus {
  width: 28px;
  height: 28px;
  min-height: 28px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center;
  color: #2f7cf6 !important;
  background: #f0f6ff !important;
  border: 1px solid #e2edff !important;
  box-shadow: none !important;
  font-weight: 900;
}
.driver-plus.open {
  background: #e7f1ff !important;
}
.driver-plus .pm-svg {
  width: 14px;
  height: 14px;
}
.driver-group-row td {
  background: #fbfdff;
}
.driver-statement-period-row td {
  background: #f5f9ff;
  border-top: 1px solid #dbe8f8;
}
.driver-statement-period-row .driver-period-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  text-align: left;
}
.driver-statement-period-row .driver-period-toggle:hover {
  background: transparent;
  box-shadow: none;
}
.driver-statement-period-row .driver-period-toggle .driver-plus {
  flex: 0 0 28px;
}
.driver-statement-saved-row td {
  background: #fff;
}
.driver-trip-detail td {
  background: #fbfcff;
  padding: 0 10px 12px !important;
}
.driver-trip-detail-inner {
  margin-left: 38px;
  border: 1px solid var(--pm-border-2);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.driver-trip-detail-inner table {
  width: 100%;
  border-collapse: collapse;
}
.driver-trip-detail-inner th,
.driver-trip-detail-inner td {
  padding: 9px 12px !important;
}
.driver-statement-side {
  display: grid;
  gap: 14px;
  align-content: start;
}
.driver-summary-list {
  padding: 4px 18px 18px;
  display: grid;
  gap: 13px;
}
.driver-summary-list div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #4d637e;
  font-size: 12px;
  font-weight: 800;
}
.driver-summary-list strong {
  color: #1d3156;
  font-weight: 900;
}
.driver-summary-list .bad,
.driver-statement-table .bad { color: #ef4747; }
.driver-summary-list .good,
.driver-statement-table .good { color: #20b967; }
.driver-net {
  border-top: 1px solid var(--pm-border-2);
  padding-top: 14px;
  margin-top: 4px;
}
.driver-net span,
.driver-net strong {
  font-size: 16px;
}
.driver-mini-list {
  padding: 0 18px 18px;
  display: grid;
  gap: 12px;
}
.driver-mini-list div {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  color: #455d79;
  font-size: 12px;
  font-weight: 800;
}
.driver-mini-list strong { color: #10234b; }
.driver-mini-list em {
  color: #7f91aa;
  font-style: normal;
}
.driver-history-donut {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 14px;
  align-items: center;
  padding: 10px 18px 20px;
}
.driver-donut {
  width: 104px;
  height: 104px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.driver-donut i {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--pm-border-2);
}
.driver-history-donut div div {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  gap: 8px;
  align-items: center;
  min-height: 28px;
  color: #4c6380;
  font-size: 12px;
  font-weight: 800;
}
.driver-history-donut b {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}
.green-dot { background: #2fc56f; }
.orange-dot { background: #ffb32b; }
.red-dot { background: #ef4747; }
.driver-create-bar {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--pm-border);
  box-shadow: var(--pm-shadow-soft);
  padding: 12px 14px;
  color: #334965;
  font-size: 12px;
  font-weight: 900;
}
.driver-create-bar button {
  min-height: 42px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}
.driver-create-bar .pm-svg {
  width: 16px;
  height: 16px;
}
.driver-statement-foot {
  text-align: center;
  color: #667a95;
  font-size: 12px;
  font-weight: 800;
  padding: 2px 0 4px;
}
.driver-statement-builder-card {
  width: min(1180px, 96vw);
}
.driver-statement-builder {
  background: linear-gradient(180deg, #f8fbff, #ffffff);
  gap: 12px;
}
.driver-builder-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--pm-border-2);
  border-radius: 12px;
  background: #eef7ff;
}
.driver-builder-toolbar > div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.driver-builder-toolbar button {
  min-height: 34px !important;
  border-radius: 9px !important;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 900;
}
.driver-builder-toolbar .pm-svg {
  width: 15px;
  height: 15px;
}
.driver-builder-meta {
  display: grid;
  grid-template-columns: minmax(220px, .9fr) minmax(150px, .4fr) minmax(320px, 1.2fr);
  gap: 10px;
  align-items: end;
}
.driver-builder-meta label {
  display: grid;
  gap: 6px;
  color: #6b7f99;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.driver-builder-meta input,
.driver-builder-meta textarea {
  width: 100%;
  min-height: 38px;
  border: 1px solid #dceafe;
  border-radius: 10px;
  background: #fff;
  color: #13284b;
  padding: 9px 10px;
  font-size: 12px;
  font-weight: 800;
}
.driver-builder-note {
  grid-column: auto;
}
.driver-builder-note textarea {
  min-height: 54px;
  resize: vertical;
}
.driver-builder-check {
  align-self: center;
  display: flex !important;
  grid-auto-flow: column;
  justify-content: start;
  align-items: center;
  gap: 8px !important;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid #dceafe;
  border-radius: 10px;
  background: #fff;
}
.driver-builder-check input {
  width: 16px;
  min-height: 16px;
  padding: 0;
}
.driver-builder-paid {
  align-self: center;
  display: flex !important;
  grid-auto-flow: column;
  justify-content: start;
  align-items: center;
  gap: 9px !important;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid #dceafe;
  border-radius: 999px;
  background: #fff;
  color: #19345f !important;
  text-transform: none !important;
}
.driver-builder-paid input {
  appearance: none;
  width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  border: 2px solid #8ebdff;
  border-radius: 50%;
  background: #eef6ff;
  box-shadow: inset 0 0 0 4px #eef6ff;
}
.driver-builder-paid input:checked {
  border-color: #2f7cff;
  background: #2f7cff;
  box-shadow: inset 0 0 0 4px #eef6ff;
}
.driver-builder-selected {
  border: 1px solid var(--pm-border-2);
  border-radius: 13px;
  background: #fff;
  overflow: hidden;
}
.driver-builder-selected-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--pm-border-2);
  color: #1d3156;
  font-size: 13px;
  font-weight: 900;
}
.driver-builder-selected-head span,
.driver-builder-total strong {
  color: #178f49;
}
.driver-builder-reserve-hint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--pm-border-2);
  background: #f8fbff;
  color: #637694;
  font-size: 12px;
  cursor: pointer;
}
.driver-builder-reserve-hint > input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #2f7cff;
}
.driver-builder-reserve-hint > input:disabled {
  cursor: not-allowed;
}
.driver-builder-reserve-copy {
  display: grid;
  flex: 1 1 auto;
  gap: 3px;
}
.driver-builder-reserve-copy small {
  color: inherit;
  font-size: 11px;
  font-weight: 700;
}
.driver-builder-reserve-miles {
  display: grid;
  flex: 0 0 124px;
  gap: 3px;
}
.driver-builder-reserve-miles small {
  color: inherit;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.driver-builder-reserve-miles input {
  width: 100%;
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid var(--pm-border-2);
  border-radius: 6px;
  background: var(--pm-surface, #fff);
  color: var(--pm-ink, #1d3156);
}
.driver-builder-reserve-hint > b {
  flex: 0 0 auto;
  color: #647693;
  white-space: nowrap;
}
.driver-builder-reserve-hint strong {
  color: #1d3156;
  white-space: nowrap;
}
.driver-builder-reserve-hint.active {
  background: #fff8ed;
  color: #8a5b13;
}
.driver-builder-reserve-hint.active strong {
  color: #a55e00;
}
.driver-builder-reserve-hint.active > b {
  color: #a55e00;
}
.driver-builder-grid-wrap {
  overflow: auto;
}
.driver-builder-grid {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}
.driver-builder-grid th,
.driver-builder-grid td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--pm-border-2);
  color: #263d5f;
  text-align: left;
  font-size: 12px;
  white-space: nowrap;
}
.driver-builder-grid th {
  background: #f7fbff;
  color: #697d96;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.driver-builder-grid strong {
  display: block;
  color: #13284b;
  font-weight: 900;
}
.driver-builder-grid small {
  display: block;
  margin-top: 3px;
  color: #70839b;
  font-size: 11px;
  font-weight: 800;
}
.driver-builder-grid input[type="checkbox"] {
  width: 16px;
  height: 16px;
}
.driver-builder-grid .money {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.driver-builder-grid .bad {
  color: #ef4747;
}
.driver-builder-grid .good {
  color: #20b967;
}
.driver-builder-tabs {
  min-height: 46px;
  border: 1px solid var(--pm-border-2);
  border-radius: 12px;
  background: #fff;
}
.driver-builder-total {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
  padding: 12px 4px 0;
  color: #344b68;
  font-size: 14px;
  font-weight: 900;
}
.driver-builder-total strong {
  min-width: 150px;
  padding: 12px 16px;
  border: 1px solid #dceafe;
  border-radius: 12px;
  background: #fff;
  text-align: right;
  font-size: 18px;
}
.driver-statement-actions {
  display: flex;
  gap: 6px;
  flex-wrap: nowrap;
}
.driver-statement-actions .small {
  min-height: 30px !important;
  border-radius: 8px !important;
  padding: 6px 9px !important;
  font-size: 11px;
  font-weight: 900;
}
.statement-template-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.statement-template-columns span {
  border: 1px solid #dbe8f8;
  background: #f7fbff;
  color: #19345f;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 800;
}
@media (max-width: 1320px) {
  .driver-statement-workspace {
    grid-template-columns: 1fr;
  }
  .driver-statement-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .driver-create-bar {
    grid-column: 1 / -1;
  }
}
@media (max-width: 860px) {
  .driver-statement-hero,
  .driver-statement-hero-actions {
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: column;
  }
  .driver-statement-search {
    width: 100%;
  }
  .driver-statement-profile {
    grid-template-columns: 1fr;
  }
  .driver-statement-kpis,
  .driver-statement-side {
    grid-template-columns: 1fr;
  }
  .driver-statement-item-search-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .driver-builder-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .driver-builder-toolbar > div {
    justify-content: flex-start;
  }
  .driver-builder-meta {
    grid-template-columns: 1fr;
  }
  .driver-builder-note {
    grid-column: auto;
  }
}

/* QuickBooks accounting pay item mapping */
.qb-accounting { display: grid; gap: 14px; }
.qb-page-head { align-items: flex-start; }
.qb-head-metrics { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.qb-head-metrics span { padding: 8px 12px; border: 1px solid #dceafe; border-radius: 999px; background: rgba(239, 248, 255, .86); color: #284566; font-weight: 800; font-size: 12px; }
.qb-tabs { display: flex; gap: 8px; flex-wrap: wrap; padding: 0 16px 12px; border-bottom: 1px solid #e4edf8; }
.qb-tab { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #dceafe; background: rgba(255,255,255,.9); color: #48627f; padding: 10px 14px; border-radius: 12px; font-weight: 800; box-shadow: 0 10px 22px rgba(24,75,138,.06); }
.qb-tab.active { background: linear-gradient(135deg, #2f7cff, #64a7ff); border-color: #2f7cff; color: #fff; box-shadow: 0 14px 26px rgba(47,124,255,.22); }
.qb-tab span { min-width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: rgba(47,124,255,.12); color: inherit; font-size: 12px; }
.qb-tab.active span { background: rgba(255,255,255,.24); }
.qb-tab-body { padding: 0 16px 18px; }
.qb-settings-grid { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr); gap: 14px; }
.qb-settings-card, .qb-connection-card { border: 1px solid #dceafe; border-radius: 18px; background: rgba(255,255,255,.92); box-shadow: 0 18px 40px rgba(24,75,138,.08); padding: 18px; }
.qb-settings-card h3 { margin: 0 0 14px; color: #172b4d; }
.qb-radio-stack { display: grid; gap: 10px; margin-bottom: 14px; }
.qb-radio-stack label { display: flex; align-items: center; gap: 10px; color: #2d4563; font-weight: 800; }
.qb-connection-card { display: grid; align-content: start; gap: 12px; }
.qb-connection-card.connected { background: linear-gradient(135deg, rgba(226,247,237,.95), rgba(255,255,255,.92)); border-color: #bcebd4; }
.qb-connection-card.disabled { background: linear-gradient(135deg, rgba(239,248,255,.95), rgba(255,255,255,.92)); }
.qb-connection-card strong { color: #153d73; font-size: 18px; }
.qb-connection-card p { margin: 0; color: #64758d; }
.qb-connection-row { display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid #e4edf8; padding-top: 10px; color: #64758d; }
.qb-connection-row b { color: #172b4d; text-transform: capitalize; }
.qb-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.qb-toolbar h3 { margin: 0 0 4px; color: #172b4d; }
.qb-summary-row { display: grid; grid-template-columns: repeat(3, minmax(140px, 1fr)); gap: 10px; margin-bottom: 12px; }
.qb-summary-row div { border: 1px solid #dceafe; border-radius: 14px; background: rgba(246,250,255,.9); padding: 12px 14px; display: grid; gap: 5px; }
.qb-summary-row span { color: #71839c; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.qb-summary-row strong { color: #153d73; font-size: 22px; }
.qb-grid-wrap { border: 1px solid #dceafe; border-radius: 16px; background: rgba(255,255,255,.92); overflow: auto; }
.qb-grid { min-width: 1360px; }
.qb-grid th { white-space: nowrap; font-size: 11px; color: #5d7089; text-transform: uppercase; letter-spacing: 0; }
.qb-grid td { vertical-align: middle; }
.qb-grid input, .qb-grid select { width: 100%; min-width: 110px; border: 1px solid #dceafe; border-radius: 10px; background: #fff; padding: 8px 9px; color: #172b4d; font-weight: 700; }
.qb-grid input[type="checkbox"] { width: 18px; min-width: 18px; height: 18px; padding: 0; display: block; margin: 0 auto; }
.qb-grid .qb-desc-cell input { min-width: 210px; }
.qb-row-actions { min-width: 150px; white-space: nowrap; }
.qb-row-actions .small { margin-right: 6px; }
.qb-modal-form { display: grid; gap: 12px; }
.qb-modal-form .checkline { border: 1px solid #dceafe; border-radius: 12px; background: rgba(246,250,255,.9); padding: 10px 12px; font-weight: 800; color: #48627f; display: flex; align-items: center; gap: 8px; }
@media (max-width: 900px) {
  .qb-settings-grid, .qb-summary-row { grid-template-columns: 1fr; }
  .qb-toolbar { align-items: stretch; flex-direction: column; }
  .qb-toolbar .primary { width: 100%; }
}

/* Loads compact workspace */
.load-compact-page {
  display: grid;
  grid-template-columns: minmax(320px, 370px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.load-compact-left,
.load-compact-main {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.load-compact-card,
.load-trip-card,
.stop-card-compact {
  border-radius: 18px!important;
}
.load-compact-card h3,
.load-trip-card h3,
.stop-card-compact h3 {
  min-height: 42px;
  padding: 10px 14px!important;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ff3038!important;
  font-size: 13px!important;
}
.load-compact-card h3 span,
.load-trip-card h3 span,
.stop-card-compact h3 span {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  color: #2f7cff;
  border-radius: 50%;
  background: #edf5ff;
}
.load-compact-card h3 .pm-svg,
.load-trip-card h3 .pm-svg,
.stop-card-compact h3 .pm-svg {
  width: 14px;
  height: 14px;
}
.load-compact-page .inside {
  padding: 12px!important;
}
.load-dense-fields,
.stop-dense-fields {
  display: grid;
  gap: 8px!important;
}
.load-compact-page label.form-label {
  gap: 4px;
  font-size: 11px!important;
}
.load-compact-page label.form-label span {
  color: #71839c;
  font-weight: 800;
}
.load-compact-page input,
.load-compact-page select,
.load-compact-page textarea {
  min-height: 36px!important;
  border-radius: 14px!important;
  padding: 7px 11px!important;
  font-size: 12px!important;
  font-weight: 800;
}
.load-compact-page textarea {
  min-height: 50px!important;
}
.load-number-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}
.load-number-line button {
  min-height: 36px!important;
  padding: 0 16px!important;
  border-radius: 12px!important;
}
.load-mini-row {
  gap: 8px!important;
}
.load-mini-row input,
.load-mini-row select {
  min-width: 0;
}
.load-inline-checks {
  gap: 12px!important;
}
.load-inline-checks label,
.stop-status-checks label {
  font-size: 12px!important;
  font-weight: 800!important;
}
.load-compact-page input[type="checkbox"] {
  width: 16px!important;
  height: 16px!important;
  min-height: 16px!important;
  padding: 0!important;
  border-radius: 4px!important;
}
.readonly-field input {
  background: #f7fbff!important;
  color: #172b4d!important;
}
.load-invoice-row {
  min-height: 48px!important;
  border-radius: 18px!important;
  display: grid!important;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 0 14px!important;
  background: linear-gradient(180deg, #ffffff, #f3f9ff)!important;
  border: 1px solid #dceafe!important;
  color: #18365f!important;
  box-shadow: 0 14px 32px rgba(24,75,138,.08)!important;
}
.load-invoice-row span {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #edf5ff;
  display: inline-grid;
  place-items: center;
  color: #2f7cff;
}
.load-invoice-row .pm-svg {
  width: 15px;
  height: 15px;
}
.load-invoice-row strong {
  text-align: left;
}
.load-invoice-row em {
  color: #6b7e96;
  font-style: normal;
  font-weight: 900;
}
.load-stop-pair {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.stop-card-compact .address-hint {
  margin-top: -2px;
  color: #7f91aa;
  font-size: 11px;
  font-weight: 700;
}
.stop-status-checks {
  padding: 7px 9px!important;
  border: 1px solid #dceafe;
  border-radius: 14px;
  background: rgba(247,251,255,.92);
}
.load-trip-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #dceafe;
  border-radius: 16px;
  background: #f7fbff;
}
.load-trip-head span,
.trip-pay-field small {
  display: block;
  color: #71839c;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.load-trip-head strong {
  display: block;
  color: #172b4d;
  font-size: 18px;
  font-weight: 900;
}
.load-trip-head small {
  display: block;
  color: #58708e;
  font-size: 12px;
  font-weight: 800;
  margin-top: 2px;
}
.trip-pay-field input:disabled {
  background: #f3f7fb!important;
  color: #6a7f98!important;
}
.load-trip-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.load-trip-actions .send-trip-btn {
  min-height: 40px!important;
  padding-right: 16px!important;
}
.load-trip-actions .note {
  flex: 1;
  min-width: 230px;
  text-align: right;
}
@media (max-width: 1320px) {
  .load-compact-page {
    grid-template-columns: 1fr;
  }
  .load-compact-left {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .load-invoice-row {
    grid-column: 1 / -1;
  }
}
@media (max-width: 960px) {
  .load-compact-left,
  .load-stop-pair,
  .load-compact-page .two,
  .load-compact-page .three,
  .load-compact-page .four {
    grid-template-columns: 1fr!important;
  }
  .load-trip-head,
  .load-trip-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .load-trip-actions .note {
    text-align: left;
  }
}

/* Loads second compact pass */
.load-compact-page {
  grid-template-columns: minmax(286px, 324px) minmax(0, 1fr);
  gap: 10px;
}
.load-compact-left,
.load-compact-main {
  gap: 8px;
}
.load-compact-left .load-compact-card,
.load-compact-left .load-invoice-row {
  border-radius: 12px!important;
}
.load-compact-left .load-compact-card h3 {
  min-height: 30px;
  padding: 6px 10px!important;
  font-size: 12px!important;
}
.load-compact-left .load-compact-card h3 span {
  width: 18px;
  height: 18px;
}
.load-compact-left .load-compact-card h3 .pm-svg {
  width: 12px;
  height: 12px;
}
.load-compact-left .inside {
  padding: 8px 10px!important;
}
.load-compact-left .load-dense-fields {
  gap: 5px!important;
}
.load-compact-left label.form-label {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: center;
  gap: 6px!important;
  font-size: 10px!important;
}
.load-compact-left label.form-label span {
  white-space: normal;
  line-height: 1.15;
}
.load-compact-left input,
.load-compact-left select {
  min-height: 28px!important;
  height: 28px;
  padding: 4px 9px!important;
  border-radius: 10px!important;
  font-size: 11px!important;
}
.load-compact-left .two.form-row {
  grid-template-columns: 1fr!important;
  gap: 5px!important;
}
.load-compact-left .load-mini-row {
  grid-template-columns: repeat(4, minmax(0, 1fr))!important;
  gap: 5px!important;
}
.load-compact-left .three.load-mini-row {
  grid-template-columns: repeat(3, minmax(0, 1fr))!important;
}
.load-compact-left .load-mini-row label.form-label {
  grid-template-columns: 1fr;
  gap: 3px!important;
}
.load-compact-left .load-mini-row label.form-label span {
  white-space: nowrap;
  font-size: 9.5px!important;
}
.load-compact-left .load-inline-checks {
  gap: 8px!important;
  padding: 0!important;
}
.load-compact-left .load-inline-checks label {
  gap: 4px!important;
  font-size: 10px!important;
}
.load-compact-left input[type="checkbox"] {
  width: 13px!important;
  height: 13px!important;
  min-height: 13px!important;
}
.load-compact-left .load-number-line {
  grid-template-columns: minmax(0, 1fr) 52px;
  gap: 6px;
}
.load-compact-left .load-number-line button {
  min-height: 28px!important;
  height: 28px;
  padding: 0 8px!important;
  border-radius: 10px!important;
  font-size: 11px!important;
}
.load-compact-left .load-invoice-row {
  min-height: 34px!important;
  padding: 0 10px!important;
}
.load-compact-left .load-invoice-row span {
  width: 20px;
  height: 20px;
}
.load-compact-left .load-invoice-row .pm-svg {
  width: 12px;
  height: 12px;
}
.load-compact-left .load-invoice-row strong,
.load-compact-left .load-invoice-row em {
  font-size: 12px;
}
.load-financial-summary .inside {
  padding: 10px!important;
}
.load-financial-summary .fin-summary {
  grid-template-columns: repeat(4, minmax(0,1fr));
}
.load-financial-summary .fin-box {
  padding: 9px 10px;
  border-radius: 14px;
}
.load-financial-summary .fin-box strong {
  font-size: 16px;
}
.stop-card-compact {
  border-radius: 16px!important;
}
.stop-card-compact h3 {
  min-height: 34px;
  padding: 8px 12px!important;
}
.stop-card-compact .inside {
  padding: 10px!important;
  gap: 7px!important;
}
.stop-card-compact input,
.stop-card-compact select {
  min-height: 32px!important;
  padding: 5px 10px!important;
}
.stop-status-checks {
  padding: 5px 8px!important;
  gap: 10px!important;
}
.stop-status-checks label {
  font-size: 11px!important;
}
.stop-card-compact .address-hint {
  font-size: 10px;
}
@media (max-width: 1320px) {
  .load-compact-left {
    grid-template-columns: minmax(286px, 324px) minmax(286px, 324px);
    align-items: start;
  }
}

/* Extra-tight load entry viewport fit */
#loadWorkspace > .panel-title {
  min-height: 40px;
  padding: 8px 14px;
}
#loadWorkspace .load-tabs {
  padding: 6px 8px 0;
  gap: 5px;
}
#loadWorkspace .load-tab {
  min-height: 30px!important;
  padding: 6px 13px!important;
  border-radius: 13px!important;
  font-size: 12px!important;
}
#loadWorkspace .load-body {
  padding: 8px;
}
.load-compact-page {
  grid-template-columns: minmax(280px, 306px) minmax(0, 1fr);
  gap: 8px;
}
.load-compact-left,
.load-compact-main {
  gap: 5px;
}
.load-compact-left .load-compact-card h3 {
  min-height: 24px;
  padding: 4px 8px!important;
  font-size: 11px!important;
}
.load-compact-left .load-compact-card h3 span {
  width: 16px;
  height: 16px;
}
.load-compact-left .inside {
  padding: 5px 8px!important;
}
.load-compact-left .load-dense-fields {
  gap: 3px!important;
}
.load-compact-left label.form-label {
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 5px!important;
  font-size: 9.5px!important;
}
.load-compact-left input,
.load-compact-left select {
  min-height: 23px!important;
  height: 23px!important;
  padding: 2px 7px!important;
  border-radius: 9px!important;
  font-size: 10.5px!important;
}
.load-compact-left .two.form-row,
.load-compact-left .load-mini-row {
  gap: 3px!important;
}
.load-compact-left .load-mini-row label.form-label {
  gap: 2px!important;
}
.load-compact-left .load-mini-row label.form-label span {
  font-size: 8.5px!important;
}
.load-compact-left .load-inline-checks {
  gap: 6px!important;
  min-height: 18px;
}
.load-compact-left .load-inline-checks label {
  gap: 3px!important;
  font-size: 9px!important;
}
.load-compact-left input[type="checkbox"] {
  width: 11px!important;
  height: 11px!important;
  min-height: 11px!important;
}
.load-compact-left .load-number-line {
  grid-template-columns: minmax(0, 1fr) 46px;
  gap: 4px;
}
.load-compact-left .load-number-line button {
  min-height: 23px!important;
  height: 23px!important;
  padding: 0 6px!important;
  font-size: 10px!important;
}
.load-compact-left .load-invoice-row {
  min-height: 27px!important;
  padding: 0 8px!important;
}
.load-compact-left .load-invoice-row span {
  width: 17px;
  height: 17px;
}
.load-compact-left .load-invoice-row strong,
.load-compact-left .load-invoice-row em {
  font-size: 11px;
}
.load-financial-summary .inside {
  padding: 8px!important;
}
.load-financial-summary .fin-box {
  padding: 7px 8px;
  border-radius: 12px;
}
.load-financial-summary .fin-box span {
  font-size: 9px;
}
.load-financial-summary .fin-box strong {
  font-size: 14px;
}

/* Final load left-panel squeeze */
#loadWorkspace > .panel-title {
  min-height: 32px;
  padding: 4px 12px;
}
#loadWorkspace > .panel-title h2 {
  font-size: 14px!important;
}
#loadWorkspace > .panel-title button,
#loadWorkspace > .panel-title .btn {
  min-height: 28px!important;
  padding: 4px 10px!important;
  font-size: 11px!important;
}
#loadWorkspace .load-tabs {
  padding: 4px 6px 0;
}
#loadWorkspace .load-tab {
  min-height: 26px!important;
  padding: 4px 10px!important;
  font-size: 11px!important;
}
#loadWorkspace .load-body {
  padding: 4px;
}
.load-compact-page {
  grid-template-columns: minmax(276px, 300px) minmax(0, 1fr);
}
.load-compact-left .load-compact-card h3 {
  min-height: 22px;
  padding: 3px 8px!important;
}
.load-compact-left .inside {
  padding: 4px 7px!important;
}
.load-compact-left .load-dense-fields {
  gap: 2px!important;
}
.load-compact-left label.form-label {
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 4px!important;
}
.load-compact-left input,
.load-compact-left select {
  min-height: 21px!important;
  height: 21px!important;
  padding: 1px 6px!important;
  font-size: 10px!important;
}
.load-compact-left .two.form-row {
  grid-template-columns: repeat(2, minmax(0,1fr))!important;
}
.load-compact-left .two.form-row label.form-label {
  grid-template-columns: 1fr;
  gap: 1px!important;
}
.load-compact-left .load-mini-row {
  gap: 2px!important;
}
.load-compact-left .load-inline-checks {
  min-height: 15px;
}
.load-compact-left input[type="checkbox"] {
  width: 10px!important;
  height: 10px!important;
  min-height: 10px!important;
}
.load-compact-left .load-number-line {
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 3px;
}
.load-compact-left .load-number-line button {
  min-height: 21px!important;
  height: 21px!important;
  padding: 0 5px!important;
}
.load-compact-left .load-invoice-row {
  min-height: 24px!important;
}
.load-compact-left .load-invoice-row span {
  width: 15px;
  height: 15px;
}

/* Load left panel balanced stretch: use the available height without over-shrinking fields */
#loadWorkspace .load-body {
  padding: 6px;
}
.load-compact-page {
  grid-template-columns: minmax(300px, 326px) minmax(0, 1fr);
  gap: 10px;
}
.load-compact-left {
  height: clamp(720px, calc(100vh - 172px), 860px);
  grid-template-rows:
    minmax(300px, 1.35fr)
    minmax(68px, .36fr)
    minmax(104px, .48fr)
    minmax(90px, .42fr)
    30px
    minmax(104px, .48fr);
  align-content: stretch;
}
.load-compact-left .load-compact-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}
.load-compact-left .load-compact-card h3 {
  min-height: 25px;
  padding: 4px 9px!important;
}
.load-compact-left .inside {
  align-content: space-evenly;
  padding: 5px 8px!important;
}
.load-compact-left label.form-label {
  grid-template-columns: 82px minmax(0, 1fr);
  font-size: 10.5px!important;
}
.load-compact-left input,
.load-compact-left select {
  min-height: 24px!important;
  height: 24px!important;
  padding: 2px 7px!important;
  font-size: 11px!important;
}
.load-compact-left .two.form-row label.form-label {
  gap: 2px!important;
}
.load-compact-left .load-mini-row label.form-label span {
  font-size: 9.5px!important;
}
.load-compact-left .load-inline-checks label {
  font-size: 10px!important;
}
.load-compact-left input[type="checkbox"] {
  width: 12px!important;
  height: 12px!important;
  min-height: 12px!important;
}
.load-compact-left .load-number-line {
  grid-template-columns: minmax(0, 1fr) 48px;
  gap: 4px;
}
.load-compact-left .load-number-line button {
  min-height: 24px!important;
  height: 24px!important;
  font-size: 10.5px!important;
}
.load-compact-left .load-invoice-row {
  min-height: 30px!important;
}
.load-compact-left .load-invoice-row span {
  width: 18px;
  height: 18px;
}
.load-compact-left .load-invoice-row strong,
.load-compact-left .load-invoice-row em {
  font-size: 12px;
}

/* Load Entry wide-screen comfort sizing */
@media (min-width: 1361px) and (min-height: 860px) {
  #loadWorkspace {
    min-height: calc(100vh - 24px);
  }
  #loadWorkspace > .panel-title {
    min-height: 44px;
    padding: 8px 16px;
  }
  #loadWorkspace > .panel-title h2 {
    font-size: 16px!important;
  }
  #loadWorkspace > .panel-title button,
  #loadWorkspace > .panel-title .btn {
    min-height: 34px!important;
    padding: 6px 14px!important;
    font-size: 12px!important;
  }
  #loadWorkspace .load-tabs {
    padding: 8px 10px 2px;
    gap: 7px;
  }
  #loadWorkspace .load-tab {
    min-height: 32px!important;
    padding: 6px 14px!important;
    border-radius: 15px!important;
    font-size: 12px!important;
  }
  #loadWorkspace .load-body {
    min-height: calc(100vh - 116px);
    padding: 10px 12px 14px;
  }
  .load-compact-page {
    grid-template-columns: minmax(340px, 380px) minmax(0, 1fr);
    gap: 14px;
    min-height: calc(100vh - 134px);
    align-items: stretch;
  }
  .load-compact-left {
    height: auto;
    min-height: calc(100vh - 134px);
    gap: 8px;
    grid-template-rows:
      minmax(336px, 1.44fr)
      minmax(82px, .38fr)
      minmax(124px, .52fr)
      minmax(108px, .46fr)
      38px
      minmax(124px, .52fr);
  }
  .load-compact-main {
    gap: 12px;
    align-content: stretch;
    grid-template-rows: auto auto minmax(0, 1fr);
  }
  .load-stop-pair {
    gap: 14px;
    align-items: stretch;
  }
  .load-compact-card,
  .load-trip-card,
  .stop-card-compact {
    border-radius: 18px!important;
  }
  .load-compact-card h3,
  .load-trip-card h3,
  .stop-card-compact h3 {
    min-height: 40px;
    padding: 9px 14px!important;
    font-size: 13.5px!important;
  }
  .load-compact-card h3 span,
  .load-trip-card h3 span,
  .stop-card-compact h3 span {
    width: 23px;
    height: 23px;
  }
  .load-compact-card h3 .pm-svg,
  .load-trip-card h3 .pm-svg,
  .stop-card-compact h3 .pm-svg {
    width: 14px;
    height: 14px;
  }
  .load-compact-page label.form-label {
    gap: 5px;
    font-size: 12px!important;
  }
  .load-compact-page label.form-label span {
    line-height: 1.2;
  }
  .load-compact-page input,
  .load-compact-page select,
  .load-compact-page textarea {
    min-height: 38px!important;
    border-radius: 15px!important;
    padding: 8px 12px!important;
    font-size: 13px!important;
  }
  .load-compact-left .inside {
    align-content: space-evenly;
    padding: 8px 10px!important;
  }
  .load-compact-left .load-dense-fields {
    gap: 6px!important;
  }
  .load-compact-left label.form-label {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 7px!important;
    font-size: 11.5px!important;
  }
  .load-compact-left input,
  .load-compact-left select {
    min-height: 30px!important;
    height: 30px!important;
    padding: 5px 10px!important;
    border-radius: 11px!important;
    font-size: 12px!important;
  }
  .load-compact-left .two.form-row {
    gap: 6px!important;
  }
  .load-compact-left .two.form-row label.form-label {
    gap: 3px!important;
  }
  .load-compact-left .load-mini-row {
    gap: 6px!important;
  }
  .load-compact-left .load-mini-row label.form-label span {
    font-size: 10.5px!important;
  }
  .load-compact-left .load-inline-checks {
    min-height: 24px;
    gap: 10px!important;
  }
  .load-compact-left .load-inline-checks label,
  .stop-status-checks label {
    font-size: 11.5px!important;
  }
  .load-compact-left input[type="checkbox"],
  .load-compact-page input[type="checkbox"] {
    width: 15px!important;
    height: 15px!important;
    min-height: 15px!important;
  }
  .load-compact-left .load-number-line {
    grid-template-columns: minmax(0, 1fr) 56px;
    gap: 6px;
  }
  .load-compact-left .load-number-line button {
    min-height: 30px!important;
    height: 30px!important;
    font-size: 11.5px!important;
  }
  .load-compact-left .load-invoice-row {
    min-height: 38px!important;
    padding: 0 12px!important;
    border-radius: 15px!important;
  }
  .load-compact-left .load-invoice-row span {
    width: 22px;
    height: 22px;
  }
  .load-compact-left .load-invoice-row strong,
  .load-compact-left .load-invoice-row em {
    font-size: 13px;
  }
  .stop-card-compact .inside,
  .load-trip-card .inside {
    padding: 13px!important;
    gap: 10px!important;
  }
  .stop-card-compact input,
  .stop-card-compact select {
    min-height: 38px!important;
    padding: 8px 12px!important;
    font-size: 13px!important;
  }
  .stop-status-checks {
    min-height: 42px;
    padding: 8px 12px!important;
    gap: 14px!important;
  }
  .stop-card-compact .address-hint {
    font-size: 11.5px;
  }
  .load-trip-head {
    min-height: 78px;
    padding: 14px 16px;
    border-radius: 18px;
  }
  .load-trip-head strong {
    font-size: 22px;
  }
  .load-trip-head small,
  .load-trip-head span,
  .trip-pay-field small {
    font-size: 12px;
  }
  .load-trip-actions .send-trip-btn {
    min-height: 46px!important;
    padding-right: 18px!important;
  }
  .load-trip-actions .note {
    font-size: 12.5px;
  }
  .load-financial-summary {
    align-self: stretch;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }
  .load-financial-summary .inside {
    align-items: stretch;
    padding: 14px!important;
  }
  .load-financial-summary .fin-summary {
    height: 100%;
  }
  .load-financial-summary .fin-box {
    min-height: 76px;
    padding: 14px 16px;
    border-radius: 16px;
    align-content: center;
  }
  .load-financial-summary .fin-box span {
    font-size: 11px;
  }
  .load-financial-summary .fin-box strong {
    font-size: 18px;
  }
}
/* Load required fields, AI Builder, split load, and sales agent */
.required-field > span::after {
  content: ' *';
  color: #ff3038;
  font-weight: 900;
}
.required-missing,
.required-missing input,
.required-missing select,
.required-missing textarea,
.required-missing-label input,
.required-missing-label select,
.required-missing-label textarea {
  border-color: #ff3038!important;
  box-shadow: 0 0 0 3px rgba(255,48,56,.12)!important;
}
.split-load-modal,
.load-recreate-modal,
.ai-builder-modal {
  display: grid;
  gap: 12px;
}
.split-load-modal .note,
.load-recreate-modal .note,
.ai-builder-modal .note {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #dceafe;
  border-radius: 14px;
  background: rgba(239,248,255,.9);
}
.split-segment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.split-segment-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #dceafe;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #f7fbff);
}
.split-segment-card h3 {
  margin: 0;
  color: #17325d;
  font-size: 13px;
  font-weight: 950;
}
.split-trip-summary {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid #dceafe;
  border-radius: 14px;
  background: linear-gradient(180deg, #f9fcff, #f2f8ff);
}
.split-trip-summary-head {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
}
.split-trip-summary-head strong {
  display: block;
  color: #102c63;
  font-weight: 950;
}
.split-trip-summary-head small,
.split-trip-summary-head span {
  display: block;
  color: #637b98;
  font-size: 11px;
  font-weight: 850;
}
.split-trip-summary-head > div:not(:first-child) {
  min-width: 118px;
  padding: 9px 10px;
  border: 1px solid #dceafe;
  border-radius: 12px;
  background: #fff;
}
.split-trip-table tr.selected td {
  background: rgba(47, 124, 255, .08);
}
.split-trip-table small {
  display: block;
  margin-top: 3px;
  color: #6d839b;
  font-size: 11px;
  font-weight: 800;
}
.split-trip-readonly-field input[readonly] {
  background: #fff;
  cursor: default;
}
.split-trip-detail-card .send-trip-btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.split-trip-statement-note {
  margin-bottom: 10px;
  padding: 9px 12px;
  border: 1px solid #dceafe;
  border-radius: 12px;
  background: #f7fbff;
  color: #58718f;
  font-size: 12px;
  font-weight: 850;
}
.split-trip-statement-table {
  min-width: 1180px;
}
.split-trip-statement-table strong {
  display: block;
  color: #172f59;
  font-weight: 950;
}
.split-trip-statement-table small {
  display: block;
  margin-top: 3px;
  color: #6d839b;
  font-size: 11px;
  font-weight: 800;
  white-space: normal;
}
.split-trip-statement-table .money {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 950;
}
.load-recreate-modal .customer-check,
.admin-commission-grid .customer-check {
  border: 1px solid #dceafe;
  border-radius: 14px;
  background: rgba(247,251,255,.9);
  padding: 10px 12px;
}
.admin-commission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.admin-commission-grid label:last-child {
  grid-column: 1 / -1;
}
.ai-builder-status {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid #dceafe;
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fcff, #edf7ff);
  color: #54708f;
  font-weight: 800;
}
.ai-builder-status.bad {
  border-color: rgba(213,47,53,.28);
  background: #fff7f7;
  color: var(--red);
}
.ai-builder-review {
  display: grid;
  gap: 10px;
  width: 100%;
  min-width: 0;
  max-height: calc(100vh - 190px);
  overflow-y: auto;
  overflow-x: hidden;
}
.ai-review-summary,
.ai-review-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.ai-review-chip,
.ai-review-ok,
.ai-review-warnings {
  border: 1px solid #dceafe;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f7fbff);
  box-shadow: var(--shadow);
}
.ai-review-chip {
  padding: 10px 12px;
}
.ai-review-chip span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.ai-review-chip strong {
  display: block;
  margin-top: 5px;
  color: var(--navy);
}
.ai-review-ok {
  padding: 10px 12px;
  color: var(--green);
  font-weight: 900;
}
.ai-review-warnings {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  background: #fff9f2;
  border-color: rgba(255,122,41,.24);
}
.ai-review-warnings strong {
  color: var(--orange);
}
.ai-review-warnings span {
  color: #6c4b24;
  font-weight: 800;
}
.ai-review-stops {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ai-review-stop-card {
  border: 1px solid #dceafe;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow);
  padding: 10px;
}
.ai-review-stop-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  color: var(--navy);
}
.ai-review-stop-head strong {
  color: var(--blue);
  letter-spacing: .02em;
}
.ai-review-stop-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.ai-review-wide {
  grid-column: span 2;
}
.ai-review-check-row {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.ai-review-check {
  min-height: 38px;
}
.ai-review-preview {
  border: 1px solid #dceafe;
  border-radius: 16px;
  padding: 10px 12px;
  background: #f8fbff;
}
.ai-review-preview summary {
  cursor: pointer;
  color: var(--blue);
  font-weight: 900;
}
.ai-review-preview pre {
  max-height: 120px;
  overflow: auto;
  white-space: pre-wrap;
  color: #5d728f;
}
.ai-builder-review .section-card .inside {
  padding: 10px !important;
}
.ai-builder-review label.form-label {
  gap: 4px;
}
.ai-builder-review label.form-label span {
  font-size: 10.5px;
}
.ai-builder-review input,
.ai-builder-review select,
.ai-builder-review textarea {
  min-height: 32px;
  height: 32px;
  padding: 6px 9px;
  border-radius: 13px;
  font-size: 12px;
}
.ai-builder-review textarea {
  min-height: 32px;
  resize: vertical;
}
.modal-foot button:disabled {
  opacity: .68;
  cursor: wait;
}
.load-sales-agent-card .inside {
  display: grid;
  gap: 14px;
}
.sales-agent-summary {
  margin: 0;
}
.sales-agent-summary .fin-box {
  min-height: 92px;
  align-content: center;
}
.sales-agent-summary .fin-box strong {
  font-size: 24px;
}
@media (max-width: 900px) {
  .admin-commission-grid,
  .sales-agent-summary,
  .ai-review-summary,
  .ai-review-stops {
    grid-template-columns: 1fr!important;
  }
  .ai-builder-review {
    min-width: 0;
  }
  .ai-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ai-review-wide {
    grid-column: 1 / -1;
  }
}
.load-compact-left .trip-money-row,
.trip-money-row {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
@media (max-width: 1180px) {
  .load-compact-left .trip-money-row,
  .trip-money-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  .load-compact-left .trip-money-row,
  .trip-money-row {
    grid-template-columns: 1fr !important;
  }
}

/* Load workspace photo-match visual polish */
#loadWorkspace.panel {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}
#loadWorkspace > .panel-title {
  min-height: 72px !important;
  padding: 14px 18px 10px !important;
  border: 0 !important;
  background: transparent !important;
}
#loadWorkspace > .panel-title h2 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 24px !important;
  font-weight: 900 !important;
  color: #10224a !important;
  letter-spacing: 0 !important;
}
#loadWorkspace > .panel-title h2::before {
  content: "";
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex: 0 0 44px;
  background:
    radial-gradient(circle at 30% 26%, rgba(255,255,255,.95), rgba(255,255,255,.15) 32%, transparent 34%),
    linear-gradient(135deg, #9fc4ff 0%, #426df4 48%, #7b63ef 100%);
  box-shadow: 0 14px 30px rgba(60,105,230,.25);
}
#loadWorkspace > .panel-title h2::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 21px;
  width: 18px;
  height: 18px;
  border-right: 4px solid rgba(255,255,255,.9);
  border-top: 4px solid rgba(255,255,255,.9);
  border-radius: 2px;
  transform: rotate(135deg);
}
#loadWorkspace > .panel-title .toolbar-right {
  gap: 14px !important;
}
#loadWorkspace > .panel-title button,
#loadWorkspace > .panel-title .btn {
  min-height: 42px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.88) !important;
  border: 1px solid #e1ebf7 !important;
  color: #18355d !important;
  box-shadow: 0 10px 26px rgba(37,78,126,.08) !important;
  font-weight: 900 !important;
}
#loadWorkspace > .panel-title button.success {
  background: linear-gradient(180deg, #45d47a, #27b964) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 14px 28px rgba(39,185,100,.24) !important;
}
#loadWorkspace > .panel-title button.danger {
  color: #ef2d3d !important;
  background: rgba(255,255,255,.92) !important;
  border-color: #ffe0e4 !important;
}

#loadWorkspace .load-tabs {
  gap: 16px !important;
  padding: 8px 18px 18px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#loadWorkspace .load-tab {
  min-height: 44px !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.9) !important;
  border: 1px solid #e2ebf6 !important;
  color: #18345e !important;
  box-shadow: 0 12px 26px rgba(44,81,126,.09) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}
#loadWorkspace .load-tab.active {
  color: #fff !important;
  background: linear-gradient(180deg, #628dff, #315df4) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 26px rgba(60,98,242,.28) !important;
}

#loadWorkspace .load-body {
  padding: 0 18px 18px !important;
}
#loadWorkspace .load-compact-page {
  display: grid !important;
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}
#loadWorkspace .load-compact-left {
  height: auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto !important;
  gap: 14px !important;
  align-content: start !important;
}
#loadWorkspace .load-compact-main {
  display: grid !important;
  gap: 16px !important;
  align-content: start !important;
}

#loadWorkspace .section-card,
#loadWorkspace .stop-card,
#loadWorkspace .load-trip-card,
#loadWorkspace .load-financial-summary,
#loadWorkspace .load-invoice-row {
  border: 1px solid #e1ebf6 !important;
  border-radius: 30px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 18px 45px rgba(39,75,116,.10) !important;
  overflow: hidden !important;
}
#loadWorkspace .section-card h3,
#loadWorkspace .stop-card h3,
#loadWorkspace .load-trip-card h3 {
  min-height: 62px !important;
  padding: 16px 18px 8px !important;
  border: 0 !important;
  background: transparent !important;
  color: #235dff !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}
#loadWorkspace .section-card h3 > span,
#loadWorkspace .stop-card h3 > span,
#loadWorkspace .load-trip-card h3 > span,
#loadWorkspace .load-invoice-row > span {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center !important;
  color: #2f7cff !important;
  background: linear-gradient(180deg, #edf5ff, #dfeeff) !important;
  box-shadow: inset 0 0 0 1px rgba(91,137,214,.08) !important;
  flex: 0 0 auto !important;
}
#loadWorkspace .section-card h3 .pm-svg,
#loadWorkspace .stop-card h3 .pm-svg,
#loadWorkspace .load-trip-card h3 .pm-svg,
#loadWorkspace .load-invoice-row .pm-svg {
  width: 20px !important;
  height: 20px !important;
}
#loadWorkspace .stop-pair {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
#loadWorkspace .stop-pair .stop-card:first-child h3 > span {
  background: linear-gradient(180deg, #47d782, #24b665) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(40,184,101,.22) !important;
}
#loadWorkspace .stop-pair .stop-card:last-child h3 > span {
  background: linear-gradient(180deg, #a783ff, #6d59d7) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(112,89,215,.22) !important;
}
#loadWorkspace .section-card .inside,
#loadWorkspace .stop-card .inside,
#loadWorkspace .load-trip-card .inside {
  padding: 0 20px 18px !important;
  display: grid !important;
  gap: 14px !important;
}
#loadWorkspace .load-compact-left .section-card .inside {
  padding: 0 16px 16px !important;
  gap: 12px !important;
  align-content: start !important;
}
#loadWorkspace .load-dense-fields {
  gap: 12px !important;
}

#loadWorkspace label.form-label {
  display: grid !important;
  gap: 6px !important;
  grid-template-columns: 1fr !important;
  font-size: 12px !important;
}
#loadWorkspace label.form-label span {
  color: #647997 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}
#loadWorkspace input:not([type="checkbox"]):not([type="file"]),
#loadWorkspace select,
#loadWorkspace textarea {
  min-height: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  border: 1px solid #dae7f5 !important;
  background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
  color: #10234d !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  padding: 0 16px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}
#loadWorkspace textarea {
  border-radius: 18px !important;
  min-height: 72px !important;
  padding: 12px 16px !important;
}
#loadWorkspace .readonly-field input {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  padding-left: 0 !important;
}
#loadWorkspace .load-number-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 70px !important;
  gap: 10px !important;
  align-items: end !important;
}
#loadWorkspace .load-number-line button {
  min-height: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
}
#loadWorkspace .two.form-row,
#loadWorkspace .three.form-row,
#loadWorkspace .four.form-row,
#loadWorkspace .five.form-row {
  gap: 10px !important;
}
#loadWorkspace .load-compact-left .load-mini-row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
#loadWorkspace .load-compact-left .three.load-mini-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
#loadWorkspace .check-row,
#loadWorkspace .stop-checks {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#loadWorkspace .check-row label,
#loadWorkspace .stop-checks label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #405c82 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}
#loadWorkspace input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  accent-color: #3f7dff !important;
}
#loadWorkspace .address-hint {
  color: #7a90ac !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

#loadWorkspace .load-invoice-row {
  min-height: 64px !important;
  padding: 0 18px !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 12px !important;
  color: #1e63ff !important;
}
#loadWorkspace .load-invoice-row strong,
#loadWorkspace .load-invoice-row em {
  color: #1e63ff !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 950 !important;
}

#loadWorkspace .load-trip-card h3 > span {
  background: linear-gradient(180deg, #68a2ff, #386df5) !important;
  color: #fff !important;
}
#loadWorkspace .load-trip-head {
  min-height: 84px !important;
  border-radius: 26px !important;
  border: 1px solid #dfeafa !important;
  background: linear-gradient(180deg, #fbfdff, #f4f9ff) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
  padding: 16px 20px !important;
}
#loadWorkspace .load-trip-head strong {
  color: #132a55 !important;
  font-size: 24px !important;
}
#loadWorkspace .load-trip-head span,
#loadWorkspace .load-trip-head small,
#loadWorkspace .trip-pay-field small {
  color: #6b7f9c !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
#loadWorkspace .load-trip-card .fin-box,
#loadWorkspace .trip-money-row label.form-label {
  border-radius: 24px !important;
  border: 1px solid #e1ebf6 !important;
  background: linear-gradient(180deg, #ffffff, #f8fbff) !important;
  box-shadow: 0 10px 24px rgba(45,83,122,.06) !important;
  padding: 14px !important;
}
#loadWorkspace .trip-money-row input {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  height: 24px !important;
  min-height: 24px !important;
  box-shadow: none !important;
  font-size: 18px !important;
}
#loadWorkspace .load-trip-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
}
#loadWorkspace .load-trip-actions .send-trip-btn {
  min-height: 50px !important;
  border-radius: 16px !important;
  padding: 0 22px !important;
}
#loadWorkspace .load-trip-actions .note {
  color: #8194b1 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

#loadWorkspace .load-financial-summary {
  grid-column: 1 / -1 !important;
  border-radius: 30px !important;
}
#loadWorkspace .load-financial-summary h3 {
  display: none !important;
}
#loadWorkspace .load-financial-summary .inside {
  padding: 18px 24px !important;
}
#loadWorkspace .load-financial-summary .fin-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
#loadWorkspace .load-financial-summary .fin-box {
  border: 0 !important;
  border-right: 1px solid #dce7f4 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 10px 24px !important;
}
#loadWorkspace .load-financial-summary .fin-box:last-child {
  border-right: 0 !important;
}
#loadWorkspace .load-financial-summary .fin-box span {
  color: #7285a2 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}
#loadWorkspace .load-financial-summary .fin-box strong {
  color: #10234d !important;
  font-size: 20px !important;
  font-weight: 950 !important;
}

@media (max-width: 1280px) {
  #loadWorkspace .load-compact-page {
    grid-template-columns: 1fr !important;
  }
  #loadWorkspace .load-compact-left {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 980px) {
  #loadWorkspace > .panel-title,
  #loadWorkspace > .panel-title .toolbar-right {
    align-items: stretch !important;
    flex-direction: column !important;
  }
  #loadWorkspace .load-compact-left,
  #loadWorkspace .stop-pair,
  #loadWorkspace .two.form-row,
  #loadWorkspace .three.form-row,
  #loadWorkspace .four.form-row,
  #loadWorkspace .five.form-row,
  #loadWorkspace .load-financial-summary .fin-summary {
    grid-template-columns: 1fr !important;
  }
  #loadWorkspace .load-financial-summary .fin-box {
    border-right: 0 !important;
    border-bottom: 1px solid #dce7f4 !important;
  }
  #loadWorkspace .load-financial-summary .fin-box:last-child {
    border-bottom: 0 !important;
  }
}

/* Load workspace 27-inch fit pass */
#loadWorkspace > .panel-title {
  min-height: 54px !important;
  padding: 8px 14px 4px !important;
}
#loadWorkspace > .panel-title h2 {
  gap: 10px !important;
  font-size: 21px !important;
}
#loadWorkspace > .panel-title h2::before,
#loadWorkspace > .panel-title h2::after {
  display: none !important;
}
#loadWorkspace .load-title-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 38px !important;
  color: #fff !important;
  background: radial-gradient(circle at 30% 24%, rgba(255,255,255,.92), rgba(255,255,255,.12) 32%, transparent 34%), linear-gradient(135deg, #7fb0ff, #385ff2 54%, #7e63ec) !important;
  box-shadow: 0 12px 24px rgba(64,102,230,.23) !important;
}
#loadWorkspace .load-title-icon .pm-svg {
  width: 19px !important;
  height: 19px !important;
}
#loadWorkspace > .panel-title .toolbar-right {
  gap: 8px !important;
}
#loadWorkspace > .panel-title button,
#loadWorkspace > .panel-title .btn {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
}
#loadWorkspace .load-ai-builder-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}
#loadWorkspace .load-ai-builder-btn > span {
  width: 18px !important;
  height: 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  color: #4f72f4 !important;
}
#loadWorkspace .load-ai-builder-btn .pm-svg {
  width: 15px !important;
  height: 15px !important;
}

#loadWorkspace .load-tabs {
  gap: 10px !important;
  padding: 6px 14px 12px !important;
}
#loadWorkspace .load-tab {
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 20px !important;
  font-size: 12px !important;
}
#loadWorkspace .load-body {
  padding: 0 14px 12px !important;
}
#loadWorkspace .load-compact-page {
  grid-template-columns: minmax(305px, 340px) minmax(0, 1fr) !important;
  gap: 14px !important;
}
#loadWorkspace .load-compact-left,
#loadWorkspace .load-compact-main {
  gap: 10px !important;
}
#loadWorkspace .stop-pair {
  gap: 12px !important;
}
#loadWorkspace .section-card,
#loadWorkspace .stop-card,
#loadWorkspace .load-trip-card,
#loadWorkspace .load-financial-summary,
#loadWorkspace .load-invoice-row {
  border-radius: 24px !important;
}
#loadWorkspace .section-card h3,
#loadWorkspace .stop-card h3,
#loadWorkspace .load-trip-card h3 {
  min-height: 42px !important;
  padding: 9px 14px 3px !important;
  gap: 9px !important;
  font-size: 12px !important;
}
#loadWorkspace .section-card h3 > span,
#loadWorkspace .stop-card h3 > span,
#loadWorkspace .load-trip-card h3 > span,
#loadWorkspace .load-invoice-row > span {
  width: 32px !important;
  height: 32px !important;
}
#loadWorkspace .section-card h3 .pm-svg,
#loadWorkspace .stop-card h3 .pm-svg,
#loadWorkspace .load-trip-card h3 .pm-svg,
#loadWorkspace .load-invoice-row .pm-svg {
  width: 16px !important;
  height: 16px !important;
}
#loadWorkspace .section-card .inside,
#loadWorkspace .stop-card .inside,
#loadWorkspace .load-trip-card .inside {
  padding: 0 14px 12px !important;
  gap: 8px !important;
}
#loadWorkspace .load-compact-left .section-card .inside {
  padding: 0 12px 11px !important;
  gap: 7px !important;
}
#loadWorkspace .load-dense-fields {
  gap: 8px !important;
}
#loadWorkspace label.form-label {
  gap: 3px !important;
  font-size: 10.5px !important;
}
#loadWorkspace label.form-label span {
  font-size: 10.5px !important;
}
#loadWorkspace input:not([type="checkbox"]):not([type="file"]),
#loadWorkspace select,
#loadWorkspace textarea {
  min-height: 30px !important;
  height: 30px !important;
  border-radius: 15px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
}
#loadWorkspace textarea {
  min-height: 48px !important;
  padding: 9px 12px !important;
}
#loadWorkspace .load-number-line {
  grid-template-columns: minmax(0, 1fr) 58px !important;
  gap: 7px !important;
}
#loadWorkspace .load-number-line button {
  min-height: 30px !important;
  height: 30px !important;
}
#loadWorkspace .two.form-row,
#loadWorkspace .three.form-row,
#loadWorkspace .four.form-row,
#loadWorkspace .five.form-row {
  gap: 7px !important;
}
#loadWorkspace .check-row,
#loadWorkspace .stop-checks {
  gap: 12px !important;
}
#loadWorkspace .check-row label,
#loadWorkspace .stop-checks label {
  gap: 6px !important;
  font-size: 11px !important;
}
#loadWorkspace input[type="checkbox"] {
  width: 13px !important;
  height: 13px !important;
  min-height: 13px !important;
}
#loadWorkspace .stop-address-row {
  grid-template-columns: minmax(220px, 1.7fr) minmax(120px, .9fr) 62px 90px !important;
  gap: 7px !important;
}
#loadWorkspace .stop-address-row label:nth-child(3) input {
  text-transform: uppercase;
  padding-left: 10px !important;
  padding-right: 8px !important;
}
#loadWorkspace .address-hint {
  font-size: 10.5px !important;
  line-height: 1.25 !important;
}
#loadWorkspace .load-invoice-row {
  min-height: 42px !important;
  padding: 0 12px !important;
}

#loadWorkspace .load-trip-head {
  min-height: 58px !important;
  border-radius: 20px !important;
  padding: 10px 14px !important;
}
#loadWorkspace .load-trip-head strong {
  font-size: 19px !important;
}
#loadWorkspace .load-trip-head span,
#loadWorkspace .load-trip-head small,
#loadWorkspace .trip-pay-field small {
  font-size: 10.5px !important;
}
#loadWorkspace .trip-money-row {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
#loadWorkspace .trip-money-row label.form-label,
#loadWorkspace .trip-metric-field {
  min-height: 64px !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border-radius: 20px !important;
}
#loadWorkspace .trip-field-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center !important;
  background: #edf4ff !important;
  color: #3d7cff !important;
}
#loadWorkspace .trip-field-icon .pm-svg {
  width: 17px !important;
  height: 17px !important;
}
#loadWorkspace .trip-metric-purple .trip-field-icon {
  background: #f1eaff !important;
  color: #7d55ee !important;
}
#loadWorkspace .trip-metric-green .trip-field-icon {
  background: #e8faef !important;
  color: #10a958 !important;
}
#loadWorkspace .trip-field-text {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}
#loadWorkspace .trip-field-text em {
  color: #667b99 !important;
  font-size: 10.5px !important;
  font-style: normal !important;
  font-weight: 900 !important;
}
#loadWorkspace .trip-field-text input,
#loadWorkspace .trip-money-row input {
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  font-size: 16px !important;
}
#loadWorkspace .trip-field-text small {
  color: #6f83a0 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
}
#loadWorkspace .load-trip-actions {
  gap: 12px !important;
}
#loadWorkspace .load-trip-actions .send-trip-btn {
  min-height: 40px !important;
  border-radius: 14px !important;
  padding: 0 18px !important;
}
#loadWorkspace .load-trip-actions .note {
  font-size: 10.5px !important;
}
#loadWorkspace .load-financial-summary .inside {
  padding: 12px 18px !important;
}
#loadWorkspace .load-financial-summary .fin-box {
  min-height: 54px !important;
  padding: 6px 18px !important;
}
#loadWorkspace .load-financial-summary .fin-box span {
  font-size: 10.5px !important;
}
#loadWorkspace .load-financial-summary .fin-box strong {
  font-size: 17px !important;
}

@media (min-width: 1500px) {
  #loadWorkspace .load-compact-page {
    grid-template-columns: minmax(320px, 350px) minmax(0, 1fr) !important;
  }
}
@media (max-width: 1180px) {
  #loadWorkspace .trip-money-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #loadWorkspace .stop-address-row {
    grid-template-columns: 1fr 1fr 64px 90px !important;
  }
}

/* Load workspace anti-stretch correction */
#loadWorkspace .load-compact-left {
  height: auto !important;
  min-height: 0 !important;
  grid-template-rows: none !important;
  align-content: start !important;
}
#loadWorkspace .load-compact-left .load-compact-card {
  display: block !important;
  grid-template-rows: none !important;
}
#loadWorkspace .load-compact-left .inside {
  align-content: start !important;
}
#loadWorkspace .load-compact-main {
  align-content: start !important;
  grid-auto-rows: auto !important;
}
#loadWorkspace .load-financial-summary {
  align-self: start !important;
  display: block !important;
}
#loadWorkspace .load-financial-summary h3 {
  display: none !important;
  min-height: 0 !important;
  padding: 0 !important;
}
#loadWorkspace .load-financial-summary .inside {
  height: auto !important;
  min-height: 0 !important;
}

/* Load left rail height reduction */
#loadWorkspace .load-compact-left label.form-label {
  grid-template-columns: 82px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 6px !important;
}
#loadWorkspace .load-compact-left label.form-label span {
  white-space: normal !important;
  line-height: 1.1 !important;
}
#loadWorkspace .load-compact-left .two.form-row label.form-label,
#loadWorkspace .load-compact-left .load-mini-row label.form-label {
  grid-template-columns: 1fr !important;
  align-items: start !important;
  gap: 2px !important;
}
#loadWorkspace .load-compact-left .load-mini-row label.form-label span {
  font-size: 9.5px !important;
  white-space: nowrap !important;
}
#loadWorkspace .load-compact-left input:not([type="checkbox"]):not([type="file"]),
#loadWorkspace .load-compact-left select {
  min-height: 28px !important;
  height: 28px !important;
  border-radius: 14px !important;
}
#loadWorkspace .load-compact-left .load-dense-fields {
  gap: 5px !important;
}
#loadWorkspace .load-compact-left .check-row {
  min-height: 20px !important;
  gap: 8px !important;
}
#loadWorkspace .load-compact-left .check-row label {
  font-size: 10px !important;
  gap: 4px !important;
}
#loadWorkspace .load-compact-left input[type="checkbox"] {
  width: 11px !important;
  height: 11px !important;
  min-height: 11px !important;
}
#loadWorkspace .load-compact-left .section-card .inside {
  padding-bottom: 9px !important;
}

/* Load left rail final fit */
#loadWorkspace .load-compact-left .load-compact-card h3 {
  min-height: 34px !important;
  padding: 6px 10px 2px !important;
  font-size: 11px !important;
}
#loadWorkspace .load-compact-left .load-compact-card h3 > span {
  width: 26px !important;
  height: 26px !important;
}
#loadWorkspace .load-compact-left .load-compact-card h3 .pm-svg {
  width: 14px !important;
  height: 14px !important;
}
#loadWorkspace .load-compact-left .section-card .inside {
  padding: 0 10px 7px !important;
}
#loadWorkspace .load-compact-left label.form-label {
  grid-template-columns: 76px minmax(0, 1fr) !important;
  gap: 4px !important;
  font-size: 9.75px !important;
}
#loadWorkspace .load-compact-left label.form-label span {
  font-size: 9.75px !important;
}
#loadWorkspace .load-compact-left input:not([type="checkbox"]):not([type="file"]),
#loadWorkspace .load-compact-left select {
  min-height: 25px !important;
  height: 25px !important;
  padding: 0 9px !important;
  font-size: 11px !important;
}
#loadWorkspace .load-compact-left .load-dense-fields {
  gap: 3px !important;
}
#loadWorkspace .load-compact-left .two.form-row,
#loadWorkspace .load-compact-left .three.form-row,
#loadWorkspace .load-compact-left .four.form-row {
  gap: 4px !important;
}
#loadWorkspace .load-compact-left .load-mini-row label.form-label span {
  font-size: 8.75px !important;
}
#loadWorkspace .load-compact-left .check-row {
  min-height: 16px !important;
  gap: 7px !important;
}
#loadWorkspace .load-compact-left .check-row label {
  font-size: 9.25px !important;
}
#loadWorkspace .load-compact-left input[type="checkbox"] {
  width: 10px !important;
  height: 10px !important;
  min-height: 10px !important;
}
#loadWorkspace .load-compact-left .financial-check-row {
  min-height: 22px !important;
  gap: 10px !important;
}
#loadWorkspace .load-compact-left .financial-check-row label {
  gap: 5px !important;
}
#loadWorkspace .load-compact-left .financial-check-row input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
}
#loadWorkspace .load-compact-left .load-number-line {
  grid-template-columns: minmax(0, 1fr) 50px !important;
  gap: 5px !important;
}
#loadWorkspace .load-compact-left .load-number-line button {
  min-height: 25px !important;
  height: 25px !important;
  font-size: 10px !important;
}
#loadWorkspace .load-compact-left .load-invoice-row {
  min-height: 34px !important;
}

/* Load main column height release */
#loadWorkspace .load-compact-page {
  align-items: start !important;
}
#loadWorkspace .load-compact-main {
  height: auto !important;
  min-height: 0 !important;
  grid-template-rows: none !important;
  align-content: start !important;
}
#loadWorkspace .load-financial-summary {
  height: auto !important;
  min-height: 0 !important;
}

/* Load wrapper min-height release */
#loadWorkspace.panel,
#loadWorkspace .load-body,
#loadWorkspace .load-compact-page {
  height: auto !important;
  min-height: 0 !important;
}

/* Load checkboxes: circular button styling, behavior unchanged */
#loadWorkspace input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  display: inline-grid !important;
  place-content: center !important;
  flex: 0 0 18px !important;
  margin: 0 !important;
  border: 2px solid #b9cdec !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 4px 10px rgba(45,83,122,.08) !important;
  cursor: pointer !important;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
#loadWorkspace input[type="checkbox"]::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #fff;
  transform: scale(0);
  transition: transform .15s ease;
}
#loadWorkspace input[type="checkbox"]:checked {
  border-color: #2f7cff !important;
  background: #2f7cff !important;
  box-shadow: 0 8px 16px rgba(47,124,255,.22) !important;
}
#loadWorkspace input[type="checkbox"]:checked::before {
  transform: scale(1);
}
#loadWorkspace input[type="checkbox"]:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 4px rgba(47,124,255,.18), 0 8px 16px rgba(47,124,255,.18) !important;
}
#loadWorkspace input[type="checkbox"]:disabled {
  cursor: not-allowed !important;
  opacity: .55 !important;
}
#loadWorkspace .load-compact-left input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  flex-basis: 16px !important;
}
#loadWorkspace .load-compact-left input[type="checkbox"]::before {
  width: 6px;
  height: 6px;
}
#loadWorkspace .load-compact-left .financial-check-row input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  flex-basis: 18px !important;
}
#loadWorkspace .view-invoice-btn {
  min-height: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 999px !important;
  border: 1px solid #cfe1fb !important;
  background: linear-gradient(180deg, #ffffff, #eef6ff) !important;
  color: #1e63ff !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  padding: 0 10px !important;
  box-shadow: 0 8px 18px rgba(47,124,255,.12) !important;
}
#loadWorkspace .view-invoice-btn .pm-svg {
  width: 14px !important;
  height: 14px !important;
}

/* Customer deployment / clean install foundation */
.deployment-setup-grid .admin-full {
  grid-column: 1 / -1;
}
.deployment-module-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 10px;
}
.deployment-module-check {
  min-height: 54px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: rgba(255,255,255,.82);
}
.deployment-module-check.selected {
  color: #102c63;
  background: linear-gradient(180deg, #eef6ff, #e5f0ff);
  border-color: #bfd7ff;
  box-shadow: 0 8px 18px rgba(47,124,255,.12);
}
.deployment-module-check span {
  display: grid;
  gap: 2px;
}
.deployment-module-check small {
  color: #7e93ab;
  font-size: 11px;
  font-weight: 800;
}
.deployment-module-check input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  border: 2px solid #dbe8f7;
  border-radius: 50%;
  background: #fff;
}
.deployment-module-check input[type="checkbox"]::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #2f7cff;
  transform: scale(0);
}
.deployment-module-check input[type="checkbox"]:checked::before {
  transform: scale(1);
}
@media (max-width: 1180px) {
  .deployment-module-grid { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
}
@media (max-width: 640px) {
  .deployment-module-grid { grid-template-columns: 1fr; }
}


/* FreightQ system owner and tenant management */
.freightq-mark svg {
  fill: none;
}
.pm-logo-mark.freightq-mark svg {
  width: 42px;
  height: 42px;
}
.pm-powered-logo span svg {
  width: 28px;
  height: 28px;
}
.system-admin-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}
.system-admin-kpis .inside {
  min-height: 78px;
  align-content: center;
}
.system-admin-kpis span {
  color: #68809a;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.system-admin-kpis strong {
  color: #0b2147;
  font-size: 30px;
  line-height: 1;
}
.admin-search {
  min-height: 38px;
  width: min(360px, 100%);
  border-radius: 999px;
  border: 1px solid var(--pm-border);
  padding: 0 16px;
  color: #112b50;
  font-weight: 800;
  background: #fff;
}
.system-tenant-table {
  min-width: 1040px !important;
}
.system-admin-modal {
  display: grid;
  grid-template-columns: minmax(340px, 1fr) minmax(340px, 1fr);
  gap: 14px;
}
.system-admin-modal .admin-full {
  grid-column: 1 / -1;
}
.system-admin-modal .customer-check input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  border: 2px solid #b9cdec;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(45,83,122,.08);
}
.system-admin-modal .customer-check input[type="checkbox"]::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 999px;
  background: #2f7cff;
  transform: scale(0);
  transition: transform .15s ease;
}
.system-admin-modal .customer-check input[type="checkbox"]:checked::before {
  transform: scale(1);
}
.system-admin-modal .customer-check:has(input:checked),
.system-admin-modal .customer-check[aria-checked="true"] {
  color: #102c63;
  background: linear-gradient(180deg, #eef6ff, #e5f0ff);
  border: 1px solid #bfd7ff;
  border-radius: 999px;
  padding: 8px 12px;
  box-shadow: 0 8px 18px rgba(47,124,255,.12);
}
.system-admin-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--pm-border);
}
.system-admin-tabs button {
  min-height: 42px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--pm-muted);
  font-weight: 900;
}
.system-admin-tabs button.active {
  border-bottom-color: #2f7cff;
  color: var(--pm-blue);
}
.template-review-layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}
.template-review-list {
  overflow: hidden;
  border: 1px solid var(--pm-border);
  border-radius: 8px;
  background: var(--pm-panel);
}
.template-review-list-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--pm-border);
  color: var(--pm-text);
}
.template-review-list-item {
  display: grid;
  width: 100%;
  min-height: 78px;
  padding: 12px 16px;
  border: 0;
  border-bottom: 1px solid var(--pm-border);
  border-radius: 0;
  background: transparent;
  color: var(--pm-text);
  text-align: left;
}
.template-review-list-item:hover,
.template-review-list-item.active {
  background: var(--pm-blue-soft);
}
.template-review-list-item.active {
  box-shadow: inset 3px 0 #2f7cff;
}
.template-review-list-item span,
.template-review-list-item small,
.template-review-summary span,
.template-review-summary small {
  color: var(--pm-muted);
}
.template-review-list .pagination-row {
  padding: 10px;
}
.template-review-detail {
  display: grid;
  min-width: 0;
  gap: 14px;
}
.template-review-detail .section-card {
  margin: 0;
}
.template-review-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.template-review-summary > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.template-review-summary strong {
  overflow-wrap: anywhere;
  color: var(--pm-text);
}
.template-source-name {
  overflow: hidden;
  color: var(--pm-blue) !important;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.template-source-document {
  display: grid;
  gap: 14px;
}
.template-source-file {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.template-source-file > svg {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  color: var(--pm-blue);
}
.template-source-file > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.template-source-file strong {
  overflow-wrap: anywhere;
  color: var(--pm-text);
}
.template-source-file small,
.template-source-document dt {
  color: var(--pm-muted);
}
.template-source-document dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.template-source-document dl > div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--pm-border);
  border-radius: 6px;
  background: var(--pm-bg);
}
.template-source-document dt,
.template-source-document dd {
  margin: 0;
}
.template-source-document dd {
  overflow-wrap: anywhere;
  color: var(--pm-text);
  font-weight: 800;
}
.ai-builder-source-note {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border: 1px solid var(--pm-border);
  border-radius: 6px;
  background: var(--pm-blue-soft);
  color: var(--pm-text);
}
.ai-builder-source-note > svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  color: var(--pm-blue);
}
.section-heading-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-right: 12px;
}
.section-heading-row h3 {
  margin: 0;
}
.template-processing-event {
  display: grid;
  grid-template-columns: 110px 180px minmax(0, 1fr);
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--pm-border);
}
.template-processing-event:last-child {
  border-bottom: 0;
}
.template-processing-event small {
  color: var(--pm-muted);
}
.template-governance-modal textarea {
  min-height: 90px;
}
.readiness-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.readiness-summary-grid > div {
  display: grid;
  min-height: 82px;
  gap: 6px;
  align-content: center;
  padding: 12px;
  border: 1px solid var(--pm-border);
  border-radius: 6px;
  background: var(--pm-panel);
}
.readiness-summary-grid span,
.readiness-summary-grid small {
  color: var(--pm-muted);
}
.readiness-summary-grid strong {
  color: var(--pm-text);
  font-size: 24px;
}
.readiness-table {
  min-width: 1680px;
}
.readiness-table tbody tr,
.template-readiness-workspace .section-card:last-child tbody tr {
  cursor: pointer;
}
.readiness-table tbody tr:hover td,
.readiness-table tbody tr.selected-row td {
  background: var(--pm-blue-soft);
}
.readiness-table tbody tr.selected-row td:first-child {
  box-shadow: inset 3px 0 var(--pm-blue);
}
.readiness-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 14px 0;
}
.readiness-detail-grid .section-card {
  min-width: 0;
  margin: 0;
}
.readiness-blockers {
  display: grid;
  gap: 8px;
}
.readiness-blockers article {
  padding: 10px 12px;
  border: 1px solid var(--pm-border);
  border-left: 4px solid var(--pm-muted);
  border-radius: 6px;
}
.readiness-blockers article.severity-critical,
.evaluation-difference.severity-critical {
  border-left-color: #dc3545;
}
.readiness-blockers article.severity-high,
.evaluation-difference.severity-high {
  border-left-color: #e58b19;
}
.readiness-blockers article.severity-medium,
.evaluation-difference.severity-medium {
  border-left-color: #2f7cff;
}
.readiness-blockers article header {
  display: flex;
  align-items: center;
  gap: 8px;
}
.readiness-blockers article header span:last-child {
  margin-left: auto;
}
.readiness-blockers article p {
  margin: 8px 0 0;
  color: var(--pm-muted);
}
.readiness-histogram {
  display: flex;
  min-height: 112px;
  align-items: flex-end;
  gap: 8px;
}
.readiness-histogram > div {
  display: grid;
  flex: 1 1 0;
  min-width: 0;
  justify-items: center;
  gap: 6px;
}
.readiness-histogram > div > span {
  display: block;
  width: min(34px, 80%);
  min-height: 4px;
  border-radius: 3px 3px 0 0;
  background: var(--pm-blue);
}
.readiness-histogram small {
  overflow: hidden;
  max-width: 100%;
  color: var(--pm-muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.evaluation-detail {
  display: grid;
  max-height: 70vh;
  gap: 14px;
  overflow: auto;
}
.evaluation-category-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.evaluation-category-grid > div {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--pm-border);
  border-radius: 6px;
}
.evaluation-category-grid span,
.evaluation-category-grid small {
  color: var(--pm-muted);
}
.evaluation-differences {
  display: grid;
  gap: 10px;
}
.evaluation-difference {
  padding: 12px;
  border: 1px solid var(--pm-border);
  border-left: 4px solid var(--pm-muted);
  border-radius: 6px;
}
.evaluation-difference header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.evaluation-difference header span {
  margin-left: auto;
  color: var(--pm-muted);
}
.evaluation-difference > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.evaluation-difference pre {
  overflow: auto;
  max-height: 180px;
  margin: 6px 0 0;
  padding: 8px;
  border: 1px solid var(--pm-border);
  border-radius: 4px;
  background: var(--pm-bg);
  color: var(--pm-text);
  white-space: pre-wrap;
}
@media (max-width: 1100px) {
  .system-admin-kpis,
  .system-admin-modal {
    grid-template-columns: 1fr 1fr;
  }
  .template-review-layout {
    grid-template-columns: 1fr;
  }
  .template-review-list {
    max-height: 360px;
    overflow-y: auto;
  }
  .template-review-summary {
    grid-template-columns: 1fr 1fr;
  }
  .template-source-document dl {
    grid-template-columns: 1fr;
  }
  .readiness-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .evaluation-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .system-admin-kpis,
  .system-admin-modal {
    grid-template-columns: 1fr;
  }
  .template-review-summary,
  .template-processing-event {
    grid-template-columns: 1fr;
  }
  .section-heading-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .readiness-summary-grid,
  .readiness-detail-grid,
  .evaluation-category-grid,
  .evaluation-difference > div {
    grid-template-columns: 1fr;
  }
}


/* Official FreightQ logo asset */
.login-brand-full {
  width: 100% !important;
  display: block !important;
  margin: 0 0 20px !important;
}
.freightq-login-logo {
  width: 100% !important;
  height: 230px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #020817 !important;
  box-shadow: 0 18px 44px rgba(15, 38, 73, .18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.login-logo-img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.freightq-logo-img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 10px !important;
}
.pm-logo.pm-logo-only {
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 0 20px !important;
  padding: 0 2px 8px !important;
}
.pm-logo-mark.freightq-mark {
  width: 176px !important;
  height: 112px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #020817 !important;
}
.pm-logo-mark.freightq-mark.freightq-mark-white {
  background: #fff !important;
  border: 1px solid rgba(214, 226, 242, .9) !important;
}
.freightq-logo-white-img {
  object-fit: contain !important;
  padding: 4px !important;
}
.pm-powered-card.pm-powered-card-logo-only {
  min-height: 164px !important;
  padding: 10px !important;
  place-items: center !important;
}
.pm-powered-logo.pm-powered-logo-only {
  width: 100% !important;
  display: block !important;
}
.pm-powered-logo.pm-powered-logo-only span {
  width: 100% !important;
  height: 148px !important;
  display: block !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #020817 !important;
}
.pm-powered-logo span {
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #020817 !important;
}
/* Safety module tabs and incident modal */
.safety-workspace .panel-title p { margin: 3px 0 0; }
.safety-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 16px 14px; border-bottom: 1px solid #e4edf8; }
.safety-tab { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #dceafe; background: rgba(255,255,255,.9); color: #48627f; padding: 10px 14px; border-radius: 14px; font-weight: 900; box-shadow: 0 10px 22px rgba(24,75,138,.06); }
.safety-tab.active { background: linear-gradient(135deg, #2f7cff, #64a7ff); border-color: #2f7cff; color: #fff; box-shadow: 0 14px 26px rgba(47,124,255,.22); }
.safety-tab .pm-svg { width: 17px; height: 17px; }
.safety-tab-body { display: grid; gap: 14px; }
.safety-tab-heading { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid #e2ecfa; border-radius: 18px; background: linear-gradient(180deg, #fff, #f8fbff); }
.safety-tab-heading > span { width: 38px; height: 38px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; color: #2f7cff; background: #edf5ff; }
.safety-tab-heading h3 { margin: 0; color: #16294b; }
.safety-tab-heading small { color: #7285a0; font-weight: 700; }
.safety-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.safety-alert-cards { grid-template-columns: repeat(5, minmax(0,1fr)); }
.safety-alert-cards .fin-box {
  appearance: none;
  width: 100%;
  min-height: 104px;
  display: grid;
  align-content: center;
  justify-items: start;
  text-align: left;
  color: inherit;
  cursor: pointer;
}
.safety-alert-cards .fin-box span { display: inline-flex; align-items: center; gap: 6px; }
.safety-alert-cards .fin-box small { margin-top: 4px; color: #7890ad; font-size: 11px; font-weight: 800; }
.safety-alert-cards .fin-box.active {
  border-color: #2f7cff !important;
  background: linear-gradient(180deg,#f3f8ff,#eaf3ff);
  box-shadow: 0 0 0 3px rgba(47,124,255,.12), 0 14px 30px rgba(47,124,255,.14) !important;
}
.safety-compliance-date,
.safety-hos { display: inline-flex; align-items: center; min-height: 26px; border-radius: 999px; padding: 4px 9px; font-size: 12px; font-weight: 900; }
.safety-compliance-current,
.safety-hos-current { color: #177342; background: #e6f7ee; }
.safety-compliance-expiring,
.safety-hos-warning { color: #9b5a00; background: #fff2d8; }
.safety-compliance-expired { color: #b5222d; background: #ffe3e6; }
.safety-compliance-missing,
.safety-hos-missing { color: #6d7480; background: #edf1f6; }
.safety-cell-expired { background: rgba(255,67,80,.08) !important; }
.safety-cell-warning { background: rgba(255,170,54,.1) !important; }
.driver-performance-toolbar { align-items: end; gap: 12px; }
.driver-performance-note { min-width: 320px; max-width: 620px; white-space: normal; line-height: 1.45; }
.driver-performance-grid small { display: block; color: #758aa5; margin-top: 3px; }
.safety-dashboard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.safety-dashboard-grid .pm-card { min-width: 0; }
.safety-dashboard-grid .table-wrap { box-shadow: none !important; border-radius: 14px !important; }
.safety-command-stats { margin: 0; }
.safety-command-grid { margin: 0; }
.modal-card:has(.incident-modal) { width: min(1280px, 98vw); border-radius: 18px; }
.modal-card:has(.incident-modal) .modal-head h2 { font-size: 24px; color: #122447; }
.modal-card:has(.incident-modal) .modal-body { gap: 16px; }
.incident-modal { display: grid; gap: 14px; color: #182b4d; }
.incident-modal-tabs { display: flex; align-items: center; gap: 24px; border-bottom: 1px solid #dfe8f5; padding: 0 0 10px; }
.incident-modal-tabs button { border: 0; background: transparent; box-shadow: none; color: #647899; font-weight: 900; padding: 10px 4px; border-radius: 0; }
.incident-modal-tabs button.active { color: #176bff; border-bottom: 2px solid #176bff; }
.incident-modal-tabs button.ghost.danger { margin-left: auto; border: 1px solid rgba(255,67,80,.25); border-radius: 10px; padding: 9px 18px; color: #ef3445; background: #fff; }
.incident-modal-grid { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 10px; }
.incident-card { border: 1px solid #dfe8f5; border-radius: 12px; background: rgba(255,255,255,.94); padding: 16px; display: grid; gap: 8px; box-shadow: 0 16px 34px rgba(24,75,138,.06); }
.incident-card h3 { margin: 0 0 6px; font-size: 16px; color: #14274a; }
.incident-card .form-label { display: grid; grid-template-columns: 130px minmax(0,1fr); align-items: center; gap: 10px; }
.incident-card .form-label span { color: #17345d; font-size: 13px; font-weight: 800; }
.incident-card input,
.incident-card select,
.incident-card textarea { min-height: 38px; border-radius: 9px; border: 1px solid #dbe6f5; background: #fff; padding: 0 12px; color: #213857; font-weight: 700; }
.incident-comments textarea { min-height: 308px; padding: 14px; resize: vertical; }
.incident-comments small { justify-self: end; color: #7285a0; }
.incident-address-row { display: grid; grid-template-columns: 1fr .8fr; gap: 10px; }
.incident-address-row .form-label { grid-template-columns: 60px minmax(0,1fr); }
.incident-details { gap: 14px; }
.incident-check-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px 16px; }
.incident-check { min-height: 44px; border-radius: 10px; box-shadow: none; }
.incident-stepper { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #e4edf8; border-radius: 10px; padding: 8px 10px; background: #fbfdff; }
.incident-stepper strong { font-size: 13px; color: #17345d; }
.incident-stepper div { display: grid; grid-template-columns: 48px 70px 48px; align-items: center; gap: 6px; }
.incident-stepper button { min-height: 32px; border-radius: 9px; padding: 0; }
.incident-stepper input { text-align: center; min-height: 32px; }
.incident-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.incident-party-table table.grid { min-width: 1080px; }
.incident-party-table input { width: 100%; min-height: 34px; }
.incident-empty-parties { min-height: 150px; display: grid; place-items: center; align-content: center; gap: 8px; color: #7c8da8; border: 1px solid #e8f0fb; border-radius: 12px; background: #fbfdff; text-align: center; }
.incident-empty-parties span { color: #2f7cff; width: 48px; height: 48px; border-radius: 16px; background: #edf5ff; display: inline-flex; align-items: center; justify-content: center; }
.incident-empty-parties .pm-svg { width: 26px; height: 26px; }
@media (max-width: 1100px) {
  .incident-modal-grid { grid-template-columns: 1fr; }
  .incident-check-grid, .safety-summary-grid, .safety-dashboard-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .incident-card .form-label { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .incident-check-grid, .safety-summary-grid, .safety-dashboard-grid, .incident-address-row { grid-template-columns: 1fr; }
  .safety-tabs { padding-inline: 10px; }
}
/* Incident modal circular checkbox controls */
.incident-modal .incident-check input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  border: 2px solid #b9cdec;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(45,83,122,.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.incident-modal .incident-check input[type="checkbox"]::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 999px;
  background: #2f7cff;
  transform: scale(0);
  transition: transform .15s ease;
}
.incident-modal .incident-check input[type="checkbox"]:checked::before {
  transform: scale(1);
}
.incident-modal .incident-check:has(input:checked),
.incident-modal .incident-check[aria-checked="true"] {
  color: #102c63;
  background: linear-gradient(180deg, #eef6ff, #e5f0ff);
  border: 1px solid #bfd7ff;
  border-radius: 999px;
  padding: 8px 12px;
  box-shadow: 0 8px 18px rgba(47,124,255,.12);
}
/* FreightQ official motto and version treatment */
.pm-logo-copy { min-width: 0; display: grid; gap: 3px; }
.pm-logo .pm-brand-motto,
.pm-powered-card .pm-powered-motto {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
  color: #6f8099;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.pm-logo .pm-brand-motto em,
.pm-powered-card .pm-powered-motto em {
  font-style: normal;
  color: #6f8099;
  letter-spacing: 0;
}
.pm-logo .pm-brand-motto b,
.pm-powered-card .pm-powered-motto b {
  color: #ff6f24;
  font-weight: 950;
  letter-spacing: 0;
}
.pm-powered-card .pm-version-label {
  display: block;
  margin-top: 4px;
  color: #7f8fa8;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}
.pm-powered-card small { letter-spacing: 0; }
.pm-sidebar-small .pm-logo-copy { display: none; }
/* Accounting driver statement polish */
.driver-breadcrumb-link {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #526883;
  padding: 0;
  min-height: 0 !important;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}
.driver-breadcrumb-link:hover { color: #2878ff; text-decoration: underline; }
.driver-fuel-table { min-width: 2320px; }
.driver-sort-head {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
  padding: 0;
}
.driver-sort-head:hover { color: #2878ff; }.driver-fuel-table .driver-match-select {
  min-width: 170px;
  min-height: 34px !important;
  border: 1px solid var(--pm-border-2);
  border-radius: 10px;
  background: #fff;
  color: #173052;
  font-weight: 800;
  padding: 7px 10px;
}
.driver-fuel-table .driver-match-select:disabled { background: #f3f7fb; color: #6f8199; }

/* Fuel accountability and operational alert center */
.report-tabs,
.alert-center-tabs {
  display: flex;
  gap: 6px;
  margin-top: 10px;
}
.report-tabs button,
.alert-center-tabs button {
  border: 1px solid var(--pm-border-2);
  background: var(--pm-card, #fff);
  color: var(--pm-text, #18345d);
  min-height: 34px;
  padding: 7px 13px;
  font-weight: 800;
}
.report-tabs button.active,
.alert-center-tabs button.active {
  border-color: #2d7cf6;
  background: #eaf3ff;
  color: #1768df;
}
.financial-overview-report,
.load-profitability-report {
  display: grid;
  gap: 16px;
}
.financial-report-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
}
.financial-report-toolbar h3,
.financial-report-toolbar p {
  margin: 0;
}
.financial-report-toolbar p {
  margin-top: 5px;
  color: var(--pm-muted, #687b95);
}
.financial-report-section-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.load-profitability-summary {
  max-width: 820px;
}
.alert-center-tabs button span {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 20px;
  margin-left: 6px;
  border-radius: 10px;
  background: #e6edf8;
  font-size: 11px;
}
.fuel-accountability-report { display: grid; gap: 16px; }
.fuel-accountability-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
}
.fuel-accountability-toolbar h3 { margin: 0; color: var(--pm-text, #132d55); }
.fuel-accountability-toolbar p { margin: 5px 0 0; color: var(--pm-muted, #647997); font-size: 12px; }
.fuel-accountability-dates { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; }
.fuel-accountability-dates label { display: grid; gap: 4px; color: var(--pm-muted, #647997); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.fuel-accountability-dates input { min-height: 36px; }
.fuel-accountability-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.fuel-accountability-kpis > div {
  min-height: 104px;
  padding: 15px;
  border: 1px solid var(--pm-border-2);
  background: var(--pm-card, #fff);
}
.fuel-accountability-kpis span,
.fuel-accountability-kpis small { display: block; color: var(--pm-muted, #647997); font-size: 11px; font-weight: 800; }
.fuel-accountability-kpis strong { display: block; margin: 8px 0 4px; color: var(--pm-text, #132d55); font-size: 21px; }
.fuel-accountability-kpis .is-exception { border-color: #f1a0a5; background: #fff5f5; }
.fuel-accountability-kpis .is-exception strong { color: #cf2835; }
.fuel-accountability-kpis .is-clear { border-color: #9eddbd; background: #f0fbf5; }
.fuel-accountability-kpis .is-clear strong { color: #168b51; }
.fuel-accountability-breakdown { display: flex; gap: 18px; flex-wrap: wrap; color: var(--pm-muted, #647997); font-size: 11px; }
.fuel-accountability-breakdown strong { color: var(--pm-text, #132d55); }
.fuel-accountability-table { min-width: 1260px; }
.fuel-accountability-table td small { display: block; margin-top: 3px; color: var(--pm-muted, #647997); }
.fuel-accountability-exception td { background: #fff6f6 !important; }
.weekly-revenue-report { display: grid; gap: 16px; }
.weekly-revenue-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
}
.weekly-revenue-toolbar h3 {
  margin: 0;
  color: var(--pm-text, #132d55);
}
.weekly-revenue-toolbar p {
  max-width: 720px;
  margin: 5px 0 0;
  color: var(--pm-muted, #647997);
  font-size: 12px;
}
.weekly-revenue-toolbar label {
  display: grid;
  gap: 5px;
  color: var(--pm-muted, #647997);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.weekly-revenue-controls {
  display: flex;
  align-items: end;
  gap: 8px;
}
.weekly-revenue-toolbar select { min-width: 150px; }
.weekly-revenue-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.weekly-revenue-kpis > div {
  min-height: 104px;
  padding: 15px;
  border: 1px solid var(--pm-border-2);
  border-radius: 18px;
  background: var(--pm-card, #fff);
}
.weekly-revenue-kpis span,
.weekly-revenue-kpis small {
  display: block;
  color: var(--pm-muted, #647997);
  font-size: 11px;
  font-weight: 800;
}
.weekly-revenue-kpis strong {
  display: block;
  margin: 8px 0 4px;
  color: var(--pm-text, #132d55);
  font-size: 22px;
}
.weekly-revenue-weeks { display: grid; gap: 8px; }
.weekly-revenue-week {
  overflow: hidden;
  border: 1px solid var(--pm-border-2);
  border-radius: 14px;
  background: var(--pm-card, #fff);
}
.weekly-revenue-week summary {
  display: grid;
  grid-template-columns: 90px minmax(180px, 1fr) 110px 150px;
  gap: 14px;
  align-items: center;
  min-height: 52px;
  padding: 10px 16px;
  color: var(--pm-muted, #647997);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  list-style: none;
}
.weekly-revenue-week summary::-webkit-details-marker { display: none; }
.weekly-revenue-week summary:hover { background: #f6faff; }
.weekly-revenue-week[open] summary {
  border-bottom: 1px solid var(--pm-border-2);
  background: #f2f7ff;
}
.weekly-revenue-week-number {
  color: var(--pm-text, #132d55);
  font-weight: 900;
}
.weekly-revenue-week-number::before {
  content: "›";
  display: inline-block;
  margin-right: 8px;
  color: #2d7cf6;
  font-size: 18px;
  line-height: 1;
  transform-origin: center;
  transition: transform .15s ease;
}
.weekly-revenue-week[open] .weekly-revenue-week-number::before {
  transform: rotate(90deg);
}
.weekly-revenue-week summary strong {
  color: var(--pm-text, #132d55);
  font-size: 15px;
  text-align: left;
}
.weekly-revenue-days {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.weekly-revenue-days table { min-width: 680px; }
.weekly-revenue-state {
  display: grid;
  justify-items: start;
  gap: 8px;
  min-height: 180px;
  align-content: center;
  padding: 24px;
  border: 1px dashed var(--pm-border-2);
  border-radius: 18px;
  color: var(--pm-muted, #647997);
}
.weekly-revenue-state strong {
  color: var(--pm-text, #132d55);
  font-size: 17px;
}
.operational-alert-center .panel-title p { margin: 5px 0 0; color: var(--pm-muted, #647997); font-size: 12px; }
.operational-alert-list { display: grid; gap: 8px; margin-top: 14px; }
.operational-alert-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid var(--pm-border-2);
  border-left: 4px solid #edaa2d;
  background: var(--pm-card, #fff);
}
.operational-alert-row.severity-critical { border-left-color: #e14450; }
.operational-alert-main { display: grid; gap: 3px; min-width: 0; padding: 0; border: 0; background: transparent; text-align: left; color: inherit; }
.operational-alert-main:hover strong { color: #2677ee; }
.operational-alert-source { color: #2677ee; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.operational-alert-main strong { color: var(--pm-text, #132d55); font-size: 14px; }
.operational-alert-main small,
.operational-alert-main em { color: var(--pm-muted, #647997); font-size: 11px; font-style: normal; }
.theme-dark .report-tabs button.active,
.theme-dark .alert-center-tabs button.active { background: #102b55; color: #79b4ff; }
.theme-dark .fuel-accountability-kpis .is-exception,
.theme-dark .fuel-accountability-exception td { background: #321d28 !important; }
.theme-dark .fuel-accountability-kpis .is-clear { background: #123328; }
.theme-dark .weekly-revenue-week summary:hover,
.theme-dark .weekly-revenue-week[open] summary { background: #102642; }
@media (max-width: 1100px) {
  .financial-report-toolbar { align-items: stretch; flex-direction: column; }
  .financial-report-section-grid { grid-template-columns: 1fr; }
  .fuel-accountability-toolbar { align-items: stretch; flex-direction: column; }
  .fuel-accountability-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .weekly-revenue-toolbar { align-items: stretch; flex-direction: column; }
  .weekly-revenue-controls { align-items: stretch; }
  .weekly-revenue-week summary {
    grid-template-columns: 80px minmax(160px, 1fr) 90px 125px;
  }
}
@media (max-width: 680px) {
  .fuel-accountability-kpis { grid-template-columns: 1fr; }
  .weekly-revenue-kpis { grid-template-columns: 1fr; }
  .weekly-revenue-week summary {
    grid-template-columns: 1fr auto;
  }
  .weekly-revenue-week summary span:nth-of-type(2),
  .weekly-revenue-week summary span:nth-of-type(3) { grid-column: 1 / -1; }
  .operational-alert-row { grid-template-columns: 1fr; }
}
.driver-transaction-modal { display: grid; gap: 12px; }
.driver-transaction-modal .span-2 { grid-column: 1 / -1; }
.driver-transaction-modal textarea { min-height: 88px; }

/* Tenant/session admin polish */
.pm-user-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.pm-user {
  border: 0;
  cursor: pointer;
  text-align: left;
}
.pm-user-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 170px;
  padding: 8px;
  border: 1px solid var(--pm-border-2, #dce8f8);
  border-radius: 14px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 18px 42px rgba(36, 61, 95, .16);
  z-index: 80;
}
.pm-user-menu button {
  width: 100%;
  min-height: 38px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #173052;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 900;
  cursor: pointer;
  padding: 8px 10px;
}
.pm-user-menu button:hover { background: #eef5ff; color: #2878ff; }
.pm-user-menu .pm-svg { width: 16px; height: 16px; }
.pm-avatar.has-photo {
  overflow: hidden;
  background: #eef5ff !important;
  padding: 0;
}
.pm-avatar.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pm-date-button {
  border: 1px solid var(--pm-border-2, #dce8f8);
  cursor: pointer;
  background: #fff;
}
.admin-user-name-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-user-name-cell .admin-user-photo-preview {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 50%;
  margin: 0;
  font-size: 11px;
}
.admin-user-photo-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 74px auto auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--pm-border-2, #dce8f8);
  border-radius: 16px;
  background: #f8fbff;
}
.admin-user-photo-preview {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #dcebff, #f8fbff);
  border: 1px solid #cfe0f5;
  color: #2878ff;
  font-weight: 1000;
}
.admin-user-photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.admin-user-photo-card button {
  min-height: 36px;
  border: 1px solid #cfe0f5;
  border-radius: 12px;
  background: #fff;
  color: #173052;
  font-weight: 900;
  cursor: pointer;
  padding: 8px 12px;
}
.admin-user-photo-card button:hover { color: #2878ff; background: #eef5ff; }

/* FreightQ logo-only branding refinement */
.login-brand-logo-only {
  justify-content: center !important;
  margin-bottom: 18px !important;
}
.login-brand-logo-only .freightq-login-logo {
  width: 100% !important;
  max-width: 520px !important;
  height: 230px !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 42px rgba(15, 38, 73, .22) !important;
}
.pm-logo.pm-logo-only {
  justify-content: center !important;
  padding: 4px 0 10px !important;
}
.pm-logo-only .pm-logo-mark.freightq-mark {
  width: calc(100% - 10px) !important;
  max-width: 184px !important;
  height: 112px !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 34px rgba(15, 38, 73, .16) !important;
}
.pm-powered-logo-only {
  display: grid !important;
  place-items: center !important;
  padding: 12px 6px !important;
}
.pm-powered-logo-only .pm-powered-logo {
  justify-content: center !important;
}
.pm-powered-logo-only .pm-powered-logo span {
  width: 100% !important;
  height: 148px !important;
  border-radius: 24px !important;
  display: block !important;
  box-shadow: 0 16px 34px rgba(15, 38, 73, .16) !important;
}
.pm-sidebar-small .pm-logo-only .pm-logo-mark.freightq-mark {
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
}
/* FreightQ logo spacing refinement - 2026-07-01 */
.login-brand-logo-only {
  width: calc(100% + 24px) !important;
  margin: -4px -12px 22px !important;
}
.login-brand-logo-only .freightq-login-logo {
  max-width: none !important;
  width: 100% !important;
  height: 256px !important;
  border-radius: 30px !important;
}
.login-brand-logo-only .login-logo-img {
  object-fit: cover !important;
  object-position: center 45% !important;
}
.pm-logo.pm-logo-only {
  margin: -10px 0 14px !important;
  padding: 0 !important;
}
.pm-logo-only .pm-logo-mark.freightq-mark {
  width: calc(100% - 2px) !important;
  max-width: 204px !important;
  height: 126px !important;
  border-radius: 23px !important;
}
.pm-logo-mark.freightq-mark.freightq-mark-white .freightq-logo-white-img {
  object-fit: cover !important;
  object-position: center 42% !important;
  padding: 0 !important;
  transform: scale(1.06);
  transform-origin: center 42%;
}
.pm-powered-card.pm-powered-card-logo-only {
  min-height: 176px !important;
  padding: 8px 2px !important;
}
.pm-powered-logo-only .pm-powered-logo span {
  width: calc(100% + 8px) !important;
  height: 162px !important;
  margin: 0 -4px !important;
  border-radius: 25px !important;
}
.pm-powered-logo-only .pm-powered-logo span .freightq-logo-img {
  object-fit: cover !important;
  object-position: center center !important;
}

/* FreightQ logo/date polish - 2026-07-01 follow-up */
.login-brand-logo-only {
  width: calc(100% + 56px) !important;
  margin: -20px -28px 22px !important;
}
.login-brand-logo-only .freightq-login-logo {
  height: 286px !important;
  border-radius: 31px !important;
}
.login-brand-logo-only .login-logo-img {
  object-fit: cover !important;
  object-position: center 43% !important;
}
.pm-logo.pm-logo-only {
  margin: -26px -6px 8px !important;
  padding: 0 !important;
}
.pm-logo-only .pm-logo-mark.freightq-mark {
  width: calc(100% + 10px) !important;
  max-width: 220px !important;
  height: 142px !important;
  border-radius: 24px !important;
}
.pm-logo-mark.freightq-mark.freightq-mark-white .freightq-logo-white-img {
  object-fit: cover !important;
  object-position: center 36% !important;
  transform: scale(1.16) !important;
  transform-origin: center 36% !important;
}
.pm-powered-card.pm-powered-card-logo-only {
  min-height: 180px !important;
  padding: 8px 0 !important;
}
.pm-powered-logo-only .pm-powered-logo span {
  width: calc(100% + 28px) !important;
  height: 168px !important;
  margin: 0 -14px !important;
  border-radius: 25px !important;
}
.pm-powered-logo-only .pm-powered-logo span .freightq-logo-img {
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.18) !important;
  transform-origin: center center !important;
}

/* FreightQ logo crop/admin logo file support - 2026-07-01 */
.pm-logo.pm-logo-only {
  margin: -42px -8px 10px !important;
}
.pm-logo-only .pm-logo-mark.freightq-mark {
  width: calc(100% + 14px) !important;
  max-width: 224px !important;
  height: 158px !important;
}
.pm-logo-mark.freightq-mark.freightq-mark-white .freightq-logo-white-img {
  object-position: center 78% !important;
  transform: scale(1.08) !important;
  transform-origin: center 78% !important;
}
.pm-powered-logo-only .pm-powered-logo span {
  width: calc(100% + 46px) !important;
  height: 172px !important;
  margin: 0 -23px !important;
}
.pm-powered-logo-only .pm-powered-logo span .freightq-logo-img {
  transform: scale(1.27) !important;
  object-position: center center !important;
}
.login-brand-logo-only {
  width: calc(100% + 78px) !important;
  margin: -22px -39px 22px !important;
}
.login-brand-logo-only .freightq-login-logo {
  height: 292px !important;
}
.admin-logo-doc {
  width: 100%;
  height: 142px;
  border: 0;
  display: block;
  background: #fff;
}
.admin-logo-file-preview {
  width: 100%;
  min-height: 122px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  color: #2878ff;
  background: linear-gradient(135deg, #f8fbff, #edf5ff);
  font-weight: 1000;
}
.admin-logo-file-preview strong {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #e5f0ff;
  color: #2878ff;
  border: 1px solid #c9dcf8;
}
.admin-logo-file-preview span {
  color: #6f829d;
  font-size: 12px;
}

/* Load route maps, brokerage dispatch, and driver-license reader - 2026-07-01 */
.load-route-card {
  overflow: hidden;
}
.load-route-card h3 {
  color: #0b63ff;
}
.load-route-card .inside {
  gap: 9px !important;
}
.load-route-map-canvas {
  position: relative;
  width: 100%;
  min-height: 170px;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid #dceafb;
  background:
    linear-gradient(135deg, rgba(47,120,255,.08), rgba(34,184,111,.08)),
    radial-gradient(circle at 25% 25%, rgba(47,120,255,.22), transparent 28%),
    radial-gradient(circle at 75% 65%, rgba(34,184,111,.22), transparent 30%),
    #f7fbff;
}
.load-route-small .load-route-map-canvas {
  aspect-ratio: 1 / 1;
  min-height: 0;
}
.load-route-large .load-route-map-canvas {
  min-height: 560px;
  height: clamp(520px, 64vh, 820px);
}
.load-route-google-map {
  position: absolute;
  inset: 0;
  display: none;
}
.load-route-map-canvas.is-google-live .load-route-google-map {
  display: block;
}
.load-route-map-status {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(203,221,246,.9);
  color: #55708f;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  box-shadow: 0 12px 24px rgba(20,55,110,.10);
}
.load-route-map-canvas.is-google-live .load-route-map-status {
  left: auto;
  max-width: 70%;
}
.load-route-stop-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.load-route-stop-list span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #f2f7ff;
  border: 1px solid #deebff;
  color: #526b8d;
  font-size: 11px;
  font-weight: 900;
}
.load-route-stop-list b {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: #2878ff;
  color: #fff;
  font-size: 10px;
}
.load-stops-map-layout {
  display: grid;
  gap: 16px;
}
.load-stops-map-layout > .section-card:first-child {
  min-height: 620px;
}
.brokerage-dispatch-hero h1 span,
.brokerage-dispatch-kpis .pm-kpi strong {
  letter-spacing: 0;
}
.brokerage-dispatch-card {
  min-height: calc(100vh - 260px);
}
.brokerage-dispatch-toolbar {
  justify-content: space-between;
  align-items: center;
}
.brokerage-dispatch-toolbar input {
  min-width: min(520px, 45vw);
}
.brokerage-dispatch-table .grid td small {
  display: block;
  margin-top: 4px;
  color: #7185a0;
  font-size: 11px;
  font-weight: 800;
}
.brokerage-dispatch-table .money {
  white-space: nowrap;
  font-weight: 1000;
}
.brokerage-dispatch-table .money.good {
  color: #13a85e;
}
.brokerage-dispatch-table .money.bad {
  color: #ef4747;
}
.brokerage-dispatch-table .linklike {
  border: 0;
  background: transparent;
  color: #0b63ff;
  padding: 0;
  font: inherit;
  cursor: pointer;
}
.driver-headshot-actions {
  flex-wrap: wrap;
}
@media (max-width: 1100px) {
  .load-route-large .load-route-map-canvas {
    min-height: 420px;
    height: 52vh;
  }
  .brokerage-dispatch-toolbar input {
    min-width: 100%;
  }
}

/* Stop map order and FreightQ logo crop tweaks - 2026-07-02 */
.load-stops-map-layout > .section-card:first-child {
  min-height: auto !important;
}
.load-stops-map-layout .load-route-large {
  min-height: 620px !important;
}
.login-brand-logo-only {
  margin: -46px -39px 16px !important;
}
.pm-logo.pm-logo-only {
  margin: -66px -8px 8px !important;
}
.pm-logo-mark.freightq-mark.freightq-mark-white .freightq-logo-white-img {
  object-position: center 82% !important;
  transform: scale(1.24) !important;
  transform-origin: center 82% !important;
}
.pm-powered-card.pm-powered-card-logo-only {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.pm-powered-logo-only {
  padding: 0 !important;
}
.pm-powered-logo-only .pm-powered-logo span {
  box-shadow: 0 14px 32px rgba(15, 38, 73, .14) !important;
}

/* Polishing branch: rail logo, topbar menu, and admin user checkbox alignment. */
.pm-sidebar {
  padding-top: 30px !important;
}
.pm-logo.pm-logo-only {
  margin: 0 -8px 14px !important;
  justify-content: center !important;
  align-items: center !important;
}
.pm-logo-mark.freightq-mark.freightq-mark-white {
  width: 176px !important;
  height: 116px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
}
.pm-logo-mark.freightq-mark.freightq-mark-white .freightq-logo-white-img {
  object-fit: cover !important;
  object-position: center 50% !important;
  transform: scale(1.08) !important;
  transform-origin: center center !important;
  padding: 0 !important;
}
.pm-topbar {
  grid-template-columns: 44px minmax(360px,520px) 1fr auto auto auto !important;
}
.pm-menu {
  position: static !important;
  place-self: center start !important;
  z-index: 2 !important;
}
.admin-user-modal .customer-check input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  border: 2px solid #b9cdec;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(45,83,122,.08);
}
.admin-user-modal .customer-check input[type="checkbox"]::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 999px;
  background: #2f7cff;
  transform: scale(0);
  transition: transform .15s ease;
}
.admin-user-modal .customer-check input[type="checkbox"]:checked {
  border-color: #2f7cff;
}
.admin-user-modal .customer-check input[type="checkbox"]:checked::before {
  transform: scale(1);
}
.admin-user-modal .customer-check:has(input:checked),
.admin-user-modal .customer-check[aria-checked="true"] {
  color: #102c63;
  background: linear-gradient(180deg, #eef6ff, #e5f0ff);
  border: 1px solid #bfd7ff;
  border-radius: 999px;
  padding: 8px 12px;
  box-shadow: 0 8px 18px rgba(47,124,255,.12);
}

.geotab-settings-card .toolbar,
.inflow-settings-card .toolbar {
  align-items: center;
}

.integration-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.inflow-discovery-list {
  display: grid;
  gap: 8px;
}

.inflow-discovery-item {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #f7fbff;
}

.inflow-discovery-item small {
  display: block;
  margin-top: 7px;
  color: #58739b;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

body.theme-dark .inflow-discovery-item {
  border-color: rgba(96, 154, 255, .28);
  background: rgba(8, 18, 43, .78);
}

body.theme-dark .inflow-discovery-item small {
  color: #a9bfdf;
}

.integration-locked {
  padding: 12px 14px;
  border: 1px solid #dbeafe;
  border-radius: 16px;
  background: #eef6ff;
  color: #24466f;
  font-weight: 800;
}

/* Final Admin checkbox polish: circular, blank when off, blue when selected. */
.admin-workspace .customer-check input[type="checkbox"],
.admin-workspace .deployment-module-check input[type="checkbox"],
.admin-user-modal .customer-check input[type="checkbox"],
.system-admin-modal .customer-check input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  display: inline-grid !important;
  place-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  border: 2px solid #b9cdec !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: 0 4px 10px rgba(45,83,122,.08) !important;
  cursor: pointer !important;
}
.admin-workspace .customer-check input[type="checkbox"]::before,
.admin-workspace .deployment-module-check input[type="checkbox"]::before,
.admin-user-modal .customer-check input[type="checkbox"]::before,
.system-admin-modal .customer-check input[type="checkbox"]::before {
  content: "" !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: #fff !important;
  transform: scale(0) !important;
  transition: transform .15s ease !important;
  pointer-events: none !important;
}
.admin-workspace .customer-check input[type="checkbox"]:checked,
.admin-workspace .deployment-module-check input[type="checkbox"]:checked,
.admin-user-modal .customer-check input[type="checkbox"]:checked,
.system-admin-modal .customer-check input[type="checkbox"]:checked {
  border-color: #2f7cff !important;
  background: #2f7cff !important;
  box-shadow: 0 8px 16px rgba(47,124,255,.22) !important;
}
.admin-workspace .customer-check input[type="checkbox"]:checked::before,
.admin-workspace .deployment-module-check input[type="checkbox"]:checked::before,
.admin-user-modal .customer-check input[type="checkbox"]:checked::before,
.system-admin-modal .customer-check input[type="checkbox"]:checked::before {
  transform: scale(1) !important;
}


.admin-subtabs {
  display: flex;
  gap: 10px;
  margin: 14px 0 18px;
}
.admin-subtab {
  border: 1px solid #dce8f8;
  background: #fff;
  color: #18345c;
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 900;
  cursor: pointer;
}
.admin-subtab.active {
  background: linear-gradient(135deg, #2f82ff, #4da0ff);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 12px 24px rgba(47, 130, 255, .22);
}
.admin-audit-card h3 { text-transform: none; }
.admin-audit-toolbar {
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
}
.admin-audit-toolbar p { margin: 5px 0 0; }
.admin-audit-filters {
  display: grid;
  grid-template-columns: minmax(160px, 220px) minmax(260px, 1fr);
  align-items: end;
  gap: 8px;
}
.admin-audit-filters label {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--pm-muted, #647997);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.admin-audit-filters button { justify-self: start; }
.admin-audit-grid { min-width: 1040px; }
.admin-audit-grid th:first-child,
.admin-audit-grid td:first-child { white-space: nowrap; }
.admin-audit-grid .admin-audit-detail {
  min-width: 300px;
  white-space: normal;
}
@media (max-width: 900px) {
  .admin-audit-filters { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .admin-audit-filters { grid-template-columns: 1fr; }
}
.role-permissions-grid th,
.role-permissions-grid td {
  min-width: 120px;
  text-align: center;
}
.role-permissions-grid th:first-child,
.role-permissions-grid td:first-child {
  min-width: 160px;
  text-align: left;
  position: sticky;
  left: 0;
  background: #fff;
  z-index: 1;
}

/* Commission management */
.admin-user-commission-card {
  grid-column: 1 / -1;
}
.admin-user-commission-card .inside,
.commission-plans-admin .inside,
.commission-load-card .inside,
.commission-load-assignment-card .inside,
.commission-review-body,
.approved-commission-report {
  display: grid;
  gap: 16px;
}
.commission-load-workspace {
  display: grid;
  gap: 16px;
}
.commission-load-assignment-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1.3fr) minmax(220px, .7fr);
  gap: 12px;
  align-items: stretch;
}
.commission-load-audit {
  display: grid;
  align-content: center;
  gap: 3px;
  min-height: 64px;
  padding: 10px 12px;
  border: 1px solid #dce8f8;
  border-radius: 12px;
  background: #f8fbff;
}
.commission-load-audit span {
  color: #647997;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.commission-load-audit small {
  color: #6d839b;
}
.admin-user-commission-card .admin-commission-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.admin-user-commission-card .commission-enable-check,
.admin-user-commission-card .commission-plan-notes,
.admin-user-commission-card .admin-full {
  grid-column: 1 / -1;
}
.commission-simple-fields,
.commission-tier-fields {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.admin-user-commission-card .commission-simple-fields > label,
.admin-user-commission-card .commission-tier-fields > label {
  grid-column: auto;
}
.commission-tier-fields {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.commission-rpm-explainer {
  border: 1px solid #cfe4ff;
  border-radius: 14px;
  padding: 12px 14px;
  background: linear-gradient(135deg, #f4f9ff, #edf6ff);
  color: #335a86;
  line-height: 1.45;
}
.commission-rpm-explainer strong {
  color: #183c69;
}
.commission-driver-assignment {
  display: grid;
  gap: 10px;
  padding-top: 4px;
}
.commission-driver-assignment p {
  margin: 4px 0 0;
}
.commission-driver-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  max-height: 300px;
  overflow: auto;
}
.commission-driver-check {
  min-width: 0;
  align-items: flex-start !important;
}
.commission-driver-check strong,
.commission-driver-check small,
.commission-approved-snapshot strong,
.commission-approved-snapshot small,
.commission-entry-table td strong,
.commission-entry-table td small,
.commission-plans-table td strong,
.commission-plans-table td small,
.commission-own-report-note small {
  display: block;
}
.commission-driver-check small,
.commission-entry-table td small,
.commission-plans-table td small,
.commission-approved-snapshot small,
.commission-own-report-note small {
  margin-top: 3px;
  color: #6d839b;
  white-space: normal;
}
.commission-plan-modal-card {
  width: min(1540px, 97vw) !important;
}
.commission-plan-modal {
  display: grid;
  gap: 18px;
}
.commission-plan-general-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.commission-plan-notes {
  grid-column: 1 / -1;
}
.commission-plan-editor-section,
.commission-review-section,
.commission-decision-card {
  display: grid;
  gap: 10px;
  border: 1px solid #dce8f8;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  padding: 14px;
}
.commission-plan-editor-section h3,
.commission-review-section h3 {
  margin: 0;
}
.commission-plan-tier-table {
  min-width: 980px !important;
}
.commission-plan-tier-table input,
.commission-plan-tier-table select {
  min-width: 130px;
}
.commission-plans-table {
  min-width: 980px !important;
}
.customer-commission-table table.grid {
  min-width: 1480px;
}
.commission-state {
  min-height: 180px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  text-align: center;
  border: 1px dashed #c9dbf2;
  border-radius: 16px;
  background: #f8fbff;
  color: #6a809c;
  padding: 24px;
}
.commission-state strong {
  color: #1d3d67;
  font-size: 17px;
}
.commission-state button {
  margin-top: 6px;
}
.commission-load-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.commission-entry-table {
  min-width: 1420px !important;
}
.accounting-commission-entry-table {
  min-width: 1760px !important;
}
.approved-commission-entry-table {
  min-width: 1900px !important;
}
.commission-note-cell {
  min-width: 260px;
  max-width: 440px;
  white-space: normal !important;
  line-height: 1.4;
}
.commission-period-toolbar,
.commission-report-toolbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 210px)) minmax(220px, 1fr) auto;
  align-items: end;
  gap: 10px;
  margin-bottom: 16px;
}
.commission-report-toolbar {
  grid-template-columns: repeat(2, minmax(150px, 210px)) minmax(240px, 1fr) auto auto;
}
.commission-period-toolbar label,
.commission-report-toolbar label {
  display: grid;
  gap: 5px;
  color: #647997;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.commission-review-summary {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.commission-summary-table {
  min-width: 1060px !important;
}
.commission-decision-card {
  background: linear-gradient(180deg, #fbfdff, #f5f9ff);
}
.commission-decision-card textarea {
  min-height: 88px;
}
.commission-own-report-note {
  display: grid;
  align-content: center;
  justify-items: start;
  min-height: 42px;
}
.approved-commission-kpis {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.accounting-commissions-panel .panel-title p {
  margin: 4px 0 0;
}
.theme-dark .commission-rpm-explainer,
.theme-dark .commission-state,
.theme-dark .commission-load-audit,
.theme-dark .commission-plan-editor-section,
.theme-dark .commission-review-section,
.theme-dark .commission-decision-card {
  background: #102642;
  border-color: #24486e;
  color: #b9cbe0;
}
.theme-dark .commission-rpm-explainer strong,
.theme-dark .commission-state strong {
  color: #eef7ff;
}
@media (max-width: 1100px) {
  .commission-plan-general-grid,
  .commission-tier-fields,
  .commission-driver-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .commission-period-toolbar,
  .commission-report-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .commission-review-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .admin-user-commission-card .admin-commission-grid,
  .commission-simple-fields,
  .commission-tier-fields,
  .commission-plan-general-grid,
  .commission-driver-grid,
  .commission-load-assignment-grid,
  .commission-period-toolbar,
  .commission-report-toolbar,
  .commission-load-summary,
  .commission-review-summary,
  .approved-commission-kpis {
    grid-template-columns: 1fr;
  }
}
@media print {
  .reports-workspace .panel-title,
  .approved-commission-report .commission-report-toolbar,
  .approved-commission-report button {
    display: none !important;
  }
  .approved-commission-report .table-wrap {
    overflow: visible !important;
  }
  .approved-commission-report table.grid {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 8px;
  }
}
.role-permission-check {
  justify-content: center;
  min-height: 42px;
  padding: 8px;
}
.role-permission-check span {
  display: none;
}

/* Polishing branch: route-map truck arrows, clean FreightQ wordmark, and login bounds. */
.route-truck-arrow-marker {
  --arrow-color: #2f74f6;
  position: absolute;
  z-index: 45;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translate(-50%, -70%);
  cursor: pointer;
  overflow: visible;
  isolation: isolate;
}
.route-truck-arrow-marker.available { --arrow-color: #22b86f; }
.route-truck-arrow-marker.pickup { --arrow-color: #21bf73; }
.route-truck-arrow-marker.delivery { --arrow-color: #ff8a3d; }
.route-truck-arrow-marker.transit { --arrow-color: #2f74f6; }
.route-truck-arrow-marker.danger { --arrow-color: #ef4747; }
.route-truck-arrow-marker.neutral { --arrow-color: #607189; }
.route-truck-arrow-shape {
  position: absolute;
  inset: 1px;
  display: block;
  background: linear-gradient(135deg, #1a5ce9 0%, #16a9ff 55%, #2363ff 100%);
  clip-path: polygon(50% 1%, 96% 5%, 73% 98%, 48% 66%, 9% 81%, 24% 59%, 5% 49%, 34% 40%);
  filter: drop-shadow(0 6px 9px rgba(24, 87, 210, .28));
  transform-origin: 50% 62%;
}
.route-truck-arrow-shape::after {
  content: "";
  position: absolute;
  inset: 5px 5px 6px 7px;
  background: linear-gradient(180deg, #ffffff, #f6fbff);
  clip-path: polygon(49% 0, 100% 5%, 71% 100%, 47% 63%, 0 82%, 20% 57%, 1% 47%, 33% 38%);
}
.route-truck-arrow-truck {
  position: absolute;
  left: 4px;
  bottom: 8px;
  z-index: 3;
  width: 16px;
  height: 12px;
  border-radius: 8px 8px 8px 10px;
  background: linear-gradient(135deg, #1758e5, #138ffe);
  transform-origin: 50% 62%;
  pointer-events: none;
}
.route-truck-arrow-truck::before {
  content: "";
  position: absolute;
  left: 2px;
  bottom: 4px;
  width: 12px;
  height: 6px;
  background:
    linear-gradient(#fff 0 0) 0 2px / 5px 4px no-repeat,
    linear-gradient(#fff 0 0) 5px 0 / 7px 6px no-repeat;
  border-radius: 2px 1px 1px 2px;
}
.route-truck-arrow-truck::after {
  content: "";
  position: absolute;
  left: 4px;
  bottom: 2px;
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 7px 0 0 #fff;
}
.route-truck-arrow-number {
  position: absolute;
  left: 55%;
  top: 13px;
  z-index: 4;
  transform: translateX(-50%);
  color: #1b55d9;
  font-size: 10px;
  font-weight: 1000;
  line-height: 1;
  letter-spacing: 0;
  max-width: 24px;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracking-map-marker {
  --arrow-color: #2f74f6;
  width: 38px !important;
  height: 38px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translate(-50%, -70%) !important;
  isolation: isolate;
}
.tracking-map-marker.available { --arrow-color: #22b86f; background: transparent !important; }
.tracking-map-marker.pickup { --arrow-color: #21bf73; background: transparent !important; }
.tracking-map-marker.delivery { --arrow-color: #ff8a3d; background: transparent !important; }
.tracking-map-marker.transit { --arrow-color: #2f74f6; background: transparent !important; }
.tracking-map-marker.danger { --arrow-color: #ef4747; background: transparent !important; }
.tracking-map-marker.neutral { --arrow-color: #607189; background: transparent !important; }
.tracking-map-marker::before,
.tracking-map-marker::after {
  content: none !important;
}
.tracking-map-marker-shape {
  position: absolute !important;
  inset: 1px !important;
  display: block !important;
  z-index: 1 !important;
  background: linear-gradient(135deg, #1a5ce9 0%, #16a9ff 55%, #2363ff 100%) !important;
  clip-path: polygon(50% 1%, 96% 5%, 73% 98%, 48% 66%, 9% 81%, 24% 59%, 5% 49%, 34% 40%) !important;
  transform: rotate(var(--truck-bearing, 0deg));
  transform-origin: 50% 62%;
  filter: drop-shadow(0 6px 9px rgba(24, 87, 210, .26)) !important;
}
.tracking-map-marker-shape::after {
  content: "";
  position: absolute;
  inset: 5px 5px 6px 7px;
  background: linear-gradient(180deg, #ffffff, #f6fbff);
  clip-path: polygon(49% 0, 100% 5%, 71% 100%, 47% 63%, 0 82%, 20% 57%, 1% 47%, 33% 38%);
}
.tracking-map-marker-truck {
  position: absolute !important;
  left: 4px !important;
  bottom: 8px !important;
  z-index: 3 !important;
  width: 16px !important;
  height: 12px !important;
  border-radius: 8px 8px 8px 10px !important;
  background: linear-gradient(135deg, #1758e5, #138ffe) !important;
  transform: rotate(var(--truck-bearing, 0deg)) !important;
  transform-origin: 50% 62% !important;
  pointer-events: none !important;
}
.tracking-map-marker-truck::before {
  content: "";
  position: absolute;
  left: 2px;
  bottom: 4px;
  width: 12px;
  height: 6px;
  background:
    linear-gradient(#fff 0 0) 0 2px / 5px 4px no-repeat,
    linear-gradient(#fff 0 0) 5px 0 / 7px 6px no-repeat;
  border-radius: 2px 1px 1px 2px;
}
.tracking-map-marker-truck::after {
  content: "";
  position: absolute;
  left: 4px;
  bottom: 2px;
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 7px 0 0 #fff;
}
.tracking-map-marker-number {
  position: absolute !important;
  left: 55% !important;
  top: 13px !important;
  z-index: 4 !important;
  max-width: 22px !important;
  transform: translateX(-50%) !important;
  color: #1b55d9 !important;
  font-size: 10px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.pm-wordmark-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 0 14px !important;
  padding: 18px 18px 10px !important;
}
.freightq-wordmark {
  display: inline-flex;
  align-items: baseline;
  color: #1f2e45;
  font-size: 30px;
  font-weight: 1000;
  line-height: 1;
  letter-spacing: 0;
  text-shadow: 0 8px 20px rgba(118, 164, 230, .18);
}
.freightq-wordmark span {
  color: #3997ff;
}
.pm-sidebar-small .pm-wordmark-logo {
  justify-content: center !important;
  padding-inline: 0 !important;
}
.pm-sidebar-small .freightq-wordmark {
  font-size: 0;
}
.pm-sidebar-small .freightq-wordmark span {
  font-size: 30px;
}
.login-card {
  overflow: hidden;
}
.login-brand-logo-only {
  width: calc(100% + 60px) !important;
  margin: -30px -30px 24px !important;
}
.login-brand-logo-only .freightq-login-logo {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1.55 / 1 !important;
  border-radius: 24px !important;
}
.login-brand-logo-only .login-logo-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

/* Optional dark skin: translucent command-center surfaces with blue highlights. */
body.theme-dark {
  --pm-bg: #050813;
  --pm-text: #eaf3ff;
  --pm-muted: #88a0c5;
  --pm-border: rgba(64, 122, 255, .24);
  --pm-border-2: rgba(82, 142, 255, .18);
  --pm-panel: rgba(10, 17, 36, .78);
  --pm-panel-soft: rgba(13, 23, 48, .62);
  --pm-shadow: 0 24px 70px rgba(0, 0, 0, .44);
  --pm-shadow-soft: 0 12px 34px rgba(0, 0, 0, .28);
  background:
    radial-gradient(circle at 10% 4%, rgba(32, 120, 255, .26), transparent 28%),
    radial-gradient(circle at 86% 2%, rgba(114, 52, 255, .22), transparent 26%),
    linear-gradient(180deg, #050813, #071022 58%, #04070f) !important;
  color: var(--pm-text) !important;
}
body.theme-dark .pm-shell {
  background:
    radial-gradient(circle at 17% 0%, rgba(0, 136, 255, .22), transparent 32%),
    radial-gradient(circle at 74% 8%, rgba(122, 43, 255, .18), transparent 30%),
    linear-gradient(180deg, #050813, #071020 54%, #04070f) !important;
}
body.theme-dark .pm-shell::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(51, 120, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(51, 120, 255, .05) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.88), rgba(0,0,0,.28));
  z-index: 0;
}
body.theme-dark .pm-sidebar,
body.theme-dark .pm-topbar,
body.theme-dark .pm-card,
body.theme-dark .pm-kpi,
body.theme-dark .panel,
body.theme-dark .soft-card,
body.theme-dark .section-card,
body.theme-dark .table-wrap,
body.theme-dark .modal,
body.theme-dark .pm-powered-card,
body.theme-dark .pm-user-menu,
body.theme-dark .pm-dispatch-board-card {
  background: linear-gradient(180deg, rgba(11, 18, 39, .78), rgba(7, 13, 30, .66)) !important;
  border-color: rgba(71, 138, 255, .24) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(145, 199, 255, .08) !important;
  backdrop-filter: blur(20px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(125%) !important;
}
body.theme-dark .pm-content {
  color: var(--pm-text) !important;
}
body.theme-dark .freightq-wordmark {
  color: #f6fbff;
  text-shadow: 0 0 26px rgba(0, 119, 255, .24);
}
body.theme-dark .freightq-wordmark span {
  color: #30a7ff;
  text-shadow: 0 0 20px rgba(67, 120, 255, .65);
}
body.theme-dark .pm-nav-item {
  color: #a4b7d8 !important;
}
body.theme-dark .pm-nav-icon,
body.theme-dark .pm-nav-chevron {
  color: #5ca8ff !important;
}
body.theme-dark .pm-nav-item.active {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(0, 132, 255, .74), rgba(107, 39, 255, .78)) !important;
  box-shadow: 0 0 28px rgba(57, 119, 255, .34), inset 0 1px 0 rgba(255,255,255,.14) !important;
}
body.theme-dark .pm-search,
body.theme-dark .pm-menu,
body.theme-dark .pm-icon-button,
body.theme-dark .pm-user,
body.theme-dark .pm-btn,
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea,
body.theme-dark button:not(:where(
  .primary,
  .pm-primary,
  .danger,
  .success,
  .warning,
  .pm-nav-item,
  .pm-kpi,
  .ghost,
  .linklike,
  .pm-step,
  .pm-side-list button,
  .pm-ring-legend button,
  .pm-action-icon,
  .grid-sort,
  .driver-breadcrumb-link,
  .driver-sort-head,
  .operational-alert-main
)) {
  background: rgba(8, 16, 36, .74) !important;
  border-color: rgba(73, 132, 255, .26) !important;
  color: #e9f3ff !important;
}
body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder {
  color: #7088b0 !important;
}
body.theme-dark .pm-kbd,
body.theme-dark .tracking-map-mode,
body.theme-dark .tracking-map-empty {
  color: #9fb5dc !important;
  background: rgba(8, 16, 36, .76) !important;
  border-color: rgba(75, 137, 255, .24) !important;
}
body.theme-dark .pm-card-title h2,
body.theme-dark .panel-title h2,
body.theme-dark .panel-title h3,
body.theme-dark .pm-dispatch-hero h1,
body.theme-dark .pm-kpi strong,
body.theme-dark .pm-step strong,
body.theme-dark .grid td strong,
body.theme-dark .tracking-map-head h3 {
  color: #f1f7ff !important;
}
body.theme-dark .pm-kpi label,
body.theme-dark .pm-kpi span,
body.theme-dark .pm-user small,
body.theme-dark .note,
body.theme-dark small,
body.theme-dark .tracking-map-head span {
  color: #8ea6cc !important;
}
body.theme-dark .pm-kpi-icon,
body.theme-dark .pm-step-circle,
body.theme-dark .pm-actions-grid span {
  background: rgba(30, 112, 255, .14) !important;
  color: #59b6ff !important;
  border-color: rgba(70, 140, 255, .22) !important;
}
body.theme-dark .pm-primary,
body.theme-dark .primary {
  background: linear-gradient(135deg, #116dff, #22c2ff) !important;
  color: #fff !important;
  border-color: rgba(69, 173, 255, .7) !important;
  box-shadow: 0 12px 34px rgba(16, 109, 255, .32) !important;
}
body.theme-dark .grid th {
  background: rgba(14, 26, 55, .92) !important;
  color: #a8bbe0 !important;
  border-color: rgba(78, 132, 255, .2) !important;
}
body.theme-dark .grid td {
  color: #dceaff !important;
  background: rgba(8, 16, 36, .34) !important;
  border-color: rgba(78, 132, 255, .14) !important;
}
body.theme-dark .grid tr:nth-child(even) td {
  background: rgba(13, 25, 52, .38) !important;
}
body.theme-dark .grid tr:hover td {
  background: rgba(18, 48, 98, .58) !important;
}
body.theme-dark .status-pill {
  background: rgba(18, 32, 64, .78) !important;
  border-color: rgba(89, 151, 255, .26) !important;
  color: #d8e8ff !important;
}
body.theme-dark .tracking-map-canvas {
  border-color: rgba(63, 133, 255, .26) !important;
  background:
    radial-gradient(circle at 70% 26%, rgba(0, 168, 255, .22) 0 7%, transparent 8%),
    radial-gradient(circle at 22% 72%, rgba(80, 55, 255, .22) 0 12%, transparent 13%),
    linear-gradient(28deg, transparent 0 28%, rgba(29, 205, 255, .16) 29% 31%, transparent 32% 62%, rgba(91, 66, 255, .16) 63% 66%, transparent 67%),
    linear-gradient(180deg, rgba(8, 18, 38, .96), rgba(3, 9, 22, .98)) !important;
}
body.theme-dark .tracking-map-canvas::before {
  background-image:
    linear-gradient(rgba(68, 132, 255, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(68, 132, 255, .12) 1px, transparent 1px) !important;
}
body.theme-dark .tracking-route-lines line {
  stroke: rgba(20, 192, 255, .78) !important;
}
body.theme-dark .tracking-map-label {
  color: #7fa8df !important;
  text-shadow: none !important;
}
body.theme-dark .pm-hos i,
body.theme-dark .pm-progress {
  background: rgba(83, 135, 255, .16) !important;
}
body.theme-dark .pm-hos i b,
body.theme-dark .pm-progress i {
  background: linear-gradient(90deg, #21d4ff, #4f7cff) !important;
}

/* Left rail command skin, FreightQ wordmark, SVG truck marker, and operations helper. */
.pm-sidebar {
  padding: 16px 14px 18px !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  gap: 0 !important;
  overflow: hidden !important;
}
.pm-wordmark-logo {
  margin: 0 !important;
  padding: 0 4px 8px !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
}
.freightq-wordmark {
  display: inline-flex !important;
  align-items: baseline !important;
  white-space: nowrap !important;
  font-size: 29px !important;
  font-weight: 1000 !important;
  color: #172844 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 8px 22px rgba(31, 99, 190, .14) !important;
}
.freightq-wordmark span {
  display: inline-block !important;
  background: linear-gradient(135deg, #7c3cff 5%, #12bcff 76%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
.pm-logo.pm-wordmark-logo .freightq-wordmark {
  display: inline-flex !important;
  align-items: baseline !important;
  white-space: nowrap !important;
  color: #172844 !important;
  font-size: 29px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}
.pm-logo.pm-wordmark-logo .freightq-wordmark span {
  display: inline-block !important;
  margin: 0 !important;
  color: transparent !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, #7c3cff 5%, #12bcff 76%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}
.pm-sidebar-signal-panel {
  height: 116px;
  border: 1px solid rgba(47, 124, 255, .22);
  border-radius: 13px;
  margin: 8px 0 18px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 44%, rgba(26, 139, 255, .22), transparent 34%),
    linear-gradient(180deg, rgba(246, 251, 255, .94), rgba(230, 241, 255, .82));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 12px 24px rgba(39, 94, 171, .08);
}
.pm-sidebar-signal-panel::before,
.pm-sidebar-signal-panel::after {
  content: "";
  position: absolute;
  inset: 16px 26px;
  border: 1px solid rgba(47, 124, 255, .22);
  border-radius: 50%;
}
.pm-sidebar-signal-panel::after {
  inset: 35px 45px;
  box-shadow: 0 0 28px rgba(31, 126, 255, .3);
}
.pm-signal-orb {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 74px;
  height: 74px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #e9fbff 0 4%, #26ceff 5% 8%, rgba(23, 101, 255, .72) 9% 16%, rgba(10, 56, 178, .32) 17% 52%, transparent 53%),
    radial-gradient(circle, rgba(32, 147, 255, .4), transparent 68%);
  box-shadow: 0 0 30px rgba(30, 127, 255, .46);
}
.pm-signal-orb i,
.pm-signal-orb span {
  position: absolute;
  inset: 13px;
  border: 1px solid rgba(99, 195, 255, .42);
  border-radius: 50%;
}
.pm-signal-orb i:nth-child(1) { transform: rotate(0deg) scaleX(.62); }
.pm-signal-orb i:nth-child(2) { transform: rotate(60deg) scaleX(.62); }
.pm-signal-orb i:nth-child(3) { transform: rotate(120deg) scaleX(.62); }
.pm-signal-orb span {
  inset: 33px 4px auto;
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, transparent, rgba(76, 188, 255, .88), transparent);
  box-shadow: 0 -33px 0 rgba(76, 188, 255, .44), 0 33px 0 rgba(76, 188, 255, .28);
}
.pm-nav {
  margin-top: 0 !important;
  overflow: auto !important;
  min-height: 0 !important;
  padding-right: 2px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(47, 124, 255, .28) transparent;
}
.pm-nav::-webkit-scrollbar {
  width: 6px;
}
.pm-nav::-webkit-scrollbar-track {
  background: transparent;
}
.pm-nav::-webkit-scrollbar-thumb {
  background: rgba(47, 124, 255, .24);
  border-radius: 999px;
}
.pm-sidebar-footer {
  margin-top: 12px !important;
  min-height: 0 !important;
}
.pm-ai-helper-card {
  width: 100%;
  min-height: 182px;
  display: grid !important;
  gap: 12px !important;
  text-align: left !important;
  border-radius: 18px !important;
  padding: 14px !important;
  color: #1c3152 !important;
  background:
    radial-gradient(circle at 80% 16%, rgba(124, 60, 255, .2), transparent 34%),
    radial-gradient(circle at 22% 52%, rgba(0, 158, 255, .18), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(239,246,255,.92)) !important;
  border: 1px solid rgba(47, 124, 255, .2) !important;
  box-shadow: 0 18px 38px rgba(32, 92, 170, .14) !important;
  white-space: normal !important;
}
.pm-ai-helper-kicker {
  display: grid;
  grid-template-columns: 38px 1fr;
  grid-template-areas: "badge title" "badge sub";
  align-items: center;
  gap: 0 10px;
}
.pm-ai-helper-badge {
  grid-area: badge;
  width: 36px;
  height: 36px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #7c3cff, #08bfff);
  box-shadow: 0 0 22px rgba(75, 95, 255, .34);
}
.pm-ai-helper-badge .pm-svg {
  width: 18px;
  height: 18px;
}
.pm-ai-helper-kicker b {
  grid-area: title;
  color: #142a4d;
  font-size: 13px;
  letter-spacing: .03em;
}
.pm-ai-helper-kicker em {
  grid-area: sub;
  color: #6d7f9c;
  font-style: normal;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}
.pm-ai-helper-portrait {
  position: relative;
  width: 100%;
  height: 70px;
  border-radius: 16px;
  overflow: hidden;
  display: block;
  background:
    radial-gradient(circle at 72% 28%, rgba(144, 57, 255, .26), transparent 26%),
    radial-gradient(circle at 40% 55%, rgba(20, 186, 255, .32), transparent 38%),
    linear-gradient(135deg, rgba(5, 14, 39, .95), rgba(11, 34, 83, .88));
}
.pm-ai-helper-portrait::before {
  content: "";
  position: absolute;
  left: 26px;
  top: 15px;
  width: 54px;
  height: 66px;
  border-radius: 50% 50% 46% 46%;
  background:
    radial-gradient(circle at 35% 40%, #eefcff 0 3%, transparent 4%),
    radial-gradient(circle at 64% 40%, #eefcff 0 3%, transparent 4%),
    linear-gradient(145deg, #5ee4ff, #326dff 52%, #6e3bff);
  box-shadow: 0 0 28px rgba(35, 164, 255, .52);
  opacity: .92;
}
.pm-ai-helper-portrait::after {
  content: "";
  position: absolute;
  left: 16px;
  bottom: -18px;
  width: 78px;
  height: 50px;
  border-radius: 50% 50% 0 0;
  background: linear-gradient(145deg, rgba(21, 121, 255, .62), rgba(86, 38, 255, .32));
}
.pm-ai-helper-portrait i {
  position: absolute;
  right: 14px;
  top: 25px;
  width: 70px;
  height: 34px;
  border-top: 1px solid rgba(71, 209, 255, .42);
  border-bottom: 1px solid rgba(116, 65, 255, .34);
  transform: skewY(-8deg);
}
.pm-ai-helper-portrait b {
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: 56px;
  height: 20px;
  background: linear-gradient(135deg, transparent 0 18%, #2af0a5 19% 23%, transparent 24% 52%, #2af0a5 53% 58%, transparent 59%);
  opacity: .72;
}
.pm-ai-helper-copy {
  color: #6a7b94;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 800;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pm-ai-helper-action {
  min-height: 36px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #fff;
  font-weight: 1000;
  background: linear-gradient(135deg, #0e70ff, #7b2dff);
  box-shadow: 0 14px 28px rgba(75, 73, 255, .28);
}
.pm-ai-helper-action .pm-svg {
  width: 17px;
  height: 17px;
}
.operations-ai-modal {
  display: grid;
  gap: 14px;
}
.operations-ai-hero {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 16px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  background: linear-gradient(180deg, #f7fbff, #fff);
}
.pm-ai-helper-portrait.large {
  height: 102px;
}
.operations-ai-hero strong {
  display: block;
  color: #10234b;
  font-size: 18px;
  font-weight: 1000;
}
.operations-ai-answer {
  min-height: 130px;
  border: 1px solid var(--pm-border);
  border-radius: 18px;
  padding: 14px;
  background: #f7fbff;
  color: #243a5f;
}
.operations-ai-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.operations-ai-summary div {
  border: 1px solid rgba(47, 124, 255, .18);
  border-radius: 14px;
  padding: 10px;
  background: #fff;
}
.operations-ai-summary span,
.operations-ai-summary small {
  display: block;
  color: #6b7d95;
  font-size: 11px;
  font-weight: 800;
}
.operations-ai-summary strong {
  display: block;
  color: #112652;
  font-size: 18px;
  font-weight: 1000;
  margin: 2px 0;
}
.operations-ai-answer ul {
  margin: 0;
  padding-left: 18px;
}
.operations-ai-answer li {
  margin: 6px 0;
}
.route-truck-arrow-marker,
.tracking-map-marker {
  width: 54px !important;
  height: 54px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translate(-50%, -76%) !important;
  overflow: visible !important;
  padding: 0 !important;
}
.route-truck-arrow-art,
.tracking-map-marker-art {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  transform: rotate(var(--truck-bearing, 0deg)) !important;
  transform-origin: 50% 62% !important;
  filter: drop-shadow(0 5px 7px rgba(9, 93, 235, .28)) !important;
}
.route-truck-arrow-art svg,
.tracking-map-marker-art svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: visible !important;
}
.route-truck-arrow-number,
.tracking-map-marker-number {
  position: absolute !important;
  left: 56% !important;
  top: 19px !important;
  z-index: 4 !important;
  max-width: 34px !important;
  transform: translateX(-50%) !important;
  color: #1e4fda !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.82) !important;
}
.route-truck-arrow-shape,
.route-truck-arrow-truck,
.tracking-map-marker-shape,
.tracking-map-marker-truck {
  display: none !important;
}

/* Exact SVG sidebar branding and FreightQ AI helper asset refresh. */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pm-sidebar {
  padding-top: 0 !important;
}

.pm-sidebar-circle-logo {
  width: calc(100% + 24px) !important;
  height: 166px !important;
  margin: -14px -12px 8px !important;
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border-radius: 0 0 18px 18px !important;
}

.pm-sidebar-circle-art {
  position: absolute !important;
  inset: -78px auto auto 50% !important;
  width: 242px !important;
  height: 242px !important;
  transform: translateX(-50%) !important;
  object-fit: contain !important;
  pointer-events: none !important;
}

.pm-sidebar-circle-wordmark {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 34px !important;
  font-size: 33px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  color: #172844 !important;
  text-shadow: 0 2px 0 rgba(255,255,255,.84), 0 11px 30px rgba(23, 104, 222, .24) !important;
}

.pm-sidebar-small .pm-sidebar-circle-logo {
  width: 100% !important;
  height: 92px !important;
  margin: -10px 0 10px !important;
  border-radius: 0 0 16px 16px !important;
}

.pm-sidebar-small .pm-sidebar-circle-art {
  width: 154px !important;
  height: 154px !important;
  inset: -52px auto auto 50% !important;
}

.pm-sidebar-small .pm-sidebar-circle-wordmark {
  margin-top: 20px !important;
  font-size: 0 !important;
}

.pm-sidebar-small .pm-sidebar-circle-wordmark span {
  font-size: 31px !important;
}

body.theme-light .pm-ai-helper-card.pm-ai-helper-card-exact {
  min-height: 0 !important;
  aspect-ratio: 654 / 1082 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: 0 18px 38px rgba(22, 52, 118, .18) !important;
  display: block !important;
}

.pm-ai-helper-card-exact:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 44px rgba(22, 52, 118, .22) !important;
}

.pm-ai-helper-exact-art {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.operations-ai-hero {
  grid-template-columns: 126px 1fr !important;
  align-items: center !important;
}

.operations-ai-hero-art {
  display: block !important;
  width: 126px !important;
  height: 164px !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 34px rgba(24, 55, 130, .16) !important;
  background: #071127 !important;
}

.operations-ai-hero-art img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.operations-ai-direct {
  display: grid;
  gap: 12px;
}

.operations-ai-direct > strong {
  color: #10234b;
  font-size: 17px;
  font-weight: 1000;
}

.operations-ai-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.operations-ai-facts div {
  border: 1px solid rgba(47, 124, 255, .18);
  border-radius: 14px;
  padding: 10px 12px;
  background: #fff;
  min-width: 0;
}

.operations-ai-facts span,
.operations-ai-facts em {
  display: block;
}

.operations-ai-facts span {
  color: #70819b;
  font-size: 11px;
  font-weight: 900;
}

.operations-ai-facts em {
  margin-top: 3px;
  color: #10234b;
  font-size: 14px;
  font-weight: 1000;
  font-style: normal;
  overflow-wrap: anywhere;
}

body.theme-dark .pm-sidebar-circle-wordmark {
  color: #fff !important;
  text-shadow: 0 0 20px rgba(255,255,255,.28), 0 0 30px rgba(0, 150, 255, .28) !important;
}

body.theme-dark .pm-ai-helper-card.pm-ai-helper-card-exact {
  box-shadow: 0 0 34px rgba(70, 77, 255, .22) !important;
}

body.theme-dark .operations-ai-direct > strong,
body.theme-dark .operations-ai-facts em {
  color: #fff !important;
}

body.theme-dark .operations-ai-facts div {
  background: rgba(9, 18, 39, .76) !important;
  border-color: rgba(73, 132, 255, .26) !important;
}

body.theme-dark .operations-ai-facts span {
  color: #91a8d1 !important;
}
.pm-sidebar-small .pm-sidebar-signal-panel {
  display: none !important;
}
.pm-sidebar-small .freightq-wordmark {
  font-size: 0 !important;
}
.pm-sidebar-small .freightq-wordmark span {
  display: inline-block !important;
  font-size: 30px !important;
}
body.theme-dark .freightq-wordmark {
  color: #fff !important;
  text-shadow: 0 0 18px rgba(255,255,255,.26), 0 0 26px rgba(0, 150, 255, .28) !important;
}
body.theme-dark .pm-logo.pm-wordmark-logo .freightq-wordmark {
  color: #fff !important;
  text-shadow: 0 0 18px rgba(255,255,255,.26), 0 0 26px rgba(0, 150, 255, .28) !important;
}
body.theme-dark .freightq-wordmark span {
  background: linear-gradient(135deg, #9b42ff 5%, #10c7ff 78%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: none !important;
}
body.theme-dark .pm-logo.pm-wordmark-logo .freightq-wordmark span {
  background: linear-gradient(135deg, #9b42ff 5%, #10c7ff 78%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
body.theme-dark .pm-sidebar-signal-panel {
  background:
    radial-gradient(circle at 50% 46%, rgba(0, 207, 255, .28), transparent 35%),
    linear-gradient(180deg, rgba(8, 15, 42, .86), rgba(4, 9, 28, .76)) !important;
  border-color: rgba(64, 99, 255, .46) !important;
  box-shadow: inset 0 1px 0 rgba(137, 204, 255, .12), 0 0 28px rgba(21, 88, 255, .18) !important;
}
body.theme-dark .pm-ai-helper-card {
  color: #f4f8ff !important;
  background:
    radial-gradient(circle at 80% 18%, rgba(127, 47, 255, .3), transparent 34%),
    radial-gradient(circle at 22% 54%, rgba(0, 170, 255, .24), transparent 42%),
    linear-gradient(180deg, rgba(10, 18, 43, .9), rgba(4, 9, 27, .86)) !important;
  border-color: rgba(65, 116, 255, .42) !important;
  box-shadow: 0 0 34px rgba(70, 77, 255, .22), inset 0 1px 0 rgba(138, 202, 255, .12) !important;
}
body.theme-dark .pm-ai-helper-kicker b,
body.theme-dark .operations-ai-hero strong {
  color: #fff !important;
}
body.theme-dark .pm-ai-helper-kicker em,
body.theme-dark .pm-ai-helper-copy {
  color: #8da5d2 !important;
}
body.theme-dark .operations-ai-hero,
body.theme-dark .operations-ai-answer,
body.theme-dark .operations-ai-summary div {
  background: rgba(9, 18, 39, .76) !important;
  border-color: rgba(73, 132, 255, .26) !important;
  color: #eaf3ff !important;
}
body.theme-dark .operations-ai-summary strong {
  color: #fff !important;
}
body.theme-dark .operations-ai-summary span,
body.theme-dark .operations-ai-summary small {
  color: #91a8d1 !important;
}
body.theme-dark .modal-backdrop {
  background: rgba(1, 5, 16, .66) !important;
}
body.theme-dark .modal-card {
  background: linear-gradient(180deg, rgba(10, 18, 40, .96), rgba(5, 10, 26, .98)) !important;
  border-color: rgba(73, 132, 255, .32) !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .62), inset 0 1px 0 rgba(139, 203, 255, .1) !important;
}
body.theme-dark .modal-head,
body.theme-dark .modal-foot {
  background: rgba(8, 15, 34, .96) !important;
  border-color: rgba(73, 132, 255, .22) !important;
}
body.theme-dark .modal-head h2 {
  color: #eaf4ff !important;
}
body.theme-dark .fuel-import-result-file,
body.theme-dark .fuel-import-result-metric,
body.theme-dark .fuel-import-result-details {
  background: rgba(13, 23, 48, .72) !important;
  border-color: rgba(73, 132, 255, .24) !important;
}
body.theme-dark .fuel-import-result-file strong,
body.theme-dark .fuel-import-result-metric strong {
  color: #eef6ff !important;
}
body.theme-dark .fuel-import-result-file span,
body.theme-dark .fuel-import-result-metric span {
  color: #91a8d1 !important;
}
body.theme-dark .fuel-import-result-metric.imported strong {
  color: #57d991 !important;
}
body.theme-dark .fuel-import-result-metric.duplicate strong {
  color: #ffc45c !important;
}
body.theme-dark .fuel-import-result-metric.money-code strong,
body.theme-dark .fuel-import-result-details summary strong {
  color: #78a8ff !important;
}
body.theme-dark .fuel-import-result-details summary,
body.theme-dark .fuel-import-detail-table td {
  color: #eef6ff !important;
}
body.theme-dark .fuel-import-detail-table th {
  background: #111f3f !important;
  color: #91a8d1 !important;
}

/* Reusable FreightQ circular orb logo. Uses exact supplied SVG assets. */
.freightq-orb {
  width: var(--freightq-orb-size, 166px);
  height: var(--freightq-orb-size, 166px);
  aspect-ratio: 1 / 1;
  position: relative;
  display: block;
  flex: 0 0 auto;
  border-radius: 50%;
  overflow: visible;
  pointer-events: none;
}

.freightq-orb__sphere,
.freightq-orb__wordmark {
  display: block;
  position: absolute;
  pointer-events: none;
  user-select: none;
}

.freightq-orb__sphere {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.freightq-orb__wordmark {
  left: 50%;
  top: 50%;
  width: calc(100% * var(--freightq-orb-logo-scale, .62));
  max-width: calc(100% - 18px);
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: contain;
}

.freightq-orb__wordmark--night {
  display: none;
}

body.theme-dark .freightq-orb__wordmark--day {
  display: none;
}

body.theme-dark .freightq-orb__wordmark--night {
  display: block;
}

body.theme-light .freightq-orb__wordmark--night {
  display: none;
}

body.theme-light .freightq-orb__wordmark--day {
  display: block;
}

.pm-sidebar {
  padding-top: 0 !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}

.pm-sidebar-circle-logo {
  width: calc(100% + 28px) !important;
  height: 172px !important;
  margin: 0 -14px 10px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
  border-radius: 0 0 18px 18px !important;
}

.pm-sidebar-freightq-orb {
  filter: drop-shadow(0 18px 30px rgba(31, 101, 217, .22));
  transform: translateX(75px);
}

.pm-sidebar-small .pm-sidebar-circle-logo {
  width: 100% !important;
  height: 86px !important;
  margin: 0 0 10px !important;
}

.pm-sidebar-small .pm-sidebar-freightq-orb {
  --freightq-orb-size: 76px !important;
  --freightq-orb-logo-scale: .72 !important;
  transform: none;
}

.pm-sidebar-footer {
  align-self: end !important;
  margin-top: 10px !important;
}

.pm-ai-helper-card.pm-ai-helper-card-exact {
  width: 100% !important;
  height: clamp(204px, 28vh, 268px) !important;
  min-height: 204px !important;
  max-height: 268px !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 18px !important;
  display: grid !important;
  place-items: stretch !important;
  position: relative !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
  isolation: isolate !important;
}

body.theme-light .pm-ai-helper-card.pm-ai-helper-card-exact::before {
  content: "";
  position: absolute;
  inset: 12px 8px 10px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 70% 30%, rgba(124, 56, 255, .2), transparent 36%),
    radial-gradient(circle at 38% 58%, rgba(19, 194, 255, .2), transparent 42%);
  filter: blur(9px);
  opacity: .56;
  z-index: -1;
  animation: operationsAiGlow 5.2s ease-in-out infinite;
}

.pm-ai-helper-stage {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 18px;
  transform-origin: 50% 58%;
  animation: operationsAiIdle 6s ease-in-out infinite;
}

.pm-ai-helper-stage::before,
.pm-ai-helper-stage::after {
  content: "";
  position: absolute;
  inset: 12% 9%;
  border-radius: 24px;
  pointer-events: none;
  opacity: 0;
}

.pm-ai-helper-stage::before {
  background: linear-gradient(180deg, transparent, rgba(73, 211, 255, .22), transparent);
  transform: translateY(-70%);
}

.pm-ai-helper-stage::after {
  border: 1px solid rgba(94, 169, 255, .28);
  box-shadow: 0 0 26px rgba(82, 80, 255, .18) inset;
}

.pm-ai-helper-exact-art {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transform: scale(.985);
}

.pm-ai-helper-card-exact:hover .pm-ai-helper-stage {
  transform: translateY(-2px) scale(1.018);
  animation-play-state: paused;
}

.pm-ai-helper-card-exact:hover::before,
.pm-ai-helper-card-exact[data-ai-state="open"]::before,
.pm-ai-helper-card-exact[data-ai-state="thinking"]::before,
.pm-ai-helper-card-exact[data-ai-state="answer"]::before {
  opacity: .92;
}

.pm-ai-helper-card-exact[data-ai-state="open"] .pm-ai-helper-stage {
  animation: operationsAiOpen 2.8s ease-in-out infinite;
}

.pm-ai-helper-card-exact[data-ai-state="thinking"] .pm-ai-helper-stage {
  animation: operationsAiThink 1.15s ease-in-out infinite;
}

.pm-ai-helper-card-exact[data-ai-state="thinking"] .pm-ai-helper-stage::before {
  opacity: 1;
  animation: operationsAiScan 1.15s linear infinite;
}

.pm-ai-helper-card-exact[data-ai-state="answer"] .pm-ai-helper-stage {
  animation: operationsAiAnswerPulse 1.1s ease-out 1;
}

.pm-ai-helper-card-exact[data-ai-state="answer"] .pm-ai-helper-stage::after {
  opacity: 1;
  animation: operationsAiRing 1.1s ease-out 1;
}

.pm-ai-helper-status {
  position: absolute;
  right: 13px;
  bottom: 12px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #dff7ff;
  background: rgba(5, 17, 42, .66);
  border: 1px solid rgba(82, 181, 255, .24);
  font-size: 10px;
  font-weight: 1000;
  letter-spacing: .04em;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease;
}

.pm-ai-helper-card-exact[data-ai-state="idle"] .pm-ai-helper-status--idle,
.pm-ai-helper-card-exact[data-ai-state="open"] .pm-ai-helper-status--idle,
.pm-ai-helper-card-exact[data-ai-state="thinking"] .pm-ai-helper-status--thinking,
.pm-ai-helper-card-exact[data-ai-state="answer"] .pm-ai-helper-status--answer {
  opacity: 1;
  transform: translateY(0);
}

.operations-ai-hero {
  grid-template-columns: 116px 1fr !important;
}

.operations-ai-hero-art {
  width: 116px !important;
  height: 150px !important;
}

.operations-ai-hero-art img {
  object-fit: contain !important;
}

.operations-ai-answer.thinking {
  display: grid;
  place-items: center;
}

.operations-ai-thinking {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #25446f;
  font-weight: 900;
}

.operations-ai-thinking i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2f7cff;
  animation: operationsAiDot 900ms ease-in-out infinite;
}

.operations-ai-thinking i:nth-child(2) {
  animation-delay: 120ms;
}

.operations-ai-thinking i:nth-child(3) {
  animation-delay: 240ms;
}

.operations-ai-answer.answer-ready {
  animation: operationsAiAnswerHighlight 900ms ease-out 1;
}

body.theme-dark .pm-sidebar-freightq-orb {
  filter: drop-shadow(0 0 30px rgba(49, 145, 255, .2));
}

body.theme-dark .operations-ai-thinking {
  color: #dff4ff;
}

.operations-ai-mode {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
  color: #6b7d95;
  font-size: 12px;
  font-weight: 800;
}

.operations-ai-question {
  position: relative;
}

.operations-ai-question textarea {
  min-height: 92px;
  padding-right: 58px;
  resize: vertical;
}

.operations-ai-mic {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 38px;
  height: 38px;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #2768d9;
  border: 1px solid rgba(47, 124, 255, .28);
  background: #fff;
  box-shadow: 0 6px 18px rgba(36, 87, 161, .14);
}

.operations-ai-mic .pm-svg {
  width: 18px;
  height: 18px;
}

.operations-ai-mic:disabled {
  opacity: .42;
  cursor: not-allowed;
}

.operations-ai-mic.recording {
  color: #fff;
  border-color: #ef4444;
  background: #ef4444;
  animation: operationsAiMicPulse 1.25s ease-in-out infinite;
}

.operations-ai-mic-status {
  display: block;
  min-height: 18px;
  margin-top: 6px;
  color: #6b7d95;
  font-size: 12px;
}

.operations-ai-model-answer p {
  margin: 0 0 10px;
  line-height: 1.55;
}

.operations-ai-model-answer p:last-child {
  margin-bottom: 0;
}

.operations-ai-sources {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  padding-top: 10px;
  margin-top: 12px;
  border-top: 1px solid rgba(47, 124, 255, .16);
}

.operations-ai-sources > span {
  color: #536c92;
  font-size: 11px;
  font-weight: 1000;
  text-transform: uppercase;
}

.operations-ai-sources small {
  padding: 5px 8px;
  color: #335b91;
  border: 1px solid rgba(47, 124, 255, .18);
  border-radius: 6px;
  background: rgba(47, 124, 255, .06);
}

.operations-ai-fallback-note {
  margin-bottom: 12px;
  padding: 9px 10px;
  color: #7a4d00;
  border-left: 3px solid #f59e0b;
  background: #fff8e7;
  font-size: 12px;
  font-weight: 800;
}

body.theme-dark .operations-ai-mic {
  color: #78c8ff;
  border-color: rgba(75, 169, 255, .34);
  background: #0d1935;
}

body.theme-dark .operations-ai-mic.recording {
  color: #fff;
  border-color: #ef4444;
  background: #ef4444;
}

body.theme-dark .operations-ai-mic-status,
body.theme-dark .operations-ai-mode {
  color: #91a6c9;
}

body.theme-dark .operations-ai-sources > span {
  color: #a8c4ec;
}

body.theme-dark .operations-ai-sources small {
  color: #cfe8ff;
  border-color: rgba(69, 159, 255, .28);
  background: rgba(46, 119, 255, .12);
}

body.theme-dark .operations-ai-fallback-note {
  color: #ffd890;
  background: rgba(122, 77, 0, .22);
}

@keyframes operationsAiMicPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, .32); }
  50% { box-shadow: 0 0 0 8px rgba(239, 68, 68, 0); }
}

@keyframes operationsAiIdle {
  0%, 100% { transform: translateY(0) scale(1); filter: brightness(1); }
  50% { transform: translateY(-2px) scale(1.006); filter: brightness(1.08); }
}

@keyframes operationsAiOpen {
  0%, 100% { transform: translateY(0) scale(1); filter: brightness(1.04); }
  50% { transform: translateY(-3px) scale(1.015); filter: brightness(1.12); }
}

@keyframes operationsAiThink {
  0%, 100% { transform: translateY(0) scale(1); }
  35% { transform: translateY(-2px) scale(1.012); }
  70% { transform: translateY(1px) scale(1.004); }
}

@keyframes operationsAiScan {
  0% { transform: translateY(-72%); }
  100% { transform: translateY(72%); }
}

@keyframes operationsAiAnswerPulse {
  0% { transform: scale(1); filter: brightness(1); }
  45% { transform: scale(1.028); filter: brightness(1.18); }
  100% { transform: scale(1); filter: brightness(1.05); }
}

@keyframes operationsAiRing {
  0% { transform: scale(.88); opacity: .8; }
  100% { transform: scale(1.08); opacity: 0; }
}

@keyframes operationsAiGlow {
  0%, 100% { transform: scale(.98); opacity: .46; }
  50% { transform: scale(1.04); opacity: .82; }
}

@keyframes operationsAiDot {
  0%, 100% { transform: translateY(0); opacity: .38; }
  50% { transform: translateY(-5px); opacity: 1; }
}

@keyframes operationsAiAnswerHighlight {
  0% { box-shadow: 0 0 0 rgba(47, 124, 255, 0); }
  45% { box-shadow: 0 0 0 5px rgba(47, 124, 255, .12); }
  100% { box-shadow: 0 0 0 rgba(47, 124, 255, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .pm-ai-helper-stage,
  .pm-ai-helper-card.pm-ai-helper-card-exact::before,
  .pm-ai-helper-stage::before,
  .pm-ai-helper-stage::after,
  .operations-ai-thinking i,
  .operations-ai-answer.answer-ready {
    animation: none !important;
  }
}

/* Daylight FreightQ AI Operations Helper. */
body.theme-light .pm-sidebar-freightq-orb .freightq-orb__sphere {
  filter: saturate(.82) brightness(1.18) contrast(.9);
}

body.theme-light .pm-sidebar-freightq-orb {
  filter: drop-shadow(0 20px 32px rgba(49, 132, 238, .18)) drop-shadow(0 0 18px rgba(85, 201, 255, .18));
}

.pm-ai-helper-card.pm-ai-helper-card-exact {
  --ai-helper-border: rgba(102, 180, 255, .34);
  --ai-helper-ink: #10264c;
  --ai-helper-muted: #557096;
  --ai-helper-accent: #168cff;
  --ai-helper-accent-2: #35d7ff;
  --ai-helper-glow: rgba(38, 151, 255, .24);
  height: clamp(238px, 30vh, 292px) !important;
  min-height: 238px !important;
  max-height: 292px !important;
  padding: 0 !important;
  border: 1px solid var(--ai-helper-border) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(142deg, rgba(255,255,255,.96), rgba(239,248,255,.86) 56%, rgba(255,255,255,.92)),
    radial-gradient(circle at 14% 16%, rgba(134, 80, 255, .15), transparent 33%),
    radial-gradient(circle at 88% 10%, rgba(30, 201, 255, .2), transparent 38%) !important;
  box-shadow:
    0 18px 42px rgba(30, 79, 145, .16),
    inset 0 1px 0 rgba(255,255,255,.94) !important;
  color: var(--ai-helper-ink) !important;
  overflow: visible !important;
  isolation: isolate !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.pm-ai-helper-card.pm-ai-helper-card-exact::before {
  inset: 9px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 28% 45%, rgba(66, 211, 255, .2), transparent 38%),
    radial-gradient(circle at 85% 18%, rgba(141, 85, 255, .18), transparent 34%) !important;
  filter: blur(10px) !important;
  opacity: .62 !important;
  animation: operationsAiGlow 5.2s ease-in-out infinite !important;
}

body.theme-light .pm-ai-helper-card.pm-ai-helper-card-exact:hover {
  transform: translateY(-4px) scale(1.012) !important;
  border-color: rgba(40, 146, 255, .54) !important;
  box-shadow:
    0 24px 52px rgba(21, 86, 168, .22),
    0 0 0 5px rgba(40, 166, 255, .07),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
}

body.theme-light .pm-ai-helper-stage {
  padding: 14px !important;
  display: grid !important;
  grid-template-rows: auto minmax(78px, 1fr) auto 42px !important;
  gap: 8px !important;
  border-radius: 22px !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.78), rgba(229,246,255,.5)),
    repeating-linear-gradient(90deg, transparent 0 24px, rgba(31, 137, 255, .04) 24px 25px) !important;
  overflow: hidden !important;
  animation: operationsAiIdle 6s ease-in-out infinite !important;
}

body.theme-light .pm-ai-helper-orbit {
  position: absolute;
  inset: 62px 13px 60px;
  border-radius: 18px;
  opacity: .78;
  pointer-events: none;
  background:
    linear-gradient(105deg, transparent 0 16%, rgba(75, 191, 255, .22) 17%, transparent 18% 58%, rgba(136, 96, 255, .18) 59%, transparent 60%),
    radial-gradient(circle at 18% 38%, rgba(34, 198, 255, .44) 0 2px, transparent 3px),
    radial-gradient(circle at 54% 24%, rgba(128, 94, 255, .42) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 66%, rgba(42, 215, 255, .36) 0 2px, transparent 3px);
  animation: operationsAiLineDrift 7.5s ease-in-out infinite;
}

.pm-ai-helper-head,
.pm-ai-helper-live,
.pm-ai-helper-cta {
  position: relative;
  z-index: 2;
}

body.theme-light .pm-ai-helper-head {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

body.theme-light .pm-ai-helper-badge {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: #248cff;
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(221,244,255,.74));
  border: 1px solid rgba(94, 174, 255, .32);
  box-shadow: 0 10px 24px rgba(36, 140, 255, .14);
  clip-path: polygon(50% 0, 90% 22%, 90% 78%, 50% 100%, 10% 78%, 10% 22%);
}

.pm-ai-helper-badge svg {
  width: 18px;
  height: 18px;
}

.pm-ai-helper-title {
  display: grid;
  gap: 2px;
  min-width: 0;
  text-align: left;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

.pm-ai-helper-title b {
  display: block;
  color: #10264c;
  font-size: clamp(18px, 1.35vw, 24px);
  font-weight: 850;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.pm-ai-helper-title b span {
  color: transparent;
  background: linear-gradient(135deg, #177cff 0%, #29d1ff 76%);
  -webkit-background-clip: text;
  background-clip: text;
}

.pm-ai-helper-title em {
  color: #54709a;
  font-size: clamp(12px, .78vw, 15px);
  font-style: normal;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.1;
}

.pm-ai-helper-portrait {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 78px;
  border-radius: 16px;
  overflow: hidden;
  background:
    radial-gradient(circle at 38% 42%, rgba(67, 210, 255, .28), transparent 40%),
    linear-gradient(135deg, rgba(255,255,255,.58), rgba(219,242,255,.34));
  border: 1px solid rgba(125, 196, 255, .2);
}

.pm-ai-helper-portrait img {
  width: 100%;
  height: 210%;
  object-fit: cover;
  object-position: 50% 45%;
  transform: translateY(-26%) scale(1.04);
  filter: saturate(.88) brightness(1.38) contrast(.82) hue-rotate(2deg);
  opacity: .88;
  transition: transform .28s ease, filter .28s ease, opacity .28s ease;
}

.pm-ai-helper-portrait i {
  position: absolute;
  width: 12px;
  height: 12px;
  left: 45%;
  top: 47%;
  border-radius: 999px;
  background: #72ecff;
  box-shadow: 0 0 18px rgba(76, 217, 255, .74);
  opacity: .52;
  animation: operationsAiCorePulse 2.4s ease-in-out infinite;
}

.pm-ai-helper-card-exact:hover .pm-ai-helper-portrait img {
  transform: translateY(-27%) scale(1.075);
  filter: saturate(1) brightness(1.45) contrast(.88);
  opacity: .98;
}

.pm-ai-helper-live {
  display: grid;
  gap: 2px;
  padding-left: 12px;
  text-align: left;
}

.pm-ai-helper-live::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #1bd2a4;
  box-shadow: 0 0 0 4px rgba(27, 210, 164, .12);
}

.pm-ai-helper-card-exact[data-ai-tone="warning"] .pm-ai-helper-live::before {
  background: #f59e0b;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, .14);
}

.pm-ai-helper-card-exact[data-ai-tone="critical"] .pm-ai-helper-live::before {
  background: #ef4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, .14);
}

.pm-ai-helper-live strong {
  color: #10264c;
  font-size: clamp(14px, 1vw, 17px);
  line-height: 1.14;
  font-weight: 850;
  letter-spacing: 0;
}

.pm-ai-helper-live small {
  color: #5f7392;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 650;
  letter-spacing: 0;
}

.pm-ai-helper-cta {
  display: grid;
  grid-template-columns: 34px 1fr 54px;
  align-items: center;
  min-height: 42px;
  border-radius: 16px;
  padding: 0 12px;
  color: #fff;
  background: linear-gradient(135deg, #7478ff 0%, #218fff 52%, #22d7ff 100%);
  box-shadow: 0 12px 24px rgba(37, 132, 255, .24);
  overflow: hidden;
}

.pm-ai-helper-cta i,
.pm-ai-helper-cta b,
.pm-ai-helper-cta em {
  position: relative;
  z-index: 2;
}

.pm-ai-helper-cta i {
  display: grid;
  place-items: center;
}

.pm-ai-helper-cta svg {
  width: 17px;
  height: 17px;
}

.pm-ai-helper-cta b {
  font-size: 16px;
  font-weight: 850;
  line-height: 1;
  letter-spacing: 0;
}

.pm-ai-helper-cta em {
  height: 18px;
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(255,255,255,.54) 12% 15%, transparent 15% 27%, rgba(255,255,255,.72) 27% 31%, transparent 31% 48%, rgba(255,255,255,.54) 48% 52%, transparent 52%),
    linear-gradient(90deg, rgba(255,255,255,.3), rgba(255,255,255,.2));
  clip-path: polygon(0 48%, 15% 48%, 22% 18%, 34% 76%, 45% 32%, 58% 65%, 70% 42%, 82% 42%, 87% 28%, 94% 58%, 100% 58%, 100% 66%, 91% 66%, 86% 45%, 81% 54%, 71% 54%, 59% 78%, 45% 47%, 34% 88%, 21% 38%, 16% 60%, 0 60%);
  opacity: .86;
  animation: operationsAiWave 2.8s ease-in-out infinite;
}

.pm-ai-helper-card-exact:hover .pm-ai-helper-cta {
  animation: operationsAiButtonSheen 1.4s ease-out 1;
}

.pm-ai-helper-status {
  right: 14px !important;
  bottom: auto !important;
  top: 61px !important;
  padding: 4px 8px !important;
  color: #154575 !important;
  background: rgba(255, 255, 255, .72) !important;
  border: 1px solid rgba(80, 171, 255, .26) !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  backdrop-filter: blur(10px);
}

.pm-sidebar-small .pm-ai-helper-card.pm-ai-helper-card-exact {
  height: 78px !important;
  min-height: 78px !important;
  border-radius: 18px !important;
}

.pm-sidebar-small .pm-ai-helper-stage {
  padding: 10px !important;
  grid-template-rows: 1fr !important;
}

.pm-sidebar-small .pm-ai-helper-title em,
.pm-sidebar-small .pm-ai-helper-live,
.pm-sidebar-small .pm-ai-helper-portrait,
.pm-sidebar-small .pm-ai-helper-cta,
.pm-sidebar-small .pm-ai-helper-status {
  display: none !important;
}

.pm-sidebar-small .pm-ai-helper-head {
  grid-template-columns: 1fr !important;
  place-items: center !important;
}

.pm-sidebar-small .pm-ai-helper-badge {
  width: 46px;
  height: 46px;
}

.pm-sidebar-small .pm-ai-helper-title {
  display: none;
}

body.theme-dark .pm-ai-helper-card.pm-ai-helper-card-exact {
  --ai-helper-border: rgba(65, 116, 255, .42);
  --ai-helper-ink: #f4f8ff;
  --ai-helper-muted: #9fb5dc;
  background:
    radial-gradient(circle at 80% 18%, rgba(127, 47, 255, .28), transparent 34%),
    radial-gradient(circle at 22% 54%, rgba(0, 170, 255, .2), transparent 42%),
    linear-gradient(180deg, rgba(10, 18, 43, .9), rgba(4, 9, 27, .86)) !important;
  box-shadow: 0 0 34px rgba(70, 77, 255, .22), inset 0 1px 0 rgba(138, 202, 255, .12) !important;
}

body.theme-dark .pm-ai-helper-stage {
  background:
    linear-gradient(115deg, rgba(13,22,52,.74), rgba(6,12,34,.54)),
    repeating-linear-gradient(90deg, transparent 0 24px, rgba(72, 140, 255, .05) 24px 25px) !important;
}

body.theme-dark .pm-ai-helper-title b,
body.theme-dark .pm-ai-helper-live strong {
  color: #fff !important;
}

body.theme-dark .pm-ai-helper-title em,
body.theme-dark .pm-ai-helper-live small {
  color: #9fb5dc !important;
}

body.theme-dark .pm-ai-helper-badge,
body.theme-dark .pm-ai-helper-portrait {
  background: rgba(8, 18, 43, .7);
  border-color: rgba(76, 142, 255, .32);
}

body.theme-dark .pm-ai-helper-portrait img {
  filter: saturate(1.08) brightness(.98) contrast(1.04);
  opacity: .96;
}

@keyframes operationsAiLineDrift {
  0%, 100% { transform: translateX(-3px) translateY(0); opacity: .58; }
  50% { transform: translateX(4px) translateY(-3px); opacity: .9; }
}

@keyframes operationsAiCorePulse {
  0%, 100% { transform: scale(.75); opacity: .36; }
  50% { transform: scale(1.24); opacity: .82; }
}

@keyframes operationsAiWave {
  0%, 100% { transform: translateX(-2px) scaleY(.92); opacity: .64; }
  50% { transform: translateX(3px) scaleY(1.12); opacity: .95; }
}

@keyframes operationsAiButtonSheen {
  0% { filter: brightness(1); }
  45% { filter: brightness(1.14); }
  100% { filter: brightness(1); }
}

@media (prefers-reduced-motion: reduce) {
  .pm-ai-helper-orbit,
  .pm-ai-helper-portrait i,
  .pm-ai-helper-cta em,
  .pm-ai-helper-card-exact:hover .pm-ai-helper-cta {
    animation: none !important;
  }
}

/* Approved daylight sidebar match. */
body.theme-light .pm-sidebar {
  background:
    radial-gradient(circle at 44% 8%, rgba(140, 204, 255, .18), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(247, 251, 255, .9)) !important;
}

body.theme-light .pm-sidebar-circle-logo {
  height: clamp(150px, 19vh, 188px) !important;
  margin-bottom: 8px !important;
}

body.theme-light .pm-sidebar-freightq-orb {
  --freightq-orb-logo-scale: .62 !important;
  filter:
    drop-shadow(0 22px 34px rgba(59, 151, 255, .18))
    drop-shadow(0 0 18px rgba(93, 213, 255, .28)) !important;
}

body.theme-light .pm-sidebar-freightq-orb::before,
body.theme-light .pm-sidebar-freightq-orb::after {
  content: "";
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}

body.theme-light .pm-sidebar-freightq-orb::before {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.92) 0 18%, rgba(158, 223, 255, .34) 19% 46%, rgba(255,255,255,.18) 47% 62%, transparent 63%),
    radial-gradient(circle at 50% 48%, transparent 0 58%, rgba(91, 191, 255, .22) 59% 69%, transparent 70%);
  mix-blend-mode: screen;
  opacity: .86;
}

body.theme-light .pm-sidebar-freightq-orb::after {
  inset: 3%;
  background:
    radial-gradient(circle at 50% 7%, rgba(255,255,255,.95) 0 2.5%, transparent 3.5%),
    radial-gradient(circle at 15% 22%, rgba(255,255,255,.42), transparent 20%),
    radial-gradient(circle at 82% 84%, rgba(139, 216, 255, .24), transparent 18%);
  opacity: .8;
}

body.theme-light .pm-sidebar-freightq-orb .freightq-orb__sphere {
  filter: invert(1) hue-rotate(166deg) saturate(1.35) brightness(1.32) contrast(.68) !important;
  opacity: .72 !important;
}

body.theme-light .pm-sidebar-freightq-orb .freightq-orb__wordmark {
  z-index: 3;
  filter: drop-shadow(0 5px 12px rgba(35, 84, 150, .12));
}

body.theme-light .pm-nav {
  gap: clamp(4px, .75vh, 8px) !important;
}

body.theme-light .pm-nav-item {
  height: clamp(42px, 5.15vh, 48px) !important;
  border-radius: 14px !important;
}

body.theme-light .pm-sidebar-footer {
  margin-top: clamp(8px, 1.2vh, 14px) !important;
}

.pm-ai-helper-card.pm-ai-helper-card-exact {
  height: clamp(286px, 33vh, 376px) !important;
  min-height: 286px !important;
  max-height: 376px !important;
  border: 1px solid rgba(154, 185, 255, .4) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(150deg, rgba(255,255,255,.97), rgba(244,250,255,.9) 58%, rgba(255,255,255,.96)),
    radial-gradient(circle at 12% 8%, rgba(135, 84, 255, .12), transparent 34%),
    radial-gradient(circle at 88% 95%, rgba(247, 169, 255, .2), transparent 28%) !important;
  box-shadow:
    0 18px 42px rgba(47, 97, 172, .16),
    0 0 0 1px rgba(255,255,255,.72) inset !important;
  overflow: hidden !important;
}

.pm-ai-helper-card.pm-ai-helper-card-exact::before {
  inset: 0 !important;
  border-radius: 20px !important;
  background:
    linear-gradient(135deg, rgba(69, 177, 255, .16), transparent 25% 71%, rgba(231, 126, 255, .16)),
    linear-gradient(90deg, transparent 0 52%, rgba(104, 185, 255, .1) 52% 53%, transparent 53%),
    linear-gradient(0deg, transparent 0 68%, rgba(143, 113, 255, .1) 68% 69%, transparent 69%) !important;
  filter: none !important;
  opacity: 1 !important;
  animation: none !important;
  z-index: 0 !important;
}

.pm-ai-helper-card.pm-ai-helper-card-exact:hover {
  transform: translateY(-3px) scale(1.008) !important;
  border-color: rgba(92, 165, 255, .58) !important;
  box-shadow:
    0 24px 52px rgba(35, 92, 164, .22),
    0 0 0 5px rgba(105, 201, 255, .09),
    0 0 0 1px rgba(255,255,255,.84) inset !important;
}

.pm-ai-helper-stage {
  height: 100% !important;
  padding: clamp(12px, 1.35vh, 16px) !important;
  grid-template-rows: 48px minmax(118px, 1fr) auto 46px !important;
  gap: clamp(8px, .9vh, 12px) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(244,250,255,.32)),
    radial-gradient(circle at 46% 44%, rgba(61, 192, 255, .16), transparent 34%),
    repeating-linear-gradient(0deg, rgba(57, 144, 255, .055) 0 1px, transparent 1px 30px),
    repeating-linear-gradient(90deg, rgba(57, 144, 255, .045) 0 1px, transparent 1px 30px) !important;
  border-radius: 20px !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

.pm-ai-helper-orbit {
  inset: 70px 16px 92px !important;
  opacity: .9 !important;
  background:
    linear-gradient(115deg, transparent 0 20%, rgba(130, 97, 255, .38) 20% 21%, transparent 22% 66%, rgba(42, 190, 255, .34) 67%, transparent 68%),
    radial-gradient(circle at 14% 34%, rgba(58, 190, 255, .55) 0 2px, transparent 3px),
    radial-gradient(circle at 54% 16%, rgba(146, 96, 255, .52) 0 2px, transparent 3px),
    radial-gradient(circle at 84% 72%, rgba(40, 201, 255, .5) 0 2px, transparent 3px) !important;
}

.pm-ai-helper-head {
  grid-template-columns: 58px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

.pm-ai-helper-badge {
  width: 52px !important;
  height: 52px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(226,246,255,.74)) !important;
  border: 1px solid rgba(128, 103, 255, .42) !important;
  box-shadow: 0 12px 28px rgba(91, 139, 255, .16) !important;
  clip-path: polygon(50% 0, 91% 23%, 91% 77%, 50% 100%, 9% 77%, 9% 23%) !important;
}

body.theme-light .pm-ai-helper-badge img {
  width: 165%;
  height: 220%;
  object-fit: cover;
  object-position: 50% 46%;
  transform: translate(-19%, -28%);
  filter: saturate(.86) brightness(1.5) contrast(.78);
  opacity: .95;
}

body.theme-light .pm-ai-helper-title {
  gap: 4px !important;
}

body.theme-light .pm-ai-helper-title b {
  color: #10264c !important;
  font-size: clamp(23px, 1.55vw, 30px) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body.theme-light .pm-ai-helper-title em {
  color: #59739a !important;
  font-size: clamp(14px, .95vw, 20px) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

body.theme-light .pm-ai-helper-portrait {
  min-height: 118px !important;
  border-radius: 15px !important;
  background:
    radial-gradient(circle at 31% 37%, rgba(255,255,255,.96), transparent 20%),
    linear-gradient(135deg, rgba(235,248,255,.72), rgba(250,253,255,.45)) !important;
  border: 1px solid rgba(151, 209, 255, .28) !important;
  box-shadow: 0 12px 24px rgba(66, 124, 190, .08) inset !important;
}

body.theme-light .pm-ai-helper-portrait img {
  width: 100% !important;
  height: 174% !important;
  object-fit: cover !important;
  object-position: 48% 43% !important;
  transform: translateY(-18%) scale(1.04) !important;
  filter: saturate(.72) brightness(1.62) contrast(.7) hue-rotate(2deg) !important;
  opacity: .9 !important;
}

body.theme-light .pm-ai-helper-portrait i {
  width: 14px !important;
  height: 14px !important;
  left: 45% !important;
  top: 47% !important;
  background: #86f6ff !important;
  box-shadow: 0 0 20px rgba(81, 219, 255, .8) !important;
}

body.theme-light .pm-ai-helper-live {
  padding-left: 0 !important;
  gap: 4px !important;
}

body.theme-light .pm-ai-helper-live::before {
  left: 0 !important;
  top: .64em !important;
  width: 9px !important;
  height: 9px !important;
}

body.theme-light .pm-ai-helper-live strong {
  padding-left: 18px !important;
  color: #10264c !important;
  font-size: clamp(18px, 1.3vw, 26px) !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
}

body.theme-light .pm-ai-helper-live small {
  color: #5d7395 !important;
  font-size: clamp(13px, .9vw, 18px) !important;
  line-height: 1.18 !important;
  font-weight: 750 !important;
}

body.theme-light .pm-ai-helper-cta {
  grid-template-columns: 42px 1fr 70px !important;
  min-height: 46px !important;
  border-radius: 16px !important;
  color: #1477f8 !important;
  background:
    linear-gradient(135deg, rgba(222, 250, 255, .92), rgba(247, 235, 255, .9)),
    linear-gradient(135deg, rgba(39, 187, 255, .22), rgba(196, 87, 255, .22)) !important;
  border: 1px solid rgba(142, 164, 255, .42) !important;
  box-shadow: 0 12px 24px rgba(73, 135, 221, .15), inset 0 1px 0 rgba(255,255,255,.84) !important;
}

body.theme-light .pm-ai-helper-cta b {
  font-size: clamp(20px, 1.35vw, 28px) !important;
  color: #1477f8 !important;
}

body.theme-light .pm-ai-helper-cta svg {
  width: 22px !important;
  height: 22px !important;
}

body.theme-light .pm-ai-helper-cta em {
  background:
    linear-gradient(90deg, transparent 0 12%, rgba(46, 149, 255, .55) 12% 15%, transparent 15% 28%, rgba(135, 94, 255, .68) 28% 31%, transparent 31% 49%, rgba(46, 149, 255, .55) 49% 53%, transparent 53%),
    linear-gradient(90deg, rgba(24, 128, 255, .32), rgba(151, 91, 255, .28)) !important;
}

body.theme-light .pm-ai-helper-card-exact[data-ai-state="idle"] .pm-ai-helper-status--idle {
  display: none !important;
}

body.theme-light .pm-ai-helper-card-exact[data-ai-state="thinking"] .pm-ai-helper-status--thinking,
body.theme-light .pm-ai-helper-card-exact[data-ai-state="answer"] .pm-ai-helper-status--answer,
body.theme-light .pm-ai-helper-card-exact[data-ai-state="open"] .pm-ai-helper-status--idle {
  top: 68px !important;
  right: 16px !important;
  bottom: auto !important;
}

@media (max-height: 920px) {
  body.theme-light .pm-sidebar-circle-logo {
    height: 132px !important;
  }

  body.theme-light .pm-sidebar-freightq-orb {
    --freightq-orb-size: 132px !important;
  }

  body.theme-light .pm-nav-item {
    height: 39px !important;
  }

  body.theme-light .pm-ai-helper-card.pm-ai-helper-card-exact {
    height: 264px !important;
    min-height: 264px !important;
  }

  body.theme-light .pm-ai-helper-stage {
    grid-template-rows: 42px minmax(92px, 1fr) auto 42px !important;
    padding: 11px !important;
  }

  body.theme-light .pm-ai-helper-title b {
    font-size: 21px !important;
  }

  body.theme-light .pm-ai-helper-title em,
  body.theme-light .pm-ai-helper-live small {
    font-size: 12px !important;
  }

  body.theme-light .pm-ai-helper-live strong {
    font-size: 16px !important;
  }
}

body.theme-dark .pm-ai-helper-card.pm-ai-helper-card-exact {
  border-color: rgba(65, 116, 255, .42) !important;
  background:
    radial-gradient(circle at 80% 18%, rgba(127, 47, 255, .28), transparent 34%),
    radial-gradient(circle at 22% 54%, rgba(0, 170, 255, .2), transparent 42%),
    linear-gradient(180deg, rgba(10, 18, 43, .9), rgba(4, 9, 27, .86)) !important;
  box-shadow: 0 0 34px rgba(70, 77, 255, .22), inset 0 1px 0 rgba(138, 202, 255, .12) !important;
}

body.theme-dark .pm-ai-helper-card.pm-ai-helper-card-exact::before {
  background:
    radial-gradient(circle at 80% 18%, rgba(127, 47, 255, .22), transparent 34%),
    radial-gradient(circle at 22% 54%, rgba(0, 170, 255, .16), transparent 42%) !important;
  opacity: .82 !important;
}

body.theme-dark .pm-ai-helper-stage {
  background:
    linear-gradient(115deg, rgba(13,22,52,.74), rgba(6,12,34,.54)),
    repeating-linear-gradient(90deg, transparent 0 24px, rgba(72, 140, 255, .05) 24px 25px) !important;
}

body.theme-dark .pm-ai-helper-badge,
body.theme-dark .pm-ai-helper-portrait {
  background: rgba(8, 18, 43, .7) !important;
  border-color: rgba(76, 142, 255, .32) !important;
}

body.theme-dark .pm-ai-helper-badge img,
body.theme-dark .pm-ai-helper-portrait img {
  width: 165%;
  height: 220%;
  object-fit: cover;
  object-position: 50% 46%;
  transform: translate(-19%, -28%);
  filter: saturate(1.08) brightness(.98) contrast(1.04) !important;
  opacity: .96 !important;
}

body.theme-dark .pm-ai-helper-portrait img {
  width: 100% !important;
  height: 174% !important;
  object-position: 48% 43% !important;
  transform: translateY(-18%) scale(1.04) !important;
}

body.theme-dark .pm-ai-helper-title b,
body.theme-dark .pm-ai-helper-live strong {
  color: #fff !important;
}

body.theme-dark .pm-ai-helper-title em,
body.theme-dark .pm-ai-helper-live small {
  color: #9fb5dc !important;
}

body.theme-dark .pm-ai-helper-cta {
  color: #fff !important;
  background: linear-gradient(135deg, #7478ff 0%, #218fff 52%, #22d7ff 100%) !important;
  border-color: rgba(100, 154, 255, .38) !important;
}

body.theme-dark .pm-ai-helper-cta b {
  color: #fff !important;
}

/* Source-of-truth SVG map markers. Artwork is injected inline by web/mapMarkerComponent.js. */
.route-truck-arrow-marker,
.tracking-map-marker {
  width: 53px !important;
  height: 53px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translate(-50%, -72%) !important;
  overflow: visible !important;
  padding: 0 !important;
}

.route-truck-arrow-art,
.tracking-map-marker-art {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  transform: none !important;
  transform-origin: 50% 50% !important;
  filter: drop-shadow(0 8px 10px rgba(9, 93, 235, .3)) !important;
  pointer-events: none !important;
}

.freightq-map-marker-component {
  display: block;
  width: var(--freightq-marker-size, 53px);
  height: var(--freightq-marker-size, 53px);
  pointer-events: none;
}

.freightq-marker-stopped {
  filter: drop-shadow(0 6px 8px rgba(15, 23, 42, .22));
}

.freightq-map-marker-component svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.freightq-stopped-blue {
  filter: none;
}

.freightq-stopped-amber {
  filter: hue-rotate(150deg) saturate(1.55) brightness(1.08);
}

.freightq-stopped-gray {
  filter: grayscale(1) saturate(.18) brightness(.92) opacity(.88);
}

.freightq-stopped-red {
  filter: hue-rotate(120deg) saturate(1.8) brightness(.98);
}

.freightq-marker-missing {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ef4444;
}

.route-truck-arrow-number,
.tracking-map-marker-number,
.route-truck-arrow-shape,
.route-truck-arrow-truck,
.tracking-map-marker-shape,
.tracking-map-marker-truck {
  display: none !important;
}

/* Final approved sidebar artwork and dark-mode readability polish. */
.pm-sidebar-circle-logo {
  width: 100% !important;
  height: clamp(164px, 20vh, 214px) !important;
  margin: 0 0 12px !important;
  padding: 8px 0 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.theme-light .pm-sidebar-circle-logo {
  width: 100% !important;
  height: clamp(164px, 20vh, 214px) !important;
  margin: 0 0 12px !important;
  padding: 18px 0 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.pm-exact-sidebar-logo {
  display: block !important;
  position: relative !important;
  width: min(238px, calc(100% - 30px)) !important;
  aspect-ratio: 1 / 1 !important;
  transform: scaleX(1.085) !important;
  transform-origin: center center !important;
  border-radius: 999px !important;
  clip-path: ellipse(52.5% 50% at 50% 50%) !important;
  overflow: hidden !important;
  background: transparent !important;
  pointer-events: none !important;
}

.pm-exact-sidebar-logo__image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  filter: none !important;
}

body.theme-light .pm-exact-sidebar-logo__image--night,
body.theme-dark .pm-exact-sidebar-logo__image--day {
  display: none !important;
}

body.theme-light .pm-exact-sidebar-logo__image--day,
body.theme-dark .pm-exact-sidebar-logo__image--night {
  display: block !important;
}

body.theme-dark .pm-sidebar-circle-logo {
  height: clamp(150px, 18vh, 196px) !important;
  padding-top: 15px !important;
}

body.theme-dark .pm-exact-sidebar-logo {
  width: min(182px, calc(100% - 32px)) !important;
  aspect-ratio: 1 / 1 !important;
}

.pm-sidebar-small .pm-sidebar-circle-logo {
  height: 86px !important;
  margin: 0 0 10px !important;
  padding-top: 4px !important;
}

.pm-sidebar-small .pm-exact-sidebar-logo {
  width: 86px !important;
  aspect-ratio: 1 / 1 !important;
}

.pm-ai-helper-card.pm-ai-helper-card-exact.pm-ai-helper-card-image {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1089 / 1240 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform-origin: center bottom !important;
}

body.theme-light .pm-ai-helper-card.pm-ai-helper-card-exact.pm-ai-helper-card-image {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1089 / 1240 !important;
  border-radius: 24px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-dark .pm-ai-helper-card.pm-ai-helper-card-exact.pm-ai-helper-card-image {
  aspect-ratio: 654 / 1048 !important;
  border-radius: 22px !important;
}

.pm-ai-helper-card.pm-ai-helper-card-image::before,
.pm-ai-helper-card.pm-ai-helper-card-image::after {
  display: none !important;
  content: none !important;
}

.pm-ai-helper-card-image .pm-ai-helper-exact-frame {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: inherit !important;
  background: linear-gradient(180deg, #f9fdff 0%, #eef8ff 70%, #f8fbff 100%) !important;
}

.pm-ai-helper-card-image .pm-ai-helper-layer {
  position: absolute !important;
  width: 100% !important;
  left: 0 !important;
  object-fit: cover !important;
  display: block !important;
  filter: none;
  transform: none;
  opacity: 1 !important;
}

.pm-ai-helper-card-image .pm-ai-helper-layer--top {
  top: 0 !important;
  height: 71.2% !important;
  object-fit: contain !important;
  object-position: top center !important;
}

.pm-ai-helper-card-image .pm-ai-helper-layer--bottom {
  bottom: 0 !important;
  height: 15.2% !important;
  object-position: bottom center !important;
}

.pm-ai-helper-middle-panel {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 70.4% !important;
  bottom: 15.0% !important;
  z-index: 2 !important;
  display: block !important;
  background:
    radial-gradient(circle at 18% 15%, rgba(112, 211, 255, .16), transparent 38%),
    linear-gradient(180deg, rgba(247, 252, 255, .98), rgba(240, 248, 255, .96)) !important;
}

body.theme-dark .pm-ai-helper-card-image .pm-ai-helper-exact-frame {
  background: linear-gradient(180deg, #050b22 0%, #071229 66%, #080f28 100%) !important;
}

body.theme-dark .pm-ai-helper-middle-panel {
  top: 68.8% !important;
  bottom: 15.8% !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(102, 51, 255, .2), transparent 42%),
    linear-gradient(180deg, rgba(5, 12, 34, .98), rgba(8, 16, 42, .96)) !important;
}

.pm-ai-helper-live-overlay {
  position: absolute !important;
  left: 9.4% !important;
  right: 9.2% !important;
  top: 71.8% !important;
  bottom: 16.6% !important;
  z-index: 4 !important;
  display: grid !important;
  gap: 2px !important;
  min-height: 0 !important;
  padding: 5px 2px 4px !important;
  align-content: center !important;
  text-align: left !important;
  pointer-events: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.pm-ai-helper-live-overlay strong {
  display: block !important;
  color: #10264c !important;
  font-size: clamp(9px, 1.12vw, 12px) !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .5) !important;
}

.pm-ai-helper-live-overlay small {
  display: block !important;
  color: #5a7196 !important;
  font-size: clamp(8px, .96vw, 10px) !important;
  line-height: 1.08 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .45) !important;
}

body.theme-dark .pm-ai-helper-live-overlay {
  left: 10% !important;
  right: 9.5% !important;
  top: 70% !important;
  bottom: 16.8% !important;
  min-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-dark .pm-ai-helper-live-overlay strong {
  color: #f6fbff !important;
  text-shadow: 0 0 12px rgba(0, 210, 255, .55) !important;
}

body.theme-dark .pm-ai-helper-live-overlay small {
  color: #9fb5dc !important;
  text-shadow: 0 0 10px rgba(0, 120, 255, .35) !important;
}

body.theme-light .pm-ai-helper-layer--night,
body.theme-dark .pm-ai-helper-layer--day {
  display: none !important;
}

body.theme-light .pm-ai-helper-layer--day,
body.theme-dark .pm-ai-helper-layer--night {
  display: block !important;
}

.pm-ai-helper-card.pm-ai-helper-card-image:hover {
  transform: translateY(-2px) scale(1.006) !important;
  box-shadow: none !important;
}

.pm-sidebar-small .pm-ai-helper-card.pm-ai-helper-card-image {
  display: none !important;
}

body.theme-dark .pm-topbar {
  background: rgba(5, 10, 28, .96) !important;
  border-color: rgba(73, 132, 255, .28) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .34), inset 0 -1px 0 rgba(116, 179, 255, .14) !important;
}

body.theme-dark .pm-menu,
body.theme-dark .pm-icon-button,
body.theme-dark .pm-user {
  color: #f6fbff !important;
  background: rgba(8, 18, 43, .88) !important;
  border-color: rgba(96, 154, 255, .42) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 0 24px rgba(47, 118, 255, .16) !important;
}

body.theme-dark .pm-icon-button .pm-svg,
body.theme-dark .pm-menu .pm-svg,
body.theme-dark .pm-user .pm-svg {
  color: #f6fbff !important;
  stroke: currentColor !important;
}

body.theme-dark .pm-card-title,
body.theme-dark .panel-title,
body.theme-dark .toolbar,
body.theme-dark .panel-title.toolbar {
  color: #f7fbff !important;
  background: linear-gradient(180deg, rgba(11, 22, 50, .96), rgba(7, 14, 34, .9)) !important;
  border-color: rgba(94, 151, 255, .24) !important;
}

body.theme-dark .pm-card-title h2,
body.theme-dark .panel-title h2,
body.theme-dark .toolbar h2,
body.theme-dark .panel-title.toolbar h2 {
  color: #f7fbff !important;
}

body.theme-dark select,
body.theme-dark input,
body.theme-dark textarea {
  color: #edf6ff !important;
  background: rgba(8, 16, 36, .86) !important;
  border-color: rgba(103, 157, 255, .34) !important;
}

body.theme-dark .grid th {
  background: rgba(17, 31, 66, .98) !important;
  color: #c7d8f7 !important;
}

body.theme-dark .grid td {
  color: #e7f0ff !important;
  background: rgba(7, 15, 35, .82) !important;
}

body.theme-dark .grid tr:nth-child(even) td {
  color: #eef5ff !important;
  background: rgba(24, 38, 65, .88) !important;
}

body.theme-dark .grid tr.selected td {
  color: #ffffff !important;
  background: rgba(34, 78, 140, .82) !important;
}

body.theme-dark .grid td small,
body.theme-dark .grid .muted {
  color: #9db6df !important;
}

/* Unified equipment maintenance lifecycle */
.maintenance-module,
.maintenance-lifecycle-pane {
  min-width: 0;
}

.maintenance-module-body,
.maintenance-lifecycle-pane,
.maintenance-record-modal {
  display: grid;
  gap: 16px;
}

.maintenance-pane-actions,
.maintenance-section-title,
.maintenance-filter-row,
.maintenance-source-document {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.maintenance-pane-actions .note,
.maintenance-filter-row > span {
  margin-left: auto;
  color: var(--muted);
  font-size: 12px;
}

.maintenance-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
}

.maintenance-summary-grid.global {
  grid-template-columns: repeat(5, minmax(145px, 1fr));
}

.maintenance-summary-grid > div {
  min-height: 104px;
  padding: 16px;
  border: 1px solid var(--line2);
  border-left: 4px solid var(--blue2);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: 0 8px 20px rgba(37, 91, 132, .08);
  display: grid;
  align-content: center;
  gap: 3px;
}

.maintenance-summary-grid > div:nth-child(2) { border-left-color: var(--orange); }
.maintenance-summary-grid > div:nth-child(3) { border-left-color: var(--green); }
.maintenance-summary-grid > div:nth-child(4) { border-left-color: var(--purple); }
.maintenance-summary-grid > div:nth-child(5) { border-left-color: #38677e; }
.maintenance-summary-grid > div.needs-review { border-left-color: var(--red); background: #fff8f8; }
.maintenance-summary-grid span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.maintenance-summary-grid strong { color: var(--text); font-size: 24px; line-height: 1.15; }
.maintenance-summary-grid small { color: var(--muted); }

.maintenance-filter-row {
  justify-content: space-between;
  padding: 10px 0;
  border-top: 1px solid var(--line2);
  border-bottom: 1px solid var(--line2);
}

.maintenance-filter-row > div {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.maintenance-filter-row button {
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
  color: var(--text);
  font-weight: 750;
}

.maintenance-filter-row button.active {
  border-color: var(--blue2);
  background: var(--blue3);
  color: var(--blue2);
}

.maintenance-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-height: 42px;
  padding: 8px 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  flex-wrap: wrap;
}

.maintenance-pagination > span { margin-right: auto; }
.maintenance-pagination label { display: flex; align-items: center; gap: 6px; }
.maintenance-pagination select {
  width: auto;
  min-width: 68px;
  min-height: 32px;
  padding: 4px 24px 4px 8px;
}

.maintenance-source-badge {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 9px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.maintenance-source-badge.is-inflow {
  color: #127451;
  background: #e8f8f0;
}

.maintenance-source-badge.is-otr {
  color: #a45315;
  background: #fff4e6;
}

.maintenance-record-table-wrap,
.maintenance-line-editor {
  max-width: 100%;
  overflow: auto;
  border: 1px solid var(--line2);
  border-radius: 8px;
}

.maintenance-record-table,
.maintenance-line-editor table {
  min-width: 1040px;
}

.maintenance-column-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 4px 0 10px;
  color: var(--muted);
  font-size: 12px;
}

.maintenance-column-filter-row th {
  padding: 6px;
  background: var(--panel2);
}

.maintenance-column-filter-row input,
.maintenance-column-filter-row select {
  width: 100%;
  min-width: 74px;
  height: 34px;
  padding: 6px 8px;
  border: 1px solid var(--line2);
  border-radius: 6px;
  background: var(--panel);
  color: var(--text);
  font-size: 11px;
}

.maintenance-record-table td > strong,
.maintenance-record-table td > small {
  display: block;
}

.maintenance-record-table td > small {
  margin-top: 3px;
  color: var(--muted);
}

.maintenance-review-note {
  margin-top: 5px !important;
  color: #9a4b10 !important;
  font-weight: 750;
}

.maintenance-loading,
.maintenance-empty {
  min-height: 180px;
  padding: 28px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 8px;
  text-align: center;
  color: var(--muted);
}

.maintenance-empty strong { color: var(--text); font-size: 16px; }

.maintenance-modal-card {
  width: min(1120px, 96vw) !important;
  max-height: 92vh;
  overflow: auto;
}

.maintenance-modal-heading {
  display: grid;
  gap: 6px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line2);
}

.maintenance-modal-heading > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

.maintenance-modal-heading > strong { font-size: 20px; color: var(--text); }
.maintenance-modal-heading > span { color: var(--muted); }

.maintenance-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 8px;
}

.maintenance-detail-grid > div {
  padding: 12px;
  border: 1px solid var(--line2);
  border-radius: 7px;
  background: var(--panel2);
  display: grid;
  gap: 3px;
}

.maintenance-detail-grid span,
.maintenance-notes-grid span,
.maintenance-source-document > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.maintenance-notes-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.maintenance-notes-grid > div {
  padding: 13px;
  border-left: 3px solid var(--blue2);
  background: var(--panel2);
}

.maintenance-notes-grid p { margin: 6px 0 0; white-space: pre-wrap; }

.maintenance-match-warning {
  display: grid;
  gap: 3px;
  padding: 11px 13px;
  border: 1px solid #efb57e;
  border-left: 4px solid var(--orange);
  border-radius: 7px;
  color: #754018;
  background: #fff8ef;
}

.maintenance-pdf-extract {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px dashed var(--blue2);
  border-radius: 8px;
  background: var(--panel2);
}

.maintenance-pdf-extract > div { display: grid; gap: 3px; }
.maintenance-pdf-extract span { color: var(--muted); }

.maintenance-source-document {
  padding: 10px 12px;
  border: 1px solid var(--line2);
  border-radius: 7px;
  background: var(--panel2);
}

.maintenance-source-document .btn { margin-left: auto; }

.maintenance-section-title {
  justify-content: space-between;
  margin-top: 2px;
}

.maintenance-section-title h3 { margin: 0; }

.maintenance-line-editor input,
.maintenance-line-editor select {
  min-width: 92px;
  width: 100%;
}

.maintenance-line-editor td:nth-child(3),
.maintenance-line-editor td:nth-child(4) { min-width: 190px; }

body.theme-dark .maintenance-summary-grid > div,
body.theme-dark .maintenance-detail-grid > div,
body.theme-dark .maintenance-notes-grid > div,
body.theme-dark .maintenance-pdf-extract,
body.theme-dark .maintenance-source-document {
  border-color: rgba(91, 146, 241, .28);
  background: rgba(11, 24, 52, .88);
  box-shadow: none;
}

body.theme-dark .maintenance-summary-grid > div.needs-review {
  border-left-color: #ff6d70;
  background: rgba(89, 23, 31, .42);
}

body.theme-dark .maintenance-summary-grid strong,
body.theme-dark .maintenance-modal-heading > strong,
body.theme-dark .maintenance-empty strong {
  color: #f4f8ff;
}

body.theme-dark .maintenance-filter-row {
  border-color: rgba(91, 146, 241, .24);
}

body.theme-dark .maintenance-filter-row button {
  border-color: rgba(91, 146, 241, .34);
  color: #dbe9ff;
  background: rgba(10, 20, 43, .9);
}

body.theme-dark .maintenance-filter-row button.active {
  border-color: #5ba7f7;
  color: #ffffff;
  background: rgba(40, 103, 181, .65);
}

body.theme-dark .maintenance-pagination select {
  border-color: rgba(91, 146, 241, .34);
  color: #dbe9ff;
  background: rgba(10, 20, 43, .9);
}

body.theme-dark .maintenance-source-badge.is-inflow {
  color: #6de0b1;
  background: rgba(21, 102, 74, .32);
}

body.theme-dark .maintenance-source-badge.is-otr {
  color: #ffc47e;
  background: rgba(127, 72, 22, .32);
}

body.theme-dark .maintenance-match-warning {
  border-color: rgba(255, 170, 83, .52);
  color: #ffcf99;
  background: rgba(100, 53, 16, .38);
}

@media (max-width: 1180px) {
  .maintenance-summary-grid.global { grid-template-columns: repeat(3, minmax(145px, 1fr)); }
  .maintenance-summary-grid { grid-template-columns: repeat(2, minmax(145px, 1fr)); }
}

@media (max-width: 760px) {
  .maintenance-summary-grid,
  .maintenance-summary-grid.global,
  .maintenance-detail-grid,
  .maintenance-notes-grid,
  .maintenance-pdf-extract {
    grid-template-columns: 1fr;
  }
  .maintenance-pane-actions .note,
  .maintenance-filter-row > span { margin-left: 0; width: 100%; }
  .maintenance-pagination { justify-content: flex-start; }
  .maintenance-pagination > span { width: 100%; }
  .maintenance-modal-card { width: 98vw !important; }
}
.data-filter-grid tr[data-grid-page-visible="0"],
.data-resizable-grid tr[data-grid-page-visible="0"] {
  display: none !important;
}

/* PACCAR / FourKites EDI tender workspace */
.edi-load-tabs {
  margin-bottom: 14px;
  border-bottom: 1px solid var(--line2);
}

.edi-load-tabs .load-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.edi-tab-count {
  min-width: 20px;
  padding: 1px 6px;
  border-radius: var(--pill);
  color: #fff;
  background: var(--red);
  font-size: 11px;
  line-height: 18px;
}

.edi-readiness {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel2);
}

.edi-readiness > div {
  display: grid;
  gap: 3px;
}

.edi-readiness span {
  color: var(--muted);
}

.edi-readiness.warning {
  border-color: rgba(237, 125, 49, .48);
  background: rgba(237, 125, 49, .09);
}

.edi-readiness.good {
  border-color: rgba(44, 159, 90, .42);
  background: rgba(44, 159, 90, .08);
}

.edi-summary-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(105px, 1fr));
  gap: 8px;
  margin: 14px 0;
}

.edi-summary-row button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid var(--line2);
  border-radius: 8px;
  color: var(--text);
  background: var(--panel);
}

.edi-summary-row button.active {
  border-color: var(--blue2);
  background: var(--blue3);
}

.edi-tender-toolbar {
  justify-content: space-between;
  margin-bottom: 10px;
}

.edi-load-more {
  justify-content: center;
  padding-top: 12px;
}

.edi-search {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: min(440px, 55vw);
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.edi-search input {
  width: 100%;
  border: 0;
  background: transparent;
}

.edi-search input:focus {
  outline: 0;
}

.edi-tender-table table {
  min-width: 1120px;
  table-layout: fixed;
}

.edi-tender-table {
  overflow-x: auto;
}

.edi-tender-table th:nth-child(1) { width: 190px; }
.edi-tender-table th:nth-child(2) { width: 95px; }
.edi-tender-table th:nth-child(3) { width: 80px; }
.edi-tender-table th:nth-child(4),
.edi-tender-table th:nth-child(5) { width: 120px; }
.edi-tender-table th:nth-child(6) { width: 100px; }
.edi-tender-table th:nth-child(7),
.edi-tender-table th:nth-child(8) { width: 110px; }
.edi-tender-table th:nth-child(9) { width: 195px; }

.edi-tender-table th:last-child,
.edi-tender-table td:last-child {
  position: sticky;
  right: 0;
  z-index: 2;
  background: var(--panel);
  box-shadow: -10px 0 14px -14px rgba(15, 23, 42, .5);
  white-space: normal;
}

.edi-tender-table th:last-child {
  z-index: 3;
}

.edi-tender-table td small,
.edi-tender-table td strong {
  display: block;
}

.edi-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.edi-detail {
  display: grid;
  gap: 14px;
  min-width: min(860px, 82vw);
}

.edi-detail-heading,
.edi-decision-route,
.edi-decision-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.edi-detail-heading h3 {
  margin: 2px 0 0;
  font-size: 22px;
}

.edi-detail-heading span,
.edi-detail-grid span,
.edi-partner-summary span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.edi-detail-grid,
.edi-partner-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 10px;
}

.edi-detail-grid > div,
.edi-partner-summary > div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border: 1px solid var(--line2);
  border-radius: 8px;
  background: var(--panel2);
}

.edi-detail-warning {
  padding: 10px 12px;
  border-left: 4px solid var(--orange);
  background: rgba(237, 125, 49, .08);
}

.edi-detail-warning ul {
  margin: 6px 0 0;
  padding-left: 18px;
}

.edi-stop-list {
  display: grid;
  gap: 10px;
}

.edi-stop-card h3 {
  margin: 0;
}

.edi-detail-actions {
  justify-content: flex-end;
}

.edi-decision-modal {
  min-width: min(620px, 75vw);
}

.edi-decision-route {
  justify-content: center;
  padding: 12px;
  border-radius: 8px;
  background: var(--panel2);
}

.edi-settings-card {
  gap: 13px;
}

.edi-partner-summary strong {
  overflow-wrap: anywhere;
}

body.theme-dark .edi-readiness,
body.theme-dark .edi-summary-row button,
body.theme-dark .edi-search,
body.theme-dark .edi-detail-grid > div,
body.theme-dark .edi-partner-summary > div,
body.theme-dark .edi-decision-route {
  border-color: rgba(91, 146, 241, .28);
  background: rgba(11, 24, 52, .88);
}

body.theme-dark .edi-summary-row button.active {
  border-color: #5ba7f7;
  background: rgba(40, 103, 181, .5);
}

@media (max-width: 900px) {
  .edi-summary-row {
    grid-template-columns: repeat(2, minmax(105px, 1fr));
  }

  .edi-detail-grid,
  .edi-partner-summary {
    grid-template-columns: 1fr;
  }

  .edi-tender-toolbar {
    align-items: stretch;
  }

  .edi-search {
    min-width: 100%;
  }
}

/* Dispatch fleet-state markers and bounded recorded-lane heat map. */
.dispatch-map-tabs {
  display: inline-flex;
  gap: 5px;
  margin-bottom: 16px;
  padding: 4px;
  border: 1px solid var(--pm-border-2);
  border-radius: 12px;
  background: #f4f7fb;
}

.dispatch-map-tabs button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 0;
  border-radius: 9px !important;
  color: #607189;
  background: transparent;
  box-shadow: none;
}

.dispatch-map-tabs button.active {
  color: #fff;
  background: #2f74f6;
  box-shadow: 0 7px 18px rgba(47, 116, 246, .22);
}

.dispatch-map-tabs .pm-svg {
  width: 17px;
  height: 17px;
}

.dispatch-lane-heat {
  display: grid;
  gap: 16px;
}

.dispatch-heat-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.dispatch-heat-toolbar h3 {
  margin: 0 0 5px;
  color: #0d1b45;
  font-size: 17px;
}

.dispatch-heat-toolbar p {
  margin: 0;
  color: #71829c;
  font-size: 12px;
  font-weight: 700;
}

.dispatch-heat-periods {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--pm-border-2);
  border-radius: 999px;
  background: #f4f7fb;
}

.dispatch-heat-periods button {
  min-width: 70px;
  min-height: 32px;
  padding: 6px 12px !important;
  border: 0;
  border-radius: 999px !important;
  color: #607189;
  background: transparent;
  box-shadow: none;
  font-size: 11px;
  font-weight: 900;
}

.dispatch-heat-periods button.active {
  color: #fff;
  background: #2f74f6;
  box-shadow: 0 5px 13px rgba(47, 116, 246, .2);
}

.dispatch-heat-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px;
}

.dispatch-heat-summary > div {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--pm-border-2);
  border-radius: 12px;
  background: #f8fbff;
}

.dispatch-heat-summary span,
.dispatch-heat-summary strong {
  display: block;
}

.dispatch-heat-summary span {
  color: #71829c;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.dispatch-heat-summary strong {
  margin-top: 5px;
  color: #0d1b45;
  font-size: 20px;
}

.dispatch-heat-map-shell {
  padding: 0;
}

.dispatch-heat-map-canvas {
  min-height: 540px;
}

.dispatch-heat-route-lines {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.dispatch-heat-route-lines line {
  fill: none;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  pointer-events: stroke;
}

.dispatch-heat-route-lines line.light {
  stroke: #2f74f6;
  stroke-opacity: .38;
}

.dispatch-heat-route-lines line.active {
  stroke: #06b6d4;
  stroke-opacity: .62;
}

.dispatch-heat-route-lines line.warm {
  stroke: #f59e0b;
  stroke-opacity: .74;
}

.dispatch-heat-route-lines line.hot {
  stroke: #ef4444;
  stroke-opacity: .82;
  filter: drop-shadow(0 0 4px rgba(239, 68, 68, .32));
}

.dispatch-heat-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 10px;
}

.dispatch-heat-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #607189;
  font-size: 11px;
  font-weight: 900;
}

.dispatch-heat-legend i {
  width: 22px;
  height: 5px;
  border-radius: 999px;
}

.dispatch-heat-legend i.light { background: rgba(47, 116, 246, .55); }
.dispatch-heat-legend i.active { background: #06b6d4; }
.dispatch-heat-legend i.warm { background: #f59e0b; }
.dispatch-heat-legend i.hot { background: #ef4444; }

.dispatch-heat-cap-note {
  margin: 9px 0 0;
  color: #71829c;
  font-size: 11px;
  line-height: 1.45;
}

.dispatch-heat-table {
  margin-top: 0;
}

.dispatch-heat-table td:first-child {
  min-width: 260px;
}

body.theme-dark .dispatch-map-tabs,
body.theme-dark .dispatch-heat-periods,
body.theme-dark .dispatch-heat-summary > div {
  border-color: rgba(91, 146, 241, .28);
  background: rgba(11, 24, 52, .88);
}

body.theme-dark .dispatch-map-tabs button,
body.theme-dark .dispatch-heat-periods button,
body.theme-dark .dispatch-heat-toolbar p,
body.theme-dark .dispatch-heat-summary span,
body.theme-dark .dispatch-heat-cap-note,
body.theme-dark .dispatch-heat-legend span {
  color: #9fb5dc;
}

body.theme-dark .dispatch-map-tabs button.active,
body.theme-dark .dispatch-heat-periods button.active {
  color: #fff;
  background: #327df5;
}

body.theme-dark .dispatch-heat-toolbar h3,
body.theme-dark .dispatch-heat-summary strong {
  color: #f7faff;
}

@media (max-width: 900px) {
  .dispatch-heat-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .dispatch-heat-periods {
    align-self: flex-start;
  }

  .dispatch-heat-summary {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }

  .dispatch-heat-map-canvas {
    min-height: 430px;
  }
}

@media (max-width: 560px) {
  .dispatch-map-tabs,
  .dispatch-heat-periods {
    width: 100%;
  }

  .dispatch-map-tabs button,
  .dispatch-heat-periods button {
    flex: 1;
  }
}

/* ===== FreightQ night-mode visual hierarchy =====
   Centralized dark tokens and compatibility aliases. This final layer is
   intentionally scoped to theme-dark so the approved light theme stays locked. */
body.theme-dark {
  color-scheme: dark;

  --pm-canvas: #01040f;
  --pm-bg: #030a1a;
  --pm-sidebar: #070f22;
  --pm-panel: #071126;
  --pm-panel-soft: #0b1830;
  --pm-interactive: #10213b;
  --pm-row-odd: #071225;
  --pm-row-even: #0b1930;
  --pm-row-hover: #122a49;
  --pm-row-selected: #19375f;
  --pm-border: #182b4a;
  --pm-border-2: #29476f;
  --pm-text: #f5f7ff;
  --pm-text-secondary: #b8c4d8;
  --pm-muted: #8292ab;
  --pm-blue: #2f8cff;
  --pm-cyan: #22b8f7;
  --pm-purple: #7c3aed;
  --pm-success: #22c55e;
  --pm-warning: #f59e0b;
  --pm-danger: #ef4444;
  --pm-focus: rgba(47, 140, 255, .38);
  --pm-shadow: 0 18px 50px rgba(0, 0, 0, .38);
  --pm-shadow-soft: 0 10px 28px rgba(0, 0, 0, .26);

  /* Compatibility names used by older picture-match components. */
  --pm-card: var(--pm-panel);
  --pm-surface: var(--pm-panel-soft);
  --pm-ink: var(--pm-text);
  --pm-blue-2: var(--pm-cyan);
  --pm-blue-soft: rgba(47, 140, 255, .16);
  --pm-red: var(--pm-danger);
  --pm-green: var(--pm-success);
  --pm-orange: var(--pm-warning);

  /* Legacy token contract still used by operational modules. */
  --bg: var(--pm-bg);
  --bg2: var(--pm-canvas);
  --panel: var(--pm-panel);
  --panel2: var(--pm-panel-soft);
  --panel3: var(--pm-interactive);
  --line: var(--pm-border-2);
  --line2: var(--pm-border);
  --text: var(--pm-text);
  --muted: var(--pm-muted);
  --blue: var(--pm-blue);
  --blue2: var(--pm-cyan);
  --blue3: rgba(47, 140, 255, .15);
  --red: var(--pm-danger);
  --red2: #f87171;
  --green: var(--pm-success);
  --yellow: var(--pm-warning);
  --orange: var(--pm-warning);
  --purple: var(--pm-purple);
  --shadow: var(--pm-shadow);

  background:
    radial-gradient(circle at 14% -8%, rgba(47, 140, 255, .12), transparent 30%),
    radial-gradient(circle at 84% -12%, rgba(124, 58, 237, .10), transparent 28%),
    var(--pm-canvas) !important;
  color: var(--pm-text) !important;
}

body.theme-dark .pm-shell {
  background:
    radial-gradient(circle at 18% -14%, rgba(34, 184, 247, .10), transparent 31%),
    radial-gradient(circle at 76% -10%, rgba(124, 58, 237, .09), transparent 30%),
    linear-gradient(180deg, var(--pm-canvas), var(--pm-bg) 42%, var(--pm-canvas)) !important;
}

body.theme-dark .pm-content,
body.theme-dark .content {
  background:
    radial-gradient(circle at 50% -12%, rgba(47, 140, 255, .07), transparent 35%),
    var(--pm-bg) !important;
  color: var(--pm-text) !important;
}

body.theme-dark .pm-sidebar,
body.theme-dark .sidebar {
  background:
    linear-gradient(180deg, rgba(10, 22, 48, .98), rgba(7, 15, 34, .99)),
    var(--pm-sidebar) !important;
  border-color: var(--pm-border) !important;
  box-shadow: 12px 0 38px rgba(0, 0, 0, .30) !important;
}

body.theme-dark .pm-topbar,
body.theme-dark .topbar {
  background: linear-gradient(180deg, rgba(7, 17, 38, .98), rgba(3, 10, 26, .97)) !important;
  border-color: var(--pm-border) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .28), inset 0 -1px 0 rgba(47, 140, 255, .09) !important;
}

body.theme-dark .pm-nav-item {
  color: var(--pm-text-secondary) !important;
}

body.theme-dark .pm-nav-item:hover {
  color: var(--pm-text) !important;
  background: var(--pm-interactive) !important;
  box-shadow: inset 0 0 0 1px var(--pm-border) !important;
}

body.theme-dark .pm-nav-icon,
body.theme-dark .pm-nav-chevron {
  color: #7bb8ff !important;
}

body.theme-dark .pm-nav-item.active {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(47, 140, 255, .88), rgba(124, 58, 237, .82)) !important;
  box-shadow: 0 9px 26px rgba(47, 140, 255, .25), inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}

body.theme-dark .pm-card,
body.theme-dark .pm-kpi,
body.theme-dark .panel,
body.theme-dark .soft-card,
body.theme-dark .section-card,
body.theme-dark .fin-box,
body.theme-dark .modal-card,
body.theme-dark .pm-powered-card,
body.theme-dark .pm-user-menu,
body.theme-dark .pm-dispatch-board-card,
body.theme-dark .operational-alert-row,
body.theme-dark .weekly-revenue-week,
body.theme-dark .fuel-accountability-kpis > div {
  color: var(--pm-text);
  background: linear-gradient(180deg, rgba(7, 17, 38, .98), rgba(6, 15, 33, .98)) !important;
  border-color: var(--pm-border) !important;
  box-shadow: var(--pm-shadow-soft), inset 0 1px 0 rgba(255, 255, 255, .035) !important;
}

body.theme-dark .pm-kpi:hover,
body.theme-dark .pm-card.pm-clickable:hover,
body.theme-dark .fin-box-action:hover {
  border-color: var(--pm-border-2) !important;
  box-shadow: 0 15px 36px rgba(0, 0, 0, .34), 0 0 0 1px rgba(47, 140, 255, .08) !important;
}

body.theme-dark .pm-card-title,
body.theme-dark .panel-title,
body.theme-dark .modal-head,
body.theme-dark .modal-foot,
body.theme-dark .toolbar.panel-title,
body.theme-dark .panel-title.toolbar {
  color: var(--pm-text) !important;
  background: linear-gradient(180deg, rgba(11, 24, 48, .98), rgba(7, 17, 38, .98)) !important;
  border-color: var(--pm-border) !important;
}

body.theme-dark .pm-card-title h2,
body.theme-dark .panel-title h2,
body.theme-dark .panel-title h3,
body.theme-dark .modal-head h2,
body.theme-dark .pm-command-title h1,
body.theme-dark .pm-dispatch-hero h1 {
  color: var(--pm-text) !important;
}

body.theme-dark .pm-card-title a,
body.theme-dark .link,
body.theme-dark .linklike {
  color: #6db5ff !important;
}

body.theme-dark .pm-menu,
body.theme-dark .pm-search,
body.theme-dark .pm-icon-button,
body.theme-dark .pm-user,
body.theme-dark .pm-date-pill,
body.theme-dark .pm-kbd,
body.theme-dark input,
body.theme-dark select,
body.theme-dark textarea,
body.theme-dark .pm-mini-select,
body.theme-dark .pm-table-filters button,
body.theme-dark .btn:not(.primary):not(.pm-primary):not(.danger):not(.success):not(.warning):not(.active):not(.selected):not(.is-active):not([aria-pressed="true"]):not([aria-selected="true"]),
body.theme-dark button:not(:where(
  .primary,
  .pm-primary,
  .danger,
  .success,
  .warning,
  .active,
  .selected,
  .is-active,
  [aria-pressed="true"],
  [aria-selected="true"],
  [aria-current],
  .pm-nav-item,
  .pm-kpi,
  .ghost,
  .linklike,
  .pm-step,
  .pm-side-list button,
  .pm-ring-legend button,
  .pm-action-icon,
  .grid-sort,
  .driver-breadcrumb-link,
  .driver-sort-head,
  .operational-alert-main,
  .tracking-map-marker,
  .route-truck-arrow-marker
)) {
  color: var(--pm-text) !important;
  background: var(--pm-panel-soft) !important;
  border-color: var(--pm-border-2) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
}

body.theme-dark input::placeholder,
body.theme-dark textarea::placeholder {
  color: #91a1ba !important;
  opacity: 1;
}

body.theme-dark select option {
  color: var(--pm-text);
  background: var(--pm-panel-soft);
}

body.theme-dark :where(button, .btn, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--pm-blue) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px var(--pm-focus) !important;
}

body.theme-dark .pm-search:focus-within,
body.theme-dark .edi-search:focus-within {
  border-color: var(--pm-blue) !important;
  box-shadow: 0 0 0 4px var(--pm-focus) !important;
}

body.theme-dark :where(button, input, select, textarea):disabled,
body.theme-dark [aria-disabled="true"] {
  color: #6f7f98 !important;
  background: #091326 !important;
  border-color: #14253f !important;
  opacity: .58 !important;
  cursor: not-allowed !important;
  filter: saturate(.55);
}

body.theme-dark .pm-primary,
body.theme-dark .primary {
  color: #fff !important;
  background: linear-gradient(135deg, #2f8cff, #22b8f7) !important;
  border-color: rgba(87, 177, 255, .82) !important;
  box-shadow: 0 10px 28px rgba(47, 140, 255, .26) !important;
}

body.theme-dark :is(button, .btn).danger:not(.tracking-map-marker):not(.route-truck-arrow-marker) {
  color: #fff !important;
  background: linear-gradient(180deg, #f15b5b, #c92835) !important;
  border-color: #f87171 !important;
}

body.theme-dark :is(button, .btn).success {
  color: #fff !important;
  background: linear-gradient(180deg, #2fd270, #158b43) !important;
  border-color: #4ade80 !important;
}

body.theme-dark :is(button, .btn).warning {
  color: #fff7df !important;
  background: linear-gradient(180deg, #c88408, #925806) !important;
  border-color: #f59e0b !important;
}

body.theme-dark :is(
  .ghost,
  .linklike,
  .pm-step,
  .pm-side-list button,
  .pm-ring-legend button,
  .grid-sort,
  .pm-action-icon,
  .operational-alert-main
) {
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-dark :is(.pm-search, .edi-search) input {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body.theme-dark .table-wrap,
body.theme-dark .data-grid-scroll-wrap,
body.theme-dark .pm-dispatch-table-wrap,
body.theme-dark .maintenance-record-table-wrap,
body.theme-dark .maintenance-line-editor {
  color: var(--pm-text);
  background: var(--pm-panel) !important;
  border-color: var(--pm-border) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
}

body.theme-dark .grid th {
  color: var(--pm-text-secondary) !important;
  background: #0d1d38 !important;
  border-color: var(--pm-border-2) !important;
}

body.theme-dark .grid .data-grid-filter-row th,
body.theme-dark .grid thead tr.data-grid-filter-row th {
  background: #09152b !important;
  border-bottom-color: var(--pm-border-2) !important;
}

body.theme-dark .grid .data-grid-filter-row :is(input, select) {
  color: var(--pm-text-secondary) !important;
  background: #071126 !important;
  border-color: var(--pm-border-2) !important;
}

body.theme-dark .grid tbody tr:nth-child(odd) td {
  color: var(--pm-text) !important;
  background: var(--pm-row-odd) !important;
  border-color: var(--pm-border) !important;
}

body.theme-dark .grid tbody tr:nth-child(even) td {
  color: var(--pm-text) !important;
  background: var(--pm-row-even) !important;
  border-color: var(--pm-border) !important;
}

body.theme-dark .grid tbody tr:hover td,
body.theme-dark .grid tbody tr:focus-within td {
  color: #fff !important;
  background: var(--pm-row-hover) !important;
  border-color: var(--pm-border-2) !important;
}

body.theme-dark .grid tbody tr.is-expanded td {
  color: #fff !important;
  background: #102442 !important;
  border-color: #31557e !important;
}

body.theme-dark .grid tbody tr.selected td,
body.theme-dark .grid tbody tr[aria-selected="true"] td,
body.theme-dark .grid tbody tr.is-selected td {
  color: #fff !important;
  background: var(--pm-row-selected) !important;
  border-color: #365b88 !important;
}

body.theme-dark .grid td small,
body.theme-dark .grid .muted,
body.theme-dark .grid .note {
  color: var(--pm-muted) !important;
}

body.theme-dark .grid tr.selected td small,
body.theme-dark .grid tr[aria-selected="true"] td small,
body.theme-dark .grid tr.is-selected td small,
body.theme-dark .grid tr.selected .muted,
body.theme-dark .grid tr[aria-selected="true"] .muted {
  color: var(--pm-text-secondary) !important;
}

/* A flex display on a table cell creates the white action-column gap visible
   in the Loads screenshot. Keep the cell in the table formatting context. */
body.theme-dark .load-grid td.row-actions {
  display: table-cell;
  vertical-align: middle;
  background-clip: padding-box !important;
}

body.theme-dark .load-grid td.row-actions .small {
  min-width: 58px;
}

body.theme-dark .data-grid-column-menu {
  color: var(--pm-text);
  background: #0b1830 !important;
  border-color: var(--pm-border-2) !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .52) !important;
}

body.theme-dark .data-grid-column-menu label {
  color: var(--pm-text-secondary) !important;
}

body.theme-dark .data-grid-column-menu label:hover {
  color: var(--pm-text) !important;
  background: var(--pm-interactive) !important;
}

body.theme-dark :is(.data-grid-scroll-wrap, .pm-dispatch-table-wrap, .pm-dispatch-side, .pm-nav, .modal-card) {
  scrollbar-color: #315b8b #071126;
}

body.theme-dark :is(.data-grid-scroll-wrap, .pm-dispatch-table-wrap, .pm-dispatch-side, .pm-nav, .modal-card)::-webkit-scrollbar-track {
  background: #071126;
}

body.theme-dark :is(.data-grid-scroll-wrap, .pm-dispatch-table-wrap, .pm-dispatch-side, .pm-nav, .modal-card)::-webkit-scrollbar-thumb {
  background: #315b8b;
  border-color: #071126;
  border-radius: 999px;
}

body.theme-dark .status-pill {
  color: #dceaff !important;
  background: rgba(47, 140, 255, .14) !important;
  border-color: rgba(47, 140, 255, .42) !important;
}

body.theme-dark .status-pill:is(
  .status-in-transit,
  .status-moving,
  .status-tracking
) {
  color: #bcecff !important;
  background: rgba(34, 184, 247, .15) !important;
  border-color: rgba(34, 184, 247, .52) !important;
}

body.theme-dark .status-pill:is(
  .status-available,
  .status-paid,
  .status-settled,
  .status-delivered,
  .status-completed,
  .status-complete,
  .status-closed,
  .status-ok,
  .status-accepted,
  .status-pod-received
) {
  color: #bdf8d0 !important;
  background: rgba(34, 197, 94, .14) !important;
  border-color: rgba(34, 197, 94, .48) !important;
}

body.theme-dark .status-pill:is(
  .status-pending,
  .status-ready-to-invoice,
  .status-partially-paid,
  .status-at-pickup,
  .status-at-delivery,
  .status-due-soon,
  .status-warning,
  .status-payment,
  .status-deduction
) {
  color: #ffe2a8 !important;
  background: rgba(245, 158, 11, .15) !important;
  border-color: rgba(245, 158, 11, .50) !important;
}

body.theme-dark .status-pill:is(
  .status-at-risk,
  .status-late,
  .status-delayed,
  .status-overdue,
  .status-critical,
  .status-canceled,
  .status-cancelled,
  .status-tonu,
  .status-void,
  .status-blocked,
  .status-rejected
) {
  color: #ffc7c7 !important;
  background: rgba(239, 68, 68, .15) !important;
  border-color: rgba(239, 68, 68, .52) !important;
}

body.theme-dark .status-pill:is(
  .status-review,
  .status-needs-review,
  .status-factored,
  .status-ai
) {
  color: #ddd0ff !important;
  background: rgba(124, 58, 237, .18) !important;
  border-color: rgba(139, 92, 246, .54) !important;
}

body.theme-dark .toast {
  color: var(--pm-text) !important;
  background: #0b1830 !important;
  border-color: var(--pm-border-2) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .48) !important;
}

body.theme-dark .toast.good {
  color: #c7f9d7 !important;
  border-color: rgba(34, 197, 94, .5) !important;
}

body.theme-dark .toast.bad {
  color: #ffd0d0 !important;
  border-color: rgba(239, 68, 68, .55) !important;
}

body.theme-dark .empty-state,
body.theme-dark .maintenance-empty,
body.theme-dark .weekly-revenue-state {
  color: var(--pm-muted) !important;
  background: rgba(11, 24, 48, .55) !important;
  border-color: var(--pm-border-2) !important;
}

body.theme-dark :is(.empty-state, .maintenance-empty, .weekly-revenue-state) strong {
  color: var(--pm-text) !important;
}

body.theme-dark .operational-alert-row {
  border-left-color: var(--pm-warning) !important;
}

body.theme-dark .operational-alert-row.severity-critical {
  border-left-color: var(--pm-danger) !important;
}

body.theme-dark .operational-alert-main strong,
body.theme-dark .operational-alert-main {
  color: var(--pm-text) !important;
}

body.theme-dark .operational-alert-main small,
body.theme-dark .operational-alert-main em,
body.theme-dark .operational-alert-center .panel-title p {
  color: var(--pm-muted) !important;
}

body.theme-dark .alert-center-tabs button.active,
body.theme-dark .report-tabs button.active {
  color: #d9ecff !important;
  background: linear-gradient(135deg, rgba(47, 140, 255, .25), rgba(124, 58, 237, .20)) !important;
  border-color: var(--pm-blue) !important;
}

body.theme-dark .alert-center-tabs button span {
  color: var(--pm-text-secondary);
  background: var(--pm-interactive);
}

/* Dashboard nested surfaces and type hierarchy. */
body.theme-dark :is(
  .pm-fin-box,
  .pm-actions-grid button,
  .pm-queue-list button,
  .pm-ring > div,
  .pm-margin-ring > div,
  .pm-dispatch-metrics div,
  .pm-dispatch-donut > div
) {
  color: var(--pm-text) !important;
  background: var(--pm-panel-soft) !important;
  border-color: var(--pm-border) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03) !important;
}

body.theme-dark :is(
  .pm-kpi strong,
  .pm-step strong,
  .pm-fin-box strong,
  .pm-metric-row strong,
  .pm-ring b,
  .pm-ring-legend strong,
  .pm-actions-grid b,
  .pm-leaders strong,
  .pm-profit strong,
  .pm-margin-ring strong,
  .pm-queue-list strong,
  .pm-pipeline-foot strong
) {
  color: var(--pm-text) !important;
}

body.theme-dark :is(
  .pm-kpi label,
  .pm-step span,
  .pm-fin-box label,
  .pm-metric-head,
  .pm-metric-row span,
  .pm-ring strong,
  .pm-ring-legend div,
  .pm-needs p,
  .pm-recent,
  .pm-recent span,
  .pm-recent small,
  .pm-leaders > div > div,
  .pm-profit span,
  .pm-queue-list small,
  .pm-pipeline-foot span
) {
  color: var(--pm-text-secondary) !important;
}

body.theme-dark .pm-metric-head,
body.theme-dark .pm-metric-row,
body.theme-dark .pm-needs > div,
body.theme-dark .pm-recent > div {
  border-color: var(--pm-border) !important;
}

body.theme-dark .pm-actions-grid button:hover,
body.theme-dark .pm-queue-list button:hover,
body.theme-dark .pm-ring-legend button:hover {
  color: #fff !important;
  background: var(--pm-interactive) !important;
  border-color: var(--pm-border-2) !important;
}

body.theme-dark .pm-kpi-icon,
body.theme-dark .pm-step-blue,
body.theme-dark .pm-actions-grid span,
body.theme-dark .pm-fin-icon {
  color: #73b9ff !important;
  background: rgba(47, 140, 255, .15) !important;
  border-color: rgba(47, 140, 255, .28) !important;
}

body.theme-dark :is(.pm-kpi-green .pm-kpi-icon, .pm-step-green, .pm-fin-green .pm-fin-icon) {
  color: #6ee79a !important;
  background: rgba(34, 197, 94, .14) !important;
  border-color: rgba(34, 197, 94, .28) !important;
}

body.theme-dark :is(.pm-kpi-purple .pm-kpi-icon, .pm-step-purple, .pm-fin-purple .pm-fin-icon) {
  color: #c3a8ff !important;
  background: rgba(124, 58, 237, .18) !important;
  border-color: rgba(139, 92, 246, .34) !important;
}

body.theme-dark :is(.pm-kpi-orange .pm-kpi-icon, .pm-step-orange) {
  color: #ffc45e !important;
  background: rgba(245, 158, 11, .15) !important;
  border-color: rgba(245, 158, 11, .30) !important;
}

body.theme-dark :is(.pm-kpi-red .pm-kpi-icon, .pm-fin-red .pm-fin-icon, .pm-alert-dot, .pm-needs b) {
  color: #ffaaaa !important;
  background: rgba(239, 68, 68, .14) !important;
  border-color: rgba(239, 68, 68, .30) !important;
}

body.theme-dark .pm-progress,
body.theme-dark .pm-leaders i,
body.theme-dark .pm-hos i {
  background: #10213b !important;
}

body.theme-dark .pm-leaders i b,
body.theme-dark .pm-progress i {
  background: linear-gradient(90deg, var(--pm-blue), var(--pm-cyan)) !important;
}

body.theme-dark .dashboard-filter-banner {
  color: var(--pm-text-secondary);
  background: rgba(47, 140, 255, .12);
  border-color: rgba(47, 140, 255, .34);
}

/* Dispatch Board: retain its compact/comfort behavior and data; correct only
   residual hard-coded light surfaces and interaction states. */
body.theme-dark .pm-dispatch-toolbar {
  background: #08152c;
  border-color: var(--pm-border);
}

body.theme-dark .pm-dispatch-table td strong,
body.theme-dark .pm-trip-drop-inner strong,
body.theme-dark .pm-side-list strong,
body.theme-dark .tracking-map-head h3 {
  color: var(--pm-text) !important;
}

body.theme-dark .pm-dispatch-table td small,
body.theme-dark .pm-trip-drop-inner small,
body.theme-dark .pm-side-list span,
body.theme-dark .tracking-map-head span {
  color: var(--pm-muted) !important;
}

body.theme-dark .pm-dispatch-driver-row:hover td small,
body.theme-dark .pm-dispatch-driver-row:focus-within td small {
  color: var(--pm-text-secondary) !important;
}

body.theme-dark .pm-plus,
body.theme-dark .pm-action-icon {
  color: #78bdff !important;
  background: #0b1830 !important;
  border-color: var(--pm-border-2) !important;
}

body.theme-dark .pm-action-icon:hover,
body.theme-dark .pm-plus:hover {
  color: #fff !important;
  background: var(--pm-row-hover) !important;
  border-color: #3d6594 !important;
}

body.theme-dark .pm-hos span {
  color: var(--pm-text-secondary) !important;
}

body.theme-dark .pm-hos.missing span {
  color: var(--pm-muted) !important;
}

body.theme-dark .pm-hos i b {
  background: linear-gradient(90deg, var(--pm-cyan), var(--pm-blue)) !important;
}

body.theme-dark .pm-hos.low i b {
  background: linear-gradient(90deg, #f59e0b, #f97316) !important;
}

body.theme-dark .pm-hos-inline-popover,
body.theme-dark .pm-hos-floating {
  color: var(--pm-text);
  background: #0b1830 !important;
  border-color: var(--pm-border-2) !important;
  box-shadow: 0 22px 58px rgba(0, 0, 0, .58) !important;
}

body.theme-dark :is(.pm-hos-inline-popover, .pm-hos-floating) strong,
body.theme-dark :is(.pm-hos-inline-popover, .pm-hos-floating) em {
  color: var(--pm-text) !important;
}

body.theme-dark :is(.pm-hos-inline-popover, .pm-hos-floating) > span,
body.theme-dark :is(.pm-hos-inline-popover, .pm-hos-floating) b {
  color: var(--pm-text-secondary) !important;
}

body.theme-dark :is(.pm-hos-inline-popover, .pm-hos-floating) div {
  border-color: var(--pm-border) !important;
}

body.theme-dark .pm-trip-drop td {
  background: #08172e !important;
  border-top-color: #31557e !important;
  border-bottom-color: #31557e !important;
}

body.theme-dark .pm-trip-drop-inner button {
  color: var(--pm-text) !important;
  background: var(--pm-panel-soft) !important;
  border-color: var(--pm-border-2) !important;
}

body.theme-dark .pm-trip-drop-inner button:hover {
  background: var(--pm-interactive) !important;
}

body.theme-dark .pm-side-list button {
  border-bottom-color: var(--pm-border) !important;
}

body.theme-dark .pm-side-list button:hover,
body.theme-dark .pm-side-list button:focus-visible {
  background: rgba(16, 33, 59, .78) !important;
}

body.theme-dark .pm-side-list em,
body.theme-dark .pm-trip-drop-inner em {
  color: #69b5ff !important;
}

body.theme-dark .pm-dispatch-donut > div {
  box-shadow: 0 0 0 1px var(--pm-border), 0 0 26px rgba(47, 140, 255, .10) !important;
}

body.theme-dark .pm-dispatch-donut strong,
body.theme-dark .pm-dispatch-metrics strong,
body.theme-dark .pm-dispatch-status-legend strong {
  color: var(--pm-text) !important;
}

body.theme-dark .pm-dispatch-donut span,
body.theme-dark .pm-dispatch-metrics span,
body.theme-dark .pm-dispatch-status-legend div {
  color: var(--pm-text-secondary) !important;
}

body.theme-dark .tracking-map-shell,
body.theme-dark .dispatch-heat-map-shell {
  color: var(--pm-text);
  background: var(--pm-panel);
}

body.theme-dark .tracking-map-canvas {
  border-color: var(--pm-border-2) !important;
  background:
    radial-gradient(circle at 72% 25%, rgba(34, 184, 247, .14) 0 8%, transparent 9%),
    radial-gradient(circle at 22% 74%, rgba(124, 58, 237, .14) 0 12%, transparent 13%),
    linear-gradient(180deg, #071126, #030a1a) !important;
}

body.theme-dark .tracking-map-mode,
body.theme-dark .tracking-map-empty {
  color: var(--pm-text-secondary) !important;
  background: rgba(7, 17, 38, .92) !important;
  border-color: var(--pm-border-2) !important;
  box-shadow: 0 8px 26px rgba(0, 0, 0, .32);
}

body.theme-dark .tracking-map-label,
body.theme-dark .tracking-map-legend span,
body.theme-dark .dispatch-heat-legend span {
  color: var(--pm-text-secondary) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .8) !important;
}

body.theme-dark .tracking-map-legend b {
  color: var(--pm-text) !important;
}

body.theme-dark .tracking-motion-symbol {
  border-color: #dceaff;
  box-shadow: 0 0 0 2px rgba(3, 10, 26, .8), 0 2px 8px rgba(0, 0, 0, .45);
}

body.theme-dark .dispatch-map-tabs,
body.theme-dark .dispatch-heat-periods,
body.theme-dark .dispatch-heat-summary > div {
  color: var(--pm-text-secondary);
  background: var(--pm-panel-soft) !important;
  border-color: var(--pm-border-2) !important;
}

body.theme-dark .dispatch-map-tabs button.active,
body.theme-dark .dispatch-heat-periods button.active {
  color: #fff !important;
  background: linear-gradient(135deg, var(--pm-blue), #5164f8) !important;
}

body.theme-dark .dispatch-heat-toolbar h3,
body.theme-dark .dispatch-heat-summary strong {
  color: var(--pm-text) !important;
}

body.theme-dark .dispatch-heat-toolbar p,
body.theme-dark .dispatch-heat-summary span,
body.theme-dark .dispatch-heat-cap-note {
  color: var(--pm-muted) !important;
}
