/* Rainbow team portal. Local styles only; no font, image or network imports. */
body.rb-portal {
  --rbp-paper: #f6f1f0;
  --rbp-surface: #ffffff;
  --rbp-ink: #1b1b1b;
  --rbp-muted: #69635d;
  --rbp-gold: #aa8453;
  --rbp-gold-dark: #79582f;
  --rbp-line: #e4ddd4;
  --rbp-green: #315b46;
  --rbp-red: #963f35;
  margin: 0;
  background: var(--rbp-paper);
  color: var(--rbp-ink);
  font: 15px/1.65 system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
  color-scheme: light;
}

.rb-portal *,
.rb-portal *::before,
.rb-portal *::after { box-sizing: border-box; }
.rb-portal [hidden] { display: none !important; }
.rb-portal .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.rb-portal .rbp-skip {
  position: fixed;
  z-index: 10000;
  top: 12px;
  left: 12px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  background: var(--rbp-ink);
  color: #fff;
}
.rb-portal .rbp-skip:focus {
  width: auto;
  height: auto;
  max-width: calc(100% - 24px);
  padding: 12px 18px;
  overflow: visible;
  clip-path: none;
  white-space: normal;
}
.rb-portal img { max-width: 100%; }
.rb-portal a { color: var(--rbp-gold-dark); text-underline-offset: 4px; }
.rb-portal a:hover { color: var(--rbp-ink); }
.rb-portal :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--rbp-gold);
  outline-offset: 4px;
}
.rb-portal :where(h1, h2, h3, h4, p, ul, ol, dl) { margin-top: 0; }
.rb-portal :where(h1, h2, h3, h4) { color: var(--rbp-ink); }
.rb-portal :where(h1, h2) {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  line-height: 1.2;
}
.rb-portal :where(h2) { font-size: clamp(25px, 2.5vw, 32px); margin-bottom: 22px; }
.rb-portal :where(h3) { font-size: 17px; line-height: 1.4; margin-bottom: 16px; }
.rb-portal :where(p:last-child, ul:last-child, dl:last-child) { margin-bottom: 0; }
.rb-portal :where(code, kbd) {
  background: #f2eeea;
  padding: 2px 5px;
  font-size: .88em;
  overflow-wrap: anywhere;
}

