:root {
  --bg: #f5f6f8;
  --surface: #ffffff;
  --border: #e4e6ea;
  --border-strong: #d3d6dc;
  --text: #1a1d21;
  --muted: #61666e;
  --faint: #9499a1;
  --green-bg: #e7f4ea;
  --green-text: #1b7a3d;
  --green-dot: #1f9d4d;
  --amber-bg: #fbefd9;
  --amber-text: #8a5708;
  --amber-dot: #e0900c;
  --blue-bg: #e7f0fb;
  --blue-text: #185a9d;
  --link: #1f6fd4;
  --navy: #16315c;
  --radius: 10px;
}

/* Driver Pay structures */
.driver-pay-rate-grid select {
  width: 100%; box-sizing: border-box; border: 1px solid #cbd5e1; border-radius: 8px;
  padding: 10px 11px; font: 600 13px inherit; color: #0f172a; background: #fff;
}
.driver-pay-rate-money.driver-pay-rate-percent input { padding-left: 11px; padding-right: 28px; }
.driver-pay-rate-money.driver-pay-rate-percent b { left: auto; right: 11px; }
.driver-pay-rate-rule {
  margin-top: 14px; padding: 10px 12px; border-left: 3px solid #22a35a;
  border-radius: 7px; background: #effaf3; color: #22623f; font-size: 11px; line-height: 1.45;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}

a { color: var(--link); }

.wrap { max-width: 1180px; margin: 0 auto; padding: 20px 18px 56px; }

/* ---------- header ---------- */
.topbar { background: var(--navy); color: #fff; }
.topbar .wrap { padding-top: 16px; padding-bottom: 16px; }
.brandrow { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.brandintro { display: flex; align-items: center; gap: 14px; min-width: 0; }
.brandmark {
  width: 116px;
  max-height: 44px;
  object-fit: contain;
  background: rgba(255,255,255,.96);
  border-radius: 5px;
  padding: 4px 6px;
  box-shadow: 0 8px 18px rgba(0,0,0,.16);
}
.eyebrow { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #9fb2d0; }
.title { font-size: 22px; font-weight: 600; margin-top: 2px; }
.subtitle { font-size: 13px; color: #b9c6dc; margin-top: 3px; }
.headcontact { text-align: right; font-size: 13px; color: #cdd8ea; }
.headcontact a { color: #fff; text-decoration: none; }
.live { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #fff; }
.live .pulse {
  width: 8px; height: 8px; border-radius: 50%; background: #4ade80;
  box-shadow: 0 0 0 0 rgba(74,222,128,.7); animation: pulse 2s infinite;
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(74,222,128,.6); }
  70% { box-shadow: 0 0 0 7px rgba(74,222,128,0); }
  100% { box-shadow: 0 0 0 0 rgba(74,222,128,0); }
}

/* ---------- broker contact promo ---------- */
.broker-shell {
  max-width: none;
  display: grid;
  grid-template-columns: clamp(280px, 23vw, 360px) minmax(0, 1144px);
  gap: 8px;
  align-items: start;
  justify-content: start;
  padding: 4px 18px 56px 4px;
}
.broker-board-main {
  min-width: 0;
}
.broker-promo-card {
  width: 100%;
  min-height: 274px;
  margin: 0;
  padding: 15px 16px;
  border: 1px solid #d9e1ec;
  border-left: 5px solid var(--green-dot);
  border-radius: 8px;
  background: linear-gradient(135deg, #fff 0%, #f8fbff 100%);
  box-shadow: 0 10px 24px rgba(22,49,92,.08);
}
.promo-kicker {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.promo-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  margin-top: 5px;
}
.promo-name {
  color: var(--navy);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.12;
  white-space: nowrap;
}
.promo-role {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}
.promo-phone,
.promo-email-line {
  color: var(--link);
  font-weight: 700;
  text-decoration: none;
}
.promo-phone {
  display: inline-block;
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.25;
}
.promo-email-line {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  margin-top: 8px;
  font-size: 12px;
}
.promo-email-line a {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.promo-copy-email {
  flex: none;
  height: 22px;
  padding: 0 7px;
  border: 1px solid #cfd8e6;
  border-radius: 6px;
  background: #fff;
  color: var(--link);
  cursor: pointer;
  font-family: inherit;
  font-size: 11px;
  font-weight: 800;
}
.promo-copy-email:hover {
  background: #f5f8fc;
}
.promo-divider {
  height: 1px;
  margin: 12px 0 10px;
  background: #e4e9f0;
}
.promo-freight {
  display: grid;
  gap: 8px;
  color: var(--text);
}
.promo-freight-btn {
  width: 100%;
  min-height: 36px;
  border: 0;
  border-radius: 7px;
  background: var(--navy);
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 8px 16px rgba(22,49,92,.18);
}
.promo-freight-btn:hover {
  background: #10284f;
}
.promo-freight-copy {
  color: var(--text);
  font-size: 12px;
  line-height: 1.42;
}
.promo-feedback {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.broker-shell .boardcontrols {
  margin-top: 30px;
}

/* ---------- summary + controls ---------- */
.boardcontrols {
  display: grid;
  grid-template-columns: auto auto auto minmax(360px, 1fr) 170px;
  gap: 10px;
  align-items: center;
  margin-top: 14px;
}
.quickstat,
.filterbtn {
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: var(--surface);
  padding: 0 12px;
  white-space: nowrap;
  font-family: inherit;
}
.quickstat {
  color: var(--text);
  cursor: pointer;
}
.quickstat.ready {
  border-color: #cfe7d5;
  background: #f4fbf6;
}
.quickstat.soon {
  border-color: #efd8a4;
  background: #fffaf0;
}
.quickstat.ready:hover,
.quickstat.ready.active {
  border-color: #9ad3aa;
  background: #e8f7ed;
}
.quickstat.soon:hover,
.quickstat.soon.active {
  border-color: #e0b766;
  background: #fff3d8;
}
.quickstat.ready.active .statlabel {
  color: var(--green-text);
  font-weight: 700;
}
.quickstat.soon.active .statlabel {
  color: var(--amber-text);
  font-weight: 700;
}
.statlabel,
.filtertext {
  font-size: 13px;
  color: var(--muted);
}
.statvalue {
  font-size: 21px;
  line-height: 1;
  color: var(--green-text);
}
.quickstat.soon .statvalue {
  color: var(--amber-text);
}
.filterbtn {
  cursor: pointer;
  color: var(--text);
  font-family: inherit;
  font-size: 14px;
}
.filterbtn strong {
  min-width: 24px;
  height: 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 7px;
  background: var(--blue-bg);
  color: var(--blue-text);
}
.filterbtn:hover { background: #f9fbfd; }
.filterbtn.active {
  border-color: #b9ccea;
  background: var(--blue-bg);
  color: var(--blue-text);
}
.filterbtn.active .filtertext { color: var(--blue-text); font-weight: 600; }
.filterbtn.active strong { background: #fff; }

.radiussearch {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(145px, 1fr) 82px 74px 55px;
  gap: 6px;
}
.locationpicker {
  position: relative;
  min-width: 0;
}
.searchbox {
  width: 100%; height: 42px; padding: 0 14px; font-size: 15px;
  border: 1px solid var(--border-strong); border-radius: var(--radius);
  background: var(--surface); color: var(--text);
}
.searchbox:focus { outline: 2px solid var(--link); outline-offset: -1px; }
.location-suggestions {
  position: absolute;
  z-index: 20;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  overflow: hidden;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(22, 49, 92, .14);
}
.location-option {
  width: 100%;
  min-height: 37px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 0;
  border-bottom: 1px solid #edf0f4;
  background: #fff;
  padding: 7px 11px;
  color: var(--text);
  font-family: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.location-option:last-child { border-bottom: 0; }
.location-option:hover,
.location-option.active { background: #eef4fb; }
.location-option strong { font-weight: 700; }
.location-option span { color: var(--muted); }
.radiusselect,
.findradius,
.clearradius {
  height: 42px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  font-family: inherit;
  font-size: 13px;
}
.radiusselect {
  padding: 0 5px;
  font-weight: 600;
}
.findradius {
  border-color: #0f2748;
  background: var(--navy);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.findradius:hover { filter: brightness(1.06); }
.findradius:disabled {
  opacity: .6;
  cursor: default;
}
.clearradius {
  color: var(--muted);
  cursor: pointer;
}
.clearradius:hover { background: var(--bg); }
.radius-msg {
  min-height: 34px;
  margin-top: 10px;
  border: 1px solid #cfe0ed;
  border-radius: 8px;
  background: #f2f8fd;
  color: var(--navy);
  padding: 7px 11px;
  font-size: 13px;
  font-weight: 600;
}
.radius-msg.error {
  border-color: #ebcaca;
  background: #fff5f5;
  color: #9f1d1d;
}
.sortcontrol {
  height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: var(--surface);
  padding: 0 9px 0 11px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}
.sortselect {
  min-width: 0;
  flex: 1;
  height: 30px;
  border: 0;
  background: transparent;
  color: var(--text);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
}
.sortselect:focus { outline: 2px solid var(--link); border-radius: 5px; }

/* ---------- tier sections ---------- */
.tier { margin-top: 22px; }
.tierhead {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 600; padding: 9px 13px; border-radius: 8px;
}
.tierhead.ready { background: var(--green-bg); color: var(--green-text); }
.tierhead.soon { background: var(--amber-bg); color: var(--amber-text); }
.tierhead.future { background: var(--blue-bg); color: var(--blue-text); }
.tierhead .count { font-weight: 500; opacity: .8; }

.grid {
  display: grid; gap: 12px; margin-top: 12px;
  grid-template-columns: repeat(auto-fill, minmax(248px, 1fr));
}
.empty-note { color: var(--faint); font-size: 14px; padding: 14px 4px; }

/* ---------- broker availability list ---------- */
.broker-table {
  margin-top: 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
}
.broker-columns,
.broker-row {
  display: grid;
  grid-template-columns: 154px minmax(240px, 1.5fr) minmax(125px, .72fr) minmax(210px, 1.05fr) 112px;
  gap: 12px;
  align-items: center;
}
.broker-columns {
  min-height: 38px;
  padding: 0 14px 0 17px;
  background: #f1f4f8;
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.broker-row {
  --broker-accent: #1f9d4d;
  --broker-hover: #f5fbf7;
  position: relative;
  min-height: 70px;
  padding: 9px 14px 9px 17px;
  border-bottom: 1px solid #e9edf2;
  background: #fff;
}
.broker-row:last-child { border-bottom: 0; }
.broker-row:before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--broker-accent);
  content: "";
}
.broker-row:hover { background: var(--broker-hover); }
.broker-row.tier-ready {
  --broker-accent: var(--green-dot);
  --broker-hover: #f4fbf6;
}
.broker-row.tier-soon {
  --broker-accent: var(--amber-dot);
  --broker-hover: #fffaf0;
}
.broker-row.tier-future {
  --broker-accent: var(--blue-text);
  --broker-hover: #f4f8fd;
}
.broker-row.tier-unconfirmed {
  --broker-accent: #c24141;
  --broker-hover: #fff7f7;
}
.broker-status .statuspill { display: inline-flex; }
.broker-timing {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}
.broker-location { min-width: 0; }
.broker-locline {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-size: 15px;
  font-weight: 600;
}
.broker-locline .loc-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.distance-chip {
  flex: none;
  height: 22px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #eef4fb;
  color: var(--blue-text);
  padding: 0 8px;
  font-size: 11px;
  font-weight: 700;
}
.broker-location .orientation-line {
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.broker-location .broker-note {
  margin-top: 5px;
  padding: 4px 7px;
  font-size: 12px;
}
.broker-unit {
  display: grid;
  gap: 4px;
  justify-items: start;
}
.broker-unit .tnum {
  color: var(--navy);
  font-size: 17px;
}
.broker-unit .eq {
  line-height: 1.4;
}
.broker-dispatch {
  min-width: 0;
}
.broker-dispatch .dispname {
  color: var(--text);
  font-weight: 600;
}
.broker-dispatch .dispemail {
  color: var(--muted);
}
.broker-action {
  display: flex;
  justify-content: flex-end;
}
.broker-action .offerbtn {
  width: 100%;
  padding: 0 8px;
}
.broker-empty {
  padding: 28px 17px;
}

/* ---------- truck card ---------- */
.card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 13px 15px;
  transition: background .9s ease;
}
.card.flash { background: var(--green-bg); }
.card .row1 { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.tnum { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 19px; font-weight: 600; }
.eq { font-size: 11px; color: var(--muted); background: var(--bg); border: 1px solid var(--border); padding: 2px 7px; border-radius: 6px; }
.statuspill {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 4px 10px;
  border-radius: 6px;
  white-space: nowrap;
}
.statuspill.ready { background: var(--green-bg); color: var(--green-text); }
.statuspill.soon { background: var(--amber-bg); color: var(--amber-text); }
.statuspill.future { background: var(--blue-bg); color: var(--blue-text); }
.statuspill.unconfirmed {
  background: #fdeaea;
  color: #9f1d1d;
  white-space: normal;
}
.loc {
  margin-top: 9px;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.loc .pin { color: var(--faint); }
.loc-text { min-width: 0; }
.mapbtn {
  height: 26px;
  border: 1px solid var(--border-strong);
  border-radius: 7px;
  background: #fff;
  color: var(--link);
  padding: 0 8px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.mapbtn:hover { background: var(--bg); }
.mapbtn:disabled {
  opacity: .45;
  cursor: default;
  color: var(--muted);
}
.mapbtn:disabled:hover { background: #fff; }
.meta { font-size: 12px; color: var(--muted); margin-top: 1px; }
.orientation-line {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}
.broker-note {
  margin-top: 8px;
  border-left: 3px solid #d8a100;
  border-radius: 6px;
  background: #fff9e8;
  color: #3f3420;
  padding: 7px 9px;
  font-size: 13px;
  line-height: 1.35;
  word-break: break-word;
}
.broker-note span {
  display: inline-block;
  margin-right: 6px;
  color: #8a5708;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cardfoot {
  margin-top: 11px; padding-top: 9px; border-top: 1px solid var(--border);
  display: flex; justify-content: space-between; align-items: flex-end; gap: 10px;
}
.dispatcher-contact { min-width: 0; }
.dispname { font-size: 13px; color: var(--muted); display: flex; align-items: center; gap: 6px; }
.dispdot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
.dispemail {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin-top: 2px;
  font-size: 12px;
  color: var(--text);
}
.dispemail span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.coverage-contact {
  margin: 2px 0 4px;
  color: #176b35;
  font-size: 11px;
  font-weight: 700;
}
.copyemail {
  height: 23px;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  background: #fff;
  color: var(--link);
  padding: 0 7px;
  font-size: 11px;
  cursor: pointer;
  flex: none;
}
.copyemail:hover { background: var(--bg); }
.offerbtn {
  height: 34px;
  border: 1px solid #0f2748;
  border-radius: 7px;
  background: var(--navy);
  color: #fff;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  flex: none;
}
.offerbtn:hover { filter: brightness(1.06); }
.contacts { display: flex; gap: 6px; }
.iconbtn {
  width: 32px; height: 32px; border-radius: 7px; border: 1px solid var(--border-strong);
  display: flex; align-items: center; justify-content: center;
  color: var(--link); text-decoration: none; background: var(--surface); font-size: 15px;
}
.iconbtn:hover { background: var(--bg); }

.footnote { margin-top: 24px; font-size: 12px; color: var(--faint); text-align: center; }
.offer-card { width: min(680px, 100%); }
.offer-summary {
  margin-top: 3px;
  font-size: 12px;
  color: var(--muted);
}
.offer-input,
.offer-text {
  width: 100%;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font-family: inherit;
  font-size: 14px;
}
.offer-input {
  height: 40px;
  padding: 0 11px;
}
.offer-text {
  min-height: 156px;
  resize: vertical;
  padding: 10px 11px;
  line-height: 1.45;
}
.offer-drop {
  border: 1px dashed #b8c1cf;
  border-radius: 8px;
  background: #f8fafc;
  padding: 12px;
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
}
.offer-drop strong { color: var(--text); font-size: 13px; }
.offer-drop.dragging {
  border-color: var(--link);
  background: #eef6ff;
}
.offer-drop input {
  font-size: 13px;
  color: var(--muted);
}
.offer-preview {
  display: flex;
  align-items: center;
  gap: 8px;
}
.offer-preview img {
  width: 72px;
  height: 48px;
  object-fit: cover;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
}
.offer-preview span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.offer-preview button {
  margin-left: auto;
  height: 28px;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  background: #fff;
  color: var(--muted);
  padding: 0 9px;
  cursor: pointer;
}
.offer-submit {
  height: 38px;
  border: 1px solid #0f2748;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.offer-submit:hover { filter: brightness(1.06); }
.modalcard.map-card {
  width: min(96vmin, 1200px);
  max-width: none;
  max-height: 96vh;
  overflow: auto;
}
.map-frame {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: block;
  height: auto;
  min-height: 0;
  max-height: calc(96vh - 110px);
  margin-top: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #eef2f6;
}
.map-link {
  text-decoration: none;
  font-weight: 800;
}
.map-actions {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  flex: none;
}
.map-iconbtn {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #c8d1dc;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  padding: 0;
  font-family: inherit;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.map-iconbtn:hover {
  border-color: #9eabbc;
  background: #f7f9fc;
}
.map-iconbtn:disabled {
  opacity: .55;
  cursor: default;
}
.map-iconbtn img {
  width: 16px;
  height: 16px;
  display: block;
  object-fit: contain;
}
.map-motive-link {
  background: #102f5f;
  border-color: #102f5f;
}
.map-motive-link:hover {
  background: #173d75;
  border-color: #173d75;
}
.map-close {
  color: #5f6875;
}

/* ---------- dispatcher console ---------- */
.dispatch-page { background: #eef2f6; }
.login-gate {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: #eef2f6;
}
.login-card {
  width: min(398px, 100%);
  border: 1px solid #dde4ed;
  border-radius: 8px;
  background: #fff;
  padding: 26px;
  box-shadow: 0 16px 36px rgba(22, 49, 92, .08);
}
.login-logo {
  width: 142px;
  max-height: 58px;
  object-fit: contain;
  display: block;
  margin: 0 0 20px;
}
.login-title {
  color: var(--navy);
  font-size: 22px;
  font-weight: 700;
}
.login-note {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  margin: 6px 0 18px;
}
.login-input {
  width: 100%;
  height: 44px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  padding: 0 12px;
  font-size: 14px;
}
.login-input:focus { outline: 2px solid var(--link); outline-offset: -1px; }
.login-password { margin-top: 10px; }
.login-submit {
  width: 100%;
  height: 44px;
  margin-top: 10px;
  border: 1px solid #0f2748;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.login-submit:disabled { opacity: .65; cursor: default; }
.login-msg {
  min-height: 19px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
}
.login-help {
  color: var(--muted);
  font-size: 12px;
  margin-top: 4px;
}
.login-public-link {
  display: inline-block;
  margin-top: 16px;
  font-size: 13px;
}
.owner-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 18px 56px;
}
.owner-caption {
  color: #b9c6dc;
  font-size: 13px;
  margin-top: 3px;
}
.owner-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.owner-action {
  min-width: 0;
  min-height: 86px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid #d7e0ec;
  border-left: 4px solid var(--navy);
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #f8fafc);
  color: var(--text);
  padding: 12px;
  box-shadow: 0 10px 24px rgba(15, 39, 72, .07);
  text-decoration: none;
  transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease, background .14s ease;
}
.owner-action:hover {
  transform: translateY(-1px);
  border-color: #b7c6d9;
  box-shadow: 0 16px 30px rgba(15, 39, 72, .11);
}
.owner-action.secondary {
  border-left-color: #c58b18;
}
.owner-action-mark {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .03em;
}
.owner-action.secondary .owner-action-mark {
  background: #c58b18;
}
.owner-action-copy {
  min-width: 0;
}
.owner-action-copy strong,
.owner-action-copy small {
  display: block;
}
.owner-action-copy strong {
  color: var(--navy);
  font-size: 14px;
  font-weight: 950;
  line-height: 1.15;
}
.owner-action-copy small {
  margin-top: 3px;
  color: #647386;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.25;
}
.owner-action-go {
  align-self: end;
  border-radius: 999px;
  background: #edf3f9;
  color: #33445c;
  padding: 5px 8px;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-action-placeholder {
  border-left-color: #94a3b8;
  background: #f6f8fb;
  cursor: default;
  box-shadow: none;
}
.owner-action-placeholder:hover {
  transform: none;
  border-color: #d7e0ec;
  box-shadow: none;
}
.owner-action-placeholder .owner-action-mark {
  background: #94a3b8;
}
.owner-action-placeholder .owner-action-copy strong,
.owner-action-placeholder .owner-action-copy small,
.owner-action-placeholder .owner-action-go {
  color: #7a8798;
}
.owner-team { margin-top: 12px; }
.owner-summary {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
}
.owner-summary span {
  border-radius: 999px;
  background: #edf0f4;
  padding: 5px 9px;
}
.owner-summary .summary-working {
  background: #e7f4ea;
  color: #176b35;
  font-weight: 700;
}
.dwrap {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 18px 22px 60px;
}
.team-panel {
  border: 1px solid #dde4ed;
  border-radius: 8px;
  background: #fff;
  margin-top: 12px;
  padding: 12px;
}
.team-panel.collapsed {
  padding-top: 9px;
  padding-bottom: 9px;
}
.team-head {
  display: grid;
  grid-template-columns: minmax(170px, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.team-head > div:first-child { min-width: 0; }
.team-panel.collapsed .team-head { margin-bottom: 0; }
.team-title {
  color: var(--text);
  font-size: 15px;
  font-weight: 700;
}
.team-subtitle {
  color: var(--muted);
  font-size: 12px;
}
.shift-controls {
  display: flex;
  align-items: center;
  gap: 7px;
}
.team-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-left: auto;
}
.team-toggle {
  height: 34px;
  border: 1px solid #d1d9e3;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  padding: 0 12px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.team-toggle:hover { background: #f5f7fa; }
.my-shift-state,
.manager-tag {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  margin-right: 4px;
}
.manager-tag {
  border: 1px solid #d5dfe9;
  border-radius: 999px;
  background: #f6f8fb;
  padding: 6px 11px;
}
.shiftbtn {
  height: 34px;
  border: 1px solid #d1d9e3;
  border-radius: 7px;
  background: #fff;
  padding: 0 12px;
  color: var(--text);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.shiftbtn.in {
  border-color: #7ec296;
  background: #e7f4ea;
  color: #176b35;
}
.shiftbtn.away {
  border-color: #e6c374;
  color: #8a5708;
}
.shiftbtn.out {
  color: #5c6471;
}
.team-list {
  display: grid;
  border: 1px solid #e4e9ef;
  border-radius: 7px;
  overflow: hidden;
}
.team-row {
  display: grid;
  grid-template-columns: minmax(155px, 1.15fr) 96px 72px 72px minmax(180px, 1.5fr) minmax(150px, 1.2fr);
  align-items: center;
  gap: 9px;
  min-height: 45px;
  border-bottom: 1px solid #edf0f4;
  padding: 6px 9px;
  font-size: 12px;
}
.team-row:last-child { border-bottom: 0; }
.team-column-head {
  min-height: 31px;
  background: #f6f8fb;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}
.team-person {
  display: flex;
  align-items: center;
  gap: 7px;
  font-weight: 700;
  min-width: 0;
}
.team-person span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.presence {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  border-radius: 999px;
  padding: 0 8px;
  font-size: 11px;
  font-weight: 700;
}
.presence.working { color: #176b35; background: #e7f4ea; }
.presence.away { color: #8a5708; background: #fbefd9; }
.presence.out { color: #5c6471; background: #edf0f4; }
.presence.not-in { color: #697386; background: #f5f6f8; }
.team-time,
.team-activity,
.team-coverage { color: var(--muted); }
.team-clockout {
  display: flex;
  align-items: center;
  gap: 5px;
}
.historybtn {
  height: 23px;
  border: 1px solid #d5dfe9;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  padding: 0 6px;
  font-family: inherit;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}
.historybtn:hover { background: #f5f7fa; }
.team-activity {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.team-coverage.active {
  color: #176b35;
  font-weight: 700;
}
.clock-required {
  margin-top: 12px;
  border: 1px solid #e6c374;
  border-radius: 8px;
  background: #fff8dc;
  color: #7a5200;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 600;
}
.workspace-locked .queuebar,
.workspace-locked .side-tools,
.workspace-locked #list,
.workspace-locked .btnlink {
  pointer-events: none;
  opacity: .55;
}
.queuebar {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 12px;
}
.dispatcher-profile-quicklink {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 2px 2px 0;
}
.dispatcher-profile-quicklink[hidden] {
  display: none;
}
.dispatcher-profile-quicklink > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #526072;
  font-size: 12px;
  font-weight: 700;
  min-width: 0;
}
.dispatcher-profile-quicklink small {
  color: #7a8798;
  font-size: 11px;
  font-weight: 700;
}
.dispatcher-profile-jump {
  min-height: 28px;
  padding: 6px 10px;
  white-space: nowrap;
}
.dispatcher-picker {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(82px, 1fr);
  gap: 7px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}
.dispatcher-card {
  --dispatcher-accent: #16315c;
  height: 56px;
  min-width: 82px;
  border: 1px solid #dce3ec;
  border-top: 3px solid var(--dispatcher-accent);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  padding: 6px 6px 5px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 4px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.dispatcher-card .dispatcher-dot {
  width: 9px;
  height: 9px;
}
.dispatcher-card-name {
  grid-column: 1 / -1;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  color: #3d4858;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.dispatcher-card strong {
  color: var(--text);
  font-size: 17px;
  line-height: 1;
}
.dispatcher-card small {
  color: #758092;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}
.dispatcher-card:hover {
  background: #f7f9fc;
  border-color: #c8d4e2;
  border-top-color: var(--dispatcher-accent);
}
.dispatcher-card.active {
  background: #16315c;
  border-color: #16315c;
  border-top-color: #ffc20e;
  box-shadow: 0 8px 18px rgba(22, 49, 92, .16);
}
.dispatcher-card.active .dispatcher-card-name,
.dispatcher-card.active strong {
  color: #fff;
}
.dispatcher-card.active small {
  color: #d5dfef;
}
.dispatcher-card:not(.special) {
  --dispatcher-accent: var(--navy);
}
.dispatcher-card:not(.special) .dispatcher-card-name .dispatcher-dot {
  flex: none;
}
.dispatch-search-row {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(520px, .95fr);
  gap: 12px;
  align-items: start;
}
.dispatch-search {
  width: 100%;
  height: 46px;
  min-width: 0;
  padding: 0 14px;
  font-size: 15px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text);
}
.dispatch-search:focus {
  outline: 2px solid var(--link);
  outline-offset: -1px;
}
.dispatch-radiussearch {
  grid-template-columns: minmax(250px, 1fr) 92px 110px 70px;
  max-width: none;
}
.dispatch-radiussearch .findradius {
  white-space: nowrap;
}
.dispatch-radius-msg {
  max-width: none;
  margin-top: 0;
}
#list { margin-top: 10px; }
.queue-summary {
  display: grid;
  grid-template-columns: repeat(9, minmax(78px, 1fr));
  gap: 6px;
  margin: 12px 0 10px;
}
.summary-card {
  min-height: 46px;
  border: 1px solid #dfe4eb;
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  padding: 6px 7px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(22, 49, 92, .04);
}
.summary-card strong {
  display: block;
  color: var(--text);
  font-size: 17px;
  line-height: 1;
}
.summary-card span {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}
.summary-card:hover {
  border-color: #c8d1dc;
  background: #f9fbfd;
}
.summary-card.active {
  border-color: #16315c;
  background: #16315c;
  color: #dbe7f7;
  box-shadow: 0 10px 22px rgba(22, 49, 92, .15);
}
.summary-card.active strong { color: #fff; }
.summary-ready.active { background: #1b7a3d; border-color: #1b7a3d; }
.summary-today.active { background: #0f766e; border-color: #0f766e; }
.summary-needsupdate {
  border-color: #e9b1b1;
  background: #fff7f7;
  color: #9f1d1d;
}
.summary-needsupdate strong { color: #9f1d1d; }
.summary-needsupdate.active { background: #a92f2f; border-color: #a92f2f; }
.summary-soon.active { background: #8a5708; border-color: #8a5708; }
.summary-covered.active { background: #185a9d; border-color: #185a9d; }
.summary-home.active { background: #63377f; border-color: #63377f; }
.summary-notready.active { background: #41454b; border-color: #41454b; }
.summary-tomorrow.active { background: #0f5d77; border-color: #0f5d77; }
.summary-showing {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  padding: 0 4px;
}
.dispatch-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(238px, 1fr));
  gap: 9px;
  align-items: start;
}
.side-tools {
  position: static;
  min-width: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  overflow-x: auto;
  padding: 1px 0;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.side-tools::-webkit-scrollbar { display: none; }
.session-actions {
  min-width: 190px;
  text-align: right;
}
.session-name {
  font-size: 13px;
  font-weight: 700;
}
.session-role {
  color: #b9c6dc;
  font-size: 11px;
}
.owner-link {
  color: #fff;
  display: inline-block;
  font-size: 12px;
  margin-right: 10px;
}
.signoutbtn {
  margin-top: 7px;
  height: 28px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 7px;
  background: transparent;
  color: #fff;
  padding: 0 10px;
  font-size: 12px;
  cursor: pointer;
}
.toolbtn {
  height: 32px;
  border: 1px solid #0f2748;
  border-radius: 6px;
  background: var(--navy);
  color: #fff;
  padding: 0 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex: 0 0 auto;
  min-width: max-content;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
a.toolbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.toolbtn:hover { filter: brightness(1.05); }
.toolbtn-secondary {
  border-color: #cbd6e4;
  background: #fff;
  color: var(--navy);
}
.toolbtn-secondary:hover {
  border-color: #8fa4be;
  background: #f4f7fb;
  filter: none;
}
.toolbtn-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}
.toolbtn-primary .toolbtn-icon,
.audio-toolbtn.audio-ready .toolbtn-icon {
  filter: brightness(0) invert(1);
}
.audio-toolbtn.audio-waiting {
  border-color: #b77900;
  background: #ffc400;
  color: #1a1d21;
  font-weight: 800;
}
.audio-toolbtn.audio-ready {
  border-color: #176b35;
  background: #1b7a3d;
  color: #fff;
  font-weight: 800;
}
.toolbadge {
  display: none;
  min-width: 18px;
  height: 18px;
  margin-left: 2px;
  border-radius: 999px;
  background: #ffc400;
  color: #1a1d21;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 800;
}
.toolbadge.show { display: inline-flex; }
.adminhead { font-size: 13px; font-weight: 600; }
.mini {
  height: 38px;
  font-size: 14px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  padding: 0 10px;
  min-width: 0;
  background: var(--surface);
  color: var(--text);
}
.movebtn {
  height: 38px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text);
  padding: 0 12px;
  font-size: 14px;
  cursor: pointer;
}
.movebtn:hover { background: var(--bg); }
.movebtn:disabled { opacity: .6; cursor: default; }
.adminmsg { font-size: 12px; color: var(--muted); margin-top: 7px; min-height: 16px; }
.modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(18, 22, 27, .44);
  z-index: 60;
}
.modal.show { display: flex; }
.modalcard {
  width: min(460px, 100%);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px;
}

.telegram-empty-notice-modal {
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, .72);
}
.telegram-empty-card {
  width: min(680px, calc(100vw - 28px));
  border: 3px solid #b91c1c;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .35);
}
.telegram-empty-notice-modal[data-notice-theme="empty"] .telegram-empty-card {
  border-color: #15803d;
}
.telegram-empty-notice-modal[data-notice-theme="empty-soon"] .telegram-empty-card {
  border-color: #0891b2;
}
.telegram-empty-notice-modal[data-notice-theme="eta-delivery"] .telegram-empty-card {
  border-color: #d97706;
}
.telegram-empty-notice-modal[data-notice-theme="arrived"] .telegram-empty-card {
  border-color: #2563eb;
}
.telegram-empty-alert {
  color: #b91c1c;
  font-size: 30px;
  font-weight: 950;
  letter-spacing: .08em;
  text-align: center;
}
.telegram-empty-notice-modal[data-notice-theme="empty"] .telegram-empty-alert {
  color: #15803d;
}
.telegram-empty-notice-modal[data-notice-theme="empty-soon"] .telegram-empty-alert {
  color: #0891b2;
}
.telegram-empty-notice-modal[data-notice-theme="eta-delivery"] .telegram-empty-alert {
  color: #d97706;
}
.telegram-empty-notice-modal[data-notice-theme="arrived"] .telegram-empty-alert {
  color: #2563eb;
}
.telegram-empty-truck {
  margin-top: 10px;
  color: var(--navy);
  font-size: 38px;
  font-weight: 950;
  text-align: center;
}
.telegram-empty-meta {
  margin-top: 8px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.telegram-empty-message {
  min-height: 86px;
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #f1c9c9;
  border-radius: 8px;
  background: #fff7f7;
  color: #2b1212;
  white-space: pre-wrap;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.45;
}
.telegram-empty-notice-modal[data-notice-theme="empty"] .telegram-empty-message {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: #052e16;
}
.telegram-empty-notice-modal[data-notice-theme="empty-soon"] .telegram-empty-message {
  border-color: #a5f3fc;
  background: #ecfeff;
  color: #083344;
}
.telegram-empty-notice-modal[data-notice-theme="eta-delivery"] .telegram-empty-message {
  border-color: #fed7aa;
  background: #fff7ed;
  color: #431407;
}
.telegram-empty-notice-modal[data-notice-theme="arrived"] .telegram-empty-message {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #172554;
}
.telegram-empty-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 16px;
}
.telegram-empty-confirm,
.telegram-empty-dismiss,
.telegram-empty-ack-all {
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  font-weight: 900;
}
.telegram-empty-confirm {
  background: #1b7a3d;
  color: #fff;
}
.telegram-empty-dismiss {
  background: #edf0f4;
  color: #41454b;
}
.telegram-empty-ack-all {
  grid-column: 1 / -1;
  min-height: 38px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #334155;
  font-size: 13px;
}
.telegram-empty-confirm:disabled,
.telegram-empty-dismiss:disabled,
.telegram-empty-ack-all:disabled {
  cursor: wait;
  opacity: .65;
}
.coaching-notice-modal {
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, .72);
}
.coaching-notice-card {
  width: min(720px, calc(100vw - 28px));
  border: 3px solid #2d6ed3;
  box-shadow: 0 28px 70px rgba(15, 23, 42, .35);
}
.coaching-notice-modal.notice-feedback .coaching-notice-card { border-color: #c58b18; }
.coaching-notice-modal.notice-goal .coaching-notice-card { border-color: #17865b; }
.coaching-notice-alert {
  color: var(--navy);
  font-size: 28px;
  font-weight: 950;
  letter-spacing: .08em;
  text-align: center;
}
.coaching-notice-modal.notice-feedback .coaching-notice-alert { color: #9a6505; }
.coaching-notice-modal.notice-goal .coaching-notice-alert { color: #127249; }
.coaching-notice-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
}
.coaching-notice-kind {
  width: max-content;
  border-radius: 999px;
  background: #edf3fb;
  color: #245aab;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.notice-feedback .coaching-notice-kind { background: #fff5d6; color: #8a5f09; }
.notice-goal .coaching-notice-kind { background: #e7f6ee; color: #127249; }
.coaching-notice-title {
  margin-top: 8px;
  color: var(--navy);
  font-size: 24px;
  font-weight: 950;
  line-height: 1.15;
}
.coaching-notice-meta {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.coaching-notice-body {
  min-height: 84px;
  margin-top: 14px;
  border: 1px solid #d9e3ef;
  border-radius: 8px;
  background: #f8fbff;
  color: #27364a;
  padding: 13px;
  font-size: 15px;
  line-height: 1.45;
  white-space: pre-wrap;
}
.coaching-notice-note {
  display: block;
  margin-top: 12px;
}
.coaching-notice-note span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.coaching-notice-note textarea {
  width: 100%;
  min-height: 92px;
  resize: vertical;
  border: 1px solid #d7e0ea;
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 10px;
  font-family: inherit;
  font-size: 13px;
  outline: 0;
}
.coaching-notice-note textarea:focus {
  border-color: #9bb1d0;
  box-shadow: 0 0 0 3px rgba(47, 111, 211, .08);
}
.coaching-notice-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap: 9px;
  margin-top: 13px;
}
.coaching-open-btn,
.coaching-note-save-btn,
.coaching-ack-btn {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 950;
}
.coaching-open-btn,
.coaching-note-save-btn {
  background: #edf0f4;
  color: #33445c;
}
.coaching-ack-btn {
  background: #12355f;
  color: #fff;
}
.coaching-open-btn:disabled,
.coaching-note-save-btn:disabled,
.coaching-ack-btn:disabled {
  cursor: wait;
  opacity: .65;
}
.coaching-ack-cell {
  min-width: 92px;
}
.ack-summary {
  display: inline-grid;
  gap: 1px;
  border-radius: 8px;
  background: #fff5d6;
  color: #8a5f09;
  padding: 5px 7px;
  font-size: 10px;
  font-weight: 950;
  line-height: 1.1;
  text-align: center;
}
.ack-summary strong {
  font-size: 12px;
}
.ack-summary small {
  font-size: 9px;
  font-weight: 850;
}
.ack-summary.seen {
  background: #eaf3ff;
  color: #245aab;
}
.ack-summary.done {
  background: #e7f6ee;
  color: #127249;
}
.ack-summary.muted {
  background: #edf0f4;
  color: #647386;
}
.modalhead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.modalclose {
  height: 30px;
  border: 1px solid var(--border-strong);
  border-radius: 7px;
  background: var(--surface);
  color: var(--muted);
  padding: 0 10px;
  font-size: 12px;
  cursor: pointer;
}
.modalbody { margin-top: 8px; display: grid; gap: 8px; }
.attendance-card { width: min(420px, 100%); }
.attendance-events {
  display: grid;
  gap: 6px;
  margin-top: 13px;
}
.attendance-event {
  min-height: 38px;
  border: 1px solid #e5e9ef;
  border-radius: 7px;
  background: #f8fafc;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 10px;
  color: var(--text);
  font-size: 13px;
}
.attendance-event strong {
  color: var(--navy);
  font-size: 12px;
}
.modal-label { font-size: 12px; color: var(--muted); }
.modalactions { display: flex; justify-content: flex-end; margin-top: 2px; }
.assignment-board-card {
  width: min(1120px, 100%);
  max-width: 1120px;
  height: min(720px, calc(100vh - 48px));
  height: min(720px, calc(100dvh - 48px));
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  overflow: hidden;
  padding: 0;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(15, 23, 42, .24);
}
#assignModal {
  padding: 24px;
  z-index: 1400;
  align-items: center;
  overflow: hidden;
}
.assignment-modal-head {
  flex: none;
  min-height: 60px;
  padding: 10px 14px;
  border-bottom: 1px solid #e1e7ef;
}
.assignment-tabs {
  flex: none;
  min-height: 42px;
  display: flex;
  align-items: end;
  gap: 4px;
  padding: 0 14px;
  border-bottom: 1px solid #dce3ec;
  background: #fff;
}
.assignment-tab {
  align-self: stretch;
  position: relative;
  border: 0;
  background: transparent;
  color: #66758a;
  padding: 0 14px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.assignment-tab::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: -1px;
  left: 10px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
}
.assignment-tab:hover { color: var(--navy); }
.assignment-tab.is-active { color: #075eaa; }
.assignment-tab.is-active::after { background: #1478c9; }
.assignment-panel {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.assignment-panel[hidden],
.assignment-history-panel[hidden] { display: none; }
.assignment-toolbar {
  flex: none;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 7px 14px;
  background: #f8fafc;
  border-bottom: 1px solid #e1e7ef;
}
.assignment-summary {
  min-width: 180px;
  display: flex;
  align-items: baseline;
  gap: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.assignment-summary strong {
  color: var(--navy);
  font-size: 14px;
}
.assignment-summary span {
  padding-left: 8px;
  border-left: 1px solid #d9e0e9;
}
.assignment-search {
  width: min(260px, 32vw);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.assignment-search input {
  width: 100%;
  height: 32px;
  border: 1px solid #ccd5e1;
  border-radius: 6px;
  background: #fff;
  padding: 0 10px;
  color: var(--text);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  text-transform: none;
}
.assignment-search input:focus {
  border-color: #378add;
  outline: 2px solid rgba(55, 138, 221, .14);
  outline-offset: 0;
}
.assignment-save-state {
  min-height: 28px;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d6dee8;
  border-radius: 999px;
  background: #fff;
  color: #526173;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
}
.assignment-save-state.saving {
  border-color: #b8d2f0;
  background: #edf5ff;
  color: #245f9f;
}
.assignment-save-state.saved {
  border-color: #b8ddc9;
  background: #eef9f3;
  color: #176b42;
}
.assignment-save-state.error {
  border-color: #efb9bd;
  background: #fff1f2;
  color: #b4232f;
}
.dispatchers-card {
  width: min(780px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
}
.assignment-board {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
}
.assignment-history-panel {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: #f7f9fc;
}
.assignment-history-toolbar {
  flex: none;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 14px;
  border-bottom: 1px solid #dfe5ed;
  background: #f8fafc;
}
.assignment-history-toolbar > div { display: grid; gap: 3px; }
.assignment-history-toolbar strong { color: var(--navy); font-size: 13px; }
.assignment-history-toolbar span { color: var(--muted); font-size: 11px; }
.assignment-history-table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 12px 14px 22px;
}
.assignment-history-table {
  width: 100%;
  min-width: 900px;
  border-spacing: 0;
  border: 1px solid #dbe2eb;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  color: var(--text);
  font-size: 12px;
}
.assignment-history-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  border-bottom: 1px solid #dbe2eb;
  background: #eef3f8;
  color: #596a80;
  padding: 10px 12px;
  text-align: left;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: .04em;
}
.assignment-history-table td {
  border-bottom: 1px solid #e8edf3;
  padding: 10px 12px;
  vertical-align: middle;
}
.assignment-history-table tbody tr:last-child td { border-bottom: 0; }
.assignment-history-table tbody tr:hover { background: #f8fbff; }
.assignment-history-truck { color: var(--navy); font-size: 13px; }
.assignment-history-dispatcher { display: flex; align-items: center; gap: 8px; }
.assignment-history-dispatcher > span { display: grid; gap: 2px; }
.assignment-history-dispatcher strong { color: var(--navy); font-size: 12px; }
.assignment-history-dispatcher small,
.assignment-history-table time + small { display: block; color: #7a899b; font-size: 10px; }
.assignment-history-unassigned {
  display: inline-flex;
  border-radius: 999px;
  background: #eef1f5;
  color: #66758a;
  padding: 4px 8px;
  font-size: 10px;
  font-weight: 800;
}
.assignment-history-actor { color: #42546a; font-weight: 650; }
.assignment-history-state {
  margin: 40px auto;
  color: var(--muted);
  font-size: 13px;
  text-align: center;
}

@media (min-width: 701px) {
  body.global-nav-enabled.app-sidebar-visible #assignModal {
    left: 196px;
  }
  body.global-nav-enabled.app-sidebar-visible.app-sidebar-collapsed #assignModal {
    left: 72px;
  }
}

@media (min-width: 701px) and (max-width: 1180px) {
  body.global-nav-enabled.app-sidebar-visible #assignModal,
  body.global-nav-enabled.app-sidebar-visible.app-sidebar-collapsed #assignModal {
    left: 72px;
  }
}
.assignment-unassigned-shelf {
  flex: 0 0 112px;
  min-height: 0;
  padding: 10px 12px 8px;
}
.assignment-unassigned-column {
  height: 100%;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  border-color: #cfd8e4;
  background: #f3f6fa;
}
.assignment-unassigned-column .assignment-column-head {
  min-height: 0;
  border-right: 1px solid #dce3ec;
  border-bottom: 0;
}
.assignment-unassigned-column .assignment-dropzone {
  height: auto;
  min-height: 0;
  overflow-x: auto;
  overflow-y: hidden;
  flex-direction: row;
  align-items: center;
  padding: 7px;
}
.assignment-unassigned-column .assignment-truck {
  flex: 0 0 116px;
}
.assignment-section-head {
  flex: none;
  min-height: 34px;
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 5px 14px;
  border-top: 1px solid #e5eaf0;
  border-bottom: 1px solid #e5eaf0;
  background: #f8fafc;
  color: var(--navy);
  font-size: 12px;
}
.assignment-section-head span {
  color: var(--muted);
  font-size: 10px;
}
.assignment-dispatcher-scroll {
  flex: 1;
  min-height: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 8px 12px 12px;
}
.assignment-dispatcher-grid {
  min-width: max-content;
  height: 100%;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 176px;
  gap: 8px;
}
.assignment-column {
  min-width: 0;
  border: 1px solid #e0e5ec;
  border-radius: 8px;
  background: #f7f9fc;
  overflow: hidden;
}
.assignment-dispatcher-grid .assignment-column {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.assignment-column-head {
  min-height: 53px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px;
  background: #fff;
  border-bottom: 1px solid #e5eaf0;
}
.assignment-name {
  flex: 1;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.18;
}
.assignment-name small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 600;
}
.assignment-name .assignment-cover {
  color: #176b35;
}
.dispatcher-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  flex: none;
}
.dispatcher-dot.light { border: 1px solid #acb5c3; }
.assignment-count {
  height: 23px;
  min-width: 23px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #edf1f6;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.assignment-dropzone {
  height: min(65vh, 640px);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 7px;
  transition: background .15s, box-shadow .15s;
}
.assignment-dispatcher-grid .assignment-dropzone {
  flex: 1;
  min-height: 0;
  height: auto;
}
.assignment-dropzone.over {
  background: #e9f1fc;
  box-shadow: inset 0 0 0 2px #2879c7;
}
.assignment-truck {
  border: 1px solid #e0e5ec;
  border-left: 4px solid #697386;
  border-radius: 7px;
  background: #fff;
  padding: 6px 7px;
  cursor: grab;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 5px;
}
.assignment-truck:active { cursor: grabbing; }
.assignment-truck.dragging { opacity: .45; }
.assignment-truck.is-saving {
  cursor: wait;
  opacity: .68;
  border-style: dashed;
}
.assignment-truck[hidden] { display: none; }
.assignment-truck.status-ready { border-left-color: #1f9d4d; }
.assignment-truck.status-soon { border-left-color: #e0900c; }
.assignment-truck.status-covered { border-left-color: #185a9d; }
.assignment-truck.status-home { border-left-color: #7c4d9e; }
.assignment-truck strong {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 13px;
}
.assignment-truck span {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.assignment-empty {
  padding: 14px 5px;
  color: var(--faint);
  font-size: 12px;
  text-align: center;
}
.offers-card { width: min(760px, 100%); max-height: min(760px, calc(100vh - 32px)); overflow: auto; }
.offers-list { display: grid; gap: 10px; margin-top: 12px; }
.email-list-card {
  width: min(820px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 32px));
  overflow: auto;
}
.email-list-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}
.email-list-actions .movebtn {
  width: auto;
  min-width: 110px;
  padding: 0 14px;
}
.email-list-text {
  width: 100%;
  min-height: 420px;
  margin-top: 10px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: #f8fafc;
  color: var(--text);
  padding: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
  line-height: 1.5;
  resize: vertical;
}
.email-list-text:focus {
  outline: 2px solid var(--link);
  outline-offset: -1px;
}
.offer-item {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
  padding: 11px;
}
.offer-item-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.offer-status {
  flex: none;
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border: 1px solid #d8e0ea;
  border-radius: 999px;
  background: #f4f7fa;
  color: #475467;
  padding: 0 9px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  white-space: nowrap;
}
.offer-status-new {
  border-color: #ffdf7f;
  background: #fff7d6;
  color: #8a5708;
}
.offer-status-asked {
  border-color: #cdd8ef;
  background: #eef4ff;
  color: #24549a;
}
.offer-status-interested {
  border-color: #c9deff;
  background: #f0f6ff;
  color: #185a9d;
}
.offer-status-booked {
  border-color: #b8d9c2;
  background: #e7f4ea;
  color: #176b35;
}
.offer-status-passed,
.offer-status-removed {
  border-color: #e1e5ea;
  background: #f6f7f9;
  color: #687386;
}
.offer-remove {
  flex: none;
  height: 28px;
  border: 1px solid #e2baba;
  border-radius: 7px;
  background: #fff;
  color: #9f1d1d;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.offer-remove:hover { background: #fff5f5; }
.offer-remove:disabled { opacity: .6; cursor: default; }
.offer-meta,
.offer-contact {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}
.offer-details {
  margin-top: 9px;
  max-height: 180px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  border: 1px solid #e6eaf0;
  border-radius: 7px;
  background: #f8fafc;
  padding: 9px;
  font-family: inherit;
  font-size: 13px;
  color: var(--text);
}
.offer-details.empty { color: var(--muted); }
.offer-thumb {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  margin-top: 9px;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--link);
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
.offer-thumb img {
  width: 160px;
  max-width: 100%;
  max-height: 110px;
  object-fit: cover;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: #fff;
}
.offer-thumb:hover img { border-color: var(--link); }
.offer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}
.offer-email-action {
  min-height: 32px;
  border: 1px solid #d2dae5;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  padding: 0 10px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.offer-email-action:hover { background: #f5f7fa; }
.offer-email-action.primary {
  border-color: #0f2748;
  background: var(--navy);
  color: #fff;
}
.offer-email-action.primary:hover { filter: brightness(1.06); }
.offer-email-action.muted {
  color: #6b7280;
}
.offer-email-action:disabled {
  opacity: .55;
  cursor: default;
}
.offer-image-card {
  width: min(1180px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
}
.offer-image-full {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: calc(100vh - 104px);
  margin: 12px auto 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fafc;
  object-fit: contain;
}
.addgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}
.removegrid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}
.removehint {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.coverage-panel {
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}
.coverage-head {
  font-size: 13px;
  font-weight: 700;
}
.coverage-note {
  color: var(--muted);
  font-size: 12px;
  margin: 3px 0 9px;
}
.coverage-list {
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}
.coverage-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(240px, 1.35fr) 112px;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border-bottom: 1px solid var(--border);
  background: #fff;
}
.coverage-row:last-child { border-bottom: 0; }
.coverage-row.active { background: #f0f8f2; }
.coverage-primary {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
}
.coverage-primary span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.coverage-primary small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 500;
}
.coverage-toggle {
  height: 38px;
  border: 1px solid #cad4e1;
  border-radius: 8px;
  background: #fff;
  color: var(--navy);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.coverage-toggle:hover { background: var(--bg); }
.coverage-toggle.active {
  border-color: #87c6a0;
  background: #e7f4ea;
  color: #176b35;
}
.coverage-toggle:disabled {
  opacity: .5;
  cursor: default;
}
.addgrid input {
  height: 38px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  padding: 0 10px;
  font-size: 14px;
  min-width: 0;
}
.addgrid button { grid-column: 1 / -1; }
.dangerbtn { color: #9f1d1d; border-color: #e2baba; }
.dangerbtn:hover { background: #fff5f5; }
@media (max-width: 1360px) {
  .dispatch-search-row {
    grid-template-columns: minmax(280px, .9fr) minmax(480px, 1fr);
  }
  .queue-summary { grid-template-columns: repeat(4, minmax(96px, 1fr)); }
  .team-head {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .team-head .side-tools {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
  }
  .dispatch-grid { grid-template-columns: repeat(2, minmax(300px, 1fr)); }
}
@media (max-width: 860px) {
  .broker-shell {
    grid-template-columns: 1fr;
    padding: 20px 18px 56px;
  }
  .broker-promo-card {
    width: min(100%, 474px);
    min-height: 0;
  }
  .broker-shell .boardcontrols {
    margin-top: 14px;
  }
  .boardcontrols {
    grid-template-columns: auto auto minmax(210px, 1fr);
  }
  .radiussearch { grid-column: 1 / -1; }
  .dispatch-search-row { grid-template-columns: 1fr; }
  .sortcontrol { grid-column: 1 / -1; }
  .broker-columns { display: none; }
  .broker-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 12px;
    padding-top: 11px;
    padding-bottom: 11px;
  }
  .broker-status { grid-column: 1; grid-row: 1; }
  .broker-action { grid-column: 2; grid-row: 1; }
  .broker-action .offerbtn { width: auto; }
  .broker-location { grid-column: 1 / -1; grid-row: 2; }
  .broker-unit {
    grid-column: 1 / -1;
    grid-row: 3;
    display: flex;
    align-items: center;
    gap: 7px;
  }
  .broker-dispatch { grid-column: 1 / -1; grid-row: 4; }
  .team-head .toolbtn { flex: 0 0 auto; }
  .queue-summary { grid-template-columns: repeat(3, minmax(92px, 1fr)); }
  .dispatch-grid { grid-template-columns: 1fr; }
  .team-row {
    grid-template-columns: minmax(145px, 1fr) 100px 70px;
  }
  .team-activity,
  .team-coverage {
    grid-column: 1 / -1;
    padding-left: 17px;
  }
}
@media (max-width: 560px) {
  .brandintro { align-items: flex-start; }
  .brandmark { width: 94px; max-height: 38px; }
  .broker-promo-card {
    margin-bottom: 14px;
    padding: 14px;
  }
  .promo-head {
    display: grid;
    gap: 8px;
  }
  .promo-email-line {
    justify-content: flex-start;
  }
  .promo-freight-btn {
    min-height: 38px;
  }
  .boardcontrols { grid-template-columns: 1fr 1fr; }
  .radiussearch {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) 78px 72px;
  }
  .dispatch-radiussearch {
    grid-template-columns: minmax(0, 1fr) 78px 94px;
  }
  .clearradius { grid-column: 1 / -1; }
  .sortcontrol { grid-column: 1 / -1; }
  .dwrap { padding: 14px 14px 52px; }
  .dispatcher-picker { grid-auto-columns: minmax(96px, 108px); }
  .queue-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-head .side-tools {
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .modalcard.map-card {
    width: min(96vmin, 100%);
  }
  .map-frame {
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
  }
  .addgrid { grid-template-columns: 1fr; }
  .removegrid { grid-template-columns: 1fr; }
  .coverage-row { grid-template-columns: 1fr; }
  .team-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .team-head > div:first-child {
    grid-column: 1;
    grid-row: 1;
  }
  .team-head .team-actions {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    overflow-x: auto;
  }
  .team-head .side-tools {
    grid-column: 1;
    grid-row: 3;
  }
  .shift-controls { align-items: center; flex-wrap: nowrap; }
  .team-row { grid-template-columns: 1fr auto; }
  .team-time { display: none; }
  .team-clockout {
    display: flex;
    justify-content: flex-end;
  }
}
.dcard {
  --status-accent: var(--navy);
  --status-bg: #eef3f9;
  --status-text: var(--navy);
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%);
  border: 1px solid #dfe4eb;
  border-color: color-mix(in srgb, var(--status-accent) 28%, #dfe4eb);
  border-radius: 8px;
  padding: 9px;
  margin-top: 0;
  box-shadow: 0 7px 18px rgba(22, 49, 92, .06);
  position: relative;
  overflow: hidden;
}
.dcard.status-ready {
  --status-accent: #1f9d4d;
  --status-bg: #e7f4ea;
  --status-text: #176b35;
}
.dcard.status-soon {
  --status-accent: #e0900c;
  --status-bg: #fbefd9;
  --status-text: #8a5708;
}
.dcard.status-covered {
  --status-accent: #185a9d;
  --status-bg: #e7f0fb;
  --status-text: #185a9d;
}
.dcard.status-home {
  --status-accent: #7c4d9e;
  --status-bg: #f0e9f6;
  --status-text: #63377f;
}
.dcard.status-notready,
.dcard.status-idle {
  --status-accent: #697386;
  --status-bg: #edf0f4;
  --status-text: #41454b;
}
.dcard.needs-update {
  --status-accent: #c24141;
  --status-bg: #fdeaea;
  --status-text: #9f1d1d;
}
.dcard.filter-held {
  box-shadow: 0 0 0 2px rgba(216, 161, 0, .32), 0 7px 18px rgba(22, 49, 92, .06);
}
.dcard.editing-card {
  border-color: #d8a100;
  background: linear-gradient(180deg, #fffdf5 0%, #fbfcfd 100%);
  box-shadow: 0 0 0 3px rgba(216, 161, 0, .38), 0 10px 24px rgba(22, 49, 92, .1);
}
.dcard:before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--status-accent);
}
.dcard .dhead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4px;
  margin: -9px -9px 7px;
  padding: 6px 7px 6px 14px;
  background: linear-gradient(90deg, var(--status-bg), #ffffff);
  border-bottom: 1px solid #e6eaf0;
  border-bottom-color: color-mix(in srgb, var(--status-accent) 18%, #e6eaf0);
  white-space: nowrap;
  overflow: hidden;
}
.truck-titleline {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  flex: 1;
  flex-wrap: nowrap;
  overflow: hidden;
}
.truck-hos-bar {
  height: 28px;
  margin: -1px 0 6px;
  padding: 3px 4px;
  display: grid;
  grid-template-columns: minmax(58px, .9fr) repeat(4, minmax(42px, 1fr)) 22px;
  align-items: center;
  gap: 3px;
  overflow: hidden;
  border: 1px solid #dfe5ec;
  border-radius: 6px;
  background: #f7f9fb;
  color: #26364e;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.hos-duty {
  height: 20px;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 4px;
  padding: 0 4px;
  background: #e9edf2;
  color: #596579;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0;
  text-overflow: ellipsis;
}
.hos-duty-link {
  border: 1px solid currentColor;
  text-decoration: none;
  cursor: pointer;
}
.hos-duty-link:hover {
  filter: brightness(.96);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6);
}
.hos-duty-link:focus-visible {
  outline: 2px solid #2769a7;
  outline-offset: 1px;
}
.hos-duty-driving .hos-duty {
  background: #dcf4e5;
  color: #13703d;
}
.hos-duty-on .hos-duty {
  background: #fff0cd;
  color: #875800;
}
.hos-duty-off .hos-duty {
  background: #e9edf2;
  color: #566174;
}
.hos-duty-sleeper .hos-duty {
  background: #eee9fb;
  color: #5c4ca3;
}
.hos-clock {
  min-width: 0;
  height: 20px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 2px;
  padding: 0 3px;
  border-left: 1px solid #e2e7ed;
  line-height: 1;
}
.hos-clock b {
  color: #788394;
  font-size: 8px;
  font-weight: 850;
}
.hos-clock strong {
  min-width: 0;
  overflow: hidden;
  color: #1e3559;
  font-size: 10px;
  font-weight: 850;
  text-align: right;
  text-overflow: clip;
}
.hos-refresh-btn {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #c8d2de;
  border-radius: 50%;
  background: #fff;
  color: #426286;
  padding: 0;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}
.hos-refresh-btn:hover {
  border-color: #7890aa;
  background: #edf3f9;
}
.truck-hos-bar.is-loading .hos-refresh-btn {
  animation: hos-spin .8s linear infinite;
  cursor: wait;
}
@keyframes hos-spin {
  to { transform: rotate(360deg); }
}
.card-dispatcher {
  min-width: 0;
  max-width: 82px;
  height: 21px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 0 5px;
  border: 1px solid #dde3ea;
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  flex: 0 1 auto;
  overflow: hidden;
  text-decoration: none;
}
.dispatcher-label,
.coverage-label {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.card-dispatcher.unassigned { color: #7e8691; }
.card-dispatcher-link:hover {
  border-color: #b8c4d2;
  background: #f8fafc;
  color: var(--navy);
}
.card-driver-link {
  min-width: 0;
  max-width: 96px;
  height: 21px;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid #b9d2c3;
  border-radius: 6px;
  background: #eff8f2;
  color: #195d38;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 850;
  flex: 1 1 58px;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.card-driver-link:hover {
  border-color: #4b9b6c;
  background: #e4f4e9;
}
.driver-performance-info-btn {
  width: 17px;
  height: 17px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 17px;
  padding: 0;
  border: 1px solid #9fb2c8;
  border-radius: 50%;
  background: rgba(255, 255, 255, .88);
  color: #36516f;
  font: 800 10px/1 Georgia, serif;
  cursor: pointer;
}
.driver-performance-info-btn:hover,
.driver-performance-info-btn:focus-visible,
.driver-performance-info-btn[aria-expanded="true"] {
  border-color: #245f9b;
  background: #e8f2fc;
  color: #173e6d;
  outline: none;
}
.driver-performance-preview {
  position: fixed;
  z-index: 2200;
  overflow: hidden;
  border: 1px solid #c8d4e2;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(21, 48, 87, .2);
  color: #17243a;
}
.driver-performance-preview[hidden] { display: none; }
.driver-preview-head {
  min-height: 43px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 9px;
  border-bottom: 1px solid #dce4ed;
  background: #f5f8fc;
}
.driver-preview-head div { min-width: 0; }
.driver-preview-head strong,
.driver-preview-head span { display: block; }
.driver-preview-head strong {
  overflow: hidden;
  color: #193b69;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-preview-head span {
  margin-top: 1px;
  color: #687487;
  font-size: 9px;
  font-weight: 700;
}
.driver-preview-head button {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #778295;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
}
.driver-preview-head button:hover { background: #e5ebf3; color: #1a355a; }
.driver-preview-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-variant-numeric: tabular-nums;
}
.driver-preview-table th,
.driver-preview-table td {
  padding: 6px 8px;
  border-bottom: 1px solid #e6ebf1;
  text-align: right;
  white-space: nowrap;
}
.driver-preview-table th {
  background: #fbfcfe;
  color: #6a7587;
  font-size: 8px;
  letter-spacing: 0;
  text-transform: uppercase;
}
.driver-preview-table td { color: #26364c; font-size: 10px; }
.driver-preview-table th:first-child,
.driver-preview-table td:first-child { width: 31%; text-align: left; }
.driver-preview-table td b { color: #183d6d; font-size: 10px; }
.driver-preview-table td small {
  display: block;
  margin-top: 1px;
  color: #7a8493;
  font-size: 8px;
}
.driver-preview-profile-link {
  display: block;
  padding: 6px 9px;
  color: #1466c3;
  font-size: 9px;
  font-weight: 800;
  text-align: right;
  text-decoration: none;
}
.driver-preview-profile-link:hover { text-decoration: underline; }
.driver-preview-loading,
.driver-preview-error,
.driver-preview-empty {
  padding: 18px 10px;
  color: #778295;
  font-size: 10px;
  text-align: center !important;
}
.driver-preview-error { color: #a33a3a; }
.card-trailer {
  height: 21px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d6dce5;
  border-radius: 6px;
  background: #fff;
  color: #4a5666;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
  flex: none;
}
.coverage-badge {
  min-width: 0;
  max-width: 72px;
  height: 21px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 0 5px;
  border: 1px solid #87c6a0;
  border-radius: 999px;
  background: #e7f4ea;
  color: #176b35;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  flex: 0 1 auto;
  overflow: hidden;
}
.dhead-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 3px;
  min-width: max-content;
  flex: none;
  flex-wrap: nowrap;
}
.truck-offer-badge {
  height: 22px;
  border: 1px solid #d8dee8;
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  padding: 0 6px;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.truck-offer-badge:hover { background: var(--bg); }
.truck-offer-badge.has-offers {
  border-color: #e2b23b;
  background: #fff8dc;
  color: #7a5200;
}
.truck-offer-badge.has-offers:hover { background: #fff1b8; }
.telegram-chat-btn {
  width: 24px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #a9d7f5;
  border-radius: 999px;
  background: #e8f6ff;
  color: #229ed9;
  padding: 0;
  cursor: pointer;
}
.copy-driver-info-btn {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 22px;
  padding: 0;
  border: 1px solid #d6a11a;
  border-radius: 50%;
  background: #fff9e7;
  color: #9a6900;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}
.copy-driver-info-btn:hover {
  border-color: #ad7600;
  background: #fff0bd;
}
.copy-driver-info-btn.copied {
  border-color: #23824d;
  background: #23824d;
  color: #fff;
}
.copy-driver-info-btn:disabled { opacity: .7; cursor: wait; }
.telegram-chat-btn:hover { background: #d7efff; }
.telegram-chat-btn:disabled { opacity: .55; cursor: wait; }
.telegram-chat-btn svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
  display: block;
}
.holdtag {
  height: 22px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #e2b23b;
  border-radius: 999px;
  background: #fff8dc;
  color: #7a5200;
  padding: 0 7px;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.dcard .tnum {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  padding: 0 7px;
  border-radius: 7px;
  background: rgba(255, 255, 255, .78);
  color: var(--status-text);
  border: 1px solid rgba(140, 150, 164, .38);
  border-color: color-mix(in srgb, var(--status-accent) 22%, transparent);
  font-size: 15px;
  flex: none;
}
.dcard .tnum-map {
  border-color: #1f7a4d;
  background: #e7f4ea;
  color: #176b35;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
}
.dcard .tnum-map:hover {
  background: #d8eedf;
  border-color: #176b35;
}
.status-activity {
  min-height: 24px;
  margin: -1px 0 6px;
  padding: 5px 7px;
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  border-radius: 6px;
  background: #f5f7fa;
  color: #4e5968;
  font-size: 10px;
  line-height: 1.35;
}
.status-activity strong {
  color: var(--status-text);
  font-weight: 700;
}
.status-activity span {
  color: #778190;
}
.status-activity span:before {
  content: "- ";
}
.status-activity.empty {
  display: none;
}
.truck-note {
  height: 28px;
  min-width: 88px;
  flex: 1;
  border: 1px solid rgba(140, 150, 164, .38);
  border-radius: 6px;
  background: rgba(255, 255, 255, .78);
  color: var(--text);
  padding: 0 8px;
  font-size: 11px;
}
.truck-note::placeholder {
  color: #858c97;
  opacity: 1;
}
.truck-note:focus {
  outline: 2px solid color-mix(in srgb, var(--status-accent) 52%, #ffffff);
  outline-offset: -1px;
}
.truck-note-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin: 0 0 6px;
}
.truck-note-field {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.truck-note-field span {
  padding-left: 2px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}
.truck-note-field .note-public { color: #2e6b48; }
.truck-note-field .note-private { color: #8a5708; }
.public-note,
.private-note {
  width: 100%;
  flex: none;
}
.private-note {
  border-color: #e2d2a8;
  background: #fffdf6;
}
.delivery-address-row {
  display: grid;
  gap: 3px;
  margin-top: 7px;
}
.delivery-address-row span {
  padding-left: 2px;
  color: #185a9d;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}
.delivery-address {
  width: 100%;
  height: 32px;
  font-size: 12px;
  padding: 0 8px;
  border: 1px solid #bad0ec;
  border-radius: 6px;
  border-color: #bad0ec;
  background: #f7fbff;
  color: var(--text);
}
.update-reminder {
  margin: 6px 0 7px;
  border: 1px solid #e7b5b5;
  border-radius: 7px;
  background: #fff7f7;
  padding: 7px;
}
.update-reminder.critical {
  border-color: #cc7777;
  background: #fff0f0;
}
.update-reminder-text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px;
  color: #822727;
  font-size: 11px;
}
.update-reminder-text strong {
  color: #9f1d1d;
  font-size: 11px;
  text-transform: uppercase;
}
.update-resolution-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}
.update-resolution {
  min-height: 26px;
  border: 1px solid #e3c5c5;
  border-radius: 6px;
  background: #fff;
  color: #6f3333;
  padding: 0 7px;
  font-family: inherit;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}
.update-resolution:hover { background: #fdeaea; }
.update-resolution.now {
  border-color: #8cc99d;
  background: #e7f4ea;
  color: #176b35;
}
.update-resolution.now:hover { background: #d9eedf; }
.location-hint {
  margin-top: 4px;
  color: #526071;
  font-size: 11px;
  padding-left: 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.location-hint.search-distance {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  border: 1px solid #d2e2f3;
  border-radius: 999px;
  background: #eef5fb;
  color: var(--blue-text);
  padding: 0 7px;
  font-weight: 700;
}
.location-hint.muted-hint {
  color: #9aa2ad;
}
.location-hint.proximity-hint {
  border-left: 3px solid #2a68b8;
  border-radius: 5px;
  background: #f2f7ff;
  color: #173b68;
  padding: 5px 7px;
  font-weight: 750;
  line-height: 1.3;
}
.location-hint [data-delivery-orientation-text] {
  min-width: 0;
  flex: 1;
}
.proximity-refresh {
  flex: none;
  min-height: 20px;
  border: 1px solid #c8d6e8;
  border-radius: 5px;
  background: #fff;
  color: #24435f;
  padding: 0 6px;
  font-family: inherit;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  cursor: pointer;
}
.proximity-refresh:hover {
  border-color: #8fb2d8;
  background: #eaf3ff;
}
.statusgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-top: 7px;
  padding: 3px;
  border: 1px solid #e6eaf0;
  border-radius: 7px;
  background: #f6f8fb;
}
.statusbtn {
  min-height: 29px;
  font-size: 11px;
  font-weight: 600;
  padding: 5px 3px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  cursor: pointer; text-align: center;
}
.statusbtn:hover { background: #fff; border-color: #d8dee8; }
.statusbtn.active {
  border-color: transparent;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(18, 31, 54, .08);
}
.statusbtn.active[data-tier="ready"] { background: var(--green-bg); color: var(--green-text); }
.statusbtn.active[data-tier="soon"] { background: var(--amber-bg); color: var(--amber-text); }
.statusbtn.active[data-tier="off"] { background: #e9edf2; color: #41454b; }
.fieldrow { display: flex; gap: 5px; margin-top: 7px; }
.fieldrow input, .fieldrow select {
  height: 32px; font-size: 12px; padding: 0 8px;
  border: 1px solid #d8dee8; border-radius: 6px;
  background: var(--surface); color: var(--text);
}
.fieldrow .zip {
  width: 58px;
  flex: none;
}
.fieldrow .city { flex: 1; min-width: 72px; }
.fieldrow .state { width: 56px; }
.fieldrow .d-mapbtn {
  height: 32px;
  flex: none;
}
.schedule-row {
  display: grid;
  grid-template-columns: auto 82px auto auto;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  padding: 4px;
  border: 1px solid #e6eaf0;
  border-radius: 7px;
  background: #f9fbfd;
}
.datepack { display: flex; align-items: center; gap: 3px; flex: none; }
.date-short {
  width: 70px;
  height: 29px;
  font-size: 11px;
  letter-spacing: 0;
  border: 1px solid #d8dee8;
  border-radius: 6px;
  background: #fff;
  padding: 0 7px;
}
.date-short::placeholder {
  color: #a7adb7;
  opacity: 1;
}
.calbtn {
  width: 28px;
  height: 29px;
  border: 1px solid #d8dee8;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.calbtn:hover { background: var(--bg); }
.date-native {
  width: 1px;
  height: 1px;
  opacity: 0;
  position: absolute;
  pointer-events: none;
}
.time-manual {
  width: 82px;
  height: 29px;
  font-size: 11px;
  text-transform: uppercase;
  border: 1px solid #d8dee8;
  border-radius: 6px;
  background: #fff;
  padding: 0 7px;
}
.delivery-zone {
  height: 24px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d3deec;
  border-radius: 999px;
  background: #eef4fb;
  color: var(--blue-text);
  padding: 0 6px;
  font-size: 9px;
  font-weight: 800;
  flex: none;
}
.quickdatepair {
  display: flex;
  gap: 3px;
  min-width: 0;
  flex: none;
}
.quickdatepair .quickbtn {
  width: 58px;
  flex: none;
  padding: 0 3px;
}
.quickrow {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
  margin-top: 6px;
}
.quickbtn {
  height: 24px;
  border: 1px solid #d8dee8;
  border-radius: 6px;
  background: #fff;
  color: var(--muted);
  padding: 0 2px;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.quickbtn:hover { background: var(--bg); }
.quickbtn.active {
  border-color: transparent;
  background: var(--green-bg);
  color: var(--green-text);
  font-weight: 600;
}
.timechips .quickbtn { min-width: 0; }
.savetag {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  flex: none;
  font-size: 11px;
  font-weight: 900;
  color: var(--green-text);
  opacity: 0;
  transition: opacity .2s;
  background: var(--green-bg);
  border-radius: 999px;
  padding: 0;
}
.savetag.show { opacity: 1; }
@media (max-width: 560px) {
  .dcard .dhead { align-items: center; }
  .truck-titleline { flex-direction: row; align-items: center; }
  .truck-note { width: 100%; }
  .statusgrid { grid-template-columns: repeat(2, 1fr); }
  .schedule-row {
    grid-template-columns: auto 82px auto;
  }
  .quickdatepair {
    grid-column: 1 / -1;
    width: 100%;
  }
  .quickdatepair .quickbtn {
    flex: 1;
    width: auto;
  }
}
.banner {
  background: var(--navy); color: #fff; border-radius: var(--radius);
  padding: 14px 16px; margin-bottom: 4px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}
.banner .eyebrow { color: #9fb2d0; }
.banner .btitle { font-size: 18px; font-weight: 600; margin-top: 2px; }
.muted { color: var(--muted); }
.btnlink {
  display: inline-block; font-size: 13px; color: var(--link);
  background: none; border: none; cursor: pointer; padding: 0; margin-top: 14px;
}

/* ---------- dispatcher management ---------- */
.management-page {
  min-height: 100vh;
}
.management-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 14px 16px 26px;
}
.management-banner {
  margin-bottom: 0;
}
.management-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.mgmt-stat {
  min-height: 58px;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  padding: 8px 11px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.mgmt-stat strong {
  display: block;
  color: var(--text);
  font-size: 22px;
  line-height: 1;
}
.mgmt-stat span {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.mgmt-stat:hover,
.mgmt-stat.active {
  border-color: #16315c;
  background: #f7fafd;
}
.mgmt-stat.urgent strong { color: #9f1d1d; }
.management-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-top: 10px;
}
.dispatcher-rail,
.profile-main,
.followup-column {
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
}
.dispatcher-rail,
.followup-column {
  position: sticky;
  top: 12px;
  max-height: calc(100vh - 24px);
  overflow: auto;
  padding: 11px;
}
.dispatcher-strip {
  position: static;
  max-height: none;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto minmax(180px, 260px) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding: 8px 10px;
}
.dispatcher-strip .rail-head {
  min-width: 110px;
}
.dispatcher-strip .mgmt-search {
  margin-top: 0;
}
.dispatcher-strip .profile-list {
  display: flex;
  gap: 6px;
  margin-top: 0;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}
.dispatcher-strip .profile-button {
  width: auto;
  min-width: 148px;
  min-height: 44px;
  flex: 0 0 148px;
  padding: 7px 8px;
}
.profile-main {
  min-width: 0;
  padding: 11px;
}
.rail-head,
.profile-header,
.quick-feedback-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.rail-title,
.quick-title {
  color: var(--text);
  font-size: 15px;
  font-weight: 800;
}
.rail-subtitle,
.quick-subtitle,
.profile-meta {
  color: var(--muted);
  font-size: 12px;
}
.mgmt-search {
  width: 100%;
  height: 38px;
  margin-top: 10px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 0 10px;
  font-size: 13px;
}
.mgmt-search:focus,
.quick-input:focus,
.quick-summary:focus,
.quick-textarea:focus {
  outline: 2px solid var(--link);
  outline-offset: -1px;
}
.profile-list,
.followup-list {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}
.profile-button,
.followup-button {
  width: 100%;
  border: 1px solid #e1e6ed;
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.profile-button {
  min-height: 52px;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 8px;
}
.profile-button:hover,
.followup-button:hover {
  background: #f7f9fc;
}
.profile-button.active {
  border-color: #16315c;
  background: #16315c;
  color: #fff;
}
.profile-button.active small { color: #d7e2f0; }
.profile-button .dispatcher-dot,
.profile-title-wrap .dispatcher-dot {
  width: 11px;
  height: 11px;
}
.profile-button-text {
  min-width: 0;
}
.profile-button-text strong,
.profile-button-text small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-button-text strong {
  font-size: 13px;
  line-height: 1.2;
}
.profile-button-text small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}
.profile-header {
  min-height: 58px;
  border-bottom: 1px solid #edf0f4;
  padding-bottom: 10px;
}
.profile-title-wrap {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.profile-name {
  color: var(--navy);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.1;
}
.profile-counts {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
.profile-counts span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #edf1f6;
  color: var(--muted);
  padding: 0 9px;
  font-size: 11px;
  font-weight: 800;
}
.quick-feedback {
  margin-top: 11px;
  border: 1px solid #dfe6ee;
  border-left: 4px solid #16315c;
  border-radius: 8px;
  background: #f8fafc;
  padding: 10px;
}
.quick-save {
  height: 38px;
  flex: none;
  border: 1px solid #0f2748;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  padding: 0 14px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.quick-save:disabled {
  opacity: .65;
  cursor: default;
}
.secondary-save {
  border-color: #cfd8e4;
  background: #fff;
  color: var(--navy);
}
.secondary-save:disabled {
  background: #f3f6f9;
  color: #9aa6b5;
}
.quick-grid {
  display: grid;
  grid-template-columns: 142px minmax(150px, 1fr) minmax(120px, .8fr) minmax(145px, 1fr) 142px;
  gap: 7px;
  margin-top: 10px;
}
.quick-input,
.quick-summary,
.quick-textarea {
  width: 100%;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  font-family: inherit;
  font-size: 13px;
}
.quick-input {
  height: 38px;
  padding: 0 9px;
}
.smart-date-control {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(124px, 1fr) 34px;
  align-items: stretch;
  gap: 4px;
  position: relative;
}
.smart-date-control.is-datetime {
  grid-template-columns: minmax(124px, 1fr) minmax(92px, .62fr) 34px;
}
.smart-date-display,
.smart-date-time {
  width: 100%;
  min-width: 0;
  letter-spacing: 0;
}
.smart-date-display {
  font-variant-numeric: tabular-nums;
}
.smart-date-time {
  min-height: 32px;
  border: 1px solid var(--border-strong);
  border-radius: 7px;
  background: #fff;
  color: var(--text);
  padding: 0 7px;
  font: inherit;
  font-variant-numeric: tabular-nums;
}
.smart-date-native-picker {
  width: 34px !important;
  min-width: 34px !important;
  min-height: 28px;
  align-self: stretch;
  border: 1px solid var(--border-strong);
  border-radius: 7px;
  background: #fff;
  color: transparent;
  padding: 0 5px;
  font-family: inherit;
  font-size: 0;
  cursor: pointer;
}
.smart-date-control.is-invalid .smart-date-display {
  border-color: #c94040 !important;
  box-shadow: 0 0 0 2px rgba(201, 64, 64, .09);
}
.smart-date-source.smart-datetime-source {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}
.smart-date-display:disabled,
.smart-date-time:disabled,
.smart-date-native-picker:disabled {
  cursor: not-allowed;
  background: #f1f4f8;
  color: var(--muted);
}
.smart-date-native-picker:hover,
.smart-date-native-picker:focus-visible {
  border-color: #8298b5;
  background: #f5f8fc;
  outline: 2px solid rgba(22, 49, 92, .10);
  outline-offset: 1px;
}
.smart-date-native-picker::-webkit-datetime-edit,
.smart-date-native-picker::-webkit-date-and-time-value {
  display: none;
}
.smart-date-native-picker::-webkit-calendar-picker-indicator {
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  opacity: .78;
  cursor: pointer;
}
@media (max-width: 640px) {
  .smart-date-control.is-datetime {
    grid-template-columns: minmax(120px, 1fr) 94px 34px;
  }
}
.quick-summary {
  height: 44px;
  margin-top: 7px;
  padding: 0 11px;
  font-size: 15px;
  font-weight: 650;
}
.detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-top: 7px;
}
.quick-textarea {
  min-height: 88px;
  padding: 9px 10px;
  resize: vertical;
}
.proof-drop-zone {
  min-height: 54px;
  display: grid;
  align-content: center;
  gap: 3px;
  margin-top: 9px;
  border: 1px dashed #b9c5d4;
  border-radius: 8px;
  background: #fff;
  padding: 9px 11px;
  cursor: pointer;
}
.proof-drop-zone.is-dragging {
  border-color: #185a9d;
  background: #eef6ff;
}
.proof-drop-zone span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.proof-drop-zone strong {
  min-width: 0;
  overflow: hidden;
  color: var(--navy);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.proof-drop-zone input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.quick-footer {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 7px;
}
.status-input {
  max-width: 170px;
}
.profile-tabs {
  display: flex;
  gap: 6px;
  margin-top: 11px;
  border-bottom: 1px solid #e5e9ef;
}
.profile-tab {
  min-height: 34px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: var(--muted);
  padding: 0 11px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.profile-tab.active {
  border-bottom-color: #16315c;
  color: var(--navy);
}
.profile-panel {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.knowledge-vault {
  display: grid;
  gap: 10px;
}
.knowledge-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 390px) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.knowledge-search {
  min-height: 38px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 0 10px;
}
.knowledge-search span,
.knowledge-card-head span,
.knowledge-core-badge span,
.knowledge-builder .mini-label,
.knowledge-field > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.knowledge-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  font-size: 13px;
}
.knowledge-core-strip,
.knowledge-tag-row,
.knowledge-section-picks,
.knowledge-save-row,
.knowledge-card-head > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.knowledge-core-chip,
.knowledge-add-section {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  padding: 2px 6px 2px 9px;
  font-size: 12px;
  font-weight: 850;
}
.knowledge-core-chip.active {
  border-color: rgba(22, 49, 92, .42);
  background: #f3f7fc;
  box-shadow: inset 0 0 0 1px rgba(22, 49, 92, .05);
}
.knowledge-core-chip.revenue { border-color: rgba(197, 139, 24, .38); }
.knowledge-core-chip.guardrails { border-color: rgba(193, 61, 69, .32); }
.knowledge-core-chip.communication { border-color: rgba(47, 111, 211, .32); }
.knowledge-core-chip.driver { border-color: rgba(22, 135, 90, .32); }
.knowledge-core-filter {
  min-height: 24px;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font-size: 12px;
  font-weight: 850;
}
.knowledge-chip-icon {
  min-width: 23px;
  height: 23px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: #7a8797;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 950;
}
.knowledge-chip-icon:hover {
  border-color: rgba(22, 49, 92, .14);
  background: #eef3f8;
  color: var(--navy);
}
.knowledge-chip-icon.danger:hover {
  border-color: rgba(193, 61, 69, .18);
  background: #fff1f2;
  color: #a12d35;
}
.knowledge-add-section {
  border-style: dashed;
  color: #8a5f09;
  padding: 0 10px;
}
.knowledge-status-line {
  min-height: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.knowledge-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 12px;
  align-items: start;
}
.knowledge-main,
.knowledge-builder {
  display: grid;
  gap: 10px;
  align-content: start;
}
.knowledge-core-concept {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(197, 139, 24, .48);
  border-radius: 8px;
  background: linear-gradient(90deg, #fffaf0, #fff);
  padding: 12px;
  box-shadow: 0 8px 20px rgba(15, 39, 72, .06);
}
.knowledge-core-badge {
  min-height: 96px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(197, 139, 24, .34);
  border-radius: 8px;
  background: #fff;
}
.knowledge-core-badge strong {
  margin-top: -14px;
  color: var(--navy);
  font-size: 28px;
  line-height: 1;
}
.knowledge-card-body {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.knowledge-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.knowledge-card h3,
.knowledge-core-concept h3,
.knowledge-builder h2 {
  color: var(--navy);
  font-size: 16px;
  line-height: 1.18;
}
.knowledge-core-concept h3 {
  font-size: 19px;
}
.knowledge-card p,
.knowledge-core-concept p,
.knowledge-builder p,
.knowledge-manager-note {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.38;
}
.knowledge-manager-note {
  display: block;
  border-left: 3px solid rgba(197, 139, 24, .46);
  padding-left: 8px;
}
.knowledge-core-actions {
  display: grid;
  gap: 7px;
  min-width: 132px;
}
.knowledge-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.knowledge-card,
.knowledge-builder,
.compact-read-panel {
  min-height: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}
.knowledge-card:hover {
  border-color: #c5d0df;
  box-shadow: 0 10px 22px rgba(15, 39, 72, .08);
}
.knowledge-tag {
  min-height: 23px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #eef3f8;
  color: #4f6177;
  padding: 0 8px;
  font-size: 10px;
  font-weight: 850;
}
.knowledge-tag.revenue {
  background: #fff8e6;
  color: #8a5f09;
}
.knowledge-tag.guardrails {
  background: #fff1f2;
  color: #9b2d35;
}
.knowledge-tag.communication {
  background: #eef5ff;
  color: #234f9c;
}
.knowledge-tag.driver {
  background: #ecf8f2;
  color: #116a47;
}
.knowledge-tag.hash {
  background: #f2f4f7;
  color: #6a7585;
}
.knowledge-builder {
  background: #f7f9fc;
}
.knowledge-field {
  display: grid;
  gap: 5px;
}
.knowledge-field input,
.knowledge-field textarea {
  width: 100%;
  border: 1px solid #cfd9e6;
  border-radius: 7px;
  background: #fff;
  color: var(--text);
  padding: 8px 9px;
  font-size: 12px;
  outline: 0;
}
.knowledge-field textarea {
  min-height: 82px;
  resize: vertical;
}
.knowledge-section-pick {
  min-height: 28px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  padding: 0 9px;
  font-size: 11px;
  font-weight: 850;
}
.knowledge-section-pick.active {
  border-color: rgba(22, 49, 92, .38);
  background: #f3f7fc;
  box-shadow: inset 0 -2px 0 rgba(22, 49, 92, .20);
}
.mini-knowledge-action {
  min-height: 26px;
  padding: 0 8px;
  font-size: 11px;
}
.compact-read-panel {
  min-height: 190px;
  align-content: center;
}
.notes-table-head,
.note-row-summary {
  display: grid;
  grid-template-columns: 116px minmax(240px, 1fr) 190px 120px;
  gap: 8px;
  align-items: center;
}
.notes-table-head {
  min-height: 32px;
  border: 1px solid #dfe5ec;
  border-radius: 8px 8px 0 0;
  background: #eef3f8;
  color: #526274;
  padding: 0 10px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.note-row {
  border: 1px solid #edf0f4;
  border-top: 0;
  background: #fff;
}
.note-row-summary {
  width: 100%;
  min-height: 38px;
  border: 0;
  background: transparent;
  color: var(--text);
  padding: 0 10px;
  font-family: inherit;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
}
.note-row-summary:hover {
  background: #fff7d6;
}
.note-date,
.note-tags {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.note-subject {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 850;
}
.note-row-detail {
  display: none;
  border-top: 1px solid #edf0f4;
  background: #f8fafc;
  padding: 10px 12px;
}
.note-row.expanded .note-row-detail {
  display: block;
}
.note-row-detail p {
  margin-top: 8px;
  color: #313842;
  font-size: 13px;
  line-height: 1.45;
  white-space: pre-wrap;
}
.note-row-detail .expectation {
  border-radius: 7px;
  background: #fff;
  padding: 8px;
}
.proof-list {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}
.proof-chip {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
}
.proof-chip-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}
.proof-chip-head span {
  color: var(--text);
  font-weight: 750;
}
.proof-chip a,
.proof-download-btn {
  width: max-content;
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d2dae5;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  padding: 0 8px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}
.proof-chip a:hover,
.proof-download-btn:hover {
  background: #f4f7fa;
}
.proof-preview-btn {
  width: 28px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d2dae5;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  padding: 0;
  cursor: pointer;
}
.proof-preview-btn:hover {
  background: #eef6ff;
}
.proof-preview-btn svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.proof-chip img {
  max-width: min(520px, 100%);
  max-height: 280px;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  object-fit: contain;
}
.feedback-item {
  border: 1px solid #e1e6ed;
  border-left: 4px solid #697386;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.feedback-positive { border-left-color: #1f9d4d; }
.feedback-correction,
.feedback-warning,
.feedback-repeated_issue { border-left-color: #c24141; }
.feedback-coaching,
.feedback-follow_up { border-left-color: #185a9d; }
.feedback-item-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}
.feedback-title {
  color: var(--text);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.25;
}
.feedback-meta,
.feedback-foot {
  color: var(--muted);
  font-size: 11px;
}
.feedback-meta { margin-top: 2px; }
.feedback-item p {
  margin-top: 9px;
  color: #313842;
  font-size: 13px;
  line-height: 1.45;
  white-space: pre-wrap;
}
.feedback-item .expectation {
  border-radius: 7px;
  background: #f4f7fa;
  padding: 8px;
}
.feedback-status {
  flex: none;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #edf1f6;
  color: var(--muted);
  padding: 0 8px;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
  white-space: nowrap;
}
.status-open,
.status-repeated_issue {
  background: #fff0f0;
  color: #9f1d1d;
}
.status-acknowledged {
  background: #fbefd9;
  color: #8a5708;
}
.status-improved {
  background: #e7f4ea;
  color: #176b35;
}
.status-closed {
  background: #edf1f6;
  color: #687386;
}
.feedback-foot {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 9px;
}
.feedback-due {
  color: #8a5708;
  font-weight: 800;
}
.mini-status-btn {
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d2dae5;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  padding: 0 8px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.mini-status-btn:hover {
  background: #f4f7fa;
}
.numbers-profile-panel {
  align-content: stretch;
  justify-items: stretch;
  border-style: solid;
  background: #f8fafc;
  padding: 12px;
  text-align: left;
}
.profile-numbers-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.profile-numbers-head strong,
.profile-numbers-head span {
  display: block;
}
.profile-numbers-head strong {
  color: var(--navy);
  font-size: 16px;
  font-weight: 900;
}
.profile-numbers-head span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}
.profile-number-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.comparison-grid {
  margin-top: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.profile-number-card {
  min-height: 74px;
  display: grid;
  align-content: center;
  gap: 5px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.profile-number-card span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.profile-number-card strong {
  color: var(--navy);
  font-size: 19px;
  font-weight: 900;
  line-height: 1.1;
}
.profile-period-panel {
  display: grid;
  grid-template-columns: 180px 250px 140px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  padding: 8px;
}
.profile-numbers-command {
  display: grid;
  grid-template-columns: minmax(240px, 318px) 154px minmax(0, 1fr) max-content;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #e8edf4;
  background: #fff;
  padding: 10px 6px 12px 4px;
}
.profile-command-title strong,
.profile-command-title span {
  display: block;
}
.profile-command-title strong {
  color: var(--navy);
  font-size: clamp(22px, 2vw, 34px);
  font-weight: 950;
  line-height: 1.02;
  letter-spacing: 0;
}
.profile-command-title span {
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.profile-period-panel.compact-profile-period {
  grid-template-columns: minmax(190px, 218px) minmax(0, 1fr) minmax(244px, 264px);
  gap: 8px;
  margin: 0;
  border: 0;
  background: transparent;
  padding: 0;
}
.compact-profile-period .profile-week-stepper {
  display: grid;
  grid-template-columns: 40px minmax(118px, 1fr) 40px;
  gap: 7px;
}
.compact-profile-period .profile-week-stepper button {
  height: 54px;
  border-radius: 8px;
}
.compact-profile-period .profile-week-stepper button:disabled {
  opacity: .45;
  cursor: default;
}
.compact-profile-period .current-week-pill {
  display: grid;
  align-content: center;
  gap: 3px;
  background: #fff;
  color: var(--navy);
}
.compact-profile-period .current-week-pill.active {
  background: #fff;
  border-color: #b8c7da;
  color: var(--navy);
  box-shadow: inset 0 -2px 0 rgba(22, 49, 92, .16);
}
.compact-profile-period .current-week-pill span {
  color: var(--navy);
  font-size: 13px;
  font-weight: 950;
}
.compact-profile-period .current-week-pill small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.compact-profile-period .current-week-pill.active span,
.compact-profile-period .current-week-pill.active small {
  color: var(--navy);
}
.compact-shortcuts {
  display: grid;
  grid-template-columns: repeat(12, minmax(36px, 1fr));
  gap: 6px;
  overflow: visible;
  padding: 0;
}
.compact-shortcuts .profile-period-chip {
  min-width: 0;
  height: 28px;
  border-radius: 8px;
  padding: 0 8px;
}
.compact-shortcuts .wide-chip {
  grid-column: span 2;
}
.compact-shortcuts .month-profile-chip {
  min-width: 0;
}
.compact-range-pick {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: 5px 7px;
}
.compact-range-pick .mini-status-btn {
  min-height: 30px;
  padding: 0 9px;
  grid-column: 1 / -1;
  width: 100%;
}
.profile-period-left strong,
.profile-period-left span {
  display: block;
}
.profile-period-left strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}
.profile-period-left span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.profile-period-dates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.profile-period-dates label {
  display: grid;
  gap: 3px;
}
.profile-period-dates span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.profile-period-dates .quick-input {
  height: 30px;
  border-radius: 7px;
  font-size: 11px;
  padding: 0 5px;
}
.profile-open-numbers {
  min-width: 132px;
  height: 36px;
  white-space: nowrap;
}
.profile-week-stepper {
  display: grid;
  grid-template-columns: 30px 104px;
  gap: 5px;
}
.profile-week-stepper button,
.profile-period-chip {
  height: 28px;
  border: 1px solid #cfd8e4;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}
.profile-week-stepper button:hover,
.profile-period-chip:hover {
  background: #eef6ff;
  border-color: #9bb9dd;
}
.profile-week-stepper .current-week-pill,
.profile-week-stepper .current-week-pill.active,
.profile-period-chip.active {
  background: #16315c;
  border-color: #16315c;
  color: #fff;
}
.compact-profile-period .profile-week-stepper .current-week-pill.active {
  background: #fff;
  border-color: #b8c7da;
  color: var(--navy);
  box-shadow: inset 0 -2px 0 rgba(22, 49, 92, .16);
}
.compact-profile-period .profile-week-stepper .current-week-pill.active span,
.compact-profile-period .profile-week-stepper .current-week-pill.active small {
  color: var(--navy);
}
.profile-period-chips {
  min-width: 0;
  display: flex;
  gap: 5px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}
.profile-period-chip {
  min-width: 44px;
  flex: 0 0 auto;
  padding: 0 8px;
}
.profile-numbers-redesign {
  display: grid;
  grid-template-columns: minmax(520px, 1.25fr) minmax(520px, 1.25fr) minmax(250px, .7fr);
  gap: 10px;
  align-items: stretch;
}
.profile-numbers-redesign.target-aware {
  grid-template-columns: 1fr;
}
.profile-target-stack {
  display: grid;
  gap: 8px;
}
.profile-target-anchors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.profile-target-card,
.profile-derived-card,
.profile-target-metric-card,
.profile-target-math {
  min-width: 0;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
}
.profile-target-card {
  min-height: 118px;
  border-color: #d2b557;
  background: #fffdf5;
  padding: 10px;
}
.profile-target-card span,
.profile-derived-card span,
.profile-target-metric-card .metric-label,
.profile-target-math span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.profile-target-card h3 {
  margin: 4px 0 8px;
  color: var(--navy);
  font-size: 14px;
  letter-spacing: 0;
}
.profile-target-number {
  display: flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}
.profile-target-number strong {
  color: var(--navy);
  font-size: clamp(24px, 1.65vw, 32px);
  font-weight: 950;
  line-height: 1;
}
.profile-target-number em {
  color: #a67600;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.profile-target-progress,
.profile-card-progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
.profile-target-progress i,
.profile-card-progress i {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6edf5;
}
.profile-target-progress b,
.profile-card-progress b {
  display: block;
  height: 100%;
  border-radius: inherit;
}
.profile-target-progress em,
.profile-card-progress em {
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}
.profile-target-summary {
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}
.profile-derived-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.profile-derived-card {
  min-height: 74px;
  display: grid;
  align-content: center;
  gap: 4px;
  background: #f8fafc;
  padding: 9px;
}
.profile-derived-card strong {
  color: var(--navy);
  font-size: clamp(19px, 1.25vw, 27px);
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}
.profile-derived-card small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.profile-target-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.profile-target-metric-card {
  min-height: 119px;
  padding: 9px;
}
.profile-card-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  margin-top: 8px;
}
.profile-card-values div {
  min-width: 0;
  border-radius: 7px;
  background: #f3f6fa;
  padding: 6px;
}
.profile-card-values span {
  display: block;
  color: var(--muted);
  font-size: 8px;
  font-weight: 950;
  text-transform: uppercase;
}
.profile-card-values strong {
  display: block;
  margin-top: 3px;
  color: var(--navy);
  font-size: clamp(13px, .9vw, 19px);
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}
.profile-card-values .company strong { color: #a67600; }
.profile-card-values .target strong { color: #1f8f4b; }
.profile-record-chip {
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 7px;
  border: 1px solid #bdd8c8;
  border-radius: 999px;
  background: #f4fbf6;
  color: #13834c;
  padding: 0 7px;
  font-size: 10px;
  font-weight: 950;
  white-space: nowrap;
}
.profile-record-chip span {
  color: var(--muted);
  font-size: 8px;
  text-transform: uppercase;
}
.profile-record-chip strong {
  color: #13834c;
  font-size: 10px;
  line-height: 1;
}
.profile-record-chip em {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
}
.profile-target-math {
  border-style: dashed;
  background: #fbfdff;
  padding: 8px 9px;
}
.profile-target-math strong {
  display: inline-block;
  margin-right: 10px;
  color: var(--navy);
  font-size: 12px;
}
.profile-target-math p {
  display: inline;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}
.profile-formula-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
  margin-top: 7px;
}
.profile-formula-strip div {
  border: 1px solid #e0e7ef;
  border-radius: 7px;
  background: #fff;
  padding: 6px 7px;
}
.profile-formula-strip b {
  display: block;
  margin-top: 2px;
  color: var(--navy);
  font-size: 11px;
  line-height: 1.15;
}
.redesigned-numbers-head {
  justify-content: flex-start;
}
.redesigned-numbers-head > a {
  margin-left: auto;
}
.inline-weighted-score {
  width: 100%;
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  justify-items: center;
  gap: 1px;
  border: 1px solid #c78a13;
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
  position: relative;
}
.inline-weighted-score span {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.15;
  text-transform: none;
}
.inline-weighted-score strong {
  color: var(--navy);
  font-size: 34px;
  font-weight: 950;
  line-height: .95;
}
.inline-weighted-score > div:first-child {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.score-info-dot {
  width: 17px;
  height: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #9fb0c8;
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  padding: 0;
  font-family: inherit;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  cursor: help;
}
.weighted-score-popover {
  position: absolute;
  top: calc(100% + 8px);
  left: -52px;
  z-index: 20;
  width: min(320px, 82vw);
  display: none;
  border: 1px solid #d6dee9;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(15, 39, 72, .16);
  color: var(--text);
  padding: 13px 14px;
  text-align: left;
}
.weighted-score-popover::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 88px;
  width: 12px;
  height: 12px;
  border-left: 1px solid #d6dee9;
  border-top: 1px solid #d6dee9;
  background: #fff;
  transform: rotate(45deg);
}
.weighted-score-tooltip:hover .weighted-score-popover,
.weighted-score-tooltip:focus-within .weighted-score-popover,
.weighted-score-tooltip:focus .weighted-score-popover {
  display: block;
}
.weighted-score-popover b {
  display: block;
  color: var(--navy);
  font-size: 15px;
  font-weight: 950;
}
.weighted-score-popover p {
  margin: 7px 0 0;
  color: #667386;
  font-size: 12px;
  line-height: 1.35;
}
.weighted-score-popover dl {
  display: grid;
  gap: 8px;
  margin: 12px 0 10px;
}
.weighted-score-popover dl div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 850;
}
.weighted-score-popover dt {
  margin: 0;
}
.weighted-score-popover dd {
  margin: 0;
  color: var(--navy);
  font-weight: 950;
}
.profile-open-numbers {
  min-width: 132px;
  height: 36px;
  justify-self: end;
  white-space: nowrap;
}
.profile-score-pane,
.profile-compare-pane,
.profile-visual-pane {
  min-width: 0;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  padding: 11px;
}
.profile-score-pane {
  display: grid;
  align-content: start;
  gap: 8px;
}
.profile-score-pane.metric-block {
  align-content: stretch;
}
.number-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.number-mini-card {
  min-height: 94px;
  display: grid;
  align-content: center;
  gap: 5px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #f8fafc;
  padding: 10px;
}
.number-mini-card span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.number-mini-card strong {
  color: var(--navy);
  font-size: 22px;
  font-weight: 950;
  line-height: 1.05;
}
.profile-score-pane > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.profile-score-pane > strong {
  color: var(--navy);
  font-size: 46px;
  font-weight: 950;
  line-height: 1;
}
.profile-score-pane > small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.3;
}
.score-meter,
.profile-bar i {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6edf5;
}
.score-meter i,
.profile-bar b {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, #1f9d4d, #16315c);
}
.mini-score-stats {
  display: grid;
  gap: 6px;
  margin-top: 5px;
}
.mini-score-stats span {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border-top: 1px solid #edf0f4;
  color: var(--muted);
  padding-top: 6px;
  font-size: 11px;
}
.mini-score-stats b {
  color: var(--navy);
}
.compare-title {
  min-height: 42px;
  margin-bottom: 8px;
}
.compare-title strong,
.compare-title span {
  display: block;
}
.compare-title strong {
  color: var(--navy);
  font-size: 14px;
  font-weight: 900;
}
.compare-title span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}
.profile-compare-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.number-compare-card {
  min-height: 132px;
  display: grid;
  align-content: start;
  gap: 6px;
  border: 1px solid #dfe6ee;
  border-left: 4px solid #8aa1ba;
  border-radius: 8px;
  background: #f8fafc;
  padding: 9px;
}
.number-compare-card.good {
  border-left-color: #2d8a57;
}
.number-compare-card.watch {
  border-left-color: #c58b2d;
}
.number-compare-card span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.number-compare-card strong {
  color: var(--navy);
  font-size: 19px;
  font-weight: 950;
}
.compare-values {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: baseline;
  gap: 7px;
}
.compare-values small {
  color: #7a8796;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.compare-values b {
  margin-right: 3px;
  font-size: 14px;
}
.compare-values strong {
  min-width: 0;
  font-size: clamp(14px, 1.05vw, 19px);
  line-height: 1.05;
  white-space: nowrap;
}
.compare-values.compact strong {
  font-size: clamp(13px, .92vw, 17px);
}
.compare-values.tight strong {
  font-size: clamp(12px, .82vw, 15px);
}
.compare-values.ultra strong {
  font-size: clamp(10px, .72vw, 13px);
}
.compare-values.tight b,
.compare-values.ultra b {
  font-size: 12px;
  margin-right: 2px;
}
.compare-values strong:last-child {
  text-align: right;
}
.mine-value {
  color: var(--navy);
}
.company-value {
  color: #a67600 !important;
}
.record-value {
  color: #1f8f4b !important;
}
.number-compare-card small,
.number-compare-card em,
.number-compare-card p {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}
.number-compare-card p {
  margin: 0;
  line-height: 1.25;
}
.number-compare-card em {
  width: max-content;
  border-radius: 999px;
  background: #edf3f8;
  padding: 2px 7px;
  font-weight: 850;
}
.profile-bar {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) 64px;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
}
.profile-bar span,
.profile-bar em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}
.profile-bar em {
  justify-self: end;
  color: var(--navy);
}
.alias-copy {
  max-width: none;
  margin-bottom: 10px;
}
.alias-list {
  display: grid;
  gap: 7px;
}
.alias-row {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
}
.alias-row strong,
.alias-row span {
  display: block;
}
.alias-row strong {
  color: var(--text);
  font-size: 13px;
}
.alias-row span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}
.followup-button {
  display: grid;
  gap: 3px;
  padding: 9px;
}
.followup-button strong {
  color: var(--navy);
  font-size: 12px;
}
.followup-button span,
.followup-button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.followup-button span {
  color: var(--text);
  font-size: 12px;
  font-weight: 650;
}
.followup-button small {
  color: var(--muted);
  font-size: 11px;
}
.followup-tab-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: 10px;
}
.followup-tab-section {
  min-width: 0;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #f8fafc;
  padding: 10px;
}
.followup-selected-list,
.followup-list-wide {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}
.numbers-placeholder {
  min-height: 220px;
  align-content: center;
  justify-items: center;
  border: 1px dashed #ccd6e2;
  border-radius: 8px;
  background: #f8fafc;
  padding: 28px;
  text-align: center;
}
.numbers-placeholder.numbers-profile-panel {
  align-content: stretch;
  justify-items: stretch;
  padding: 12px;
  text-align: left;
}
.numbers-empty-title {
  color: var(--navy);
  font-size: 18px;
  font-weight: 850;
}
.numbers-empty-copy {
  max-width: 560px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
}
.goal-form {
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #f8fafc;
  padding: 10px;
}
.goal-form-grid {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 150px 142px 145px;
  gap: 7px;
}
.goal-list {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}
.goal-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  gap: 8px;
  align-items: start;
  border: 1px solid #e1e6ed;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.goal-row strong,
.goal-row span {
  display: block;
}
.goal-row strong {
  color: var(--text);
  font-size: 13px;
}
.goal-row span,
.goal-row p {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.goal-row em {
  justify-self: end;
  border-radius: 999px;
  background: #eef3f8;
  color: var(--navy);
  padding: 4px 8px;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}
.dispatcher-target-strip {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
}
.target-strip-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 100px;
  align-items: center;
  gap: 8px;
}
.compact-search {
  height: 32px;
  margin-top: 0;
  border-radius: 7px;
  font-size: 12px;
}
.target-list {
  min-width: 0;
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 2px 0 4px;
  scrollbar-width: thin;
}
.target-list .profile-button {
  width: auto;
  min-width: 138px;
  min-height: 40px;
  flex: 0 0 138px;
  border-radius: 7px;
  padding: 6px 7px;
}
.target-list .profile-button.all-target {
  min-width: 104px;
  flex-basis: 104px;
}
.all-dot {
  border-radius: 999px;
  background: linear-gradient(135deg, #16315c, #2d8a57);
}
.coaching-workspace {
  margin-top: 8px;
}
.workspace-context-bar {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #edf0f4;
  padding-bottom: 8px;
}
.context-title {
  color: var(--navy);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.1;
}
.context-subtitle {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}
.context-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.context-actions .quick-save {
  width: 104px;
  height: 32px;
  border-radius: 7px;
  padding: 0 9px;
  font-size: 12px;
}
.top-tabs {
  margin-top: 8px;
}
.top-tabs .profile-tab {
  min-height: 31px;
}
.dispatcher-preview-mode .context-actions,
.dispatcher-preview-mode .profile-tabs {
  display: none;
}
.dispatcher-self-mode .profile-tabs {
  display: flex;
}
.dispatcher-self-mode .context-actions {
  display: none;
}
.dispatcher-profile-route .dispatcher-target-strip,
.dispatcher-self-mode .dispatcher-target-strip {
  display: none;
}
.dispatcher-self-mode .workspace-header-nav {
  display: none;
}
.dispatcher-self-mode .workspace-context-bar {
  min-height: 38px;
}
.dispatcher-self-mode .context-actions .quick-save {
  width: 94px;
}
.dispatcher-preview-mode .dispatcher-target-strip {
  grid-template-columns: 260px minmax(0, 1fr);
  margin-top: 8px;
}
.dispatcher-preview-mode .target-list .profile-button {
  min-width: 116px;
  flex-basis: 116px;
}
.dispatcher-preview-mode .target-list .profile-button small {
  display: none;
}
.dispatcher-preview-mode .workspace-context-bar {
  min-height: 40px;
}
.dispatcher-preview-mode .profile-panel {
  margin-top: 8px;
}
.section-list-head {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #eef3f8;
  padding: 0 10px;
}
.section-list-head strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}
.section-list-head span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.management-record-row {
  min-height: 52px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
.record-side {
  display: grid;
  justify-items: end;
  gap: 5px;
}
.record-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 5px;
}
.record-actions .mini-status-btn {
  height: 24px;
  padding: 0 7px;
}
.danger-action {
  border-color: #f0c9c9;
  color: #9f1d1d;
}
.danger-action:hover {
  background: #fff0f0;
}
.record-drawer {
  position: fixed;
  inset: 0;
  z-index: 80;
}
.record-drawer[hidden] {
  display: none;
}
.record-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .36);
}
.record-drawer-panel {
  position: absolute;
  top: 18px;
  right: 18px;
  width: min(760px, calc(100vw - 36px));
  max-height: calc(100vh - 36px);
  overflow: auto;
  border: 1px solid #ccd6e2;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
  padding: 13px;
}
.record-drawer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #edf0f4;
  padding-bottom: 9px;
}
.record-drawer-head .modalclose {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  line-height: 1;
}
.drawer-grid {
  display: grid;
  grid-template-columns: 142px 1fr 142px 142px;
  gap: 7px;
  margin-top: 10px;
}
.drawer-grid label,
.drawer-field {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.drawer-grid span,
.drawer-field span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.drawer-field {
  margin-top: 8px;
}
.drawer-field .quick-summary {
  margin-top: 0;
}
.drawer-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}
.drawer-two-col .quick-textarea {
  min-height: 170px;
}
.same-details-check {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 850;
}
.same-details-check input {
  width: 16px;
  height: 16px;
}
.compact-proof {
  min-height: 48px;
}
.clear-proof-btn {
  width: max-content;
  height: 26px;
  margin-top: 6px;
  border: 1px solid #f0c9c9;
  border-radius: 7px;
  background: #fff;
  color: #9f1d1d;
  padding: 0 9px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.clear-proof-btn:hover {
  background: #fff0f0;
}
.clear-proof-btn[hidden] {
  display: none;
}
.note-tags {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  overflow: hidden;
}
.hashtag-chip {
  max-width: 104px;
  height: 22px;
  border: 1px solid #cfd8e4;
  border-radius: 999px;
  background: #fff;
  color: #185a9d;
  padding: 0 7px;
  overflow: hidden;
  font-family: inherit;
  font-size: 10px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
.hashtag-chip:hover {
  background: #eef6ff;
}
.sentiment-flag {
  flex: none;
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #edf1f6;
  color: #526274;
  padding: 0 7px;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}
.sentiment-super_positive .sentiment-flag {
  background: #dff8e7;
  color: #126334;
}
.sentiment-positive .sentiment-flag {
  background: #e9f6ed;
  color: #176b35;
}
.sentiment-negative .sentiment-flag {
  background: #fff0db;
  color: #8a5708;
}
.sentiment-serious_negative .sentiment-flag {
  background: #ffe5e5;
  color: #9f1d1d;
}
.sentiment-super_positive {
  border-left: 3px solid #23a455;
}
.sentiment-positive {
  border-left: 3px solid #54b96f;
}
.sentiment-negative {
  border-left: 3px solid #d08b28;
}
.sentiment-serious_negative {
  border-left: 3px solid #c24141;
}
.note-target {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin-right: 6px;
  border-radius: 999px;
  background: #e8eef6;
  color: var(--navy);
  padding: 0 7px;
  font-size: 11px;
  font-weight: 850;
}
.active-tag-filter {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d5e4f5;
  border-radius: 8px;
  background: #f2f8ff;
  color: var(--muted);
  padding: 0 10px;
  font-size: 12px;
}
.active-tag-filter strong {
  color: var(--navy);
}
.active-tag-filter button {
  height: 24px;
  border: 1px solid #cfd8e4;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  font-family: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.coaching-hub {
  display: grid;
  gap: 10px;
  align-items: start;
}
.coaching-filter-panel,
.coaching-table-panel {
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
  min-width: 0;
  overflow: hidden;
}
.coaching-table-view-row {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid #edf0f4;
  background: #fbfdff;
}
.coaching-table-view-row .table-view-select {
  width: min(210px, 28vw);
}
.coaching-table-view-row .table-view-panel {
  right: 10px;
}
.coaching-filter-panel {
  min-width: 0;
  padding: 8px;
  background: #f8fafc;
}
.coaching-filter-toolbar {
  display: grid;
  grid-template-columns: minmax(150px, auto) minmax(260px, 460px) minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}
.coaching-filter-title {
  min-width: 0;
}
.coaching-filter-title strong,
.coaching-filter-title span {
  display: block;
}
.coaching-filter-title strong,
.coaching-panel-title {
  color: var(--navy);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.coaching-filter-title span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.coaching-search-input {
  width: 100%;
  height: 34px;
  border: 1px solid #dfe5ec;
  border-radius: 7px;
  background: #fff;
  color: var(--text);
  padding: 0 10px;
  font-family: inherit;
  font-size: 12px;
  outline: 0;
}
.coaching-filter-actions {
  display: flex;
  justify-self: end;
  align-items: center;
  gap: 6px;
}
.coaching-add-note,
.coaching-customize-cards {
  height: 32px;
  border: 1px solid #cbd7e5;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  padding: 0 10px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}
.coaching-add-note {
  border-color: var(--navy);
  background: var(--navy);
  color: #fff;
}
.coaching-add-note:hover {
  background: #274a79;
}
.coaching-customize-cards:hover {
  border-color: #9bb1d0;
  background: #f3f7fc;
}
.coaching-filter-strip {
  min-width: 0;
  display: grid;
  grid-template-rows: repeat(2, 30px);
  grid-auto-flow: column;
  grid-auto-columns: 108px;
  gap: 5px;
  margin: 8px -8px -8px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 7px 8px 8px;
  border-top: 1px solid #e3e8ef;
  background: #fff;
  scrollbar-width: thin;
}
.coaching-filter-clear,
.coaching-filter-overview,
.coaching-filter-card {
  width: 108px;
  height: 30px;
  min-width: 0;
  border: 1px solid #d8e0e9;
  border-radius: 5px;
  background: #fff;
}
.coaching-filter-clear,
.coaching-filter-card {
  font-family: inherit;
  cursor: pointer;
}
.coaching-filter-clear {
  grid-row: 1;
  color: #657386;
  font-size: 10px;
  font-weight: 850;
}
.coaching-filter-clear:disabled {
  cursor: default;
  opacity: .48;
}
.coaching-filter-overview,
.coaching-filter-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px;
  padding: 0 6px;
  text-align: left;
}
.coaching-filter-overview {
  grid-row: 2;
  border-color: #cfd8e3;
  background: #f7f9fb;
}
.coaching-filter-overview span,
.coaching-filter-card span {
  min-width: 0;
  overflow: hidden;
  color: var(--navy);
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.coaching-filter-overview strong,
.coaching-filter-card strong {
  min-width: 20px;
  border-radius: 999px;
  background: rgba(25, 50, 86, .06);
  color: #607087;
  padding: 2px 4px;
  font-size: 9px;
  font-weight: 950;
  text-align: center;
}
.coaching-filter-card {
  border-left-width: 3px;
  cursor: grab;
}
.coaching-filter-card:active { cursor: grabbing; }
.coaching-filter-card.family-entry {
  border-color: #9db9d8;
  background: #f4f8fd;
}
.coaching-filter-card.family-sentiment {
  border-color: #b6a4d6;
  background: #f8f5fc;
}
.coaching-filter-card.family-topic {
  border-color: #82bbb6;
  background: #f1faf8;
}
.coaching-filter-card.family-entry.is-selected {
  border-color: #2b6dad;
  background: #e6f0fb;
  box-shadow: inset 0 0 0 1px #2b6dad;
}
.coaching-filter-card.family-sentiment.is-selected {
  border-color: #7452a6;
  background: #efe8f8;
  box-shadow: inset 0 0 0 1px #7452a6;
}
.coaching-filter-card.family-topic.is-selected {
  border-color: #287f78;
  background: #e3f4f1;
  box-shadow: inset 0 0 0 1px #287f78;
}
.coaching-filter-card.is-selected span::after {
  content: " ✓";
}
.coaching-filter-card.is-starred {
  border-top: 2px solid #d49a22;
}
.coaching-filter-card:focus-visible,
.coaching-add-note:focus-visible,
.coaching-customize-cards:focus-visible,
.coaching-filter-clear:focus-visible {
  outline: 2px solid #2f6fd3;
  outline-offset: 1px;
}
.coaching-filter-card.is-dragging,
.coaching-card-option.is-dragging {
  opacity: .42;
}
.coaching-filter-card.is-drag-target,
.coaching-card-option.is-drag-target {
  outline: 2px solid #1f5f9e;
  outline-offset: -2px;
}
.coaching-search-input:focus,
.coaching-entry-panel input:focus,
.coaching-entry-panel select:focus,
.coaching-entry-panel textarea:focus {
  border-color: #9bb1d0;
  box-shadow: 0 0 0 3px rgba(47, 111, 211, .08);
}
.coaching-filter-group {
  margin-top: 11px;
}
.coaching-filter-group > span,
.coaching-tag-head span,
.coaching-tag-head strong {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.coaching-tag-head strong {
  color: var(--navy);
  font-size: 12px;
}
.coaching-filter-group > div,
.coaching-row-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}
.coaching-filter-chip,
.coaching-tag-pill {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #dfe5ec;
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  padding: 0 7px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
  cursor: pointer;
}
.coaching-filter-chip {
  min-height: 28px;
}
.tone-task { --tone-rgb: 45, 110, 211; --tone-ink: #2358a8; }
.tone-goal,
.tone-positive,
.tone-very-positive,
.tone-driver { --tone-rgb: 23, 134, 91; --tone-ink: #127249; }
.tone-feedback,
.tone-revenue { --tone-rgb: 197, 139, 24; --tone-ink: #8a5f09; }
.tone-neutral { --tone-rgb: 100, 115, 134; --tone-ink: #536173; }
.tone-negative,
.tone-very-negative,
.tone-coverage { --tone-rgb: 194, 59, 70; --tone-ink: #a4313a; }
.tone-topic,
.tone-communication { --tone-rgb: 111, 96, 210; --tone-ink: #594bad; }
.coaching-filter-chip[class*="tone-"],
.coaching-tag-pill[class*="tone-"] {
  border-color: rgba(var(--tone-rgb), .22);
  background: rgba(var(--tone-rgb), .055);
  color: var(--tone-ink);
}
.coaching-filter-chip.active[class*="tone-"] {
  border-color: rgba(var(--tone-rgb), .42);
  background: rgba(var(--tone-rgb), .13);
  box-shadow: inset 0 0 0 1px rgba(var(--tone-rgb), .06);
}
.coaching-tag-dot {
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #7c6bd9;
}
.coaching-tag-dot.task { background: #2d6ed3; }
.coaching-tag-dot.goal,
.coaching-tag-dot.positive,
.coaching-tag-dot.very-positive,
.coaching-tag-dot.driver { background: #17865b; }
.coaching-tag-dot.feedback,
.coaching-tag-dot.revenue { background: #c58b18; }
.coaching-tag-dot.neutral { background: #647386; }
.coaching-tag-dot.negative,
.coaching-tag-dot.very-negative,
.coaching-tag-dot.coverage { background: #c23b46; }
.coaching-tag-dot.communication { background: #2d6ed3; }
.coaching-summary-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border-bottom: 1px solid #edf0f4;
  background: #fbfdff;
}
.coaching-summary-row > div {
  min-height: 52px;
  border: 1px solid #dfe5ec;
  border-radius: 7px;
  background: #fff;
  padding: 8px 10px;
}
.coaching-summary-row span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.coaching-summary-row strong {
  display: block;
  margin-top: 2px;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.05;
}
.coaching-table-wrap {
  max-width: 100%;
  overflow: auto;
}
.coaching-table-headline {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e3e8ef;
  background: #fbfcfe;
  padding: 7px 11px;
}
.coaching-table-headline strong,
.coaching-table-headline span {
  display: block;
}
.coaching-table-headline strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 950;
}
.coaching-table-headline span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.coaching-table {
  width: 100%;
  min-width: 900px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
.coaching-col-date { width: 118px; }
.coaching-col-driver { width: 150px; }
.coaching-col-tags { width: 245px; }
.coaching-col-subject { width: 230px; }
.coaching-col-note { width: auto; }
.coaching-col-actions { width: 126px; }
.coaching-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  height: 36px;
  border-bottom: 1px solid #dfe5ec;
  background: #f1f5f9;
  color: #526177;
  padding: 0 12px;
  text-align: left;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
}
.coaching-table td {
  border-bottom: 1px solid #edf1f6;
  padding: 9px 12px;
  vertical-align: middle;
  font-size: 13px;
}
.coaching-entry-row {
  cursor: pointer;
}
.coaching-entry-row:nth-child(even) {
  background: #fbfcfe;
}
.coaching-entry-row:hover {
  background: #f0f6fc;
}
.coaching-entry-row.is-expanded {
  background: #e8f1fb;
}
.coaching-entry-row.type-task { --entry-rgb: 45, 110, 211; }
.coaching-entry-row.type-goal { --entry-rgb: 23, 134, 91; }
.coaching-entry-row.type-feedback { --entry-rgb: 197, 139, 24; }
.coaching-entry-row.type-default { --entry-rgb: 100, 115, 134; }
.coaching-detail-row.type-task { --entry-rgb: 45, 110, 211; }
.coaching-detail-row.type-goal { --entry-rgb: 23, 134, 91; }
.coaching-detail-row.type-feedback { --entry-rgb: 197, 139, 24; }
.coaching-detail-row.type-default { --entry-rgb: 100, 115, 134; }
.coaching-entry-row td:first-child {
  position: relative;
  padding-left: 12px;
}
.coaching-entry-row td:first-child::before {
  content: "";
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 3px;
  width: 4px;
  border-radius: 999px;
  background: rgba(var(--entry-rgb), .84);
  box-shadow: 0 0 0 1px rgba(255,255,255,.78);
}
.coaching-date-cell {
  width: 100px;
  color: var(--navy);
  font-weight: 900;
  white-space: nowrap;
}
.coaching-row-caret {
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  margin-right: 6px;
  border: 1px solid rgba(var(--entry-rgb), .22);
  border-radius: 5px;
  background: rgba(var(--entry-rgb), .07);
  color: rgba(var(--entry-rgb), .95);
  font-size: 12px;
  line-height: 1;
}
.coaching-target-cell {
  width: 128px;
  color: var(--text);
  font-weight: 850;
}
.coaching-entry-row .coaching-row-tags {
  flex-wrap: nowrap;
  max-width: 420px;
  max-height: 26px;
  overflow: hidden;
  margin-top: 0;
}
.coaching-entry-row .coaching-tag-pill {
  flex: none;
}
.coaching-subject-cell {
  min-width: 220px;
  color: var(--text);
  font-weight: 900;
}
.coaching-note-cell {
  min-width: 290px;
  max-width: 520px;
  color: #405066;
  line-height: 1.35;
}
.coaching-note-preview {
  display: -webkit-box;
  max-height: 36px;
  overflow: hidden;
  color: #405066;
  line-height: 1.35;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.coaching-action-cell {
  width: 122px;
  text-align: right;
}
.coaching-actions {
  display: inline-flex;
  justify-content: flex-end;
  gap: 5px;
}
.coaching-empty {
  padding: 24px;
  text-align: center;
}
.coaching-empty-row td {
  height: 138px;
  border-bottom: 0;
  color: var(--muted);
  text-align: center;
}
.coaching-empty-row strong,
.coaching-empty-row span {
  display: block;
}
.coaching-empty-row strong {
  color: #536173;
  font-size: 13px;
  font-weight: 900;
}
.coaching-empty-row span {
  margin-top: 4px;
  font-size: 11px;
}
.coaching-table .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}
.coaching-detail-row td {
  padding: 0 10px 10px 10px;
  background: #e8f1fb;
}
.coaching-detail-card {
  border: 1px solid rgba(var(--entry-rgb), .18);
  border-left: 4px solid rgba(var(--entry-rgb), .82);
  border-radius: 7px;
  background: #fff;
  padding: 12px 14px;
  box-shadow: 0 8px 20px rgba(15, 35, 65, .06);
}
.coaching-detail-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  color: var(--navy);
}
.coaching-detail-head strong {
  font-size: 14px;
  font-weight: 950;
}
.coaching-detail-head span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.coaching-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 9px;
}
.coaching-detail-note {
  margin-top: 10px;
  color: #33445c;
  font-size: 13px;
  line-height: 1.45;
  white-space: pre-wrap;
}
.coaching-cards-dialog {
  width: min(720px, calc(100vw - 24px));
  max-height: min(760px, calc(100vh - 24px));
  border: 1px solid #cfd8e4;
  border-radius: 10px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 22px 56px rgba(11, 31, 58, .24);
}
.coaching-cards-dialog::backdrop {
  background: rgba(13, 31, 55, .48);
}
.coaching-cards-dialog-head,
.coaching-cards-dialog-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.coaching-cards-dialog-head strong,
.coaching-cards-dialog-head span {
  display: block;
}
.coaching-cards-dialog-head strong {
  color: var(--navy);
  font-size: 15px;
  font-weight: 950;
}
.coaching-cards-dialog-head span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}
.coaching-cards-dialog-head > button {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid #d7e0ea;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  font: 900 18px/1 inherit;
  cursor: pointer;
}
.coaching-card-family-key {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 12px;
}
.coaching-card-family-key span {
  border: 1px solid;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 9px;
  font-weight: 850;
}
.coaching-card-family-key .family-entry { border-color: #9db9d8; background: #f4f8fd; color: #255d96; }
.coaching-card-family-key .family-sentiment { border-color: #b6a4d6; background: #f8f5fc; color: #6c4aa0; }
.coaching-card-family-key .family-topic { border-color: #82bbb6; background: #f1faf8; color: #287f78; }
.coaching-cards-manager-summary {
  margin-top: 10px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.coaching-cards-list {
  max-height: min(460px, calc(100vh - 280px));
  display: grid;
  gap: 5px;
  margin-top: 6px;
  overflow: auto;
}
.coaching-card-option {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #e1e6ed;
  border-radius: 7px;
  background: #fff;
  padding: 5px 7px;
}
.coaching-card-option.is-hidden {
  opacity: .58;
  background: #f5f7f9;
}
.coaching-card-grip {
  color: #8795a8;
  cursor: grab;
  font-size: 12px;
}
.coaching-card-family-dot {
  width: 7px;
  height: 24px;
  flex: 0 0 7px;
  border-radius: 999px;
  background: #5f8fbe;
}
.coaching-card-option.family-sentiment .coaching-card-family-dot { background: #8a6ab6; }
.coaching-card-option.family-topic .coaching-card-family-dot { background: #3d958d; }
.coaching-card-option-name {
  min-width: 0;
  flex: 1 1 auto;
}
.coaching-card-option-name strong,
.coaching-card-option-name small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.coaching-card-option-name strong {
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
}
.coaching-card-option-name small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.coaching-card-star-btn,
.coaching-card-hide-btn,
.coaching-card-order-actions button,
.coaching-cards-dialog-actions > button {
  min-height: 28px;
  border: 1px solid #d6dee8;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  padding: 0 8px;
  font-family: inherit;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}
.coaching-card-star-btn.is-starred {
  border-color: #d7b978;
  background: #fff8e8;
  color: #8a5d11;
}
.coaching-card-order-actions {
  display: inline-flex;
  gap: 3px;
}
.coaching-card-order-actions button {
  width: 28px;
  padding: 0;
}
.coaching-card-order-actions button:disabled {
  cursor: default;
  opacity: .4;
}
.coaching-cards-dialog-actions {
  margin-top: 12px;
  border-top: 1px solid #e6ebf1;
  padding-top: 10px;
}
.coaching-cards-dialog-actions .quick-save {
  min-width: 82px;
  border-color: var(--navy);
  background: var(--navy);
  color: #fff;
}
@media (max-width: 840px) {
  .coaching-filter-toolbar {
    grid-template-columns: 1fr auto;
  }
  .coaching-filter-title {
    grid-column: 1;
  }
  .coaching-filter-actions {
    grid-column: 2;
    grid-row: 1;
  }
  .coaching-search-input {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .coaching-filter-strip {
    grid-template-rows: repeat(2, 40px);
    grid-auto-columns: 108px;
  }
  .coaching-filter-clear,
  .coaching-filter-overview,
  .coaching-filter-card {
    height: 40px;
  }
  .coaching-table-headline {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
  .coaching-cards-dialog {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    padding: 11px;
  }
  .coaching-card-star-btn,
  .coaching-card-hide-btn {
    padding-inline: 6px;
  }
}
.dispatcher-task-note,
.management-ack-notes {
  margin-top: 12px;
  border: 1px solid #d9e1eb;
  border-radius: 7px;
  background: #f8fafc;
  padding: 10px;
}
.dispatcher-task-note-head,
.management-ack-notes-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 950;
}
.dispatcher-task-note-head span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
}
.dispatcher-task-note-input {
  width: 100%;
  min-height: 74px;
  margin-top: 8px;
  resize: vertical;
  border: 1px solid #cad5e2;
  border-radius: 7px;
  background: #fff;
  padding: 9px 10px;
  color: #172033;
  font: inherit;
}
.dispatcher-task-note-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}
.dispatcher-task-note-status {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.management-ack-notes {
  display: grid;
  gap: 8px;
}
.management-ack-note-row {
  display: grid;
  grid-template-columns: minmax(110px, .4fr) 92px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  border-top: 1px solid #e1e7ef;
  padding-top: 8px;
  color: #33445c;
  font-size: 12px;
}
.management-ack-note-row strong {
  color: var(--navy);
}
.management-ack-note-row span {
  color: var(--muted);
  font-weight: 850;
}
.management-ack-note-row p {
  margin: 0;
  white-space: pre-wrap;
}
.management-live-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 2100;
  transform: translateY(16px);
  opacity: 0;
  pointer-events: none;
  max-width: min(360px, calc(100vw - 32px));
  border: 1px solid #d9e1eb;
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  background: #fff;
  color: var(--navy);
  padding: 12px 14px;
  box-shadow: 0 16px 38px rgba(15, 35, 65, .18);
  font-size: 13px;
  font-weight: 900;
  transition: opacity .18s ease, transform .18s ease;
}
.management-live-toast.show {
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 760px) {
  .management-ack-note-row {
    grid-template-columns: 1fr;
  }
  .dispatcher-task-note-head {
    display: grid;
  }
}
.coaching-entry-panel {
  width: min(1020px, calc(100vw - 36px));
}
.coaching-entry-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 11px;
  margin-top: 10px;
}
.coaching-drawer-grid {
  grid-template-columns: 150px minmax(0, 1fr);
}
.coaching-note-textarea {
  min-height: 300px;
}
.coaching-tag-manager {
  min-width: 0;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fbfdff;
  padding: 10px;
}
.coaching-new-tag-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 66px;
  gap: 6px;
  margin-top: 10px;
}
.coaching-tag-bank {
  display: grid;
  gap: 7px;
  max-height: 430px;
  overflow: auto;
  margin-top: 10px;
  padding-right: 2px;
}
.coaching-tag-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  border: 1px solid #dfe5ec;
  border-radius: 7px;
  background: #fff;
  padding: 7px;
}
.coaching-tag-card[class*="tone-"] {
  border-color: rgba(var(--tone-rgb), .18);
  background:
    linear-gradient(90deg, rgba(var(--tone-rgb), .58) 0 4px, transparent 4px),
    #fff;
}
.coaching-tag-card.selected[class*="tone-"] {
  border-color: rgba(var(--tone-rgb), .45);
  background:
    linear-gradient(90deg, rgba(var(--tone-rgb), .78) 0 4px, transparent 4px),
    rgba(var(--tone-rgb), .085);
}
.coaching-tag-main {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: var(--text);
  padding: 0 0 0 4px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 900;
  text-align: left;
}
.coaching-tag-main span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.coaching-tag-tools {
  display: flex;
  gap: 4px;
}
@media (max-width: 1180px) {
  .management-workspace {
    grid-template-columns: minmax(0, 1fr);
  }
  .followup-tab-grid {
    grid-template-columns: 1fr;
  }
  .quick-grid,
  .dispatcher-target-strip,
  .target-strip-head,
  .goal-form-grid,
  .drawer-grid,
  .drawer-two-col,
  .notes-table-head,
  .note-row-summary {
    grid-template-columns: 1fr;
  }
  .profile-period-panel,
  .profile-numbers-command,
  .profile-numbers-redesign {
    grid-template-columns: 1fr;
  }
  .profile-period-panel.compact-profile-period {
    grid-template-columns: 1fr;
  }
  .coaching-hub,
  .coaching-entry-layout {
    grid-template-columns: 1fr;
  }
  .coaching-filter-panel {
    position: static;
  }
  .coaching-summary-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .number-mini-grid,
  .profile-target-anchors,
  .profile-derived-strip,
  .profile-target-metric-grid,
  .profile-formula-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rule-setting-form {
    grid-template-columns: minmax(0, 1fr) 92px;
  }
  .target-list {
    overflow-x: auto;
  }
}
@media (max-width: 840px) {
  .management-shell {
    padding: 10px;
  }
  .management-overview,
  .management-workspace,
  .dispatcher-strip,
  .quick-grid,
  .detail-grid {
    grid-template-columns: 1fr;
  }
  .dispatcher-rail {
    position: static;
    max-height: none;
  }
  .banner,
  .profile-header,
  .workspace-context-bar,
  .quick-feedback-head,
  .quick-footer {
    flex-direction: column;
    align-items: stretch;
  }
  .context-actions {
    justify-content: stretch;
  }
  .context-actions .quick-save {
    width: 100%;
  }
  .rule-setting-head {
    flex-direction: column;
    align-items: stretch;
  }
  .rule-setting-form {
    grid-template-columns: 1fr;
  }
  .rule-setting-current {
    text-align: left;
  }
  .number-mini-grid,
  .profile-target-anchors,
  .profile-derived-strip,
  .profile-target-metric-grid,
  .profile-formula-strip {
    grid-template-columns: 1fr;
  }
  .compact-profile-period .profile-week-stepper,
  .compact-shortcuts {
    grid-template-columns: 1fr 1fr;
  }
  .compact-shortcuts .wide-chip {
    grid-column: span 1;
  }
  .weighted-score-popover {
    left: 0;
  }
  .weighted-score-popover::before {
    left: 48px;
  }
  .record-drawer-panel {
    top: 8px;
    right: 8px;
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
  }
  .coaching-summary-row {
    grid-template-columns: 1fr;
  }
  .coaching-drawer-grid {
    grid-template-columns: 1fr;
  }
  .quick-save,
  .status-input {
    max-width: none;
    width: 100%;
  }
}

/* ---------- numbers reports ---------- */
.numbers-shell {
  min-height: 100vh;
}
.workspace-header-side,
.numbers-header-side {
  display: grid;
  justify-items: end;
  gap: 7px;
}
.numbers-page .management-banner {
  display: grid;
  grid-template-columns: minmax(210px, .62fr) minmax(0, 1.8fr);
  align-items: start;
  gap: 12px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.numbers-header-side {
  width: 100%;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  justify-items: stretch;
  gap: 10px;
}
.numbers-header-center {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
.workspace-header-nav,
.numbers-header-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}
.numbers-header-nav {
  justify-content: flex-start;
}
.workspace-header-nav a,
.numbers-header-nav a {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 6px;
  background: rgba(255,255,255,.08);
  color: #eef5ff;
  padding: 0 9px;
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
}
.workspace-header-nav a:hover,
.numbers-header-nav a:hover {
  background: rgba(255,255,255,.16);
}
.numbers-header-tools {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 6px;
}
.header-upload-tile {
  width: 158px;
  min-height: 32px;
  display: grid;
  align-content: center;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 6px;
  background: rgba(255,255,255,.1);
  color: #eef5ff;
  padding: 4px 8px;
  cursor: pointer;
}
.header-upload-tile.is-dragging {
  border-color: #fff;
  background: rgba(255,255,255,.2);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);
}
.header-upload-tile span {
  color: rgba(238,245,255,.72);
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}
.header-upload-tile strong {
  min-width: 0;
  overflow: hidden;
  margin-top: 3px;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.header-upload-tile input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.square-action {
  width: 56px;
  height: 32px;
  border-color: rgba(255,255,255,.28);
  border-radius: 6px;
  padding: 0 6px;
  font-size: 11px;
  line-height: 1;
}
.numbers-page .session-actions {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  text-align: right;
  white-space: nowrap;
}
.numbers-page .session-role {
  display: none;
}
.numbers-page .signoutbtn {
  margin-top: 0;
  height: 28px;
}
.numbers-header-tools .secondary-save {
  background: rgba(255,255,255,.95);
}
.numbers-header-tools .quick-save:not(.secondary-save) {
  background: #eef5ff;
  color: #102746;
}
.numbers-header-tools .quick-save:disabled {
  background: rgba(255,255,255,.16);
  color: rgba(238,245,255,.62);
}
.numbers-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: start;
  margin-top: 10px;
}
.numbers-rail,
.numbers-main {
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
}
.numbers-main {
  min-width: 0;
  padding: 11px;
}
.numbers-rail {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  padding: 7px;
}
.numbers-rail-btn {
  min-height: 48px;
  border: 1px solid #e1e6ed;
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 8px 10px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.numbers-rail-btn:hover {
  background: #f7f9fc;
}
.numbers-rail-btn.active {
  border-color: #16315c;
  background: #16315c;
  color: #fff;
}
.numbers-rail-btn strong,
.numbers-rail-btn span {
  display: block;
}
.numbers-rail-btn strong {
  font-size: 13px;
  line-height: 1.2;
}
.numbers-rail-btn span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}
.numbers-rail-btn.active span {
  color: #d7e2f0;
}
.dispatcher-numbers-mode .numbers-header-tools,
.dispatcher-numbers-mode .numbers-worklist,
.dispatcher-numbers-mode .driver-period-shortcuts {
  display: none;
}
.dispatcher-numbers-mode .numbers-rail {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dispatcher-numbers-mode .numbers-rail-btn[hidden] {
  display: none;
}
.dispatcher-numbers-mode .numbers-rail-btn {
  min-height: 38px;
}
.dispatcher-numbers-mode .numbers-rail-btn span {
  display: none;
}
.dispatcher-competition-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid #d8e2ee;
  border-radius: 8px;
  background: #f8fafc;
  color: #526274;
  padding: 9px 11px;
  font-size: 12px;
}
.dispatcher-competition-notice[hidden] {
  display: none;
}
.dispatcher-competition-notice strong {
  color: var(--navy);
  font-size: 14px;
}
.dispatcher-numbers-mode .scorecard-shell {
  margin-top: 10px;
}
.dispatcher-numbers-mode .table-view-tools {
  display: none;
}
.numbers-view {
  min-width: 0;
}
.numbers-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #edf0f4;
  padding-bottom: 10px;
}
.numbers-title {
  color: var(--navy);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.1;
}
.numbers-subtitle {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}
.numbers-head-actions {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 8px;
}
.ask-numbers-head {
  align-items: center;
}
.ask-head-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.ask-numbers-panel {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.ask-control-grid {
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: 10px;
}
.ask-card,
.ask-question-card,
.ask-answer-panel {
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #fff;
}
.ask-card {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 130px;
  padding: 10px;
}
.ask-card-title,
.ask-question-card label {
  color: #536174;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ask-date-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.ask-date-grid label {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.ask-date-grid span {
  color: #667386;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}
.ask-quick-periods {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
}
.ask-year-shortcuts {
  grid-column: span 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}
.ask-quarter-picker {
  min-width: 0;
}
.ask-quarter-picker summary {
  height: 25px;
}
.ask-week-stepper {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  gap: 4px;
}
.ask-week-stepper button:disabled {
  opacity: .42;
  cursor: default;
}
.ask-week-stepper strong,
.ask-week-stepper small {
  display: block;
}
.ask-week-stepper small {
  margin-top: 2px;
  color: inherit;
  font-size: 8px;
}
.ask-quick-periods button,
.ask-entity-options button,
.ask-chip {
  min-height: 25px;
  border: 1px solid #d4dfeb;
  border-radius: 7px;
  background: #fff;
  color: #19345d;
  font-family: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.ask-quick-periods button:hover,
.ask-entity-options button:hover,
.ask-chip:hover {
  border-color: #aebfd3;
  background: #f5f8fc;
}
.ask-quick-periods button.active {
  border-color: #16315c;
  background: #16315c;
  color: #fff;
}
.ask-entity-row {
  display: grid;
  grid-template-columns: 138px minmax(150px, 1fr) 72px;
  gap: 7px;
  align-items: center;
}
.ask-selected-entities {
  min-height: 31px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  border: 1px dashed #d6e0ec;
  border-radius: 8px;
  background: #f8fafc;
  padding: 5px;
}
.ask-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 23px;
  padding: 0 8px;
  border-color: #b9d0ec;
  background: #eef6ff;
}
.ask-chip span {
  color: #64748b;
  font-size: 14px;
  line-height: 1;
}
.ask-selection-placeholder,
.ask-entity-hint {
  color: #7b8797;
  font-size: 12px;
}
.ask-entity-options {
  max-height: 116px;
  overflow: auto;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 5px;
  padding-right: 2px;
}
.ask-entity-options button {
  min-height: 23px;
  padding: 0 8px;
  color: #32445b;
  font-size: 10px;
}
.ask-question-card {
  display: grid;
  gap: 7px;
  padding: 10px;
}
.ask-question-card textarea {
  min-height: 86px;
  resize: vertical;
  line-height: 1.35;
}
.ask-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.ask-status {
  color: #687589;
  font-size: 12px;
}
.ask-answer-panel {
  min-height: 360px;
  overflow: hidden;
}
.ask-answer-empty {
  display: grid;
  align-content: center;
  gap: 5px;
  min-height: 230px;
  padding: 18px;
  color: #6b7789;
  text-align: center;
}
.ask-answer-empty strong {
  color: #17345f;
  font-size: 18px;
}
.ask-answer-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  border-bottom: 1px solid #e4ebf3;
  background: #f6f9fd;
  padding: 8px 10px;
}
.ask-answer-meta span {
  border: 1px solid #d7e2f0;
  border-radius: 999px;
  background: #fff;
  color: #39495d;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 800;
}
.ask-answer-copy {
  padding: 14px;
  color: #213047;
  font-size: 14px;
  line-height: 1.48;
}
.ask-chat-transcript {
  max-height: 58vh;
  overflow: auto;
  display: grid;
  gap: 12px;
  padding: 14px;
  background: #fbfdff;
}
.ask-chat-message {
  display: grid;
  gap: 4px;
}
.ask-chat-message.user {
  justify-items: end;
}
.ask-chat-message.assistant {
  justify-items: start;
}
.ask-chat-role {
  color: #6b7789;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ask-chat-bubble {
  max-width: min(1040px, 86%);
  border: 1px solid #dce5ef;
  border-radius: 10px;
  background: #fff;
  padding: 10px 12px;
  color: #213047;
  font-size: 14px;
  line-height: 1.48;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}
.ask-chat-message.user .ask-chat-bubble {
  border-color: #b9d0ec;
  background: #eef6ff;
}
.ask-chat-message.pending .ask-chat-bubble {
  color: #667386;
  font-style: italic;
}
.ask-answer-heading {
  display: block;
  margin: 10px 0 4px;
  color: #102b54;
  font-size: 15px;
}
.numbers-filter-panel {
  display: grid;
  grid-template-columns: minmax(428px, 450px) minmax(0, 1fr);
  gap: 8px;
  margin-top: 8px;
}
.numbers-view > .numbers-filter-panel:first-child,
.numbers-view > .driver-report-status:first-child {
  margin-top: 0;
}
.upload-tile,
.period-tile {
  min-height: 54px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #f8fafc;
  padding: 7px;
}
.date-range-tile {
  display: grid;
  align-content: center;
  min-width: 0;
}
.period-hidden-control {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.upload-tile {
  display: grid;
  align-content: center;
  cursor: pointer;
}
.upload-tile-compact {
  width: min(260px, 32vw);
  min-height: 50px;
  padding: 8px 10px;
  background: #fff;
}
.upload-tile-compact.is-dragging {
  border-color: #185a9d;
  background: #eef6ff;
  box-shadow: inset 0 0 0 2px rgba(24, 90, 157, .12);
}
.upload-tile input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.upload-tile span,
.period-tile span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}
.upload-tile strong {
  display: block;
  overflow: hidden;
  margin-top: 6px;
  color: var(--navy);
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.upload-tile-compact strong {
  margin-top: 3px;
  font-size: 13px;
}
.period-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 5px;
  margin-top: 5px;
}
.period-tile .quick-input {
  min-width: 0;
  min-height: 28px;
  height: 28px;
  padding: 0 5px;
  font-size: 11px;
}
.period-date-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) 76px;
  align-items: end;
  gap: 7px;
  margin-top: 0;
}
.period-date-row label {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.period-date-row label span {
  font-size: 8px;
}
.period-date-row .quick-input {
  width: 100%;
  min-width: 0;
  padding: 0 6px;
  font-size: 10px;
}
.numbers-page .date-range-tile .smart-date-control.is-date-only {
  grid-template-columns: minmax(124px, 1fr) 30px;
  gap: 4px;
}
.numbers-page .date-range-tile .smart-date-native-picker {
  width: 30px !important;
  min-width: 30px !important;
  padding-inline: 4px;
}
.numbers-page .period-date-row .period-range-apply {
  grid-column: auto;
  width: 100%;
  min-height: 28px;
  height: 28px;
  padding: 0 8px;
  white-space: nowrap;
}
.period-shortcuts {
  min-width: 0;
  display: grid;
  gap: 4px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #f8fafc;
  padding: 5px;
}
.compact-shortcuts {
  grid-template-columns: max-content max-content max-content minmax(0, 1fr);
  grid-template-areas:
    "years quarters months future"
    "weeks quarters months future";
  align-items: start;
  justify-content: start;
}
.shortcut-group {
  display: grid;
  gap: 3px;
}
.shortcut-group > span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}
.years-group,
.quarters-group,
.months-group {
  align-self: start;
}
.compact-shortcuts .years-group > span,
.compact-shortcuts .quarters-group > span,
.compact-shortcuts .months-group > span,
.compact-shortcuts .weeks-group > span {
  display: none;
}
.compact-shortcuts .years-group {
  grid-area: years;
}
.compact-shortcuts .weeks-group {
  grid-area: weeks;
}
.compact-shortcuts .quarters-group {
  grid-area: quarters;
}
.compact-shortcuts .months-group {
  grid-area: months;
}
.weeks-group {
  min-width: 154px;
}
.shortcut-grid {
  overflow: hidden;
  display: grid;
  gap: 3px;
}
.years-grid {
  display: flex;
  flex-wrap: nowrap;
}
.years-grid .shortcut-card {
  flex: 0 0 auto;
}
.today-card {
  min-width: 46px;
  border-color: #bcd3ef;
  background: #f2f7ff;
  color: #173b68;
}
.year-select-card {
  min-width: 34px;
  background: #fffdf2;
  border-color: #e3d69f;
  color: #59430a;
}
.month-grid {
  display: grid;
  grid-template-columns: repeat(6, 50px);
  grid-auto-rows: 20px;
}
.week-grid {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
}
.quarter-grid {
  display: grid;
  grid-template-columns: repeat(2, 32px);
  grid-auto-rows: 20px;
}
.quarter-grid .shortcut-card {
  min-width: 32px;
}
.month-grid .shortcut-card {
  min-width: 50px;
}
.year-card {
  background: #f1f6ff;
  border-color: #bfd2e8;
  color: #16315c;
}
.shortcut-card {
  min-width: 0;
  min-height: 20px;
  border: 1px solid #d5dfe9;
  border-radius: 6px;
  background: #fff;
  color: #263548;
  padding: 0 2px;
  font-family: inherit;
  font-size: 8px;
  font-weight: 850;
  line-height: 1;
  text-align: center;
  cursor: pointer;
}
.shortcut-card:hover {
  border-color: #aebccd;
  background: #f2f6fb;
}
.shortcut-card:focus {
  outline: 2px solid rgba(24, 90, 157, .55);
  outline-offset: -2px;
}
.shortcut-card.active {
  border-color: #185a9d;
  background: #16315c;
  color: #fff;
}
.shortcut-card.current-week {
  border-color: #14904a;
  box-shadow: inset 0 0 0 2px #14904a, 0 0 0 1px rgba(20,144,74,.18);
}
.shortcut-card.current-week:not(.active) {
  background: #effaf3;
  color: #0f6d37;
}
.shortcut-card.current-week.active {
  border-color: #20b65b;
  box-shadow: inset 0 0 0 2px #20b65b, 0 0 0 2px rgba(32,182,91,.22);
}
.shortcut-card small {
  display: block;
  margin-top: 2px;
  color: inherit;
  font-size: 8px;
  font-weight: 800;
  opacity: .75;
}
.week-grid .shortcut-card {
  height: 24px;
  display: grid;
  align-content: center;
  gap: 1px;
  font-size: 9px;
  overflow: hidden;
}
.week-grid .week-step-card {
  flex: 0 0 30px;
  min-width: 30px;
  font-size: 13px;
}
.week-grid .selected-week-card {
  flex: 0 0 120px;
  min-width: 120px;
}
.week-grid .shortcut-card strong {
  display: block;
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}
.week-grid .shortcut-card small {
  margin-top: 0;
  font-size: 6px;
  line-height: 1;
  white-space: nowrap;
}
.output-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 11px;
}
.output-chip {
  min-height: 30px;
  border: 1px solid #d5dfe9;
  border-radius: 999px;
  background: #fff;
  color: var(--navy);
  padding: 0 10px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.output-chip.active {
  border-color: #cfe7d5;
  background: #e7f4ea;
  color: #176b35;
}
.scorecard-shell {
  width: 100%;
  margin-top: 11px;
  overflow-x: auto;
  overflow-y: visible;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
}
.scorecard-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid #edf0f4;
  background: #f8fafc;
  padding: 7px 8px;
}
.scorecard-filter-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid #d7e0ea;
  border-radius: 7px;
  background: #fff;
  padding: 3px;
}
.scorecard-filter-tabs button {
  min-height: 28px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #526274;
  padding: 0 9px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}
.scorecard-filter-tabs button:hover {
  background: #eef3f8;
  color: var(--navy);
}
.scorecard-filter-tabs button.active {
  background: var(--navy);
  color: #fff;
}
.table-view-tools {
  position: relative;
  min-width: 0;
  color: var(--text);
}
.table-view-main {
  display: flex;
  align-items: center;
  gap: 5px;
}
.table-view-select {
  width: min(190px, 24vw);
  height: 32px;
  border: 1px solid #d7e0ea;
  border-radius: 7px;
  background: #fff;
  color: var(--text);
  padding: 0 8px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
}
.table-view-btn {
  height: 32px;
  border: 1px solid #d2dae5;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  padding: 0 9px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}
.table-view-btn:hover,
.table-view-actions button:hover {
  background: #f2f6fb;
  border-color: #b8c7da;
}
.table-view-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 25;
  width: min(360px, calc(100vw - 28px));
  border: 1px solid #cad4e1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(15, 39, 72, .18);
  padding: 10px;
}
.table-view-panel-title {
  color: var(--navy);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}
.table-view-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
}
.table-view-check {
  min-width: 0;
  min-height: 30px;
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #e2e8f0;
  border-radius: 7px;
  background: #f8fafc;
  padding: 5px 7px;
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
}
.table-view-check input {
  flex: none;
}
.table-view-check span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.table-view-check:has(input:checked) {
  border-color: #b8d4ef;
  background: #f0f7ff;
}
.table-view-check:has(input:disabled) {
  opacity: .72;
}
.table-view-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}
.table-view-actions button {
  min-height: 28px;
  border: 1px solid #d2dae5;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  padding: 0 8px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.table-view-msg {
  min-height: 16px;
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.dispatcher-search-input {
  width: min(230px, 34vw);
  height: 32px;
  background: #fff;
}
.analysis-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(105px, 1fr));
  gap: 1px;
  margin-bottom: 8px;
  overflow: hidden;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  border-bottom: 1px solid #dfe5ec;
  background: #dfe5ec;
}
.analysis-summary span {
  min-height: 36px;
  display: grid;
  align-content: center;
  gap: 3px;
  background: #f8fafc;
  color: var(--text);
  padding: 5px 8px;
  font-size: 11px;
  font-weight: 750;
}
.analysis-summary strong {
  display: block;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.scorecard-table-head {
  position: sticky;
  top: 0;
  z-index: 8;
  display: grid;
  width: 100%;
  min-width: 100%;
  gap: 0;
  min-height: 34px;
  align-items: center;
  border-bottom: 1px solid #d7e0ea;
  background: #e7edf4;
  color: #526274;
  padding: 0;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.scorecard-table-head button,
.scorecard-head-cell {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 34px;
  min-width: 0;
  border: 0;
  border-right: 1px solid #d7e0ea;
  background: transparent;
  color: inherit;
  padding: 0 16px 0 8px;
  font: inherit;
  text-transform: inherit;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.scorecard-table-head button:hover,
.scorecard-head-cell:hover {
  color: #18345f;
  background: #dfe8f2;
}
.scorecard-table-head button.active,
.scorecard-head-cell.active {
  color: #16315c;
}
.scorecard-table-head button.active::after,
.scorecard-head-cell.active::after {
  content: " ↓";
  position: absolute;
  right: 6px;
  top: 11px;
  font-size: 10px;
}
.scorecard-table-head button.active[aria-sort="ascending"]::after,
.scorecard-head-cell.active[aria-sort="ascending"]::after {
  content: " ↑";
}
.scorecard-table-head .text-cell {
  justify-content: flex-start;
  text-align: left;
}
.scorecard-table-head .num-cell {
  justify-content: flex-end;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.scorecard-resize-handle {
  position: absolute;
  top: 0;
  right: -3px;
  width: 8px;
  height: 100%;
  cursor: col-resize;
  z-index: 2;
}
.scorecard-resize-handle:hover::after {
  content: "";
  position: absolute;
  top: 7px;
  bottom: 7px;
  left: 3px;
  width: 2px;
  border-radius: 999px;
  background: #2a68b8;
}
.scorecard-empty {
  display: grid;
  gap: 4px;
  min-height: 124px;
  align-content: center;
  justify-items: center;
  color: var(--muted);
  padding: 20px;
  text-align: center;
}
.scorecard-empty strong {
  color: var(--text);
  font-size: 15px;
}
.scorecard-empty span {
  font-size: 12px;
}
.scorecard-empty.compact-empty {
  min-height: 76px;
}
.scorecard-body {
  display: grid;
  width: 100%;
  min-width: 100%;
}
.scorecard-row {
  display: grid;
  gap: 0;
  min-height: 34px;
  align-items: center;
  border-top: 1px solid #edf0f4;
  padding: 0;
  color: var(--text);
  font-size: 12px;
}
.scorecard-row > span {
  min-width: 0;
  height: 100%;
  display: flex;
  align-items: center;
  border-right: 1px solid #edf0f4;
  padding: 0 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.scorecard-row:nth-child(even):not(.total) {
  background: #f8fafc;
}
.scorecard-row:hover:not(.total) {
  background: #fff7d6;
  box-shadow: inset 3px 0 0 #e7b93f;
}
.scorecard-row.search-hit:not(.total) {
  background: #dff8e7;
  box-shadow: inset 4px 0 0 #20994f, 0 0 0 2px rgba(32,153,79,.18);
}
.scorecard-row.inactive:not(.total) {
  border-left: 3px solid #a8b0bb;
  background: linear-gradient(90deg, #eef1f4 0%, #f6f8fa 42%, #fff 100%);
  color: #66717f;
}
.scorecard-row.inactive:hover:not(.total) {
  background: linear-gradient(90deg, #e7ebef 0%, #fff7d6 48%, #fffbee 100%);
}
.scorecard-row.inactive:nth-child(even):not(.total) {
  background: linear-gradient(90deg, #e9edf1 0%, #f3f6f9 44%, #fbfcfd 100%);
}
.scorecard-row.inactive.search-hit:not(.total) {
  background: linear-gradient(90deg, #e6eaee 0%, #dff8e7 48%, #f3fbf6 100%);
  box-shadow: inset 4px 0 0 #20994f, 0 0 0 2px rgba(32,153,79,.18);
}
.scorecard-row.total {
  position: sticky;
  top: 34px;
  z-index: 7;
  border-top: 0;
  border-bottom: 2px solid #a9bdd5;
  background: #e8f2ff;
  color: var(--navy);
  font-weight: 900;
}
.scorecard-row span:not(:first-child) {
  justify-content: flex-end;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.scorecard-row .num-cell {
  justify-content: flex-end;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.scorecard-row .text-cell {
  justify-content: flex-start;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
}
.numbers-worklist,
.driver-report-grid,
.rules-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 11px;
}
.numbers-worklist.single-worklist {
  grid-template-columns: minmax(0, 1fr);
}
.driver-report-status {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 1px;
  margin-top: 11px;
  overflow: hidden;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #dfe5ec;
  color: var(--muted);
  font-size: 13px;
}
.driver-report-status span {
  min-height: 50px;
  display: grid;
  align-content: center;
  gap: 3px;
  background: #f8fafc;
  padding: 7px 9px;
  color: var(--text);
  font-weight: 750;
}
.driver-report-status strong {
  display: block;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.driver-report-status.assignment-filter-mode {
  grid-template-columns: minmax(158px, 190px) minmax(0, 1fr);
  gap: 8px;
  padding: 8px;
  background: #fff;
  border-color: #d9e2ec;
  align-items: stretch;
}
.driver-report-status.assignment-filter-mode strong {
  color: inherit;
}
.driver-assignment-filter-head {
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: 54px;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #f8fafc;
  padding: 8px 10px;
}
.driver-assignment-filter-head strong {
  color: var(--navy);
  font-size: 12px;
  font-weight: 900;
  text-transform: none;
}
.driver-assignment-filter-head span {
  min-height: 0;
  display: block;
  background: transparent;
  padding: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.driver-assignment-cards {
  display: flex;
  align-items: stretch;
  gap: 7px;
  min-width: 0;
  overflow-x: auto;
  padding: 0 1px 1px;
  scrollbar-width: thin;
}
.driver-assignment-card {
  position: relative;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  grid-template-rows: minmax(18px, auto) minmax(16px, auto);
  align-content: center;
  align-items: center;
  column-gap: 7px;
  row-gap: 2px;
  min-width: 94px;
  min-height: 54px;
  border: 1px solid #d7e0ea;
  border-top: 2px solid var(--assignment-color, #64748b);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 8px 10px;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.driver-assignment-card:hover {
  border-color: var(--assignment-color, #64748b);
  background: #f8fbff;
}
.driver-assignment-card.active {
  border-color: #16315c;
  border-top-color: var(--assignment-color, #f2c94c);
  background: #16315c;
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
.driver-assignment-card .assignment-dot {
  grid-row: 1;
  align-self: center;
  justify-self: center;
  display: block;
  min-height: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  padding: 0;
  box-shadow: 0 0 0 2px rgba(255,255,255,.9);
}
.driver-assignment-card strong {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  overflow: hidden;
  color: inherit;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}
.driver-assignment-card small {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1.1;
  text-transform: uppercase;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-assignment-card.active small {
  color: rgba(255,255,255,.72);
}
.driver-assignment-empty {
  display: grid;
  min-height: 54px;
  align-items: center;
  border: 1px dashed #c9d6e6;
  border-radius: 8px;
  color: var(--muted);
  padding: 0 12px;
  font-size: 12px;
  font-weight: 800;
}
.driver-period-shortcuts {
  margin-top: 11px;
}
.driver-report-panel {
  margin-top: 11px;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
}
.driver-report-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #edf0f4;
  padding: 10px;
}
.driver-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: min(520px, 48vw);
}
.driver-filter-tabs {
  flex: none;
}
.driver-report-card-head strong,
.driver-report-card-head span {
  display: block;
}
.driver-report-card-head strong {
  color: var(--navy);
  font-size: 15px;
  font-weight: 900;
}
.driver-report-card-head span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}
.driver-search-input {
  width: min(260px, 32vw);
  height: 34px;
  flex: none;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 0 10px;
  font-family: inherit;
  font-size: 13px;
}
.driver-search-wrap {
  display: flex;
  min-width: 220px;
  align-items: center;
  gap: 8px;
  flex: none;
}
.driver-search-wrap .driver-search-input {
  width: min(260px, 28vw);
}
.driver-search-meta {
  min-width: 82px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.driver-search-input:focus {
  border-color: #185a9d;
  outline: none;
  box-shadow: 0 0 0 3px rgba(24,90,157,.12);
}
.driver-table-shell {
  overflow-x: auto;
  overflow-y: visible;
}
.driver-table-head,
.driver-table-row {
  display: grid;
  gap: 8px;
  align-items: center;
  width: max-content;
  min-width: 100%;
  padding: 0 10px;
}
.breakdown-driver-head,
.breakdown-driver-row {
  min-width: max-content;
}
.driver-table-head {
  position: sticky;
  top: 0;
  z-index: 8;
  min-height: 38px;
  border-bottom: 1px solid #d7e0ea;
  background: #28313d;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.driver-table-head button {
  position: relative;
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  text-transform: inherit;
  cursor: pointer;
}
.driver-head-cell {
  position: relative;
  min-height: 38px;
  display: flex;
  align-items: center;
  padding-right: 11px;
}
.driver-head-cell[draggable="true"] {
  cursor: grab;
}
.driver-head-cell[draggable="true"]:active {
  cursor: grabbing;
}
.driver-resize-handle {
  position: absolute;
  top: 7px;
  right: -5px;
  width: 9px;
  height: 24px;
  border-right: 2px solid rgba(255,255,255,.42);
  cursor: col-resize;
}
.driver-resize-handle:hover {
  border-right-color: #fff;
}
.driver-table-head button:hover {
  color: #dbeafe;
}
.driver-table-head button.active {
  color: #fff;
}
.driver-table-head button.active::after {
  content: " ↓";
  font-size: 9px;
}
.driver-table-head button.active[aria-sort="ascending"]::after {
  content: " ↑";
}
.driver-table-body {
  display: grid;
}
.driver-table-row {
  min-height: 38px;
  border-top: 1px solid #edf0f4;
  color: var(--text);
  font-size: 12px;
}
.driver-table-row:nth-child(even):not(.total) {
  background: #f8fafc;
}
.driver-table-row:hover:not(.total) {
  background: #fff7d6;
  box-shadow: inset 3px 0 0 #e7b93f;
}
.driver-table-row.search-hit:not(.total) {
  background: #dff8e7;
  box-shadow: inset 4px 0 0 #20994f, 0 0 0 2px rgba(32,153,79,.18);
}
.driver-table-row.inactive:not(.total) {
  border-left: 3px solid #a8b0bb;
  background: linear-gradient(90deg, #eef1f4 0%, #f6f8fa 42%, #fff 100%);
  color: #66717f;
}
.driver-table-row.inactive:hover:not(.total) {
  background: linear-gradient(90deg, #e7ebef 0%, #fff7d6 48%, #fffbee 100%);
}
.driver-table-row.inactive.search-hit:not(.total) {
  background: linear-gradient(90deg, #e6eaee 0%, #dff8e7 48%, #f3fbf6 100%);
  box-shadow: inset 4px 0 0 #20994f, 0 0 0 2px rgba(32,153,79,.18);
}
.driver-table-row.total {
  position: sticky;
  top: 38px;
  z-index: 7;
  border-top: 0;
  border-bottom: 2px solid #a9bdd5;
  background: #e8f2ff;
  color: var(--navy);
  font-weight: 900;
}
.driver-table-row.high:not(.total) {
  background: #b8f3bc;
}
.driver-table-row.good:not(.total) {
  background: #e5f8df;
}
.driver-table-row span,
.driver-table-head span,
.driver-table-head button {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-table-row .num-cell,
.driver-table-head .num-cell {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.driver-table-head .num-cell {
  justify-content: flex-end;
}
.driver-table-row .text-cell,
.driver-table-head .text-cell,
.driver-table-head button[data-driver-sort-key="name"] {
  text-align: left;
}
.driver-table-head .text-cell {
  justify-content: flex-start;
}
.driver-profile-link {
  color: var(--link);
  font-weight: 900;
  text-decoration: none;
}
.dispatcher-profile-link {
  color: var(--link);
  font-weight: 900;
  text-decoration: none;
}
.driver-profile-link:hover,
.dispatcher-profile-link:hover {
  text-decoration: underline;
}
.driver-profile-shell {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.driver-profile-panel {
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
  padding: 11px;
}
.driver-profile-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #edf0f4;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.driver-profile-head strong,
.driver-profile-head span {
  display: block;
}
.driver-profile-head strong {
  color: var(--navy);
  font-size: 18px;
  font-weight: 900;
}
.driver-profile-head span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}
.driver-profile-placeholder {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.driver-profile-placeholder div {
  min-height: 82px;
  border: 1px dashed #ccd6e2;
  border-radius: 8px;
  background: #f8fafc;
  padding: 10px;
}
.driver-profile-placeholder strong,
.driver-profile-placeholder span {
  display: block;
}
.driver-profile-placeholder strong {
  color: var(--text);
  font-size: 13px;
}
.driver-profile-placeholder span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}
.driver-management-shell {
  min-height: 100vh;
}
.driver-management-grid {
  display: grid;
  grid-template-columns: 318px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-top: 10px;
}
.driver-management-grid.roster-mode {
  grid-template-columns: minmax(0, 1fr);
}
.driver-management-grid.roster-mode .driver-profile-main {
  width: 100%;
}
.mobile-driver-picker,
.driver-picker-backdrop,
.driver-picker-close {
  display: none;
}
.driver-selector-panel,
.driver-profile-main {
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
}
.driver-selector-panel {
  position: sticky;
  top: 10px;
  max-height: calc(100vh - 22px);
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 9px;
  padding: 10px;
}
.driver-selector-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.driver-selector-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.driver-import-open {
  min-height: 30px;
  border: 1px solid #c7d5e8;
  border-radius: 7px;
  background: #edf4ff;
  color: var(--navy);
  padding: 0 10px;
  font: 900 11px/1 inherit;
  cursor: pointer;
  white-space: nowrap;
}
.driver-import-open:hover {
  border-color: var(--navy);
  background: #e2ecfb;
}
.roster-import-drop {
  min-width: 146px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px dashed #9bb2cf;
  border-radius: 7px;
  background: #f6f9fd;
  color: var(--navy);
  padding: 4px 9px;
  white-space: nowrap;
  cursor: default;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.roster-import-drop > img {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  filter: brightness(0) saturate(100%) invert(27%) sepia(34%) saturate(1665%) hue-rotate(174deg) brightness(92%) contrast(92%);
}
.roster-import-drop > span {
  display: grid;
  gap: 2px;
  text-align: left;
}
.roster-import-drop strong {
  font: 900 10px/1 inherit;
}
.roster-import-drop small {
  color: #66758a;
  font: 800 9px/1 inherit;
}
.roster-import-drop.dragging {
  border-color: #2162a8;
  background: #eaf3ff;
  box-shadow: 0 0 0 3px rgba(33, 98, 168, .14);
  transform: translateY(-1px);
}
.driver-picker-search {
  width: 100%;
}
.driver-status-filter {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}
.driver-status-filter button {
  height: 30px;
  border: 1px solid #d3dce8;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}
.driver-status-filter button.active {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
.driver-target-list {
  min-height: 0;
  display: grid;
  gap: 6px;
  overflow: auto;
  padding-right: 2px;
}
.driver-target-card {
  min-width: 0;
  min-height: 48px;
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  border: 1px solid #d8e0eb;
  border-radius: 8px;
  background: #fff;
  color: var(--text);
  padding: 8px 9px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.driver-target-card:hover {
  border-color: #b9c7dc;
  background: #f8fbff;
}
.driver-target-card.active {
  border-color: var(--navy);
  background: #eaf2ff;
  box-shadow: inset 3px 0 0 var(--navy);
}
.driver-target-card.inactive {
  background: linear-gradient(90deg, #f0f2f5 0%, #fbfcfd 58%, #fff 100%);
  color: #66717f;
}
.driver-target-text {
  min-width: 0;
}
.driver-target-text strong,
.driver-target-text small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-target-text strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 950;
}
.driver-target-text small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.driver-empty-select {
  padding: 14px;
  text-align: center;
}
.driver-import-card {
  width: min(820px, calc(100vw - 24px));
  max-height: min(820px, calc(100vh - 24px));
  overflow: auto;
}
.driver-import-dropzone {
  min-height: 132px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  border: 2px dashed #b7c5d8;
  border-radius: 8px;
  background: #f7f9fc;
  color: var(--navy);
  padding: 18px;
  text-align: center;
  cursor: pointer;
}
.driver-import-dropzone.dragging,
.driver-import-dropzone:hover {
  border-color: #2162a8;
  background: #edf5ff;
}
.driver-import-dropzone input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.driver-import-drop-icon {
  color: #2162a8;
  font-size: 24px;
  font-weight: 950;
}
.driver-import-dropzone strong {
  font-size: 15px;
}
.driver-import-dropzone small {
  max-width: 560px;
  color: var(--muted);
  font-size: 12px;
}
.driver-import-file-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}
.driver-import-file-list span {
  border: 1px solid #d9e1eb;
  border-radius: 6px;
  background: #fff;
  color: #3d4a5c;
  padding: 5px 7px;
  font-size: 11px;
  font-weight: 800;
}
.driver-import-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 9px;
}
.driver-import-stat {
  min-width: 0;
  border: 1px solid #dfe5ec;
  border-radius: 7px;
  background: #f8fafc;
  padding: 8px;
}
.driver-import-stat span,
.driver-import-stat strong {
  display: block;
}
.driver-import-stat span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
}
.driver-import-stat strong {
  margin-top: 3px;
  color: var(--navy);
  font-size: 18px;
}
.driver-import-stat.positive {
  border-color: #b8dfc8;
  background: #f0faf4;
}
.driver-import-stat.warning {
  border-color: #ead39b;
  background: #fff9e9;
}
.driver-import-change-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  margin-top: 8px;
  border: 1px solid #c8d8ea;
  border-left: 3px solid #2162a8;
  border-radius: 7px;
  background: #f3f7fc;
  padding: 8px 10px;
  color: #33445b;
}
.driver-import-change-summary strong {
  color: var(--navy);
  font-size: 11px;
  white-space: nowrap;
}
.driver-import-change-summary span {
  font-size: 11px;
  line-height: 1.4;
}
.driver-import-change-summary.applied {
  border-color: #b6dcc5;
  border-left-color: #21824f;
  background: #eff9f3;
}
.driver-import-warnings {
  display: grid;
  gap: 7px;
  margin-top: 9px;
}
.driver-import-warning,
.driver-import-error,
.driver-import-ready {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #e6cc8a;
  border-radius: 7px;
  background: #fff9e9;
  padding: 9px 10px;
}
.driver-import-error {
  border-color: #e6b2b2;
  background: #fff2f2;
  color: #9c2929;
}
.driver-import-ready {
  border-color: #b6dcc5;
  background: #eff9f3;
  color: #17693d;
}
.driver-import-warning strong,
.driver-import-warning span,
.driver-import-error strong,
.driver-import-error span,
.driver-import-ready strong,
.driver-import-ready span {
  display: block;
}
.driver-import-warning span,
.driver-import-error span,
.driver-import-ready span {
  margin-top: 2px;
  font-size: 11px;
}
.driver-import-decision,
.driver-import-select {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}
.driver-import-select select {
  min-width: 180px;
  height: 32px;
  border: 1px solid #cbd6e4;
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  font: 800 11px/1 inherit;
}
.driver-import-footer {
  position: sticky;
  bottom: -1px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 10px -2px -2px;
  border-top: 1px solid #e4e9ef;
  background: #fff;
  padding: 10px 2px 2px;
}
.driver-profile-main {
  min-width: 0;
  padding: 10px;
}
.driver-profile-hero .context-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}
.driver-profile-hero {
  min-height: 74px;
  display: grid;
  grid-template-columns: minmax(210px, .8fr) minmax(0, 1.35fr) auto;
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid #edf0f4;
  padding-bottom: 10px;
}
.driver-profile-name {
  color: var(--navy);
  font-size: clamp(22px, 2vw, 34px);
  font-weight: 950;
  line-height: 1.05;
}
.driver-profile-meta {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.driver-profile-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.driver-profile-stats div {
  min-width: 0;
  min-height: 48px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #f8fafc;
  padding: 7px 8px;
}
.driver-profile-stats span,
.driver-profile-stats strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-profile-stats span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.driver-profile-stats strong {
  margin-top: 3px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 950;
}
.driver-management-grid.profile-dossier-mode {
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 0;
}
.profile-dossier-mode .driver-selector-panel,
.profile-dossier-mode .driver-profile-hero {
  display: none;
}
.profile-dossier-mode .driver-profile-main {
  min-height: calc(100vh - 22px);
  border-radius: 0 8px 8px 0;
  padding: 0 14px 14px;
}
.profile-dossier-mode .profile-tabs {
  min-height: 60px;
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin: 0;
  border-bottom: 1px solid #dfe5ec;
  padding: 0 2px;
}
.profile-dossier-mode .profile-tabs .profile-tab {
  min-width: 92px;
  border-radius: 0;
  padding: 0 13px;
  font-size: 13px;
}
.driver-profile-dossier-rail {
  position: sticky;
  top: 10px;
  min-width: 0;
  min-height: calc(100vh - 22px);
  max-height: calc(100vh - 22px);
  overflow-y: auto;
  border: 1px solid #dfe5ec;
  border-right: 0;
  border-radius: 8px 0 0 8px;
  background: #f8fafc;
}
.driver-dossier-back {
  width: 100%;
  min-height: 50px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 0;
  border-bottom: 1px solid #e0e6ed;
  background: transparent;
  color: var(--navy);
  padding: 0 20px;
  font: 900 12px/1 inherit;
  text-align: left;
  cursor: pointer;
}
.driver-dossier-back:hover {
  background: #f1f5fa;
}
.driver-dossier-identity {
  border-bottom: 1px solid #dfe5ec;
  padding: 20px 20px 18px;
  text-align: center;
}
.driver-dossier-avatar {
  width: 82px;
  height: 82px;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  margin: 0 auto;
  border-radius: 50%;
  background: var(--navy);
  color: #fff;
  font-size: 28px;
  font-weight: 950;
  letter-spacing: .02em;
}
.driver-dossier-avatar-shell {
  position: relative;
  width: 82px;
  height: 82px;
  margin: 0 auto;
}
.driver-dossier-avatar-shell[data-driver-photo-dropzone] .driver-dossier-avatar {
  transition: box-shadow .16s ease, transform .16s ease;
}
.driver-dossier-avatar-shell[data-driver-photo-dropzone].is-photo-dragover .driver-dossier-avatar {
  box-shadow: 0 0 0 4px #fff, 0 0 0 7px #4d8fdf, 0 8px 20px rgba(16, 42, 76, .24);
  transform: scale(1.04);
}
.driver-dossier-avatar > span {
  position: relative;
  z-index: 0;
}
.driver-dossier-avatar > img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.driver-dossier-avatar-drop-hint {
  position: absolute !important;
  z-index: 2 !important;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border-radius: 50%;
  background: rgba(14, 45, 83, .9);
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity .14s ease;
}
.driver-dossier-avatar-drop-hint img {
  width: 18px;
  height: 18px;
  filter: brightness(0) invert(1);
}
.driver-dossier-avatar-drop-hint strong {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .01em;
}
.driver-dossier-avatar-shell.is-photo-dragover .driver-dossier-avatar-drop-hint {
  opacity: 1;
}
.driver-dossier-avatar-edit {
  position: absolute;
  z-index: 3;
  right: -3px;
  bottom: -3px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 3px solid #f8fafc;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 7px rgba(16, 42, 76, .18);
  cursor: pointer;
}
.driver-dossier-avatar-edit img {
  width: 13px;
  height: 13px;
  filter: brightness(0) saturate(100%) invert(20%) sepia(36%) saturate(1297%) hue-rotate(177deg) brightness(89%) contrast(95%);
}
.driver-dossier-avatar-edit:hover,
.driver-dossier-avatar-edit:focus-visible {
  background: #edf4ff;
  outline: 2px solid #97b8e4;
  outline-offset: 1px;
}
.driver-dossier-identity h1 {
  margin: 14px 0 7px;
  color: var(--navy);
  font-size: 24px;
  font-weight: 950;
  line-height: 1.1;
}
.driver-dossier-identity > strong,
.driver-dossier-identity > small {
  display: block;
}
.driver-dossier-identity > strong {
  margin-top: 13px;
  color: #44536a;
  font-size: 12px;
  font-weight: 900;
}
.driver-dossier-identity > small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.driver-dossier-contact {
  display: grid;
  gap: 7px;
  padding: 14px 20px;
}
.driver-dossier-contact a {
  min-width: 0;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  color: #175ca3;
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
}
.driver-dossier-contact img,
.driver-dossier-equipment img,
.driver-files-safety-note img,
.driver-dossier-attention img,
.driver-dossier-clear img {
  width: 17px;
  height: 17px;
  object-fit: contain;
}
.driver-dossier-contact span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-dossier-equipment {
  margin: 0 20px;
  border-top: 1px solid #d9e1ea;
  border-bottom: 1px solid #d9e1ea;
  padding: 9px 0;
}
.driver-dossier-equipment > div {
  min-height: 44px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}
.driver-dossier-equipment small,
.driver-dossier-equipment strong {
  display: block;
}
.driver-dossier-equipment small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
}
.driver-dossier-equipment strong {
  margin-top: 2px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 950;
}
.driver-dossier-equipment .telegram-chat-btn img {
  width: 15px;
  height: 15px;
}
.driver-dossier-note {
  width: calc(100% - 40px);
  height: 38px;
  margin: 13px 20px 0;
  border: 1px solid var(--navy);
  border-radius: 7px;
  background: var(--navy);
  color: #fff;
  font: 900 12px/1 inherit;
  cursor: pointer;
}
.driver-dossier-health {
  padding: 18px 20px;
}
.driver-dossier-health-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.driver-dossier-health-head strong {
  color: var(--navy);
  font-size: 11px;
  font-weight: 950;
}
.driver-dossier-health-head b {
  color: #19844a;
  font-size: 17px;
  font-weight: 950;
}
.driver-dossier-health > i {
  height: 7px;
  display: block;
  margin-top: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe6ee;
}
.driver-dossier-health > i b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2fb368;
}
.driver-dossier-health > small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
}
.driver-dossier-health h2 {
  margin: 19px 0 7px;
  color: #4f5d71;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.driver-dossier-attention,
.driver-dossier-clear {
  min-height: 42px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  border: 1px solid #d5dde7;
  border-radius: 7px;
  background: #fff;
  color: #425168;
  padding: 7px 9px;
  font-size: 10px;
  font-weight: 850;
}
.driver-dossier-attention.amber {
  border-color: #e1c376;
  background: #fffaf0;
}
.driver-dossier-attention.red {
  border-color: #e4b3b3;
  background: #fff4f4;
}
.driver-dossier-clear {
  border-color: #b8dcc8;
  background: #f2faf5;
  color: #217447;
}
.driver-dossier-panel {
  margin-top: 14px;
}
.driver-dossier-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
}
.driver-dossier-two-col .driver-dossier-section {
  border: 0;
  border-radius: 0;
}
.driver-dossier-two-col .driver-dossier-section + .driver-dossier-section {
  border-left: 1px solid #e2e7ee;
}
.driver-dossier-section {
  min-width: 0;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
  padding: 15px 17px;
}
.driver-dossier-section h2,
.driver-info-head h2 {
  margin: 0;
  color: var(--navy);
  font-size: 14px;
  font-weight: 950;
}
.driver-dossier-section dl {
  margin: 9px 0 0;
}
.driver-dossier-field {
  min-height: 34px;
  display: grid;
  grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #e8ecf1;
}
.driver-dossier-field:last-child {
  border-bottom: 0;
}
.driver-dossier-field dt {
  color: #59677a;
  font-size: 10px;
  font-weight: 850;
}
.driver-dossier-field dd {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: #26364d;
  font-size: 11px;
  font-weight: 750;
}
.driver-dossier-field dd > span,
.driver-dossier-field dd > a {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.driver-field-edit-button {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d5dde8;
  border-radius: 6px;
  background: #fff;
  padding: 0;
  cursor: pointer;
}
.driver-field-edit-button img {
  width: 12px;
  height: 12px;
}
.driver-field-edit-button:hover,
.driver-field-edit-button:focus-visible {
  border-color: #8da5c2;
  background: #edf4fc;
  box-shadow: 0 0 0 2px rgba(33, 98, 168, .12);
  outline: 0;
}
.driver-roster-trailer-cell {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.driver-roster-trailer-cell > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.driver-roster-trailer-cell.is-editable {
  cursor: default;
  border-radius: 5px;
  padding: 3px 4px;
  margin: -3px -4px;
}
.driver-roster-trailer-cell.is-editable:hover,
.driver-roster-trailer-cell.is-editable:focus-visible,
.driver-roster-trailer-cell.is-editable:focus-within {
  background: #edf4fc;
  box-shadow: inset 0 0 0 1px #c8d8ea;
  outline: 0;
}
.driver-roster-trailer-cell button {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 5px;
  background: transparent;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}
.driver-roster-trailer-cell:hover button,
.driver-roster-trailer-cell:focus-within button,
.driver-roster-trailer-cell button:focus-visible {
  opacity: 1;
}
.driver-roster-trailer-cell button:hover,
.driver-roster-trailer-cell button:focus-visible {
  background: #dceafb;
  outline: 0;
}
.driver-roster-trailer-cell button img {
  width: 11px;
  height: 11px;
}
@media (hover: none) {
  .driver-roster-trailer-cell button { opacity: 1; }
}
.driver-dossier-field a,
.driver-dossier-section-head button {
  color: #135ba3;
  font-weight: 850;
  text-decoration: none;
}
.driver-dossier-field em {
  border-radius: 999px;
  background: #e6f5eb;
  color: #1b7d48;
  padding: 3px 7px;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
}
.driver-dossier-field em.inactive {
  background: #edf0f3;
  color: #687486;
}
.driver-files-snapshot,
.driver-recent-notes {
  margin-top: 14px;
  overflow: hidden;
  padding: 0;
}
.driver-dossier-section-head {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e2e7ee;
  padding: 11px 17px;
}
.driver-dossier-section-head span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
}
.driver-dossier-section-head button {
  border: 0;
  background: none;
  font: 850 10px/1 inherit;
  cursor: pointer;
}
.driver-dossier-table-wrap {
  overflow-x: auto;
}
.driver-dossier-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  table-layout: fixed;
}
.driver-dossier-table th {
  background: #f3f6f9;
  color: #657287;
  padding: 8px 12px;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .06em;
  text-align: left;
  text-transform: uppercase;
}
.driver-dossier-table td {
  border-bottom: 1px solid #e5eaf0;
  color: #425168;
  padding: 9px 12px;
  font-size: 10px;
  font-weight: 750;
}
.driver-dossier-table td:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--navy);
}
.driver-dossier-table td:first-child img {
  width: 16px;
  height: 16px;
}
.driver-file-status {
  display: inline-flex;
  border-radius: 999px;
  padding: 4px 8px;
  background: #edf1f5;
  color: #647184;
  font-size: 8px;
  font-weight: 900;
}
.driver-file-status.good {
  background: #e7f6ec;
  color: #1d7f49;
}
.driver-file-status.warning {
  background: #fff3d6;
  color: #9b6a00;
}
.driver-file-status.danger {
  background: #fee9e9;
  color: #a32d2d;
}
.driver-dossier-text-action {
  width: 100%;
  height: 34px;
  border: 0;
  background: #fff;
  color: #135ba3;
  font: 900 10px/1 inherit;
  cursor: pointer;
}
.driver-dossier-note-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 11px 17px;
}
.driver-dossier-note-row + .driver-dossier-note-row {
  border-top: 1px solid #e5eaf0;
}
.driver-note-initials {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e5effc;
  color: #185c9e;
  font-size: 9px;
  font-weight: 950;
}
.driver-dossier-note-row strong,
.driver-dossier-note-row small {
  display: inline;
}
.driver-dossier-note-row strong {
  color: var(--navy);
  font-size: 11px;
}
.driver-dossier-note-row small {
  margin-left: 8px;
  color: var(--muted);
  font-size: 9px;
}
.driver-dossier-note-row p {
  margin: 4px 0 0;
  color: #4d5a6d;
  font-size: 10px;
  line-height: 1.4;
}
.driver-linked-note-tags,
.linked-activity-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 5px;
}
.driver-linked-note-tag,
.linked-activity-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 20px;
  border: 1px solid #cfd9e4;
  border-radius: 999px;
  background: #f5f7fa;
  padding: 0 7px;
  color: #485869;
  font-size: 8px;
  font-weight: 850;
}
.driver-linked-note-tag i,
.linked-activity-tag i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7d8a98;
}
.driver-linked-note-tag.is-blue i,
.linked-activity-tag.is-blue i { background: #2f82c2; }
.driver-linked-note-tag.is-teal i,
.linked-activity-tag.is-teal i { background: #278d8a; }
.driver-linked-note-tag.is-purple i,
.linked-activity-tag.is-purple i { background: #7c65b7; }
.driver-linked-note-tag.is-amber i,
.linked-activity-tag.is-amber i { background: #c78a2e; }
.linked-activity-tag-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 8px;
}
.linked-activity-tag-filters > span {
  color: #718096;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.linked-activity-tag-filters button {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #d3dce7;
  border-radius: 999px;
  background: #fff;
  padding: 0 8px;
  color: #526174;
  font: inherit;
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}
.linked-activity-tag-filters button:hover,
.linked-activity-tag-filters button.is-active {
  border-color: #7eaed5;
  background: #eaf4fc;
  color: #155b92;
}
.linked-activity-tag-filters button b {
  min-width: 14px;
  color: inherit;
  font-size: 8px;
  text-align: center;
}
.linked-activity-tag-filters button i {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #7d8a98;
}
.linked-activity-tag-filters button i.tone-blue { background: #2f82c2; }
.linked-activity-tag-filters button i.tone-teal { background: #278d8a; }
.linked-activity-tag-filters button i.tone-purple { background: #7c65b7; }
.linked-activity-tag-filters button i.tone-amber { background: #c78a2e; }
.linked-activity-tag-filters button i.tone-slate { background: #7d8a98; }
.driver-telegram-field {
  align-items: center;
  padding: 7px 0;
}
.driver-telegram-field dt {
  padding-top: 0;
}
.driver-telegram-field dd {
  display: block;
}
.driver-telegram-inline {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}
.driver-telegram-id-value {
  min-width: 0;
  overflow: hidden;
  color: #203451;
  font-size: 11px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-telegram-id-value.empty {
  color: #7a8696;
  font-weight: 750;
}
.driver-telegram-status {
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  flex: none;
  border-radius: 999px;
  padding: 0 7px;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.driver-telegram-status.neutral {
  background: #eef1f4;
  color: #687482;
}
.driver-telegram-status.warning {
  background: #fff5dc;
  color: #966400;
}
.driver-telegram-status.linked {
  background: #eaf2fb;
  color: #245b8f;
}
.driver-telegram-status.verified {
  background: #e9f6ee;
  color: #167747;
}
.driver-telegram-actions {
  display: inline-flex;
  align-items: center;
  flex: none;
  gap: 3px;
  margin-left: auto;
}
.driver-telegram-icon-action {
  width: 27px;
  height: 27px;
  display: inline-grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.driver-telegram-icon-action:hover,
.driver-telegram-icon-action:focus-visible {
  border-color: #c7d5e3;
  background: #f0f6fc;
  outline: none;
}
.driver-telegram-icon-action.link:hover,
.driver-telegram-icon-action.link:focus-visible {
  border-color: #abc5df;
  background: #edf5fd;
}
.driver-telegram-icon-action.delete:hover,
.driver-telegram-icon-action.delete:focus-visible {
  border-color: #efc0c3;
  background: #fff1f2;
}
.driver-telegram-icon-action.save {
  border-color: #a8d5bb;
  background: #eff9f3;
}
.driver-telegram-icon-action:disabled {
  cursor: default;
  opacity: .45;
}
.driver-telegram-icon-action img {
  width: 13px;
  height: 13px;
  opacity: .72;
}
.driver-telegram-icon-action.link img {
  filter: invert(22%) sepia(35%) saturate(1610%) hue-rotate(174deg) brightness(87%) contrast(92%);
}
.driver-telegram-icon-action.delete img {
  filter: invert(25%) sepia(53%) saturate(2079%) hue-rotate(330deg) brightness(91%) contrast(90%);
}
.driver-telegram-inline-input {
  min-width: 0;
  flex: 1 1 auto;
  min-width: 0;
  height: 27px;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  background: #fff;
  color: #26364d;
  padding: 0 7px;
  font: inherit;
  font-size: 10px;
  font-weight: 750;
}
.driver-telegram-inline-input:focus {
  border-color: #6887ad;
  box-shadow: 0 0 0 2px rgba(32, 69, 116, .1);
  outline: 0;
}
.driver-telegram-inline-input:disabled {
  background: #f3f6f9;
  color: #7b8797;
}
.driver-telegram-message {
  display: block;
  margin: 4px 0 0;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.35;
}
.driver-telegram-message.neutral {
  color: #64748b;
}
.driver-telegram-message.warning {
  color: #9a6700;
}
.driver-telegram-message.success {
  color: #167747;
}
.driver-telegram-message.error {
  color: #b42318;
}
.driver-telegram-link-dialog {
  width: min(650px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  border: 1px solid #ccd6e3;
  border-radius: 9px;
  background: #fff;
  color: var(--text);
  padding: 0;
  overflow: auto;
  box-shadow: 0 24px 70px rgba(10, 28, 52, .25);
}
.driver-telegram-link-dialog::backdrop {
  background: rgba(9, 25, 47, .48);
  backdrop-filter: blur(1px);
}
.driver-telegram-link-card {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  height: min(650px, calc(100vh - 26px));
  padding: 0;
}
.driver-telegram-link-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e7ebf0;
  padding: 13px 14px 11px;
}
.driver-telegram-link-head strong,
.driver-telegram-link-head span {
  display: block;
}
.driver-telegram-link-head strong {
  color: var(--navy);
  font-size: 17px;
  font-weight: 950;
}
.driver-telegram-link-head span {
  margin-top: 2px;
  color: #627086;
  font-size: 11px;
  font-weight: 800;
}
.driver-telegram-link-head > button {
  width: 30px;
  height: 30px;
  flex: none;
  border: 1px solid #d7dee7;
  border-radius: 6px;
  background: #fff;
  color: #526176;
  font-family: inherit;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
}
.driver-telegram-link-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.driver-telegram-link-body {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 12px;
  overflow-y: auto;
  padding: 12px 14px;
}
.driver-telegram-link-steps > span {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #dfe5ed;
  border-radius: 7px;
  background: #f7f9fc;
  color: #3f4f64;
  padding: 7px 8px;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.3;
}
.driver-telegram-link-steps b {
  width: 20px;
  height: 20px;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #173b6d;
  color: #fff;
  font-size: 9px;
}
.driver-telegram-link-steps code {
  border-radius: 4px;
  background: #e9eff6;
  color: #173b6d;
  padding: 2px 4px;
  font-family: inherit;
  font-size: 10px;
  font-weight: 950;
}
.driver-telegram-paste-field > span {
  display: block;
  margin-bottom: 5px;
  color: #526176;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.driver-telegram-paste-field textarea {
  width: 100%;
  min-height: 126px;
  resize: vertical;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  background: #fff;
  color: #26364d;
  padding: 9px 10px;
  font: 750 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  outline: 0;
}
.driver-telegram-paste-field textarea:focus {
  border-color: #6887ad;
  box-shadow: 0 0 0 3px rgba(32, 69, 116, .1);
}
.driver-telegram-identity-preview {
  min-height: 92px;
}
.driver-telegram-preview-empty,
.driver-telegram-preview-ready {
  border: 1px solid #dfe5ed;
  border-radius: 7px;
  background: #f8fafc;
  padding: 11px;
}
.driver-telegram-preview-empty {
  min-height: 92px;
  display: grid;
  place-content: center;
  text-align: center;
}
.driver-telegram-preview-empty strong,
.driver-telegram-preview-empty span {
  display: block;
}
.driver-telegram-preview-empty strong {
  color: var(--navy);
  font-size: 12px;
}
.driver-telegram-preview-empty span {
  max-width: 430px;
  margin-top: 3px;
  color: #6b7789;
  font-size: 10px;
  font-weight: 750;
}
.driver-telegram-preview-empty.error {
  border-color: #efc6c2;
  background: #fff8f7;
}
.driver-telegram-preview-empty.error strong,
.driver-telegram-preview-empty.error span {
  color: #a93830;
}
.driver-telegram-preview-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.driver-telegram-preview-status span {
  border-radius: 999px;
  background: #e5f5eb;
  color: #167747;
  padding: 3px 7px;
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.driver-telegram-preview-status strong {
  color: var(--navy);
  font-size: 12px;
}
.driver-telegram-preview-ready dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 9px 0 0;
}
.driver-telegram-preview-ready dl > div {
  min-width: 0;
  border: 1px solid #e0e6ed;
  border-radius: 6px;
  background: #fff;
  padding: 7px 8px;
}
.driver-telegram-preview-ready dt {
  color: #728095;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.driver-telegram-preview-ready dd {
  margin: 3px 0 0;
  overflow: hidden;
  color: #203451;
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-telegram-preview-ready > p {
  margin: 8px 0 0;
  color: #68768a;
  font-size: 9px;
  font-weight: 750;
}
.driver-telegram-replace-warning,
.driver-telegram-duplicate-warning {
  margin-top: 8px;
  border-radius: 6px;
  padding: 7px 8px;
  font-size: 10px;
  font-weight: 850;
}
.driver-telegram-replace-warning {
  border: 1px solid #ead39d;
  background: #fffaf0;
  color: #8a6206;
}
.driver-telegram-duplicate-warning {
  border: 1px solid #efc6c2;
  background: #fff8f7;
  color: #a93830;
}
.driver-telegram-link-message {
  min-height: 15px;
  color: #617087;
  font-size: 10px;
  font-weight: 850;
}
.driver-telegram-link-message.error {
  color: #b42318;
}
.driver-telegram-link-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  border-top: 1px solid #e7ebf0;
  background: #fff;
  padding: 11px 14px 13px;
}
.driver-telegram-link-actions button {
  min-width: 96px;
  height: 34px;
  border-radius: 6px;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}
.driver-telegram-link-actions .driver-telegram-link-cancel {
  border: 1px solid #d2dae5;
  background: #fff;
  color: #4f5e73;
}
.driver-telegram-link-actions .quick-save:disabled {
  border-color: #b9c4d2;
  background: #dfe5ec;
  color: #718096;
  cursor: default;
}
@media (max-width: 640px) {
  .driver-telegram-link-dialog {
    width: calc(100vw - 14px);
    max-height: calc(100vh - 14px);
  }
  .driver-telegram-link-card {
    height: calc(100vh - 16px);
  }
  .driver-telegram-link-head {
    padding: 11px;
  }
  .driver-telegram-link-body {
    gap: 10px;
    padding: 10px 11px;
  }
  .driver-telegram-link-steps,
  .driver-telegram-preview-ready dl {
    grid-template-columns: 1fr;
  }
  .driver-telegram-link-steps > span {
    min-height: 38px;
  }
  .driver-telegram-paste-field textarea {
    min-height: 112px;
  }
  .driver-telegram-link-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 10px 11px 11px;
  }
  .driver-telegram-link-actions button {
    width: 100%;
  }
}
.driver-telegram-link-dialog {
  position: fixed;
  inset: 0;
  width: min(470px, calc(100vw - 24px));
  max-width: 470px;
  max-height: calc(100dvh - 24px);
  margin: auto;
  border: 0;
  border-radius: 18px;
  background: transparent;
  overflow: visible;
  box-shadow: 0 24px 70px rgba(17, 32, 54, .28);
}
.driver-telegram-link-dialog::backdrop {
  background: rgba(17, 28, 45, .42);
  backdrop-filter: blur(1.5px);
}
.driver-telegram-link-card {
  position: relative;
  display: grid;
  grid-template-rows: none;
  justify-items: center;
  height: auto;
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  border: 1px solid #edf0f3;
  border-radius: 18px;
  background: #fff;
  padding: 27px 24px 22px;
  text-align: center;
}
.driver-telegram-link-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #66717d;
  padding: 0;
  cursor: pointer;
}
.driver-telegram-link-close:hover,
.driver-telegram-link-close:focus-visible {
  background: #4b5662;
  outline: 2px solid rgba(91, 107, 123, .22);
  outline-offset: 2px;
}
.driver-telegram-link-close img {
  width: 15px;
  height: 15px;
  filter: brightness(0) invert(1);
}
.driver-telegram-link-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #edf5fd;
}
.driver-telegram-link-icon img {
  width: 27px;
  height: 27px;
  filter: invert(22%) sepia(35%) saturate(1610%) hue-rotate(174deg) brightness(87%) contrast(92%);
}
.driver-telegram-link-card h2 {
  margin: 13px 0 0;
  color: #18212b;
  font-size: 19px;
  font-weight: 850;
  line-height: 1.2;
}
.driver-telegram-link-driver {
  max-width: 100%;
  overflow: hidden;
  margin: 6px 0 0;
  color: #374556;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-telegram-link-note {
  max-width: 360px;
  margin: 5px 0 0;
  color: #7a8490;
  font-size: 10px;
  line-height: 1.45;
}
.driver-telegram-link-body {
  width: 100%;
  min-height: 0;
  gap: 10px;
  margin-top: 16px;
  overflow: visible;
  padding: 0;
}
.driver-telegram-paste-field > span {
  text-align: left;
}
.driver-telegram-paste-field textarea {
  min-height: 112px;
}
.driver-telegram-identity-preview {
  min-height: 76px;
  text-align: left;
}
.driver-telegram-preview-empty {
  min-height: 76px;
}
.driver-telegram-link-message {
  min-height: 0;
}
.driver-telegram-link-actions {
  width: 100%;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
  border-top: 0;
  padding: 0;
}
.driver-telegram-link-actions button {
  width: 50%;
  min-width: 0;
  min-height: 40px;
  height: auto;
  border-radius: 9px;
  font-size: 11px;
  font-weight: 850;
}
.driver-telegram-link-actions .driver-telegram-link-cancel {
  border: 1px solid #dfe4e9;
  background: #f6f7f8;
  color: #28323d;
}
@media (max-width: 640px) {
  .driver-telegram-link-dialog {
    width: calc(100vw - 14px);
    max-height: calc(100dvh - 14px);
  }
  .driver-telegram-link-card {
    height: auto;
    max-height: calc(100dvh - 14px);
    padding: 25px 16px 17px;
  }
  .driver-telegram-link-body {
    margin-top: 13px;
    padding: 0;
  }
  .driver-telegram-link-actions {
    padding: 0;
  }
}
.phone-action-trigger {
  min-width: 0;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--link);
  padding: 0 2px;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.phone-action-trigger:hover {
  text-decoration: underline;
}
.phone-action-trigger:focus-visible {
  box-shadow: 0 0 0 2px rgba(32, 69, 116, .2);
  outline: 2px solid #315f98;
  outline-offset: 1px;
}
.phone-action-empty {
  color: #8994a3;
}
.driver-profile-stats .phone-action-trigger {
  max-width: 100%;
  min-height: 24px;
  margin: -4px 0;
  color: var(--navy);
}
.driver-dossier-contact .driver-dossier-phone {
  min-width: 0;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}
.driver-dossier-contact .driver-dossier-phone-trigger {
  max-width: 100%;
  color: #175ca3;
  font-size: 11px;
}
.driver-dossier-field .driver-profile-phone-trigger {
  max-width: 100%;
  color: #175ca3;
  font-size: 11px;
}
.roster-contact-link {
  max-width: 100%;
}
.phone-action-menu {
  position: fixed;
  z-index: 5000;
  overflow: hidden;
  border: 1px solid #cfd8e3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16, 36, 63, .2);
  padding: 4px;
}
.phone-action-menu[hidden] {
  display: none;
}
.phone-action-item {
  width: 100%;
  min-height: 40px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #26364d;
  padding: 0 10px;
  text-align: left;
  text-decoration: none;
  font: 850 11px/1.2 inherit;
  cursor: pointer;
}
.phone-action-item:hover,
.phone-action-item:focus-visible {
  background: #eef3f8;
  outline: 0;
}
.phone-action-item:disabled {
  color: #8a95a4;
  cursor: default;
}
.phone-action-item:disabled:hover {
  background: transparent;
}
.phone-action-icon {
  width: 17px;
  height: 17px;
  color: currentColor;
  object-fit: contain;
}
.phone-action-icon.telegram {
  fill: currentColor;
}
.phone-action-live {
  position: fixed;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.phone-telegram-dialog-layer {
  position: fixed;
  inset: 0;
  z-index: 5100;
  display: grid;
  place-items: center;
  padding: 16px;
}
.phone-telegram-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(12, 27, 49, .48);
  cursor: default;
}
.phone-telegram-dialog {
  position: relative;
  width: min(430px, 100%);
  max-height: calc(100vh - 32px);
  overflow: auto;
  border: 1px solid #cfd8e3;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(12, 27, 49, .28);
  padding: 16px;
}
.phone-telegram-dialog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
}
.phone-telegram-dialog-head strong,
.phone-telegram-dialog-head span {
  display: block;
}
.phone-telegram-dialog-head strong {
  color: var(--navy);
  font-size: 16px;
  font-weight: 950;
}
.phone-telegram-dialog-head span {
  margin-top: 3px;
  color: #66758a;
  font-size: 10px;
  font-weight: 800;
}
.phone-telegram-dialog-head > button {
  width: 40px;
  height: 40px;
  border: 1px solid #d4dce6;
  border-radius: 7px;
  background: #fff;
  color: #4b5a70;
  font-size: 20px;
  cursor: pointer;
}
.phone-telegram-dialog > label:not(.phone-telegram-check) {
  display: grid;
  gap: 5px;
  margin-top: 10px;
}
.phone-telegram-dialog label > span {
  color: #4f5e72;
  font-size: 10px;
  font-weight: 900;
}
.phone-telegram-dialog input[type="text"] {
  width: 100%;
  height: 42px;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  background: #fff;
  color: #26364d;
  padding: 0 10px;
  font: 750 12px/1 inherit;
}
.phone-telegram-check {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 10px;
  border: 1px solid #d8e0e9;
  border-radius: 7px;
  background: #f7f9fc;
  padding: 7px 10px;
}
.phone-telegram-check input {
  width: 17px;
  height: 17px;
  margin: 0;
}
.phone-telegram-dialog p {
  margin: 7px 0 0;
  color: #6a7789;
  font-size: 9px;
  font-weight: 750;
  line-height: 1.45;
}
.phone-telegram-error {
  min-height: 18px;
  margin-top: 8px;
  color: #b42318;
  font-size: 10px;
  font-weight: 850;
}
.phone-telegram-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
}
.phone-telegram-actions button {
  min-width: 86px;
  min-height: 40px;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  background: #fff;
  color: #415168;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}
.phone-telegram-actions button[type="submit"] {
  border-color: #173b6d;
  background: #173b6d;
  color: #fff;
}
.phone-telegram-actions button:disabled {
  opacity: .6;
  cursor: wait;
}
.driver-dossier-empty {
  color: var(--muted);
  padding: 18px;
  font-size: 11px;
  font-weight: 750;
  text-align: center;
}
.driver-info-head {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
  border-bottom: 1px solid #dfe5ec;
  padding: 0 2px 10px;
}
.driver-info-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 10px;
}
.driver-info-head > span {
  max-width: 360px;
  color: #5e6b7f;
  font-size: 9px;
  font-weight: 800;
  text-align: right;
}
.driver-info-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.driver-info-head-actions > span {
  max-width: 330px;
  color: #5e6b7f;
  font-size: 9px;
  font-weight: 800;
  text-align: right;
}
.driver-profile-edit-btn,
.driver-profile-edit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d5dde8;
  background: #fff;
  color: #25446c;
  cursor: pointer;
}
.driver-profile-edit-btn {
  min-height: 28px;
  gap: 5px;
  border-radius: 7px;
  padding: 0 9px;
  font-size: 9px;
  font-weight: 850;
}
.driver-profile-edit-btn img,
.driver-profile-edit-icon img { width: 12px; height: 12px; }
.driver-dossier-name-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
.driver-dossier-name-row h1 { margin: 0; }
.driver-profile-edit-icon {
  width: 25px;
  height: 25px;
  border-radius: 7px;
  padding: 0;
}
.driver-profile-edit-btn:hover,
.driver-profile-edit-icon:hover {
  border-color: #9fb0c7;
  background: #f3f7fc;
}
.driver-profile-editor-dialog {
  width: 95vw;
  max-width: 95vw;
  height: 95vh;
  max-height: 95vh;
  box-sizing: border-box;
  border: 0;
  border-radius: 14px;
  background: transparent;
  padding: 0;
  box-shadow: 0 24px 70px rgba(17, 31, 49, .28);
}
.driver-profile-editor-dialog.trailer-only-mode {
  width: min(520px, calc(100vw - 24px));
  max-width: min(520px, calc(100vw - 24px));
  height: auto;
}
.driver-profile-editor-dialog.trailer-only-mode .driver-editor-full-only {
  display: none !important;
}
.driver-profile-editor-dialog.trailer-only-mode .driver-profile-editor-grid {
  grid-template-columns: 1fr;
}
.driver-profile-editor-dialog.trailer-only-mode .driver-editor-trailer-field {
  grid-column: 1 / -1;
}
.driver-profile-editor-dialog::backdrop {
  background: rgba(25, 37, 52, .58);
  backdrop-filter: blur(2px);
}
.driver-profile-editor-card {
  display: flex;
  height: 100%;
  max-height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #d8e0e9;
  border-radius: 14px;
  background: #fff;
}
.driver-profile-editor-head,
.driver-profile-editor-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.driver-profile-editor-head {
  border-bottom: 1px solid #dfe5ec;
  padding: 16px 18px 13px;
}
.driver-profile-editor-head h2 {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
}
.driver-profile-editor-head p {
  margin: 4px 0 0;
  color: #687588;
  font-size: 10px;
  font-weight: 700;
}
.driver-profile-editor-close {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid #d5dde7;
  border-radius: 50%;
  background: #f5f7fa;
  cursor: pointer;
}
.driver-profile-editor-close img { width: 14px; height: 14px; }
.driver-profile-editor-scroll {
  display: grid;
  gap: 11px;
  overflow-y: auto;
  padding: 13px 18px 16px;
}
.driver-profile-editor-section {
  border: 1px solid #dfe5ec;
  border-radius: 10px;
  background: #fbfcfe;
  padding: 11px;
}
.driver-profile-editor-section h3 {
  margin: 0 0 9px;
  color: #263c5a;
  font-size: 10px;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.driver-profile-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 10px;
}
.driver-profile-editor-grid label {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.driver-profile-editor-grid label.wide { grid-column: 1 / -1; }
.driver-profile-editor-grid label > span {
  color: #69778a;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.driver-profile-editor-grid input:not([type="checkbox"]),
.driver-profile-editor-grid select {
  width: 100%;
  height: 32px;
  border: 1px solid #ccd6e2;
  border-radius: 7px;
  background: #fff;
  color: #24364e;
  padding: 0 8px;
  font: 700 10px/1 inherit;
  outline: none;
}
.driver-profile-editor-grid input:focus,
.driver-profile-editor-grid select:focus {
  border-color: #6685ad;
  box-shadow: 0 0 0 2px rgba(72, 112, 164, .12);
}
.driver-profile-editor-grid input:disabled {
  background: #eef2f6;
  color: #98a2af;
}
.driver-trailer-picker { position: relative; }
.driver-trailer-search-box {
  min-height: 32px;
  display: grid;
  grid-template-columns: 15px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 5px;
  border: 1px solid #ccd6e2;
  border-radius: 7px;
  background: #fff;
  padding: 0 4px 0 8px;
}
.driver-trailer-search-box:focus-within {
  border-color: #6685ad;
  box-shadow: 0 0 0 2px rgba(72, 112, 164, .12);
}
.driver-trailer-search-box > img { width: 13px; height: 13px; opacity: .55; }
.driver-profile-editor-grid .driver-trailer-search-box input {
  height: 30px;
  min-width: 0;
  border: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}
.driver-profile-editor-grid .driver-trailer-search-box input:focus { box-shadow: none; }
.driver-trailer-search-box button {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
}
.driver-trailer-search-box button[hidden] { display: none; }
.driver-trailer-search-box button:hover { background: #edf3f9; }
.driver-trailer-search-box button img { width: 12px; height: 12px; }
.driver-trailer-matches {
  max-height: 245px;
  position: absolute;
  top: calc(100% + 5px);
  right: 0;
  left: 0;
  z-index: 40;
  overflow-y: auto;
  border: 1px solid #b7c6d7;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 32px rgba(17, 42, 70, .22);
  padding: 5px;
}
.driver-trailer-matches[hidden] { display: none; }
.driver-trailer-results-heading {
  padding: 6px 8px 4px;
  color: #7b8798;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.driver-trailer-result {
  width: 100%;
  min-height: 43px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 6px;
  background: #fff;
  color: #263b58;
  cursor: pointer;
  padding: 6px 8px;
  text-align: left;
}
.driver-trailer-result:hover,
.driver-trailer-result:focus-visible,
.driver-trailer-result.is-active { background: #eaf3fc; outline: 0; }
.driver-trailer-result.is-selected { background: #f2f7fc; }
.driver-trailer-result-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: #e8f1fa;
}
.driver-trailer-result-icon img { width: 15px; height: 15px; }
.driver-trailer-result-copy,
.driver-trailer-result-copy strong,
.driver-trailer-result-copy small { min-width: 0; display: block; }
.driver-trailer-result-copy strong { color: #243b59; font-size: 10px; }
.driver-trailer-result-copy small { margin-top: 2px; color: #718095; font-size: 8px; }
.driver-trailer-result b { color: #3d6f9d; font-size: 8px; letter-spacing: .04em; text-transform: uppercase; }
.driver-trailer-results-empty { padding: 13px 9px; color: #7b8798; font-size: 9px; text-align: center; }
.driver-trailer-help {
  color: #718095;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.4;
}
.driver-trailer-help.is-warning { color: #a1642d; }
.driver-trailer-help.is-error { color: #b33e36; }
.driver-editor-checkbox {
  display: flex !important;
  align-items: center;
  grid-template-columns: none !important;
  gap: 7px !important;
}
.driver-editor-checkbox input { width: 15px; height: 15px; margin: 0; }
.driver-editor-checkbox span {
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.driver-profile-assignment-note,
.driver-profile-source-note {
  color: #5d6c80;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.45;
}
.driver-profile-assignment-note {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 7px;
  margin-top: 10px;
  border-radius: 8px;
  background: #edf4fc;
  padding: 8px 9px;
}
.driver-profile-assignment-note img { width: 16px; height: 16px; }
.driver-profile-pay-note {
  display: grid;
  gap: 2px;
  margin-top: 10px;
  border-left: 3px solid #35aa69;
  border-radius: 7px;
  background: #edf8f2;
  color: #4f6b5b;
  padding: 8px 10px;
  font-size: 9px;
  line-height: 1.45;
}
.driver-profile-pay-note strong { color: #22623f; }
.driver-profile-payee-editor-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #cfe0d7;
  border-radius: 8px;
  background: #f4faf7;
  padding: 9px 10px;
}
.driver-profile-payee-editor-row > div { display: grid; gap: 2px; min-width: 0; }
.driver-profile-payee-editor-row span,
.driver-profile-payee-editor-row small { color: #68788a; font-size: 8px; font-weight: 700; }
.driver-profile-payee-editor-row strong { color: #203c31; font-size: 11px; }
.driver-profile-payee-editor-row strong.is-warning { color: #9a5a17; }
.driver-profile-payee-editor-row button {
  min-height: 31px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  border: 1px solid #9fc9af;
  border-radius: 7px;
  background: #fff;
  color: #276343;
  padding: 0 10px;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}
.driver-profile-payee-editor-row button:disabled { opacity: .5; cursor: not-allowed; }
.driver-profile-payee-editor-row button img { width: 14px; height: 14px; }
.driver-profile-source-note {
  border-left: 3px solid #8da2be;
  background: #f3f6fa;
  padding: 8px 10px;
}

.driver-payee-profile-dialog {
  width: min(95vw, 1180px);
  height: min(92vh, 840px);
  max-width: none;
  max-height: none;
  border: 0;
  border-radius: 14px;
  background: transparent;
  padding: 0;
  box-shadow: 0 30px 90px rgba(15, 29, 47, .34);
}
.driver-payee-profile-dialog::backdrop {
  background: rgba(21, 34, 50, .65);
  backdrop-filter: blur(2px);
}
.driver-payee-profile-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #d9e1e8;
  border-radius: 14px;
  background: #fff;
  color: #24364d;
}
.driver-payee-profile-card > header,
.driver-payee-profile-card > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex: 0 0 auto;
}
.driver-payee-profile-card > header {
  border-bottom: 1px solid #e1e6ec;
  padding: 16px 19px 14px;
}
.driver-payee-profile-card > header h2 { margin: 3px 0 0; color: #1e2d42; font-size: 20px; }
.driver-payee-profile-card > header p { margin: 5px 0 0; color: #6f7d90; font-size: 10px; font-weight: 650; }
.driver-payee-eyebrow { color: #168148; font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.driver-payee-close {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid #d2dbe5;
  border-radius: 8px;
  background: #f6f8fa;
  cursor: pointer;
}
.driver-payee-close img { width: 15px; height: 15px; }
.driver-payee-body {
  display: grid;
  gap: 12px;
  overflow-y: auto;
  padding: 14px 18px 20px;
}
.driver-payee-body > section {
  border: 1px solid #dde4eb;
  border-radius: 10px;
  background: #fbfcfd;
  padding: 12px;
}
.driver-payee-body h3 { margin: 0 0 9px; color: #3d4d62; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.driver-payee-current {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-color: #bdddc9 !important;
  background: #f0f9f4 !important;
}
.driver-payee-current > div { display: grid; gap: 2px; }
.driver-payee-current span,
.driver-payee-current small { color: #65796d; font-size: 9px; font-weight: 700; }
.driver-payee-current strong { color: #1f5137; font-size: 15px; }
.driver-payee-current a { color: #176c43; font-size: 9px; font-weight: 850; text-decoration: none; }
.driver-payee-mode-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.driver-payee-mode-tabs button {
  min-height: 38px;
  border: 1px solid #ccd6e1;
  border-radius: 7px;
  background: #fff;
  color: #405067;
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}
.driver-payee-mode-tabs button.is-active { border-color: #29915a; background: #eaf7ef; color: #17623b; box-shadow: 0 0 0 1px #29915a inset; }
.driver-payee-mode-help { min-height: 15px; margin: 7px 0 0; color: #6a788b; font-size: 9px; font-weight: 650; }
.driver-payee-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px 10px; }
.driver-payee-form-grid label { display: grid; gap: 4px; min-width: 0; color: #5f6e81; font-size: 9px; font-weight: 800; }
.driver-payee-form-grid label.wide { grid-column: span 2; }
.driver-payee-form-grid input,
.driver-payee-form-grid textarea {
  width: 100%;
  min-height: 34px;
  box-sizing: border-box;
  border: 1px solid #cbd6e1;
  border-radius: 7px;
  background: #fff;
  color: #24364d;
  padding: 7px 9px;
  font: 700 10px/1.3 inherit;
  outline: none;
}
.driver-payee-form-grid textarea { resize: vertical; }
.driver-payee-form-grid input:focus,
.driver-payee-form-grid textarea:focus { border-color: #3a9163; box-shadow: 0 0 0 2px rgba(58,145,99,.12); }
.driver-payee-form-grid small { color: #7b8797; font-size: 8px; font-weight: 650; }
.driver-payee-audit-note {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  border-radius: 7px;
  background: #eef4f9;
  color: #596b7f;
  padding: 8px 9px;
  font-size: 8px;
  font-weight: 700;
}
.driver-payee-audit-note img { width: 14px; height: 14px; }
.driver-payee-history-head { display: flex; align-items: center; justify-content: space-between; }
.driver-payee-history-head span { color: #7b8796; font-size: 8px; font-weight: 750; }
.driver-payee-history-wrap { overflow-x: auto; }
.driver-payee-history-wrap table { width: 100%; border-collapse: collapse; font-size: 9px; }
.driver-payee-history-wrap th,
.driver-payee-history-wrap td { border-bottom: 1px solid #e2e7ed; padding: 7px 8px; text-align: left; }
.driver-payee-history-wrap th { color: #738094; font-size: 8px; letter-spacing: .05em; text-transform: uppercase; }
.driver-payee-empty { color: #7f8a99; text-align: center !important; }
.driver-payee-error { flex: 0 0 auto; color: #aa322c; padding: 0 19px 8px; font-size: 9px; font-weight: 800; }
.driver-payee-profile-card > footer { border-top: 1px solid #e0e6ec; padding: 11px 18px 13px; justify-content: flex-end; }
.driver-payee-profile-card > footer button {
  min-height: 34px;
  border: 1px solid #cbd5e0;
  border-radius: 7px;
  background: #fff;
  color: #4d5d72;
  padding: 0 13px;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}
.driver-payee-profile-card > footer button[type="submit"] { border-color: #18834b; background: #18834b; color: #fff; }
.driver-payee-profile-card > footer button:disabled { opacity: .55; cursor: wait; }
@media (max-width: 760px) {
  .driver-profile-payee-editor-row,
  .driver-payee-current { align-items: stretch; flex-direction: column; }
  .driver-payee-mode-tabs,
  .driver-payee-form-grid { grid-template-columns: 1fr; }
  .driver-payee-form-grid label.wide { grid-column: auto; }
}
.driver-profile-editor-message {
  min-height: 16px;
  color: #23804e;
  padding: 0 18px;
  font-size: 9px;
  font-weight: 800;
}
.driver-profile-editor-message.is-error { color: #b33e36; }
.driver-profile-editor-actions {
  border-top: 1px solid #dfe5ec;
  padding: 11px 18px 13px;
  justify-content: flex-end;
}
.driver-profile-editor-actions > button:first-child {
  min-height: 30px;
  border: 1px solid #d4dce6;
  border-radius: 7px;
  background: #f7f9fb;
  color: #4f5f73;
  padding: 0 13px;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}
.driver-profile-editor-actions .quick-save { min-width: 112px; min-height: 30px; }
@media (max-width: 640px) {
  .driver-profile-editor-dialog {
    width: 95vw;
    max-width: 95vw;
    height: 95vh;
    max-height: 95vh;
  }
  .driver-profile-editor-dialog.trailer-only-mode {
    width: 95vw;
    max-width: 95vw;
  }
  .driver-profile-editor-card { height: 100%; max-height: 100%; }
  .driver-profile-editor-head { padding: 13px 13px 11px; }
  .driver-profile-editor-scroll { padding: 10px 11px 13px; }
  .driver-profile-editor-grid { grid-template-columns: 1fr; }
  .driver-profile-editor-grid label.wide { grid-column: auto; }
  .driver-profile-editor-actions { padding: 10px 12px; }
  .driver-info-head-actions {
    width: 100%;
    justify-content: space-between;
  }
  .driver-info-head-actions > span { text-align: left; }
}
.driver-files-full {
  overflow: hidden;
  padding: 0;
}
.driver-files-safety-note {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  border-top: 1px solid #dce4ed;
  background: #f7f9fc;
  padding: 13px 15px;
}
.driver-files-safety-note strong,
.driver-files-safety-note span {
  display: block;
}
.driver-files-safety-note strong {
  color: var(--navy);
  font-size: 10px;
}
.driver-files-safety-note span {
  margin-top: 3px;
  color: #5c687a;
  font-size: 9px;
  line-height: 1.4;
}
.driver-history-list {
  display: grid;
}
.driver-history-state {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 8px;
  border: 1px solid #dce5ef;
  border-radius: 6px;
  background: #f6f9fc;
  padding: 8px 11px;
  color: #53647a;
  font-size: 10px;
  font-weight: 800;
}
.driver-history-state.error {
  border-color: #efc7c3;
  background: #fff8f7;
  color: #a83b33;
}
.driver-history-state button {
  border: 1px solid #cbd7e4;
  border-radius: 5px;
  background: #fff;
  padding: 5px 9px;
  color: var(--navy);
  font: inherit;
  cursor: pointer;
}
.driver-history-row {
  min-height: 64px;
  display: grid;
  grid-template-columns: 110px 14px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding-bottom: 10px;
}
.driver-history-row time {
  color: #667386;
  padding-top: 3px;
  font-size: 9px;
  font-weight: 850;
}
.driver-history-row time small {
  display: block;
  margin-top: 3px;
  color: #8a95a4;
  font-size: 8px;
  font-weight: 750;
}
.driver-history-row i {
  position: relative;
  width: 9px;
  height: 9px;
  margin-top: 5px;
  border: 2px solid #2366a8;
  border-radius: 50%;
  background: #fff;
}
.driver-history-row i::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 2px;
  width: 1px;
  height: 48px;
  background: #dbe4ee;
}
.driver-history-row:last-child i::after {
  display: none;
}
.driver-history-row.pay i {
  border-color: #15935c;
  background: #eaf8f1;
}
.driver-history-row.profile i {
  border-color: #2366a8;
  background: #eef6ff;
}
.driver-history-row.coaching i {
  border-color: #7556b6;
  background: #f4efff;
}
.driver-history-row strong {
  color: var(--navy);
  font-size: 11px;
}
.driver-history-row p {
  margin: 4px 0 0;
  color: #586679;
  font-size: 10px;
  line-height: 1.45;
}
.driver-history-meta {
  display: block;
  margin-top: 5px;
  color: #7a8798;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.4;
}
@media (max-width: 640px) {
  .driver-history-row {
    grid-template-columns: 80px 12px minmax(0, 1fr);
    gap: 7px;
  }
  .driver-history-row time {
    font-size: 8px;
  }
}
.driver-numbers-panel {
  margin-top: 8px;
}
.driver-roster-workspace {
  width: 100%;
  min-width: 0;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  overflow: visible;
}
.driver-roster-toolbar {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #dfe6ee;
  background: #f8fafc;
  padding: 9px 10px;
}
.driver-roster-toolbar > div:first-child strong,
.driver-roster-toolbar > div:first-child span {
  display: block;
}
.driver-roster-toolbar > div:first-child strong {
  color: var(--navy);
  font-size: 16px;
  font-weight: 950;
}
.driver-roster-toolbar > div:first-child span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.driver-roster-controls {
  min-width: 0;
  display: flex;
  flex: 1 1 720px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}
.roster-search-wrap {
  position: relative;
  width: min(320px, 26vw);
  flex: 1 1 250px;
  min-width: 190px;
}
.roster-search-input {
  width: 100%;
  padding-right: 88px;
}
.roster-search-shortcut {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  color: #7b8999;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .02em;
  pointer-events: none;
}
.roster-status-tabs {
  display: flex;
  align-items: center;
}
.roster-status-tabs button {
  min-width: 62px;
}
.roster-import-btn {
  height: 32px;
}
.roster-filter-strip {
  display: grid;
  grid-template-rows: repeat(2, 28px);
  grid-auto-columns: 98px;
  grid-auto-flow: column;
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  border-bottom: 1px solid #dfe6ee;
  background: #fff;
  padding: 4px 8px 5px;
  scroll-snap-type: x proximity;
  scrollbar-color: #aeb9c6 transparent;
  scrollbar-width: thin;
}
.roster-filter-strip > * {
  min-width: 0;
  scroll-snap-align: start;
}
.roster-filter-clear {
  width: 100%;
  min-width: 0;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border: 1px solid #cbd6e4;
  border-radius: 5px;
  background: #fff;
  color: #4b5b70;
  padding: 0 6px;
  font: 850 9px/1 inherit;
  cursor: pointer;
  white-space: nowrap;
}
.roster-filter-clear span {
  font-size: 13px;
  line-height: 0;
}
.roster-filter-clear:hover:not(:disabled) {
  border-color: #9badc1;
  background: #f7f9fc;
}
.roster-filter-clear:disabled {
  color: #98a4b2;
  cursor: default;
  opacity: .62;
}
.roster-filter-overview,
.roster-filter-card {
  width: 100%;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  border: 1px solid #d5dde7;
  border-radius: 5px;
  padding: 2px 6px;
}
.roster-filter-overview {
  background: #f7f9fc;
}
.roster-filter-overview span,
.roster-filter-card span {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  color: var(--navy);
  font-size: 9px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.roster-filter-overview strong,
.roster-filter-card strong {
  min-width: 16px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #edf1f5;
  color: #5c6a7b;
  padding: 2px 4px;
  font-size: 8px;
  line-height: 1;
  text-align: center;
}
.roster-filter-card {
  border-left-width: 3px;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .1s ease, background-color .1s ease, box-shadow .1s ease, transform .1s ease;
}
.roster-filter-card:active {
  cursor: grabbing;
  transform: translateY(1px);
}
.roster-filter-card:hover {
  border-color: #9eb3cc;
  box-shadow: 0 2px 8px rgba(20, 48, 79, .08);
}
.roster-filter-card:focus-visible,
.roster-filter-clear:focus-visible {
  outline: 3px solid rgba(31, 95, 158, .22);
  outline-offset: 1px;
}
.roster-filter-card.family-state {
  border-color: #83b5d5;
  background: #f2f8fc;
}
.roster-filter-card.family-status {
  border-color: #8aaed6;
  background: #f1f6fc;
}
.roster-filter-card.family-attention {
  border-color: #dabb82;
  background: #fff9ed;
}
.roster-filter-card.family-status.is-selected {
  border-color: #2b6bad;
  background: #e1ecfa;
  box-shadow: inset 0 0 0 1px #2b6bad;
}
.roster-filter-card.family-attention.is-selected {
  border-color: #a9771b;
  background: #fff0ce;
  box-shadow: inset 0 0 0 1px #a9771b;
}
.driver-profile-stats.roster-summary-cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}
.roster-summary-cards .roster-summary-clear {
  grid-column: 1 / -1;
  justify-self: start;
  width: auto;
  min-height: 22px;
  padding: 2px 6px;
  font-size: 10px;
}
.roster-summary-cards .roster-filter-card {
  width: auto;
  min-width: 0;
  height: 34px;
  padding: 5px 7px;
}
.driver-profile-stats.roster-summary-cards .roster-filter-card span {
  color: var(--navy);
  font-size: 11px;
  text-transform: none;
  font-weight: 800;
}
.driver-profile-stats.roster-summary-cards .roster-filter-card strong {
  min-width: 24px;
  margin-top: 0;
  border-radius: 4px;
  background: rgba(28, 65, 110, .07);
  font-size: 11px;
}
.roster-filter-config-row.family-status { border-left-color: #8aaed6; }
.roster-filter-config-row.family-attention { border-left-color: #dabb82; }
.roster-filter-config-row.family-status .roster-filter-family-dot { background: #2b6bad; }
.roster-filter-config-row.family-attention .roster-filter-family-dot { background: #a9771b; }
@media (max-width: 620px) {
  .driver-profile-stats.roster-summary-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .roster-summary-cards .roster-filter-card,
  .roster-summary-cards .roster-summary-clear {
    min-height: 40px;
  }
}
.roster-filter-card.family-tenure {
  border-color: #b6a4d6;
  background: #f8f5fc;
}
.roster-filter-card.family-state.is-selected {
  border-color: #27729f;
  background: #e4f1f8;
  box-shadow: inset 0 0 0 1px #27729f;
}
.roster-filter-card.family-tenure.is-selected {
  border-color: #7452a6;
  background: #efe8f8;
  box-shadow: inset 0 0 0 1px #7452a6;
}
.roster-filter-card.is-selected span::after {
  margin-left: 4px;
  content: "✓";
}
.roster-filter-card.is-starred {
  border-top: 2px solid #d49a22;
}
.roster-filter-card.is-dragging,
.roster-filter-config-row.is-dragging {
  opacity: .42;
}
.roster-filter-card.is-drag-target,
.roster-filter-config-row.is-drag-target {
  outline: 2px solid #1f5f9e;
  outline-offset: -2px;
}
.roster-columns-panel.roster-filters-panel {
  position: fixed;
  top: 72px;
  right: 16px;
  left: auto;
  z-index: 80;
  width: min(680px, calc(100vw - 34px));
  max-height: calc(100vh - 88px);
}
.roster-filter-config-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 9px;
}
.roster-filter-manager-summary {
  margin-top: 8px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.roster-filter-config-row {
  min-width: 0;
  min-height: 42px;
  display: grid;
  grid-template-columns: 18px 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  border: 1px solid #dce4ed;
  border-left-width: 3px;
  border-radius: 7px;
  background: #fbfcfe;
  padding: 6px 7px;
  cursor: grab;
}
.roster-filter-config-row.family-state {
  border-left-color: #83b5d5;
}
.roster-filter-config-row.family-tenure {
  border-left-color: #b6a4d6;
}
.roster-filter-config-row.is-hidden {
  background: #f5f6f8;
  opacity: .7;
}
.roster-filter-grip {
  color: #9aa8b8;
  font-size: 12px;
  letter-spacing: -3px;
}
.roster-filter-family-dot {
  width: 7px;
  height: 7px;
  display: block;
  border-radius: 50%;
  background: #83b5d5;
}
.roster-filter-config-row.family-tenure .roster-filter-family-dot {
  background: #8c70b5;
}
.roster-filter-config-name,
.roster-filter-config-name strong,
.roster-filter-config-name small {
  min-width: 0;
  display: block;
}
.roster-filter-config-name {
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}
.roster-filter-config-name strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.roster-filter-config-name small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
}
.roster-filter-config-row > div {
  display: flex;
  align-items: center;
  gap: 3px;
}
.roster-filter-config-row button {
  min-width: 26px;
  height: 26px;
  border: 1px solid #d5dde7;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  padding: 0 6px;
  font: 850 10px/1 inherit;
  cursor: pointer;
}
.roster-filter-config-row button:disabled {
  cursor: default;
  opacity: .32;
}
.roster-filter-config-row .roster-filter-star {
  color: #9aa4b1;
}
.roster-filter-config-row .roster-filter-star.is-starred {
  border-color: #e0b454;
  background: #fff8e6;
  color: #c48a12;
}
.roster-filter-visibility {
  height: 26px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid #d5dde7;
  border-radius: 6px;
  background: #fff;
  padding: 0 6px;
  color: #4d5d72;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}
.roster-filter-visibility input {
  width: 13px;
  height: 13px;
  margin: 0;
}
.roster-telegram-cell {
  display: flex;
  align-items: center;
  justify-content: center;
}
.roster-telegram-btn {
  width: 28px;
  height: 28px;
  padding: 5px;
}
.roster-telegram-empty {
  color: #a1adbb;
  font-weight: 900;
}
.roster-columns-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 30;
  width: min(760px, calc(100vw - 34px));
  max-height: min(680px, calc(100vh - 150px));
  overflow: auto;
  border: 1px solid #cad4e1;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(15, 39, 72, .2);
  padding: 11px;
}
.roster-columns-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e5eaf0;
}
.roster-columns-panel-head strong,
.roster-columns-panel-head span {
  display: block;
}
.roster-columns-panel-head strong {
  color: var(--navy);
  font-size: 14px;
  font-weight: 950;
}
.roster-columns-panel-head span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.roster-columns-panel-head > button {
  width: 30px;
  height: 30px;
  flex: none;
  border: 1px solid #d2dae5;
  border-radius: 7px;
  background: #f7f9fc;
  color: var(--navy);
  font: 950 14px/1 inherit;
  cursor: pointer;
}
.roster-column-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 9px;
}
.roster-column-groups section {
  min-width: 0;
  border: 1px solid #e1e7ef;
  border-radius: 8px;
  background: #fbfcfe;
  padding: 8px;
}
.roster-column-groups h4 {
  margin: 0 0 6px;
  color: #5e6b7e;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.roster-column-option {
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  border-top: 1px solid #edf1f5;
  padding: 4px 0;
}
.roster-column-option:first-of-type {
  border-top: 0;
}
.roster-column-option label {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
}
.roster-column-option label span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.roster-column-option > div {
  display: flex;
  flex: none;
  gap: 3px;
}
.roster-column-option > div button {
  width: 26px;
  height: 24px;
  border: 1px solid #d6dee8;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  font: 900 12px/1 inherit;
  cursor: pointer;
}
.roster-column-option > div button:disabled {
  opacity: .32;
  cursor: default;
}
.driver-roster-table {
  max-height: calc(100vh - 255px);
  overflow: auto;
  background: #fff;
}
.driver-roster-table .driver-table-head {
  top: 0;
  min-height: 42px;
  gap: 0;
  border-bottom-color: #dfe5ec;
  background: #f8fafc;
  color: #5b6b7f;
  padding: 0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}
.driver-roster-table .driver-head-cell {
  min-height: 42px;
  justify-content: flex-start;
  border-right: 1px solid #e5eaf0;
  padding: 0 12px;
  box-sizing: border-box;
}
.driver-roster-table .driver-head-cell.num-cell {
  justify-content: flex-start;
}
.roster-head-label {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.roster-head-label > img {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  opacity: .82;
}
.roster-head-label > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-roster-table .driver-head-cell[data-roster-column="telegram"] {
  padding-inline: 8px;
}
.driver-roster-table .driver-head-cell[data-roster-column="telegram"] .roster-head-label {
  gap: 5px;
}
.driver-roster-table .driver-head-cell[data-roster-column="telegram"] .roster-head-label > img {
  width: 13px;
  height: 13px;
  flex-basis: 13px;
}
.driver-roster-table .driver-resize-handle {
  top: 9px;
  right: -5px;
  height: 24px;
  border-right-color: #d4dbe4;
}
.driver-roster-table .driver-resize-handle:hover {
  border-right-color: #8798ab;
}
.driver-roster-table .driver-table-head button:hover {
  color: #17345f;
  background: #f1f5f9;
}
.driver-roster-table .driver-table-head button.active {
  color: #17345f;
  background: #f1f5f9;
}
.driver-roster-table .driver-table-row {
  min-height: 48px;
  gap: 0;
  border-top: 0;
  border-bottom: 1px solid #edf0f4;
  background: #fff;
  padding: 0;
  font-size: 12px;
}
.driver-roster-table .driver-table-row > span {
  height: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  border-right: 1px solid #f0f2f5;
  padding: 0 12px;
  box-sizing: border-box;
}
.driver-roster-table .driver-table-row:nth-child(even):not(.total) {
  background: #fff;
}
.driver-roster-table .driver-table-row:hover:not(.total) {
  background: #f7faff;
  box-shadow: inset 3px 0 0 #2d6ca8;
}
.driver-roster-table .driver-table-row.is-search-active:not(.total),
.driver-roster-table .driver-table-row.inactive.is-search-active:not(.total) {
  background: #eef6ff;
  box-shadow: inset 3px 0 0 #1469b8, inset 0 0 0 1px #cfe2f5;
}
.driver-roster-table .driver-table-row.is-search-active .driver-overview-name-btn {
  color: #0b5fc0;
}
.driver-roster-table .driver-table-row.inactive:not(.total),
.driver-roster-table .driver-table-row.inactive:hover:not(.total) {
  border-left: 0;
  background: #fafbfc;
  color: #6a7686;
}
.driver-roster-name-cell {
  gap: 9px;
}
.driver-roster-avatar {
  position: relative;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  overflow: hidden !important;
  display: grid !important;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #dce8f4;
  color: #17345f;
  box-shadow: 0 0 0 1px #d9e1ea;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .02em;
}
.driver-roster-avatar.tone-1 {
  background: #e7ddf3;
  color: #543a7a;
}
.driver-roster-avatar.tone-2 {
  background: #d8efe7;
  color: #176f55;
}
.driver-roster-avatar.tone-3 {
  background: #f5e6cd;
  color: #83571b;
}
.driver-roster-avatar.tone-4 {
  background: #f3dfe5;
  color: #8a3b54;
}
.driver-roster-avatar.tone-5 {
  background: #dce9f5;
  color: #285c87;
}
.driver-roster-avatar > span {
  position: relative;
  z-index: 0;
}
.driver-roster-avatar > img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.driver-roster-name-cell .driver-overview-name-btn {
  color: #17243a;
  font-size: 12px;
  font-weight: 850;
}
.driver-roster-name-cell .driver-overview-name-btn:hover {
  color: #0b5fc0;
}
.roster-contact-link {
  color: #4e647d;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-color: #9aaabd;
  text-underline-offset: 2px;
}
.roster-contact-link:hover {
  color: #0b5fc0;
  text-decoration: underline;
}
.roster-warning-cell {
  display: flex !important;
  align-items: center;
  gap: 4px;
  overflow: visible !important;
}
.roster-warning-badge,
.roster-clear-label {
  min-height: 21px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0 7px;
  font-size: 9px;
  font-weight: 950;
  white-space: nowrap;
}
.roster-warning-badge.red {
  background: #fde8e8;
  color: #ad2630;
}
.roster-warning-badge.amber {
  background: #fff1d6;
  color: #8c5b00;
}
.roster-warning-badge.gray {
  background: #edf0f3;
  color: #657181;
}
.roster-clear-label {
  background: #eef8f2;
  color: #16834a;
}
.driver-period-bar {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) 252px;
  gap: 8px;
  align-items: start;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  padding: 8px;
}
.driver-period-bar .profile-week-stepper {
  grid-template-columns: 36px minmax(0, 1fr);
}
.driver-period-bar .profile-week-stepper button {
  height: 48px;
}
.driver-period-bar .current-week-pill span,
.driver-period-bar .current-week-pill small {
  display: block;
}
.driver-shortcuts {
  grid-template-columns: repeat(14, minmax(34px, 1fr));
}
.driver-range-pick {
  align-self: stretch;
}
.driver-profile-number-summary {
  display: grid;
  grid-template-columns: 210px repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.driver-score-card,
.driver-summary-stat {
  min-width: 0;
  min-height: 76px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.driver-score-card {
  border-color: #d2b557;
  background: #fffdf5;
}
.driver-score-card span,
.driver-summary-stat span {
  display: block;
  color: var(--muted);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.driver-score-card strong,
.driver-summary-stat strong {
  display: block;
  margin-top: 3px;
  color: var(--navy);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(21px, 1.4vw, 30px);
  font-weight: 950;
  line-height: 1;
}
.driver-score-card small,
.driver-summary-stat small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 750;
}
.driver-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.driver-metric-card {
  min-width: 0;
  min-height: 132px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.driver-metric-card .metric-label {
  color: var(--navy);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.driver-card-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 9px;
}
.driver-card-values div {
  min-width: 0;
  border-radius: 7px;
  background: #f3f6fa;
  padding: 7px;
}
.driver-card-values span {
  display: block;
  color: var(--muted);
  font-size: 8px;
  font-weight: 950;
  text-transform: uppercase;
}
.driver-card-values strong {
  display: block;
  margin-top: 4px;
  color: var(--navy);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(15px, .95vw, 21px);
  font-weight: 950;
  line-height: 1;
}
.driver-card-values .company strong { color: #a67600; }
.driver-card-values .best strong { color: #16834a; }
.driver-profile-period-table {
  margin-top: 8px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.driver-profile-grid-table {
  max-height: 56vh;
  overflow: auto;
}
.driver-profile-grid-table .driver-table-head {
  top: 0;
}
.driver-profile-grid-table .driver-table-row.total {
  top: 38px;
}
.driver-profile-grid-table .driver-table-row.selected-driver-row:not(.total) {
  background: #fff7d6;
  box-shadow: inset 4px 0 0 #e7b93f;
}
.driver-profile-grid-table .driver-table-row.selected-driver-row:hover:not(.total) {
  background: #fff1bd;
}
.driver-profile-table-head .driver-head-cell {
  padding-left: 0;
}
.driver-period-bar-v2 {
  grid-template-columns: 210px minmax(0, 1fr) 252px;
  align-items: center;
  background: #f9fbfd;
}
.driver-period-bar-v2 .profile-week-stepper {
  grid-template-columns: 34px minmax(0, 1fr) 34px;
  align-items: stretch;
}
.driver-period-bar-v2 .profile-week-stepper button {
  height: 46px;
}
.driver-period-bar-v2 .profile-week-stepper button:disabled {
  opacity: .4;
  cursor: not-allowed;
}
.driver-period-bar-v2 .current-week-pill {
  border-color: #c8d4e4;
  background: #fff;
  color: var(--navy);
}
.driver-period-bar-v2 .current-week-pill.active {
  border-color: var(--navy);
  background: var(--navy);
  color: #fff;
}
.driver-period-bar-v2 .driver-shortcuts {
  display: grid;
  grid-template-columns: repeat(8, minmax(38px, auto));
  gap: 5px;
  align-items: center;
}
.driver-period-bar-v2 .profile-period-chip {
  min-width: 38px;
  height: 28px;
  padding: 0 7px;
}
.driver-month-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(12, minmax(38px, 1fr));
  gap: 5px;
}
.driver-quarter-picker,
.period-quarter-picker {
  position: relative;
  min-width: 72px;
}
.driver-quarter-picker summary,
.period-quarter-picker summary {
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid #cfd9e6;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}
.driver-quarter-picker summary::-webkit-details-marker,
.period-quarter-picker summary::-webkit-details-marker {
  display: none;
}
.driver-quarter-picker[open] summary,
.period-quarter-picker[open] summary {
  border-color: var(--navy);
  box-shadow: 0 0 0 2px rgba(22, 49, 92, .08);
}
.driver-quarter-menu,
.period-quarter-menu {
  position: absolute;
  top: 33px;
  left: 0;
  z-index: 20;
  width: 178px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
  border: 1px solid #ccd7e5;
  border-radius: 8px;
  background: #fff;
  padding: 7px;
  box-shadow: 0 12px 28px rgba(15, 35, 65, .16);
}
.period-quarter-menu button {
  min-width: 0;
  height: 28px;
  border: 1px solid #cfd9e6;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  font: 900 10px/1 inherit;
  cursor: pointer;
}
.period-quarter-menu button:hover,
.period-quarter-menu button.active {
  border-color: var(--navy);
  background: var(--navy);
  color: #fff;
}
.driver-lead-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}
.driver-lead-kpi {
  min-width: 0;
  min-height: 176px;
  border: 1px solid #dbe3ed;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}
.driver-lead-kpi.primary {
  border-color: #d8b756;
  background: #fffdf6;
}
.driver-kpi-label,
.driver-chart-toolbar > div > span {
  display: block;
  color: #59677a;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.driver-kpi-current {
  display: block;
  margin-top: 5px;
  color: var(--navy);
  font-size: clamp(27px, 2.25vw, 42px);
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}
.driver-kpi-headline {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
}
.driver-kpi-weekly {
  min-width: 98px;
  border-left: 1px solid #dbe3ed;
  padding: 2px 0 2px 10px;
  text-align: right;
}
.driver-kpi-weekly span,
.driver-kpi-weekly b {
  display: block;
  white-space: nowrap;
}
.driver-kpi-weekly span {
  color: #667387;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.driver-kpi-weekly b {
  margin-top: 3px;
  color: var(--navy);
  font-size: clamp(15px, 1.25vw, 21px);
  font-weight: 950;
  line-height: 1;
}
.driver-kpi-period-days {
  min-height: 24px;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 7px;
  border-radius: 6px;
  background: #f3f6fa;
  color: #657286;
  padding: 4px 7px;
  font-size: 9px;
  font-weight: 800;
}
.driver-kpi-period-days b {
  color: var(--navy);
  font-weight: 950;
}
.driver-kpi-period-days i {
  width: 1px;
  height: 11px;
  background: #ccd6e2;
}
.driver-kpi-comparisons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  margin-top: 12px;
}
.driver-kpi-comparisons > div {
  min-width: 0;
  min-height: 48px;
  border-radius: 7px;
  background: #f2f5f9;
  padding: 7px;
}
.driver-kpi-comparisons span,
.driver-kpi-comparisons b,
.driver-kpi-comparisons small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-kpi-comparisons span {
  color: #667387;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}
.driver-kpi-comparisons b {
  margin-top: 3px;
  color: var(--navy);
  font-size: clamp(13px, 1vw, 18px);
  font-weight: 950;
}
.driver-kpi-comparisons > div:nth-child(2) b { color: #a67600; }
.driver-kpi-comparisons > div:nth-child(3) b { color: #16834a; }
.driver-kpi-comparisons small {
  margin-top: 2px;
  color: #687587;
  font-size: 8px;
  font-weight: 750;
}
.driver-kpi-progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin-top: 9px;
}
.driver-kpi-progress i {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6ecf3;
}
.driver-kpi-progress b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #2caf67;
}
.driver-kpi-progress span {
  color: #5f6c7d;
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
}
.driver-lead-kpi p {
  margin: 7px 0 0;
  color: #647184;
  font-size: 10px;
  line-height: 1.25;
}
.driver-performance-panel,
.driver-recent-weeks-panel {
  margin-top: 8px;
  border: 1px solid #dbe3ed;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.driver-performance-head {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #e5ebf2;
  background: #f8fafc;
  padding: 8px 11px;
}
.driver-performance-head strong,
.driver-performance-head span {
  display: block;
}
.driver-performance-head strong {
  color: var(--navy);
  font-size: 14px;
  font-weight: 950;
}
.driver-performance-head span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
}
.driver-chart-toolbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  border-bottom: 1px solid #edf1f5;
  padding: 9px 11px;
}
.driver-chart-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
}
.driver-chart-chip,
.driver-chart-secondary {
  min-height: 28px;
  border: 1px solid #cfd9e6;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  padding: 0 8px;
  font-family: inherit;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}
.driver-chart-chip:hover,
.driver-chart-secondary:hover {
  border-color: #9fb2ca;
}
.driver-chart-chip.active {
  border-color: var(--navy);
  background: var(--navy);
  color: #fff;
}
.driver-chart-chip.company.active {
  border-color: #c28a00;
  background: #fff7dc;
  color: #8c6500;
}
.driver-chart-series {
  padding: 9px 10px 4px;
}
.driver-chart-series.secondary {
  border-top: 1px solid #e6ebf1;
  background: #fbfcfe;
}
.driver-chart-series-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px 5px;
}
.driver-chart-series-title strong {
  color: var(--navy);
  font-size: 12px;
  font-weight: 950;
}
.driver-chart-series-title span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
}
.driver-chart-scroll {
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid #edf1f5;
  border-radius: 7px;
  background: #fff;
}
.driver-performance-svg {
  display: block;
  max-width: none;
}
.driver-chart-grid {
  stroke: #e8edf3;
  stroke-width: 1;
}
.driver-chart-axis,
.driver-chart-x-label {
  fill: #718096;
  font-size: 9px;
  font-weight: 800;
}
.driver-chart-line,
.driver-chart-company-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}
.driver-chart-line { stroke: #153a70; }
.driver-chart-company-line {
  stroke: #cc9200;
  stroke-width: 2;
  stroke-dasharray: 7 5;
}
.driver-chart-point {
  fill: #fff;
  stroke: #153a70;
  stroke-width: 3;
}
.driver-chart-company-point {
  fill: #fff7dc;
  stroke: #cc9200;
  stroke-width: 2;
}
.driver-chart-value-label,
.driver-chart-company-label {
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 4px;
  stroke-linejoin: round;
  font-size: 10px;
  font-weight: 950;
}
.driver-chart-value-label { fill: #153a70; }
.driver-chart-company-label {
  fill: #9b7100;
  font-size: 8px;
}
.driver-chart-empty {
  display: grid;
  place-items: center;
  min-height: 170px;
  border: 1px dashed #d5deea;
  border-radius: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.driver-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  border-top: 1px solid #edf1f5;
  padding: 8px 12px;
  color: #58677a;
  font-size: 10px;
  font-weight: 800;
}
.driver-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.driver-chart-legend i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #153a70;
}
.driver-chart-legend i.company { background: #cc9200; }
.driver-support-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(190px, .9fr);
  gap: 7px;
  margin-top: 8px;
}
.driver-support-strip > div,
.driver-support-strip > details {
  min-width: 0;
  min-height: 72px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #f8fafc;
  padding: 9px 10px;
}
.driver-support-strip span,
.driver-support-strip strong,
.driver-support-strip small {
  display: block;
}
.driver-support-strip span,
.driver-support-strip summary {
  color: #5d6a7d;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.driver-support-strip strong {
  margin-top: 4px;
  color: var(--navy);
  font-size: 23px;
  font-weight: 950;
  line-height: 1;
}
.driver-support-strip small {
  margin-top: 6px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
}
.driver-support-strip details summary { cursor: pointer; }
.driver-support-strip details p {
  margin: 10px 0 0;
  color: #405066;
  font-size: 11px;
  line-height: 1.4;
}
.driver-week-table-wrap {
  overflow-x: auto;
}
.driver-week-table {
  width: 100%;
  min-width: 940px;
  border-collapse: collapse;
  table-layout: fixed;
}
.driver-week-table th {
  background: #253246;
  color: #fff;
  padding: 8px 9px;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .04em;
  text-align: right;
  text-transform: uppercase;
}
.driver-week-table th:first-child,
.driver-week-table td:first-child { text-align: left; }
.driver-week-table td {
  border-bottom: 1px solid #e7ecf2;
  color: #17243a;
  padding: 8px 9px;
  font-size: 11px;
  font-weight: 750;
  text-align: right;
  white-space: nowrap;
}
.driver-week-table tr.current td {
  background: #fff7dc;
  font-weight: 900;
}
.driver-week-cell b,
.driver-week-cell small {
  display: block;
}
.driver-week-cell b {
  color: var(--navy);
  font-weight: 950;
}
.driver-week-cell small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
}
.driver-week-loading {
  height: 72px;
  color: var(--muted) !important;
  text-align: center !important;
}
.driver-week-load-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
}
.driver-week-load-more span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.driver-overview-home {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}
.driver-overview-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.driver-overview-stat {
  min-width: 0;
  min-height: 74px;
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.driver-overview-stat.primary {
  border-color: #b9cce4;
  background: #f7fbff;
}
.driver-overview-stat.attention {
  border-color: #e0c272;
  background: #fffaf0;
}
.driver-overview-stat.good {
  border-color: #b8d9c8;
  background: #f4fbf6;
}
.driver-overview-stat span,
.driver-overview-stat small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-overview-stat span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.driver-overview-stat strong {
  display: block;
  margin-top: 3px;
  color: var(--navy);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(22px, 1.8vw, 32px);
  font-weight: 950;
  line-height: 1;
}
.driver-overview-stat small {
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.driver-attention-panel,
.driver-overview-table-panel {
  border: 1px solid #dfe6ee;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.driver-attention-head,
.driver-overview-table-head {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #e8edf4;
  background: #f8fafc;
  padding: 8px 10px;
}
.driver-attention-head strong,
.driver-overview-table-head strong {
  display: block;
  color: var(--navy);
  font-size: 14px;
  font-weight: 950;
}
.driver-attention-head span,
.driver-overview-table-head span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.driver-attention-list {
  display: grid;
  gap: 6px;
  padding: 8px;
}
.driver-attention-row {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) 90px 90px 72px auto;
  align-items: center;
  gap: 8px;
  border: 1px solid #edf0f4;
  border-left: 4px solid #d69b13;
  border-radius: 8px;
  background: #fffdf7;
  padding: 8px;
}
.driver-attention-row strong,
.driver-attention-row span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-attention-row strong {
  color: var(--navy);
  font-size: 13px;
  font-weight: 950;
}
.driver-attention-row span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}
.driver-attention-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
}
.subtle-danger {
  border-color: #efc7c7;
  color: #a02b2b;
  background: #fff8f8;
}
.driver-overview-table-wrap {
  max-height: 58vh;
  overflow: auto;
}
.driver-overview-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.driver-overview-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  border-bottom: 1px solid #d8e0eb;
  background: #eaf0f7;
  color: #445468;
  padding: 0;
  text-align: left;
}
.driver-overview-table td {
  border-bottom: 1px solid #edf1f5;
  color: var(--text);
  padding: 8px 9px;
  font-size: 12px;
  font-weight: 650;
  vertical-align: middle;
  white-space: nowrap;
}
.driver-overview-table tr:hover td {
  background: #f6faff;
}
.driver-overview-table tr.inactive-row td {
  background: #f4f6f8;
  color: #6d7784;
}
.driver-overview-table td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.driver-overview-sort {
  width: 100%;
  min-height: 34px;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0 9px;
  font-family: inherit;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .06em;
  text-align: inherit;
  text-transform: uppercase;
  cursor: pointer;
}
.driver-overview-sort.active {
  color: var(--navy);
}
.driver-overview-sort span {
  margin-left: 4px;
  color: #a67600;
  font-size: 9px;
  text-transform: none;
}
.driver-overview-name-btn {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
  background: transparent;
  color: #0b5fc0;
  padding: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: inherit;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
}
.driver-overview-name-btn:hover {
  text-decoration: underline;
}
.driver-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 22px;
  border: 1px solid #dfe5e9;
  border-radius: 999px;
  background: #fff;
  padding: 0 8px;
  font-size: 10px;
  font-weight: 800;
}
.driver-status-badge img {
  width: 11px;
  height: 11px;
}
.driver-status-badge.active {
  border-color: #cde8d7;
  background: #f7fcf9;
  color: #16834a;
}
.driver-status-badge.inactive {
  border-color: #dfe3e8;
  background: #fafbfc;
  color: #66717f;
}
.driver-overview-empty {
  padding: 18px;
  text-align: center;
}
@media (max-width: 1180px) {
  .driver-management-grid,
  .driver-profile-hero,
  .driver-period-bar,
  .driver-profile-number-summary {
    grid-template-columns: 1fr;
  }
  .driver-selector-panel {
    position: static;
    max-height: none;
  }
  .driver-management-grid.profile-dossier-mode {
    grid-template-columns: 280px minmax(0, 1fr);
  }
  .driver-profile-stats,
  .driver-metric-grid,
  .driver-overview-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .driver-lead-kpi-grid,
  .driver-chart-toolbar,
  .driver-support-strip {
    grid-template-columns: 1fr;
  }
  .driver-kpi-headline {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .driver-period-bar-v2 .driver-shortcuts {
    grid-template-columns: repeat(6, minmax(38px, 1fr));
  }
  .driver-attention-row {
    grid-template-columns: 1fr 76px 76px;
  }
  .driver-attention-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
  .driver-roster-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .driver-roster-controls {
    width: 100%;
    flex: 0 0 auto;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .roster-search-input {
    width: min(420px, 100%);
    flex: 1 1 320px;
  }
}
@media (max-width: 840px) {
  .driver-management-grid.profile-dossier-mode {
    grid-template-columns: 1fr;
  }
  .driver-profile-dossier-rail {
    position: static;
    min-height: 0;
    max-height: none;
    border-right: 1px solid #dfe5ec;
    border-radius: 8px;
  }
  .profile-dossier-mode .driver-profile-main {
    min-height: 0;
    margin-top: 8px;
    border-radius: 8px;
  }
  .driver-dossier-two-col {
    grid-template-columns: 1fr;
  }
  .driver-dossier-two-col .driver-dossier-section + .driver-dossier-section {
    border-top: 1px solid #e2e7ee;
    border-left: 0;
  }
  .driver-dossier-field.driver-telegram-field {
    grid-template-columns: 120px minmax(0, 1fr);
  }
  .driver-telegram-field dt {
    padding-top: 0;
  }
  .driver-profile-stats,
  .driver-metric-grid,
  .driver-card-values,
  .driver-overview-stats {
    grid-template-columns: 1fr;
  }
  .driver-overview-table-wrap {
    max-height: none;
  }
  .driver-month-strip,
  .driver-kpi-comparisons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .driver-chart-series-title,
  .driver-week-load-more {
    align-items: stretch;
    flex-direction: column;
  }
  .driver-import-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .driver-import-change-summary {
    grid-template-columns: 1fr;
  }
  .driver-import-warning,
  .driver-import-error,
  .driver-import-ready,
  .driver-import-footer {
    align-items: stretch;
    flex-direction: column;
  }
  .driver-import-select {
    align-items: stretch;
    flex-direction: column;
  }
  .driver-import-select select {
    width: 100%;
  }
  .roster-column-groups {
    grid-template-columns: 1fr;
  }
  .roster-filter-config-list,
  .roster-filter-create {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .driver-management-page.driver-picker-open {
    overflow: hidden;
  }
  .driver-management-shell {
    padding-top: 8px;
  }
  .mobile-driver-picker {
    position: sticky;
    top: 8px;
    z-index: 60;
    width: 100%;
    min-width: 0;
    min-height: 54px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    border: 1px solid #b9c9dd;
    border-radius: 8px;
    background: #fff;
    color: var(--navy);
    padding: 8px 10px;
    box-shadow: 0 7px 20px rgba(15, 35, 65, .12);
    font-family: inherit;
    text-align: left;
    cursor: pointer;
  }
  .mobile-driver-picker-copy,
  .mobile-driver-picker-copy small,
  .mobile-driver-picker-copy strong,
  .mobile-driver-picker-copy em {
    min-width: 0;
    display: block;
  }
  .mobile-driver-picker-copy small {
    color: #687588;
    font-size: 9px;
    font-style: normal;
    font-weight: 950;
    text-transform: uppercase;
  }
  .mobile-driver-picker-copy strong {
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 15px;
    font-weight: 950;
  }
  .mobile-driver-picker-copy em {
    margin-top: 2px;
    color: var(--muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    font-style: normal;
    font-weight: 750;
  }
  .mobile-driver-picker-action {
    min-height: 32px;
    display: inline-grid;
    place-items: center;
    border-radius: 7px;
    background: var(--navy);
    color: #fff;
    padding: 0 11px;
    font-size: 11px;
    font-weight: 950;
  }
  .driver-management-grid {
    display: block;
    margin-top: 8px;
  }
  .profile-dossier-mode .driver-selector-panel.mobile-open {
    display: grid;
  }
  .profile-dossier-mode .profile-tabs {
    min-height: 48px;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .profile-dossier-mode .profile-tabs .profile-tab {
    min-width: max-content;
    flex: none;
    padding: 0 11px;
  }
  .driver-dossier-identity {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: center;
    column-gap: 12px;
    padding: 12px 14px;
    text-align: left;
  }
  .driver-dossier-avatar {
    width: 58px;
    height: 58px;
    grid-row: 1 / 6;
    margin: 0;
    font-size: 20px;
  }
  .driver-dossier-avatar-shell {
    width: 58px;
    height: 58px;
    grid-row: 1 / 6;
    margin: 0;
  }
  .driver-dossier-avatar-edit {
    right: -4px;
    bottom: -4px;
    width: 25px;
    height: 25px;
  }
  .driver-dossier-identity h1 {
    margin: 0 0 4px;
    font-size: 19px;
  }
  .driver-dossier-identity > strong {
    margin-top: 6px;
  }
  .driver-dossier-identity > small {
    margin-top: 3px;
  }
  .driver-dossier-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 10px 14px;
  }
  .driver-dossier-equipment {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-inline: 14px;
    padding-inline: 0;
  }
  .driver-dossier-equipment > div {
    min-height: 54px;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 6px;
  }
  .driver-dossier-equipment > div:first-child {
    grid-template-columns: 18px minmax(0, 1fr) 26px;
  }
  .driver-dossier-equipment .telegram-chat-btn {
    width: 26px;
    height: 26px;
  }
  .driver-dossier-health {
    display: none;
  }
  .driver-dossier-note {
    width: calc(100% - 28px);
    margin: 9px 14px 12px;
  }
  .driver-dossier-field {
    grid-template-columns: minmax(108px, .8fr) minmax(0, 1.2fr);
  }
  .driver-info-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .driver-info-head > span {
    max-width: none;
    text-align: left;
  }
  .driver-picker-backdrop:not([hidden]) {
    position: fixed;
    inset: 0;
    z-index: 2190;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(12, 27, 49, .46);
    padding: 0;
  }
  .driver-selector-panel {
    position: fixed;
    inset: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    z-index: 2200;
    max-height: none;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    border-radius: 8px;
    padding: 12px;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateY(24px) scale(.985);
    transition: opacity .16s ease, transform .16s ease;
  }
  .driver-selector-panel.mobile-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }
  .driver-picker-close {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid #cbd6e4;
    border-radius: 7px;
    background: #f4f7fa;
    color: var(--navy);
    padding: 0;
    font: 950 16px/1 inherit;
    cursor: pointer;
  }
  .driver-target-list {
    overscroll-behavior: contain;
    padding-bottom: max(4px, env(safe-area-inset-bottom));
  }
  .driver-target-card {
    min-height: 54px;
  }
  .driver-profile-main {
    scroll-margin-top: 70px;
    padding: 8px;
  }
  .driver-profile-hero {
    gap: 8px;
  }
  .driver-profile-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .driver-profile-stats div {
    min-height: 44px;
  }
  .driver-profile-hero .context-actions,
  .driver-profile-hero .quick-save {
    width: 100%;
  }
  .driver-profile-hero .context-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .driver-roster-controls,
  .roster-status-tabs,
  .roster-search-input,
  .roster-import-btn,
  .driver-roster-controls .table-view-tools,
  .driver-roster-controls .table-view-btn {
    width: 100%;
  }
  .roster-status-tabs button {
    flex: 1 1 0;
  }
  .roster-columns-panel,
  .roster-filters-panel {
    position: fixed;
    inset: 8px;
    width: auto;
    max-height: none;
  }
  .roster-columns-panel.roster-filters-panel {
    inset: 8px;
    width: auto;
    max-height: none;
  }
  .roster-filter-strip {
    grid-template-rows: repeat(2, 40px);
    grid-auto-columns: 106px;
    gap: 5px;
    padding-inline: 8px;
  }
  .roster-filter-clear,
  .roster-filter-overview,
  .roster-filter-card {
    height: 40px;
  }
  .driver-roster-controls > .table-view-tools {
    width: calc(50% - 4px);
    flex: 1 1 140px;
  }
  .driver-roster-controls > .table-view-tools .table-view-btn {
    width: 100%;
  }
  .driver-roster-table {
    max-height: none;
  }
  .driver-period-bar-v2 .driver-shortcuts {
    grid-template-columns: repeat(4, minmax(38px, 1fr));
  }
}
.work-item,
.driver-report-tile,
.rule-tile {
  min-height: 86px;
  border: 1px solid #e1e6ed;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.work-item.ready {
  border-left: 4px solid #185a9d;
}
.work-item strong,
.driver-report-tile strong,
.rule-tile strong {
  display: block;
  color: var(--text);
  font-size: 13px;
}
.work-item span,
.driver-report-tile span,
.rule-tile span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.rule-tile.wide-rule {
  grid-column: span 2;
}
.rule-setting-card {
  margin-top: 11px;
  border: 1px solid #d2b557;
  border-radius: 8px;
  background: #fffdf5;
  padding: 10px;
}
.rule-setting-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.rule-setting-head strong,
.rule-setting-head span {
  display: block;
}
.rule-setting-head strong {
  color: var(--navy);
  font-size: 15px;
  font-weight: 950;
}
.rule-setting-head span {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.rule-setting-current {
  min-width: 96px;
  color: var(--navy);
  font-size: 34px;
  font-weight: 950;
  line-height: 1;
  text-align: right;
}
.rule-setting-form {
  display: grid;
  grid-template-columns: minmax(180px, 240px) 92px;
  align-items: end;
  gap: 8px;
  margin-top: 9px;
}
.rule-setting-form label {
  display: grid;
  gap: 4px;
}
.rule-setting-form label span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
}
.rule-setting-status {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.dat-rpm-grid {
  display: grid;
  grid-template-columns: minmax(340px, 1fr) minmax(300px, .72fr);
  gap: 10px;
  margin-top: 11px;
}
.dat-rpm-card {
  min-width: 0;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.dat-rpm-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #edf0f4;
  padding-bottom: 8px;
  margin-bottom: 9px;
}
.dat-rpm-card-head strong,
.dat-rpm-card-head span {
  display: block;
}
.dat-rpm-card-head strong {
  color: var(--navy);
  font-size: 15px;
  font-weight: 900;
}
.dat-rpm-card-head span {
  max-width: 420px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
  text-align: right;
}
.dat-rpm-form-grid {
  display: grid;
  grid-template-columns: 145px 120px minmax(180px, 1fr);
  gap: 8px;
}
.dat-rpm-form-grid label,
.dat-rpm-notes {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.dat-rpm-form-grid span,
.dat-rpm-notes span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.dat-rpm-notes {
  margin-top: 8px;
}
.dat-rpm-notes textarea {
  height: 72px;
  resize: vertical;
  padding: 8px;
}
.dat-rpm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  margin-top: 8px;
}
.dat-rpm-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #dfe5ec;
}
.dat-rpm-stat-grid span {
  min-height: 72px;
  display: grid;
  align-content: center;
  gap: 5px;
  background: #f8fafc;
  color: var(--navy);
  padding: 8px;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
}
.dat-rpm-stat-grid strong {
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.dat-rpm-history-panel {
  min-height: 0;
  margin-top: 10px;
}
.dat-rpm-table-shell {
  max-height: calc(100vh - 360px);
}
.dat-rpm-table th:nth-child(2),
.dat-rpm-table td:nth-child(2) {
  text-align: right;
}
.dat-rpm-row-actions {
  display: flex;
  gap: 5px;
  justify-content: flex-end;
}
.dat-rpm-row-actions button {
  min-height: 24px;
  border: 1px solid #d6dfeb;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  padding: 0 8px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.dat-rpm-row-actions button:hover {
  background: #eef5ff;
  border-color: #b9cee8;
}
.upload-history-empty {
  min-height: 220px;
  display: grid;
  align-content: center;
  justify-items: center;
  margin-top: 11px;
  border: 1px dashed #ccd6e2;
  border-radius: 8px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 14px;
}
.raw-loads-panel {
  display: grid;
  gap: 8px;
  min-height: calc(100vh - 190px);
}
.raw-loads-toolbar {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px;
  color: var(--text);
  font-size: 12px;
}
.raw-loads-toolbar strong {
  font-size: 13px;
}
.raw-loads-toolbar span {
  color: var(--muted);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}
.raw-loads-toolbar .table-view-tools span {
  color: inherit;
  font-size: 11px;
  font-weight: 800;
  text-transform: none;
}
.raw-loads-table-shell {
  max-height: calc(100vh - 230px);
  overflow: auto;
  border: 1px solid #d8e0eb;
  border-radius: 8px;
  background: #fff;
}
.raw-loads-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 12px;
  color: var(--text);
}
.raw-loads-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 8px 9px;
  border-bottom: 1px solid #d8e0eb;
  background: #eef2f6;
  color: #5b6472;
  font-size: 10px;
  font-weight: 900;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0;
  white-space: nowrap;
}
.raw-loads-table td {
  padding: 7px 9px;
  border-bottom: 1px solid #edf1f5;
  vertical-align: top;
  white-space: nowrap;
}
.raw-loads-table td:nth-child(5),
.raw-loads-table td:nth-child(6),
.raw-loads-table td:nth-child(7) {
  white-space: normal;
}
.raw-loads-table tbody tr:hover {
  background: #fff7dc;
}
.raw-loads-table .num-cell {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.compact-link {
  height: 34px;
  flex: none;
}
.focus-list {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}
.focus-list div {
  min-height: 42px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  border: 1px solid #e1e6ed;
  border-radius: 8px;
  background: #f8fafc;
  padding: 7px;
}
.focus-list strong {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #16315c;
  color: #fff;
  font-size: 12px;
}
.focus-list span {
  color: var(--text);
  font-size: 12px;
  font-weight: 750;
}
.context-panel {
  margin-top: 12px;
  border-top: 1px solid #edf0f4;
  padding-top: 11px;
}
.context-panel p {
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
@media (max-width: 1180px) {
  .numbers-filter-panel,
  .numbers-worklist,
  .driver-report-grid,
  .driver-report-status,
  .rules-grid,
  .knowledge-layout,
  .knowledge-core-concept,
  .knowledge-toolbar,
  .ask-control-grid {
    grid-template-columns: 1fr;
  }
  .driver-report-status.assignment-filter-mode {
    grid-template-columns: 1fr;
  }
  .compact-shortcuts {
    grid-template-columns: max-content max-content max-content minmax(0, 1fr);
  }
}
@media (max-width: 840px) {
  .numbers-layout {
    grid-template-columns: 1fr;
  }
  .numbers-page .management-banner,
  .numbers-header-side {
    grid-template-columns: 1fr;
  }
  .numbers-page .session-actions {
    justify-content: flex-start;
  }
  .workspace-header-side,
  .numbers-header-side {
    justify-items: stretch;
  }
  .workspace-header-nav,
  .numbers-header-nav {
    justify-content: flex-start;
  }
  .numbers-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ask-entity-row {
    grid-template-columns: 124px minmax(0, 1fr) 70px;
  }
  .numbers-section-head {
    flex-direction: column;
    align-items: stretch;
  }
  .numbers-head-actions {
    flex-direction: column;
  }
  .driver-report-card-head {
    flex-direction: column;
    align-items: stretch;
  }
  .driver-head-actions {
    min-width: 0;
    justify-content: space-between;
  }
  .driver-search-input {
    width: 100%;
  }
  .driver-profile-head {
    flex-direction: column;
  }
  .driver-profile-placeholder {
    grid-template-columns: 1fr;
  }
  .profile-number-grid,
  .comparison-grid,
  .knowledge-card-grid {
    grid-template-columns: 1fr;
  }
  .upload-tile-compact {
    width: auto;
  }
  .period-row,
  .period-date-row,
  .scorecard-table-head,
  .scorecard-row,
  .analysis-summary {
    grid-template-columns: 1fr;
  }
  .compact-shortcuts {
    grid-template-columns: 1fr;
    grid-template-areas:
      "years"
      "weeks"
      "quarters"
      "months";
  }
  .month-grid {
    grid-template-columns: repeat(6, minmax(38px, 1fr));
  }
  .quarter-grid {
    grid-template-columns: repeat(4, minmax(38px, 1fr));
  }
  .context-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .scorecard-table-head {
    gap: 2px;
    padding: 8px 10px;
  }
}

/* ---------- responsive guardrails ---------- */
html,
body {
  min-width: 0;
  overflow-x: hidden;
}
img,
iframe,
video,
canvas {
  max-width: 100%;
}
button,
input,
select,
textarea {
  max-width: 100%;
}
.scorecard-shell,
.driver-table-shell,
.raw-loads-table-shell,
.dat-rpm-table-shell,
.target-list,
.profile-period-chips,
.dispatcher-picker,
.assignment-board,
.side-tools {
  -webkit-overflow-scrolling: touch;
}
.scorecard-shell,
.driver-table-shell,
.raw-loads-table-shell,
.dat-rpm-table-shell {
  overscroll-behavior-x: contain;
}

@media (max-width: 1100px) {
  .broker-shell {
    grid-template-columns: 1fr;
    padding: 16px 18px 56px;
  }
  .broker-promo-card {
    width: 100%;
    min-height: 0;
  }
  .broker-shell .boardcontrols {
    margin-top: 14px;
  }
  .broker-table {
    overflow-x: auto;
  }
  .broker-columns,
  .broker-row {
    min-width: 820px;
  }
}

@media (max-width: 1024px) {
  .wrap,
  .owner-wrap,
  .management-shell,
  .dwrap {
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }
  .boardcontrols {
    grid-template-columns: minmax(140px, .6fr) minmax(190px, .7fr) minmax(280px, 1fr);
  }
  .radiussearch {
    grid-template-columns: minmax(0, 1fr) 86px 92px auto;
  }
  .sortcontrol {
    grid-column: 1 / -1;
  }
  .dispatch-search-row {
    grid-template-columns: 1fr;
  }
  .dispatch-radiussearch {
    grid-template-columns: minmax(0, 1fr) 90px 116px 70px;
  }
  .queue-summary {
    grid-template-columns: repeat(auto-fit, minmax(108px, 1fr));
  }
  .team-head .side-tools {
    position: static;
    top: auto;
    width: 100%;
    margin: 0;
    flex-direction: row;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 1px 0;
  }
  .toolbtn {
    min-width: max-content;
  }
  .management-overview,
  .owner-actions,
  .dat-rpm-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .numbers-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ask-control-grid {
    grid-template-columns: 1fr;
  }
  .scorecard-toolbar,
  .raw-loads-toolbar,
  .dat-rpm-card-head,
  .profile-numbers-head {
    flex-wrap: wrap;
  }
  .table-view-tools {
    flex: 1 1 260px;
  }
  .table-view-select {
    width: min(220px, 38vw);
  }
  .raw-loads-table {
    min-width: 960px;
  }
  .dat-rpm-table {
    min-width: 680px;
  }
  .scorecard-table-head,
  .scorecard-row {
    width: max-content;
    min-width: 920px;
    grid-auto-flow: column;
    grid-auto-columns: minmax(86px, max-content);
  }
  .driver-table-head,
  .driver-table-row {
    min-width: 840px;
  }
}

@media (max-width: 768px) {
  .wrap,
  .broker-shell,
  .owner-wrap,
  .management-shell,
  .dwrap {
    padding-left: 12px;
    padding-right: 12px;
  }
  .topbar .wrap {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .brandrow,
  .banner,
  .team-head,
  .profile-header,
  .record-drawer-head,
  .numbers-section-head,
  .driver-report-card-head {
    flex-direction: column;
    align-items: stretch;
  }
  .headcontact,
  .session-actions,
  .numbers-page .session-actions {
    min-width: 0;
    text-align: left;
    justify-content: flex-start;
  }
  .owner-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .owner-action {
    text-align: left;
  }
  .ask-date-grid,
  .ask-entity-row {
    grid-template-columns: 1fr;
  }
  .ask-quick-periods {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ask-submit-row {
    align-items: stretch;
    flex-direction: column;
  }
  .ask-head-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .ask-chat-bubble {
    max-width: 100%;
  }
  .owner-summary,
  .team-actions,
  .shift-controls,
  .numbers-head-actions,
  .driver-head-actions,
  .dat-rpm-actions,
  .email-list-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .boardcontrols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .radiussearch,
  .sortcontrol {
    grid-column: 1 / -1;
  }
  .radiussearch {
    grid-template-columns: minmax(0, 1fr) 86px 94px;
  }
  .clearradius {
    grid-column: 1 / -1;
  }
  .dispatch-radiussearch {
    grid-template-columns: minmax(0, 1fr) 82px 108px;
  }
  .broker-columns,
  .broker-row {
    min-width: 0;
  }
  .broker-locline,
  .loc,
  .map-actions {
    flex-wrap: wrap;
  }
  .broker-locline .loc-text,
  .broker-location .orientation-line {
    white-space: normal;
  }
  .dispatcher-picker {
    grid-auto-columns: minmax(112px, 132px);
  }
  .dispatch-grid {
    grid-template-columns: 1fr;
  }
  .team-list {
    overflow-x: auto;
  }
  .team-row {
    min-width: 660px;
  }
  .modal {
    align-items: flex-start;
    padding: 8px;
    overflow-y: auto;
  }
  .modalcard,
  .modalcard.map-card,
  .offer-card,
  .offers-card,
  .email-list-card,
  .dispatchers-card,
  .assignment-board-card,
  .offer-image-card,
  .attendance-card {
    width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    max-height: calc(100dvh - 16px);
    overflow: auto;
  }
  .assignment-board-card {
    width: min(1120px, calc(100% - 32px));
    max-width: 1120px;
    height: min(720px, calc(100dvh - 48px));
    max-height: calc(100dvh - 48px);
    overflow: hidden;
  }
  .assignment-toolbar {
    gap: 8px;
  }
  .assignment-summary {
    min-width: 150px;
  }
  .assignment-search {
    width: min(230px, 36vw);
  }
  .assignment-unassigned-column {
    grid-template-columns: 150px minmax(0, 1fr);
  }
  .assignment-dispatcher-grid {
    grid-auto-columns: 168px;
  }
  .truck-note-grid,
  .coverage-row,
  .dat-rpm-form-grid,
  .dat-rpm-grid,
  .management-overview,
  .numbers-filter-panel,
  .driver-report-status,
  .analysis-summary {
    grid-template-columns: 1fr;
  }
  .driver-report-status.assignment-filter-mode {
    grid-template-columns: 1fr;
  }
  .profile-tabs,
  .scorecard-filter-tabs,
  .numbers-rail,
  .numbers-header-tools,
  .workspace-header-nav,
  .numbers-header-nav {
    overflow-x: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding-bottom: 2px;
  }
  .numbers-rail {
    display: flex;
  }
  .numbers-rail-btn {
    min-width: 168px;
  }
  .compact-profile-period .profile-week-stepper,
  .compact-shortcuts,
  .compact-range-pick,
  .period-date-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .compact-shortcuts {
    grid-template-areas: none;
  }
  .compact-shortcuts .years-group,
  .compact-shortcuts .weeks-group,
  .compact-shortcuts .quarters-group,
  .compact-shortcuts .months-group {
    grid-area: auto;
  }
  .profile-numbers-command,
  .profile-period-panel.compact-profile-period,
  .profile-numbers-redesign {
    grid-template-columns: 1fr;
  }
  .record-drawer-panel {
    top: 8px;
    right: 8px;
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    max-height: calc(100dvh - 16px);
    border-radius: 8px;
  }
}

@media (max-width: 560px) {
  .wrap,
  .broker-shell,
  .owner-wrap,
  .management-shell,
  .dwrap {
    padding-left: max(10px, env(safe-area-inset-left));
    padding-right: max(10px, env(safe-area-inset-right));
  }
  .title,
  .login-title,
  .numbers-title,
  .profile-name {
    font-size: 19px;
  }
  .brandintro {
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .brandintro > div {
    min-width: 0;
  }
  .subtitle,
  .owner-caption,
  .login-note {
    font-size: 12px;
    overflow-wrap: anywhere;
  }
  .headcontact {
    width: 100%;
  }
  .boardcontrols,
  .owner-actions,
  .quickstat,
  .filterbtn {
    min-width: 0;
  }
  .boardcontrols {
    grid-template-columns: 1fr;
  }
  .quickstat,
  .filterbtn {
    width: 100%;
    padding-left: 9px;
    padding-right: 9px;
  }
  .promo-name {
    white-space: normal;
  }
  .statlabel,
  .filtertext {
    white-space: normal;
    line-height: 1.15;
  }
  .radiussearch,
  .dispatch-radiussearch {
    grid-template-columns: 1fr 78px;
  }
  .findradius {
    grid-column: 1 / -1;
  }
  .radiusselect,
  .findradius,
  .clearradius,
  .searchbox,
  .dispatch-search,
  .login-input,
  .mini,
  .offer-input,
  .offer-text,
  .delivery-address,
  .quick-input,
  .quick-summary,
  .quick-textarea,
  .mgmt-search,
  .driver-search-input,
  .dispatcher-search-input {
    font-size: 16px;
  }
  .broker-row {
    grid-template-columns: 1fr;
  }
  .broker-status,
  .broker-location,
  .broker-unit,
  .broker-dispatch,
  .broker-action {
    grid-column: 1 / -1;
    grid-row: auto;
  }
  .broker-action {
    justify-content: stretch;
  }
  .broker-action .offerbtn {
    width: 100%;
    min-height: 38px;
  }
  .team-head .side-tools {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    overflow-x: auto;
  }
  .coaching-notice-alert {
    font-size: 20px;
  }
  .coaching-notice-title {
    font-size: 19px;
  }
  .coaching-notice-head {
    flex-direction: column;
  }
  .coaching-notice-actions {
    grid-template-columns: 1fr;
  }
  .team-head .toolbtn {
    min-width: max-content;
    width: auto;
    white-space: nowrap;
    line-height: 1;
  }
  .queue-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .summary-card {
    min-height: 42px;
  }
  .dispatcher-picker {
    grid-auto-columns: minmax(104px, 118px);
  }
  .dcard {
    padding: 8px;
  }
  .dcard .dhead {
    margin: -8px -8px 7px;
    padding: 7px 8px 7px 13px;
  }
  .dhead-actions {
    justify-content: flex-start;
  }
  .statusgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .statusbtn {
    min-height: 34px;
  }
  .fieldrow {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr) 58px;
  }
  .fieldrow .zip,
  .fieldrow .city,
  .fieldrow .state {
    width: 100%;
  }
  .fieldrow .d-mapbtn {
    grid-column: 1 / -1;
    width: 100%;
  }
  .schedule-row {
    grid-template-columns: minmax(0, 1fr) minmax(84px, .45fr);
    gap: 5px;
  }
  .datepack,
  .time-manual,
  .date-short {
    width: 100%;
  }
  .delivery-zone,
  .quickdatepair {
    grid-column: 1 / -1;
  }
  .delivery-zone {
    justify-content: center;
    min-height: 26px;
  }
  .quickdatepair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .quickdatepair .quickbtn {
    width: 100%;
    min-height: 28px;
  }
  .quickrow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .quickbtn {
    min-height: 28px;
  }
  .team-list {
    overflow: visible;
  }
  .team-column-head {
    display: none;
  }
  .team-row {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 5px 8px;
    padding: 9px;
  }
  .team-activity,
  .team-coverage {
    grid-column: 1 / -1;
    padding-left: 18px;
    white-space: normal;
  }
  .team-clockout {
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-content: flex-end;
  }
  .owner-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .owner-summary span {
    text-align: center;
  }
  .email-list-actions .movebtn,
  .email-list-actions .modalclose,
  .modalactions .offer-submit,
  .dat-rpm-actions .quick-save,
  .dat-rpm-actions .secondary-save {
    width: 100%;
  }
  .email-list-text {
    min-height: 300px;
    font-size: 12px;
  }
  .offer-drop {
    padding: 10px;
  }
  .offer-preview {
    align-items: flex-start;
    flex-direction: column;
  }
  .map-frame {
    max-height: calc(100vh - 128px);
    max-height: calc(100dvh - 128px);
  }
  .scorecard-toolbar,
  .raw-loads-toolbar,
  .profile-numbers-head,
  .dat-rpm-card-head {
    align-items: stretch;
    flex-direction: column;
  }
  .table-view-tools,
  .table-view-main,
  .table-view-select,
  .coaching-table-view-row .table-view-select {
    width: 100%;
  }
  .table-view-main {
    flex-wrap: wrap;
  }
  .table-view-btn {
    flex: 1 1 auto;
  }
  .table-view-panel {
    left: 0;
    right: auto;
    width: 100%;
  }
  .table-view-checks {
    grid-template-columns: 1fr;
  }
  .scorecard-filter-tabs,
  .dispatcher-search-input,
  .driver-head-actions,
  .driver-search-input {
    width: 100%;
  }
  .scorecard-table-head,
  .scorecard-row {
    min-width: 880px;
  }
  .driver-table-head,
  .driver-table-row {
    min-width: 780px;
  }
  .raw-loads-table {
    min-width: 900px;
  }
  .analysis-summary {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 430px) {
  .boardcontrols,
  .owner-actions,
  .side-tools,
  .queue-summary,
  .owner-summary,
  .management-overview {
    grid-template-columns: 1fr;
  }
  .quickrow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .month-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .quarter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .compact-profile-period .profile-week-stepper,
  .compact-range-pick,
  .period-date-row {
    grid-template-columns: 1fr;
  }
  .offer-image-full {
    max-height: calc(100vh - 96px);
    max-height: calc(100dvh - 96px);
  }
}

/* Broker board phone safety: keep every truck row and action inside the viewport. */
@media (max-width: 640px) {
  .broker-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    max-width: 100%;
  }
  .broker-shell > *,
  .broker-board-main,
  .broker-promo-card {
    min-width: 0;
    max-width: 100%;
  }
  .promo-freight-btn,
  .promo-email-line,
  .promo-freight-copy,
  .promo-feedback {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  .broker-table {
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }
  .broker-columns {
    display: none;
  }
  .broker-row {
    width: 100%;
    min-width: 0 !important;
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 9px;
    align-items: stretch;
    padding: 12px 12px 13px 15px;
  }
  .broker-row > * {
    min-width: 0;
  }
  .broker-status,
  .broker-location,
  .broker-unit,
  .broker-dispatch,
  .broker-action {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
  .broker-action {
    justify-content: stretch !important;
  }
  .broker-action .offerbtn {
    width: 100% !important;
    min-height: 40px;
  }
  .broker-locline,
  .broker-unit,
  .dispemail {
    flex-wrap: wrap;
  }
  .broker-locline .loc-text,
  .broker-location .orientation-line {
    white-space: normal;
  }
}

/* ---------- operational loads (isolated Stage 1) ---------- */
.loads-page {
  background: #f4f6f9;
}
.loads-shell {
  width: 100%;
  min-height: 100vh;
  padding: 14px 16px 28px;
}
.loads-page.loads-preview-mode > .loads-shell { display: block !important; }
.loads-page.loads-preview-mode > .login-gate { display: none !important; }
.loads-banner {
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(0, 1.5fr);
  align-items: start;
  gap: 14px;
  padding: 12px 14px;
}
.loads-header-side {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
}
.loads-header-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}
.loads-header-import-btn {
  min-height: 34px;
  border: 1px solid #1f5f9e;
  border-radius: 7px;
  background: #1f5f9e;
  color: #fff;
  padding: 0 14px;
  font: 850 11px/1 inherit;
  cursor: pointer;
  white-space: nowrap;
}
.loads-header-import-btn:hover,
.loads-header-import-btn:focus-visible {
  border-color: #174c7f;
  background: #174c7f;
  outline: none;
}
.loads-header-import-btn.is-open {
  border-color: #bac6d4;
  background: #fff;
  color: var(--navy);
}
.loads-header-side .numbers-header-nav a.active {
  border-color: rgba(255,255,255,.62);
  background: #fff;
  color: var(--navy);
}
.loads-stage-note {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  border: 1px solid #d7e2ee;
  border-left: 4px solid var(--navy);
  border-radius: 8px;
  background: #f8fbff;
  color: var(--muted);
  padding: 8px 11px;
  font-size: 12px;
}
.loads-stage-note strong { color: var(--navy); }
.loads-summary,
.loads-preview-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.preview-metric {
  min-width: 0;
  min-height: 60px;
  display: grid;
  align-content: center;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
}
.preview-metric span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.preview-metric strong {
  color: var(--text);
  font-size: 21px;
  line-height: 1.1;
}
.preview-metric.open strong { color: #8a5708; }
.preview-metric.covered strong,
.preview-metric.active strong,
.preview-metric.update strong { color: #185a9d; }
.preview-metric.delivered strong,
.preview-metric.new strong { color: #1b7a3d; }
.preview-metric.danger strong { color: #a52222; }
.preview-metric.date strong { color: #6c4aa0; }
.preview-metric.warning strong { color: #9a6108; }
.preview-metric.dispatcher strong { color: #43627f; }
.loads-panel {
  margin-top: 10px;
  border: 1px solid #dfe5ec;
  border-radius: 9px;
  background: #fff;
  padding: 12px;
}
.loads-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.loads-panel-head h2 {
  color: var(--navy);
  font-size: 17px;
  line-height: 1.25;
}
.loads-panel-head p {
  max-width: 760px;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}
.loads-date-control {
  min-width: 150px;
  display: grid;
  gap: 3px;
}
.loads-date-control label {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.loads-date-control input,
.loads-filters input,
.loads-filters select {
  height: 36px;
  border: 1px solid var(--border-strong);
  border-radius: 7px;
  background: #fff;
  color: var(--text);
  padding: 0 9px;
  font: 600 12px/1 inherit;
}
.loads-import-grid {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(260px, .72fr);
  gap: 9px;
  margin-top: 11px;
}
.loads-drop-zone,
.loads-preview-state {
  min-height: 86px;
  display: grid;
  align-content: center;
  border: 1px dashed #b9c5d4;
  border-radius: 8px;
  background: #f8fafc;
  padding: 13px;
}
.loads-drop-zone {
  cursor: pointer;
}
.loads-drop-zone:hover,
.loads-drop-zone.dragging {
  border-color: var(--link);
  background: #f2f7fd;
}
.loads-drop-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.loads-drop-zone strong,
.loads-preview-state strong {
  color: var(--navy);
  font-size: 13px;
}
.loads-drop-zone span,
.loads-preview-state span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}
.loads-preview-state.ready {
  border-style: solid;
  border-color: #b8d9c1;
  background: #f4fbf6;
}
.loads-preview-state.blocked {
  border-style: solid;
  border-color: #e6bcbc;
  background: #fff7f7;
}
.loads-preview-summary {
  grid-template-columns: repeat(9, minmax(78px, 1fr));
}
.loads-preview-summary button.preview-metric {
  appearance: none;
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .12s ease, background .12s ease, box-shadow .12s ease;
}
.loads-preview-summary button.preview-metric:hover:not(:disabled) {
  border-color: #8aa9ca;
  background: #f7fbff;
}
.loads-preview-summary button.preview-metric:focus-visible {
  outline: 2px solid #1c67a5;
  outline-offset: 2px;
}
.loads-preview-summary .import-preview-filter.is-selected {
  border-color: #1c67a5;
  background: #eaf4ff;
  box-shadow: inset 0 0 0 1px #1c67a5;
}
.loads-preview-summary .import-preview-filter.is-selected span::after {
  content: " ✓";
  color: #185a9d;
}
.loads-preview-summary .import-preview-clear {
  background: #f8fafc;
}
.loads-preview-summary .import-preview-clear strong {
  color: #52677d;
}
.loads-preview-summary .import-preview-clear:disabled {
  cursor: default;
  opacity: .48;
}
.complete-export-review {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 9px;
  border: 1px solid #d9e1ea;
  border-radius: 8px;
  background: #f8fafc;
  padding: 7px 9px;
}
.complete-export-toggle {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
}
.complete-export-toggle input {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  accent-color: var(--navy);
}
.complete-export-toggle > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.complete-export-toggle strong {
  color: var(--navy);
  font-size: 11px;
}
.complete-export-toggle small {
  color: var(--muted);
  font-size: 10px;
}
.complete-export-scope {
  display: flex;
  align-items: center;
  gap: 6px;
}
.complete-export-scope[hidden] { display: none; }
.complete-export-scope label {
  display: grid;
  gap: 2px;
}
.complete-export-scope span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.complete-export-scope input {
  width: 132px;
  height: 30px;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  padding: 0 7px;
  font: 700 10px/1 inherit;
}
.missing-loads-review {
  margin-top: 9px;
  border: 1px solid #e3bd73;
  border-left: 4px solid #d68d15;
  border-radius: 8px;
  background: #fffaf0;
  padding: 8px;
}
.missing-loads-review[hidden] { display: none; }
.missing-loads-review-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.missing-loads-review-head > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.missing-loads-review-head strong {
  color: #704806;
  font-size: 12px;
}
.missing-loads-review-head small {
  color: #7b6643;
  font-size: 10px;
}
.missing-loads-review-head button {
  height: 29px;
  flex: 0 0 auto;
  border: 1px solid #9fb9a8;
  border-radius: 6px;
  background: #f1faf4;
  color: #24633a;
  padding: 0 9px;
  font: 800 9px/1 inherit;
  cursor: pointer;
}
.missing-loads-table-wrap {
  max-height: 310px;
  margin-top: 7px;
  border-color: #ead8b7;
}
.missing-loads-table { min-width: 960px; }
.missing-loads-table td {
  background: #fff;
  vertical-align: middle;
}
.missing-loads-table td > span,
.missing-loads-table td > strong + span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 9px;
}
.missing-load-row.is-remove td { background: #fff7f6; }
.missing-load-row.is-remove td:first-child { box-shadow: inset 4px 0 0 #d74d45; }
.missing-prior-choice {
  width: max-content;
  border-radius: 999px;
  background: #eef2f6;
  padding: 3px 6px;
  color: #596777 !important;
  font-weight: 750;
}
.missing-resolution-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}
.missing-resolution {
  height: 28px;
  border: 1px solid #ccd5df;
  border-radius: 6px;
  background: #fff;
  color: #536170;
  padding: 0 8px;
  font: 800 8.5px/1 inherit;
  cursor: pointer;
  white-space: nowrap;
}
.missing-resolution.keep.is-selected {
  border-color: #69aa7c;
  background: #eaf8ee;
  color: #1d6b36;
  box-shadow: 0 0 0 2px rgba(41, 139, 70, .1);
}
.missing-resolution.remove {
  border-color: #e2b8b5;
  color: #a43b35;
}
.missing-resolution.remove.is-selected {
  border-color: #d74d45;
  background: #fff0ef;
  color: #982a24;
  box-shadow: 0 0 0 2px rgba(215, 77, 69, .1);
}
.loads-import-errors {
  display: grid;
  gap: 5px;
  margin-top: 9px;
  border: 1px solid #e7c0c0;
  border-radius: 7px;
  background: #fff7f7;
  color: #8a2525;
  padding: 8px 10px;
  font-size: 12px;
}
.loads-import-errors.has-po-conflict {
  border-color: #e2a168;
  border-left: 4px solid #d95f4f;
  background: #fffaf2;
  color: #8a430f;
}
.loads-import-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 12px;
}
.loads-import-actions.is-success {
  margin-inline: -6px;
  border: 1px solid #9fd4ad;
  border-radius: 9px;
  background: #edf9f0;
  color: #176333;
  padding: 7px;
}
.loads-import-actions.is-error {
  color: #9b2727;
}
#commitImportBtn.import-success,
#commitImportBtn.import-success:disabled {
  border-color: #18753a;
  background: #1f8a48;
  color: #fff;
  opacity: 1;
}
.loads-import-success {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1900;
  width: min(390px, calc(100vw - 28px));
  display: flex;
  align-items: center;
  gap: 11px;
  border: 1px solid #83c596;
  border-left: 5px solid #1f8a48;
  border-radius: 10px;
  box-shadow: 0 14px 34px rgba(16, 48, 29, .2);
  background: #f1fbf4;
  color: #155c30;
  padding: 12px 14px;
}
.loads-import-success[hidden] { display: none; }
.loads-import-success-icon {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  place-items: center;
  border-radius: 50%;
  background: #1f8a48;
  color: #fff;
  font-size: 17px;
  font-weight: 900;
}
.loads-import-success > span:last-child { display: grid; gap: 2px; }
.loads-import-success strong { font-size: 14px; }
.loads-import-success small {
  color: #36704a;
  font-size: 11px;
  line-height: 1.35;
}
.loads-table-wrap {
  width: 100%;
  margin-top: 10px;
  overflow: auto;
  border: 1px solid #e1e6ed;
  border-radius: 8px;
}
.loads-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
  table-layout: auto;
}
.loads-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  border-bottom: 1px solid #dfe5ec;
  background: #f5f7fa;
  color: #58606b;
  padding: 8px 9px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}
.loads-table td {
  border-bottom: 1px solid #edf0f4;
  color: #30343a;
  padding: 8px 9px;
  font-size: 12px;
  vertical-align: top;
}
.loads-table tbody tr:last-child td { border-bottom: 0; }
.loads-table tbody tr { transition: background-color .14s ease; }
.loads-pagination {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  align-self: center;
  gap: 10px;
  padding: 5px 0 0;
}
.loads-pagination[hidden] { display: none !important; }
.loads-pagination button {
  min-width: 76px;
  min-height: 29px;
  border: 1px solid #b9c9dc;
  border-radius: 6px;
  background: #fff;
  color: #17395f;
  font: 800 11px/1.2 inherit;
  cursor: pointer;
}
.loads-pagination button:hover:not(:disabled),
.loads-pagination button:focus-visible:not(:disabled) {
  border-color: #1e64a3;
  box-shadow: 0 0 0 2px rgba(30, 100, 163, .12);
  outline: none;
}
.loads-pagination button:disabled { cursor: default; opacity: .45; }
.loads-pagination > span {
  min-width: 116px;
  color: #40516a;
  font-size: 11px;
  text-align: center;
}
.loads-pagination > span small {
  display: block;
  color: #728094;
  font-size: 9px;
  font-weight: 650;
}
.loads-delete-head,
.loads-delete-cell {
  position: sticky !important;
  right: 0;
  z-index: 3 !important;
  border-left: 1px solid rgba(160, 171, 184, .25);
  background: var(--load-row-bg, #fff) !important;
  padding: 0 !important;
  text-align: center !important;
}
.loads-delete-head { z-index: 5 !important; background: #f5f7fa !important; }
.load-row-actions {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.load-edit-row-link,
.load-delete-row-btn {
  width: 22px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.load-edit-row-link {
  color: #52677f;
  opacity: .72;
}
.load-edit-row-link img {
  width: 13px;
  height: 13px;
  opacity: .82;
}
.load-edit-row-link:hover,
.load-edit-row-link:focus-visible {
  border-radius: 4px;
  background: rgba(34, 91, 145, .08);
  opacity: 1;
  outline: 1px solid rgba(34, 91, 145, .24);
  outline-offset: -1px;
}
.load-delete-row-btn {
  color: #c63d45;
  font: 850 17px/1 inherit;
  opacity: .7;
}
.load-delete-row-btn:hover,
.load-delete-row-btn:focus-visible { color: #a71923; opacity: 1; outline: none; }
.operational-loads-table td[data-column="load"] {
  user-select: text;
  cursor: text;
}
.loads-table td strong,
.loads-table td span {
  display: block;
}
.loads-table td > span:not(.load-status-chip):not(.details-state):not(.import-action) {
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
}
.load-status-chip,
.details-state,
.import-action {
  width: max-content;
  min-height: 24px;
  display: inline-flex !important;
  align-items: center;
  border-radius: 999px;
  padding: 0 8px;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.load-status-chip {
  border: 1px solid var(--load-status-accent, #7b8798);
  background: var(--load-status-chip-bg, #fff);
  color: var(--load-status-text, #445064);
  letter-spacing: .015em;
}
.load-status-trigger {
  appearance: none;
  cursor: pointer;
  font-family: inherit;
  gap: 5px;
  transition: box-shadow .12s ease;
}
.load-status-trigger[aria-expanded="true"] {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--load-status-accent, #7b8798) 18%, transparent);
}
.load-status-trigger:focus-visible { outline: 2px solid rgba(31, 95, 158, .28); outline-offset: 1px; }
.load-status-menu {
  position: fixed;
  z-index: 1800;
  width: 292px;
  border: 1px solid #d8dee8;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(26, 36, 51, .2);
  padding: 9px;
}

.load-cell-editable {
  outline: none;
}
.load-cell-editable:focus-visible {
  box-shadow: inset 0 0 0 1px rgba(51, 91, 145, .18);
}
.load-cell-editor {
  position: fixed;
  z-index: 1900;
  width: min(292px, calc(100vw - 16px));
  border: 1px solid #d5dce6;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(25, 35, 50, .18);
  padding: 9px;
  transition: border-color .14s ease, box-shadow .14s ease;
}
.load-cell-editor.is-saving { opacity: .88; }
.load-cell-editor.is-saved {
  border-color: #22a45a;
  box-shadow: 0 0 0 3px rgba(34, 164, 90, .18), 0 14px 36px rgba(25, 35, 50, .14);
  animation: load-editor-saved .65s ease both;
}
@keyframes load-editor-saved {
  0% { box-shadow: 0 0 0 0 rgba(34, 164, 90, .42), 0 14px 36px rgba(25, 35, 50, .14); }
  45% { box-shadow: 0 0 0 4px rgba(34, 164, 90, .2), 0 14px 36px rgba(25, 35, 50, .14); }
  100% { box-shadow: 0 0 0 2px rgba(34, 164, 90, .12), 0 14px 36px rgba(25, 35, 50, .14); }
}
.load-cell-editor-head,
.load-cell-editor-actions,
.load-assignment-preview {
  display: flex;
  align-items: center;
}
.load-cell-editor-head {
  min-height: 22px;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
}
.load-cell-editor-head strong { color: #232b36; font-size: 11px; }
.load-cell-editor-saved { color: #168346; font-size: 10px; font-weight: 850; }
.load-cell-editor-fields > label,
.load-cell-editor-grid > label {
  display: grid;
  gap: 3px;
}
.load-cell-editor-fields label > span {
  color: #737d8c;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.load-cell-editor-fields input,
.load-cell-editor-fields select {
  width: 100%;
  height: 29px;
  border: 1px solid #cfd6e0;
  border-radius: 6px;
  background: #fff;
  color: #252c36;
  font: 650 11px/1.2 inherit;
  padding: 0 7px;
  outline: none;
}
.load-cell-editor-fields input:focus,
.load-cell-editor-fields select:focus {
  border-color: #657f9f;
  box-shadow: 0 0 0 2px rgba(75, 108, 150, .11);
}
.load-cell-editor-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}
.load-cell-editor-grid label:has(.span-two) { grid-column: 1 / -1; }
.load-zip-status {
  grid-column: 1 / -1;
  min-height: 12px;
  color: #778292;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.25;
}
.load-zip-status.is-loading { color: #526b8b; }
.load-zip-status.is-ready { color: #197844; }
.load-zip-status.is-error { color: #a83d32; }
.load-assignment-preview {
  gap: 6px;
  min-height: 27px;
  margin-top: 6px;
  border-radius: 6px;
  background: #f5f7fa;
  color: #687383;
  padding: 5px 7px;
  font-size: 9px;
  font-weight: 700;
}
.load-assignment-preview img { width: 12px; height: 12px; opacity: .58; }
.load-assignment-preview.is-ready { background: #edf8f1; color: #197844; }
.load-assignment-preview.is-warning { background: #fff8eb; color: #8a5a19; }
.load-assignment-preview.is-error { background: #fff3f1; color: #a83d32; }
.load-assignment-matches {
  max-height: 184px;
  margin-top: 5px;
  overflow-y: auto;
  border: 1px solid #cfd8e4;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(29, 43, 62, .12);
  padding: 3px;
}
.load-assignment-matches[hidden] { display: none; }
.load-assignment-match {
  width: 100%;
  display: grid;
  gap: 2px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #26364b;
  padding: 6px 7px;
  text-align: left;
  cursor: pointer;
}
.load-assignment-match:hover,
.load-assignment-match:focus-visible { background: #edf4fc; outline: none; }
.load-assignment-match strong { font-size: 10px; }
.load-assignment-match span { color: #6f7d8d; font-size: 9px; }
.load-assignment-match.is-incomplete strong,
.load-assignment-match.is-incomplete span { color: #a45c31; }
.load-cell-editor-error {
  margin-top: 6px;
  border-radius: 6px;
  background: #fff2f0;
  color: #a33930;
  padding: 6px 7px;
  font-size: 9px;
  font-weight: 750;
}
.load-cell-editor-actions {
  justify-content: flex-end;
  gap: 5px;
  margin-top: 8px;
}
.load-cell-editor-actions > span {
  margin-right: auto;
  color: #8a93a0;
  font-size: 8px;
}
.load-cell-editor-actions button {
  min-height: 25px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #697381;
  padding: 0 8px;
  font: 800 9px/1 inherit;
  cursor: pointer;
}
.load-cell-editor-actions button[type="submit"] { background: #263546; color: #fff; }
.load-cell-editor-actions button:disabled { cursor: wait; opacity: .45; }
.load-status-menu-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 1px 2px 8px;
}
.load-status-menu-head strong { color: #222a35; font-size: 12px; }
.load-status-menu-head span { color: var(--muted); font-size: 9px; font-weight: 750; }
.load-status-menu-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.load-status-menu-option {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--load-status-accent, #7b8798);
  border-radius: 8px;
  background: var(--load-status-chip-bg, #fff);
  color: var(--load-status-text, #445064);
  cursor: pointer;
  font-family: inherit;
  font-size: 10px;
  font-weight: 850;
  padding: 0 8px;
  text-align: left;
}
.load-status-menu-option:hover:not(:disabled) {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--load-status-accent, #7b8798) 18%, transparent);
  transform: translateY(-1px);
}
.load-status-menu-option:disabled { cursor: not-allowed; opacity: .43; }
.load-status-menu-option:disabled strong { margin-left: auto; font-size: 8px; text-transform: uppercase; }
.load-status-option-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: var(--load-status-accent, #7b8798);
}
.load-status-menu-option.load-status-at-delivery {
  background:
    linear-gradient(#fffdf8, #fffdf8) padding-box,
    linear-gradient(90deg, #d96b20 0 20%, #38a55c 20% 40%, #d96b20 40% 60%, #38a55c 60% 80%, #d96b20 80% 90%, #38a55c 90% 100%) border-box;
  border-color: transparent;
}
.load-status-menu.saving { cursor: wait; }
.load-status-menu-error {
  margin-top: 7px;
  border-radius: 7px;
  background: #fff2f2;
  color: #a32f38;
  padding: 7px 8px;
  font-size: 9px;
  font-weight: 750;
}
.load-delete-dialog { width: min(510px, calc(100vw - 24px)); }
.load-delete-card { width: 100%; }
.load-delete-dialog.is-saving { cursor: wait; }
.load-delete-dialog.is-saving .load-delete-card { opacity: .82; }
.load-delete-warning {
  display: grid;
  gap: 3px;
  margin: 14px 0 12px;
  border: 1px solid #f0c8cc;
  border-radius: 10px;
  background: #fff5f5;
  color: #8b252d;
  padding: 11px 12px;
  text-align: center;
}
.load-delete-warning strong { font-size: 14px; }
.load-delete-warning span { color: #573f43; font-size: 11px; }
.load-delete-warning small { color: #a0444b; font-size: 10px; font-weight: 800; }
.load-delete-confirm-label { display: grid; gap: 6px; text-align: left; }
.load-delete-confirm-label span { color: #4a5565; font-size: 10px; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.load-delete-confirm-label input {
  width: 100%;
  height: 40px;
  box-sizing: border-box;
  border: 1px solid #c9d1dc;
  border-radius: 9px;
  padding: 0 11px;
  font: 700 12px/1 inherit;
}
.load-delete-confirm-label input:focus { border-color: #bb3a43; box-shadow: 0 0 0 2px rgba(187, 58, 67, .12); outline: none; }
.load-delete-confirm {
  min-height: 40px;
  border: 1px solid #d44652;
  border-radius: 9px;
  background: #dc4b57;
  color: #fff;
  padding: 0 14px;
  font-weight: 850;
  box-shadow: 0 5px 12px rgba(190, 47, 60, .18);
}
.load-delete-confirm:disabled { cursor: not-allowed; opacity: .38; }
.load-status-toast {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1850;
  border: 1px solid #9bd0aa;
  border-radius: 9px;
  background: #f2fbf5;
  box-shadow: 0 10px 28px rgba(26, 36, 51, .16);
  color: #2f7544;
  padding: 9px 12px;
  font-size: 11px;
  font-weight: 800;
}
.load-status-toast.is-error {
  border-color: #e3b0b4;
  background: #fff5f5;
  color: #9a3038;
}
.load-return-notice {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 7px;
  border: 1px solid #dfbd70;
  border-radius: 7px;
  background: #fff9e9;
  color: #614719;
  padding: 5px 7px 5px 10px;
}
.load-return-notice[hidden] { display: none; }
.load-return-notice > span { min-width: 0; display: grid; gap: 1px; }
.load-return-notice strong { font-size: 10px; }
.load-return-notice small { color: #826a3d; font-size: 8px; }
.load-return-notice button {
  min-height: 24px;
  flex: 0 0 auto;
  border: 1px solid #bd8b22;
  border-radius: 5px;
  background: #fff;
  color: #704d09;
  padding: 0 8px;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}
.load-return-notice button:hover,
.load-return-notice button:focus-visible {
  background: #fff1c8;
  outline: 2px solid rgba(189, 139, 34, .2);
}

.load-row-status-open,
.load-status-open {
  --load-status-accent: #bd4b45;
  --load-status-text: #a83b36;
  --load-status-chip-bg: #fff8f7;
  --load-row-bg: #fff4f2;
  --load-rail: #bd4b45;
}
.load-row-status-needs-status,
.load-status-needs-status {
  --load-status-accent: #687386;
  --load-status-text: #4f596b;
  --load-status-chip-bg: #f7f8fa;
  --load-row-bg: #f1f3f6;
  --load-rail: #687386;
}
.load-row-status-covered,
.load-status-covered {
  --load-status-accent: #6d9fce;
  --load-status-text: #397bb6;
  --load-status-chip-bg: #f7fbff;
  --load-row-bg: #f1f7fd;
  --load-rail: #6d9fce;
}
.load-row-status-dispatched,
.load-status-dispatched {
  --load-status-accent: #5146a5;
  --load-status-text: #463b99;
  --load-status-chip-bg: #faf9ff;
  --load-row-bg: #f3f1ff;
  --load-rail: #5146a5;
}
.load-row-status-at-pickup,
.load-status-at-pickup {
  --load-status-accent: #c99a00;
  --load-status-text: #a77900;
  --load-status-chip-bg: #fffdf3;
  --load-row-bg: #fff9dc;
  --load-rail: #c99a00;
}
.load-row-status-in-transit,
.load-status-in-transit {
  --load-status-accent: #d96b20;
  --load-status-text: #bb5411;
  --load-status-chip-bg: #fffaf6;
  --load-row-bg: #fff2e8;
  --load-rail: #d96b20;
}
.load-row-status-at-delivery,
.load-status-at-delivery {
  --load-status-accent: #4ca468;
  --load-status-text: #327e4b;
  --load-status-chip-bg: #fffdf8;
  --load-row-bg: linear-gradient(90deg,
    #fff2e8 0%, #e9f8ef 20%,
    #fff2e8 40%, #e9f8ef 60%,
    #fff2e8 80%, #e9f8ef 100%);
  --load-rail: repeating-linear-gradient(to bottom, #d96b20 0 9px, #38a55c 9px 18px);
}
.load-status-at-delivery {
  border-color: transparent;
  background:
    linear-gradient(#fffdf8, #fffdf8) padding-box,
    linear-gradient(90deg, #d96b20 0 20%, #38a55c 20% 40%, #d96b20 40% 60%, #38a55c 60% 80%, #d96b20 80% 90%, #38a55c 90% 100%) border-box;
}
.load-row-status-delivered,
.load-status-delivered {
  --load-status-accent: #68a878;
  --load-status-text: #3c8751;
  --load-status-chip-bg: #f8fcf9;
  --load-row-bg: #f1f8f2;
  --load-rail: #68a878;
}
.load-row-status-cancelled,
.load-status-cancelled {
  --load-status-accent: #bd343e;
  --load-status-text: #a9232d;
  --load-status-chip-bg: #fff8f8;
  --load-row-bg: #fff0f1;
  --load-rail: #bd343e;
}
.load-row-status-tonu,
.load-status-tonu {
  --load-status-accent: #804451;
  --load-status-text: #713745;
  --load-status-chip-bg: #fdf9fa;
  --load-row-bg: #f9f1f3;
  --load-rail: #804451;
}

.loads-table tbody tr[class*="load-row-status-"] {
  background: var(--load-row-bg);
}
.loads-table tbody tr[class*="load-row-status-"] td:first-child {
  position: relative;
  padding-left: 14px;
}
.loads-table tbody tr[class*="load-row-status-"] td:first-child::before {
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: 0;
  width: 5px;
  background: var(--load-rail);
  content: "";
}
.details-state.complete { background: var(--green-bg); color: var(--green-text); }
.details-state.missing { background: var(--amber-bg); color: var(--amber-text); }
.import-action { text-transform: capitalize; }
.import-action.new { background: var(--green-bg); color: var(--green-text); }
.import-action.update,
.import-action.changed { background: #fff0cf; color: #8a5600; }
.preview-table-wrap .import-review-row.is-new {
  background: #f1fff5 !important;
  box-shadow: inset 0 0 0 2px #26c96b, inset 5px 0 0 #0da94e;
}
.preview-table-wrap .import-review-row.is-new td {
  border-top: 2px solid #26c96b;
  border-bottom: 2px solid #26c96b;
}
.preview-table-wrap .import-review-row.is-new td:first-child { border-left: 2px solid #26c96b; }
.preview-table-wrap .import-review-row.is-new td:last-child { border-right: 2px solid #26c96b; }
.import-review-load-number {
  width: max-content;
  border-radius: 6px;
  padding: 3px 6px;
}
.import-review-row.is-new .import-review-load-number {
  border: 2px solid #19b95b;
  background: #fff;
  color: #087c38;
  box-shadow: 0 0 0 3px rgba(25, 185, 91, .14);
}
.preview-table-wrap .import-review-row.is-changed {
  background: #fffdf8 !important;
  box-shadow: inset 5px 0 0 #ef9d1f;
}
.preview-table-wrap .import-review-cell.is-changed {
  background: #fff1ce !important;
  box-shadow: inset 0 0 0 1px #f0b34e;
}
.preview-table-wrap .import-review-cell.is-changed.has-assignment-change {
  min-width: 335px;
  background: #fff !important;
  box-shadow: inset 0 0 0 1px #d8e0e9;
  padding: 0;
}
.preview-table-wrap .import-review-cell.has-po-conflict {
  min-width: 350px;
  background: #fff !important;
  box-shadow: none;
  padding: 5px;
}
.preview-table-wrap .import-review-cell.has-po-entry {
  min-width: 260px;
  background: #fff !important;
  padding: 5px;
}
.preview-table-wrap .import-review-cell.has-authority-review {
  min-width: 390px;
  background: #fff !important;
  box-shadow: none;
  padding: 5px;
}
.import-po-entry {
  position: relative;
  min-height: 52px;
  display: grid;
  grid-template-columns: minmax(130px, 1fr) auto;
  align-content: center;
  gap: 4px;
  border: 2px solid #df665d;
  border-radius: 7px;
  background: #fff8f7;
  padding: 12px 4px 4px;
}
.loads-table td .import-po-entry > span {
  position: absolute;
  top: 2px;
  left: 8px;
  margin: 0;
  color: #c6453d;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 9px;
  text-transform: uppercase;
}
.import-po-entry input {
  min-width: 0;
  height: 30px;
  border: 1px solid #d7a19d;
  border-radius: 5px;
  background: #fff;
  padding: 0 8px;
  color: #202b38;
  font: 800 11px/1 inherit;
}
.import-po-entry button {
  height: 30px;
  border: 1px solid #c6453d;
  border-radius: 5px;
  background: #c6453d;
  padding: 0 9px;
  color: #fff;
  font: 800 9px/1 inherit;
  cursor: pointer;
}
.import-po-entry.is-manual {
  border-color: #3aa76d;
  background: #f5fcf8;
}
.loads-table td .import-po-entry.is-manual > span { color: #26764c; }
.import-po-entry.is-manual > button {
  border-color: #26764c;
  background: #26764c;
}
.import-po-entry.is-pending {
  border-color: #d79a2b;
  background: #fffaf0;
}
.loads-table td .import-po-entry.is-pending > span { color: #93610c; }
.import-po-entry.is-skip {
  border-color: #aeb8c4;
  background: #f7f8fa;
}
.loads-table td .import-po-entry.is-skip > span { color: #647180; }
.import-po-alternatives {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 4px;
}
.import-po-entry .import-po-alternatives button {
  height: 22px;
  border: 1px solid #cbd4de;
  background: #fff;
  padding: 0 7px;
  color: #536170;
  font-size: 8px;
}
.import-po-entry .import-po-alternatives button.pending.is-selected {
  border-color: #d79a2b;
  background: #fff1cf;
  color: #7b4e00;
}
.import-po-entry .import-po-alternatives button.skip.is-selected {
  border-color: #8f9aa7;
  background: #e9edf1;
  color: #46515e;
}
.import-review-row.is-skipped { opacity: .67; }
.import-review-row.is-skipped > td { background: #f4f6f8 !important; }
.import-review-row.is-po-pending > td { box-shadow: inset 0 1px 0 #f1d395, inset 0 -1px 0 #f1d395; }
.import-po-entry input:focus-visible {
  outline: 2px solid rgba(198, 69, 61, .22);
  outline-offset: 1px;
}
.import-po-conflict {
  position: relative;
  min-height: 62px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3px;
  border: 2px solid #df665d;
  border-radius: 7px;
  background: #fff;
  padding: 4px;
}
.import-authority-conflict {
  min-height: 88px;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  border-color: #df665d;
  background: #fffafa;
}
.loads-table td .import-authority-conflict .import-po-conflict-label { color: #c6453d; }
.import-authority-choice {
  min-height: 64px;
  align-content: start;
  gap: 5px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.loads-table td .import-authority-choice > .import-authority-choice-label {
  display: block;
  margin: 0 !important;
  color: inherit !important;
  font-size: 7.5px !important;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.1;
  text-transform: uppercase;
}
.loads-table td .import-authority-choice > .import-authority-choice-value {
  display: block;
  overflow: visible;
  margin: 0 !important;
  color: #202b38 !important;
  font-size: 10.5px !important;
  font-weight: 850;
  line-height: 1.28;
  overflow-wrap: anywhere;
  white-space: normal;
}
.import-authority-outcome {
  grid-column: 1 / -1;
  min-height: 24px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-radius: 4px;
  background: #eef6ff;
  color: #174d80;
  padding: 5px 7px;
  font-size: 9px;
  line-height: 1.2;
}
.import-authority-outcome.tone-easy { background: #fff4dc; color: #7a4b07; }
.import-authority-outcome.tone-profile { background: #edf8f0; color: #28633b; }
.import-authority-outcome > img { width: 13px; height: 13px; flex: 0 0 auto; }
.loads-table td .import-authority-outcome > span { margin: 0 !important; color: inherit !important; font-size: inherit !important; }
.import-po-choice.profile {
  border-color: #b9d8c3;
  background: #eef9f1;
  color: #28633b;
}
.import-po-choice.profile.is-selected { box-shadow: 0 0 0 2px rgba(40, 99, 59, .12); }
.loads-table td .import-po-conflict-label {
  position: absolute;
  top: -8px;
  left: 7px;
  z-index: 1;
  margin: 0;
  border-radius: 4px;
  background: #fff;
  color: #c6453d;
  padding: 0 4px;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 13px;
  text-transform: uppercase;
}
.import-po-choice {
  position: relative;
  min-width: 0;
  min-height: 52px;
  display: grid;
  align-content: center;
  gap: 3px;
  border: 1px solid transparent;
  border-radius: 5px;
  padding: 6px 30px 6px 9px;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.import-po-choice.bard {
  border-color: #b7d4f2;
  background: #edf6ff;
  color: #174d80;
}
.import-po-choice.easy {
  border-color: #edd09b;
  background: #fff7e6;
  color: #85520a;
}
.loads-table td .import-po-choice small {
  color: inherit;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1;
  text-transform: uppercase;
}
.loads-table td .import-po-choice strong {
  overflow: hidden;
  color: #202b38;
  font-size: 12px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.loads-table td .import-po-choice > span {
  margin: 0 !important;
  color: #aa4038 !important;
  font-size: 7px !important;
  font-weight: 800;
  line-height: 1.15;
}
.import-po-choice > img {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 18px;
  height: 18px;
  color: currentColor;
  transform: translateY(-50%);
}
.import-po-choice.is-selected {
  border-width: 2px;
  box-shadow: 0 0 0 2px rgba(35, 103, 179, .11);
}
.import-po-choice.easy.is-selected {
  box-shadow: 0 0 0 2px rgba(193, 126, 18, .12);
}
.import-po-choice:focus-visible {
  outline: 2px solid rgba(33, 92, 154, .3);
  outline-offset: 1px;
}
.import-po-choice:disabled {
  border-color: #e6c5c1;
  background: #fff3f2;
  color: #9a514b;
  cursor: not-allowed;
  opacity: .72;
}
.import-assignment-change {
  min-height: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
  align-items: stretch;
}
.import-assignment-change > img {
  align-self: center;
  justify-self: center;
  width: 14px;
  height: 14px;
  opacity: .72;
}
.import-assignment-side {
  min-width: 0;
  display: grid !important;
  align-content: center;
  gap: 3px;
  margin: 0 !important;
  padding: 8px 10px;
}
.loads-table td .import-assignment-side.current {
  background: #eef6ff;
  color: #153e68;
}
.loads-table td .import-assignment-side.incoming {
  background: #fff6df;
  color: #704507;
}
.loads-table td .import-assignment-side small {
  color: #22639f;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1;
  text-transform: uppercase;
}
.loads-table td .import-assignment-side.incoming small { color: #a36700; }
.loads-table td .import-assignment-side strong {
  overflow: hidden;
  color: inherit;
  font-size: 10px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.loads-table td .import-assignment-side > span {
  margin: 0 !important;
  color: inherit !important;
  font-size: 9px !important;
  line-height: 1 !important;
}
.import-review-changes { min-width: 230px; }
.import-change-chip {
  display: grid !important;
  gap: 1px;
  margin: 0 0 5px;
  border-left: 3px solid #e49a24;
  border-radius: 4px;
  background: #fff7e5;
  color: #704507;
  padding: 4px 6px;
}
.import-change-chip:last-child { margin-bottom: 0; }
.import-change-chip b { font-size: 10px; }
.loads-table td .import-change-chip > span {
  margin-top: 0 !important;
  color: #72552d !important;
  font-size: 10px !important;
}
.import-change-chip.kind-added { border-left-color: #27a85d; background: #effbf3; }
.import-change-chip.kind-cleared { border-left-color: #d65353; background: #fff1f1; }
.import-assignment-chip {
  width: max-content;
  min-width: 78px;
  display: inline-flex !important;
  align-items: center;
  margin: 0;
  border-left: 0;
  border-radius: 999px;
  background: #fff0cf;
  padding: 4px 8px;
}
.import-new-record {
  width: max-content;
  border-radius: 999px;
  background: #d9f8e4;
  color: #087c38 !important;
  padding: 4px 8px;
  font-weight: 850;
}
.loads-list-head { align-items: center; }
.loads-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 150px;
  gap: 7px;
  min-width: min(100%, 470px);
}
.loads-empty {
  padding: 28px !important;
  color: var(--muted) !important;
  text-align: center;
}

@media (max-width: 1040px) {
  .loads-summary { grid-template-columns: repeat(3, minmax(110px, 1fr)); }
  .loads-preview-summary { grid-template-columns: repeat(4, minmax(88px, 1fr)); }
}
@media (max-width: 760px) {
  .loads-shell { padding: 8px; }
  .loads-banner,
  .loads-header-side,
  .loads-import-grid { grid-template-columns: 1fr; }
  .loads-header-side .session-actions { justify-content: flex-start; }
  .loads-panel-head,
  .loads-list-head,
  .loads-import-actions { align-items: stretch; flex-direction: column; }
  .loads-date-control { width: 100%; }
  .loads-summary,
  .loads-preview-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .loads-filters { width: 100%; min-width: 0; grid-template-columns: 1fr; }
  .loads-stage-note { align-items: flex-start; flex-direction: column; }
}

/* Loads workspace: compact TMS-style table controls and collapsed intake. */
.loads-page .loads-shell {
  padding-top: 8px;
}
.loads-list-panel {
  margin-top: 0;
  padding: 7px 8px 8px;
}
.loads-unified-header {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 38px;
  flex-wrap: nowrap;
}
.loads-title-block {
  min-width: 225px;
  display: flex;
  align-items: baseline;
  gap: 7px;
  white-space: nowrap;
}
.loads-title-block h1 {
  color: var(--navy);
  font-size: 16px;
  font-weight: 850;
  line-height: 1.1;
}
.loads-title-block p {
  color: var(--muted);
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}
.loads-add-load-menu {
  position: relative;
  flex: none;
}
.loads-add-load-menu[hidden],
.loads-add-load-popover[hidden] {
  display: none !important;
}
.loads-add-load-btn {
  min-width: 92px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid #173f68;
  border-radius: 6px;
  background: #173f68;
  color: #fff;
  padding: 0 11px;
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.loads-add-load-btn > span {
  font-size: 17px;
  font-weight: 500;
  line-height: 1;
}
.loads-add-load-btn > img {
  width: 13px;
  height: 13px;
  filter: brightness(0) invert(1);
  transition: transform 140ms ease;
}
.loads-add-load-menu.is-open .loads-add-load-btn > img {
  transform: rotate(180deg);
}
.loads-add-load-btn:hover,
.loads-add-load-btn:focus-visible {
  border-color: #0f3153;
  background: #0f3153;
  color: #fff;
  outline: 2px solid rgba(31, 95, 158, .18);
  outline-offset: 1px;
}
.loads-add-load-popover {
  position: absolute;
  z-index: 80;
  top: calc(100% + 6px);
  left: 0;
  width: 276px;
  display: grid;
  gap: 4px;
  border: 1px solid #cbd8e5;
  border-radius: 9px;
  background: #fff;
  padding: 6px;
  box-shadow: 0 14px 34px rgba(15, 39, 64, .18);
}
.loads-add-load-popover::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 34px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #cbd8e5;
  border-left: 1px solid #cbd8e5;
  background: #fff;
  transform: rotate(45deg);
}
.loads-add-load-popover a {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  border-radius: 7px;
  color: var(--navy);
  padding: 9px;
  text-decoration: none;
}
.loads-add-load-popover a:hover,
.loads-add-load-popover a:focus-visible {
  background: #eef5fc;
  outline: none;
}
.loads-add-load-popover a > img {
  width: 16px;
  height: 16px;
  justify-self: center;
}
.loads-add-load-popover a > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.loads-add-load-popover strong {
  color: var(--navy);
  font-size: 11px;
  line-height: 1.2;
}
.loads-add-load-popover small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}
.loads-legacy-account {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
body.global-nav-enabled .loads-legacy-account {
  display: none;
}
.loads-header-import-drop {
  width: 210px;
  min-width: 210px;
  height: 32px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1.5px dashed #4f9af0;
  border-radius: 6px;
  background: #f8fbff;
  color: var(--navy);
  padding: 0 7px 0 10px;
  font: 750 10px/1 inherit;
  cursor: pointer;
  white-space: nowrap;
}
.loads-header-import-drop > img {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}
.loads-header-import-label {
  overflow: hidden;
  text-overflow: ellipsis;
}
.loads-header-import-browse {
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  border-left: 1px solid #dce9f8;
  color: #0c67c8;
  padding-left: 8px;
  font-weight: 850;
}
.loads-header-import-drop:hover,
.loads-header-import-drop:focus-visible,
.loads-header-import-drop.dragging {
  border-color: #0e6ecb;
  background: #edf6ff;
  outline: none;
}
.loads-header-import-drop.is-open {
  border-color: #1f7ccf;
  background: #f2f8ff;
}
.loads-unified-header > .dispatch-message-btn,
.loads-unified-header > .loads-tool-btn {
  min-height: 32px;
  height: 32px;
  border-radius: 6px;
  padding: 0 10px;
  font-size: 10px;
}
.loads-search-input {
  min-width: 205px;
  flex: 1 1 300px;
  height: 32px;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  background: #fff url("icons/lucide/search.svg") no-repeat 9px center / 14px 14px;
  color: var(--text);
  padding: 0 8px 0 30px;
  font: 600 11px/1 inherit;
}
.loads-search-input:focus {
  border-color: #7e9fbe;
  outline: 2px solid rgba(31, 95, 158, .12);
}
.loads-date-range-control {
  position: relative;
  min-width: 238px;
  flex: 0 0 238px;
}
.loads-date-range-button {
  width: 100%;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  padding: 3px 8px 3px 10px;
  cursor: pointer;
  text-align: left;
}
.loads-date-range-button > span {
  min-width: 0;
  display: grid;
  gap: 1px;
}
.loads-date-range-button small {
  color: var(--muted);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .045em;
  line-height: 1;
  text-transform: uppercase;
}
.loads-date-range-button strong {
  overflow: hidden;
  color: var(--text);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.loads-date-range-button > img {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}
.loads-date-range-button:hover,
.loads-date-range-button:focus-visible,
.loads-date-range-button[aria-expanded="true"] {
  border-color: #7e9fbe;
  background: #f9fbfd;
  outline: none;
}
.loads-date-range-popover {
  position: absolute;
  z-index: 90;
  top: calc(100% + 5px);
  right: 0;
  width: 300px;
  border: 1px solid #b8c6d5;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(20, 43, 71, .18);
  padding: 9px;
}
.loads-date-range-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: end;
  gap: 6px;
}
.loads-date-range-fields label {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.loads-date-range-fields label > span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.loads-date-range-fields input {
  width: 100%;
  min-width: 0;
  height: 30px;
  border: 1px solid var(--border-strong);
  border-radius: 5px;
  background: #fff;
  color: var(--text);
  padding: 0 5px;
  font: 700 10px/1 inherit;
}
.loads-date-range-fields input:focus {
  border-color: #7e9fbe;
  outline: 2px solid rgba(31, 95, 158, .12);
}
.loads-date-range-separator {
  align-self: end;
  display: flex;
  align-items: center;
  height: 30px;
  color: #8290a2;
  font-size: 10px;
}
.loads-date-range-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  margin-top: 8px;
}
.loads-date-range-actions .loads-tool-btn,
.loads-date-range-actions .quick-save {
  min-height: 27px;
  height: 27px;
  padding: 0 10px;
  font-size: 9px;
}
.loads-tool-btn {
  min-height: 30px;
  border: 1px solid var(--border-strong);
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  padding: 0 9px;
  font: 800 10px/1 inherit;
  cursor: pointer;
  white-space: nowrap;
}
.loads-tool-btn:hover {
  border-color: #9aaabc;
  background: #f7f9fc;
}
.loads-tool-btn:disabled {
  border-color: #e1e5ea;
  background: #f7f8fa;
  color: #9aa3ad;
  cursor: default;
  opacity: .72;
}
.dispatch-message-btn {
  border-color: #1f5f9e;
  background: #1f5f9e;
  color: #fff;
}
.dispatch-message-btn:hover {
  border-color: #174c7f;
  background: #174c7f;
}
.loads-summary-compact {
  display: grid;
  grid-template-columns: none;
  grid-template-rows: repeat(2, 28px);
  grid-auto-columns: 98px;
  grid-auto-flow: column;
  gap: 4px;
  margin-top: 6px;
  overflow-x: auto;
  padding-bottom: 3px;
  scroll-snap-type: x proximity;
  scrollbar-color: #aeb9c6 transparent;
  scrollbar-width: thin;
}
.loads-summary-compact > * { scroll-snap-align: start; }
.loads-summary-compact .preview-metric {
  min-width: 0;
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  border-radius: 5px;
  padding: 2px 6px;
}
.loads-summary-compact button.preview-metric {
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .1s ease, background-color .1s ease, box-shadow .1s ease, transform .1s ease;
}
.loads-summary-compact button.preview-metric:hover {
  border-color: #9badc1;
  background: #f7faff;
  box-shadow: 0 2px 8px rgba(20, 48, 79, .08);
}
.loads-summary-compact button.preview-metric:active {
  transform: translateY(1px);
}
.loads-summary-compact button.preview-metric:focus-visible,
.loads-clear-filters:focus-visible {
  outline: 3px solid rgba(31, 95, 158, .22);
  outline-offset: 1px;
}
.loads-summary-compact button.preview-metric.is-selected {
  border-color: #1f5f9e;
  background: #eaf3fc;
  box-shadow: inset 0 0 0 1px #1f5f9e;
}
.loads-summary-compact button.preview-metric.is-selected span::after {
  margin-left: 5px;
  color: #1f5f9e;
  content: "✓";
}
.loads-clear-filters {
  min-width: 0;
  min-height: 28px;
  border: 1px solid #c8d2de;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  padding: 2px 6px;
  font: 850 9px/1 inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .1s ease, background-color .1s ease;
}
.loads-clear-filters span {
  margin-right: 2px;
  font-size: 13px;
  line-height: 0;
}
.loads-clear-filters:hover:not(:disabled) {
  border-color: #9badc1;
  background: #f7f9fc;
}
.loads-clear-filters:disabled {
  color: #98a4b2;
  cursor: default;
  opacity: .62;
}
.loads-summary-compact .preview-metric span {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  color: var(--navy);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.05;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}
.loads-summary-compact .preview-metric strong {
  min-width: 16px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #edf1f5;
  color: #7c8b9c !important;
  padding: 2px 4px;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}
.loads-import-disclosure {
  margin-top: 7px;
  border: 1px solid #dfe5ec;
  border-radius: 7px;
  background: #f8fafc;
}
.loads-import-disclosure > summary {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 9px;
  color: var(--navy);
  cursor: pointer;
  list-style: none;
}
.loads-import-disclosure.header-triggered > summary { display: none; }
.loads-import-disclosure.header-triggered .loads-import-content { border-top: 0; }
.loads-import-disclosure > summary::-webkit-details-marker { display: none; }
.loads-import-disclosure > summary > span:first-child {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.loads-import-disclosure summary strong {
  font-size: 12px;
}
.loads-import-disclosure summary small {
  color: var(--muted);
  font-size: 10px;
}
.loads-import-summary-action {
  color: var(--link);
  font-size: 0;
  font-weight: 800;
}
.loads-import-summary-action::after {
  content: "Open importer";
  font-size: 11px;
}
.loads-import-disclosure[open] .loads-import-summary-action::after {
  content: "Close importer";
}
.loads-import-disclosure[open] {
  background: #fff;
}
.loads-import-content {
  border-top: 1px solid #e4e9ef;
  padding: 9px;
}
.loads-import-content-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
}
.loads-import-content-head > strong {
  color: var(--navy);
  font-size: 11px;
}
.loads-import-close {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #d2dbe5;
  border-radius: 5px;
  background: #fff;
  color: var(--navy);
  padding: 0 7px;
  font: 800 9px/1 inherit;
  cursor: pointer;
}
.loads-import-close img {
  width: 12px;
  height: 12px;
}
.loads-import-close:hover,
.loads-import-close:focus-visible {
  border-color: #9fabb9;
  background: #f7f9fc;
  outline: none;
}
.loads-import-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
}
.loads-import-intro > p {
  max-width: 760px;
  color: var(--muted);
  font-size: 11px;
}
.loads-date-control small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.25;
}
.loads-list-panel > .loads-table-wrap {
  max-height: calc(100vh - 238px);
  max-height: calc(100dvh - 238px);
  margin-top: 7px;
}
@media (min-width: 701px) {
  .loads-page {
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
  }
  .loads-page .loads-shell {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    display: flex;
    padding-bottom: 8px;
    overflow: hidden;
  }
  .loads-page.loads-preview-mode > .loads-shell { display: flex !important; }
  .loads-page .loads-list-panel {
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    overflow: hidden;
  }
  .loads-page .loads-unified-header,
  .loads-page .loads-summary-compact,
  .loads-page .bulk-selection-toolbar {
    flex: 0 0 auto;
  }
  .loads-page .loads-import-disclosure:not([open]) {
    flex: 0 0 auto;
  }
  .loads-page .loads-import-disclosure[open] {
    min-height: 180px;
    flex: 1 1 auto;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .loads-page .loads-import-disclosure[open] .loads-import-actions {
    position: sticky;
    bottom: 0;
    z-index: 8;
    border-top: 1px solid #dfe5ec;
    background: rgba(255, 255, 255, .97);
    padding: 8px 0 2px;
  }
  .loads-page .loads-list-panel > .loads-table-wrap {
    min-height: 180px;
    max-height: none;
    flex: 1 1 0;
  }
}
.operational-loads-table {
  min-width: 100%;
  table-layout: fixed;
}
.operational-loads-table th,
.operational-loads-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.operational-loads-table td > strong,
.operational-loads-table td > span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.load-location-cell {
  position: relative;
  display: flex !important;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  overflow: hidden !important;
  outline: none;
}
.load-location-cell > strong,
.load-location-city {
  color: #202b3a;
  font-size: 11.5px;
  font-weight: 850;
  line-height: 1.12;
}
.load-location-address-line {
  margin: 0 !important;
  overflow: hidden;
  color: #6f7986 !important;
  font-size: 9px !important;
  font-weight: 625;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-po-number {
  color: #46505d;
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: .01em;
  font-variant-numeric: tabular-nums;
}
.load-truck-number {
  color: #172d4f;
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: .012em;
  font-variant-numeric: tabular-nums;
}
.load-assignment-cell {
  display: grid !important;
  min-width: 0;
  gap: 2px;
  margin: 0 !important;
  color: inherit !important;
}
.load-assignment-target {
  min-width: 0;
  margin: 0 !important;
  overflow: hidden;
  outline: none;
}
.load-assignment-target strong,
.load-assignment-target .load-assignment-missing {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-assignment-driver {
  display: block !important;
}
.load-assignment-driver strong {
  color: #172d4f;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.12;
}
.load-assignment-equipment {
  display: flex !important;
  min-width: 0;
  align-items: baseline;
  justify-content: flex-start;
  gap: 10px;
  margin: 0 !important;
  color: inherit !important;
}
.load-assignment-equipment .load-assignment-target {
  display: flex !important;
  flex: 0 1 auto;
  align-items: baseline;
}
.load-assignment-equipment strong {
  color: #2e415a;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}
.load-assignment-missing {
  color: #9aa2ad;
  font-size: 8.5px;
  font-weight: 650;
  line-height: 1.1;
}
.load-assignment-target[role="button"]:hover strong {
  text-decoration: underline;
  text-decoration-color: rgba(38, 83, 132, .3);
  text-underline-offset: 2px;
}
.load-assignment-target[role="button"]:focus-visible {
  border-radius: 3px;
  box-shadow: 0 0 0 2px rgba(38, 103, 170, .18);
}
.load-schedule-cell {
  display: flex !important;
  min-width: 0;
  flex-direction: column;
  gap: 1px;
  margin: 0 !important;
}
.load-schedule-time {
  display: flex !important;
  align-items: center;
  gap: 5px;
  margin: 0 !important;
  color: #8a939e !important;
  font-size: 9px !important;
  line-height: 1.15;
}
.load-schedule-time > strong { color: #7d8793; font-weight: 650; }
.load-schedule-time > strong,
.load-schedule-time > span {
  display: inline !important;
}
.load-schedule-time .details-state {
  min-height: 16px;
  border: 0;
  background: transparent;
  color: #a0a7b0;
  padding: 0;
  font-size: 8px;
  font-weight: 600;
  opacity: .78;
}
.operational-loads-table .details-state.missing {
  min-height: 18px;
  border: 1px solid #edf0f3;
  background: #f6f7f9;
  color: #9099a4;
  font-weight: 650;
}
.operational-loads-table .load-schedule-time .details-state.missing {
  min-height: auto;
  border: 0;
  background: transparent;
}
.load-rpm-value {
  color: #334155;
  font-variant-numeric: tabular-nums;
}
.operational-loads-table .load-rpm-missing {
  font-size: 8px;
}
.operational-loads-table.density-compact td {
  padding: 5px 8px;
}
.load-number-cell {
  display: flex !important;
  align-items: center;
  gap: 4px;
  margin: 0 !important;
  color: inherit !important;
}
.load-number-cell > strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.load-number-copy {
  min-width: 0;
  display: grid !important;
  align-content: center;
  gap: 1px;
  margin: 0 !important;
  color: inherit !important;
}
.load-number-copy > strong,
.load-number-edit-link {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.load-number-edit-link {
  display: block;
  width: max-content;
  max-width: 100%;
  border-radius: 3px;
  color: #245b8f;
  font-weight: 800;
  line-height: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(36, 91, 143, .42);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  cursor: pointer;
}
.load-number-edit-link:hover {
  color: #123f6d;
  text-decoration-color: currentColor;
}
.load-number-edit-link:focus-visible {
  color: #174f84;
  outline: 2px solid rgba(34, 91, 145, .38);
  outline-offset: 2px;
}
.load-last-viewed-badge {
  width: max-content;
  max-width: 100%;
  display: inline-grid !important;
  justify-items: start;
  min-height: 15px;
  margin: 0 !important;
  border: 1px solid rgba(180, 126, 10, .32);
  border-radius: 999px;
  background: #fff4d5;
  color: #76500b !important;
  padding: 1px 3px;
  font-size: 7px !important;
  font-weight: 900;
  line-height: .82;
  letter-spacing: 0;
  white-space: nowrap;
}
.load-relay-badge { display: inline-block; width: max-content; max-width: 130px; padding: 2px 5px; border-radius: 999px; background: #e4efff; color: #1c5487; font-size: 9px; font-weight: 800; white-space: nowrap; }
.load-relay-payable { padding: 14px; border: 1px solid #cde0d1; border-radius: 9px; background: #f8fcf8; }
.load-relay-payable header { display: flex; justify-content: space-between; gap: 8px; color: #23583a; }
.load-relay-payable header small { color: #5c7564; }
.load-relay-payable p { margin: 8px 0; color: #536b5c; font-size: 12px; }
.load-relay-payable-leg { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; padding: 9px 0; border-top: 1px solid #dbe9de; font-size: 12px; }
.load-relay-payable-leg strong { color: #23583a; }
.load-relay-payable-leg b { margin-left: auto; color: #1d673e; }
.dispatch-relay-badge { display: inline-block; width: max-content; padding: 2px 6px; border-radius: 999px; background: #e4efff; color: #1c5487; font-size: 10px; font-weight: 800; }
.load-relay-route .load-relay-handoff { background: #eaf4ff; border-color: #a9c8e7; }
.load-relay-route .load-relay-handoff small { display: block; color: #315979; font-size: 10px; }
.operational-loads-table tr.load-last-viewed-row > td {
  box-shadow: inset 0 1px rgba(199, 143, 28, .68), inset 0 -1px rgba(199, 143, 28, .68);
}
.operational-loads-table tr.load-last-viewed-row.is-return-flashing > td {
  animation: load-return-flash 2.2s ease-out;
}
@keyframes load-return-flash {
  0%, 18% { box-shadow: inset 0 0 0 999px rgba(244, 185, 54, .22), inset 0 1px #c78f1c, inset 0 -1px #c78f1c; }
  100% { box-shadow: inset 0 1px rgba(199, 143, 28, .68), inset 0 -1px rgba(199, 143, 28, .68); }
}
@media (prefers-reduced-motion: reduce) {
  .operational-loads-table tr.load-last-viewed-row.is-return-flashing > td { animation: none; }
}
.loads-notes-column-label {
  height: 32px;
  display: flex;
  align-items: center;
  color: #5e6c7d;
  padding: 0 8px;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.loads-notes-filter-cell {
  background: #f8fafc;
  padding: 3px 5px !important;
}
.loads-notes-filter-tools {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 26px;
  align-items: center;
  gap: 4px;
}
.loads-documents-filter-cell {
  background: #f8fafc;
}
.loads-notes-search-input {
  width: 100%;
  min-width: 0;
  height: 24px;
  border: 1px solid #c7d2de;
  border-radius: 5px;
  background: #fff;
  padding: 0 6px;
  font: 750 9px/1 inherit;
}
.loads-notes-search-input:focus {
  border-color: #7ea5c8;
  outline: 2px solid rgba(79, 132, 179, .12);
}
.loads-tag-filter-toggle {
  width: 26px;
  min-width: 26px;
  height: 24px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #c7d2de;
  border-radius: 5px;
  background: #fff;
  color: #5f7184;
  padding: 0;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
}
.loads-tag-filter-toggle:hover,
.loads-tag-filter-toggle:focus-visible {
  border-color: #7ea5c8;
  background: #eef5fb;
  color: #215d91;
  outline: 2px solid rgba(79, 132, 179, .12);
}
.loads-tag-filter-toggle.is-active {
  border-color: #4c83b6;
  background: #e5f1fb;
  color: #174f82;
}
.loads-tag-filter-toggle strong {
  min-width: 13px;
  height: 13px;
  position: absolute;
  top: -6px;
  right: -6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #f8fafc;
  border-radius: 999px;
  background: #245f94;
  color: #fff;
  padding: 0 3px;
  font-size: 7px;
  line-height: 1;
}
.load-tag-filter-popover {
  position: fixed;
  z-index: 2400;
  isolation: isolate;
  display: grid;
  gap: 7px;
  overflow: hidden;
  border: 1px solid #b9c8d8;
  border-radius: 9px;
  background: #fff !important;
  color: #25384e;
  padding: 8px;
  opacity: 1;
  box-shadow: 0 16px 34px rgba(31, 50, 72, .24), 0 2px 7px rgba(31, 50, 72, .1);
}
.load-tag-filter-popover[hidden] { display: none !important; }
.load-tag-filter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.load-tag-filter-head strong {
  font-size: 11px;
  font-weight: 900;
}
.load-tag-filter-head button {
  border: 0;
  background: transparent;
  color: #2a6597;
  padding: 2px 3px;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}
.load-tag-filter-head button:disabled {
  color: #a8b1bb;
  cursor: default;
}
.load-tag-filter-popover > input {
  width: 100%;
  height: 30px;
  border: 1px solid #c7d2de;
  border-radius: 5px;
  background: #fff;
  color: #25364a;
  padding: 0 8px;
  font: 750 10px/1 inherit;
  outline: none;
}
.load-tag-filter-popover > input:focus {
  border-color: #4b84ba;
  box-shadow: 0 0 0 2px rgba(36, 105, 169, .1);
}
.load-tag-filter-options {
  max-height: min(300px, 48vh);
  overflow-y: auto;
  border: 1px solid #e0e7ee;
  border-radius: 7px;
  background: #fff;
}
.load-tag-filter-options > button {
  width: 100%;
  min-height: 42px;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: 8px;
  border: 0;
  border-bottom: 1px solid #e8edf2;
  background: #fff;
  color: #263c54;
  padding: 5px 8px;
  text-align: left;
  cursor: pointer;
}
.load-tag-filter-options > button:last-child { border-bottom: 0; }
.load-tag-filter-options > button:hover,
.load-tag-filter-options > button:focus-visible,
.load-tag-filter-options > button.is-active {
  background: #eef6fc;
  outline: none;
}
.load-tag-filter-options > button.is-selected {
  background: #e5f1fb;
}
.load-tag-filter-count {
  min-width: 21px;
  border-radius: 999px;
  background: #eef2f6;
  color: #617186;
  padding: 3px 5px;
  font-size: 8px;
  font-weight: 850;
  text-align: center;
}
.load-tag-filter-check {
  color: #21679d;
  font-size: 12px;
  font-weight: 950;
  text-align: center;
}
.load-tag-filter-help {
  color: #7e8b99;
  font-size: 8px;
  line-height: 1.3;
}
.load-notes-cell {
  min-width: 0;
  max-width: 100%;
  height: 24px;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 6px;
}
.load-notes-cell-button {
  width: 24px;
  min-width: 24px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #c7d5e3;
  border-radius: 5px;
  background: #fff;
  color: #315d86;
  padding: 0;
  cursor: pointer;
}
.load-notes-cell-button:hover,
.load-notes-cell-button:focus-visible,
.load-notes-cell-button.is-open {
  border-color: #4d83b4;
  background: #edf6ff;
  color: #174f83;
  outline: none;
}
.load-notes-cell-button img {
  width: 12px;
  height: 12px;
  opacity: .72;
}
.load-notes-pin-preview {
  min-width: 0;
  max-width: 100%;
  height: 24px;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 4px;
  overflow: hidden;
  border: 0;
  background: transparent;
  color: #34485e;
  padding: 2px 0;
  cursor: pointer;
  text-align: left;
}
.load-notes-pin-preview:hover,
.load-notes-pin-preview:focus-visible {
  color: #174f83;
  outline: none;
}
.load-notes-pin-preview > img {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  opacity: .62;
}
.load-notes-pin-preview strong {
  min-width: 0;
  flex: 1 1 auto;
  display: block;
  overflow: hidden;
  font-size: 9px;
  font-weight: 850;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-notes-pin-preview small {
  min-width: 18px;
  color: #65788c;
  font-size: 8px;
  font-weight: 900;
}
.load-document-cell-button {
  width: 24px;
  min-height: 24px;
  margin: 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #c7d5e3;
  border-radius: 5px;
  background: #fff;
  padding: 0;
  cursor: pointer;
}
.load-document-cell-button:hover,
.load-document-cell-button:focus-visible,
.load-document-cell-button.is-open {
  border-color: #4d83b4;
  background: #edf6ff;
  outline: none;
}
.load-document-cell-button.is-dragging {
  border-color: #2476bc;
  background: #dceeff;
  box-shadow: 0 0 0 3px rgba(36, 118, 188, .16);
}
.load-document-cell-button img {
  width: 12px;
  height: 12px;
  opacity: .72;
}
.load-workspace-toggle {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 4px;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.load-workspace-toggle:hover,
.load-workspace-toggle:focus-visible {
  background: rgba(22, 70, 119, .1);
  outline: none;
}
.load-workspace-toggle img {
  width: 12px;
  height: 12px;
  opacity: .63;
  transition: transform .14s ease;
}
.load-workspace-toggle[aria-expanded="true"] img {
  transform: rotate(180deg);
}
.operational-loads-table tr.load-workspace-parent-open > td {
  border-bottom-color: #b9cadc;
}
.load-workspace-row > td {
  position: relative;
  z-index: 40;
  overflow: visible !important;
  border-bottom: 1px solid #bdcad8 !important;
  background: #f8fafc;
  padding: 0 !important;
  white-space: normal !important;
}
.load-workspace {
  position: sticky;
  z-index: 1;
  isolation: isolate;
  left: 0;
  width: var(--load-workspace-viewport-width, calc(100vw - 32px));
  max-width: var(--load-workspace-viewport-width, calc(100vw - 32px));
  min-width: 0;
  background: #fff;
  box-shadow: inset 0 1px 0 #e4eaf0;
}
.load-workspace-tabs {
  height: 36px;
  display: flex;
  align-items: stretch;
  gap: 2px;
  border-bottom: 1px solid #dce4ec;
  background: #f6f8fb;
  padding: 0 10px;
}
.load-workspace-edit {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  color: #657184;
}
.load-workspace-edit:hover,
.load-workspace-edit:focus-visible {
  background: #dceafb;
  outline: 0;
}
.load-workspace-edit img {
  width: 12px;
  height: 12px;
}
.load-workspace-tabs button {
  position: relative;
  min-width: 88px;
  border: 0;
  background: transparent;
  color: #657184;
  padding: 0 12px;
  font: 850 10px/1 inherit;
  cursor: pointer;
}
.load-workspace-tabs button:hover,
.load-workspace-tabs button:focus-visible {
  color: #173f70;
  outline: none;
}
.load-workspace-tabs button.active {
  color: #123f76;
}
.load-workspace-tabs button.active::after {
  position: absolute;
  right: 9px;
  bottom: -1px;
  left: 9px;
  height: 2px;
  background: #1f65a9;
  content: "";
}
.load-workspace-panel {
  min-width: 0;
  min-height: 126px;
  overflow: hidden;
  padding: 9px 10px 11px;
}
.load-workspace-panel.is-notes {
  overflow: visible;
}
.load-interaction-workspace {
  display: grid;
  gap: 7px;
}
.load-interaction-heading {
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.load-interaction-heading > span {
  display: grid !important;
  gap: 2px;
  margin: 0 !important;
}
.load-interaction-heading strong {
  color: #203750;
  font-size: 10px;
  font-weight: 900;
}
.load-interaction-heading small {
  color: #8390a0;
  font-size: 8px;
  font-weight: 700;
}
.load-interaction-tags {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 4px;
}
.load-interaction-tag {
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #bfd1e3;
  border-radius: 999px;
  background: #f1f7fd;
  color: #315c86;
  padding: 0 8px;
  font-size: 8px;
  font-weight: 850;
}
.load-interaction-no-tags {
  color: #9aa4af;
  font-size: 8px;
  font-weight: 750;
}
.load-interaction-composer {
  position: relative;
  z-index: 120;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto 154px auto;
  gap: 6px;
}
.load-interaction-composer.is-tag-mode {
  grid-template-columns: minmax(280px, 1fr) auto auto;
}
.load-interaction-input-wrap {
  position: relative;
  z-index: 1;
  min-width: 0;
  overflow: visible;
  border-radius: 5px;
  background: #fff;
}
.load-interaction-input-wrap:focus-within {
  z-index: 4;
}
.load-workspace .bard-mention-draft-mirror {
  display: block !important;
  margin: 0 !important;
}
.load-workspace .bard-entity-mention-draft {
  display: inline !important;
  margin: 0 !important;
}
.load-mention-token {
  display: inline;
  color: #1874bd !important;
  -webkit-text-fill-color: #1874bd;
  font-weight: 850;
  line-height: inherit;
  vertical-align: baseline;
  white-space: nowrap;
}
.load-mention-suggestions {
  position: absolute;
  z-index: 1000;
  isolation: isolate;
  top: calc(100% + 4px);
  left: 0;
  width: min(460px, 100%);
  max-height: 264px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid #b9c8d8;
  border-radius: 9px;
  background: #fff !important;
  opacity: 1;
  box-shadow: 0 14px 30px rgba(31, 50, 72, .22), 0 2px 6px rgba(31, 50, 72, .08);
}
.load-mention-suggestions button {
  width: 100%;
  min-height: 40px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  border: 0;
  border-bottom: 1px solid #e8edf2;
  background: #fff !important;
  color: #263c54;
  padding: 4px 10px;
  opacity: 1;
  text-align: left;
  cursor: pointer;
}
.load-mention-suggestions button:last-child { border-bottom: 0; }
.load-mention-suggestions button:hover,
.load-mention-suggestions button:focus-visible {
  background: #edf5fc !important;
  color: #1f4f7c;
  outline: none;
}
.load-mention-suggestions button.is-active {
  background: #347ebc !important;
  color: #fff;
  outline: none;
}
.load-mention-avatar {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #dce8f4;
  color: #17345f;
  box-shadow: 0 0 0 1px #d9e1ea;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .02em;
}
.loads-table td .load-mention-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.load-mention-avatar > span {
  width: 100%;
  line-height: 1;
  text-align: center;
}
.load-mention-avatar.tone-1 {
  background: #e7ddf3;
  color: #543a7a;
}
.load-mention-avatar.tone-2 {
  background: #d8efe7;
  color: #176f55;
}
.load-mention-avatar.tone-3 {
  background: #f5e6cd;
  color: #83571b;
}
.load-mention-avatar.tone-4 {
  background: #f3dfe5;
  color: #8a3b54;
}
.load-mention-avatar.tone-5 {
  background: #dce9f5;
  color: #285c87;
}
.load-mention-avatar.equipment {
  background: #eee5f4;
  color: #4f3b6c;
}
.load-mention-avatar.equipment.trailer {
  background: #f8e2dd;
  color: #754236;
}
.load-mention-avatar img {
  width: 15px;
  height: 15px;
  opacity: .8;
}
.load-mention-suggestions button.is-active .load-mention-avatar {
  background: #f6fbff;
  color: #17345f;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .9);
}
.load-mention-suggestion-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.load-mention-suggestion-copy strong {
  overflow: hidden;
  color: inherit;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-mention-suggestions button.is-active .load-mention-suggestion-copy strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.load-mention-suggestion-copy small {
  overflow: hidden;
  color: #8491a0;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-mention-suggestions button.is-active .load-mention-suggestion-copy small {
  color: rgba(255, 255, 255, .82);
}
.load-tag-picker-suggestions {
  position: absolute;
  z-index: 1050;
  isolation: isolate;
  top: calc(100% + 4px);
  left: 0;
  width: min(430px, 100%);
  max-height: 280px;
  overflow-y: auto;
  border: 1px solid #b9c8d8;
  border-radius: 9px;
  background: #fff !important;
  color: #263c54;
  opacity: 1;
  box-shadow: 0 14px 30px rgba(31, 50, 72, .22), 0 2px 6px rgba(31, 50, 72, .08);
}
.load-tag-picker-suggestions > button {
  width: 100%;
  min-height: 40px;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  border: 0;
  border-bottom: 1px solid #e8edf2;
  background: #fff !important;
  color: #263c54;
  padding: 5px 10px;
  text-align: left;
  cursor: pointer;
}
.load-tag-picker-suggestions > button:last-child { border-bottom: 0; }
.load-tag-picker-suggestions > button:hover,
.load-tag-picker-suggestions > button:focus-visible {
  background: #edf5fc !important;
  color: #1f4f7c;
  outline: none;
}
.load-tag-picker-suggestions > button.is-active {
  background: #347ebc !important;
  color: #fff;
  outline: none;
}
.load-tag-picker-suggestions > button.is-active small {
  color: rgba(255, 255, 255, .82);
}
.load-tag-color-dot {
  width: 10px;
  height: 10px;
  display: inline-block;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #8190a0;
  box-shadow: 0 0 0 1px #aeb9c4;
}
.load-tag-color-dot.tone-blue { background: #347ebc; box-shadow: 0 0 0 1px #6b9bc4; }
.load-tag-color-dot.tone-teal { background: #2d8d86; box-shadow: 0 0 0 1px #6aaba7; }
.load-tag-color-dot.tone-green { background: #4d9568; box-shadow: 0 0 0 1px #7eb08f; }
.load-tag-color-dot.tone-amber { background: #ca8a2f; box-shadow: 0 0 0 1px #d7ae6f; }
.load-tag-color-dot.tone-red { background: #c45d63; box-shadow: 0 0 0 1px #d48b90; }
.load-tag-color-dot.tone-purple { background: #8061b2; box-shadow: 0 0 0 1px #a08bc3; }
.load-tag-option-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.load-tag-option-copy strong {
  overflow: hidden;
  color: inherit;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-tag-option-copy small {
  overflow: hidden;
  color: #8491a0;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-tag-picker-state {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #66778a;
  padding: 9px 10px;
  font-size: 9px;
}
.load-tag-picker-state strong,
.load-tag-picker-state span {
  display: block;
}
.load-tag-picker-state strong {
  color: #344b63;
  font-size: 10px;
}
.load-interaction-composer input,
.load-interaction-composer select {
  min-width: 0;
  height: 31px;
  border: 1px solid #c7d2de;
  border-radius: 5px;
  background: #fff;
  color: #25364a;
  padding: 0 8px;
  font: 750 9px/1 inherit;
  outline: none;
}
.load-interaction-body-editor {
  display: block;
  width: 100%;
  min-width: 0;
  height: 31px;
  overflow-x: auto;
  overflow-y: hidden;
  box-sizing: border-box;
  border: 1px solid #c7d2de;
  border-radius: 5px;
  background: #fff !important;
  background-image: none !important;
  color: #25364a !important;
  -webkit-text-fill-color: #25364a !important;
  opacity: 1 !important;
  padding: 7px 8px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 750;
  line-height: 15px;
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  outline: none;
  caret-color: #25364a;
  text-indent: 0;
  text-shadow: none;
}
input.load-interaction-body-editor::placeholder {
  color: #7b8795 !important;
  -webkit-text-fill-color: #7b8795 !important;
  opacity: 1;
}
.load-interaction-body-editor div,
.load-interaction-body-editor p {
  display: inline;
}
.load-interaction-body-editor br {
  display: none;
}
.load-interaction-body-editor .load-mention-token {
  color: #1874bd !important;
  -webkit-text-fill-color: #1874bd;
}
.load-interaction-body-editor:focus {
  border-color: #4b84ba;
  box-shadow: 0 0 0 2px rgba(36, 105, 169, .1);
}
.load-interaction-body-editor:empty::before {
  color: #7b8795;
  -webkit-text-fill-color: #7b8795;
  content: attr(data-placeholder);
  pointer-events: none;
}
.load-interaction-content strong .load-mention-token {
  display: inline;
  padding: 0;
}
.load-interaction-composer input:focus,
.load-interaction-composer select:focus {
  border-color: #4b84ba;
  box-shadow: 0 0 0 2px rgba(36, 105, 169, .1);
}
.load-interaction-add {
  min-height: 31px;
  height: 31px;
  padding: 0 14px;
  font-size: 9px;
}
.load-task-schedule {
  display: flex;
  align-items: center;
  gap: 5px;
}
.load-task-schedule > span {
  margin-right: 2px;
  color: #718093;
  font-size: 8px;
  font-weight: 850;
}
.load-task-schedule button,
.load-task-schedule label {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #cbd6e1;
  border-radius: 5px;
  background: #f8fafc;
  color: #4e637a;
  padding: 0 8px;
  font: 850 8px/1 inherit;
  cursor: pointer;
}
.load-task-schedule button:hover,
.load-task-schedule button:focus-visible,
.load-task-schedule button.is-active {
  border-color: #5f8eb8;
  background: #eaf4fd;
  color: #1d5688;
  outline: none;
}
.load-task-schedule input {
  height: 21px;
  border: 0;
  background: transparent;
  padding: 0;
  font: 750 8px/1 inherit;
}
.load-interaction-type-cards {
  display: flex;
  align-items: center;
  gap: 4px;
}
.load-interaction-type-cards button {
  height: 31px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #d2dbe4;
  border-radius: 5px;
  background: #f8fafc;
  color: #5e6d7d;
  padding: 0 8px;
  font: 800 8px/1 inherit;
  cursor: pointer;
}
.load-interaction-type-cards button:hover,
.load-interaction-type-cards button:focus-visible,
.load-interaction-type-cards button.is-selected {
  border-color: #9fb8d0;
  background: #eef5fb;
  color: #244f78;
  outline: none;
}
.load-interaction-type-cards button.is-selected {
  border-color: #4b84ba;
  box-shadow: 0 0 0 2px rgba(36, 105, 169, .1);
}
.load-interaction-type-cards img {
  width: 11px;
  height: 11px;
  opacity: .68;
}
.load-interaction-timeline {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: 1px solid #dce4ec;
  border-radius: 6px;
  background: #fff;
}
.load-interaction-row {
  min-height: 42px;
  display: grid;
  grid-template-columns: 30px minmax(260px, 1fr) minmax(200px, auto);
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #e7edf2;
  padding: 5px 8px;
}
.load-interaction-row:last-child {
  border-bottom: 0;
}
.load-interaction-row.kind-flag {
  background: #fffaf3;
}
.load-interaction-row.is-pinned {
  box-shadow: inset 2px 0 0 #4d83b4;
}
.load-interaction-row.is-complete {
  background: #fafbfc;
}
.load-interaction-kind {
  width: 25px;
  height: 25px;
  display: grid !important;
  place-items: center;
  margin: 0 !important;
  border-radius: 6px;
  background: #edf4fb;
}
.load-interaction-row.kind-task .load-interaction-kind {
  background: #f1f6ed;
}
.load-interaction-row.kind-flag .load-interaction-kind {
  background: #fff0d7;
}
.load-interaction-kind img {
  width: 13px;
  height: 13px;
  opacity: .72;
}
.load-interaction-content {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.load-interaction-content strong {
  overflow: hidden;
  color: #25364a;
  font-size: 9.5px;
  font-weight: 850;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-interaction-row.kind-note .load-interaction-content > strong {
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.load-interaction-content input {
  width: 100%;
  min-width: 0;
  height: 27px;
  border: 1px solid #90acc6;
  border-radius: 5px;
  padding: 0 7px;
  font: 750 9px/1 inherit;
  outline: none;
}
.load-interaction-content input + input { margin-top: 4px; }
.load-interaction-row.is-complete .load-interaction-content strong {
  color: #6f7c8b;
}
.load-interaction-content span {
  margin: 0 !important;
  color: #8793a1 !important;
  font-size: 7.5px !important;
  font-weight: 700;
}
.load-interaction-item-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px;
}
.load-interaction-content .load-interaction-item-tags > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 17px;
  border: 1px solid #d2dce6;
  border-radius: 999px;
  background: #f5f7fa;
  padding: 0 6px;
  color: #49596a !important;
  font-size: 7.5px !important;
  font-weight: 850;
}
.load-interaction-item-tags i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #7d8a98;
}
.load-interaction-item-tags .is-blue i { background: #2f82c2; }
.load-interaction-item-tags .is-teal i { background: #278d8a; }
.load-interaction-item-tags .is-purple i { background: #7c65b7; }
.load-interaction-item-tags .is-amber i { background: #c78a2e; }
.load-entry-tag-editor {
  position: relative;
  z-index: 35;
  grid-column: 2 / -1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #c8d6e3;
  border-radius: 7px;
  background: #f8fbfe;
  padding: 5px 6px;
}
.load-entry-tag-editor > header {
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.load-entry-tag-editor > header strong {
  color: #304a63;
  font-size: 8.5px;
  font-weight: 900;
}
.load-entry-tag-editor > header button,
.load-entry-tag-assigned button {
  width: 20px;
  min-width: 20px;
  height: 20px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #6f7f90;
  padding: 0;
  font: 900 13px/1 inherit;
  cursor: pointer;
}
.load-entry-tag-editor > header button:hover,
.load-entry-tag-editor > header button:focus-visible,
.load-entry-tag-assigned button:hover,
.load-entry-tag-assigned button:focus-visible {
  background: #e5eef6;
  color: #1f5e95;
  outline: none;
}
.load-entry-tag-assigned-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}
.load-entry-tag-assigned {
  min-height: 23px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid #ccd9e5;
  border-radius: 999px;
  background: #fff;
  padding: 0 2px 0 7px;
}
.load-entry-tag-assigned > i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8190a0;
}
.load-entry-tag-assigned > i.tone-blue { background: #347ebc; }
.load-entry-tag-assigned > i.tone-teal { background: #2d8d86; }
.load-entry-tag-assigned > i.tone-green { background: #4d9568; }
.load-entry-tag-assigned > i.tone-amber { background: #ca8a2f; }
.load-entry-tag-assigned > i.tone-red { background: #c45d63; }
.load-entry-tag-assigned > i.tone-purple { background: #8061b2; }
.load-entry-tag-assigned b {
  color: #41566c;
  font-size: 8px;
  font-weight: 850;
  text-transform: none;
}
.load-entry-tag-input-wrap {
  position: relative;
  width: min(420px, 100%);
  min-width: 210px;
}
.load-entry-tag-input-wrap > input {
  width: 100%;
  height: 29px;
  border: 1px solid #9eb6ca;
  border-radius: 5px;
  background: #fff;
  color: #25364a;
  padding: 0 8px;
  font: 750 9.5px/1 inherit;
  outline: none;
}
.load-entry-tag-input-wrap > input:focus {
  border-color: #347ebc;
  box-shadow: 0 0 0 2px rgba(52, 126, 188, .12);
}
.load-entry-tag-results,
.load-entry-tag-state {
  position: absolute;
  z-index: 1100;
  isolation: isolate;
  top: calc(100% + 4px);
  left: 0;
  width: 100%;
  max-height: 250px;
  overflow-y: auto;
  border: 1px solid #b9c8d8;
  border-radius: 8px;
  background: #fff !important;
  color: #263c54;
  opacity: 1;
  box-shadow: 0 14px 30px rgba(31, 50, 72, .22), 0 2px 6px rgba(31, 50, 72, .08);
}
.load-entry-tag-results > button {
  width: 100%;
  min-height: 40px;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  border: 0;
  border-bottom: 1px solid #e8edf2;
  background: #fff !important;
  color: #263c54;
  padding: 6px 9px;
  text-align: left;
  cursor: pointer;
}
.load-entry-tag-results > button:last-child { border-bottom: 0; }
.load-entry-tag-results > button:hover,
.load-entry-tag-results > button:focus-visible {
  background: #edf5fc !important;
  color: #1f4f7c;
  outline: none;
}
.load-entry-tag-results > button.is-active {
  background: #347ebc !important;
  color: #fff;
}
.load-entry-tag-results > button > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.load-entry-tag-results strong,
.load-entry-tag-results small {
  overflow: hidden;
  color: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-entry-tag-results strong {
  font-size: 9.5px;
  font-weight: 900;
}
.load-entry-tag-results small {
  color: #7d8997;
  font-size: 7.5px;
  font-weight: 700;
}
.load-entry-tag-results > button.is-active small { color: rgba(255, 255, 255, .82); }
.load-entry-tag-state {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  font-size: 8px;
}
.load-entry-tag-state strong,
.load-entry-tag-state span {
  display: block;
}
.load-interaction-content b {
  color: #637183;
  font-weight: 900;
  text-transform: uppercase;
}
.load-interaction-row.kind-flag .load-interaction-content b {
  color: #a46600;
}
.load-interaction-meta {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}
.load-interaction-meta > span {
  margin: 0 !important;
  color: #84909d !important;
  font-size: 8px !important;
  font-weight: 750;
  white-space: nowrap;
}
.load-interaction-meta button {
  min-height: 24px;
  border: 1px solid #bfd0df;
  border-radius: 5px;
  background: #fff;
  color: #315d86;
  padding: 0 8px;
  font: 850 8px/1 inherit;
  cursor: pointer;
}
.load-interaction-meta button:hover,
.load-interaction-meta button:focus-visible {
  border-color: #6e98bd;
  background: #edf6ff;
  outline: none;
}
.load-interaction-meta .load-interaction-icon-action {
  width: 24px;
  min-width: 24px;
  padding: 0;
}
.load-interaction-icon-action img {
  width: 11px;
  height: 11px;
  opacity: .67;
}
.load-interaction-meta .load-interaction-icon-action.delete:hover {
  border-color: #d69da1;
  background: #fff1f2;
}
.load-interaction-meta .load-interaction-icon-action.pin.is-active {
  border-color: #73a0c7;
  background: #e5f2fd;
}
.load-interaction-meta .load-interaction-icon-action.pin.is-active img {
  opacity: .9;
}
.load-interaction-empty,
.load-interaction-state {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px dashed #d2dae3;
  border-radius: 6px;
  background: #fafbfd;
  color: #778596;
  font-size: 9px;
}
.load-interaction-empty img {
  width: 17px;
  height: 17px;
  opacity: .48;
}
.load-interaction-empty > span {
  display: grid !important;
  gap: 2px;
  margin: 0 !important;
}
.load-interaction-empty strong {
  color: #526175;
  font-size: 9px;
}
.load-interaction-empty small {
  color: #929ba7;
  font-size: 8px;
}
.load-interaction-state.error {
  justify-content: flex-start;
  border-style: solid;
  border-color: #e8b6b9;
  background: #fff5f5;
  color: #96333b;
  padding: 8px 10px;
}
.load-interaction-state.error span {
  margin: 0 !important;
}
.load-interaction-state.error button {
  margin-left: auto;
}
@media (max-width: 900px) {
  .load-interaction-composer {
    grid-template-columns: minmax(180px, 1fr) auto auto;
  }
  .load-interaction-composer [data-load-interaction-assignee] {
    display: none;
  }
  .load-interaction-type-cards button {
    width: 31px;
    justify-content: center;
    padding: 0;
    overflow: hidden;
    color: transparent;
    gap: 0;
  }
  .load-interaction-type-cards img {
    flex: 0 0 auto;
  }
  .load-interaction-row {
    grid-template-columns: 28px minmax(160px, 1fr);
  }
  .load-interaction-meta {
    grid-column: 2;
    justify-content: flex-start;
  }
  .load-entry-tag-editor {
    grid-column: 1 / -1;
    flex-wrap: wrap;
  }
  .load-entry-tag-input-wrap {
    width: 100%;
  }
}
.load-document-upload-shell {
  display: grid;
  gap: 6px;
}
.load-document-dropzone {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px dashed #9fb4c9;
  border-radius: 6px;
  background: #f7fafe;
  color: #315476;
  padding: 6px 12px;
  cursor: pointer;
  transition: border-color .12s ease, background-color .12s ease;
}
.load-document-dropzone:hover,
.load-document-dropzone.dragging {
  border-color: #2773ba;
  background: #edf6ff;
}
.load-document-dropzone input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}
.load-document-dropzone img {
  width: 17px;
  height: 17px;
  opacity: .72;
}
.load-document-dropzone > span {
  display: grid !important;
  gap: 2px;
  margin: 0 !important;
  color: inherit !important;
  text-align: left;
}
.load-document-dropzone strong {
  font-size: 10px;
  font-weight: 900;
}
.load-document-dropzone small {
  color: #7c8a9b;
  font-size: 8px;
  font-weight: 700;
}
.load-document-pending {
  display: grid;
  grid-template-columns: minmax(170px, .85fr) 154px minmax(200px, 1.15fr) auto 24px;
  align-items: end;
  gap: 6px;
  border: 1px solid #c8d7e7;
  border-radius: 6px;
  background: #f9fbfd;
  padding: 6px;
}
.load-document-pending-files {
  min-width: 0;
  align-self: center;
}
.load-document-pending-files strong,
.load-document-pending-files span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-document-pending-files strong {
  color: #203750;
  font-size: 10px;
}
.load-document-pending-files span {
  margin-top: 2px;
  color: #7a8795;
  font-size: 8px;
}
.load-document-pending label {
  min-width: 0;
}
.load-document-pending label > span {
  margin: 0 0 3px !important;
  color: #69798b !important;
  font-size: 8px !important;
  font-weight: 850;
}
.load-document-pending select,
.load-document-pending input {
  width: 100%;
  height: 28px;
  border: 1px solid #c7d2de;
  border-radius: 5px;
  background: #fff;
  color: #25364a;
  padding: 0 7px;
  font: 750 9px/1 inherit;
  outline: none;
}
.load-document-pending select:focus,
.load-document-pending input:focus {
  border-color: #4b84ba;
  box-shadow: 0 0 0 2px rgba(36, 105, 169, .1);
}
.load-document-upload {
  height: 28px;
  min-height: 28px;
  padding: 0 10px;
  font-size: 9px;
}
.load-document-cancel {
  width: 24px;
  height: 28px;
  border: 0;
  background: transparent;
  color: #8c98a6;
  font: 800 16px/1 inherit;
  cursor: pointer;
}
.load-document-cancel:hover {
  color: #a72a34;
}
.load-documents-table-wrap {
  width: 100%;
  max-width: 100%;
  margin-top: 8px;
  overflow: auto;
  border: 1px solid #dce4ec;
  border-radius: 6px;
  scrollbar-gutter: stable;
}
.load-documents-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  table-layout: fixed;
}
.load-documents-table th {
  position: static;
  height: 25px;
  border-bottom: 1px solid #dce4ec;
  background: #f4f7fa;
  color: #657184;
  padding: 0 8px;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .035em;
  text-align: left;
  text-transform: uppercase;
}
.load-documents-table th:nth-child(1) { width: 126px; }
.load-documents-table th:nth-child(2) { width: 42px; }
.load-documents-table th:nth-child(3) { width: 26%; }
.load-documents-table th:nth-child(5) { width: 210px; }
.load-documents-table th:nth-child(6) { width: 78px; }
.load-documents-table td {
  overflow: hidden;
  border-bottom: 1px solid #e8edf2;
  color: #334154;
  padding: 6px 8px !important;
  font-size: 9px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap !important;
}
.load-documents-table tbody tr:last-child td {
  border-bottom: 0;
}
.load-documents-table td strong,
.load-documents-table td span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-documents-table td strong {
  color: #26384d;
  font-size: 9.5px;
  font-weight: 850;
}
.load-documents-table td > span {
  margin: 1px 0 0 !important;
  color: #86909c !important;
  font-size: 7.5px !important;
}
.load-document-muted {
  color: #9ba4ae !important;
}
.load-document-open-head,
.load-document-open-cell {
  padding-right: 3px !important;
  padding-left: 3px !important;
  text-align: center !important;
}
.load-document-open {
  width: 27px;
  height: 27px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #c2d1df;
  border-radius: 7px;
  background: linear-gradient(180deg, #fff 0%, #f4f8fc 100%);
  color: #1b5d9c;
  padding: 0;
  cursor: pointer;
  box-shadow: 0 1px 1px rgba(18, 53, 88, .05);
  transition: border-color .12s ease, background-color .12s ease, transform .12s ease;
}
.load-document-open:hover,
.load-document-open:focus-visible {
  border-color: #4382bc;
  background: #edf6ff;
  outline: none;
  transform: translateY(-1px);
}
.load-document-open img {
  width: 13px;
  height: 13px;
  opacity: .82;
}
.load-document-actions-head,
.load-document-actions-cell {
  position: sticky !important;
  right: -1px;
  z-index: 5;
  width: 78px;
  min-width: 78px;
  max-width: 78px;
  border-left: 1px solid #e0e6ed;
  background: #fff !important;
  box-shadow: -5px 0 8px rgba(32, 55, 79, .07);
  text-align: center !important;
}
.load-document-actions-head {
  z-index: 7;
  background: #f4f7fa !important;
}
.load-document-actions {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 3px;
  margin: 0 !important;
}
.load-document-icon-action {
  width: 27px;
  height: 27px;
  display: inline-grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.load-document-icon-action:hover,
.load-document-icon-action:focus-visible {
  border-color: #c7d5e3;
  background: #f0f6fc;
  outline: none;
}
.load-document-icon-action.delete:hover,
.load-document-icon-action.delete:focus-visible {
  border-color: #efc0c3;
  background: #fff1f2;
}
.load-document-icon-action.save {
  border-color: #a8d5bb;
  background: #eff9f3;
}
.load-document-icon-action:disabled {
  cursor: default;
  opacity: .45;
}
.load-document-icon-action img {
  width: 13px;
  height: 13px;
  opacity: .72;
}
.load-document-icon-action.delete img {
  filter: invert(25%) sepia(53%) saturate(2079%) hue-rotate(330deg) brightness(91%) contrast(90%);
}
.load-document-actions-unavailable {
  margin: 0 !important;
  color: #a4acb5 !important;
  font-size: 9px !important;
}
.load-document-inline-select,
.load-document-inline-note {
  width: 100%;
  height: 27px;
  border: 1px solid #7ca6cc;
  border-radius: 5px;
  background: #fff;
  color: #26384d;
  padding: 0 6px;
  font: 750 9px/1 inherit;
  outline: none;
  box-shadow: 0 0 0 2px rgba(45, 112, 174, .08);
}
.load-document-inline-select {
  margin-bottom: 2px;
}
.load-document-delete-dialog {
  position: fixed;
  inset: 0;
  width: min(410px, calc(100vw - 24px));
  max-width: 410px;
  max-height: calc(100dvh - 24px);
  margin: auto;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: 0 24px 70px rgba(17, 32, 54, .28);
  padding: 0;
}
.load-document-delete-dialog::backdrop {
  background: rgba(17, 28, 45, .42);
  backdrop-filter: blur(1.5px);
}
.load-document-delete-card {
  position: relative;
  display: grid;
  justify-items: center;
  border: 1px solid #edf0f3;
  border-radius: 18px;
  background: #fff;
  padding: 30px 28px 24px;
  text-align: center;
}
.load-document-delete-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #66717d;
  padding: 0;
  cursor: pointer;
}
.load-document-delete-close:hover,
.load-document-delete-close:focus-visible {
  background: #4b5662;
  outline: 2px solid rgba(91, 107, 123, .22);
  outline-offset: 2px;
}
.load-document-delete-close img {
  width: 15px;
  height: 15px;
  filter: brightness(0) invert(1);
}
.load-document-delete-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 17px;
  background: #fff2f3;
}
.load-document-delete-icon img {
  width: 30px;
  height: 30px;
  filter: invert(38%) sepia(62%) saturate(1541%) hue-rotate(318deg) brightness(95%) contrast(85%);
}
.load-document-delete-card h2 {
  margin: 15px 0 0;
  color: #18212b;
  font-size: 19px;
  font-weight: 850;
  line-height: 1.2;
}
.load-document-delete-file {
  max-width: 100%;
  overflow: hidden;
  margin: 7px 0 0;
  color: #374556;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-document-delete-note {
  max-width: 315px;
  margin: 5px 0 0;
  color: #7a8490;
  font-size: 10px;
  line-height: 1.45;
}
.load-document-delete-card .load-cell-editor-error {
  width: 100%;
  margin-top: 12px;
  text-align: left;
}
.load-document-delete-actions {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 20px;
}
.load-document-delete-cancel,
.load-document-delete-confirm {
  min-height: 40px;
  border-radius: 9px;
  padding: 0 14px;
  font: 850 11px/1 inherit;
  cursor: pointer;
}
.load-document-delete-cancel {
  border: 1px solid #dfe4e9;
  background: #f6f7f8;
  color: #28323d;
}
.load-document-delete-cancel:hover,
.load-document-delete-cancel:focus-visible {
  border-color: #cbd2d9;
  background: #eef1f3;
  outline: none;
}
.load-document-delete-confirm {
  border: 1px solid #d44652;
  background: #dc4b57;
  color: #fff;
  box-shadow: 0 5px 12px rgba(190, 47, 60, .18);
}
.load-document-delete-confirm:hover,
.load-document-delete-confirm:focus-visible {
  border-color: #bf3542;
  background: #ca3e4b;
  outline: none;
}
.load-document-delete-confirm:disabled {
  cursor: wait;
  opacity: .6;
}
.load-documents-empty {
  height: 54px;
  color: #758293 !important;
  text-align: center;
}
.load-documents-empty strong,
.load-documents-empty span {
  display: block;
}
.load-documents-empty span {
  margin-top: 2px !important;
  color: #96a0ab !important;
  font-size: 8px !important;
}
.load-documents-state {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 8px;
  border: 1px solid #e0e6ec;
  border-radius: 6px;
  background: #fafbfd;
  color: #6f7c8c;
  font-size: 9px;
}
.load-documents-state.error {
  justify-content: flex-start;
  border-color: #e8b6b9;
  background: #fff5f5;
  color: #96333b;
  padding: 8px 10px;
}
.load-documents-state.error strong,
.load-documents-state.error span {
  display: block;
}
.load-documents-state.error button {
  margin-left: auto;
}
.load-documents-spinner {
  width: 13px;
  height: 13px;
  border: 2px solid #c7d4e1;
  border-top-color: #2f72b3;
  border-radius: 50%;
  animation: load-document-spin .7s linear infinite;
}
@keyframes load-document-spin {
  to { transform: rotate(360deg); }
}
.load-workspace-placeholder {
  min-height: 105px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  border: 1px dashed #d2dae3;
  border-radius: 6px;
  background: #fafbfd;
  color: #85909d;
  text-align: center;
}
.load-workspace-placeholder img {
  width: 18px;
  height: 18px;
  margin-bottom: 2px;
  opacity: .5;
}
.load-workspace-placeholder strong {
  color: #526175;
  font-size: 10px;
}
.load-workspace-placeholder span {
  margin: 0 !important;
  color: #929ba7 !important;
  font-size: 8px !important;
}
.load-driver-payable {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d4dde7;
  border-radius: 6px;
  background: #fff;
}
.load-driver-payable > header {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e0e6ed;
  background: #f8fafc;
  padding: 5px 9px;
}
.load-driver-payable > header > span,
.load-payable-payee,
.load-payable-summary > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.load-driver-payable > header strong {
  color: #203750;
  font-size: 11px;
  font-weight: 900;
}
.load-driver-payable > header small {
  color: #8894a2;
  font-size: 8px;
  font-weight: 700;
}
.load-payable-badge {
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #c9d6e3;
  border-radius: 999px;
  background: #f3f6f9;
  color: #627185;
  padding: 0 8px;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}
.load-payable-badge.estimated {
  border-color: #bdd0e4;
  background: #eef6ff;
  color: #2f6596;
}
.load-payable-badge.ready {
  border-color: #add9bd;
  background: #effaf3;
  color: #27764a;
}
.load-payable-badge.warning {
  border-color: #e5c999;
  background: #fff8e8;
  color: #8a621c;
}
.load-payable-summary {
  display: grid;
  grid-template-columns: minmax(210px, 1.35fr) repeat(2, minmax(150px, .8fr)) minmax(170px, .9fr);
  min-width: 0;
}
.load-payable-summary > div {
  min-height: 58px;
  align-content: center;
  border-right: 1px solid #e5eaf0;
  padding: 7px 10px;
}
.load-payable-summary > div:last-child {
  border-right: 0;
}
.load-payable-summary span {
  color: #8390a0;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.load-payable-summary strong {
  overflow: hidden;
  color: #25384e;
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-payable-summary small {
  overflow: hidden;
  color: #778596;
  font-size: 8px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.load-payable-summary .load-payable-total {
  background: #fff9df;
}
.load-payable-summary .load-payable-total strong {
  color: #173f70;
  font-size: 14px;
}
.load-payable-summary .load-payable-issue {
  grid-column: span 3;
  background: #fffaf0;
}
.load-payable-summary .load-payable-issue strong {
  color: #805b1f;
  font-size: 9px;
  white-space: normal;
}
.load-driver-payable > footer {
  min-height: 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid #e7ebf0;
  color: #85909d;
  padding: 4px 9px;
  font-size: 8px;
  font-weight: 700;
}
.load-payable-state {
  min-height: 105px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #dce4ec;
  border-radius: 6px;
  background: #fafbfd;
  color: #6f7c8c;
  font-size: 9px;
}
.load-payable-state > img {
  width: 17px;
  height: 17px;
  opacity: .55;
}
.load-payable-state > span {
  display: grid;
  gap: 2px;
}
.load-payable-state strong,
.load-payable-state small {
  display: block;
}
.load-payable-state.error {
  justify-content: flex-start;
  border-color: #e8b6b9;
  background: #fff5f5;
  color: #96333b;
  padding: 8px 10px;
}
.load-payable-state.error button {
  margin-left: auto;
}
@media (max-width: 920px) {
  .load-payable-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .load-payable-summary > div:nth-child(2) {
    border-right: 0;
  }
  .load-payable-summary > div:nth-child(-n+2) {
    border-bottom: 1px solid #e5eaf0;
  }
  .load-payable-summary .load-payable-issue {
    grid-column: span 1;
  }
}
.load-history-wrap {
  min-width: 0;
  border: 1px solid #d9e1e9;
  border-radius: 5px;
  background: #fff;
  overflow: hidden;
}
.load-history-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: #253347;
  font-size: 9px;
}
.load-history-table th {
  height: 26px;
  border-bottom: 1px solid #cfd8e2;
  background: #f7f9fb;
  color: #667385;
  padding: 0 8px;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .035em;
  text-align: left;
  text-transform: uppercase;
}
.load-history-table th:first-child,
.load-history-table td:first-child {
  width: 142px;
}
.load-history-table th:last-child,
.load-history-table td:last-child {
  width: 190px;
}
.load-history-table td {
  min-height: 42px;
  border-bottom: 1px solid #e7ebf0;
  padding: 7px 8px;
  vertical-align: top;
}
.load-history-table tbody tr:nth-child(even) td {
  background: #f8f9fb;
}
.load-history-table tbody tr:last-child td {
  border-bottom: 0;
}
.load-history-time strong,
.load-history-time span,
.load-history-author strong,
.load-history-author span,
.load-history-description > span {
  display: block;
}
.load-history-time strong {
  color: #344255;
  font-size: 8px;
  font-weight: 850;
}
.load-history-time span {
  margin-top: 2px;
  color: #657184;
  font-size: 8px;
  font-variant-numeric: tabular-nums;
}
.load-history-description {
  line-height: 1.35;
}
.load-history-description > span {
  margin: 0 0 2px;
}
.load-history-description strong {
  color: #172d46;
  font-weight: 900;
}
.load-history-diff {
  color: #4f5d6f;
  overflow-wrap: anywhere;
}
.load-history-diff em {
  display: inline-block;
  min-width: 30px;
  color: #7c8795;
  font-size: 7px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.load-history-note {
  color: #778393;
  font-size: 8px;
  overflow-wrap: anywhere;
}
.load-history-author strong {
  color: #27384b;
  font-size: 8px;
  font-weight: 850;
}
.load-history-author span {
  margin-top: 2px;
  color: #8a94a1;
  font-size: 7px;
  overflow-wrap: anywhere;
}
.load-history-state {
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #e0e6ec;
  border-radius: 5px;
  background: #fafbfd;
  color: #718093;
  font-size: 9px;
}
.load-history-state strong,
.load-history-state span {
  display: block;
}
.load-history-state.error {
  justify-content: flex-start;
  border-color: #e8b6b9;
  background: #fff5f5;
  color: #96333b;
  padding: 8px 10px;
}
.load-history-state.error button {
  margin-left: auto;
}
.load-history-more {
  width: 100%;
  height: 28px;
  border: 0;
  border-top: 1px solid #dfe5eb;
  background: #f7f9fb;
  color: #315c86;
  font: 850 8px/1 inherit;
  cursor: pointer;
}
.load-history-more:hover,
.load-history-more:focus-visible {
  background: #edf4fb;
  outline: none;
}
.load-history-more:disabled {
  cursor: wait;
  opacity: .65;
}
@media (max-width: 760px) {
  .load-history-table th:first-child,
  .load-history-table td:first-child {
    width: 112px;
  }
  .load-history-table th:last-child,
  .load-history-table td:last-child {
    width: 120px;
  }
  .load-history-author span {
    display: none;
  }
}
.loads-column-labels th {
  top: 0;
  height: 32px;
  padding: 0;
  z-index: 3;
}
.loads-sort-btn {
  width: 100%;
  height: 32px;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0 12px 0 8px;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  text-transform: inherit;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.loads-column-resize {
  position: absolute;
  top: 0;
  right: -3px;
  width: 7px;
  height: 100%;
  cursor: col-resize;
  z-index: 5;
}
.loads-column-resize:hover {
  background: rgba(38, 103, 170, .2);
}
.loads-column-filters th {
  top: 32px;
  z-index: 2;
  padding: 3px 5px 5px;
  background: #f5f7fa;
}
.loads-column-filters input {
  width: 100%;
  height: 25px;
  border: 1px solid #d5dce5;
  border-radius: 5px;
  background: #fff;
  color: var(--text);
  padding: 0 6px;
  font: 600 10px/1 inherit;
  text-transform: none;
}
.loads-schedule-filters {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3px;
}
.loads-column-filters .loads-assignment-filter {
  min-width: 0;
  height: 23px;
  padding-inline: 5px;
}
.loads-columns-dialog {
  position: fixed;
  inset: 0;
  width: min(440px, calc(100vw - 24px));
  max-height: min(720px, calc(100vh - 32px));
  margin: auto;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: 0 24px 70px rgba(17, 32, 54, .28);
  overflow: auto;
  padding: 0;
}
.loads-columns-dialog::backdrop {
  background: rgba(17, 28, 45, .42);
  backdrop-filter: blur(1.5px);
}
.loads-columns-card {
  position: relative;
  box-sizing: border-box;
  border: 1px solid #edf0f3;
  border-radius: 18px;
  background: #fff;
  padding: 28px 24px 22px;
}
.loads-columns-head,
.loads-columns-actions,
.loads-column-option {
  display: flex;
  align-items: center;
}
.loads-columns-head {
  justify-content: center;
  min-height: 74px;
  text-align: center;
}
.loads-columns-head h2 {
  margin: 12px 0 0;
  color: var(--navy);
  font-size: 19px;
  font-weight: 850;
  line-height: 1.2;
}
.loads-columns-head p {
  max-width: 560px;
  margin: 5px auto 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}
.loads-modal-intro {
  display: grid;
  justify-items: center;
}
.loads-modal-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: #edf5fd;
}
.loads-modal-icon img {
  width: 26px;
  height: 26px;
  filter: invert(35%) sepia(36%) saturate(1148%) hue-rotate(169deg) brightness(87%) contrast(87%);
}
.loads-modal-icon.danger { background: #fff2f3; }
.loads-modal-icon.danger img {
  filter: invert(38%) sepia(62%) saturate(1541%) hue-rotate(318deg) brightness(95%) contrast(85%);
}
.loads-dialog-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #66717d;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px #cdd3d9;
  color: #fff;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}
.loads-dialog-close:hover,
.loads-dialog-close:focus-visible {
  background: #4b5662;
  outline: 2px solid rgba(91, 107, 123, .22);
  outline-offset: 3px;
}
.loads-columns-list {
  display: grid;
  gap: 4px;
  max-height: min(520px, calc(100vh - 180px));
  margin-top: 12px;
  overflow: auto;
}
.loads-column-option {
  min-height: 38px;
  gap: 8px;
  border: 1px solid #e1e6ed;
  border-radius: 6px;
  background: #fff;
  padding: 5px 7px;
}
.loads-column-grip {
  color: #9ba5b1;
  cursor: grab;
}
.loads-column-option label {
  flex: 1;
  color: var(--text);
  font-size: 12px;
  font-weight: 750;
}
.loads-column-order-actions {
  display: flex;
  gap: 3px;
}
.loads-column-order-actions button {
  width: 27px;
  height: 27px;
  border: 1px solid #d8dfe8;
  border-radius: 5px;
  background: #f8fafc;
  color: var(--navy);
  cursor: pointer;
}
.loads-column-order-actions button:disabled {
  opacity: .35;
  cursor: default;
}
.loads-columns-actions {
  justify-content: space-between;
  gap: 10px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #edf0f3;
}
.load-delete-card .loads-columns-actions,
.loads-bulk-dialog-card .loads-columns-actions {
  display: grid;
  justify-items: stretch;
  gap: 13px;
  text-align: center;
}
.load-delete-card .loads-columns-actions > span:first-child,
.loads-bulk-dialog-card .loads-columns-actions > span:first-child {
  color: #7a8490;
  font-size: 10px;
  line-height: 1.45;
}
.load-delete-card .loads-columns-actions > span:last-child,
.loads-bulk-dialog-card .loads-columns-actions > span:last-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.load-delete-card .loads-columns-actions button,
.loads-bulk-dialog-card .loads-columns-actions button {
  width: 100%;
  min-height: 40px;
  border-radius: 9px;
}
.loads-simple-dialog-card .loads-columns-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.loads-simple-dialog-card .loads-columns-actions > button {
  width: 100%;
  min-width: 0;
}
.loads-tag-library-dialog {
  width: min(920px, calc(100vw - 24px));
  max-height: min(820px, calc(100vh - 24px));
}
.loads-tag-library-card {
  display: grid;
  gap: 12px;
  padding: 22px;
}
.loads-tag-library-card .loads-columns-head {
  min-height: 62px;
}
.loads-tag-library-card .loads-modal-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
}
.loads-tag-library-card .loads-modal-icon img {
  width: 21px;
  height: 21px;
}
.loads-tag-library-card .loads-columns-head h2 {
  margin-top: 8px;
  font-size: 18px;
}
.tag-library-review-banner,
.tag-library-definition-rule {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #cfe0f0;
  border-radius: 8px;
  background: #f4f9fe;
  padding: 9px 11px;
  color: #38546f;
  font-size: 10px;
  line-height: 1.4;
}
.tag-library-review-banner strong {
  flex: 0 0 auto;
  color: #174b78;
  font-size: 10px;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.tag-library-definition-rule {
  align-items: stretch;
  border-color: #dde3ea;
  background: #fff;
  padding: 0;
}
.tag-library-definition-rule > span {
  flex: 1 1 0;
  padding: 9px 11px;
}
.tag-library-definition-rule > span + span {
  border-left: 1px solid #e4e8ed;
}
.tag-library-definition-rule strong {
  color: var(--navy);
}
.tag-library-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1.5fr) repeat(3, minmax(126px, .75fr));
  gap: 7px;
}
.tag-library-toolbar label {
  display: grid;
  gap: 4px;
  color: #6a7684;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.tag-library-toolbar input,
.tag-library-toolbar select {
  width: 100%;
  min-width: 0;
  height: 34px;
  box-sizing: border-box;
  border: 1px solid #cfd8e3;
  border-radius: 7px;
  background: #fff;
  color: var(--text);
  padding: 0 9px;
  font: 700 11px/1 inherit;
  text-transform: none;
  letter-spacing: 0;
}
.tag-library-toolbar input:focus,
.tag-library-toolbar select:focus {
  border-color: #5d9bd3;
  outline: 2px solid rgba(54, 130, 193, .13);
  outline-offset: 1px;
}
.tag-library-summary {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  overflow-x: auto;
}
.tag-library-summary > span {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 25px;
  border: 1px solid #dbe2e9;
  border-radius: 999px;
  background: #fff;
  padding: 0 8px;
  color: #647181;
  font-size: 9px;
  font-weight: 750;
}
.tag-library-summary > span strong {
  color: var(--navy);
  font-size: 11px;
}
.tag-library-summary > span.is-live { border-color: #a9d6bd; background: #f3fbf6; }
.tag-library-summary > span.is-proposed { border-color: #aecde7; background: #f3f8fd; }
.tag-library-summary > span.is-review { border-color: #efd391; background: #fff9eb; }
.tag-library-summary > span.is-archived { border-color: #d7dce2; background: #f7f8fa; }
.tag-library-summary > small {
  margin-left: auto;
  color: #7b8693;
  font-size: 9px;
  white-space: nowrap;
}
.tag-library-rows {
  display: grid;
  gap: 6px;
  max-height: 330px;
  overflow: auto;
  padding: 1px;
}
.tag-library-row {
  display: grid;
  gap: 6px;
  border: 1px solid #dfe5ec;
  border-radius: 9px;
  background: #fff;
  padding: 9px 11px;
}
.tag-library-row-head {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}
.tag-library-color {
  width: 10px;
  height: 10px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #7d8a98;
  box-shadow: 0 0 0 1px #c8d0d9;
}
.tag-library-color.is-blue { background: #2f82c2; }
.tag-library-color.is-teal { background: #278d8a; }
.tag-library-color.is-purple { background: #7c65b7; }
.tag-library-color.is-amber { background: #c78a2e; }
.tag-library-row-head > div {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 7px;
}
.tag-library-row-head strong {
  color: var(--navy);
  font-size: 12px;
}
.tag-library-row-head strong small {
  color: #7c6820;
  font-size: 8px;
  font-weight: 850;
  text-transform: uppercase;
}
.tag-library-row-head code {
  color: #758292;
  font: 700 9px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.tag-library-decision {
  border: 1px solid #d2d9e1;
  border-radius: 999px;
  background: #f7f8fa;
  padding: 4px 7px;
  color: #626f7d;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.tag-library-decision.is-live { border-color: #a4d2b6; background: #edf9f2; color: #246a42; }
.tag-library-decision.is-proposed { border-color: #a9c9e4; background: #eef6fd; color: #276796; }
.tag-library-decision.is-review { border-color: #e8cb83; background: #fff7e4; color: #815e10; }
.tag-library-decision.is-archived { color: #7d858e; }
.tag-library-row > p {
  margin: 0 0 0 20px;
  color: #3f4e5d;
  font-size: 10px;
  line-height: 1.45;
}
.tag-library-row-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-left: 20px;
}
.tag-library-family,
.tag-library-targets > span,
.tag-library-usage {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  border-radius: 999px;
  background: #f0f3f7;
  padding: 0 7px;
  color: #536170;
  font-size: 8px;
  font-weight: 800;
}
.tag-library-targets {
  display: contents;
}
.tag-library-targets > span {
  border: 1px solid #d3e1ee;
  background: #f5f9fd;
  color: #376585;
}
.tag-library-usage {
  margin-left: auto;
  background: transparent;
  padding-right: 0;
  color: #7b8691;
}
.tag-library-boundary {
  margin-left: 20px;
  border-left: 2px solid #d8dee5;
  padding-left: 7px;
  color: #6b7581;
  font-size: 9px;
  line-height: 1.4;
}
.tag-library-boundary strong {
  color: #505d6b;
}
.tag-library-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 90px;
  border: 1px dashed #d6dde5;
  border-radius: 9px;
  background: #fafbfd;
  color: #72808e;
  font-size: 10px;
  font-weight: 750;
}
.tag-library-empty.is-error {
  border-color: #e8b5b9;
  background: #fff5f5;
  color: #9b343d;
}
.tag-library-non-tags {
  display: grid;
  gap: 8px;
  border-top: 1px solid #e5e9ee;
  padding-top: 12px;
}
.tag-library-section-kicker {
  color: #a16622;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.tag-library-non-tags h3 {
  margin: 2px 0 0;
  color: var(--navy);
  font-size: 12px;
}
.tag-library-non-tag-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.tag-library-non-tag-grid article {
  border: 1px solid #eadfc9;
  border-radius: 7px;
  background: #fffcf5;
  padding: 7px 8px;
}
.tag-library-non-tag-grid strong,
.tag-library-non-tag-grid span {
  display: block;
}
.tag-library-non-tag-grid strong {
  color: #594316;
  font-size: 9px;
}
.tag-library-non-tag-grid span {
  margin-top: 2px;
  color: #875e18;
  font-size: 8px;
  font-weight: 850;
}
.tag-library-non-tag-grid p {
  margin: 4px 0 0;
  color: #72644c;
  font-size: 8px;
  line-height: 1.35;
}
.tag-library-actions {
  margin-top: 0;
}
.tag-library-actions > span {
  color: #737e8a;
  font-size: 9px;
}
.tag-library-actions .quick-save {
  min-width: 90px;
}
@media (max-width: 720px) {
  .loads-tag-library-card {
    padding: 18px 14px;
  }
  .tag-library-definition-rule,
  .tag-library-review-banner {
    display: grid;
  }
  .tag-library-definition-rule > span + span {
    border-top: 1px solid #e4e8ed;
    border-left: 0;
  }
  .tag-library-toolbar {
    grid-template-columns: 1fr 1fr;
  }
  .tag-library-search {
    grid-column: 1 / -1;
  }
  .tag-library-non-tag-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .tag-library-toolbar,
  .tag-library-non-tag-grid {
    grid-template-columns: 1fr;
  }
  .tag-library-row-head {
    grid-template-columns: 12px minmax(0, 1fr);
  }
  .tag-library-decision {
    grid-column: 2;
    justify-self: start;
  }
  .tag-library-usage {
    width: 100%;
    margin-left: 0;
  }
}

/* Granular role and per-user permission controls -------------------------- */
.access-user-editor { width: min(900px, calc(100vw - 24px)); }
.access-user-overrides {
  margin-top: 14px;
  border: 1px solid #d5e0ea;
  border-radius: 9px;
  background: #f8fafc;
  overflow: hidden;
}
.access-user-overrides[hidden] { display: none; }
.access-user-overrides > summary {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 15px;
  cursor: pointer;
  list-style: none;
}
.access-user-overrides > summary::-webkit-details-marker { display: none; }
.access-user-overrides > summary > span:first-child { display: flex; flex-direction: column; gap: 3px; }
.access-user-overrides > summary strong { color: #17345f; font-size: 13px; }
.access-user-overrides > summary small { color: #6f7f8f; font-size: 10px; font-weight: 600; }
.access-override-count {
  flex: 0 0 auto;
  border: 1px solid #c9d8e5;
  border-radius: 999px;
  background: #fff;
  padding: 5px 9px;
  color: #42617c;
  font-size: 10px;
  font-weight: 800;
}
.access-override-priority {
  border-top: 1px solid #dce5ed;
  border-bottom: 1px solid #dce5ed;
  background: #fff8e8;
  padding: 9px 14px;
  color: #70551f;
  font-size: 10px;
}
.access-override-search {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px;
  border: 1px solid #ced9e3;
  border-radius: 7px;
  background: #fff;
  padding: 0 10px;
}
.access-override-search img { width: 15px; height: 15px; }
.access-override-search input { width: 100%; min-height: 38px; border: 0; outline: 0; background: transparent; font: inherit; font-size: 11px; }
.access-user-override-editor { max-height: 42vh; overflow: auto; padding: 0 12px 12px; }
.access-user-override-editor section { margin-top: 10px; border: 1px solid #dde5ec; border-radius: 8px; background: #fff; overflow: hidden; }
.access-user-override-editor h3 { margin: 0; background: #edf3f8; padding: 8px 11px; color: #17345f; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.access-override-row { min-height: 58px; display: grid; grid-template-columns: minmax(0, 1fr) 190px; align-items: center; gap: 14px; border-top: 1px solid #edf1f4; padding: 9px 11px; }
.access-override-row:first-of-type { border-top: 0; }
.access-override-row > span { display: flex; flex-direction: column; gap: 3px; }
.access-override-row strong { color: #283d52; font-size: 11px; }
.access-override-row small { color: #7b8997; font-size: 9px; line-height: 1.4; }
.access-override-row select { min-height: 34px; border: 1px solid #cad6e0; border-radius: 6px; background: #fff; padding: 0 8px; color: #344b61; font: inherit; font-size: 10px; }
.access-granular-editor { display: grid; gap: 8px; border-top: 1px solid #d5dde6; background: #f8fafc; padding: 14px; }
.access-granular-editor > div { display: flex; flex-direction: column; gap: 2px; }
.access-granular-editor > div > strong { color: #17345f; font-size: 12px; }
.access-granular-editor > div > span { color: #778798; font-size: 9px; }
.access-granular-editor > label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: flex-start; gap: 9px; border: 1px solid #dbe4ec; border-radius: 7px; background: #fff; padding: 10px; }
.access-granular-editor > label > span { display: flex; flex-direction: column; gap: 3px; }
.access-granular-editor > label strong { color: #29435b; font-size: 11px; }
.access-granular-editor > label small { color: #7a8998; font-size: 9px; }
.access-granular-summary { border-top: 1px solid #e1e7ed; padding: 12px; }
.access-granular-summary > strong { color: #17345f; font-size: 11px; }
.access-granular-summary > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.access-granular-summary span { border: 1px solid #ead6d9; border-radius: 999px; background: #fff4f5; padding: 4px 8px; color: #9c4650; font-size: 9px; font-weight: 800; }
.access-granular-summary span.is-allowed { border-color: #c9e3d5; background: #eff9f3; color: #347451; }

@media (max-width: 640px) {
  .access-override-row { grid-template-columns: 1fr; gap: 8px; }
  .access-override-row select { width: 100%; }
}
.dispatch-message-dialog {
  width: min(760px, calc(100vw - 24px));
}
.dispatch-message-card {
  display: grid;
  gap: 10px;
}
.dispatch-message-input-label {
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.dispatch-message-input {
  width: 100%;
  min-height: 230px;
  resize: vertical;
  border: 1px solid #ccd5e0;
  border-radius: 7px;
  background: #fbfcfe;
  color: var(--text);
  padding: 10px;
  font: 600 12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.dispatch-message-input:focus {
  outline: 2px solid rgba(31, 95, 158, .18);
  border-color: #1f5f9e;
}
.dispatch-message-error {
  border: 1px solid #e6b3b3;
  border-radius: 7px;
  background: #fff4f4;
  color: #9c2525;
  padding: 8px 10px;
  font-size: 11px;
  font-weight: 750;
}
.dispatch-message-preview {
  display: grid;
  gap: 8px;
}
.dispatch-match-preview {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #b9d3ee;
  border-radius: 7px;
  background: #eef6ff;
  color: #174c7f;
  padding: 8px 10px;
}
.dispatch-match-preview strong { font-size: 12px; }
.dispatch-match-preview span { font-size: 10px; }
.dispatch-manual-lookup {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(260px, 1.25fr);
  align-items: end;
  gap: 7px 12px;
  border: 1px solid #d7dee7;
  border-left: 4px solid #637083;
  border-radius: 7px;
  background: #f8fafc;
  padding: 9px 10px;
}
.dispatch-manual-lookup > div:first-child { display: grid; gap: 2px; }
.dispatch-manual-lookup strong { color: var(--navy); font-size: 11px; }
.dispatch-manual-lookup span { color: var(--muted); font-size: 10px; }
.dispatch-manual-lookup-row { display: flex; gap: 6px; }
.dispatch-manual-lookup-row input {
  min-width: 0;
  flex: 1;
  border: 1px solid #bfc9d6;
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  padding: 7px 8px;
  font-size: 11px;
  font-weight: 750;
}
.dispatch-manual-lookup-row input:focus {
  outline: 2px solid rgba(31, 95, 158, .16);
  border-color: #1f5f9e;
}
.dispatch-lookup-error {
  grid-column: 1 / -1;
  color: #a12626 !important;
  font-weight: 750;
}
.dispatch-candidates {
  display: grid;
  gap: 5px;
  border: 1px solid #ead6a5;
  border-radius: 7px;
  background: #fffaf0;
  padding: 8px;
}
.dispatch-candidates > strong { color: #725214; font-size: 10px; text-transform: uppercase; letter-spacing: .03em; }
.dispatch-candidate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #e0c982;
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  padding: 7px 9px;
  text-align: left;
  cursor: pointer;
}
.dispatch-candidate:hover { border-color: #b78b24; background: #fff8e5; }
.dispatch-candidate span { font-size: 10px; }
.dispatch-candidate small { color: var(--muted); font-size: 9px; text-align: right; }
.dispatch-driver-preview {
  color: var(--muted);
  font-size: 11px;
}
.dispatch-driver-preview strong { color: var(--text); }
.dispatch-driver-review {
  border: 1px solid #dfe5ec;
  border-radius: 7px;
  background: #fff;
  padding: 8px 10px;
}
.dispatch-stops-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.dispatch-stop-preview {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  border: 1px solid #dfe5ec;
  border-radius: 7px;
  background: #fff;
  padding: 9px;
}
.dispatch-stop-review {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  min-width: 0;
  margin: 0;
}
.dispatch-stop-review .dispatch-stop-number {
  width: max-content;
}
.dispatch-review-field {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.dispatch-review-field > span {
  color: #68778b;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.dispatch-review-field input,
.dispatch-review-field select {
  min-width: 0;
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  background: #fff;
  color: var(--text);
  padding: 6px 7px;
  font-size: 11px;
  font-weight: 700;
}
.dispatch-review-field input:focus,
.dispatch-review-field select:focus {
  outline: 2px solid rgba(31, 95, 158, .16);
  border-color: #1f5f9e;
}
.dispatch-review-schedule {
  display: grid;
  grid-template-columns: 1fr 1.15fr .9fr .9fr;
  gap: 6px;
}
.dispatch-stop-number {
  align-self: start;
  border-radius: 5px;
  background: #e9eef4;
  color: var(--navy);
  padding: 4px 6px;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.dispatch-stop-preview > div:last-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.dispatch-stop-preview strong {
  color: var(--text);
  font-size: 11px;
  overflow-wrap: anywhere;
}
.dispatch-stop-preview span {
  color: var(--muted);
  font-size: 10px;
  overflow-wrap: anywhere;
}
.dispatch-stop-preview .dispatch-stop-company {
  font-weight: 500;
}
.dispatch-stop-preview .dispatch-stop-locality {
  color: var(--text);
  font-size: 10.5px;
  font-weight: 850;
}
.dispatch-message-actions > span:first-child {
  color: var(--muted);
  font-size: 10px;
}
.dispatch-message-actions > span:last-child {
  display: flex;
  gap: 6px;
}

/* Personal load-filter card workspace */
.loads-summary-compact .load-filter-card {
  border-left-width: 3px;
  cursor: grab;
}
.loads-summary-compact .load-filter-card:active { cursor: grabbing; }
.loads-summary-compact .load-filter-card.family-status {
  border-color: #9db9d8;
  background: #f4f8fd;
}
.loads-summary-compact .load-filter-card.family-date,
.loads-summary-compact .load-filter-card.family-pickup-date,
.loads-summary-compact .load-filter-card.family-time {
  border-color: #b6a4d6;
  background: #f8f5fc;
}
.loads-summary-compact .load-filter-card.family-delivery-date {
  border-color: #93bea0;
  background: #f2f9f4;
}
.loads-summary-compact .load-filter-card.family-dispatcher {
  border-color: #82bbb6;
  background: #f1faf8;
}
.loads-summary-compact .load-filter-card.family-attention {
  border-color: #d7b978;
  background: #fff9ee;
}
.loads-summary-compact .load-filter-card.family-status.is-selected {
  border-color: #2b6dad;
  background: #e6f0fb;
  box-shadow: inset 0 0 0 1px #2b6dad;
}
.loads-summary-compact .load-filter-card.family-date.is-selected,
.loads-summary-compact .load-filter-card.family-pickup-date.is-selected,
.loads-summary-compact .load-filter-card.family-time.is-selected {
  border-color: #7452a6;
  background: #efe8f8;
  box-shadow: inset 0 0 0 1px #7452a6;
}
.loads-summary-compact .load-filter-card.family-delivery-date.is-selected {
  border-color: #34754a;
  background: #e3f2e7;
  box-shadow: inset 0 0 0 1px #34754a;
}
.loads-summary-compact .load-filter-card.family-dispatcher.is-selected {
  border-color: #287f78;
  background: #e3f4f1;
  box-shadow: inset 0 0 0 1px #287f78;
}
.loads-summary-compact .load-filter-card.family-attention.is-selected {
  border-color: #9a6810;
  background: #fff0ce;
  box-shadow: inset 0 0 0 1px #9a6810;
}
.loads-summary-compact .load-filter-card.is-starred { border-top: 2px solid #d49a22; }
.loads-summary-compact .load-filter-card.is-custom.size-small { min-width: 76px; }
.loads-summary-compact .load-filter-card.is-custom.size-medium { min-width: 98px; }
.loads-summary-compact .load-filter-card.is-custom.size-wide { min-width: 132px; }
.loads-summary-compact .load-filter-menu-card { cursor: pointer; }
.loads-summary-compact .load-filter-menu-card span::before {
  margin-right: 4px;
  color: #64748b;
  content: "▾";
  font-size: 8px;
}
.loads-summary-compact .load-filter-menu-card[aria-expanded="true"] span::before { content: "▴"; }
.loads-summary-compact .load-filter-card.is-dragging,
.loads-card-option.is-dragging { opacity: .42; }
.loads-summary-compact .load-filter-card.is-drag-target,
.loads-card-option.is-drag-target {
  outline: 2px solid #1f5f9e;
  outline-offset: -2px;
}
.loads-cards-dialog { width: min(720px, calc(100vw - 24px)); }
.loads-cards-card { padding: 28px 24px 22px; }
.loads-card-family-key {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 12px;
}
.loads-card-family-key span {
  border: 1px solid;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 9px;
  font-weight: 850;
}
.loads-card-family-key .family-status { border-color: #9db9d8; background: #f4f8fd; color: #255d96; }
.loads-card-family-key .family-date,
.loads-card-family-key .family-pickup-date { border-color: #b6a4d6; background: #f8f5fc; color: #6c4aa0; }
.loads-card-family-key .family-delivery-date { border-color: #93bea0; background: #f2f9f4; color: #34754a; }
.loads-card-family-key .family-dispatcher { border-color: #82bbb6; background: #f1faf8; color: #287f78; }
.loads-card-family-key .family-attention { border-color: #d7b978; background: #fff9ee; color: #8a5d11; }
.loads-cards-manager-summary {
  margin-top: 10px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
}
.loads-cards-list {
  max-height: min(460px, calc(100vh - 300px));
  margin-top: 6px;
}
.loads-card-option {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #e1e6ed;
  border-radius: 7px;
  background: #fff;
  padding: 5px 7px;
}
.loads-card-option.is-hidden { opacity: .58; background: #f5f7f9; }
.loads-card-family-dot {
  width: 7px;
  height: 24px;
  flex: 0 0 7px;
  border-radius: 999px;
  background: #c5ced8;
}
.loads-card-option.family-status .loads-card-family-dot { background: #5f8fbe; }
.loads-card-option.family-date .loads-card-family-dot,
.loads-card-option.family-pickup-date .loads-card-family-dot { background: #8c70b9; }
.loads-card-option.family-delivery-date .loads-card-family-dot { background: #4d8c5f; }
.loads-card-option.family-dispatcher .loads-card-family-dot { background: #4b9891; }
.loads-card-option.family-attention .loads-card-family-dot { background: #c29136; }
.loads-card-option-name {
  min-width: 120px;
  flex: 1 1 auto;
  display: grid;
}
.loads-card-option-name strong { color: var(--navy); font-size: 11px; }
.loads-card-option-name small { color: var(--muted); font-size: 9px; }
.loads-card-star-btn,
.loads-card-hide-btn {
  min-width: 54px;
  height: 27px;
  border: 1px solid #d8dfe8;
  border-radius: 5px;
  background: #f8fafc;
  color: var(--navy);
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}
.loads-card-star-btn.is-starred {
  border-color: #d7ae5b;
  background: #fff5d9;
  color: #7e570b;
}
.loads-card-create-note {
  display: grid;
  gap: 2px;
  margin-top: 10px;
  border: 1px dashed #cdd6e0;
  border-radius: 7px;
  background: #f8fafc;
  padding: 8px 10px;
}
.loads-card-create-note strong { color: var(--navy); font-size: 10px; }
.loads-card-create-note span { color: var(--muted); font-size: 9px; }
#loadsCardsSyncStatus { color: var(--muted); font-size: 10px; }

.loads-filter-options-popover {
  width: min(310px, calc(100vw - 16px));
  max-height: min(430px, calc(100vh - 16px));
  margin: 0;
  padding: 0;
  position: fixed;
  z-index: 2200;
  overflow: hidden;
  border: 1px solid #bdc9d6;
  border-radius: 7px;
  color: #344158;
  background: #fff;
  box-shadow: 0 16px 38px rgba(19, 44, 74, .2);
}
.loads-filter-options-popover:not(:popover-open) { display: none; }
.loads-filter-options-popover > header {
  min-height: 45px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #e2e8f0;
  padding: 8px 10px;
}
.loads-filter-options-popover > header div { min-width: 0; }
.loads-filter-options-popover > header strong,
.loads-filter-options-popover > header small { display: block; }
.loads-filter-options-popover > header strong { color: var(--navy); font-size: 11px; }
.loads-filter-options-popover > header small { margin-top: 2px; color: #748296; font-size: 9px; }
.loads-filter-options-popover > header button {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 5px;
  background: #f1f5f9;
  cursor: pointer;
}
.loads-filter-options-popover > header img { width: 13px; height: 13px; }
.loads-filter-options-list {
  max-height: 330px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  overflow-y: auto;
  padding: 5px;
}
.loads-filter-option {
  min-width: 0;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  border: 1px solid #cad5df;
  border-radius: 5px;
  color: #29405d;
  background: #fff;
  padding: 5px 7px;
  cursor: pointer;
  font: 800 10px/1 inherit;
}
.loads-filter-option span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.loads-filter-option strong {
  min-width: 21px;
  border-radius: 999px;
  background: #edf1f5;
  color: #526174;
  padding: 3px 4px;
  font-size: 8px;
  text-align: center;
}
.loads-filter-option:hover,
.loads-filter-option:focus-visible { border-color: #6f91b4; background: #f2f7fc; outline: none; }
.loads-filter-options-popover.family-time .loads-filter-option:hover,
.loads-filter-options-popover.family-time .loads-filter-option:focus-visible { border-color: #8f7bb3; background: #f8f5fc; }
.loads-filter-options-popover.family-dispatcher .loads-filter-option:hover,
.loads-filter-options-popover.family-dispatcher .loads-filter-option:focus-visible { border-color: #5b9e98; background: #f1faf8; }
.loads-filter-options-popover.family-attention .loads-filter-option:hover,
.loads-filter-options-popover.family-attention .loads-filter-option:focus-visible { border-color: #c29136; background: #fff9ee; }
.loads-filter-option.is-selected { border-color: #2b6dad; background: #e6f0fb; box-shadow: inset 0 0 0 1px #2b6dad; }
.loads-filter-options-popover.family-time .loads-filter-option.is-selected { border-color: #7452a6; background: #efe8f8; box-shadow: inset 0 0 0 1px #7452a6; }
.loads-filter-options-popover.family-dispatcher .loads-filter-option.is-selected { border-color: #287f78; background: #e3f4f1; box-shadow: inset 0 0 0 1px #287f78; }
.loads-filter-options-popover.family-attention .loads-filter-option.is-selected { border-color: #9a6810; background: #fff0ce; box-shadow: inset 0 0 0 1px #9a6810; }
.loads-filter-option.is-selected span::after { margin-left: 4px; content: "✓"; }
.loads-filter-options-popover > footer {
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-top: 1px solid #e2e8f0;
  background: #f8fafc;
  padding: 6px 8px;
}
.loads-filter-options-popover > footer span { color: #748296; font-size: 9px; font-weight: 750; }
.loads-filter-options-popover > footer button {
  min-height: 27px;
  border: 1px solid #b9c6d4;
  border-radius: 5px;
  color: #45566d;
  background: #fff;
  padding: 0 8px;
  cursor: pointer;
  font: 800 9px/1 inherit;
}
.loads-filter-options-popover > footer button:disabled { cursor: default; opacity: .5; }

@media (max-width: 760px) {
  .loads-list-panel { padding: 6px; }
  .loads-unified-header { align-items: stretch; flex-wrap: wrap; }
  .loads-title-block { width: 100%; min-width: 0; }
  .loads-add-load-menu { flex: 1 1 100%; }
  .loads-add-load-btn { width: 100%; }
  .loads-add-load-popover { width: min(276px, calc(100vw - 28px)); }
  .loads-header-import-drop { width: calc(50% - 3px); min-width: 0; flex: 1 1 210px; }
  .loads-unified-header > .dispatch-message-btn { flex: 1 1 150px; }
  .loads-search-input { width: 100%; min-width: 0; flex: 1 1 100%; }
  .loads-date-range-control { min-width: 0; flex: 1 1 100%; }
  .loads-date-range-popover { left: 0; right: auto; width: min(300px, calc(100vw - 28px)); }
  .loads-unified-header > #loadsCardsBtn,
  .loads-unified-header > #loadsColumnsBtn { flex: 1; }
  .loads-summary-compact {
    grid-template-columns: none;
    grid-template-rows: repeat(2, 28px);
    grid-auto-columns: 94px;
    grid-auto-flow: column;
    overflow-x: auto;
    padding-bottom: 3px;
    scroll-snap-type: x proximity;
  }
  .loads-summary-compact > * { scroll-snap-align: start; }
  .loads-filter-options-popover { width: min(310px, calc(100vw - 12px)); }
  .dispatch-message-dialog { width: calc(100vw - 14px); }
  .dispatch-message-card { padding: 22px 14px 16px; }
  .dispatch-stops-preview { grid-template-columns: 1fr; }
  .dispatch-review-schedule { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dispatch-match-preview { align-items: flex-start; flex-direction: column; gap: 3px; }
  .dispatch-manual-lookup { grid-template-columns: 1fr; align-items: stretch; }
  .dispatch-manual-lookup-row { flex-direction: column; }
  .dispatch-candidate { align-items: flex-start; flex-direction: column; gap: 3px; }
  .dispatch-candidate small { text-align: left; }
  .dispatch-message-actions { align-items: stretch; flex-direction: column; }
  .dispatch-message-actions > span:last-child { width: 100%; }
  .dispatch-message-actions button { flex: 1; }
  .loads-cards-dialog { width: calc(100vw - 14px); }
  .loads-cards-card { padding: 22px 14px 16px; }
  .loads-card-option { gap: 5px; padding: 5px; }
  .loads-card-option-name { min-width: 82px; }
  .loads-card-star-btn,
  .loads-card-hide-btn { min-width: 48px; }
  .loads-card-option .loads-column-order-actions { display: none; }
  .loads-cards-card .loads-columns-actions { align-items: stretch; flex-direction: column; }
  .loads-import-disclosure > summary > span:first-child { display: grid; gap: 1px; }
  .loads-import-intro { align-items: stretch; flex-direction: column; }
  .loads-list-panel > .loads-table-wrap {
    max-height: calc(100dvh - 285px);
  }
}

/* ---------- shared Bard workspace navigation ---------- */
.app-global-nav,
.app-global-nav *,
.app-mobile-nav,
.app-mobile-nav * {
  box-sizing: border-box;
}
.app-global-nav[hidden],
.app-mobile-nav[hidden],
.app-nav-backdrop[hidden],
.app-nav-drawer[hidden] {
  display: none !important;
}
.app-global-nav {
  position: relative;
  z-index: 1500;
  width: 100%;
  min-height: 70px;
  display: grid;
  grid-template-columns: minmax(158px, auto) minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 8px;
  border-bottom: 1px solid rgba(255,255,255,.13);
  background: #08264a;
  color: #fff;
  padding: 0 14px;
  box-shadow: 0 3px 12px rgba(7, 26, 52, .16);
}
.app-nav-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  text-decoration: none;
}
.app-nav-logo {
  width: 62px;
  height: 34px;
  flex: 0 0 auto;
  border-radius: 4px;
  background: #fff;
  object-fit: contain;
}
.app-nav-brand-copy {
  color: rgba(255,255,255,.74);
  font-size: 9px;
  font-weight: 850;
  line-height: 1.15;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.app-nav-mobile-title { display: none; }
.app-nav-links {
  min-width: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 2px;
  overflow: hidden;
}
.app-nav-link {
  position: relative;
  min-width: 58px;
  max-width: 92px;
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border-left: 1px solid transparent;
  border-right: 1px solid transparent;
  color: rgba(255,255,255,.86);
  padding: 8px 5px 7px;
  font-size: 10px;
  font-weight: 760;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.app-nav-link:hover,
.app-nav-link:focus-visible {
  background: rgba(255,255,255,.08);
  color: #fff;
  outline: none;
}
.app-nav-link.is-active {
  border-left-color: rgba(255,255,255,.07);
  border-right-color: rgba(255,255,255,.07);
  background: #174a80;
  color: #fff;
  box-shadow: inset 0 -3px 0 #f2c230;
}
.app-nav-icon,
.app-nav-action-icon,
.app-nav-chevron,
.app-nav-external-icon,
.app-nav-close-icon,
.app-mobile-nav-icon {
  display: block;
  flex: 0 0 auto;
  filter: brightness(0) invert(1);
}
.app-nav-icon { width: 19px; height: 19px; }
.app-nav-external-icon { width: 10px; height: 10px; opacity: .78; }
.app-nav-link > .app-nav-external-icon {
  position: absolute;
  right: 5px;
  bottom: 10px;
}
.app-nav-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.app-nav-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding-left: 8px;
  border-left: 1px solid rgba(255,255,255,.14);
}
.app-nav-all-button,
.app-nav-signout {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 6px;
  background: rgba(255,255,255,.06);
  color: #fff;
  padding: 0 8px;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
.app-nav-all-button:hover,
.app-nav-all-button:focus-visible,
.app-nav-signout:hover,
.app-nav-signout:focus-visible {
  border-color: rgba(255,255,255,.38);
  background: rgba(255,255,255,.12);
  outline: none;
}
.app-nav-action-icon { width: 17px; height: 17px; }
.app-nav-chevron { width: 12px; height: 12px; transition: transform .16s ease; }
.app-global-nav.menu-open .app-nav-chevron { transform: rotate(180deg); }
.app-nav-signout {
  width: 36px;
  padding: 0;
}
.app-nav-account {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}
.app-nav-avatar {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}
.app-nav-account-copy {
  min-width: 0;
  max-width: 98px;
}
.app-nav-account-copy strong,
.app-nav-account-copy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.app-nav-account-copy strong { color: #fff; font-size: 10px; font-weight: 800; }
.app-nav-account-copy small { margin-top: 2px; color: rgba(255,255,255,.6); font-size: 8px; }
.app-nav-drawer {
  position: absolute;
  top: calc(100% + 8px);
  right: 12px;
  z-index: 1600;
  width: min(760px, calc(100vw - 24px));
  border: 1px solid #d7e0ea;
  border-radius: 8px;
  background: #fff;
  color: #172033;
  box-shadow: 0 20px 50px rgba(7, 30, 58, .24);
  overflow: hidden;
}
.app-nav-drawer-title {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #e2e8f0;
  padding: 0 12px 0 14px;
}
.app-nav-drawer-title strong { color: #17345f; font-size: 14px; }
.app-nav-drawer-title button {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
}
.app-nav-drawer-title button:hover { background: #eef3f8; }
.app-nav-close-icon { width: 17px; height: 17px; filter: none; }
.app-nav-drawer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 10px 6px;
}
.app-nav-drawer-group {
  min-width: 0;
  padding: 0 8px;
  border-right: 1px solid #e5eaf0;
}
.app-nav-drawer-group:last-child { border-right: 0; }
.app-nav-drawer-heading {
  color: #76849a;
  padding: 4px 6px 7px;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.app-nav-drawer-link {
  min-width: 0;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-radius: 6px;
  color: #25364f;
  padding: 7px 6px;
  font-size: 11px;
  font-weight: 750;
  text-decoration: none;
}
.app-nav-drawer-link:hover,
.app-nav-drawer-link:focus-visible { background: #edf3f9; outline: none; }
.app-nav-drawer-link.is-active { background: #e8f0fa; color: #123e70; }
.app-nav-drawer-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}
.app-nav-drawer-link .app-nav-external-icon { filter: none; opacity: .58; }
.app-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1490;
  border: 0;
  background: transparent;
  padding: 0;
}
.app-mobile-nav { display: none; }
.app-nav-legacy,
body.global-nav-enabled .owner-actions {
  display: none !important;
}

/* The old navy banners become compact page context rows below global navigation. */
body.global-nav-enabled .owner-wrap { padding-top: 8px; }
body.global-nav-enabled .dwrap { padding-top: 8px; }
body.global-nav-enabled .management-shell,
body.global-nav-enabled .loads-shell { padding-top: 8px; }

/* ---------- Track & Trace Stage 1 ---------- */
.tracker-shell {
  height: calc(100dvh - 70px);
  min-height: calc(100vh - 70px);
  padding-bottom: 8px;
}
.tracker-panel {
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: hidden;
}
.tracker-header .loads-title-block {
  min-width: 190px;
}
.tracker-search {
  max-width: 520px;
}
.tracker-delivered-toggle[aria-pressed="true"] {
  border-color: #6f8298;
  background: #eaf0f6;
  color: #17345f;
}
.tracker-summary {
  height: 75px;
  min-height: 75px;
  flex: 0 0 75px;
  grid-template-rows: repeat(2, 28px);
  grid-auto-columns: 128px;
  grid-auto-flow: column;
  margin-top: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 3px;
}
.tracker-card-board .tracker-filter-card {
  border-left-width: 3px;
}
.tracker-card-board .tracker-filter-card[data-tracker-card] {
  cursor: grab;
}
.tracker-card-board .tracker-filter-card[data-tracker-card]:active {
  cursor: grabbing;
}
.tracker-card-board .family-overview {
  border-color: #9aa9b8;
  background: #f4f6f8;
}
.tracker-card-board .family-workflow {
  border-color: #8fb4d7;
  background: #f1f7fd;
}
.tracker-card-board .family-timing,
.tracker-card-board .family-pickup-date {
  border-color: #b7a3d8;
  background: #f7f3fc;
}
.tracker-card-board .family-delivery-date {
  border-color: #93bea0;
  background: #f2f9f4;
}
.tracker-card-board .family-readiness {
  border-color: #7dbbb3;
  background: #eef9f7;
}
.tracker-card-board .family-attention {
  border-color: #d7b46b;
  background: #fff8e9;
}
.tracker-card-board .family-overview.is-selected {
  border-color: #526b84;
  background: #e9eef3;
  box-shadow: inset 0 0 0 1px #526b84;
}
.tracker-card-board .family-workflow.is-selected {
  border-color: #2b6dad;
  background: #e5f0fb;
  box-shadow: inset 0 0 0 1px #2b6dad;
}
.tracker-card-board .family-timing.is-selected,
.tracker-card-board .family-pickup-date.is-selected {
  border-color: #7552a7;
  background: #eee7f8;
  box-shadow: inset 0 0 0 1px #7552a7;
}
.tracker-card-board .family-delivery-date.is-selected {
  border-color: #34754a;
  background: #e3f2e7;
  box-shadow: inset 0 0 0 1px #34754a;
}
.tracker-card-board .family-readiness.is-selected {
  border-color: #287f78;
  background: #dff2ef;
  box-shadow: inset 0 0 0 1px #287f78;
}
.tracker-card-board .family-attention.is-selected {
  border-color: #99660c;
  background: #ffefc9;
  box-shadow: inset 0 0 0 1px #99660c;
}
.tracker-card-board .tracker-filter-card.is-starred {
  border-top: 2px solid #d49a22;
}
.tracker-card-board .tracker-filter-card.is-dragging,
.tracker-cards-card [data-tracker-card-option].is-dragging {
  opacity: .42;
}
.tracker-card-board .tracker-filter-card.is-drag-target,
.tracker-cards-card [data-tracker-card-option].is-drag-target {
  outline: 2px solid #1f5f9e;
  outline-offset: -2px;
}
.tracker-card-family-key .family-workflow {
  border-color: #8fb4d7;
  background: #f1f7fd;
  color: #255d96;
}
.tracker-card-family-key .family-timing,
.tracker-card-family-key .family-pickup-date {
  border-color: #b7a3d8;
  background: #f7f3fc;
  color: #6c4aa0;
}
.tracker-card-family-key .family-delivery-date {
  border-color: #93bea0;
  background: #f2f9f4;
  color: #34754a;
}
.tracker-card-family-key .family-readiness {
  border-color: #7dbbb3;
  background: #eef9f7;
  color: #287f78;
}
.tracker-card-family-key .family-attention {
  border-color: #d7b46b;
  background: #fff8e9;
  color: #8a5d11;
}
.tracker-cards-card .loads-card-option.family-workflow .loads-card-family-dot {
  background: #5f8fbe;
}
.tracker-cards-card .loads-card-option.family-timing .loads-card-family-dot,
.tracker-cards-card .loads-card-option.family-pickup-date .loads-card-family-dot {
  background: #8c70b9;
}
.tracker-cards-card .loads-card-option.family-delivery-date .loads-card-family-dot {
  background: #4d8c5f;
}
.tracker-cards-card .loads-card-option.family-readiness .loads-card-family-dot {
  background: #4b9891;
}
.tracker-cards-card .loads-card-option.family-attention .loads-card-family-dot {
  background: #c29136;
}
#trackerCardsSyncStatus {
  color: var(--muted);
  font-size: 10px;
}
.tracker-list-head,
.tracker-column-filters,
.tracker-row > summary {
  display: grid;
  grid-template-columns: var(--tracker-grid-template);
  align-items: center;
  gap: 0;
  width: 100%;
}
.tracker-table-surface {
  position: relative;
  width: 100%;
  min-width: var(--tracker-table-min-width, 910px);
}
.tracker-table-viewport {
  position: relative;
  isolation: isolate;
  min-height: 0;
  flex: 1 1 auto;
  max-height: none;
  margin-top: 0;
  overflow: auto;
  border: 1px solid #ccd6e2;
  border-radius: 7px;
  background: #fff;
  scrollbar-color: #aeb9c6 transparent;
  scrollbar-width: thin;
}
.tracker-table-head {
  position: sticky;
  top: 0;
  z-index: 8;
  width: 100%;
  min-width: 0;
  background: #f7f9fb;
}
.tracker-list-head {
  position: relative;
  top: auto;
  z-index: auto;
  height: 30px;
  min-height: 30px;
  border-bottom: 1px solid #ccd6e2;
  background: #edf2f7;
  color: #4b6078;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.tracker-list-head > span {
  position: relative;
  min-width: 0;
  align-self: stretch;
  border-right: 1px solid #d7e0e9;
}
.tracker-column-head > button {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0 15px 0 9px;
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-align: left;
  text-overflow: ellipsis;
  text-transform: inherit;
  white-space: nowrap;
  cursor: pointer;
}
.tracker-column-head > button:hover {
  background: #e2e9f0;
  color: #17345f;
}
.tracker-column-head > i {
  position: absolute;
  top: 0;
  right: -3px;
  bottom: 0;
  z-index: 2;
  width: 7px;
  cursor: col-resize;
}
.tracker-column-head > i::after {
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 3px;
  width: 1px;
  background: #aebcca;
  content: "";
}
.tracker-column-spacer {
  position: sticky !important;
  right: 0;
  z-index: 3;
  border-right: 0 !important;
  background: #edf2f7;
}
.tracker-column-filters {
  position: relative;
  top: auto;
  z-index: auto;
  height: 32px;
  min-height: 32px;
  border-bottom: 1px solid #ccd6e2;
  background: #f7f9fb;
}
.tracker-column-filters > label {
  min-width: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  border-right: 1px solid #e1e7ed;
  padding: 3px 5px;
}
.tracker-column-filters > span:last-child {
  position: sticky;
  right: 0;
  z-index: 3;
  align-self: stretch;
  background: #f7f9fb;
}
.tracker-column-filters .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.tracker-column-filters input,
.tracker-column-filters select {
  width: 100%;
  min-width: 0;
  height: 23px;
  border: 1px solid #d2dbe5;
  border-radius: 4px;
  background: #fff;
  color: #26384d;
  padding: 0 6px;
  font-size: 9px;
  outline: none;
}
.tracker-column-filters select {
  padding-right: 18px;
  cursor: pointer;
}
.tracker-column-filters input:focus,
.tracker-column-filters select:focus {
  border-color: #6e9bc3;
  box-shadow: 0 0 0 2px rgba(43, 111, 173, .11);
}
.tracker-rows {
  width: 100%;
  background: #fff;
}
.tracker-row {
  border-bottom: 1px solid #dde4ec;
  background: #fff;
}
.tracker-row:last-child {
  border-bottom: 0;
}
.tracker-row > summary {
  position: relative;
  min-height: 45px;
  cursor: default;
  list-style: none;
}
.tracker-row[class*="load-row-status-"] > summary {
  background: var(--load-row-bg);
}
.tracker-row[class*="load-row-status-"] > summary::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 4px;
  background: var(--load-rail);
  content: "";
  pointer-events: none;
}
.tracker-row > summary::-webkit-details-marker {
  display: none;
}
.tracker-row[class*="load-row-status-"] > summary:hover {
  background: var(--load-row-bg);
  filter: brightness(.985);
}
.tracker-row[open] > summary {
  border-bottom: 1px solid #d7e1ec;
  background: var(--load-row-bg);
}
.tracker-row > summary > span {
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  border-right: 1px solid #e5eaf0;
  padding: 4px 9px;
  overflow: hidden;
}
.tracker-row > summary > span:last-child {
  border-right: 0;
}
.tracker-row summary strong,
.tracker-row summary small,
.tracker-row summary em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracker-row summary strong {
  color: #1f2e40;
  font-size: 10.5px;
  font-weight: 800;
}
.tracker-row summary small {
  color: #7a8796;
  font-size: 8.5px;
  font-weight: 600;
}
.tracker-stop-address {
  color: #4f6278 !important;
  font-size: 8px !important;
  font-weight: 700 !important;
}
.tracker-stop-appointment {
  color: #7a8796;
}
.tracker-driver-cell {
  flex-direction: row !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 8px !important;
  text-align: left;
}
.tracker-equipment-cell {
  width: 43px;
  flex: 0 0 43px;
  display: grid !important;
  justify-items: stretch;
  gap: 1px !important;
  text-align: center;
}
.tracker-equipment-cell > b {
  min-width: 0;
  border-radius: 5px;
  background: #e8eef5;
  color: #17345f;
  padding: 4px;
  font-size: 11px;
  text-align: center;
}
.tracker-equipment-cell > small {
  color: #7a8796;
  font-size: 7.5px !important;
  font-weight: 750 !important;
  letter-spacing: .01em;
  text-align: center;
}
.tracker-driver-meta,
.tracker-status-cell,
.tracker-next-load-cell {
  min-width: 0;
}
.tracker-driver-meta {
  display: grid;
  gap: 1px;
  justify-items: start;
  text-align: left;
}
.tracker-load-cell > strong {
  color: #155da3 !important;
}
.tracker-load-meta {
  min-width: 0;
  display: flex !important;
  align-items: center;
  gap: 4px;
}
.tracker-load-meta > small {
  min-width: 0;
}
.tracker-gmail-search {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: grid;
  place-items: center;
  border: 1px solid #d4dce6;
  border-radius: 5px;
  background: rgba(255, 255, 255, .88);
  padding: 0;
  text-decoration: none;
  cursor: pointer;
  transition: border-color .12s ease, background .12s ease, transform .12s ease;
}
.tracker-gmail-search:hover {
  border-color: #aebdcd;
  background: #fff;
  transform: translateY(-1px);
}
.tracker-gmail-search:focus-visible {
  outline: 2px solid rgba(31, 95, 158, .34);
  outline-offset: 1px;
}
.tracker-gmail-search img {
  width: 14px;
  height: 14px;
  display: block;
}
.tracker-status-cell {
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 4px !important;
}
.tracker-status-trigger {
  appearance: none;
  font-family: inherit;
  cursor: pointer;
  transition: box-shadow .12s ease, transform .12s ease;
}
.tracker-status-trigger:hover,
.tracker-status-trigger[aria-expanded="true"] {
  box-shadow: 0 0 0 2px rgba(39, 83, 128, .16);
  transform: translateY(-1px);
}
.tracker-status-trigger:focus-visible {
  outline: 2px solid rgba(31, 95, 158, .32);
  outline-offset: 1px;
}
.tracker-delivered-hide {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: grid;
  place-items: center;
  border: 1px solid #c6d0db;
  border-radius: 5px;
  background: rgba(255,255,255,.76);
  padding: 0;
  cursor: pointer;
}
.tracker-delivered-hide:hover,
.tracker-delivered-hide:focus-visible {
  border-color: #71849a;
  background: #fff;
  outline: none;
  box-shadow: 0 0 0 2px rgba(39, 83, 128, .13);
}
.tracker-delivered-hide img {
  width: 12px;
  height: 12px;
  opacity: .68;
}
.tracker-status-menu {
  width: min(292px, calc(100vw - 20px));
}
.tracker-next-load-cell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  gap: 1px !important;
  overflow: hidden;
  text-align: left;
}
.tracker-next-load-cell strong,
.tracker-next-load-cell small {
  grid-column: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracker-next-load-cell strong {
  color: #155da3 !important;
  font-size: 9.5px !important;
}
.tracker-next-load-cell small {
  color: #5f6f81 !important;
  font-size: 8px !important;
}
.tracker-next-load-cell em {
  grid-column: 1;
  color: #6c7c8f;
  font-size: 8px;
  font-style: normal;
  font-weight: 800;
}
.tracker-none {
  color: #98a3af;
  font-size: 8.5px;
}
.tracker-status {
  width: fit-content;
  max-width: 86px;
  border: 1px solid #cbd6e2;
  border-radius: 999px;
  background: #f4f7fa;
  color: #33485f;
  padding: 3px 6px;
  font-size: 8px;
  font-weight: 900;
  white-space: nowrap;
}
.tracker-status.status-in-transit,
.tracker-status.status-dispatched {
  border-color: #bad1e8;
  background: #edf6ff;
  color: #155b99;
}
.tracker-status.status-covered {
  border-color: #bad1e8;
  background: #f1f7fd;
  color: #397bb6;
}
.tracker-status.status-at-pickup {
  border-color: #e4c991;
  background: #fff8e8;
  color: #865b09;
}
.tracker-status.status-at-delivery {
  border-color: #b8d8c0;
  background: #eef9f1;
  color: #1d7138;
}
.tracker-status.status-needs-status,
.tracker-status.status-open {
  border-color: #e2bebe;
  background: #fff4f4;
  color: #9b2f2f;
}
.tracker-status.status-delivered {
  border-color: #cbd3dc;
  background: #f1f3f6;
  color: #5f6d7c;
}
.tracker-row[class*="load-row-status-"] .tracker-status {
  border-color: var(--load-status-accent);
  background: var(--load-status-chip-bg);
  color: var(--load-status-text);
}
.tracker-row-chevron {
  position: sticky;
  right: 0;
  z-index: 3;
  width: 28px;
  height: 100%;
  min-height: 45px;
  display: grid;
  place-items: center;
  align-self: stretch;
  align-items: center !important;
  border: 0;
  background: var(--load-row-bg, #fff);
  padding: 0 6px !important;
  cursor: pointer;
}
.tracker-row-chevron:hover,
.tracker-row-chevron:focus-visible {
  background: #e3edf7;
  outline: none;
}
.tracker-row-chevron img {
  width: 14px;
  height: 14px;
  opacity: .58;
  transition: transform .14s ease;
}
.tracker-row[open] .tracker-row-chevron img {
  transform: rotate(180deg);
}
.tracker-detail {
  padding: 11px 13px 15px;
  background: #fbfcfe;
}
.tracker-detail-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.tracker-detail-top > div:first-child {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.tracker-detail-top strong {
  color: #17345f;
  font-size: 12px;
}
.tracker-detail-top span {
  overflow: hidden;
  color: #7b8796;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracker-actions {
  display: flex;
  gap: 5px;
}
.tracker-actions .loads-tool-btn,
.tracker-actions .quick-save {
  min-height: 27px;
  height: 27px;
  padding: 0 9px;
  font-size: 9px;
}
.tracker-workflow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(70px, 1fr));
  gap: 4px;
  margin: 16px 2px 19px;
}
.tracker-workflow::after {
  position: absolute;
  left: 7.1%;
  right: 7.1%;
  bottom: 4px;
  height: 1px;
  background: #d6dfe9;
  content: "";
  z-index: 0;
}
.tracker-step {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 7px;
  color: #9aa5b1;
  font-size: 8.5px;
  font-weight: 700;
  text-align: center;
}
.tracker-step span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracker-step i {
  width: 9px;
  height: 9px;
  display: block;
  border: 2px solid #d3dce6;
  border-radius: 50%;
  background: #fff;
  z-index: 1;
}
.tracker-step.is-done {
  color: #3d668f;
}
.tracker-step.is-done i {
  border-color: #3b7ab5;
  background: #3b7ab5;
}
.tracker-step.is-current {
  color: #17345f;
  font-weight: 900;
}
.tracker-step.is-current i {
  width: 13px;
  height: 13px;
  margin-bottom: -2px;
  border: 3px solid #dceafd;
  background: #1f68ad;
  box-shadow: 0 0 0 1px #1f68ad;
}
.tracker-route {
  display: grid;
  grid-template-columns: minmax(155px, auto) minmax(120px, 1fr) minmax(155px, auto);
  align-items: center;
  gap: 11px;
}
.tracker-route-end {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}
.tracker-route-end.is-delivery {
  justify-content: flex-end;
  text-align: right;
}
.tracker-route-end > b {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #17345f;
  color: #fff;
  font-size: 10px;
}
.tracker-route-end span {
  min-width: 0;
  display: grid;
  gap: 1px;
}
.tracker-route-end strong {
  overflow: hidden;
  color: #25364a;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tracker-route-end small {
  color: #8994a1;
  font-size: 8px;
  white-space: nowrap;
}
.tracker-route-line {
  position: relative;
  height: 30px;
}
.tracker-route-line::before,
.tracker-route-line > i {
  position: absolute;
  top: 15px;
  left: 0;
  height: 2px;
  content: "";
}
.tracker-route-line::before {
  right: 0;
  background: #d1dbe6;
}
.tracker-route-line > i {
  background: #2a73b5;
}
.tracker-route-line > span {
  position: absolute;
  top: 4px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #17345f;
  color: #fff;
  padding: 2px 6px;
  font-size: 7.5px;
  font-weight: 850;
  white-space: nowrap;
}
.tracker-history-divider {
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-top: 2px solid #b9c6d4;
  border-bottom: 1px solid #d7dfe8;
  background: #edf1f5;
  color: #526377;
  padding: 0 10px;
  font-size: 9px;
}
.tracker-history-divider strong {
  color: #31465e;
  font-size: 10px;
  text-transform: uppercase;
}
.tracker-delivered-row > summary {
  background: #fafbfc;
  opacity: .82;
}
.tracker-clear-empty {
  margin-top: 9px;
}

@media (max-width: 700px) {
  .tracker-shell {
    height: auto;
    min-height: calc(100dvh - 116px);
  }
  .tracker-header {
    flex-wrap: wrap;
  }
  .tracker-header .loads-title-block,
  .tracker-search {
    width: 100%;
    max-width: none;
  }
  .tracker-header .loads-tool-btn {
    flex: 1 1 140px;
  }
  .tracker-table-viewport {
    max-height: none;
    overflow: auto;
  }
  .tracker-detail-top {
    align-items: stretch;
    flex-direction: column;
  }
  .tracker-actions > * {
    flex: 1;
  }
  .tracker-workflow {
    grid-template-columns: repeat(4, minmax(60px, 1fr));
    row-gap: 12px;
  }
  .tracker-workflow::after {
    display: none;
  }
  .tracker-route {
    grid-template-columns: 1fr;
  }
  .tracker-route-end.is-delivery {
    justify-content: flex-start;
    text-align: left;
  }
  .tracker-route-end.is-delivery > span {
    order: 2;
  }
  .tracker-route-end.is-delivery > b {
    order: 1;
  }
}

/* Dense assignment workspace: fit desktop lanes and expose unassigned trucks in two rows. */
@media (min-width: 701px) {
  #assignModal .assignment-unassigned-shelf {
    flex-basis: 116px;
    padding: 7px 10px 6px;
  }
  #assignModal .assignment-unassigned-column {
    grid-template-columns: 148px minmax(0, 1fr);
  }
  #assignModal .assignment-unassigned-column .assignment-column-head {
    padding: 7px;
  }
  #assignModal .assignment-unassigned-column .assignment-dropzone {
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-auto-flow: column;
    grid-auto-columns: 90px;
    align-items: stretch;
    gap: 5px;
    padding: 6px;
  }
  #assignModal .assignment-unassigned-column .assignment-truck {
    width: auto;
    min-width: 0;
  }
  #assignModal .assignment-section-head {
    min-height: 29px;
    padding: 4px 11px;
  }
  #assignModal .assignment-dispatcher-scroll {
    padding: 6px 10px 9px;
  }
  #assignModal .assignment-dispatcher-grid {
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(var(--assignment-column-count, 1), minmax(102px, 1fr));
    grid-auto-flow: initial;
    grid-auto-columns: initial;
    gap: 6px;
  }
  #assignModal .assignment-column-head {
    min-height: 46px;
    gap: 5px;
    padding: 6px;
  }
  #assignModal .assignment-name {
    display: -webkit-box;
    overflow: hidden;
    font-size: 11px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  #assignModal .assignment-name small {
    font-size: 9px;
  }
  #assignModal .assignment-count {
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    font-size: 10px;
  }
  #assignModal .assignment-dropzone {
    gap: 4px;
    padding: 5px;
  }
  #assignModal .assignment-truck {
    gap: 3px;
    padding: 5px;
  }
  #assignModal .assignment-truck strong {
    font-size: 12px;
  }
  #assignModal .assignment-truck span {
    font-size: 9px;
  }
}

body.global-nav-enabled .banner {
  min-height: 48px;
  align-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #172033;
  padding: 7px 0 9px;
  box-shadow: none;
}
body.global-nav-enabled .banner .eyebrow { display: none; }

/* Worker profiles --------------------------------------------------------- */
.worker-profile-page {
  min-height: 100vh;
  background: #edf2f7;
}
.worker-profile-shell {
  width: min(1480px, calc(100% - 32px));
  margin: 0 auto;
  padding: 18px 0 42px;
}
.worker-profile-back-row {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
  color: #6d7b8b;
  font-size: 12px;
  font-weight: 700;
}
.worker-profile-back-row a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #174f80;
  text-decoration: none;
}
.worker-profile-back-row img { width: 15px; height: 15px; }
.worker-back-icon { transform: rotate(180deg); }
.worker-profile-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 126px;
  border: 1px solid #dbe4ed;
  border-radius: 12px 12px 0 0;
  background: linear-gradient(135deg, #fff 0%, #f7fbff 100%);
  padding: 22px 24px;
  box-shadow: 0 8px 25px rgba(23, 52, 95, .07);
}
.worker-profile-avatar-shell {
  position: relative;
  width: 76px;
  height: 76px;
  flex: 0 0 auto;
}
.worker-profile-avatar {
  width: 76px;
  height: 76px;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 4px solid #e5f0f9;
  border-radius: 50%;
  background: #17345f;
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .04em;
}
.worker-profile-avatar > span:first-child {
  position: relative;
  z-index: 1;
}
.worker-profile-avatar > img {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.worker-profile-avatar-edit {
  position: absolute;
  right: -5px;
  bottom: -4px;
  z-index: 5;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #0f67a8;
  box-shadow: 0 3px 10px rgba(18, 52, 88, .24);
  cursor: pointer;
}
.worker-profile-avatar-edit img {
  width: 13px;
  height: 13px;
  filter: brightness(0) invert(1);
}
.worker-profile-avatar-edit:hover,
.worker-profile-avatar-edit:focus-visible {
  background: #174f80;
  outline: 2px solid #86b9df;
  outline-offset: 1px;
}
.worker-profile-avatar-drop-hint {
  position: absolute !important;
  inset: 0;
  z-index: 4 !important;
  display: none;
  place-items: center;
  align-content: center;
  gap: 3px;
  background: rgba(16, 55, 95, .88);
  color: #fff;
  font-size: 9px;
  letter-spacing: 0;
}
.worker-profile-avatar-drop-hint img {
  position: static;
  width: 18px;
  height: 18px;
  filter: brightness(0) invert(1);
}
.worker-profile-avatar-shell.is-photo-dragover .worker-profile-avatar {
  box-shadow: 0 0 0 4px #8ed0f3;
}
.worker-profile-avatar-shell.is-photo-dragover .worker-profile-avatar-drop-hint {
  display: grid;
}
.worker-profile-avatar-shell:not([data-worker-photo-dropzone]) .worker-profile-avatar-edit,
.worker-profile-avatar-shell:not([data-worker-photo-dropzone]) .worker-profile-avatar-drop-hint {
  display: none;
}
.worker-profile-kicker {
  color: #1680b5;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.worker-profile-identity h1 {
  margin: 4px 0 10px;
  color: #12263f;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1;
  letter-spacing: -.035em;
}
.worker-profile-meta,
.worker-profile-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.worker-dispatcher-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 25px;
  border: 1px solid #cde1f0;
  border-radius: 999px;
  background: #eef7fc;
  padding: 0 10px;
  color: #174f80;
  font-size: 11px;
}
.worker-dispatcher-badge[hidden] { display: none; }
.worker-dispatcher-badge img { width: 13px; height: 13px; }
.worker-profile-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #dbe4ed;
  border-top: 0;
  background: #fff;
  box-shadow: 0 8px 25px rgba(23, 52, 95, .05);
}
.worker-profile-stats > div {
  min-height: 76px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  border-right: 1px solid #e5ebf1;
  padding: 12px 20px;
}
.worker-profile-stats > div:last-child { border-right: 0; }
.worker-profile-stats span,
.worker-card-head span,
.worker-embed-head span {
  color: #7d8b99;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.worker-profile-stats strong {
  overflow: hidden;
  color: #17345f;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.worker-profile-tabs {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  overflow-x: auto;
  border: 1px solid #dbe4ed;
  border-top: 0;
  background: #fff;
  padding: 0 15px;
}
.worker-profile-tabs button {
  position: relative;
  min-height: 48px;
  border: 0;
  background: transparent;
  padding: 0 15px;
  color: #647383;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}
.worker-profile-tabs button::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 0;
  left: 10px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: transparent;
}
.worker-profile-tabs button.is-active { color: #17345f; }
.worker-profile-tabs button.is-active::after { background: #1680b5; }

/* Driver profile: audited scheduled additions and deductions. */
.driver-schedules-workspace {
  overflow: hidden;
  border: 1px solid #d9e1eb;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(20, 43, 76, .05);
}
.driver-schedules-workspace > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  border-bottom: 1px solid #e2e7ee;
  padding: 18px 20px 15px;
}
.driver-schedules-eyebrow {
  color: #16804c;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.driver-schedules-workspace h2 { margin: 4px 0 0; color: #17233a; font-size: 19px; }
.driver-schedules-workspace header p { margin: 5px 0 0; color: #65748c; font-size: 12px; }
.driver-schedule-add {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  border: 1px solid #26955b;
  border-radius: 6px;
  background: #26955b;
  color: #fff;
  padding: 7px 12px;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.driver-schedule-add:hover { background: #1f7e4c; }
.driver-schedule-add img { width: 15px; filter: brightness(0) invert(1); }
.driver-schedule-banner {
  margin: 12px 20px 0;
  border: 1px solid #cbd6e4;
  border-radius: 6px;
  background: #f6f9fc;
  color: #516078;
  padding: 9px 11px;
  font-size: 12px;
}
.driver-schedule-banner.is-error { border-color: #efc5c1; background: #fff4f3; color: #a52d27; }
.driver-schedules-table-wrap { overflow: auto; }
.driver-schedules-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 11px;
}
.driver-schedules-table th {
  border-bottom: 1px solid #dde4ed;
  background: #f7f9fc;
  color: #66748a;
  padding: 9px 10px;
  text-align: left;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.driver-schedules-table th:nth-child(1) { width: 12%; }
.driver-schedules-table th:nth-child(2) { width: 10%; }
.driver-schedules-table th:nth-child(3) { width: 14%; }
.driver-schedules-table th:nth-child(4) { width: 18%; }
.driver-schedules-table th:nth-child(5),
.driver-schedules-table th:nth-child(6) { width: 8%; }
.driver-schedules-table th:nth-child(7) { width: 7%; }
.driver-schedules-table th:nth-child(8) { width: 13%; }
.driver-schedules-table th:nth-child(9) { width: 10%; }
.driver-schedules-table td {
  border-bottom: 1px solid #e6ebf1;
  color: #25334c;
  padding: 10px;
  vertical-align: middle;
}
.driver-schedules-table td > strong,
.driver-schedules-table td > span { display: block; }
.driver-schedules-table td > strong { font-size: 11px; }
.driver-schedules-table td > span { margin-top: 3px; color: #718098; font-size: 9px; }
.driver-schedule-amount strong { font-variant-numeric: tabular-nums; }
.driver-schedule-amount.is-addition strong { color: #16804c; }
.driver-schedule-amount.is-deduction strong { color: #b3332d; }
.driver-schedule-progress i {
  display: block;
  width: 100%;
  height: 4px;
  overflow: hidden;
  margin-top: 6px;
  border-radius: 999px;
  background: #e6ebf0;
}
.driver-schedule-progress i b { display: block; height: 100%; border-radius: inherit; background: #2d9b5e; }
.driver-schedule-status {
  display: inline-flex !important;
  width: fit-content;
  border-radius: 999px;
  background: #edf0f4;
  color: #657184 !important;
  padding: 3px 7px;
  font-size: 9px !important;
  font-weight: 800;
}
.driver-schedule-status.is-active { background: #e6f5eb; color: #197742 !important; }
.driver-schedule-status.is-inactive { background: #f2f4f7; color: #667085 !important; }
.driver-schedule-status.is-completed { background: #eef4ff; color: #2952a3 !important; }
.driver-schedule-notes { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #65748c !important; }
.driver-schedule-actions { white-space: nowrap; }
.driver-schedule-actions button {
  border: 0;
  background: transparent;
  color: #1674ca;
  padding: 4px 5px;
  cursor: pointer;
  font: inherit;
  font-size: 10px;
  font-weight: 750;
}
.driver-schedule-actions button:hover { text-decoration: underline; }
.driver-schedule-actions .driver-schedule-icon-btn {
  display: inline-grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 5px;
}
.driver-schedule-actions .driver-schedule-icon-btn:hover { background: #eaf7ee; }
.driver-schedule-actions img { width: 13px; }
.driver-schedules-empty { display: grid; gap: 4px; padding: 34px 20px; color: #6a7890; text-align: center; }
.driver-schedules-empty strong { color: #263550; font-size: 13px; }
.driver-schedules-empty span { font-size: 11px; }
.driver-schedules-workspace > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #f8fafc;
  color: #6a7890;
  padding: 9px 20px;
  font-size: 10px;
}

.driver-schedule-dialog,
.driver-schedule-history-dialog {
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  overflow: auto;
  inset: 0;
  margin: auto;
  border: 0;
  border-radius: 10px;
  padding: 0;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .32);
}
.driver-schedule-dialog::backdrop,
.driver-schedule-history-dialog::backdrop { background: rgba(15, 23, 42, .52); }
.driver-schedule-form { margin: 0; background: #fff; }
.driver-schedule-form > header,
.driver-schedule-history-dialog header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid #dfe5ed;
  padding: 17px 20px 14px;
}
.driver-schedule-form header span,
.driver-schedule-history-dialog header span { color: #16804c; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.driver-schedule-form h2,
.driver-schedule-history-dialog h2 { margin: 4px 0 0; color: #17233a; font-size: 20px; }
.driver-schedule-form header p { margin: 4px 0 0; color: #68778e; font-size: 11px; }
.driver-schedule-form header button,
.driver-schedule-history-dialog header button {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid #d5dde7;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}
.driver-schedule-form header img,
.driver-schedule-history-dialog header img { width: 15px; }
.driver-schedule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  padding: 18px 20px;
}
.driver-schedule-grid label { display: grid; gap: 6px; color: #4b5b73; font-size: 11px; font-weight: 750; }
.driver-schedule-grid label > span em { color: #8b97a8; font-style: normal; font-weight: 500; }
.driver-schedule-grid input,
.driver-schedule-grid select,
.driver-schedule-grid textarea {
  width: 100%;
  min-height: 39px;
  box-sizing: border-box;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #1f2c44;
  padding: 8px 10px;
  font: inherit;
  font-size: 12px;
}
.driver-schedule-grid textarea { min-height: 65px; resize: vertical; }
.driver-schedule-wide { grid-column: 1 / -1; }
.driver-schedule-active { align-self: end; display: flex !important; min-height: 39px; align-items: center; gap: 8px !important; }
.driver-schedule-active input { width: 17px; min-height: 17px; }
.driver-schedule-money-input { position: relative; }
.driver-schedule-money-input b { position: absolute; top: 11px; left: 10px; color: #7a8799; }
.driver-schedule-money-input input { padding-left: 25px; }
.driver-schedule-error { margin: 0 20px 14px; border: 1px solid #efc5c1; border-radius: 6px; background: #fff4f3; color: #a52d27; padding: 9px 11px; font-size: 11px; }
.driver-schedule-form > footer,
.driver-schedule-history-dialog footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid #dfe5ed;
  background: #f8fafc;
  padding: 12px 20px;
}
.driver-schedule-form footer p { margin: 0; color: #748197; font-size: 10px; }
.driver-schedule-form footer button,
.driver-schedule-history-dialog footer button {
  min-height: 34px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #34425a;
  padding: 7px 12px;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
}
#driverScheduleSave { border-color: #26955b; background: #26955b; color: #fff; }
.driver-schedule-history-dialog { width: min(720px, calc(100vw - 32px)); }
.driver-schedule-history-dialog > section { background: #fff; }
.driver-schedule-history-body { display: grid; gap: 20px; padding: 18px 20px; }
.driver-schedule-history-body h3 { margin: 0 0 9px; color: #25334c; font-size: 13px; }
.driver-schedule-history-body p { margin: 0; color: #6d7b91; font-size: 11px; }
.driver-schedule-history-body table { width: 100%; border-collapse: collapse; font-size: 11px; }
.driver-schedule-history-body th,
.driver-schedule-history-body td { border-bottom: 1px solid #e4e9ef; padding: 8px; text-align: left; }
.driver-schedule-history-body th { background: #f7f9fc; color: #69778d; font-size: 9px; text-transform: uppercase; }
.driver-schedule-history-body ol { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.driver-schedule-history-body li { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #e6ebf1; padding: 7px 0; }
.driver-schedule-history-body li strong { color: #263550; font-size: 11px; text-transform: capitalize; }
.driver-schedule-history-body li span { color: #748197; font-size: 10px; }
.driver-schedule-history-dialog footer { justify-content: flex-end; }

@media (max-width: 760px) {
  .driver-schedules-workspace > header,
  .driver-schedules-workspace > footer { align-items: stretch; flex-direction: column; }
  .driver-schedule-add { width: 100%; justify-content: center; }
  .driver-schedule-dialog { width: 100vw; max-height: 100vh; border-radius: 0; }
  .driver-schedule-grid { grid-template-columns: 1fr; padding-left: 15px; padding-right: 15px; }
  .driver-schedule-wide { grid-column: auto; }
  .driver-schedule-form > footer { align-items: stretch; flex-direction: column; }
  .driver-schedule-form footer div { display: flex; justify-content: flex-end; gap: 8px; }
}
.worker-tab-panel {
  min-height: 340px;
  border: 1px solid #dbe4ed;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  background: #f7f9fc;
  padding: 18px;
}
.worker-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.worker-profile-card,
.worker-table-card {
  border: 1px solid #dfe6ed;
  border-radius: 10px;
  background: #fff;
  padding: 17px;
  box-shadow: 0 4px 14px rgba(23, 52, 95, .04);
}
.worker-profile-card-wide { grid-column: 1 / -1; }
.worker-card-head {
  min-height: 38px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #edf1f5;
  padding-bottom: 12px;
}
.worker-card-head h2,
.worker-embed-head h2 {
  margin: 3px 0 0;
  color: #17345f;
  font-size: 16px;
}
.worker-card-head > img { width: 19px; height: 19px; opacity: .7; }
.worker-detail-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 20px;
  margin: 0;
}
.worker-detail-list > div {
  display: grid;
  grid-template-columns: minmax(100px, .8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: 10px;
  border-bottom: 1px solid #edf1f5;
  padding: 11px 0;
}
.worker-detail-list dt { color: #788696; font-size: 11px; font-weight: 700; }
.worker-detail-list dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: #1c2c3e;
  font-size: 12px;
  font-weight: 800;
}
.worker-detail-list dd a { color: #1474a7; text-decoration: none; }
.worker-identity-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.worker-identity-grid > div {
  min-height: 92px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  border: 1px solid #dce8f2;
  border-radius: 8px;
  background: #f6fbff;
  padding: 12px;
}
.worker-identity-grid span { color: #627487; font-size: 10px; font-weight: 800; }
.worker-identity-grid strong { color: #153b64; font-size: 15px; }
.worker-identity-grid small { color: #8492a1; font-size: 10px; line-height: 1.35; }
.worker-protection-copy {
  margin: 12px 0 0;
  border-left: 3px solid #238bb9;
  background: #f1f8fc;
  padding: 9px 11px;
  color: #53677a;
  font-size: 11px;
  line-height: 1.5;
}
.worker-notes-copy {
  margin: 13px 0 0;
  color: #5e6d7d;
  font-size: 12px;
  line-height: 1.65;
  white-space: pre-wrap;
}
.worker-access-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}
.worker-inline-link {
  display: inline-flex;
  margin-top: 14px;
  color: #1474a7;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}
.worker-guardrail-list {
  display: grid;
  gap: 9px;
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}
.worker-guardrail-list li { display: flex; align-items: flex-start; gap: 8px; color: #586a7c; font-size: 11px; line-height: 1.45; }
.worker-guardrail-list img { width: 14px; height: 14px; margin-top: 1px; }
.worker-permission-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.worker-permission-groups article {
  min-height: 75px;
  border: 1px solid #dfe6ed;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}
.worker-permission-groups article > strong { color: #17345f; font-size: 12px; }
.worker-permission-groups article > div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.worker-permission-groups span {
  border: 1px solid #cfe3d8;
  border-radius: 999px;
  background: #eff9f3;
  padding: 3px 7px;
  color: #2f7650;
  font-size: 9px;
  font-weight: 800;
}
.worker-attendance-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.worker-attendance-summary > div {
  min-height: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  border: 1px solid #dfe6ed;
  border-radius: 9px;
  background: #fff;
  padding: 14px;
}
.worker-attendance-summary span { color: #7b8997; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.worker-attendance-summary strong { color: #17345f; font-size: 20px; }
.worker-history-table { width: 100%; border-collapse: collapse; margin-top: 8px; }
.worker-history-table th,
.worker-history-table td { border-bottom: 1px solid #e5ebf1; padding: 11px 10px; text-align: left; font-size: 11px; }
.worker-history-table th { background: #f3f6f9; color: #657586; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.worker-history-table td { color: #344659; }
.worker-history-table td > small { display: block; margin-top: 3px; color: #8a96a3; }
.worker-assignments-panel {
  display: grid;
  gap: 14px;
}
.worker-assignments-panel[hidden] { display: none; }
.worker-assignment-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.worker-assignment-summary > div {
  min-height: 92px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  border: 1px solid #dfe6ed;
  border-radius: 9px;
  background: #fff;
  padding: 14px 16px;
  box-shadow: 0 4px 14px rgba(23, 52, 95, .04);
}
.worker-assignment-summary span {
  color: #7b8997;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.worker-assignment-summary strong {
  color: #17345f;
  font-size: 23px;
  line-height: 1.15;
}
.worker-assignment-summary small { color: #7c8997; font-size: 10px; }
.worker-assignment-card { padding-bottom: 12px; }
.worker-assignment-card + .worker-assignment-card { margin-top: 0; }
.worker-assignment-card .worker-card-head p {
  margin: 4px 0 0;
  color: #718092;
  font-size: 10px;
  line-height: 1.45;
}
.worker-assignment-table { min-width: 760px; }
.worker-assignment-history-table { min-width: 980px; }
.worker-assignment-table th:first-child { width: 105px; }
.worker-assignment-history-table th:first-child { width: 85px; }
.worker-assignment-history-table th:nth-child(2) { width: 120px; }
.worker-assignment-history-table th:nth-child(5) { width: 180px; }
.worker-truck-number {
  color: #17345f;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.worker-truck-status,
.worker-assignment-movement {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  border: 1px solid #d8e2ea;
  border-radius: 999px;
  background: #f3f6f9;
  color: #536577;
  padding: 4px 8px;
  font-size: 9px;
  font-weight: 850;
  white-space: nowrap;
}
.worker-assignment-movement.is-assigned {
  border-color: #bfe3cf;
  background: #ecf8f1;
  color: #1f7a4a;
}
.worker-assignment-movement.is-released {
  border-color: #efd3c2;
  background: #fff4ed;
  color: #a44a22;
}
.worker-assignment-unassigned { color: #7c8997 !important; font-weight: 700 !important; }
.worker-assignment-coverage {
  margin: 10px 0 0;
  border-left: 3px solid #7a94ad;
  background: #f4f7fa;
  padding: 8px 10px;
  color: #667789;
  font-size: 10px;
  line-height: 1.45;
}
.worker-assignment-notice {
  border: 1px solid #d6e2ec;
  border-radius: 8px;
  background: #fff;
  padding: 11px 13px;
  color: #52677a;
  font-size: 11px;
}
.worker-assignment-notice.is-error {
  border-color: #edc8c4;
  background: #fff4f3;
  color: #9a312b;
}
.worker-embed-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #dbe4ed;
  background: #fff;
  padding: 16px 18px;
}
.worker-embed-head p { max-width: 780px; margin: 5px 0 0; color: #6b7b8a; font-size: 11px; line-height: 1.45; }
.worker-dispatcher-panel { overflow: hidden; padding: 0; }
.worker-dispatcher-panel iframe {
  width: 100%;
  min-height: 930px;
  display: block;
  border: 0;
  background: #edf2f7;
}
.worker-timeline { display: grid; gap: 0; margin-top: 8px; }
.worker-timeline article { position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; min-height: 75px; }
.worker-timeline article::before { content: ""; position: absolute; top: 20px; bottom: -3px; left: 6px; width: 1px; background: #d9e3ec; }
.worker-timeline article:last-child::before { display: none; }
.worker-timeline-dot { z-index: 1; width: 13px; height: 13px; margin-top: 5px; border: 3px solid #dff1f8; border-radius: 50%; background: #1680b5; }
.worker-timeline strong { color: #26394c; font-size: 12px; }
.worker-timeline p { margin: 4px 0; color: #697a8a; font-size: 10px; }
.worker-timeline time { color: #8c98a4; font-size: 9px; }
.worker-editor-card { width: min(760px, calc(100vw - 24px)); }
.access-user-profile-link {
  color: inherit;
  text-decoration: none;
}
.access-user-profile-link > span:last-child {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.access-user-profile-link small {
  color: #7d8d9c;
  font-size: 9px;
  font-weight: 700;
}
.access-user-profile-link:hover strong { color: #1474a7; }
.access-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.access-row-profile-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-color: #17345f !important;
  background: #17345f !important;
  color: #fff !important;
  text-decoration: none;
}

/* The dispatcher workspace is reused inside Worker Profile without creating a
   second copy of any coaching, goal, task, or Numbers logic. */
body.dispatcher-embedded-mode { background: #f7f9fc; }
body.dispatcher-embedded-mode .app-global-nav,
body.dispatcher-embedded-mode .app-mobile-nav,
body.dispatcher-embedded-mode .management-banner,
body.dispatcher-embedded-mode .dispatcher-target-strip { display: none !important; }
body.dispatcher-embedded-mode.global-nav-enabled .management-shell,
body.dispatcher-embedded-mode .management-shell {
  width: 100%;
  max-width: none;
  padding: 0;
}
body.dispatcher-embedded-mode .management-workspace { margin: 0; }
body.dispatcher-embedded-mode .coaching-workspace,
body.dispatcher-embedded-mode .profile-main { border: 0; border-radius: 0; box-shadow: none; }

@media (max-width: 900px) {
  .worker-profile-shell { width: min(100% - 18px, 1480px); padding-top: 10px; }
  .worker-profile-hero { grid-template-columns: auto minmax(0, 1fr); padding: 18px; }
  .worker-profile-hero-actions { grid-column: 1 / -1; }
  .worker-profile-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .worker-profile-stats > div:nth-child(2) { border-right: 0; }
  .worker-profile-stats > div:nth-child(-n+2) { border-bottom: 1px solid #e5ebf1; }
  .worker-profile-grid,
  .worker-access-summary { grid-template-columns: 1fr; }
  .worker-profile-card-wide { grid-column: auto; }
  .worker-identity-grid,
  .worker-permission-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .worker-detail-list { grid-template-columns: 1fr; }
  .worker-assignment-summary { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .worker-profile-back-row span { display: none; }
  .worker-profile-hero { grid-template-columns: 1fr; text-align: center; }
  .worker-profile-avatar-shell { margin: 0 auto; }
  .worker-profile-meta,
  .worker-profile-hero-actions { justify-content: center; }
  .worker-profile-hero-actions .access-btn { flex: 1; }
  .worker-profile-stats,
  .worker-attendance-summary,
  .worker-identity-grid,
  .worker-permission-groups { grid-template-columns: 1fr; }
  .worker-profile-stats > div { border-right: 0; border-bottom: 1px solid #e5ebf1; }
  .worker-profile-stats > div:last-child { border-bottom: 0; }
  .worker-tab-panel { padding: 10px; }
  .worker-detail-list > div { grid-template-columns: 1fr; gap: 3px; }
  .worker-embed-head { align-items: flex-start; flex-direction: column; }
}
body.global-nav-enabled .banner .btitle {
  color: #172033;
  font-size: 20px;
  font-weight: 800;
}
body.global-nav-enabled .banner .owner-caption,
body.global-nav-enabled .banner > div:first-child > div:last-child {
  color: #667386 !important;
  font-size: 11px !important;
}
body.global-nav-enabled .banner .session-actions { display: none !important; }
body.global-nav-enabled .workspace-header-side { display: none; }
body.global-nav-enabled .numbers-page .management-banner,
body.global-nav-enabled.numbers-page .management-banner {
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: center;
}
body.global-nav-enabled .numbers-header-side {
  width: auto;
  display: block;
}
body.global-nav-enabled .numbers-header-center { justify-content: flex-end; }
body.global-nav-enabled .numbers-header-tools { justify-content: flex-end; }
body.global-nav-enabled .header-upload-tile {
  border-color: #cbd5e1;
  background: #fff;
  color: #17345f;
}
body.global-nav-enabled .header-upload-tile span { color: #748196; }
body.global-nav-enabled .header-upload-tile strong { color: #17345f; }
body.global-nav-enabled .numbers-header-tools .quick-save {
  border-color: #cbd5e1;
  background: #fff;
  color: #17345f;
}

/* PM Scheduler and Telegram utilities keep their page actions below the shared bar. */
body.pm-page.global-nav-enabled .pm-shell { padding-top: 8px; }
body.pm-page.global-nav-enabled .pm-shell .pm-topbar {
  min-height: 48px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #172033;
  padding: 7px 0 9px;
  box-shadow: none;
}
body.pm-page.global-nav-enabled .pm-shell .pm-brand { gap: 0; }
body.pm-page.global-nav-enabled .pm-shell .pm-brand img,
body.pm-page.global-nav-enabled .pm-shell .pm-kicker { display: none; }
body.pm-page.global-nav-enabled .pm-shell .pm-title { color: #172033; font-size: 20px; }
body.global-nav-enabled .tg-wrap,
body.global-nav-enabled .broadcast-wrap,
body.global-nav-enabled .remove-wrap { padding-top: 8px; }

@media (max-width: 1180px) {
  .app-global-nav {
    grid-template-columns: 72px minmax(0, 1fr) auto;
    padding-left: 10px;
    padding-right: 10px;
  }
  .app-nav-brand-copy { display: none; }
  .app-nav-link { min-width: 46px; margin: 0 1px; padding-left: 3px; padding-right: 3px; }
  .app-nav-account-copy { display: none; }
  .app-nav-actions { gap: 5px; padding-left: 5px; }
}

@media (max-width: 980px) {
  .app-global-nav { min-height: 62px; }
  .app-nav-link { min-width: 42px; max-width: 66px; }
  .app-nav-link .app-nav-label { display: none; }
  .app-nav-icon { width: 20px; height: 20px; }
  .app-nav-all-button span { display: none; }
  .app-nav-all-button { width: 36px; padding: 0; }
  .app-nav-all-button .app-nav-chevron { display: none; }
}

@media (max-width: 700px) {
  body.global-nav-enabled {
    padding-bottom: 62px;
  }
  body.app-nav-menu-open { overflow: hidden; }
  .app-global-nav {
    min-height: 54px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
    padding: 0 9px;
  }
  .app-nav-brand { gap: 8px; }
  .app-nav-logo { width: 46px; height: 29px; }
  .app-nav-mobile-title {
    min-width: 0;
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .app-nav-links,
  .app-nav-all-button { display: none; }
  .app-nav-actions { border-left: 0; padding-left: 0; }
  .app-nav-avatar { width: 28px; height: 28px; }
  .app-nav-signout { width: 34px; min-height: 34px; }
  .app-mobile-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1510;
    min-height: 58px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.14);
    background: #08264a;
    padding-bottom: env(safe-area-inset-bottom);
    box-shadow: 0 -5px 18px rgba(7, 26, 52, .2);
  }
  .app-mobile-nav-link {
    min-width: 0;
    min-height: 58px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(255,255,255,.72);
    padding: 5px 2px;
    font: inherit;
    font-size: 9px;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
  }
  .app-mobile-nav-link.is-active {
    background: #174a80;
    color: #fff;
    box-shadow: inset 0 3px 0 #f2c230;
  }
  .app-mobile-nav-icon { width: 19px; height: 19px; }
  .app-nav-drawer {
    position: fixed;
    top: auto;
    right: 8px;
    bottom: calc(66px + env(safe-area-inset-bottom));
    left: 8px;
    width: auto;
    max-height: calc(100dvh - 132px);
    overflow-y: auto;
  }
  .app-nav-drawer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px 5px; }
  .app-nav-drawer-group { border-right: 0; padding: 0 6px 7px; }
  .app-nav-drawer-link { min-height: 40px; }
  .app-nav-backdrop { background: rgba(8, 25, 46, .34); }
  body.global-nav-enabled .owner-wrap,
  body.global-nav-enabled .dwrap,
  body.global-nav-enabled .management-shell,
  body.global-nav-enabled .loads-shell { padding-top: 5px; }
  body.global-nav-enabled .banner {
    min-height: 42px;
    padding-top: 5px;
    padding-bottom: 7px;
  }
  body.global-nav-enabled .banner .btitle { font-size: 18px; }
  body.global-nav-enabled .dwrap > .banner,
  body.global-nav-enabled .owner-wrap > .banner,
  body.global-nav-enabled .management-shell:not(.numbers-shell) > .banner,
  body.global-nav-enabled .loads-shell > .banner,
  body.global-nav-enabled.driver-profile-page .numbers-shell > .banner,
  body.global-nav-enabled .tg-wrap > .banner,
  body.global-nav-enabled .broadcast-wrap > .banner,
  body.global-nav-enabled .remove-wrap > .banner {
    display: none;
  }
  body.global-nav-enabled.numbers-page:not(.driver-profile-page) .numbers-shell > .banner > div:first-child {
    display: none;
  }
  body.global-nav-enabled .numbers-page .management-banner,
  body.global-nav-enabled.numbers-page .management-banner {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  body.global-nav-enabled .numbers-header-tools { justify-content: flex-start; }
  body.pm-page.global-nav-enabled .pm-shell .pm-topbar {
    align-items: flex-start;
    padding: 5px 0 7px;
  }
  body.pm-page.global-nav-enabled .pm-shell .pm-brand { display: none; }
}

@media (max-width: 430px) {
  .app-nav-account { display: none; }
  .app-nav-drawer-grid { grid-template-columns: 1fr 1fr; }
  .app-nav-drawer-heading { padding-top: 2px; }
}

/* Users, roles, and permissions */
.users-access-page {
  min-height: 100vh;
  background: #f4f7fb;
  color: #172334;
}
.access-shell {
  width: min(1540px, calc(100% - 36px));
  margin: 0 auto;
  padding: 24px 0 56px;
}
.access-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 6px 0 22px;
}
.access-eyebrow,
.access-modal-kicker {
  color: #3975af;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.access-header h1 {
  margin: 4px 0 5px;
  color: #0a2441;
  font-size: clamp(27px, 3vw, 38px);
  letter-spacing: -.035em;
}
.access-header p { margin: 0; color: #617086; font-size: 14px; }
.access-header-actions,
.access-modal-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}
.access-btn {
  min-height: 40px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 0 16px;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.access-btn:disabled { cursor: not-allowed; opacity: .48; }
.access-btn-primary { background: #0b5fa7; border-color: #0b5fa7; color: #fff; box-shadow: 0 2px 5px rgba(11, 95, 167, .18); }
.access-btn-primary:hover:not(:disabled) { background: #084e8a; }
.access-btn-secondary { background: #fff; border-color: #cbd5e1; color: #26384d; }
.access-protection-note {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  border: 1px solid #b9d7f0;
  border-left: 4px solid #2d7dbd;
  border-radius: 7px;
  background: #f0f8ff;
  padding: 12px 15px;
  color: #31506c;
  font-size: 12px;
  line-height: 1.5;
}
.access-protection-note img { width: 18px; height: 18px; margin-top: 1px; opacity: .72; }
.access-tabs {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  margin-top: 20px;
  border-bottom: 1px solid #cbd5df;
}
.access-tab {
  min-width: 105px;
  min-height: 44px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #657386;
  padding: 0 16px;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.access-tab span {
  display: inline-flex;
  min-width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #e3e9f0;
  margin-left: 5px;
  font-size: 10px;
}
.access-tab.is-active { border-color: #0d70b7; color: #0b5fa7; }
.access-tab.is-active span { background: #d9edfb; color: #07588f; }
.access-panel { padding-top: 17px; }
.access-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.access-search {
  width: min(480px, 100%);
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #c9d3df;
  border-radius: 8px;
  background: #fff;
  padding: 0 12px;
}
.access-search:focus-within { border-color: #4a90c8; box-shadow: 0 0 0 3px rgba(74, 144, 200, .12); }
.access-search img { width: 17px; height: 17px; opacity: .5; }
.access-search input { width: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 13px; }
.access-filter-label { display: flex; align-items: center; gap: 8px; color: #627184; font-size: 12px; font-weight: 750; }
.access-filter-label select {
  min-height: 38px;
  border: 1px solid #c9d3df;
  border-radius: 7px;
  background: #fff;
  padding: 0 28px 0 10px;
  color: #28384c;
  font: inherit;
  font-size: 12px;
}
.access-table-wrap,
.access-matrix-wrap {
  overflow-x: auto;
  border: 1px solid #d7dfe8;
  border-radius: 8px;
  background: #fff;
}
.access-users-table,
.access-matrix {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.access-users-table th,
.access-users-table td {
  height: 55px;
  border-bottom: 1px solid #e6ebf0;
  padding: 7px 12px;
  text-align: left;
  white-space: nowrap;
}
.access-users-table th {
  height: 38px;
  background: #f7f9fb;
  color: #6a7788;
  font-size: 10px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.access-users-table tbody tr:last-child td { border-bottom: 0; }
.access-users-table tbody tr:hover { background: #f8fbfe; }
.access-users-table tr.is-inactive { opacity: .62; }
.access-users-table a { color: #1268ad; text-decoration: none; }
.access-user-name { display: flex; align-items: center; gap: 9px; }
.access-avatar {
  position: relative;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  overflow: hidden;
  display: inline-grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #dce8f4;
  color: #17345f;
  box-shadow: 0 0 0 1px #d9e1ea;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.access-avatar.tone-1 { background: #e7ddf3; color: #543a7a; }
.access-avatar.tone-2 { background: #d8efe7; color: #176f55; }
.access-avatar.tone-3 { background: #f5e6cd; color: #83571b; }
.access-avatar.tone-4 { background: #f3dfe5; color: #8a3b54; }
.access-avatar.tone-5 { background: #dce9f5; color: #285c87; }
.access-avatar > span { position: relative; z-index: 0; }
.access-avatar > img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.access-role-pill {
  display: inline-flex;
  border: 1px solid #bed3e4;
  border-radius: 999px;
  background: #f1f7fc;
  padding: 4px 8px;
  color: #315c7e;
  font-size: 11px;
  font-weight: 750;
}
.access-status { display: inline-flex; align-items: center; gap: 6px; color: #557065; font-size: 11px; font-weight: 750; }
.access-status i { width: 7px; height: 7px; border-radius: 50%; background: #42b879; }
.access-status.inactive i { background: #9aa8b7; }
.access-protected-link { display: inline-flex; align-items: center; gap: 5px; color: #4f6174; font-size: 11px; }
.access-protected-link img { width: 13px; height: 13px; opacity: .6; }
.access-muted { color: #9ba7b3; }
.access-row-action {
  border: 1px solid #cad5df;
  border-radius: 6px;
  background: #fff;
  padding: 6px 10px;
  color: #185f97;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.access-row-action:disabled { opacity: .45; cursor: not-allowed; }
.access-empty { border: 1px dashed #c9d3df; border-radius: 8px; background: #fff; padding: 40px; color: #738195; text-align: center; }
.access-role-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 12px;
}
.access-role-intro > div { display: flex; flex-direction: column; gap: 3px; }
.access-role-intro strong { color: #1c2d42; font-size: 14px; }
.access-role-intro span { color: #718094; font-size: 12px; }
.access-role-list { display: grid; gap: 10px; }
.access-role-card {
  overflow: hidden;
  border: 1px solid #d4dde7;
  border-radius: 8px;
  background: #fff;
}
.access-role-summary {
  width: 100%;
  min-height: 78px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 0;
  border-left: 4px solid #76bd93;
  background: #f1fbf5;
  padding: 12px 16px 12px 12px;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.access-role-chevron { color: #27536b; font-size: 20px; transform: rotate(-90deg); transition: transform .16s ease; }
.access-role-card.is-open .access-role-chevron { transform: rotate(0); }
.access-role-heading { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.access-role-heading strong { color: #173048; font-size: 15px; }
.access-role-heading small { max-width: 1050px; color: #536678; font-size: 11px; font-weight: 500; line-height: 1.45; }
.access-role-meta { display: flex; align-items: flex-end; flex-direction: column; gap: 4px; color: #667689; font-size: 11px; white-space: nowrap; }
.access-role-meta em { border-radius: 999px; background: #e2efe7; padding: 3px 7px; color: #347050; font-size: 9px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.access-role-body { display: none; padding: 12px; }
.access-role-card.is-open .access-role-body { display: block; }
.access-role-body-actions { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; color: #768497; font-size: 11px; }
.access-role-body-actions button,
.access-editor-tools button {
  border: 0;
  background: transparent;
  color: #1268ad;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.access-role-body-actions button:disabled { color: #99a5b1; cursor: not-allowed; }
.access-matrix th,
.access-matrix td {
  height: 34px;
  border-right: 1px solid #d9e0e7;
  border-bottom: 1px solid #e8edf1;
  padding: 5px 10px;
  text-align: center;
}
.access-matrix th:first-child,
.access-matrix td:first-child { width: 40%; text-align: left; }
.access-matrix th {
  background: #f8fafc;
  color: #667487;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.access-matrix tr:last-child td { border-bottom: 0; }
.access-matrix th:last-child,
.access-matrix td:last-child { border-right: 0; }
.access-permission-mark { font-size: 20px; font-weight: 500; line-height: 1; }
.access-permission-mark.yes { color: #42b879; }
.access-permission-mark.no { color: #f03d5f; }
.access-modal[hidden] { display: none; }
.access-modal { position: fixed; inset: 0; z-index: 2500; display: grid; place-items: center; padding: 18px; }
.access-modal-backdrop { position: absolute; inset: 0; background: rgba(8, 27, 49, .55); backdrop-filter: blur(2px); }
.access-modal-card {
  position: relative;
  width: min(620px, 100%);
  max-height: calc(100vh - 36px);
  overflow-y: auto;
  border: 1px solid #cbd6e0;
  border-radius: 12px;
  background: #fff;
  padding: 20px;
  box-shadow: 0 24px 70px rgba(7, 27, 49, .28);
}
.access-role-editor { width: min(940px, 100%); }
.access-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.access-modal-head h2 { margin: 3px 0 0; color: #102d4a; font-size: 22px; }
.access-icon-btn { width: 34px; height: 34px; border: 1px solid #d5dde5; border-radius: 7px; background: #fff; cursor: pointer; }
.access-icon-btn img { width: 16px; height: 16px; }
.access-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.access-field { display: flex; flex-direction: column; gap: 5px; color: #526276; font-size: 11px; font-weight: 800; }
.access-field-wide { grid-column: 1 / -1; }
.access-field input,
.access-field select,
.access-field textarea {
  width: 100%;
  border: 1px solid #c9d4df;
  border-radius: 7px;
  background: #fff;
  padding: 9px 10px;
  color: #17293c;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
}
.access-field input:focus,
.access-field select:focus,
.access-field textarea:focus { border-color: #468cc5; outline: 0; box-shadow: 0 0 0 3px rgba(70, 140, 197, .12); }
.access-field input[readonly] { background: #f1f4f7; color: #718093; }
.access-warning,
.access-login-note {
  margin-top: 13px;
  border-radius: 7px;
  background: #fff8e5;
  padding: 10px 12px;
  color: #775a13;
  font-size: 11px;
  line-height: 1.45;
}
.access-login-note { background: #f1f6fa; color: #607186; }
.access-warning > strong,
.access-warning > span { display: block; }
.access-warning > span { margin-top: 2px; }
.access-dispatcher-conversion-toggle {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 10px;
  border: 1px solid #ead9a9;
  border-radius: 7px;
  background: #fffdf7;
  padding: 10px;
  cursor: pointer;
}
.access-dispatcher-conversion-toggle input {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  margin: 1px 0 0;
  accent-color: #176fa9;
}
.access-dispatcher-conversion-toggle > span { display: grid; gap: 2px; color: #3d5267; }
.access-dispatcher-conversion-toggle strong { font-size: 11px; }
.access-dispatcher-conversion-toggle small { color: #718092; font-size: 10px; line-height: 1.4; }
.access-dispatcher-conversion-ready {
  margin-top: 8px;
  border-left: 3px solid #2385b8;
  background: #eef7fc;
  padding: 8px 9px;
  color: #365e78;
}
.access-form-message { min-height: 18px; margin: 10px 0; color: #c72d4e; font-size: 11px; font-weight: 700; }
.access-editor-tools { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 18px 0 8px; }
.access-editor-tools div { display: flex; gap: 8px; }
.access-permission-editor { max-height: 48vh; overflow: auto; border: 1px solid #d5dde6; border-radius: 8px; }
.access-permission-editor .access-matrix-wrap { border: 0; }
.access-check { display: inline-flex; cursor: pointer; }
.access-check input { position: absolute; opacity: 0; pointer-events: none; }
.access-check span {
  width: 23px;
  height: 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #c8d2dd;
  border-radius: 5px;
  color: transparent;
  font-size: 14px;
  font-weight: 900;
}
.access-check input:checked + span { border-color: #35a66e; background: #e3f6eb; color: #2c9d64; }
.access-check input:focus + span { box-shadow: 0 0 0 3px rgba(70, 140, 197, .18); }
.access-toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 3000;
  border-radius: 8px;
  background: #173a5d;
  padding: 12px 16px;
  color: #fff;
  box-shadow: 0 8px 30px rgba(8, 27, 49, .25);
  font-size: 12px;
  font-weight: 750;
}
.access-setup-error { max-width: 680px; margin: 80px auto; border: 1px solid #efc2ca; border-radius: 10px; background: #fff7f8; padding: 25px; color: #812f41; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
body.access-modal-open { overflow: hidden; }

.identity-guardrail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}
.identity-guardrail > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  border: 1px solid #d7e2eb;
  border-left: 4px solid #4a91c8;
  border-radius: 8px;
  background: #f6fafd;
  padding: 10px 12px;
}
.identity-guardrail strong { color: #1d3d59; font-size: 11px; }
.identity-guardrail span { color: #627487; font-size: 10px; line-height: 1.45; }
.identity-table { min-width: 1080px; }
.identity-primary,
.identity-linked-count { display: flex; flex-direction: column; gap: 2px; }
.identity-primary strong,
.identity-linked-count strong { color: #1c3045; font-size: 12px; }
.identity-primary small,
.identity-linked-count small { color: #7b8998; font-size: 9px; white-space: nowrap; }
.identity-broker-alias {
  display: inline-flex;
  border: 1px solid #b7d5c3;
  border-radius: 999px;
  background: #edf8f1;
  padding: 4px 8px;
  color: #2e7049;
  font-size: 11px;
  font-weight: 800;
}
.identity-aliases { display: flex; max-width: 360px; flex-wrap: wrap; gap: 4px; }
.identity-aliases span {
  border-radius: 5px;
  background: #edf2f7;
  padding: 3px 6px;
  color: #4f6377;
  font-size: 9px;
  font-weight: 700;
}
.identity-aliases em { color: #9aa7b4; font-size: 10px; }
.identity-locked-id {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #53677b;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  font-weight: 750;
}
.identity-locked-id img { width: 12px; height: 12px; opacity: .55; }
.identity-id-lock {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: -2px 0 16px;
  border: 1px solid #d6e0e8;
  border-radius: 8px;
  background: #f5f8fa;
  padding: 11px 12px;
}
.identity-id-lock > img { width: 21px; height: 21px; opacity: .55; }
.identity-id-lock > div { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 2px 8px; }
.identity-id-lock span { color: #68798a; font-size: 9px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.identity-id-lock strong { color: #22384d; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }
.identity-id-lock small { grid-column: 1 / -1; color: #7d8a98; font-size: 9px; }
.access-field small { color: #8593a1; font-size: 9px; font-weight: 500; line-height: 1.4; }

@media (max-width: 800px) {
  .access-shell { width: min(100% - 20px, 1540px); padding-top: 12px; }
  .access-header { align-items: flex-start; flex-direction: column; }
  .access-header-actions { width: 100%; }
  .access-header-actions .access-btn { flex: 1; }
  .access-toolbar { align-items: stretch; flex-direction: column; }
  .access-search { width: 100%; }
  .access-filter-label { justify-content: flex-end; }
  .access-role-summary { grid-template-columns: 18px minmax(0, 1fr); }
  .access-role-meta { grid-column: 2; align-items: flex-start; flex-direction: row; }
  .access-role-intro { align-items: flex-start; flex-direction: column; }
  .access-form-grid { grid-template-columns: 1fr; }
  .access-field-wide { grid-column: auto; }
  .access-modal { padding: 8px; }
  .access-modal-card { max-height: calc(100dvh - 16px); padding: 16px; }
  .identity-guardrail { grid-template-columns: 1fr; }
}

/* Driver profile photo editor */
.driver-photo-dialog {
  width: min(620px, calc(100vw - 28px));
  max-width: none;
  border: 0;
  border-radius: 16px;
  background: transparent;
  padding: 0;
  color: #17253a;
}
.driver-photo-dialog::backdrop {
  background: rgba(14, 29, 49, .56);
  backdrop-filter: blur(2px);
}
.driver-photo-card {
  position: relative;
  border: 1px solid #d9e2ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(18, 36, 60, .26);
  padding: 24px;
}
.driver-photo-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid #d9e1e9;
  border-radius: 50%;
  background: #f7f9fb;
  cursor: pointer;
}
.driver-photo-close img {
  width: 16px;
  height: 16px;
}
.driver-photo-close:hover,
.driver-photo-close:focus-visible {
  background: #edf2f7;
  outline: 2px solid #a8bfda;
  outline-offset: 1px;
}
.driver-photo-heading {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding-right: 42px;
}
.driver-photo-heading-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #eef4fd;
}
.driver-photo-heading-icon img {
  width: 21px;
  height: 21px;
}
.driver-photo-heading h2 {
  margin: 0;
  color: var(--navy);
  font-size: 20px;
  font-weight: 950;
}
.driver-photo-heading p {
  margin: 3px 0 0;
  color: #6b7889;
  font-size: 12px;
  font-weight: 750;
}
.driver-photo-editor {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  margin-top: 22px;
  border: 1px solid #e0e7ef;
  border-radius: 13px;
  background: #f8fafc;
  padding: 20px;
}
.driver-photo-preview-column {
  display: grid;
  justify-items: center;
  gap: 9px;
}
.driver-photo-preview {
  width: 190px;
  height: 190px;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 5px solid #fff;
  border-radius: 50%;
  background: var(--navy);
  box-shadow: 0 0 0 1px #cfd9e4, 0 8px 24px rgba(25, 55, 92, .16);
  color: #fff;
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.driver-photo-preview.dragging {
  cursor: grabbing;
}
.driver-photo-preview-initials {
  font-size: 48px;
  font-weight: 950;
}
.driver-photo-preview img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.driver-photo-drag-hint {
  color: #6b7888;
  font-size: 10px;
  font-weight: 750;
}
.driver-photo-controls {
  display: grid;
  align-content: center;
  gap: 11px;
}
.driver-photo-choose,
.driver-photo-reset {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  font: 900 12px/1 inherit;
  cursor: pointer;
}
.driver-photo-choose {
  border: 1px solid var(--navy);
  background: var(--navy);
  color: #fff;
}
.driver-photo-choose img {
  width: 15px;
  height: 15px;
  filter: brightness(0) invert(1);
}
.driver-photo-choose:hover,
.driver-photo-choose:focus-visible {
  background: #244d82;
}
.driver-photo-file-name {
  min-height: 30px;
  color: #6d7a8b;
  font-size: 10px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.driver-photo-zoom-control {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  color: #34465d;
  font-size: 11px;
  font-weight: 900;
}
.driver-photo-zoom-control input {
  width: 100%;
  accent-color: var(--navy);
}
.driver-photo-reset {
  border: 1px solid #d4dde7;
  background: #fff;
  color: #31445c;
}
.driver-photo-reset:hover,
.driver-photo-reset:focus-visible {
  background: #eef3f8;
}
.driver-photo-choose:disabled,
.driver-photo-reset:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.driver-photo-safety-note {
  display: grid;
  grid-template-columns: 19px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  margin-top: 13px;
  border: 1px solid #d9e5f2;
  border-radius: 9px;
  background: #f5f9fe;
  padding: 10px 12px;
  color: #52647a;
  font-size: 11px;
  line-height: 1.45;
}
.driver-photo-safety-note img {
  width: 17px;
  height: 17px;
}
.driver-photo-message {
  min-height: 20px;
  padding-top: 8px;
  color: #657489;
  font-size: 11px;
  font-weight: 800;
}
.driver-photo-message.error {
  color: #bd3444;
}
.driver-photo-message.loading {
  color: #2a5d97;
}
.driver-photo-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 4px;
}
.driver-photo-action-spacer {
  flex: 1;
}
.driver-photo-actions button {
  min-height: 38px;
  border-radius: 8px;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 900;
}
.driver-photo-cancel,
.driver-photo-remove {
  border: 1px solid #d7dfe8;
  background: #f7f9fb;
  color: #34465b;
  cursor: pointer;
}
.driver-photo-remove {
  border-color: #f0c4c9;
  background: #fff7f8;
  color: #bd3444;
}
.driver-photo-cancel:hover,
.driver-photo-cancel:focus-visible {
  background: #edf2f6;
}
.driver-photo-remove:hover,
.driver-photo-remove:focus-visible {
  background: #fdebed;
}
.driver-photo-actions button:disabled {
  opacity: .55;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .driver-photo-card {
    padding: 18px;
  }
  .driver-photo-editor {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 16px;
  }
  .driver-photo-preview {
    width: 172px;
    height: 172px;
  }
  .driver-photo-actions {
    flex-wrap: wrap;
  }
  .driver-photo-action-spacer {
    display: none;
  }
  .driver-photo-actions button {
    flex: 1;
  }
  .driver-photo-remove {
    flex-basis: 100% !important;
    order: 3;
  }
}
/* Shared bulk row selection ------------------------------------------------ */
.bulk-selection-toolbar {
  align-items: center;
  background: #eef4ff;
  border: 1px solid #b9c9e2;
  border-radius: 6px;
  color: #132f57;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin: 0 0 8px;
  min-height: 42px;
  padding: 6px 8px 6px 12px;
}
.bulk-selection-toolbar[hidden] { display: none !important; }
.bulk-selection-summary,
.bulk-selection-actions {
  align-items: center;
  display: flex;
  gap: 8px;
}
.bulk-selection-summary strong { font-size: 13px; }
.bulk-selection-clear {
  background: transparent;
  border: 0;
  color: #52657f;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  padding: 4px;
}
.bulk-selection-clear:hover { color: #122d53; text-decoration: underline; }
.bulk-primary-action,
.bulk-more-trigger {
  align-items: center;
  background: #17365f;
  border: 1px solid #17365f;
  border-radius: 5px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  justify-content: center;
  min-height: 30px;
  padding: 5px 10px;
}
.bulk-primary-action:disabled,
.bulk-more-trigger:disabled { cursor: not-allowed; opacity: .5; }
.bulk-more-wrap { position: relative; }
.bulk-more-trigger {
  background: #fff;
  border-color: #aab9cd;
  color: #17365f;
  font-size: 17px;
  letter-spacing: 0;
  min-width: 32px;
  padding: 2px 7px 5px;
}
.bulk-action-menu {
  background: #fff;
  border: 1px solid #b8c4d5;
  border-radius: 6px;
  box-shadow: 0 12px 28px rgba(22, 41, 70, .18);
  min-width: 210px;
  padding: 5px;
  position: absolute;
  right: 0;
  top: calc(100% + 5px);
  z-index: 70;
}
.bulk-action-menu[hidden] { display: none !important; }
.bulk-action-menu button {
  background: transparent;
  border: 0;
  border-radius: 4px;
  color: #1e2d42;
  cursor: pointer;
  display: block;
  font: inherit;
  font-size: 12px;
  padding: 8px 9px;
  text-align: left;
  width: 100%;
}
.bulk-action-menu button:hover { background: #edf3fb; }
.bulk-action-menu button:disabled { color: #8994a4; cursor: not-allowed; }
.bulk-action-menu button:disabled:hover { background: transparent; }
.bulk-action-menu .bulk-danger-action {
  border-top: 1px solid #e3e8ef;
  color: #a42a2a;
  margin-top: 4px;
  padding-top: 10px;
}
.bulk-select-head,
.bulk-select-cell {
  min-width: 38px;
  text-align: center !important;
}
span.bulk-select-head,
span.bulk-select-cell,
div.bulk-select-head,
div.bulk-select-cell {
  align-items: center;
  display: flex;
  justify-content: center;
}
.bulk-select-head { height: 100%; }
th.bulk-select-head,
td.bulk-select-cell { vertical-align: middle; }
.bulk-row-checkbox,
.bulk-header-checkbox {
  accent-color: #17365f;
  cursor: pointer;
  height: 16px;
  margin: 0;
  width: 16px;
}
.is-bulk-selected { background-color: #edf4ff !important; }
.bulk-dialog-copy {
  color: #5e6877;
  font-size: 13px;
  line-height: 1.45;
  margin: 0 0 12px;
}
.bulk-dialog-field {
  display: grid;
  gap: 5px;
  margin: 12px 0;
}
.bulk-dialog-field span {
  color: #445267;
  font-size: 12px;
  font-weight: 700;
}
.bulk-dialog-field select,
.bulk-dialog-field input {
  background: #fff;
  border: 1px solid #b9c5d6;
  border-radius: 5px;
  box-sizing: border-box;
  font: inherit;
  min-height: 38px;
  padding: 7px 9px;
  width: 100%;
}
.bulk-dialog-error {
  background: #fff1f1;
  border: 1px solid #e6b7b7;
  border-radius: 5px;
  color: #9a2323;
  font-size: 12px;
  margin: 10px 0;
  padding: 8px;
}
.bulk-dialog-error[hidden] { display: none; }

@media (max-width: 700px) {
  .bulk-selection-toolbar {
    bottom: 8px;
    box-shadow: 0 8px 26px rgba(16, 33, 58, .22);
    margin: 0 8px;
    position: sticky;
    z-index: 55;
  }
  .bulk-selection-summary strong { font-size: 12px; }
  .bulk-primary-action { padding-left: 8px; padding-right: 8px; }
}

/* Driver documents: private upload, AI review, human confirmation, responsive table. */
.driver-document-heading {
  align-items: center;
  border-bottom: 1px solid #d9e1eb;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 15px 2px 13px;
}
.driver-document-heading h2 {
  color: #18355e;
  font-size: 17px;
  margin: 0;
}
.driver-document-heading p {
  color: #687384;
  font-size: 10px;
  margin: 4px 0 0;
}
.driver-document-heading > span {
  align-items: center;
  color: #5f6d80;
  display: flex;
  font-size: 9px;
  font-weight: 850;
  gap: 6px;
  white-space: nowrap;
}
.driver-document-heading > span img { height: 13px; opacity: .66; width: 13px; }
.driver-document-upload-card,
.driver-document-list-card {
  background: #fff;
  border: 1px solid #ccd7e5;
  border-radius: 8px;
  margin-top: 13px;
}
.driver-document-upload-card { padding: 10px; }
.driver-document-quick-head {
  align-items: flex-end;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 1px 2px 8px;
}
.driver-document-quick-head > div { display: grid; gap: 2px; }
.driver-document-quick-head strong { color: #18375f; font-size: 10px; }
.driver-document-quick-head span,
.driver-document-quick-head small { color: #758398; font-size: 8px; }
.driver-document-quick-grid {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(6, minmax(118px, 1fr));
  margin-bottom: 9px;
}
.driver-document-quick-card {
  align-items: center;
  background: #fff;
  border: 1px dashed #a9bbce;
  border-radius: 7px;
  cursor: pointer;
  display: flex;
  gap: 8px;
  min-height: 52px;
  padding: 7px 8px;
  transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.driver-document-quick-card:hover,
.driver-document-quick-card.dragging {
  background: #edf5ff;
  border-color: #2b68a2;
  box-shadow: inset 0 0 0 1px rgba(43, 104, 162, .08);
}
.driver-document-quick-card input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.driver-document-quick-icon {
  align-items: center;
  background: #edf3f9;
  border-radius: 6px;
  display: flex;
  flex: 0 0 30px;
  height: 30px;
  justify-content: center;
}
.driver-document-quick-icon img { height: 14px; opacity: .7; width: 14px; }
.driver-document-quick-card > span:nth-of-type(2) { display: grid; flex: 1; gap: 2px; min-width: 0; }
.driver-document-quick-card strong { color: #1c3c65; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.driver-document-quick-card small { color: #78869a; font-size: 7px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.driver-document-quick-card > b {
  align-items: center;
  background: #eff4fa;
  border-radius: 999px;
  color: #4e6986;
  display: flex;
  font-size: 7px;
  height: 20px;
  justify-content: center;
  min-width: 20px;
  padding: 0 4px;
}
.driver-document-quick-card.has-document {
  background: #edf9f2;
  border-color: #93c9a8;
  border-style: solid;
}
.driver-document-quick-card.has-document .driver-document-quick-icon,
.driver-document-quick-card.has-document > b { background: #d7efdf; color: #22623d; }
.driver-document-quick-card.has-document strong { color: #22623d; }
.driver-document-quick-card.has-document small { color: #426e53; }
.driver-document-quick-card.has-document:hover { background: #e3f4ea; border-color: #5fa77b; }
.driver-document-quick-card.has-document.dragging {
  background: #edf5ff;
  border-color: #2b68a2;
  border-style: dashed;
}
.driver-document-quick-card:focus-within { outline: 2px solid #2b68a2; outline-offset: 2px; }
.driver-document-dropzone {
  align-items: center;
  background: #f7faff;
  border: 1px dashed #8fa9c6;
  border-radius: 7px;
  cursor: pointer;
  display: flex;
  gap: 11px;
  min-height: 62px;
  padding: 8px 12px;
  transition: background-color .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.driver-document-dropzone:hover,
.driver-document-dropzone.dragging {
  background: #edf5ff;
  border-color: #1d5b9b;
  box-shadow: inset 0 0 0 1px rgba(29, 91, 155, .08);
}
.driver-document-dropzone input {
  height: 1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 1px;
}
.driver-document-drop-icon {
  align-items: center;
  background: #e5eef9;
  border-radius: 7px;
  display: flex;
  flex: 0 0 37px;
  height: 37px;
  justify-content: center;
}
.driver-document-drop-icon img { height: 18px; opacity: .76; width: 18px; }
.driver-document-dropzone > span:nth-of-type(2) {
  display: grid;
  flex: 1;
  gap: 3px;
  min-width: 0;
}
.driver-document-dropzone strong { color: #18375f; font-size: 11px; }
.driver-document-dropzone small { color: #738196; font-size: 9px; }
.driver-document-dropzone > b {
  background: #183d70;
  border-radius: 5px;
  color: #fff;
  font-size: 9px;
  padding: 8px 12px;
  white-space: nowrap;
}
.driver-document-steps {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 9px;
}
.driver-document-steps > span {
  align-items: center;
  color: #6c7b8f;
  display: flex;
  font-size: 8px;
  font-weight: 800;
  gap: 5px;
}
.driver-document-steps > span:not(:last-child)::after {
  background: #ccd7e4;
  content: "";
  height: 1px;
  margin: 0 11px;
  width: 34px;
}
.driver-document-steps i {
  align-items: center;
  background: #edf2f8;
  border: 1px solid #c4d0de;
  border-radius: 50%;
  color: #345478;
  display: flex;
  font-size: 8px;
  font-style: normal;
  height: 18px;
  justify-content: center;
  width: 18px;
}
.driver-document-steps em { font-style: normal; }
.driver-document-list-card { overflow: visible; }
.driver-document-list-head {
  align-items: center;
  background: #f7f9fc;
  border-bottom: 1px solid #d4deea;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  min-height: 48px;
  padding: 7px 10px 7px 12px;
}
.driver-document-list-head h3 { color: #1d395f; font-size: 12px; margin: 0; }
.driver-document-list-head > div > span { color: #768398; display: block; font-size: 8px; margin-top: 2px; }
.driver-document-list-tools {
  align-items: center;
  display: flex;
  gap: 7px;
}
.driver-document-list-head .driver-document-search {
  align-items: center;
  background: #fff;
  border: 1px solid #bfcddd;
  border-radius: 5px;
  display: flex;
  gap: 6px;
  height: 30px;
  padding: 0 8px;
  width: min(285px, 42vw);
}
.driver-document-list-head .driver-document-search:focus-within {
  border-color: #447aae;
  box-shadow: 0 0 0 2px rgba(68, 122, 174, .11);
}
.driver-document-list-head .driver-document-search img { height: 13px; opacity: .55; width: 13px; }
.driver-document-list-head .driver-document-search input {
  border: 0;
  color: #243d5b;
  flex: 1;
  font: 750 9px/1 inherit;
  min-width: 0;
  outline: 0;
}
.driver-document-table-scroll { overflow-x: auto; width: 100%; }
.driver-document-table {
  border-collapse: collapse;
  color: #263b55;
  min-width: 840px;
  table-layout: fixed;
  width: 100%;
}
.driver-document-table th {
  background: #edf2f8;
  border-bottom: 1px solid #ccd7e4;
  color: #586b82;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .09em;
  padding: 8px 10px;
  text-align: left;
  text-transform: uppercase;
  position: relative;
  user-select: none;
}
.driver-document-column-label { align-items: center; display: inline-flex; }
.driver-document-table th img {
  height: 10px;
  margin-right: 5px;
  opacity: .63;
  vertical-align: -2px;
  width: 10px;
}
.driver-document-table th[draggable="true"] { cursor: grab; }
.driver-document-table th.is-dragging { opacity: .45; }
.driver-document-table th.is-drag-target { box-shadow: inset 3px 0 #3271ad; }
.driver-document-resize-handle {
  cursor: col-resize;
  height: 100%;
  position: absolute;
  right: -3px;
  top: 0;
  width: 7px;
  z-index: 2;
}
.driver-document-resize-handle:hover,
.driver-document-resize-handle.resizing { background: rgba(50, 113, 173, .32); }
.driver-document-table td {
  border-bottom: 1px solid #e0e6ee;
  font-size: 9px;
  height: 49px;
  padding: 6px 10px;
  vertical-align: middle;
}
.driver-document-table tr:last-child td { border-bottom: 0; }
.driver-document-table tbody tr:hover { background: #fafcff; }
.driver-document-name {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: flex;
  font: inherit;
  gap: 8px;
  max-width: 100%;
  padding: 0;
  text-align: left;
}
.driver-document-file-icon {
  align-items: center;
  background: #edf3f9;
  border: 1px solid #d3dce7;
  border-radius: 5px;
  display: flex;
  flex: 0 0 29px;
  height: 29px;
  justify-content: center;
}
.driver-document-file-icon img { height: 14px; opacity: .72; width: 14px; }
.driver-document-name > span:last-child { display: grid; gap: 2px; min-width: 0; }
.driver-document-name strong {
  color: #173b68;
  font-size: 9px;
  overflow: hidden;
  text-decoration: underline;
  text-decoration-color: #b1c0d1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-document-name small { color: #7d8a9b; font-size: 7px; }
.equipment-document-name {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 2px 0;
}
.equipment-document-name strong {
  color: #153b69;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.equipment-document-name small {
  color: #748398;
  font-size: 7px;
  font-weight: 750;
}
.driver-document-type {
  background: #f2f5f9;
  border: 1px solid #d6dee8;
  border-radius: 4px;
  display: inline-block;
  font-size: 8px;
  font-weight: 800;
  max-width: 100%;
  overflow: hidden;
  padding: 3px 6px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-document-uploaded {
  color: #66768a;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.equipment-task-cell {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.equipment-task-cell strong {
  align-items: center;
  color: #244a73;
  display: flex;
  font-size: 9px;
  font-weight: 900;
  gap: 5px;
}
.equipment-task-cell strong img {
  height: 11px;
  width: 11px;
}
.equipment-task-cell small {
  color: #6e7e92;
  font-size: 7px;
  font-weight: 750;
  line-height: 1.35;
}
.equipment-task-cell button {
  background: transparent;
  border: 0;
  color: #1f66a5;
  cursor: pointer;
  font: 850 7px/1.2 inherit;
  justify-self: start;
  padding: 1px 0;
  text-decoration: underline;
  text-decoration-color: #a8c2db;
  text-underline-offset: 2px;
}
.equipment-task-cell button:hover { color: #164d7c; }
.equipment-task-cell.is-due strong { color: #a33c27; }
.equipment-task-cell.is-scheduled strong { color: #277047; }
.equipment-task-cell.is-off strong,
.equipment-task-cell.is-checking strong { color: #708096; }
.equipment-task-cell.is-missing strong { color: #9b3038; }
.driver-document-cdl-number {
  color: #183d6a;
  display: block;
  font-size: 9px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-document-actions { display: flex; gap: 4px; }
.driver-document-actions button {
  align-items: center;
  background: #fff;
  border: 1px solid #becddd;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  height: 25px;
  justify-content: center;
  padding: 0;
  width: 25px;
}
.driver-document-actions button:hover { background: #edf5fe; border-color: #7899bb; }
.driver-document-actions button.danger:hover { background: #fff2f3; border-color: #dca5aa; }
.driver-document-actions img { height: 11px; opacity: .72; width: 11px; }
.driver-document-column-control { position: relative; }
.driver-document-columns-button {
  align-items: center;
  background: #fff;
  border: 1px solid #bfcddd;
  border-radius: 5px;
  color: #23456e;
  cursor: pointer;
  display: flex;
  font: 850 8px/1 inherit;
  gap: 5px;
  height: 30px;
  padding: 0 9px;
  white-space: nowrap;
}
.driver-document-columns-button:hover,
.driver-document-columns-button[aria-expanded="true"] { background: #edf5fd; border-color: #7697ba; }
.driver-document-columns-button img { height: 12px; opacity: .7; width: 12px; }
.driver-document-columns-panel {
  background: #fff;
  border: 1px solid #b8c8d9;
  border-radius: 8px;
  box-shadow: 0 13px 32px rgba(25, 48, 76, .2);
  padding: 10px;
  position: absolute;
  right: 0;
  top: 36px;
  width: 390px;
  z-index: 40;
}
.driver-document-columns-panel[hidden] { display: none; }
.driver-document-columns-panel > header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}
.driver-document-columns-panel > header strong { color: #173b68; display: block; font-size: 10px; }
.driver-document-columns-panel > header span { color: #748399; display: block; font-size: 8px; margin-top: 2px; }
.driver-document-columns-panel > header button {
  align-items: center;
  background: #fff;
  border: 1px solid #c7d3e0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 24px;
  justify-content: center;
  padding: 0;
  width: 24px;
}
.driver-document-columns-panel > header img { height: 11px; width: 11px; }
.driver-document-column-options { display: grid; gap: 5px; grid-template-columns: 1fr 1fr; }
.driver-document-column-option {
  align-items: center;
  background: #f8fafc;
  border: 1px solid #d7e0ea;
  border-radius: 5px;
  display: flex;
  justify-content: space-between;
  min-width: 0;
  padding: 5px 6px;
}
.driver-document-column-option[draggable="true"] { cursor: grab; }
.driver-document-column-option.is-dragging { opacity: .45; }
.driver-document-column-option.is-drag-target { border-left: 3px solid #3271ad; }
.driver-document-column-option > label { align-items: center; display: flex; gap: 5px; min-width: 0; }
.driver-document-column-option input { accent-color: #245b93; margin: 0; }
.driver-document-column-option label span {
  color: #294665;
  font-size: 8px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.driver-document-column-option label em { color: #8a96a7; font-size: 6px; font-style: normal; }
.driver-document-column-option > div { display: flex; gap: 2px; }
.driver-document-column-option > div button {
  background: #fff;
  border: 1px solid #cad5e1;
  border-radius: 3px;
  color: #294c73;
  cursor: pointer;
  font-size: 9px;
  height: 21px;
  padding: 0;
  width: 22px;
}
.driver-document-column-option > div button:disabled { cursor: default; opacity: .3; }
.driver-document-columns-panel > footer { display: flex; gap: 6px; justify-content: flex-end; margin-top: 9px; }
.driver-document-columns-panel > footer button {
  background: #fff;
  border: 1px solid #bdcad8;
  border-radius: 4px;
  color: #274a72;
  cursor: pointer;
  font: 800 8px/1 inherit;
  padding: 6px 8px;
}
.driver-document-empty,
.driver-document-state,
.driver-document-locked {
  align-items: center;
  color: #778599;
  display: flex;
  flex-direction: column;
  font-size: 9px;
  gap: 5px;
  justify-content: center;
  min-height: 150px;
  padding: 20px;
  text-align: center;
}
.driver-document-empty img,
.driver-document-locked img { height: 26px; opacity: .42; width: 26px; }
.driver-document-empty strong,
.driver-document-locked strong { color: #42546b; font-size: 11px; }
.driver-document-state { flex-direction: row; min-height: 100px; }
.driver-document-state.error,
.driver-document-review-error {
  background: #fff5f5;
  color: #9b3038;
}
.driver-document-state.error { align-items: flex-start; border: 1px solid #e5b6bb; flex-direction: column; text-align: left; }
.driver-document-state button { background: #fff; border: 1px solid #c8d4e0; border-radius: 4px; color: #274c75; cursor: pointer; font: 800 8px/1 inherit; padding: 6px 9px; }
.driver-document-spinner {
  animation: driver-document-spin .75s linear infinite;
  border: 2px solid #c9d6e4;
  border-radius: 50%;
  border-top-color: #245b93;
  display: inline-block;
  height: 16px;
  width: 16px;
}
@keyframes driver-document-spin { to { transform: rotate(360deg); } }
.driver-document-review-layer,
.driver-document-confirm-layer,
.driver-document-method-layer {
  align-items: stretch;
  display: flex;
  inset: 0;
  justify-content: flex-end;
  position: fixed;
  z-index: 3100;
}
.driver-document-review-backdrop {
  background: rgba(24, 39, 57, .46);
  border: 0;
  cursor: default;
  inset: 0;
  position: absolute;
  width: 100%;
}
.driver-document-review-drawer {
  background: #fff;
  box-shadow: -18px 0 48px rgba(14, 31, 51, .22);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  overflow-y: auto;
  padding: 0;
  position: relative;
  width: 480px;
  z-index: 1;
}
.driver-document-review-drawer.is-cdl {
  height: 95vh;
  height: 95dvh;
  margin: 2.5vh 2.5vw;
  margin-block: 2.5dvh;
  max-width: none;
  overflow: hidden;
  width: 95vw;
}
.driver-document-review-drawer.is-cdl > header,
.driver-document-review-drawer.is-cdl > .driver-document-review-error { flex: 0 0 auto; }
.driver-document-review-drawer.is-cdl form { min-height: 0; overflow: hidden; }
/* Bound every link in the flex chain; otherwise the fieldset pushes Save below the dialog. */
.driver-document-review-drawer.is-cdl .document-review-fields {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.driver-document-review-drawer.is-cdl form > footer {
  background: #fff;
  flex: 0 0 auto;
  margin-top: 12px;
}
.driver-document-cdl-review-layout {
  display: grid;
  flex: 1;
  gap: 14px;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  min-height: 0;
  min-width: 0;
}
.driver-document-cdl-source,
.driver-document-cdl-fields { min-height: 0; min-width: 0; }
.driver-document-cdl-source {
  background: #f2f5f8;
  border: 1px solid #ccd7e3;
  border-radius: 8px;
  display: grid;
  grid-template-rows: auto minmax(120px, 1fr) auto;
  overflow: auto;
}
.driver-document-cdl-source > header {
  align-items: center;
  background: #fff;
  border-bottom: 1px solid #d5dee8;
  display: flex;
  justify-content: space-between;
  padding: 9px 11px;
}
.driver-document-cdl-source > header strong { color: #1d3e67; font-size: 10px; }
.driver-document-cdl-source > header span { color: #738196; font-size: 8px; }
.driver-document-cdl-source > div {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 0;
  overflow: auto;
  padding: 10px;
}
.driver-document-cdl-source > div > img,
.driver-document-cdl-source > div > iframe { border: 0; height: 100%; max-height: 100%; object-fit: contain; width: 100%; }
.driver-document-cdl-preview-empty { color: #718096; display: grid !important; gap: 5px; place-items: center; text-align: center; }
.driver-document-cdl-preview-empty img { height: 25px !important; opacity: .55; width: 25px !important; }
.driver-document-cdl-preview-empty strong { color: #344e6d; font-size: 10px; }
.driver-document-cdl-preview-empty span { font-size: 8px; }
.driver-document-cdl-fields { overflow-y: auto; padding-right: 8px; }
.driver-document-cdl-fields,
.driver-document-review-drawer.is-cdl .document-review-fields {
  overscroll-behavior-y: contain;
  scrollbar-color: #9baec5 #edf2f7;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
}
.driver-document-cdl-face {
  background: #fff;
  border-top: 1px solid #d3dde8;
  display: grid;
  gap: 9px;
  padding: 10px 11px;
}
.driver-document-cdl-face-head { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.driver-document-cdl-face-head > div { display: grid; gap: 2px; }
.driver-document-cdl-face-head strong { color: #1e426d; font-size: 9px; }
.driver-document-cdl-face-head span { color: #768499; font-size: 7px; }
.driver-document-cdl-face-head label { align-items: center; color: #294f79; display: flex; font-size: 8px; font-weight: 850; gap: 5px; white-space: nowrap; }
.driver-document-cdl-face-head input { accent-color: #1f5f9b; }
.driver-document-cdl-photo-locked { align-items: center; color: #758398; display: flex; font-size: 7px; font-weight: 800; gap: 4px; white-space: nowrap; }
.driver-document-cdl-photo-locked img { height: 10px; width: 10px; }
.driver-document-cdl-crop-controls { align-items: center; display: grid; gap: 10px; grid-template-columns: 82px 1fr; }
.driver-document-cdl-crop-controls canvas { background: #e8edf3; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #b9c8d8; height: 76px; width: 76px; }
.driver-document-cdl-crop-controls > div { display: grid; gap: 5px; }
.driver-document-cdl-crop-controls label { align-items: center; display: grid; gap: 7px; grid-template-columns: 105px 1fr; }
.driver-document-cdl-crop-controls label span { color: #53677f; font-size: 7px; font-weight: 800; }
.driver-document-cdl-crop-controls input { accent-color: #245f99; width: 100%; }
.driver-document-cdl-crop-controls small { color: #657b91; font-size: 7px; }
.driver-document-review-drawer > header {
  align-items: flex-start;
  border-bottom: 1px solid #d9e1ea;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 18px 18px 14px;
}
.driver-document-review-drawer header h2 { color: #19375f; font-size: 18px; margin: 5px 0 3px; }
.driver-document-review-drawer header p { color: #6b788b; font-size: 9px; line-height: 1.4; margin: 0; }
.driver-document-review-drawer header > button,
.driver-document-confirm-card .close {
  align-items: center;
  background: #f3f6f9;
  border: 1px solid #c8d2df;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  flex: 0 0 28px;
  height: 28px;
  justify-content: center;
  padding: 0;
}
.driver-document-review-drawer header > button img,
.driver-document-confirm-card .close img { height: 13px; width: 13px; }
.driver-document-ai-label {
  align-items: center;
  color: #32699f;
  display: flex;
  font-size: 7px;
  font-weight: 900;
  gap: 4px;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.driver-document-ai-label img { height: 11px; width: 11px; }
.driver-document-review-drawer form { display: flex; flex: 1; flex-direction: column; padding: 13px 18px 18px; }
.driver-document-review-source {
  align-items: center;
  background: #f6f9fc;
  border: 1px solid #d3dee9;
  border-radius: 6px;
  display: flex;
  gap: 9px;
  margin-bottom: 12px;
  padding: 7px;
}
.driver-document-review-source > div:last-child { display: grid; flex: 1; gap: 2px; min-width: 0; }
.driver-document-review-source strong { color: #233d5b; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.driver-document-review-source span { color: #7a8798; font-size: 7px; }
.driver-document-review-source em {
  color: #68798b;
  font-size: 7px;
  font-style: normal;
  font-weight: 850;
  text-transform: capitalize;
}
.driver-document-review-source em.high { color: #167047; }
.driver-document-review-source em.medium { color: #9b6800; }
.driver-document-review-source em.low { color: #a63d44; }
.driver-document-preview-image {
  border-radius: 4px;
  height: 58px;
  object-fit: cover;
  width: 72px;
}
.driver-document-preview-file {
  align-items: center;
  background: #e9eff6;
  border-radius: 4px;
  display: flex !important;
  flex: 0 0 72px !important;
  height: 58px;
  justify-content: center;
}
.driver-document-preview-file img { height: 22px; opacity: .64; width: 22px; }
.driver-document-preview-file strong,
.driver-document-preview-file span { display: none; }
.driver-document-form-grid { display: grid; gap: 9px; grid-template-columns: 1fr 1fr; }
.driver-document-form-grid label { display: grid; gap: 4px; }
.driver-document-form-grid label.wide { grid-column: 1 / -1; }
.driver-document-form-grid label > span { color: #40546d; font-size: 8px; font-weight: 850; }
.driver-document-mvr-note {
  color: #2c6d4e;
  float: right;
  font-size: 7px;
  font-weight: 850;
}
.driver-document-mvr-note[hidden] { display: none; }
.driver-document-form-grid input,
.driver-document-form-grid select,
.driver-document-form-grid textarea {
  background: #fff;
  border: 1px solid #b9c7d7;
  border-radius: 5px;
  box-sizing: border-box;
  color: #233d5a;
  font: 750 10px/1.25 inherit;
  min-height: 34px;
  padding: 7px 8px;
  width: 100%;
}
.driver-document-form-grid textarea { min-height: 65px; resize: vertical; }
.driver-document-form-grid input[readonly] {
  background: #f1f6f3;
  border-color: #b8d4c4;
  color: #285d45;
}
.driver-document-form-grid input:focus,
.driver-document-form-grid select:focus,
.driver-document-form-grid textarea:focus {
  border-color: #3b78ad;
  box-shadow: 0 0 0 2px rgba(59, 120, 173, .12);
  outline: 0;
}
.driver-document-type-section {
  background: #f7f9fc;
  border: 1px solid #d3dee9;
  border-radius: 7px;
  margin-top: 13px;
  padding: 11px;
}
.driver-document-type-section > header {
  align-items: center;
  border-bottom: 1px solid #dde5ed;
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  padding-bottom: 8px;
}
.driver-document-type-section > header > div { display: grid; gap: 2px; }
.driver-document-type-section > header strong { color: #23476f; font-size: 9px; }
.driver-document-type-section > header span { color: #758396; font-size: 7px; }
.driver-document-type-section > header em {
  background: #e8eff7;
  border-radius: 999px;
  color: #56708c;
  font-size: 7px;
  font-style: normal;
  font-weight: 850;
  padding: 4px 6px;
}
.driver-document-type-empty {
  color: #7a8798;
  font-size: 8px;
  padding: 3px 0;
}
.driver-document-sensitive-note {
  align-items: flex-start;
  background: #fff8e9;
  border: 1px solid #ead29d;
  border-radius: 5px;
  color: #805d15;
  display: flex;
  font-size: 7px;
  gap: 5px;
  line-height: 1.4;
  margin: 10px 0 0;
  padding: 7px;
}
.driver-document-sensitive-note img { flex: 0 0 11px; height: 11px; width: 11px; }
.driver-document-ai-warnings,
.driver-document-ai-clear,
.driver-document-manual-note,
.driver-document-review-error {
  border: 1px solid #ead09f;
  border-radius: 6px;
  margin-top: 12px;
  padding: 9px;
}
.driver-document-ai-warnings { background: #fffaf0; }
.driver-document-ai-warnings > strong,
.driver-document-ai-clear {
  align-items: center;
  color: #8e6105;
  display: flex;
  font-size: 8px;
  gap: 5px;
}
.driver-document-ai-warnings img,
.driver-document-ai-clear img,
.driver-document-human-note img { height: 12px; width: 12px; }
.driver-document-ai-warnings ul { display: grid; gap: 5px; list-style: none; margin: 7px 0 0; padding: 0; }
.driver-document-ai-warnings li { align-items: flex-start; color: #776034; display: flex; font-size: 8px; gap: 5px; line-height: 1.35; }
.driver-document-ai-clear { background: #f2fbf6; border-color: #b8ddc8; color: #26714b; }
.driver-document-manual-note {
  align-items: center;
  background: #f3f7fb;
  border-color: #c7d6e5;
  color: #3b5878;
  display: flex;
  font-size: 8px;
  gap: 6px;
}
.driver-document-manual-note img { height: 12px; opacity: .72; width: 12px; }
.driver-document-human-note {
  align-items: flex-start;
  color: #6f7d90;
  display: flex;
  font-size: 8px;
  gap: 5px;
  line-height: 1.4;
  margin: 11px 0 0;
}
.equipment-document-ai-review {
  background: #f5f9fe;
  border: 1px solid #c7d9ea;
  border-radius: 7px;
  display: grid;
  gap: 9px;
  margin: 0 0 13px;
  padding: 10px;
}
.equipment-document-ai-review > header { align-items: flex-start; border: 0; display: flex; gap: 7px; padding: 0; }
.equipment-document-ai-review > header > img { height: 14px; margin-top: 1px; width: 14px; }
.equipment-document-ai-review > header > div { display: grid; gap: 3px; }
.equipment-document-ai-review strong { color: #254e78; font-size: 8px; }
.equipment-document-ai-review span { color: #5f7186; font-size: 8px; line-height: 1.45; }
.equipment-document-ai-review > div > ul { display: grid; gap: 4px; margin: 6px 0 0; padding-left: 16px; }
.equipment-document-ai-review > div > ul li { color: #566b82; font-size: 8px; line-height: 1.4; }
.equipment-document-ai-review .driver-document-ai-warnings,
.equipment-document-ai-review .driver-document-ai-clear { margin-top: 0; }

/* Equipment required documents: pinned compliance summary over canonical saved files. */
.equipment-required-documents { margin-top: 2px; }
.equipment-required-documents > header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 4px 2px 11px;
}
.equipment-required-documents > header h2 { color: #18355e; font-size: 17px; margin: 0; }
.equipment-required-documents > header p { color: #748399; font-size: 9px; margin: 4px 0 0; }
.equipment-required-documents > header > span { align-items: center; color: #68788d; display: flex; font-size: 8px; font-weight: 850; gap: 5px; }
.equipment-required-documents > header > span img { height: 12px; opacity: .66; width: 12px; }
.equipment-required-list { border: 1px solid #ccd7e4; border-radius: 8px; overflow: hidden; }
.equipment-required-row {
  align-items: center;
  background: #fff;
  display: grid;
  gap: 12px;
  grid-template-columns: 58px 180px 82px minmax(230px, 1fr) 124px 80px 24px;
  min-height: 88px;
  padding: 0 12px 0 0;
  position: relative;
}
.equipment-required-row + .equipment-required-row { border-top: 1px solid #d8e1eb; }
.equipment-required-row::before { bottom: 0; content: ""; left: 0; position: absolute; top: 0; width: 4px; }
.equipment-required-row.is-current::before { background: #65b77c; }
.equipment-required-row.is-expiring::before { background: #d5a337; }
.equipment-required-row.is-expiring .equipment-required-state { background: #fff9e9; }
.equipment-required-row.is-expiring .equipment-required-state > img { filter: invert(45%) sepia(72%) saturate(922%) hue-rotate(5deg) brightness(91%) contrast(95%); }
.equipment-required-row.is-expiring .equipment-required-pill { background: #fff0c9; color: #93620b; }
.equipment-required-row.is-missing::before { background: #eb6a70; }
.equipment-required-row[data-equipment-required-drop] { transition: background-color .14s ease, box-shadow .14s ease; }
.equipment-required-row.is-file-dragover { background: #eef6ff; box-shadow: inset 0 0 0 2px #2f6eae; z-index: 1; }
.equipment-required-state { align-items: center; align-self: stretch; display: flex; justify-content: center; }
.equipment-required-row.is-current .equipment-required-state { background: #f4faf6; }
.equipment-required-row.is-missing .equipment-required-state { background: #fff7f7; }
.equipment-required-state > img { height: 24px; width: 24px; }
.equipment-required-row.is-current .equipment-required-state > img { filter: invert(41%) sepia(66%) saturate(584%) hue-rotate(91deg) brightness(85%); }
.equipment-required-row.is-missing .equipment-required-state > img { filter: invert(28%) sepia(97%) saturate(2074%) hue-rotate(341deg) brightness(102%); }
.equipment-required-identity { align-items: center; display: flex; gap: 9px; min-width: 0; }
.equipment-required-identity > img { background: #eef3f9; border-radius: 6px; box-sizing: content-box; height: 17px; padding: 8px; width: 17px; }
.equipment-required-identity strong { color: #17345b; font-size: 11px; line-height: 1.25; }
.equipment-required-pill { border-radius: 4px; font-size: 8px; font-weight: 900; justify-self: start; padding: 5px 8px; }
.equipment-required-row.is-current .equipment-required-pill { background: #e5f5e9; color: #23703c; }
.equipment-required-row.is-missing .equipment-required-pill { background: #ffe6e7; color: #b02934; }
.equipment-required-copy { display: grid; gap: 3px; min-width: 0; }
.equipment-required-copy strong { color: #17345b; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.equipment-required-copy span,
.equipment-required-copy small { color: #647790; display: block; font-size: 9px; }
.equipment-required-action { display: grid; gap: 4px; justify-self: stretch; }
.equipment-required-drop-hint { align-items: center; color: #687b92; display: flex; font-size: 8px; font-weight: 800; gap: 4px; justify-content: center; pointer-events: none; white-space: nowrap; }
.equipment-required-drop-hint img { height: 10px; opacity: .72; width: 10px; }
.equipment-required-row.is-file-dragover .equipment-required-drop-hint { color: #175a99; }
.equipment-required-row.is-file-dragover .equipment-required-drop-hint img { filter: invert(31%) sepia(47%) saturate(1325%) hue-rotate(171deg) brightness(88%); opacity: 1; }
.equipment-required-primary { align-items: center; border-radius: 5px; cursor: pointer; display: inline-flex; font: 850 9px/1 inherit; gap: 5px; justify-content: center; min-height: 36px; padding: 0 13px; white-space: nowrap; }
.equipment-required-primary.is-view { background: #fff; border: 1px solid #1e5592; color: #174987; }
.equipment-required-primary.is-view:hover { background: #f2f7fd; }
.equipment-required-primary.is-upload { background: #173f73; border: 1px solid #173f73; color: #fff; }
.equipment-required-primary.is-upload:hover { background: #204f86; }
.equipment-required-primary img { height: 12px; width: 12px; }
.equipment-required-primary.is-upload img { filter: brightness(0) invert(1); }
.equipment-required-view-only { color: #a13d45; font-size: 8px; font-weight: 850; text-align: center; }
.equipment-required-versions,
.equipment-required-chevron { background: transparent; border: 0; color: #175aaa; cursor: pointer; padding: 0; }
.equipment-required-versions { display: grid; font: inherit; gap: 2px; text-align: left; }
.equipment-required-versions strong,
.equipment-required-versions span { font-size: 8px; font-weight: 800; }
.equipment-required-versions:hover { color: #0d417e; text-decoration: underline; text-underline-offset: 2px; }
.equipment-required-chevron { align-items: center; display: flex; justify-content: center; }
.equipment-required-chevron img { height: 17px; width: 17px; }

.equipment-required-history-layer { align-items: center; display: flex; inset: 0; justify-content: center; position: fixed; z-index: 3200; }
.equipment-required-history-card { background: #fff; border-radius: 11px; box-shadow: 0 26px 70px rgba(14,29,47,.3); max-height: min(680px, calc(100vh - 32px)); overflow-y: auto; position: relative; width: min(700px, calc(100vw - 32px)); z-index: 1; }
.equipment-required-history-card > header { align-items: flex-start; border-bottom: 1px solid #d8e1eb; display: flex; justify-content: space-between; padding: 18px 20px 15px; }
.equipment-required-history-card > header span { color: #748399; display: block; font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.equipment-required-history-card > header h2 { color: #18355e; font-size: 18px; margin: 4px 0 0; }
.equipment-required-history-card > header p { color: #6d7c90; font-size: 8px; margin: 4px 0 0; }
.equipment-required-history-card > header > button { align-items: center; background: #f1f5f9; border: 0; border-radius: 50%; cursor: pointer; display: flex; height: 30px; justify-content: center; width: 30px; }
.equipment-required-history-card > header > button img { height: 14px; width: 14px; }
.equipment-required-history-list { padding: 5px 20px 10px; }
.equipment-required-history-row { align-items: center; border-bottom: 1px solid #e1e7ef; display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) auto auto; min-height: 64px; }
.equipment-required-history-file { align-items: center; display: flex; gap: 9px; min-width: 0; }
.equipment-required-history-file > img { background: #eef3f9; border-radius: 5px; box-sizing: content-box; height: 15px; padding: 7px; width: 15px; }
.equipment-required-history-file > span { display: grid; gap: 3px; min-width: 0; }
.equipment-required-history-file strong { color: #263e5c; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.equipment-required-history-file small { color: #738196; font-size: 8px; }
.equipment-required-history-label { background: #edf2f8; border-radius: 4px; color: #66768a; font-size: 7px; font-weight: 900; padding: 4px 6px; }
.equipment-required-history-label.is-current { background: #e5f5e9; color: #23703c; }
.equipment-required-history-empty { align-items: center; color: #748399; display: flex; flex-direction: column; gap: 5px; padding: 36px 20px; text-align: center; }
.equipment-required-history-empty img { height: 24px; opacity: .55; width: 24px; }
.equipment-required-history-empty strong { color: #314a68; font-size: 10px; }
.equipment-required-history-empty span { font-size: 8px; }
.equipment-required-history-card > footer { display: flex; justify-content: flex-end; padding: 0 20px 18px; }
.driver-document-review-drawer form > footer {
  border-top: 1px solid #dbe2eb;
  display: flex;
  gap: 7px;
  justify-content: flex-end;
  margin-top: auto;
  padding-top: 14px;
}
.driver-document-review-drawer footer button,
.driver-document-confirm-card > div button {
  align-items: center;
  background: #fff;
  border: 1px solid #bcc9d8;
  border-radius: 5px;
  color: #3a506b;
  cursor: pointer;
  display: flex;
  font: 850 9px/1 inherit;
  gap: 5px;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
}
.driver-document-review-drawer footer button.primary {
  background: #173f73;
  border-color: #173f73;
  color: #fff;
}
.driver-document-review-drawer footer img { filter: brightness(0) invert(1); height: 12px; width: 12px; }
.driver-document-working {
  align-items: center;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  padding: 40px 20px;
}
.driver-document-working .driver-document-spinner { height: 28px; margin-bottom: 7px; width: 28px; }
.driver-document-working strong { color: #294b70; font-size: 12px; }
.driver-document-working small { color: #7f8b9a; font-size: 8px; margin-top: 4px; }
.driver-document-review-error { border-color: #e3b0b5; display: grid; gap: 3px; margin: 12px 18px 0; }
.driver-document-review-error strong { font-size: 9px; }
.driver-document-review-error span { font-size: 8px; }
.driver-document-review-error button {
  background: #fff;
  border: 1px solid #d69ba1;
  border-radius: 4px;
  color: #8f2e36;
  cursor: pointer;
  font: 850 8px/1 inherit;
  justify-self: start;
  margin-top: 5px;
  padding: 6px 9px;
}
.driver-document-confirm-layer { align-items: center; justify-content: center; }
.driver-document-method-layer { align-items: center; justify-content: center; }
.driver-document-method-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 26px 70px rgba(14, 29, 47, .3);
  padding: 24px;
  position: relative;
  text-align: center;
  width: min(430px, calc(100vw - 32px));
  z-index: 1;
}
.driver-document-method-card > button.close {
  align-items: center;
  background: #f3f6f9;
  border: 1px solid #c8d2df;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 28px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 12px;
  top: 12px;
  width: 28px;
}
.driver-document-method-card > button.close img { height: 13px; width: 13px; }
.driver-document-method-icon {
  align-items: center;
  background: #edf4fb;
  border-radius: 12px;
  display: flex;
  height: 46px;
  justify-content: center;
  margin: 0 auto 11px;
  width: 46px;
}
.driver-document-method-icon img { height: 21px; opacity: .72; width: 21px; }
.driver-document-method-card h2 { color: #1f3552; font-size: 18px; margin: 0 0 6px; }
.driver-document-method-card > p { color: #6f7e91; font-size: 9px; line-height: 1.45; margin: 0 auto 14px; max-width: 330px; }
.driver-document-method-file {
  align-items: center;
  background: #f7f9fc;
  border: 1px solid #d5dee9;
  border-radius: 6px;
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  padding: 7px;
  text-align: left;
}
.driver-document-method-file > img { border-radius: 4px; height: 44px; object-fit: cover; width: 54px; }
.driver-document-method-file > .driver-document-preview-file { flex-basis: 54px !important; height: 44px; }
.driver-document-method-file > span:last-child { display: grid; gap: 2px; min-width: 0; }
.driver-document-method-file strong { color: #29435f; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.driver-document-method-file small { color: #7a8798; font-size: 7px; }
.driver-document-method-options { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.driver-document-method-options > button {
  align-items: center;
  background: #fff;
  border: 1px solid #becddd;
  border-radius: 7px;
  color: #294764;
  cursor: pointer;
  display: flex;
  gap: 9px;
  min-height: 70px;
  padding: 10px;
  text-align: left;
}
.driver-document-method-options > button:hover { background: #f4f8fc; border-color: #7394b7; }
.driver-document-method-options > button.ai { background: #173f73; border-color: #173f73; color: #fff; }
.driver-document-method-options > button.ai:hover { background: #204e84; }
.driver-document-method-options > button > img { height: 20px; opacity: .78; width: 20px; }
.driver-document-method-options > button.ai > img { filter: brightness(0) invert(1); opacity: 1; }
.driver-document-method-options > button span { display: grid; gap: 3px; }
.driver-document-method-options > button strong { font-size: 10px; }
.driver-document-method-options > button small { font-size: 7px; line-height: 1.35; opacity: .76; }
.driver-document-method-safety {
  align-items: center;
  color: #748398;
  display: flex;
  font-size: 7px;
  gap: 5px;
  justify-content: center;
  margin-top: 11px;
}
.driver-document-method-safety img { height: 10px; width: 10px; }
.driver-document-method-error {
  background: #fff3f4;
  border: 1px solid #e4b2b8;
  border-radius: 5px;
  color: #98343d;
  font-size: 8px;
  margin-bottom: 10px;
  padding: 7px;
  text-align: left;
}
.driver-document-confirm-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 26px 70px rgba(14, 29, 47, .3);
  padding: 28px 25px 24px;
  position: relative;
  text-align: center;
  width: min(360px, calc(100vw - 32px));
  z-index: 1;
}
.driver-document-confirm-card .close { position: absolute; right: 12px; top: 12px; }
.driver-document-confirm-card > span.icon {
  align-items: center;
  background: #fff0f2;
  border-radius: 12px;
  display: flex;
  height: 48px;
  justify-content: center;
  margin: 0 auto 12px;
  width: 48px;
}
.driver-document-confirm-card > span.icon img { filter: invert(38%) sepia(81%) saturate(1878%) hue-rotate(325deg); height: 22px; width: 22px; }
.driver-document-confirm-card h2 { color: #1f2e40; font-size: 18px; margin: 0 0 7px; }
.driver-document-confirm-card > strong { color: #44546a; display: block; font-size: 10px; }
.driver-document-confirm-card > p { color: #7b8695; font-size: 9px; line-height: 1.45; margin: 9px auto 19px; max-width: 290px; }
.driver-document-confirm-card > div { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.driver-document-confirm-card > div button.danger { background: #dc4957; border-color: #dc4957; color: #fff; }
.driver-document-locked { border: 1px dashed #c7d2df; border-radius: 8px; margin-top: 14px; }

@media (max-width: 1000px) {
  /* On narrow screens one scroll area contains both the source and all fields. */
  .driver-document-review-drawer.is-cdl .document-review-fields { display: block; overflow-y: auto; }
  .driver-document-cdl-review-layout { grid-template-columns: minmax(0, 1fr); }
  .driver-document-cdl-source { grid-template-rows: auto minmax(220px, 40vh) auto; }
  .driver-document-cdl-fields { overflow: visible; padding-right: 0; scrollbar-gutter: auto; }
}

@media (max-width: 720px) {
  .driver-document-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .driver-document-quick-head > small { display: none; }
  .driver-document-review-drawer.is-cdl { height: 100%; margin: 0; width: 100%; }
  .equipment-required-documents > header > span { display: none; }
  .equipment-required-row { gap: 8px; grid-template-columns: 44px minmax(0,1fr) auto 24px; padding: 10px 8px 10px 0; }
  .equipment-required-state { grid-row: 1 / span 3; }
  .equipment-required-identity { grid-column: 2; }
  .equipment-required-pill { grid-column: 3; }
  .equipment-required-copy { grid-column: 2 / 4; }
  .equipment-required-action { grid-column: 2; justify-self: start; min-width: 112px; }
  .equipment-required-primary { min-width: 112px; }
  .equipment-required-versions { grid-column: 3; }
  .equipment-required-chevron { grid-column: 4; grid-row: 1 / span 3; }
  .equipment-required-history-card { width: calc(100vw - 24px); }
  .equipment-required-history-row { align-items: start; grid-template-columns: 1fr auto; padding: 10px 0; }
  .equipment-required-history-row .driver-document-actions { grid-column: 1 / -1; }
  .driver-document-heading { align-items: flex-start; }
  .driver-document-heading > span { margin-top: 3px; }
  .driver-document-dropzone { align-items: flex-start; }
  .driver-document-dropzone > b { display: none; }
  .driver-document-steps > span:not(:last-child)::after { margin: 0 6px; width: 14px; }
  .driver-document-list-head { align-items: stretch; flex-direction: column; }
  .driver-document-list-tools { align-items: stretch; }
  .driver-document-list-head .driver-document-search { width: 100%; }
  .driver-document-review-drawer { width: 100%; }
}

@media (max-width: 480px) {
  .driver-document-method-card { padding: 20px 14px 16px; }
  .driver-document-method-options { grid-template-columns: 1fr; }
  .driver-document-list-tools { flex-direction: column; }
  .driver-document-columns-button { justify-content: center; width: 100%; }
  .driver-document-column-control { width: 100%; }
  .driver-document-columns-panel { left: 0; right: auto; width: min(390px, calc(100vw - 44px)); }
  .driver-document-column-options { grid-template-columns: 1fr; }
  .driver-document-heading > span { display: none; }
  .driver-document-drop-icon { flex-basis: 32px; height: 32px; }
  .driver-document-steps em { display: none; }
  .driver-document-steps > span:not(:last-child)::after { width: 42px; }
  .driver-document-review-drawer > header { padding: 14px; }
  .driver-document-review-drawer form { padding: 11px 14px 14px; }
  .driver-document-form-grid { grid-template-columns: 1fr; }
  .driver-document-form-grid label.wide { grid-column: auto; }
  .driver-document-review-drawer form > footer { position: sticky; bottom: 0; background: #fff; }
  .driver-document-review-drawer footer button { flex: 1; }
}
@view-transition {
  navigation: none;
}

/* Canonical customer billing workflow */
.load-billing-sections { display: grid; gap: 14px; }
.load-customer-billing { border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; overflow: hidden; }
.load-customer-billing > header,
.load-customer-billing > footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; }
.load-customer-billing > header { border-bottom: 1px solid #e2e8f0; }
.load-customer-billing > header > span,
.load-billing-control label { display: grid; gap: 3px; }
.load-customer-billing > header small,
.load-billing-control p,
.load-customer-billing > footer { color: #64748b; font-size: 12px; }
.load-billing-chip { display: inline-flex; align-items: center; width: fit-content; min-height: 24px; padding: 3px 9px; border: 1px solid #cbd5e1; border-radius: 999px; background: #f8fafc; color: #334155; font-size: 11px; font-style: normal; font-weight: 800; white-space: nowrap; }
.load-billing-chip.tone-bol,
.load-billing-chip.tone-invoiced { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.load-billing-chip.tone-factoring { background: #f5f3ff; border-color: #ddd6fe; color: #6d28d9; }
.load-billing-chip.tone-funded { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.load-billing-chip.tone-paid { background: #dcfce7; border-color: #86efac; color: #166534; }
.load-billing-chip.tone-canceled { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.load-billing-trigger {
  appearance: none;
  gap: 6px;
  font-family: inherit;
  cursor: pointer;
}
.load-billing-trigger:focus-visible,
.load-billing-trigger[aria-expanded="true"] { outline: 2px solid rgba(31, 95, 158, .24); outline-offset: 1px; }
.load-billing-trigger:disabled { cursor: wait; opacity: .58; }
.load-billing-trigger-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: currentColor; }
.load-billing-menu-option.tone-pending {
  --load-status-accent: #8b98a9; --load-status-text: #5f6d7d; --load-status-chip-bg: #f8fafc;
}
.load-billing-menu-option.tone-canceled {
  --load-status-accent: #dc3545; --load-status-text: #b42332; --load-status-chip-bg: #fff8f8;
}
.load-billing-menu-option.tone-bol {
  --load-status-accent: #6d9fce; --load-status-text: #397bb6; --load-status-chip-bg: #f7fbff;
}
.load-billing-menu-option.tone-invoiced {
  --load-status-accent: #356fbe; --load-status-text: #245ca6; --load-status-chip-bg: #f5f9ff;
}
.load-billing-menu-option.tone-factoring {
  --load-status-accent: #7765c5; --load-status-text: #604dac; --load-status-chip-bg: #faf8ff;
}
.load-billing-menu-option.tone-funded {
  --load-status-accent: #37a36b; --load-status-text: #237c4e; --load-status-chip-bg: #f5fcf8;
}
.load-billing-menu-option.tone-paid {
  --load-status-accent: #168346; --load-status-text: #116b39; --load-status-chip-bg: #f1fbf5;
}
.load-billing-restricted { color: #94a3b8; font-size: 12px; }
.load-billing-table-select {
  width: 100%;
  min-width: 118px;
  height: 30px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #f8fafc;
  padding: 0 26px 0 10px;
  color: #334155;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.load-billing-table-select:hover,
.load-billing-table-select:focus { border-color: #64748b; outline: none; box-shadow: 0 0 0 2px rgba(100, 116, 139, .14); }
.load-billing-table-select.tone-bol,
.load-billing-table-select.tone-invoiced { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.load-billing-table-select.tone-factoring { background: #f5f3ff; border-color: #ddd6fe; color: #6d28d9; }
.load-billing-table-select.tone-funded { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.load-billing-table-select.tone-paid { background: #dcfce7; border-color: #86efac; color: #166534; }
.load-billing-table-select.tone-canceled { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.load-billing-workflow { display: grid; grid-template-columns: repeat(6, minmax(92px, 1fr)); align-items: start; gap: 0; padding: 15px 14px 11px; overflow-x: auto; scrollbar-width: thin; }
/* The workspace lives inside a table cell. Keep this selector stronger than the generic
   `.loads-table td span { display: block; }` rule so the marker and label stay on separate rows. */
.load-customer-billing .load-billing-step { position: relative; display: grid; grid-template-rows: 14px minmax(16px, auto); align-content: start; justify-items: center; gap: 7px; min-width: 92px; min-height: 37px; color: #94a3b8; font-size: 11px; font-weight: 700; line-height: 1.2; text-align: center; white-space: normal; }
.load-billing-step::before { content: ""; position: absolute; top: 6px; left: 0; right: 0; height: 2px; background: #e2e8f0; }
.load-billing-step:first-child::before { left: 50%; }
.load-billing-step:last-child::before { right: 50%; }
.load-billing-step i { z-index: 1; box-sizing: border-box; width: 14px; height: 14px; border: 3px solid #e2e8f0; border-radius: 50%; background: #fff; }
.load-billing-step.is-complete,
.load-billing-step.is-current { color: #166534; }
.load-billing-step.is-complete::before,
.load-billing-step.is-current::before { background: #86efac; }
.load-billing-step.is-complete i,
.load-billing-step.is-current i { border-color: #22c55e; }
.load-billing-step.is-current i { background: #22c55e; box-shadow: 0 0 0 3px #dcfce7; }
.load-billing-control { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 8px 14px 14px; }
.load-billing-control label > span { color: #475569; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.load-billing-control select { min-width: 210px; height: 38px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; padding: 0 10px; color: #0f172a; font-weight: 700; }
.load-customer-billing > footer { border-top: 1px solid #e2e8f0; }

@media (max-width: 760px) {
  .load-billing-control,
  .load-customer-billing > footer { align-items: stretch; flex-direction: column; }
}

/* Assignment workspace: use almost all available space without sitting under navigation. */
@media (min-width: 701px) {
  #assignModal {
    top: max(12px, 2.5dvh);
    right: max(12px, 2.5vw);
    bottom: max(12px, 2.5dvh);
    left: max(12px, 2.5vw);
    width: auto;
    height: auto;
    padding: 0;
    align-items: stretch;
    justify-content: stretch;
  }
  #assignModal .assignment-board-card {
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    border-radius: 10px;
  }
  body.global-nav-enabled.app-sidebar-visible #assignModal {
    left: calc(196px + max(12px, 2.5vw));
  }
  body.global-nav-enabled.app-sidebar-visible.app-sidebar-collapsed #assignModal {
    left: calc(72px + max(12px, 2.5vw));
  }
}

@media (min-width: 701px) and (max-width: 1180px) {
  body.global-nav-enabled.app-sidebar-visible #assignModal,
  body.global-nav-enabled.app-sidebar-visible.app-sidebar-collapsed #assignModal {
    left: calc(72px + max(12px, 2.5vw));
  }
}

@media (max-width: 700px) {
  #assignModal {
    top: 54px;
    bottom: calc(58px + env(safe-area-inset-bottom));
    padding: 8px;
  }
  #assignModal .assignment-board-card {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    border-radius: 9px;
  }
  #assignModal .assignment-modal-head {
    min-height: 54px;
  }
  #assignModal .assignment-toolbar {
    flex-wrap: wrap;
    min-height: 76px;
  }
  #assignModal .assignment-summary {
    min-width: 0;
  }
  #assignModal .assignment-search {
    width: min(230px, 58vw);
  }
}
/* Effective-dated Driver Pay schedule */
.driver-pay-schedule-section{margin-top:18px}.driver-pay-schedule-section .driver-dossier-section-head>div{display:grid;gap:3px}.driver-pay-schedule-section .driver-dossier-section-head span{font-size:12px;color:#64748b}.driver-pay-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.driver-pay-editor-heading h3{margin:0}.driver-pay-add-button{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:9px;background:#0f172a;color:#fff;font:700 12px/1 inherit;padding:10px 13px;cursor:pointer}.driver-pay-add-button[hidden]{display:none}.driver-pay-add-button img{width:15px;height:15px;filter:brightness(0) invert(1)}.driver-pay-schedule-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:10px}.driver-pay-schedule-table{width:100%;border-collapse:collapse;min-width:760px;font-size:12px}.driver-pay-schedule-table th{padding:9px 12px;background:#f8fafc;color:#64748b;text-align:left;font-size:10px;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #e2e8f0}.driver-pay-schedule-table td{padding:11px 12px;color:#334155;border-bottom:1px solid #edf2f7;white-space:nowrap}.driver-pay-schedule-table tr:last-child td{border-bottom:0}.driver-pay-schedule-table td:first-child strong{color:#0f172a}.driver-pay-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.driver-pay-status.is-current{background:#dcfce7;color:#166534}.driver-pay-status.is-future{background:#dbeafe;color:#1d4ed8}.driver-pay-status.is-past{background:#f1f5f9;color:#64748b}.driver-pay-schedule-note,.driver-pay-schedule-state{margin:11px 0 0;color:#64748b;font-size:11px;line-height:1.5}.driver-pay-schedule-state{padding:16px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.driver-pay-schedule-state.is-error{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.driver-pay-rate-dialog{position:fixed;inset:0;margin:auto;border:0;padding:0;border-radius:14px;width:min(560px,calc(100vw - 28px));height:max-content;max-height:calc(100vh - 28px);box-shadow:0 28px 80px rgba(15,23,42,.28)}.driver-pay-rate-dialog::backdrop{background:rgba(15,23,42,.52);backdrop-filter:blur(2px)}.driver-pay-rate-card{position:relative;padding:24px;background:#fff}.driver-pay-rate-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#64748b;font-size:25px;cursor:pointer}.driver-pay-rate-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-right:30px}.driver-pay-rate-heading>div{display:grid;gap:3px}.driver-pay-rate-heading span{color:#2563eb;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.driver-pay-rate-heading h2{margin:0;color:#0f172a;font-size:22px}.driver-pay-rate-heading p{margin:0;color:#64748b;font-size:12px}.driver-pay-rate-heading .driver-pay-rate-lock{display:inline-flex;align-items:center;gap:6px;color:#166534;background:#dcfce7;padding:6px 8px;border-radius:999px;white-space:nowrap}.driver-pay-rate-lock img{width:13px;height:13px}.driver-pay-rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.driver-pay-rate-grid label{display:grid;gap:6px}.driver-pay-rate-grid label.wide{grid-column:1/-1}.driver-pay-rate-grid label>span{font-size:11px;font-weight:750;color:#475569}.driver-pay-rate-grid input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;padding:10px 11px;font:600 13px inherit;color:#0f172a;background:#fff}.driver-pay-rate-money{position:relative}.driver-pay-rate-money b{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:12px;color:#64748b}.driver-pay-rate-money input{padding-left:25px}.driver-pay-rate-impact{margin-top:16px;padding:11px 12px;border-radius:9px;background:#eff6ff;color:#1e40af;font-size:11px;line-height:1.45}.driver-pay-rate-error{margin-top:10px;color:#b91c1c;font-size:11px}.driver-pay-rate-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.driver-pay-rate-actions button{border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font:700 12px inherit;padding:9px 14px;cursor:pointer}.driver-pay-rate-actions .quick-save{border-color:#0f172a;background:#0f172a;color:#fff}.driver-pay-rate-actions button:disabled{opacity:.55;cursor:wait}@media(max-width:720px){.driver-pay-rate-grid{grid-template-columns:1fr}.driver-pay-rate-grid label.wide{grid-column:auto}.driver-pay-schedule-section .driver-dossier-section-head{align-items:flex-start;gap:10px}.driver-pay-add-button{flex:0 0 auto}}
.document-background-status {
  display: flex; align-items: center; gap: 9px; padding: 10px 12px;
  border: 1px solid #d6e3f4; border-radius: 7px; background: #f5f9ff;
  color: #234d7b; font-size: 12px; margin: 12px 0 8px;
}
.document-review-fields { border: 0; padding: 0; margin: 0; min-width: 0; width: 100%; }
.document-review-fields:disabled { opacity: .8; }
.driver-document-review-drawer footer button:disabled { cursor: wait; opacity: .65; }
.document-background-status .driver-document-spinner { width: 15px; height: 15px; flex: 0 0 15px; margin: 0; }
.document-background-status button { margin-left: auto; white-space: nowrap; }
.document-background-error { font-size: 12px; color: #9b2727; margin: 8px 0; }
.document-entry-methods { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 8px 0 16px; }
.document-entry-methods button { border: 1px solid #b9cbe2; border-radius: 6px; padding: 7px 10px; background: white; color: #29476e; font: inherit; font-size: 12px; cursor: pointer; }
.document-entry-methods button[aria-pressed="true"] { background: #e8f1ff; border-color: #6595d2; color: #153f76; }
.document-entry-methods small { color: #70829a; font-size: 11px; margin-left: 4px; }
.load-document-transfer-status { display: block; margin-top: 4px; color: #58728f; font-size: 11px; }

@media (max-width: 520px) {
  .numbers-page .period-date-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .numbers-page .period-date-row .period-range-apply {
    grid-column: 1 / -1;
  }
}
:root .note-privacy-control{display:inline-flex;align-items:center;justify-self:start;align-self:start;gap:6px;width:auto;max-width:100%;min-height:32px;margin:5px 0;padding:3px 8px;border:1px solid #d4deeb;border-radius:6px;background:#fff;color:#596b85;font-size:12px;font-weight:600;cursor:pointer;vertical-align:middle;flex:none}
:root .note-privacy-control:has(input:checked){border-color:#9d8ae8;background:#f3efff;color:#5538a5}
:root .note-privacy-control input{width:16px;height:16px;min-height:0;margin:0;accent-color:#6544bd;flex:none}
:root .note-privacy-control:has(input:disabled){cursor:default;opacity:.75}
:root .note-privacy-badge{display:inline-flex;gap:4px;align-items:center;font-size:10px;font-weight:700;color:#6544a4;background:#f3efff;border-radius:4px;padding:2px 5px;white-space:nowrap}

/* Broker availability redesign */
.broker-v2-availability {
  --broker-navy: #17365f;
  --broker-ink: #17243a;
  --broker-line: #dbe2eb;
  --broker-soft: #f6f8fb;
  background: #f6f8fb;
}
.broker-v2-availability .topbar {
  border-top: 3px solid #0e284c;
  border-bottom: 1px solid #25466f;
  background: var(--broker-navy);
  color: #fff;
}
.broker-v2-availability .broker-header-shell {
  min-height: 104px;
  display: grid;
  grid-template-columns: 264px minmax(240px, 1fr) minmax(225px, auto);
  align-items: center;
  gap: 20px;
  padding: 14px 24px 14px 18px;
}
.broker-v2-availability .broker-summary-strip {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  margin-top: 12px;
  padding: 9px 0;
  border-top: 1px solid var(--broker-line);
  border-bottom: 1px solid var(--broker-line);
  background: transparent;
}
.broker-v2-availability .summary-strip-label {
  margin-right: 3px;
  color: #6c7888;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.broker-v2-availability .summary-clear,
.broker-v2-availability .summary-filter-card {
  height: 34px;
  border: 1px solid #d2dbe7;
  border-radius: 5px;
  background: #f8fafc;
  color: #294361;
  font-family: inherit;
  cursor: pointer;
}
.broker-v2-availability .summary-clear {
  flex: 0 0 auto;
  padding: 0 9px;
  color: #788597;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
.broker-v2-availability .summary-clear:disabled {
  opacity: .42;
  cursor: default;
}
.broker-v2-availability .summary-filter-card {
  position: relative;
  flex: 0 0 170px;
  width: 170px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  padding: 0 8px;
  text-align: left;
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.broker-v2-availability .summary-filter-card:hover {
  border-color: #91a8c3;
  background: #f1f5fa;
  transform: translateY(-1px);
}
.broker-v2-availability .summary-filter-card::after {
  position: absolute;
  right: 50%;
  bottom: 0;
  left: 50%;
  height: 3px;
  background: #2e6da4;
  content: "";
  transition: left .2s ease, right .2s ease;
}
.broker-v2-availability .summary-filter-card[aria-pressed="true"] {
  border-color: #8aa9c8;
  background: #edf4fb;
}
.broker-v2-availability .summary-filter-card[aria-pressed="true"]::after {
  right: 0;
  left: 0;
}
.broker-v2-availability .summary-filter-card span {
  overflow: hidden;
  font-size: 11px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.broker-v2-availability .summary-filter-card strong {
  min-width: 24px;
  border-radius: 4px;
  background: #fff;
  padding: 2px 5px;
  color: #244f79;
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
}
.broker-v2-availability .brand-license {
  display: grid;
  justify-items: center;
  gap: 5px;
  min-width: 0;
}
.broker-v2-availability .brandmark {
  width: 112px;
  max-height: 42px;
  padding: 2px 4px;
  border: 0;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(5, 18, 37, .22);
}
.broker-v2-availability .authority-line {
  color: #d2dceb;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0;
  white-space: nowrap;
}
.broker-v2-availability .brandcopy { min-width: 0; }
.broker-v2-availability .eyebrow {
  color: #aebed5;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .12em;
}
.broker-v2-availability .title {
  margin: 1px 0 0;
  color: #fff;
  font-size: 23px;
  font-weight: 780;
  letter-spacing: 0;
  line-height: 1.25;
}
.broker-v2-availability .subtitle {
  margin-top: 3px;
  color: #c3cee0;
  font-size: 12px;
}
.broker-v2-availability .header-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(118px, auto));
  gap: 8px;
}
.broker-v2-availability .quickstat {
  min-width: 0;
  height: 48px;
  justify-content: space-between;
  gap: 12px;
  padding: 0 13px;
  border-radius: 7px;
  box-shadow: none;
}
.broker-v2-availability .quickstat.tomorrow {
  border-color: #cad7ea;
  background: #f2f6fc;
}
.broker-v2-availability .quickstat.tomorrow:hover,
.broker-v2-availability .quickstat.tomorrow.active {
  border-color: #8cadd8;
  background: #e8f0fb;
}
.broker-v2-availability .quickstat.tomorrow .statvalue { color: #285f9d; }
.broker-v2-availability .statlabel {
  color: #536174;
  font-size: 12px;
  font-weight: 650;
}
.broker-v2-availability .statvalue { font-size: 20px; }
.broker-v2-availability .headcontact {
  color: #d1dbea;
  font-size: 12px;
  line-height: 1.65;
  text-align: right;
}
.broker-v2-availability .headcontact a { color: #fff; }
.broker-v2-availability .live {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.broker-v2-availability .broker-shell {
  width: 100%;
  max-width: none;
  min-height: calc(100vh - 107px);
  display: grid;
  grid-template-columns: 264px minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  padding: 0;
}
.broker-v2-availability .broker-promo-card {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 25px 20px;
  border: 0;
  border-right: 1px solid var(--broker-line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.broker-v2-availability .promo-kicker {
  color: #69778a;
  font-size: 10px;
}
.broker-v2-availability .promo-name {
  color: var(--broker-navy);
  font-size: 16px;
}
.broker-v2-availability .promo-role { font-size: 11px; }
.broker-v2-availability .promo-phone,
.broker-v2-availability .promo-email-line { font-size: 12px; }
.broker-v2-availability .promo-email-line { align-items: center; }
.broker-v2-availability .promo-copy-email {
  border-radius: 5px;
  box-shadow: none;
}
.broker-v2-availability .promo-divider { margin: 14px 0 11px; }
.broker-v2-availability .promo-feedback { color: #7b8798; }
.broker-v2-availability .broker-board-main {
  min-width: 0;
  padding: 20px 24px 54px;
}
.broker-v2-availability .broker-filter-panel {
  padding-bottom: 0;
}
.broker-v2-availability .search-filter-row {
  display: grid;
  grid-template-columns: minmax(310px, 390px) minmax(405px, 1fr) 152px;
  align-items: center;
  gap: 10px;
}
.broker-v2-availability .location-search-fields {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 116px;
  gap: 8px;
}
.broker-v2-availability .zip-picker {
  position: relative;
  min-width: 0;
}
.broker-v2-availability .searchbox,
.broker-v2-availability .findradius,
.broker-v2-availability .clearradius {
  height: 40px;
  border-radius: 6px;
}
.broker-v2-availability .searchbox {
  padding: 0 12px;
  font-size: 14px;
}
.broker-v2-availability .zip-searchbox { padding-right: 50px; }
.broker-v2-availability .radius-options,
.broker-v2-availability .availability-options {
  display: flex;
  align-items: center;
  min-width: 0;
}
.broker-v2-availability .control-caption {
  margin-right: 9px;
  color: #6c7888;
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
}
.broker-v2-availability .segment-button,
.broker-v2-availability .date-filter-button {
  height: 36px;
  border: 1px solid #d1d9e4;
  border-right-width: 0;
  border-radius: 0;
  background: #fff;
  color: #536174;
  padding: 0 12px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.broker-v2-availability .radius-options .segment-button { padding: 0 9px; }
.broker-v2-availability .segment-button:first-of-type,
.broker-v2-availability .date-filter-button:first-child {
  border-radius: 6px 0 0 6px;
}
.broker-v2-availability .segment-button:last-of-type,
.broker-v2-availability .date-filter-button:last-child {
  border-right-width: 1px;
  border-radius: 0 6px 6px 0;
}
.broker-v2-availability .segment-button:hover,
.broker-v2-availability .date-filter-button:hover { background: #f2f5f9; }
.broker-v2-availability .segment-button.active,
.broker-v2-availability .date-filter-button.active {
  border-color: var(--broker-navy);
  border-right-width: 1px;
  background: var(--broker-navy);
  color: #fff;
}
.broker-v2-availability .segment-button.active + .segment-button,
.broker-v2-availability .date-filter-button.active + .date-filter-button { border-left-width: 0; }
.broker-v2-availability .custom-radius-input {
  width: 76px;
  height: 36px;
  margin-left: 8px;
  border: 1px solid #bdc9d8;
  border-radius: 6px;
  padding: 0 8px;
  color: var(--broker-ink);
  font: 650 12px inherit;
}
.broker-v2-availability .findradius {
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
  padding: 0 17px;
}
.broker-v2-availability .clearradius {
  position: absolute;
  z-index: 2;
  top: 6px;
  right: 6px;
  height: 28px;
  min-width: 0;
  padding: 0 8px;
  border-color: transparent;
  background: #eef2f7;
  font-size: 11px;
}
.broker-v2-availability .search-actions {
  width: 152px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.broker-v2-availability .availability-filter-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 152px;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}
.broker-v2-availability .availability-main {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.broker-v2-availability .custom-date-control {
  height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 4px;
  border: 1px solid #d1d9e4;
  border-radius: 6px;
  background: #fff;
  padding: 0 10px;
  color: #667386;
  font-size: 11px;
  font-weight: 700;
}
.broker-v2-availability .custom-date-control input {
  width: 132px;
  height: 30px;
  border: 0;
  background: transparent;
  color: var(--broker-ink);
  font: 650 12px inherit;
}
.broker-v2-availability .custom-date-control .smart-date-control {
  width: 205px;
  grid-template-columns: minmax(145px, 1fr) 34px;
}
.broker-v2-availability .custom-date-control .smart-date-display,
.broker-v2-availability .custom-date-control .smart-date-native-picker {
  height: 30px;
  min-height: 30px;
}
.broker-v2-availability .custom-date-control .smart-date-display {
  border: 0;
  background: transparent;
  padding: 0 5px;
  color: var(--broker-ink);
  font: 650 12px inherit;
}
.broker-v2-availability .custom-date-control.active {
  border-color: #8aa8cf;
  background: #edf4fc;
  color: var(--broker-navy);
}
.broker-v2-availability .sortcontrol {
  width: 152px;
  min-width: 152px;
  gap: 5px;
  margin-left: 0;
  padding-right: 7px;
  padding-left: 8px;
  border-radius: 6px;
}
.broker-v2-availability .sortselect { font-size: 11px; }
.broker-v2-availability .radius-msg {
  min-height: 31px;
  margin-top: 10px;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 12px;
}
.broker-v2-availability .broker-table {
  margin-top: 18px;
  border-radius: 6px;
}
.broker-v2-availability .broker-columns,
.broker-v2-availability .broker-row {
  grid-template-columns: 140px minmax(260px, 380px) 110px minmax(250px, 310px) minmax(220px, 1fr);
  gap: 10px;
}
.broker-v2-availability .broker-columns {
  min-height: 34px;
  padding-right: 12px;
  padding-left: 16px;
  background: #eef2f7;
}
.broker-v2-availability .broker-row {
  min-height: 64px;
  padding: 7px 12px 7px 16px;
}
.broker-v2-availability .broker-location .orientation-line {
  color: #6b7788;
  font-size: 11px;
}
.broker-v2-availability .broker-notes {
  min-width: 0;
  display: -webkit-box;
  overflow: hidden;
  color: #596779;
  font-size: 11px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.broker-v2-availability .broker-notes.empty { min-height: 1px; }
.broker-v2-availability .footnote { color: #8994a3; }

@media (max-width: 1380px) {
  .broker-v2-availability .broker-columns,
  .broker-v2-availability .broker-row {
    grid-template-columns: 132px minmax(210px, 1fr) 96px minmax(210px, .9fr) minmax(140px, .75fr);
  }
}

@media (max-width: 1100px) {
  .broker-v2-availability .broker-columns { display: none; }
  .broker-v2-availability .broker-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .broker-v2-availability .broker-status { grid-column: 1; grid-row: 1; }
  .broker-v2-availability .broker-unit {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: center;
    gap: 7px;
  }
  .broker-v2-availability .broker-location { grid-column: 1 / -1; grid-row: 2; }
  .broker-v2-availability .broker-dispatch { grid-column: 1 / -1; grid-row: 3; }
  .broker-v2-availability .broker-notes { grid-column: 1 / -1; grid-row: 4; }
  .broker-v2-availability .broker-notes.empty { display: none; }
}

@media (max-width: 1260px) {
  .broker-v2-availability .broker-header-shell {
    grid-template-columns: 220px minmax(220px, 1fr) 230px;
  }
  .broker-v2-availability .headcontact { grid-column: 3; grid-row: 1; }
  .broker-v2-availability .search-filter-row {
    grid-template-columns: minmax(300px, 1fr) auto 152px;
  }
}

@media (max-width: 980px) {
  .broker-v2-availability .broker-header-shell {
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 14px;
  }
  .broker-v2-availability .headcontact { display: none; }
  .broker-v2-availability .broker-summary-strip {
    padding-right: 0;
    padding-left: 0;
  }
  .broker-v2-availability .broker-shell { grid-template-columns: 1fr; }
  .broker-v2-availability .broker-promo-card {
    min-height: 0;
    display: grid;
    grid-template-columns: auto minmax(220px, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 12px 18px;
    border-right: 0;
    border-bottom: 1px solid var(--broker-line);
  }
  .broker-v2-availability .promo-head,
  .broker-v2-availability .promo-email-line,
  .broker-v2-availability .promo-divider { margin: 0; }
  .broker-v2-availability .promo-divider,
  .broker-v2-availability .promo-feedback { display: none; }
  .broker-v2-availability .search-filter-row { grid-template-columns: 1fr; }
  .broker-v2-availability .radius-options { flex-wrap: wrap; }
  .broker-v2-availability .search-actions { width: 152px; }
  .broker-v2-availability .availability-filter-row { grid-template-columns: 1fr; }
  .broker-v2-availability .availability-main { flex-wrap: wrap; }
}

@media (max-width: 620px) {
  .broker-v2-availability .broker-header-shell {
    grid-template-columns: 112px minmax(0, 1fr);
    padding: 12px 14px;
  }
  .broker-v2-availability .brand-license { justify-items: start; }
  .broker-v2-availability .authority-line { font-size: 9px; }
  .broker-v2-availability .title { font-size: 19px; }
  .broker-v2-availability .subtitle { display: none; }
  .broker-v2-availability .broker-summary-strip { padding: 8px 0; }
  .broker-v2-availability .summary-strip-label { display: none; }
  .broker-v2-availability .summary-filter-card { min-width: 122px; }
  .broker-v2-availability .broker-promo-card {
    grid-template-columns: 1fr auto;
    gap: 8px;
  }
  .broker-v2-availability .promo-kicker { display: none; }
  .broker-v2-availability .promo-email-line { justify-self: end; }
  .broker-v2-availability .promo-email-line a { display: none; }
  .broker-v2-availability .broker-board-main { padding: 14px 12px 42px; }
  .broker-v2-availability .location-search-fields { grid-template-columns: minmax(0, 1fr) 108px; }
  .broker-v2-availability .radius-options { gap: 5px; }
  .broker-v2-availability .radius-options .control-caption { width: 100%; }
  .broker-v2-availability .segment-button,
  .broker-v2-availability .date-filter-button {
    border-width: 1px;
    border-radius: 6px;
    padding: 0 10px;
  }
  .broker-v2-availability .segment-button:first-of-type,
  .broker-v2-availability .segment-button:last-of-type,
  .broker-v2-availability .date-filter-button:first-child,
  .broker-v2-availability .date-filter-button:last-child { border-radius: 6px; }
  .broker-v2-availability .availability-main > .control-caption { width: 100%; }
  .broker-v2-availability .availability-options { gap: 5px; flex-wrap: wrap; }
  .broker-v2-availability .custom-date-control { margin-left: 0; }
  .broker-v2-availability .sortcontrol { width: 100%; }
}
