: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 { display: none !important; }

.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-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;
}
@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)); }
}
@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; }
}
.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); }

.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; }

.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(4, 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 .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 1.05fr}
.pm-bottom-grid{grid-template-columns:1.85fr .95fr 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-section-full {
  grid-column: 1 / -1;
}
.driver-personal-layout {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
.driver-personal-fields {
  display: grid;
  gap: 7px;
}
.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-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: 92px;
  min-height: 30px;
  height: 30px;
  border-radius: 12px;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 750;
}
.grid-sort {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
  padding: 0;
}
.grid-sort span {
  color: #2f7cff;
  font-size: 10px;
  margin-left: 4px;
}
@media (max-width: 1180px) {
  .driver-info-grid {
    grid-template-columns: 1fr 1fr;
  }
  .driver-section-personal {
    grid-column: 1 / -1;
  }
  .driver-contact-grid {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }
}
@media (max-width: 760px) {
  .driver-info-grid {
    grid-template-columns: 1fr;
  }
  .driver-personal-layout,
  .driver-contact-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-grid {
  min-width: 1160px !important;
}
.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: 1120px !important;
}
@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;
}
.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(6, 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 1fr;
}
.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-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-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-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-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-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-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);
}
.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;
  background: linear-gradient(180deg, #8469ff, #5c49df) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 16px 28px rgba(92,73,223,.25) !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);
}
@media (max-width: 1100px) {
  .system-admin-kpis,
  .system-admin-modal {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 720px) {
  .system-admin-kpis,
  .system-admin-modal {
    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-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 { 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, .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; }
.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;
}