.rb-portal .rbp-shell {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100svh;
}
.rb-portal .rbp-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px 36px;
  padding: 25px max(32px, calc((100% - 1280px) / 2));
  background: var(--rbp-ink);
  color: #fff;
}
.rb-portal .rbp-brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  max-width: 100%;
  text-decoration: none;
}
.rb-portal .rbp-brand img {
  display: block;
  width: 240px;
  height: auto;
  max-height: 60px;
  object-fit: contain;
  object-position: left center;
}
.rb-portal .rbp-user {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px 22px;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.rb-portal .rbp-user :where(p, form) { margin: 0; }
.rb-portal .rbp-user a { color: #f0e5d8; }
.rb-portal .rbp-user a:hover { color: #fff; }
.rb-portal .rbp-user :where(small, .description) { color: #d0c5b7; }
.rb-portal .rbp-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
  padding: 0 max(32px, calc((100% - 1280px) / 2));
  background: var(--rbp-surface);
  border-bottom: 1px solid var(--rbp-line);
}
.rb-portal .rbp-header .rbp-nav {
  flex-basis: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
  border-color: #ffffff26;
}
.rb-portal .rbp-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 58px;
  padding: 14px 0 12px;
  color: var(--rbp-muted);
  border-bottom: 3px solid transparent;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
}
.rb-portal .rbp-header .rbp-nav a { color: #e4d9cc; }
.rb-portal .rbp-nav a:is(:hover, [aria-current="page"], .is-active) {
  border-bottom-color: var(--rbp-gold);
  color: var(--rbp-ink);
}
.rb-portal .rbp-header .rbp-nav a:is(:hover, [aria-current="page"], .is-active) { color: #fff; }
.rb-portal .rbp-main {
  flex: 1;
  width: min(1280px, calc(100% - 64px));
  min-width: 0;
  margin: 0 auto;
  padding: 48px 0 64px;
}
.rb-portal .rbp-eyebrow {
  display: flex;
  align-items: center;
  gap: 15px;
  color: var(--rbp-gold-dark);
  font-size: 11px;
  letter-spacing: 1.8px;
  line-height: 1.6;
  text-transform: uppercase;
  margin-bottom: 15px;
}
.rb-portal .rbp-eyebrow::before {
  content: "";
  flex: 0 0 32px;
  width: 32px;
  height: 1px;
  background: var(--rbp-gold);
}
.rb-portal .rbp-title {
  font-size: clamp(34px, 4vw, 48px);
  margin: 0 0 16px;
  overflow-wrap: anywhere;
}
.rb-portal .rbp-lead {
  max-width: 780px;
  margin-bottom: 30px;
  color: var(--rbp-muted);
  font-size: 15px;
}

.rb-portal :where(.rbp-card, .rbp-section) {
  min-width: 0;
  background: var(--rbp-surface);
  border: 1px solid var(--rbp-line);
  padding: 28px;
}
.rb-portal .rbp-card + .rbp-card,
.rb-portal .rbp-section + .rbp-section { margin-top: 24px; }
.rb-portal .rbp-login {
  width: min(480px, 100%);
  margin: clamp(18px, 4vw, 58px) auto;
  padding: clamp(26px, 4vw, 42px);
}
.rb-portal .rbp-login .rbp-title { font-size: 36px; }
.rb-portal .rbp-login :where(p, form > div) { margin-bottom: 22px; }
.rb-portal .rbp-login .login-remember label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 400;
}
.rb-portal .rbp-login .login-submit { margin: 28px 0 0; }
.rb-portal .rbp-login .login-submit :where(button, input) { width: 100%; }

.rb-portal .rbp-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 16px;
  margin: 28px 0;
}
.rb-portal .rbp-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  min-width: 0;
  min-height: 124px;
  gap: 12px;
  padding: 23px 24px;
  border: 1px solid var(--rbp-line);
  border-top: 2px solid var(--rbp-gold);
  background: var(--rbp-surface);
  color: var(--rbp-ink);
  text-decoration: none;
}
.rb-portal .rbp-stat span { color: var(--rbp-muted); font-size: 13px; }
.rb-portal .rbp-stat strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.rb-portal a.rbp-stat:hover,
.rb-portal .rbp-stat[aria-current="page"] { border-color: var(--rbp-gold); background: #fdfbf8; }
.rb-portal .rbp-stat a { color: inherit; text-decoration: none; }

.rb-portal .rbp-filters {
  min-width: 0;
  margin: 26px 0;
  padding: 23px 24px;
  background: #eee7df;
  border: 1px solid var(--rbp-line);
}
.rb-portal :is(form.rbp-filters, .rbp-filters form) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  align-items: end;
  gap: 16px;
}
.rb-portal .rbp-filters form { margin: 0; }
.rb-portal .rbp-filters :where(p, .rbp-actions) { margin: 0; }
.rb-portal .rbp-filters :where(label, div, p) { min-width: 0; }
.rb-portal .rbp-filters :where(button, input[type="submit"], .rbp-button) { width: 100%; }
.rb-portal .rbp-filters form > label[for="rbp-search"] {
  grid-column: 1 / -1;
  margin-bottom: -8px;
}
.rb-portal .rbp-filters #rbp-search { grid-column: span 2; }
.rb-portal .rbp-filters .rb-overdue-filter {
  display: flex;
  align-items: center;
  min-height: 46px;
  margin: 0;
  font-weight: 400;
}
.rb-portal .rbp-filters .rbp-actions {
  grid-column: 1 / -1;
  justify-content: flex-end;
  padding-top: 4px;
}
.rb-portal .rbp-filters .rbp-actions :where(button, input[type="submit"], .rbp-button, .rbp-button-secondary) { width: auto; }

.rb-portal :where(label) {
  display: block;
  margin-bottom: 7px;
  color: var(--rbp-ink);
  font-size: 13px;
  font-weight: 600;
}
.rb-portal :where(label > strong) { font-weight: 600; }
.rb-portal :where(label > input, label > select, label > textarea) { margin-top: 8px; }
.rb-portal :where(input, select, textarea, button) { font: inherit; }
.rb-portal :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]), select, textarea) {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid #c5b9aa;
  border-radius: 0;
  background: #fff;
  color: var(--rbp-ink);
  font-size: 15px;
  line-height: 1.5;
  box-shadow: none;
}
.rb-portal select { padding-right: 32px; }
.rb-portal textarea { min-height: 122px; resize: vertical; }
.rb-portal :where(input, textarea)::placeholder { color: #76716b; opacity: 1; }
.rb-portal :where(input, select, textarea):focus {
  border-color: var(--rbp-gold-dark);
  box-shadow: 0 0 0 1px var(--rbp-gold-dark);
}
.rb-portal :where(input, select, textarea)[aria-invalid="true"] { border-color: var(--rbp-red); }
.rb-portal :where(input[type="checkbox"], input[type="radio"]) {
  display: inline-block;
  appearance: auto;
  -webkit-appearance: auto;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  min-height: 0;
  margin: 0 8px 0 0;
  padding: 0;
  vertical-align: -3px;
  accent-color: var(--rbp-gold-dark);
}
.rb-portal :where(input[type="checkbox"], input[type="radio"])::before,
.rb-portal :where(input[type="checkbox"], input[type="radio"])::after { content: none !important; }
.rb-portal :where(input, select, textarea):disabled { color: #726b63; background: #f1eeea; opacity: 1; }
.rb-portal input[readonly],
.rb-portal textarea[readonly] { background: #f9f6f2; }
.rb-portal :where(fieldset) { min-width: 0; border: 1px solid var(--rbp-line); padding: 18px; }
.rb-portal :where(legend) { padding: 0 8px; font-size: 13px; font-weight: 600; }

.rb-portal :where(.rbp-button, .rbp-button-secondary, .button, button, input[type="submit"], input[type="button"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  max-width: 100%;
  padding: 11px 21px;
  border: 1px solid var(--rbp-gold-dark);
  border-radius: 0;
  background: var(--rbp-gold-dark);
  color: #fff;
  font: 500 13px/1.5 system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  box-shadow: none;
}
/* Primary anchors must outrank the generic .rb-portal a text color. */
.rb-portal a.rbp-button { color: #fff; }
.rb-portal :where(.rbp-button, .rbp-button-secondary, .button, button, input[type="submit"], input[type="button"]):hover {
  background: var(--rbp-ink);
  border-color: var(--rbp-ink);
  color: #fff;
}
.rb-portal :where(.rbp-button-secondary, .button-secondary) {
  background: transparent;
  border-color: #bfb19f;
  color: var(--rbp-ink);
}
.rb-portal .rbp-user .rbp-button-secondary { border-color: #ffffff65; color: #fff; }
.rb-portal :where(button, input[type="submit"], input[type="button"]):disabled,
.rb-portal .rbp-button[aria-disabled="true"] {
  border-color: #d3ccc2;
  background: #e2ddd6;
  color: #645d54;
  cursor: not-allowed;
}
.rb-portal .rbp-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 25px;
}

.rb-portal :where(.rbp-list, .rb-admin-table) {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--rbp-line);
  background: #fff;
}
.rb-portal :where(table) { width: 100%; border-collapse: collapse; text-align: left; }
.rb-portal .rbp-list table { min-width: 820px; }
.rb-portal .rbp-card.rbp-list { padding: 0; }
.rb-portal .rbp-list > .rbp-empty { border: 0; }
.rb-portal .rb-admin-table table { min-width: 650px; }
.rb-portal :where(th, td) {
  border-bottom: 1px solid var(--rbp-line);
  padding: 16px 17px;
  vertical-align: top;
  text-align: left;
  line-height: 1.6;
}
.rb-portal :where(th) { font-size: 12px; font-weight: 600; color: #60584e; background: #f4efe9; }
.rb-portal :where(td) { font-size: 13px; }
.rb-portal :where(tr:last-child > td, tr:last-child > th) { border-bottom: 0; }
.rb-portal :where(thead th) { white-space: nowrap; border-bottom: 1px solid #d3c4b2; }
.rb-portal .striped tbody tr:nth-child(even) { background: #fcfaf7; }
.rb-portal .rbp-list tbody tr:hover { background: #faf5ed; }
.rb-portal :where(td strong) { font-size: 13px; font-weight: 600; }
.rb-portal :where(td a) { overflow-wrap: anywhere; }
.rb-portal .rbp-list td:first-child a { color: var(--rbp-ink); font-weight: 600; }
.rb-portal .rbp-list :where(td small, td .description) { display: block; margin-top: 4px; }
.rb-portal .rbp-list caption { text-align: left; padding: 16px; color: var(--rbp-muted); font-size: 13px; }

.rb-portal .rbp-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr);
  gap: 24px;
  align-items: start;
  margin-top: 28px;
}
.rb-portal .rbp-detail > * { min-width: 0; }
.rb-portal .rbp-detail > :is(.rbp-section, .rbp-card) { margin-top: 0; }
.rb-portal .rbp-detail + .rbp-section { margin-top: 24px; }
.rb-portal .rbp-detail .rbp-section > .widefat { table-layout: fixed; }
.rb-portal .rbp-detail .rbp-section > .widefat :where(th, td) { overflow-wrap: anywhere; }
.rb-portal .rbp-detail .rbp-section > .widefat th { width: 32%; }
.rb-portal .rbp-section form > p { margin: 0 0 21px; }
.rb-portal .rbp-section form p > label + label { margin-top: 15px; }
.rb-portal .rbp-section :where(label + br) { display: none; }
.rb-portal .rbp-section .rb-admin-table { margin: 20px 0; }
.rb-portal .rbp-section .description { margin: 9px 0 18px; }
.rb-portal :where(.description, .rbp-footer, small) { color: var(--rbp-muted); font-size: 12px; line-height: 1.65; }
.rb-portal .rbp-section dl { margin: 0; }
.rb-portal .rbp-section dt { margin-top: 17px; font-size: 12px; font-weight: 600; color: var(--rbp-muted); }
.rb-portal .rbp-section dd { margin: 5px 0 0; font-size: 14px; overflow-wrap: anywhere; white-space: pre-wrap; }
.rb-portal .rb-workflow-history {
  margin: 0;
  padding: 16px 0;
  border-top: 1px solid var(--rbp-line);
}
.rb-portal .rb-workflow-history summary { padding: 3px 0; cursor: pointer; color: var(--rbp-gold-dark); font-size: 13px; }
.rb-portal .rb-workflow-history[open] summary { margin-bottom: 16px; color: var(--rbp-ink); }
.rb-portal .rb-workflow-history dl { padding-left: 18px; border-left: 2px solid var(--rbp-line); }

.rb-portal .rbp-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 9px;
  border: 1px solid #d5cec5;
  background: #f0ece6;
  color: #5d544a;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 600;
  white-space: normal;
}
/* Status palette is exclusive to the private management portal. Labels remain visible. */
.rb-portal :is(.rbp-badge, .rbp-stat)[data-status="new"] { color: #6d5200; border-color: #e7c753; background: #fff4c2; }
.rb-portal :is(.rbp-badge, .rbp-stat):is([data-status="in_progress"], [data-status="quoted"], [data-status="confirmed"]) { color: #174e79; border-color: #9dc7e8; background: #e7f2fc; }
.rb-portal :is(.rbp-badge, .rbp-stat):is([data-status="deposit_paid"], [data-status="paid"]) { color: #8b3e0a; border-color: #eda76a; background: #fff0de; }
.rb-portal :is(.rbp-badge, .rbp-stat)[data-status="closed"] { color: #1e5b36; border-color: #9dccae; background: #e8f5ec; }
.rb-portal :is(.rbp-badge, .rbp-stat)[data-status="lost"] { color: #922c2c; border-color: #e0a0a0; background: #fdeaea; }
.rb-portal :is(.rbp-badge, .rbp-stat)[data-status="needs_review"] { color: #55544e; border-color: #c9c7bf; background: #f1f0ec; }
.rb-portal .rbp-stat[data-status] { border-top-width: 3px; }
.rb-portal .rbp-stat[data-status] strong { color: inherit; }
.rb-portal .rbp-status-key { font-size: 13px; color: var(--rbp-muted); margin: -8px 0 28px; }
.rb-portal .rbp-badge:is([data-status="overdue"], [data-status="failed"]) { color: #8d352c; border-color: #e5bcb5; background: #fbedeb; }
.rb-portal :where(.rbp-notice, .notice) {
  margin: 22px 0;
  padding: 17px 20px;
  border: 1px solid #d5c6b1;
  border-left: 3px solid var(--rbp-gold);
  background: #fffaf2;
  color: #554832;
  font-size: 14px;
  box-shadow: none;
}
.rb-portal :where(.rbp-notice, .notice) p { margin: 0; }
.rb-portal :where(.notice-error, .rbp-notice[data-type="error"], .rbp-notice[role="alert"]) { border-color: #d9aaa2; border-left-color: var(--rbp-red); background: #fff3f1; color: #7c332b; }
.rb-portal :where(.notice-success, .rbp-notice[data-type="success"]) { border-color: #bed1c3; border-left-color: var(--rbp-green); background: #f1f7f3; color: #31563e; }
.rb-portal .notice-info { border-color: #c8d7df; border-left-color: #537184; background: #f2f7fa; color: #365164; }
.rb-portal .rbp-empty {
  padding: 55px 28px;
  border: 1px solid var(--rbp-line);
  background: #fff;
  text-align: center;
  color: var(--rbp-muted);
}
.rb-portal .rbp-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
  color: var(--rbp-muted);
  font-size: 13px;
}
.rb-portal .rbp-pagination :where(a, .page-numbers) { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: 8px 12px; border: 1px solid var(--rbp-line); background: #fff; text-decoration: none; }
.rb-portal .rbp-pagination :where(.current, [aria-current="page"]) { color: #fff; background: var(--rbp-gold-dark); border-color: var(--rbp-gold-dark); }
.rb-portal .rbp-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding: 24px max(32px, calc((100% - 1280px) / 2));
  border-top: 1px solid var(--rbp-line);
}
.rb-portal .rbp-footer p { margin: 0; }

@media (max-width: 1050px) {
  .rb-portal .rbp-detail { grid-template-columns: minmax(0, 1fr); }
  .rb-portal .rbp-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .rb-portal .rbp-header { padding: 22px 20px; gap: 20px; }
  .rb-portal .rbp-brand img { width: 210px; }
  .rb-portal .rbp-user { justify-content: flex-start; font-size: 12px; gap: 10px 16px; }
  .rb-portal .rbp-nav { padding-inline: 20px; gap: 0 24px; }
  .rb-portal .rbp-nav a { min-height: 52px; font-size: 12px; }
  .rb-portal .rbp-main { width: calc(100% - 40px); padding: 32px 0 42px; }
  .rb-portal .rbp-title { font-size: 34px; }
  .rb-portal .rbp-lead { font-size: 14px; margin-bottom: 24px; }
  .rb-portal .rbp-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .rb-portal .rbp-stat { padding: 19px 18px; min-height: 112px; }
  .rb-portal .rbp-stat strong { font-size: 32px; }
  .rb-portal .rbp-filters { padding: 20px; }
  .rb-portal :is(form.rbp-filters, .rbp-filters form) { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .rb-portal .rbp-filters #rbp-search { grid-column: 1; }
  .rb-portal :where(.rbp-card, .rbp-section) { padding: 22px 20px; }
  .rb-portal .rbp-login { padding: 28px 22px; margin-top: 16px; }
  .rb-portal :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: 16px; }
  .rb-portal .rbp-actions { gap: 10px; }
  .rb-portal .rbp-actions :where(.rbp-button, .rbp-button-secondary, .button, button, input[type="submit"]) { flex: 1 1 180px; }
  .rb-portal .rbp-list :where(th, td) { padding: 14px; }
  .rb-portal .rbp-detail .rbp-section > .widefat :where(th, td) { padding: 12px 10px; }
  .rb-portal .rbp-detail .rbp-section > .widefat th { width: 36%; }
  .rb-portal .rbp-pagination { justify-content: flex-start; }
  .rb-portal .rbp-footer { padding: 22px 20px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-portal *, .rb-portal *::before, .rb-portal *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
@media (forced-colors: active) {
  .rb-portal :where(.rbp-card, .rbp-section, .rbp-stat, .rbp-badge, .rbp-button, .rbp-notice) { border: 1px solid CanvasText; }
  .rb-portal :where(a, button, input, select, textarea, summary):focus-visible { outline-color: Highlight; }
}
@media print {
  body.rb-portal { background: #fff; font-size: 11pt; }
  .rb-portal :where(.rbp-nav, .rbp-user, .rbp-filters, .rbp-actions, .rbp-pagination, .rbp-section form) { display: none !important; }
  .rb-portal .rbp-main { width: 100%; padding: 20px 0; }
  .rb-portal .rbp-header { padding: 18px; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .rb-portal .rbp-detail { display: block; }
  .rb-portal :where(.rbp-section, .rbp-card) { margin-bottom: 20px; break-inside: avoid; }
  .rb-portal :where(.rbp-list, .rb-admin-table) { overflow: visible; }
  .rb-portal :where(.rbp-list table, .rb-admin-table table) { min-width: 0; }
  .rb-portal :where(th, td) { padding: 8px; overflow-wrap: anywhere; }
}

.rb-portal .rb-mailbox-history details{border-top:1px solid var(--rbp-line);padding:18px 0;overflow-wrap:anywhere}
.rb-portal .rb-mailbox-history summary{cursor:pointer;font-weight:600}
.rb-portal .rb-mailbox-quote{padding:18px 0;border-bottom:1px solid var(--rbp-line)}
/* Private commercial review; deliberately scoped outside customer documents. */
.rbpr-card{border-top:3px solid #aa8958}.rbpr-card .rbp-eyebrow{font-size:.74rem;letter-spacing:.12em}.rbpr-summary dl{display:grid;gap:16px;margin:22px 0}.rbpr-summary dl>div{border-bottom:1px solid #e6e0d7;padding-bottom:13px}.rbpr-summary dt{font-weight:600;margin-bottom:6px}.rbpr-summary dd{margin:0;font-size:1rem;line-height:1.65}.rbpr-notes{white-space:pre-wrap;overflow-wrap:anywhere}.rbpr-boundary{padding:14px 18px;background:#f5f2ee;border-left:3px solid #aa8958;line-height:1.65}.rbpr-editor,.rbpr-history{margin-top:24px}.rbpr-card summary{cursor:pointer;font-weight:600;padding:12px 0}.rbpr-card form>label{display:block;margin:18px 0}.rbpr-card textarea{width:100%;min-height:92px}.rbpr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.rbpr-grid label{display:flex;flex-direction:column;gap:7px}.rbpr-grid input,.rbpr-grid select{width:100%;min-width:0}.rbpr-history>details{border-top:1px solid #e6e0d7;padding:10px 0}@media(max-width:700px){.rbpr-grid{grid-template-columns:1fr}.rbpr-card .rbp-actions{flex-wrap:wrap}.rbpr-card .rbp-button-secondary{max-width:100%;white-space:normal}}

/* Evidence summaries: private team portal only. */

.rbo-compact{margin-top:12px;min-width:230px;max-width:360px;font-size:.86rem;line-height:1.6;color:#5a554f;border-top:1px solid #e6ded4;padding-top:12px}
.rbo-compact>strong{color:#705633;font-weight:600}.rbo-compact p{margin:7px 0}.rbo-compact a{font-size:.78rem;color:#705633;text-decoration:underline}
#outcome-review{border-top:3px solid #aa8958}#outcome-review details{margin:20px 0;overflow-wrap:anywhere}#outcome-review summary{cursor:pointer;padding:10px 0;font-weight:600}
#outcome-review blockquote{border-left:2px solid #aa8958;margin:12px 0;padding:6px 16px;color:#5a554f}#outcome-review li{margin:14px 0}#outcome-review form>label{display:block;margin:18px 0}#outcome-review textarea{width:100%}
@media(max-width:700px){.rbo-compact{min-width:220px;max-width:280px}#outcome-review{padding:20px}}
