/* Scope above the shared settlement theme so planning warnings stay legible in both themes. */
:root .settlement-builder-page .builder-section .insurance-setup-review {
  margin: 18px 0 24px; padding: 18px; border: 1px solid #657793;
  border-radius: 10px; background: #172433; color: #edf3fa; min-width: 0;
}
:root .settlement-builder-page .builder-section .insurance-setup-review__header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: start; gap: 12px; }
:root .settlement-builder-page .builder-section .insurance-setup-review h3 { margin: 0; font-size: 1.05rem; }
:root .settlement-builder-page .builder-section .insurance-setup-review__header p { margin: 5px 0 0; font-size: .8rem; }
:root .settlement-builder-page .builder-section .insurance-setup-review p { color: #c8d5e4; overflow-wrap: anywhere; }
:root .settlement-builder-page .builder-section .insurance-setup-review__pending { color: #ffe1a3; background: #493416; border: 1px solid #b28a42; border-radius: 6px; padding: 5px 8px; font-size: .75rem; }
:root .settlement-builder-page .builder-section .insurance-setup-review__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .75rem; }
:root .settlement-builder-page .builder-section .insurance-setup-review__legend span:nth-child(1) { color: #badeff; }
:root .settlement-builder-page .builder-section .insurance-setup-review__legend span:nth-child(2) { color: #e4ccff; }
:root .settlement-builder-page .builder-section .insurance-setup-review__legend span:nth-child(3) { color: #ffe1a3; }
:root .settlement-builder-page .builder-section .insurance-setup-review fieldset { margin: 0; padding: 0; border: 0; min-inline-size: 0; }
:root .settlement-builder-page .builder-section .insurance-setup-review__rows { padding: 0; list-style: none; }
:root .settlement-builder-page .builder-section .insurance-setup-review__rows > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 16px 0 16px 12px; margin-top: 12px; border-left: 3px solid #77b8eb; border-bottom: 1px solid #415369; }
:root .settlement-builder-page .builder-section .insurance-setup-review__rows > li > div { min-width: 0; }
:root .settlement-builder-page .builder-section .insurance-setup-review__rows > .insurance-setup-review__recovery { border-left-color: #c19af3; }
:root .settlement-builder-page .builder-section .insurance-setup-review__badge { display: inline-block; margin: 5px 0 8px 8px; padding: 3px 7px; border-radius: 5px; background: #153f60; color: #badeff; font-size: .72rem; }
:root .settlement-builder-page .builder-section .insurance-setup-review__recovery .insurance-setup-review__badge { background: #352650; color: #e4ccff; }
:root .settlement-builder-page .builder-section .insurance-setup-review .insurance-setup-review__assignment { margin: 6px 0; color: #ffe1a3; font-weight: 600; }
:root .settlement-builder-page .builder-section .insurance-setup-review label { margin-top: 10px; font-size: .8rem; }
:root .settlement-builder-page .builder-section .insurance-setup-review input { box-sizing: border-box; display: block; width: 100%; min-width: 0; min-height: 44px; margin-top: 7px; padding: 10px; border: 1px solid #8193a8; border-radius: 7px; background: #111d2b; color: #f1f5f9; font: inherit; }
:root .settlement-builder-page .builder-section .insurance-setup-review input::placeholder { color: #afbdd0; }
:root .settlement-builder-page .builder-section .insurance-setup-review input:hover:not(:disabled) { border-color: #a4cced; }
:root .settlement-builder-page .builder-section .insurance-setup-review input:focus-visible { outline: 3px solid #7dd3fc; outline-offset: 3px; }
:root .settlement-builder-page .builder-section .insurance-setup-review input:disabled { opacity: 1; background: #263446; color: #c2cedf; cursor: not-allowed; }
:root .settlement-builder-page .builder-section .insurance-setup-review .insurance-setup-review__amount { color: #ffe39b; text-align: right; white-space: nowrap; }
:root .settlement-builder-page .builder-section .insurance-setup-review small { display: block; color: #bdcadd; font-size: .76rem; font-weight: 400; line-height: 1.5; }
:root .settlement-builder-page .builder-section .insurance-setup-review__totals { margin: 18px 0 0; padding: 14px; border: 1px solid #8c7840; border-radius: 7px; background: #302a17; }
:root .settlement-builder-page .builder-section .insurance-setup-review__totals > div { display: flex; flex-wrap: wrap; gap: 6px 16px; justify-content: space-between; margin: 8px 0; }
:root .settlement-builder-page .builder-section .insurance-setup-review__totals dt { flex: 1; min-width: 0; color: #eadfc8; }
:root .settlement-builder-page .builder-section .insurance-setup-review__totals dd { margin: 0; color: #ffe39b; font-weight: 700; white-space: nowrap; }
:root .settlement-builder-page .builder-section .insurance-setup-review .insurance-setup-review__warning { padding: 10px 12px; border-left: 3px solid #d8a251; background: #392b18; color: #ffe1a3; font-size: .82rem; }
:root .settlement-builder-page .builder-section .insurance-setup-review .insurance-setup-review__footnote { font-size: .76rem; line-height: 1.55; }
:root .settlement-builder-page .builder-section .insurance-setup-review__sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 600px) {
  :root .settlement-builder-page .builder-section .insurance-setup-review { padding: 14px 12px; }
  :root .settlement-builder-page .builder-section .insurance-setup-review__rows > li { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  :root .settlement-builder-page .builder-section .insurance-setup-review .insurance-setup-review__amount { text-align: left; }
  :root .settlement-builder-page .builder-section .insurance-setup-review__badge { margin-left: 0; display: table; }
}
.settlement-report-summary{width:100%;margin:0 auto 24px;border:1px solid #c8a653;border-radius:12px;overflow:hidden;background:#fff;color:#253329}
.settlement-report-summary>header{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#103e2d;color:#fff;padding:20px!important}
.settlement-report-summary header small{color:#eed99d;font-size:11px;font-weight:800;letter-spacing:.08em}.settlement-report-summary header h2{font-size:20px!important;margin:5px 0 0!important;color:#fff!important}
.settlement-report-summary header button{flex-shrink:0;min-height:44px;border:1px solid #d0ad54;border-radius:7px;background:#f4dc9d;color:#213c2a;padding:9px 14px;font-weight:800;cursor:pointer}.settlement-report-summary header button:hover{background:#ffeab7}.settlement-report-summary button:focus-visible{outline:3px solid #37c6ce;outline-offset:3px}
.report-summary-body{padding:20px}.report-summary-body>p{margin:0 0 12px;font-size:13px;line-height:1.5}.report-summary-body .report-summary-asof{font-size:11px;color:#526159}.report-summary-body>.report-summary-asof:last-child{margin:14px 0 0}
.report-summary-settled{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-summary-settled>div,.report-summary-potential>div{min-width:0;padding:18px 12px;text-align:center;border-radius:9px;border:1px solid #c7a448}
.report-summary-settled .report-total-gross,.report-summary-potential .report-total-gross{background:#eff6ff;border:2px solid #2877c7;color:#155496}.report-summary-settled .report-total-paid{background:#edf9f0;border-color:#4d9967;color:#126337}
.report-summary-settled span,.report-summary-potential span{display:block;font-size:12px;font-weight:800}.report-summary-settled strong,.report-summary-potential strong{display:block;margin:10px 0;font-size:clamp(27px,3.2vw,40px);font-weight:900;line-height:1.15;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.report-summary-settled small,.report-summary-potential small{display:block;font-size:11px;line-height:1.5}
.report-summary-unrealized{margin-top:20px;padding-top:16px;border-top:2px dashed #cc8b33;color:#8a490b}.report-summary-unrealized h3{margin:0 0 12px;font-size:15px}.report-summary-potential{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-summary-potential>div{background:#fff6e7;border-color:#dca45a}.report-summary-unrealized p{font-size:11px;line-height:1.5;margin:10px 0 0}.report-summary-error{padding:12px;border:1px solid #c58125;border-radius:7px;color:#83490b;background:#fff4df}
@media(max-width:700px){.settlement-report-summary>header{align-items:flex-start;flex-direction:column;padding:16px!important}.report-summary-body{padding:14px}.report-summary-settled{grid-template-columns:minmax(0,1fr)}.report-summary-potential{grid-template-columns:minmax(0,1fr)}.report-summary-settled strong,.report-summary-potential strong{font-size:36px}}

.report-summary-paid-final{margin-top:24px;padding:24px 16px;border:2px solid #238146;border-radius:10px;background:#e6f6eb;color:#125b30;text-align:center}.report-summary-paid-final span{display:block;font-size:16px;font-weight:800}.report-summary-paid-final strong{display:block;margin:12px 0;font-size:clamp(38px,5vw,52px);font-weight:900;line-height:1.15;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.report-summary-paid-final small{display:block;font-size:12px;line-height:1.5}

.settlement-report-summary .report-summary-body small{color:inherit!important}

.settlement-report-summary>header small{color:#eed99d!important}
.report-summary-additional,.report-summary-insurance{margin-top:20px;padding:18px;border:2px solid #238146;border-radius:10px;background:#edf9f0;color:#125b30}.report-summary-additional>strong{font-size:28px}.report-summary-insurance{border-color:#8b51b3;background:#f7f1fc;color:#663394}.report-summary-insurance dl>div{display:flex;justify-content:space-between;gap:16px;padding-block:7px}.report-summary-insurance dd{margin:0;font-weight:700;white-space:nowrap}.report-summary-insurance dt{min-width:0;overflow-wrap:anywhere}.report-summary-additional h3,.report-summary-insurance h3{color:inherit!important}.report-summary-additional p,.report-summary-insurance p{font-size:13px;line-height:1.5}

.report-summary-potential{grid-template-columns:repeat(3,minmax(0,1fr))}
.report-summary-potential .report-unrealized-cut{border:2px solid #cf3b46;background:#fff1f2;color:#991b1b}
.report-summary-unrealized .report-summary-equation{padding:12px;background:#f5f7f6;border-radius:8px;font-size:12px;line-height:1.8;text-align:center;font-weight:700}
@media(max-width:700px){.report-summary-potential{grid-template-columns:minmax(0,1fr)}}

.report-summary-deductions{margin-top:24px;padding:24px 16px;border:2px solid #cf3b46;border-radius:10px;background:#fff1f2;color:#991b1b;text-align:center}.settlement-report-summary .report-summary-deductions h3{margin:0;font-size:16px;color:inherit}.report-summary-deductions>strong{display:block;margin:12px 0;font-size:clamp(38px,5vw,52px);font-weight:900;line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.report-summary-deductions p{margin:10px 0;font-size:12px;line-height:1.5}.report-summary-deductions dl{max-width:740px;margin:18px auto;text-align:left}.report-summary-deductions dl>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid #e6b4b8;font-size:13px}.report-summary-deductions dt{min-width:0;overflow-wrap:anywhere}.report-summary-deductions dd{margin:0;font-weight:800;white-space:nowrap}.report-summary-deductions .report-deduction-insurance{color:#7e22ce}.settlement-report-summary .report-summary-body>.report-summary-equation{padding:14px;margin:16px 0 0;background:#f5f7f6;border-radius:8px;text-align:center;font-size:13px;font-weight:700;line-height:1.8}.report-summary-equation span{color:#155496}.report-summary-equation b{color:#991b1b}.report-summary-equation em{color:#126337;font-style:normal}
.built-settlements {
  margin-block: 24px;
  color: var(--text, #f0f3fa);
}
.built-settlements > header,
.built-document > header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: start;
  flex-wrap: wrap;
}
.built-settlements h2,
.built-settlements h3 {
  margin: 0 0 8px;
}
.built-settlements small {
  color: #b8cce3;
}
.built-document {
  color: #f0f3fa;
  margin-top: 18px;
  padding: 22px;
  background: #17212e;
  border: 1px solid #67809b;
  border-left: 5px solid #d6ae54;
  border-radius: 12px;
}
.built-document.is-archived {
  border-left-color: #aa8bda;
}
.built-badge {
  display: inline-block;
  margin: 4px 3px 4px 0;
  padding: 5px 10px;
  border-radius: 20px;
  background: #2e3f57;
  color: #e0eafa;
  font-size: 0.85rem;
}
.built-badge.is-paid {
  background: #153e30;
  color: #b8f6d3;
}
.built-badge.is-unpaid {
  background: #493216;
  color: #ffe0ad;
}
.built-badge.is-viewed {
  background: #143d49;
  color: #b9effb;
}
.built-totals {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.built-totals > div {
  padding: 12px;
  background: #202d3f;
  border-radius: 8px;
}
.built-totals dt {
  font-size: 0.85rem;
  color: #ced8e8;
}
.built-totals dd {
  margin: 6px 0 0;
  font-weight: 750;
  color: #ffe3a1;
  font-size: 1.2rem;
}
.built-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-block: 14px;
}
.built-actions .built-send {
  background: #164f6b;
  color: #def4ff;
}
.built-actions .built-archive {
  background: #43305b;
  color: #eee0ff;
}
.built-actions .built-paid {
  background: #19523b;
  color: #c9f7df;
}
.built-actions .built-edit {
  background: #6a4a17;
  color: #ffe9b5;
}
.built-actions .built-delete {
  background: #5c2332;
  color: #ffe1e7;
}
.built-history {
  display: flex;
  gap: 10px;
  align-items: center;
}
.built-correction,
.built-payment {
  margin-top: 18px;
  padding: 18px;
  background: #222c3a;
  border: 1px solid #7a8da5;
  border-radius: 10px;
}
.built-correction label,
.built-payment label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.built-settlements input:not([type="checkbox"]),
.built-settlements select {
  width: 100%;
  min-height: 44px;
  padding: 10px;
  border: 1px solid #8597ae;
  background: #152031;
  color: #edf4ff;
  border-radius: 6px;
}
.built-settlements button {
  min-height: 44px;
  white-space: normal;
}
.built-payment-proof {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding: 12px;
  background: #143643;
  border-radius: 8px;
}
.built-error {
  background: #4c2130;
  color: #ffdae2;
  padding: 12px;
}
.built-success {
  background: #163d30;
  color: #c8f7db;
  padding: 12px;
}
@media (max-width: 600px) {
  .built-document {
    color: #f0f3fa;
    padding: 16px;
    min-width: 0;
  }
  .built-totals {
    grid-template-columns: 1fr 1fr;
  }
  .built-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .built-document header > * {
    max-width: 100%;
  }
  .built-settlements h3,
  .built-payment-proof {
    overflow-wrap: anywhere;
  }
  .built-totals > div {
    min-width: 0;
  }
}
.built-totals>div:has(dt:first-child) dd{overflow-wrap:anywhere}.built-totals>div:nth-child(4) dd{font-size:2.1rem;font-weight:950;color:#a7f3c1}.built-totals>div:nth-child(5) dd{color:#8ce5eb;font-size:1.45rem}.built-owed-value{display:grid;gap:6px;margin-block:18px;padding:18px;border:1px solid #3d8261;background:#16372b;border-radius:10px;color:#b9e8ca}.built-owed-value strong{font-size:1.8rem;font-weight:850;color:#a1e8b9}.built-actions .built-ai{color:#efe5ff;background:#593984}.built-carried{padding:12px;border-left:4px solid #22b8c8;background:#123c43;color:#a5f3fc}

@media(max-width:600px){.built-totals>div:nth-child(4),.built-totals>div:nth-child(5){grid-column:1 / -1}}

.built-explanation { margin-block: 12px; padding: 14px; border: 1px solid #8265b4; border-radius: 8px; background: #251d38; color: #e8ddff; overflow-wrap: anywhere; }
.built-explanation summary { cursor: pointer; color: #d6bdff; font-weight: 700; }
.built-explanation h3 { margin-block: 12px 8px; }
.built-explanation p, .built-explanation li { line-height: 1.5; }
.settlement-payment-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:auto;padding:20px;background:rgb(0 0 0/.7)}
.settlement-payment-dialog{box-sizing:border-box;width:min(100%,520px);min-width:0;margin:auto;padding:24px;border:1px solid var(--border,#555);border-radius:16px;background:var(--card,#151515);color:var(--foreground,#fff)}
.settlement-payment-dialog h2{margin:0;font-size:1.3rem}
.settlement-payment-dialog dl{margin:16px 0}
.settlement-payment-dialog dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0}
.settlement-payment-dialog dd{margin:0;white-space:nowrap;font-weight:750;font-variant-numeric:tabular-nums}
.settlement-payment-dialog fieldset{display:grid;gap:8px;border:0;padding:0;margin:16px 0}
.settlement-payment-dialog legend{margin-bottom:10px;font-weight:700}
.payment-choice{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid;border-radius:8px;font-weight:700}
.payment-choice input{width:20px;height:20px;flex:none}
.payment-choice.is-paid,.paid-amount{background:#dcfce7;color:#166534}
.payment-choice.is-partial{background:#fef3c7;color:#92400e}
.payment-choice.is-unpaid{background:#e2e8f0;color:#334155}
.settlement-payment-dialog .paid-amount,.settlement-payment-dialog .remaining-amount{padding:10px;border-radius:6px}
.partial-payment-amount{display:grid;gap:8px;font-weight:700}
.partial-payment-amount input{width:100%;min-width:0;box-sizing:border-box;font-size:1.1rem;padding:12px}
.partial-payment-amount small,.payment-confirmation-note{font-size:.85rem;font-weight:400;line-height:1.5}
.settlement-payment-dialog footer{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}
.settlement-payment-dialog [role=alert]{color:#fb7185}
.settlement-payment-dialog *{overflow-wrap:break-word}
@media(max-width:600px){.settlement-payment-overlay{padding:12px}.settlement-payment-dialog{padding:16px}.settlement-payment-dialog footer{flex-wrap:wrap}.settlement-payment-dialog footer button{flex:1;white-space:normal;min-width:110px}}
.settlement-payment-dialog .remaining-amount{background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 38%,rgba(255,255,255,.06)),repeating-linear-gradient(25deg,transparent 0 2px,rgba(255,255,255,.035) 2px 3px),linear-gradient(115deg,#084bc3 0%,#3446bb 48%,#7135a6 100%);color:#ffe47a;border:1px solid #a8b4ff;box-shadow:inset 0 1px 0 #ffffff55,0 4px 12px #343bb321}
.settlement-payment-dialog .paid-amount dd{font-size:1.75rem}
.driver-payout{min-width:0;color:var(--foreground);box-sizing:border-box}
.driver-payout h2{color:var(--primary)}
.driver-payout .payout-breakdown{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 16px;border:1px solid var(--border);padding:14px;border-radius:12px}
.driver-payout dd{margin:0;font-weight:700}
.payout-paid{color:var(--success,#16844b)}
.payout-fee{color:var(--destructive,#b12632)}
.payout-money{color:var(--primary,#a47424)}
.driver-payout .payout-pending{color:var(--warning,#9b570c);font-size:13px}
.driver-payout label{display:grid;gap:6px;margin-block:12px}
.driver-payout input,.driver-payout textarea{min-width:0;width:100%;box-sizing:border-box}
.driver-payout label.payout-check{display:flex;align-items:flex-start}
.driver-payout .payout-check input{width:auto;margin-top:4px}
.payout-cash{display:grid;gap:7px;border-inline-start:4px solid var(--success,#16844b);padding:14px;margin-block:12px;background:var(--card);border-radius:8px}
.payout-cash strong{font-size:24px}
.payout-cash button{justify-self:start}
.driver-payout footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.driver-payout{overflow-wrap:anywhere}
.payout-support{border:1px solid var(--border);border-inline-start:4px solid var(--primary,#a47424);border-radius:10px;padding:12px;margin-block:14px;min-width:0}
.payout-support p{font-size:13px;color:var(--muted-foreground)}
.payout-support-file{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-block:7px}
.payout-support audio{width:100%;max-width:360px}
/* Pair each surface with the shared theme foreground. The old --panel
   fallback stayed dark while light-mode text inherited nearly black. */
.paid-loads,.builder-multiweek{min-width:0;margin-block:24px;color:var(--foreground)}
.paid-loads>header,.paid-load>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.paid-loads h2,.paid-loads h3{margin:0 0 8px}.paid-loads small{color:var(--muted-foreground)}
.paid-loads-filters{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-block:16px}
.paid-loads-filters label{display:flex;align-items:center;gap:8px}.paid-loads-filters input[type=search]{max-width:100%;min-width:0}
.paid-loads-legend{color:var(--success)}.paid-loads-legend span{margin-inline-start:18px;color:var(--num-gold)}.paid-loads-legend span:last-child{color:var(--warning)}
.paid-load{border:1px solid #43795c;border-inline-start:4px solid #62b77a;background:var(--card);color:var(--foreground);border-radius:12px;padding:20px;margin-block:12px;overflow-wrap:anywhere}
.paid-load-editor{border-block-start:1px solid #506075;margin-block-start:16px;padding-block-start:16px}.paid-load-editor>label{display:grid;gap:6px;margin-block:12px}.paid-load-editor input,.paid-load-editor textarea{width:100%;box-sizing:border-box}
.paid-load-unpaid{background:#582e11;color:#ffdcad;border-color:#c88c45}
.builder-week-menu{border:1px solid #527da6;padding:16px;border-radius:12px;background:var(--card);color:var(--foreground)}
.builder-week-choice{display:flex;gap:12px;align-items:flex-start;padding-block:12px}.builder-week-choice small{display:block;color:var(--muted-foreground);margin-top:4px}
.builder-package-week{margin-block:20px;border-block-start:2px solid #527da6;padding-block-start:16px}.builder-package-week>summary{color:var(--info);font-weight:700;cursor:pointer}.builder-package-week .settlement-builder-workspace{margin-block:16px}
.builder-package-review{border:1px solid #c49d45;border-inline-start:4px solid #eac562;border-radius:12px;padding:24px;background:var(--card);color:var(--foreground);margin-block:24px}
.builder-package-review>label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-block:16px}.builder-package-review input[type=number]{max-width:100%;min-width:0}
.builder-scope-confirm{max-width:min(560px,calc(100vw - 32px));box-sizing:border-box;background:var(--card);color:var(--foreground);padding:24px;border:1px solid #c49d45;border-radius:12px}
.builder-scope-overlay{position:fixed;inset:0;z-index:1000;background:#0009;display:grid;place-items:center;padding:16px}
@media(max-width:640px){.paid-load,.builder-package-review{padding:16px}.paid-loads-filters{align-items:stretch}.paid-loads-filters>label{width:100%;flex-wrap:wrap}.paid-loads-legend span{display:block;margin:6px 0}.paid-loads .built-actions>button{max-width:100%;white-space:normal}}

/* Accountant → Driver Settlement Updates uses one opaque room-colored
   surface. Share it with the cards so dark mode has no unrelated black/navy
   rectangles and light mode never inherits pale text from legacy panels.
   Keep the existing centered page geometry and status/action color pairs. */
:root :is(.operations-room-content:has(.settlement-builder-page), .settlement-builder-page) {
  --settlement-surface: color-mix(in srgb, var(--room-accent, #c99b62) 23%, var(--background, #fff));
  --settlement-muted: color-mix(in srgb, var(--foreground) 80%, var(--settlement-surface));
  --settlement-gold: #795208;
  --settlement-green: #166534;
  --settlement-orange: #874207;
  --settlement-purple: #693da0;
  --settlement-blue: #075985;
  --settlement-cyan: #155e75;
  --settlement-red: #a41d35;
}
:root[data-theme="dark"] :is(.operations-room-content:has(.settlement-builder-page), .settlement-builder-page) {
  --settlement-gold: #f1d187;
  --settlement-green: #b8f6d3;
  --settlement-orange: #ffdcad;
  --settlement-purple: #d7bbff;
  --settlement-blue: #a3d3ff;
  --settlement-cyan: #b9effb;
  --settlement-red: #ffb4c1;
}
:root .operations-room-content:has(.settlement-builder-page) {
  background: var(--settlement-surface);
}
:root .settlement-builder-page,
:root .settlement-builder-page :is(.built-settlements, .built-document, .builder-percentages) {
  color: var(--foreground);
}
:root .settlement-builder-page :is(
  .paid-load, .builder-scope, .builder-section, .builder-summary,
  .builder-week-menu, .builder-package-review, .builder-scope-confirm,
  .builder-weekly-insurance, .builder-adjustment, .builder-insurance-controls,
  .builder-account-scope, .built-document, .built-totals > div,
  .built-correction, .built-payment
) {
  background: var(--settlement-surface);
  color: var(--foreground);
}
:root .settlement-builder-page :is(
  small, .builder-section p, .builder-help, .builder-empty, .built-totals dt
) {
  color: var(--settlement-muted);
}
:root .settlement-builder-page :is(
  input:not([type="checkbox"]), select, textarea
) {
  background: var(--settlement-surface);
  color: var(--foreground);
  border-color: color-mix(in srgb, var(--foreground) 45%, var(--settlement-surface));
}
:root .settlement-builder-page :is(input, textarea)::placeholder {
  color: var(--settlement-muted);
  opacity: 1;
}
:root .settlement-builder-page :is(input, select, textarea, button, summary):focus-visible {
  outline-color: var(--settlement-blue);
}
:root .settlement-builder-page :is(.builder-eyebrow, .builder-choice > strong, .builder-net, .built-totals dd, .builder-percentages h2) {
  color: var(--settlement-gold);
}
:root .settlement-builder-page :is(.builder-legend, .builder-load-menu summary, .builder-percentage-owner, .builder-package-week > summary) {
  color: var(--settlement-blue);
}
:root .settlement-builder-page :is(.builder-legend span:nth-child(1), .builder-summary .is-fuel, .builder-fuel-state) {
  color: var(--settlement-orange);
}
:root .settlement-builder-page :is(.builder-legend span:nth-child(2), .builder-summary .is-insurance, .builder-per-load-percent summary, .built-explanation summary) {
  color: var(--settlement-purple);
}
:root .settlement-builder-page .builder-legend span:nth-child(3) { color: var(--settlement-gold); }
:root .settlement-builder-page :is(.builder-legend span:nth-child(4), .builder-summary .is-bonus, .builder-owed strong, .builder-planned-paid strong, .built-totals > div:nth-child(4) dd, .built-owed-value strong, .paid-loads-legend) {
  color: var(--settlement-green);
}
:root .settlement-builder-page .paid-loads-legend span { color: var(--settlement-gold); }
:root .settlement-builder-page .paid-loads-legend span:last-child { color: var(--settlement-orange); }
:root .settlement-builder-page :is(.builder-escrow, .builder-escrow strong, .built-totals > div:nth-child(5) dd) {
  color: var(--settlement-cyan);
}
:root .settlement-builder-page .builder-amount input { color: var(--settlement-orange) !important; }
:root .settlement-builder-page .builder-insurance .builder-amount input { color: var(--settlement-purple) !important; }
/* Keep warnings and supporting explanations distinct without changing the
   meaning or contrast of the existing status badges and action buttons. */
:root .settlement-builder-page :is(.builder-warning, .builder-fuel-menu summary) {
  background: color-mix(in srgb, var(--settlement-orange) 8%, var(--settlement-surface));
  color: var(--settlement-orange);
}
:root .settlement-builder-page :is(.builder-fuel-review, .built-explanation) {
  background: color-mix(in srgb, var(--settlement-purple) 8%, var(--settlement-surface));
  color: var(--settlement-purple);
}
:root .settlement-builder-page :is(.builder-success, .builder-payout-plan, .built-owed-value, .built-success) {
  background: color-mix(in srgb, var(--settlement-green) 8%, var(--settlement-surface));
  color: var(--settlement-green);
}
:root .settlement-builder-page :is(.builder-fee-waiver, .builder-error, .built-error) {
  color: var(--foreground);
}
:root .settlement-builder-page :is(.builder-error, .built-error) {
  background: color-mix(in srgb, var(--settlement-red) 8%, var(--settlement-surface));
  color: var(--settlement-red);
}
:root .settlement-builder-page :is(.built-payment-proof, .built-carried) {
  background: color-mix(in srgb, var(--settlement-cyan) 8%, var(--settlement-surface));
  color: var(--settlement-cyan);
}
/* Standard page uses the shared .page centering contract within its workspace. */
.settlement-builder-page {
  color: var(--text, #e5e7eb);
  min-width: 0;
}
.builder-heading {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
}
.builder-heading h1 {
  margin: 4px 0;
  font-size: clamp(1.65rem, 3vw, 2.3rem);
}
.builder-eyebrow {
  color: #e6c76e;
  font-size: 0.75rem;
  letter-spacing: 0.13em;
}
.builder-heading p {
  margin: 8px 0;
}
.builder-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  color: #86c6ff;
  font-size: 0.85rem;
}
.builder-legend span:nth-child(1) {
  color: #ffc489;
}
.builder-legend span:nth-child(2) {
  color: #d7bbff;
}
.builder-legend span:nth-child(3) {
  color: #f0d273;
}
.builder-legend span:nth-child(4) {
  color: #8ce2b6;
}
.builder-scope {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 16px;
  padding: 20px;
  background: #142537;
  border: 1px solid #3f6b90;
  border-radius: 12px;
  margin: 22px 0;
}
.builder-scope label {
  flex: 1;
  min-width: 180px;
}
.settlement-builder-page label {
  display: block;
  font-weight: 600;
}
.settlement-builder-page input:not([type="checkbox"]),
.settlement-builder-page select,
.settlement-builder-page textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin-top: 7px;
  min-height: 44px;
  border: 1px solid #73869d;
  border-radius: 7px;
  background: #172233;
  color: #f1f5f9;
  padding: 10px;
  font: inherit;
}
.settlement-builder-page textarea {
  min-height: 90px;
  resize: vertical;
}
.settlement-builder-page input:focus-visible,
.settlement-builder-page select:focus-visible,
.settlement-builder-page textarea:focus-visible,
.settlement-builder-page button:focus-visible {
  outline: 3px solid #7dd3fc;
  outline-offset: 3px;
}
.settlement-builder-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 350px);
  gap: 22px;
  align-items: start;
}
.settlement-builder-selections {
  min-width: 0;
}
.builder-section {
  padding: 20px;
  margin-bottom: 20px;
  border: 1px solid #506277;
  border-left: 4px solid;
  border-radius: 10px;
  background: #141d29;
}
.builder-section h2,
.builder-summary h2 {
  font-size: 1.15rem;
  margin: 0 0 8px;
}
.builder-section p {
  color: #c6d1df;
  line-height: 1.5;
}
.builder-loads {
  border-left-color: #67b7ff;
}
.builder-fuel {
  border-left-color: #f8a557;
}
.builder-insurance {
  border-left-color: #ba90ff;
}
.builder-recorded {
  border-left-color: #51d3cf;
}
.builder-choice {
  display: flex !important;
  align-items: start;
  gap: 12px;
  padding: 15px 0;
  border-bottom: 1px solid #334155;
  cursor: pointer;
  font-weight: 400 !important;
  overflow-wrap: anywhere;
}
.builder-choice input[type="checkbox"],
.builder-review-check input {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  accent-color: #56c89b;
  margin-top: 2px;
}
.builder-choice > span {
  flex: 1;
  min-width: 0;
}
.builder-choice > strong {
  text-align: right;
  white-space: nowrap;
  color: #ead082;
}
.settlement-builder-page small {
  display: block;
  color: #bdcadd;
  font-size: 0.8rem;
  line-height: 1.5;
  font-weight: 400;
}
.builder-recovery-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 155px;
  gap: 12px;
  align-items: center;
}
.builder-recovery-row:has(> .builder-choice:last-child) {
  grid-template-columns: 1fr;
}
.builder-amount {
  font-size: 0.85rem;
}
.builder-amount input {
  color: #ffe3b7 !important;
}
.builder-insurance .builder-amount input {
  color: #e0ccff !important;
}
.builder-summary {
  position: sticky;
  top: 100px;
  background: #1d261f;
  border: 1px solid #a08b41;
  border-top: 4px solid #d9b75d;
  border-radius: 12px;
  padding: 22px;
  min-width: 0;
}
.builder-summary dl > div,
.builder-line {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin: 12px 0;
  align-items: start;
}
.builder-summary dd {
  margin: 0;
  white-space: nowrap;
  font-weight: 700;
}
.builder-summary .is-fuel {
  color: #ffc489;
}
.builder-summary .is-insurance {
  color: #d6baff;
}
.builder-net {
  padding: 16px 0;
  border-top: 1px solid #6b6952;
  font-size: 1.2rem;
  color: #ffe59b;
}
.builder-status {
  display: inline-block;
  border-radius: 20px;
  padding: 5px 12px;
  background: #3d3254;
  color: #e1ccff;
  font-size: 0.8rem;
}
.builder-status.is-posted {
  background: #174b37;
  color: #9ee5c0;
}
.builder-review-check {
  display: flex !important;
  gap: 10px;
  font-weight: 400 !important;
  font-size: 0.9rem;
  line-height: 1.5;
  margin-top: 18px;
}
.builder-help {
  font-size: 0.8rem;
  color: #c6d1df;
  line-height: 1.5;
}
.builder-save,
.builder-post {
  width: 100%;
  margin-top: 16px;
  min-height: 46px;
}
.builder-save {
  background: #184c6f !important;
  color: #ddf3ff !important;
  border: 1px solid #6ca8cf !important;
}
.builder-post {
  background: #196248 !important;
  color: #e1fff0 !important;
  border: 1px solid #5dd2a3 !important;
}
.settlement-builder-page button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.builder-warning,
.builder-error,
.builder-success {
  padding: 16px;
  border: 1px solid #b58a46;
  border-radius: 8px;
  background: #392a17;
  color: #ffe4ad;
  line-height: 1.5;
}
.builder-error {
  background: #3b1e24;
  border-color: #dd7a89;
  color: #ffd9df;
}
.builder-success {
  background: #153d2f;
  border-color: #51b58d;
  color: #c0f5dc;
}
.builder-empty {
  padding: 40px 22px;
  border: 1px dashed #526a84;
  border-radius: 12px;
  color: #c6d1df;
}
.builder-drafts {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 20px 0;
}
.builder-drafts h2 {
  font-size: 1rem;
  width: 100%;
  margin: 0;
}
.builder-line {
  border-bottom: 1px solid #334155;
  padding-bottom: 10px;
}
.builder-line span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.builder-line strong {
  white-space: nowrap;
}
@media (max-width: 900px) {
  .settlement-builder-workspace {
    grid-template-columns: minmax(0, 1fr);
  }
  .builder-summary {
    position: static;
  }
  .builder-heading {
    align-items: start;
    flex-direction: column;
  }
  .builder-scope label {
    min-width: 0;
    flex-basis: 100%;
  }
  .builder-recovery-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .builder-amount {
    max-width: 240px;
  }
  .builder-section {
    padding: 16px;
  }
  .builder-choice > strong {
    white-space: normal;
    max-width: 105px;
  }
  .builder-heading button {
    width: 100%;
  }
}
.builder-weekly-insurance {
  border: 1px solid #765d9a;
  padding: 14px;
  border-radius: 8px;
  margin: 18px 0;
  background: #251d35;
}
.builder-weekly-insurance > label + label {
  margin-top: 16px;
}
.builder-adjustments {
  border-left-color: #4ac7ad;
}
.builder-adjustment-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.builder-adjustment {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #a77946;
  border-radius: 8px;
  background: #282218;
}
.builder-adjustment.is-convenience_bonus {
  border-color: #64b88c;
  background: #192e23;
}
.builder-adjustment h3 {
  font-size: 1rem;
  margin: 0 0 12px;
}
.builder-adjustment label {
  margin-bottom: 12px;
}
.builder-summary .is-bonus {
  color: #92e7b9;
}
.builder-insurance-controls {
  grid-column: 1/-1;
  padding: 12px;
  background: #211b2e;
  border-radius: 8px;
}
.builder-insurance-controls > label {
  margin-bottom: 14px;
}
.builder-insurance-controls .builder-amount {
  max-width: 260px;
}
.builder-fee-waiver {
  grid-column: 1/-1;
  display: flex !important;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid #77975c;
  border-radius: 8px;
  color: #d3edb6;
  font-size: 0.9rem;
}
.builder-fee-waiver input {
  width: 20px;
  height: 20px;
  accent-color: #56c89b;
  flex: 0 0 20px;
}
.builder-adjustment-actions button:nth-child(1) {
  background: #4a321c;
  color: #ffe0b0;
  border-color: #bb8b51;
}
.builder-adjustment-actions button:nth-child(2) {
  background: #1c4a35;
  color: #c2f2d8;
  border-color: #5fad86;
}
.builder-adjustment-actions button:nth-child(3) {
  background: #49252d;
  color: #ffd6dd;
  border-color: #b37380;
}

.builder-fuel-menu summary{cursor:pointer;padding:16px;background:#52351c;color:#ffe3ba;border:1px solid #be8853;border-radius:8px;font-weight:750;min-height:48px}.builder-fuel-menu[open] summary{margin-bottom:16px}.builder-fuel-menu summary:focus-visible{outline:3px solid #79c9ff;outline-offset:3px}
.builder-fuel-treatment{display:grid;gap:8px;margin-block:12px}.builder-fuel-treatment select{width:100%;min-height:44px}.builder-fuel-state{display:block;font-weight:750;color:#ffbd79;margin-block:10px}.builder-payout-plan{margin-block:18px;padding:16px;border:1px solid #4ba875;border-radius:10px;background:#103322;color:#d2f4df}.builder-payout-plan label{display:grid;gap:8px}.builder-payout-plan input{max-width:100%;min-height:44px}.builder-owed{display:grid;gap:6px;margin-block:14px}.builder-owed strong{font-size:1.8rem;color:#9feab6}.builder-planned-paid{display:grid;gap:8px}.builder-planned-paid strong{font-size:2.3rem;font-weight:900;color:#b4ffcf}.builder-planned-paid span{font-size:.8rem}

.builder-escrow{color:#8ce5eb}.builder-escrow strong{color:#a5f3fc}

.builder-percentages { color: #f1f5f9; border-color: #a38a3e; background: #2c2617; }
.builder-percentages h2 { color: #f0d273; }
.builder-percentage-form { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.builder-percentage-form label { flex: 1 1 190px; min-width: 0; }
.builder-percentage-form .btn { flex: 0 1 auto; min-height: 44px; white-space: normal; }
.builder-per-load-percent { margin-top: 18px; padding: 12px; border: 1px solid #a88acc; border-radius: 8px; }
.builder-per-load-percent summary { color: #d7bbff; cursor: pointer; padding: 8px 0; }
.builder-percentages select { max-width: 100%; }
@media (max-width: 600px) { .builder-percentage-form > * { flex-basis: 100%; width: 100%; } }

.builder-load-menu summary { cursor: pointer; color: #86c6ff; padding: 10px 0; }

.builder-account-scope { border-left-color: #79c9ff; background: #132738; }
.builder-percentage-owner { display: grid; gap: 8px; margin-block: 16px; color: #c9e7ff; }
.builder-percentage-owner select { width: 100%; min-height: 44px; max-width: 100%; }
.builder-fuel-review { padding: 12px; border: 1px solid #b89ad7; border-radius: 8px; background: #2b2038; color: #ead9ff; }

.builder-load-choice { padding-inline: 10px; border-inline-start: 4px solid #fdba74; }
.builder-load-choice.is-paid { border-inline-start-color: var(--settlement-green, #6ee7b7); background: color-mix(in srgb, var(--settlement-green, #34d399) 18%, var(--settlement-surface, #123b2e)); }
.builder-load-choice.is-settled { border-inline-start-color: var(--settlement-gold, #fcd34d); background: color-mix(in srgb, var(--settlement-gold, #fcd34d) 18%, var(--settlement-surface, #393016)); }
.builder-load-payment-status { display: block; color: var(--settlement-orange, #fdba74); font-weight: 700; }
.builder-load-choice.is-paid .builder-load-payment-status { color: var(--settlement-green, #6ee7b7); }
.builder-load-choice.is-settled .builder-load-payment-status { color: var(--settlement-gold, #fcd34d); }
.builder-load-menu .builder-payment-legend { color: #bdcadd; font-size: .85rem; }
.builder-load-menu input[type="search"] { min-width: 0; width: 100%; box-sizing: border-box; }
.builder-load-choice:has(input:disabled) { cursor: default; }
.builder-load-choice:focus-within { outline: 2px solid #86c6ff; outline-offset: 2px; }

.builder-evidence-notice{border-left:4px solid #34d399;background:#123c2d;color:#d1fae5;padding:10px 12px;border-radius:6px}

.builder-revision-fields { border-inline-start: 4px solid var(--color-purple-500, #8b5cf6); }
.builder-revision-load { min-width: 0; margin-block: 1rem; padding: 1rem; border: 1px solid var(--border-color, #b8bac2); border-radius: .5rem; }
.builder-revision-load legend { font-weight: 700; padding-inline: .35rem; }
.builder-revision-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: .75rem; margin-bottom: .75rem; }
.builder-revision-grid label { display: grid; align-content: start; gap: .25rem; min-width: 0; }
.builder-revision-grid input { box-sizing: border-box; width: 100%; min-width: 0; }

.builder-adjustment-actions button.is-reimbursement, .builder-adjustment.is-reimbursement { background: #173c30; border-color: #4ba875; color: #c5f7de; }
/*$vite$:1*/