/* Property practice extends the existing workout room. */
body[data-practice-domain='real-estate'] {
  --section-accent: #216344;
  --section-accent-strong: #174e35;
  --section-soft: #edf5ef;
  --section-border: #c5dccd;
  --section-rgb: 33 99 68;
  --amber: #216344;
  --amber-deep: #174e35;
  --gold: #216344;
  --bg: #f5f8f5;
  --line: #dce6df;
  --line-soft: #eaf0ec;
  --shadow-lg: 0 2px 5px rgba(15, 23, 42, .05), 0 26px 60px -22px rgba(33, 99, 68, .18);
}

/* Shared voice and report components follow the current practice domain. */
body[data-practice-domain='real-estate'] .rail-link:hover { background: rgb(var(--section-rgb) / .06); }
body[data-practice-domain='real-estate'] .rail-link.active { background: rgb(var(--section-rgb) / .10); }
body[data-practice-domain='real-estate'] .upgrade-banner { border-bottom-color: var(--section-border); }
body[data-practice-domain='real-estate'] .btn-primary {
  border-color: var(--section-accent);
  background: var(--section-accent);
  box-shadow: 0 12px 28px -16px rgb(var(--section-rgb) / .55);
}
body[data-practice-domain='real-estate'] .btn-primary:hover { border-color: var(--section-accent-strong); background: var(--section-accent-strong); }
body[data-practice-domain='real-estate'] :is(input, textarea, select):focus { box-shadow: 0 0 0 3px rgb(var(--section-rgb) / .12); }
body[data-practice-domain='real-estate'] :is(input[type='checkbox'], input[type='radio'], input[type='range']) { accent-color: var(--section-accent); }
body[data-practice-domain='real-estate'] [data-workout-category] {
  --workout-category-color: var(--section-accent-strong);
  --workout-category-soft: var(--section-soft);
  --workout-category-border: var(--section-border);
}
body[data-practice-domain='real-estate'] .coach-card { border-color: rgb(var(--section-rgb) / .4); background: rgb(var(--section-rgb) / .06); }
body[data-practice-domain='real-estate'] .call-criteria { border-color: var(--section-border); box-shadow: 0 14px 32px -28px rgb(var(--section-rgb) / .6); }
body[data-practice-domain='real-estate'] .call-criteria-ready { border-color: var(--section-border); }
body[data-practice-domain='real-estate'] :is(.call-criteria-recommendation, .call-plan .step-key, .nerves-option[aria-pressed='true']) { background: var(--section-soft); }
body[data-practice-domain='real-estate'] .call-plan .step-key { width: auto; min-width: 42px; }
body[data-practice-domain='real-estate'] :is(.team-sharing-control, .report-team-sharing) { border-color: var(--section-border); background: rgb(var(--section-rgb) / .035); }
body[data-practice-domain='real-estate'] .report-action-row.keep { background: rgb(var(--section-rgb) / .035); }
body[data-practice-domain='real-estate'] :is(.report-improvement, .report-plan-impact) { border-color: var(--section-border); border-left-color: var(--green); background: rgb(var(--section-rgb) / .045); }
body[data-practice-domain='real-estate'] :is(.report-offer, .lead-upgrade) { border-color: var(--section-border); background: linear-gradient(135deg, var(--section-soft), #fff 58%); }
body[data-practice-domain='real-estate'] [data-transcript-index].evidence-highlight { background: rgb(var(--section-rgb) / .09); box-shadow: 0 0 0 8px rgb(var(--section-rgb) / .09); }

/* The active line and scoring pulse are brand states, separate from errors. */
body[data-practice-domain='real-estate'] .onair.is-live {
  background: linear-gradient(180deg, var(--section-accent), var(--section-accent-strong));
  border-color: #41875f;
  box-shadow: 0 0 24px rgb(var(--section-rgb) / .4);
  animation-name: re-activity-pulse;
}
body[data-practice-domain='real-estate'] :is(.rail-logo.live, .scoring .big-lamp) {
  box-shadow: 0 0 0 3px rgb(var(--section-rgb) / .10), 0 0 20px rgb(var(--section-rgb) / .35);
  animation-name: re-activity-pulse;
}
@keyframes re-activity-pulse { 50% { box-shadow: 0 0 0 3px rgb(33 99 68 / .06), 0 0 10px rgb(33 99 68 / .2); } }
@media (prefers-reduced-motion: reduce) {
  body[data-practice-domain='real-estate'] :is(.onair.is-live, .rail-logo.live, .scoring .big-lamp) { animation: none; }
}

/* Keep warnings distinct when the old generic accent tokens become green. */
body[data-practice-domain='real-estate'] :is(.budget-chip.warn, .clock.warn:not(.over), .onair.is-paused, .pause-panel b, .hold-countdown, .partial-score-label, .audit li.partial .mark, .owned-placeholder) { color: #96600c; }
body[data-practice-domain='real-estate'] :is(.budget-chip.warn, .onair.is-paused, .partial-score-label, .owned-placeholder) { border-color: #d2a14b; }
body[data-practice-domain='real-estate'] :is(.onair.is-paused, .partial-score-label, .owned-placeholder) { background: #fff8e9; }
body[data-practice-domain='real-estate'] :is(.trust-guard, .moment-result.unavailable) { border-left-color: #b77913; }
.rail-link[data-nav='real-estate']::before { content: '⌂'; }
.re-workspace { max-width: 1180px; margin: 0 auto; padding-bottom: 32px; color: var(--cream); }
.re-workspace *, .re-report-return * { box-sizing: border-box; }
.re-page-top { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-bottom: 38px; }
.re-back { color: #216344; font-size: 13px; font-weight: 650; text-decoration: none; }
.re-back:hover { text-decoration: underline; text-underline-offset: 4px; }
.re-heading { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-bottom: 32px; }
.re-kicker { margin: 0 0 12px; color: #216344; font-size: 10px; font-weight: 750; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.re-title { max-width: 830px; margin: 0 0 18px; font-size: clamp(32px, 4.8vw, 62px); line-height: 1.04; font-weight: 650; letter-spacing: -.055em; }
.re-title:focus { outline: none; }
.re-intro { max-width: 650px; margin: 0; color: var(--dim); font-size: 17px; line-height: 1.6; }
.re-heading-mark { display: grid; place-items: center; flex: 0 0 144px; height: 144px; border-radius: 50%; background: #e4efea; color: #216344; }
.re-heading-mark svg { width: 84px; height: 84px; }
.re-filters { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 18px; padding: 22px; border: 1px solid #dce7e1; border-radius: 16px; background: #fff; }
.re-filters label { display: grid; gap: 8px; font-size: 12px; font-weight: 700; }
.re-workspace select, .re-workspace input:not([type='radio']), .re-workspace textarea { width: 100%; max-width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #cbd6d1; border-radius: 8px; background: #fff; color: var(--cream); font: 400 14px/1.5 var(--ui); }
.re-workspace textarea { resize: vertical; }
.re-workspace :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #397f59; outline-offset: 3px; }
.re-library-caption { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 24px 0 8px; font-size: 12px; }
.re-library-caption p { margin: 0; font-weight: 700; }
.re-library-caption span { color: var(--faint); }
.re-jurisdiction-note { margin: 0 0 22px; color: var(--dim); font-size: 12px; line-height: 1.65; }
.re-catalog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.re-scenario { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 260px; padding: 24px; overflow-wrap: anywhere; border: 1px solid #dde5e1; border-radius: 14px; background: #fff; color: var(--cream); text-decoration: none; transition: border-color 160ms ease, background 160ms ease; }
.re-scenario-top { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 26px; font-size: 10px; font-weight: 650; color: #53665d; }
.re-scenario-top span:last-child { white-space: nowrap; }
.re-scenario-number { margin-bottom: 12px; color: #798e82; font-size: 11px; font-variant-numeric: tabular-nums; }
.re-scenario h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.15; font-weight: 620; letter-spacing: -.035em; }
.re-scenario > p { margin: 0 0 26px; color: var(--dim); font-size: 13px; line-height: 1.65; }
.re-scenario-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 15px; border-top: 1px solid #e6eee9; font-size: 11px; color: #216344; }
.re-scenario-footer > span:last-child { font-size: 20px; }
.re-plan-note { display: flex; align-items: start; gap: 24px; margin-top: 26px; padding: 22px; border-radius: 12px; background: #eaf1ed; font-size: 13px; }
.re-plan-note b { flex: 0 0 220px; }
.re-plan-note p { margin: 0; color: var(--dim); line-height: 1.65; }
.re-plan-note a { color: #216344; }
.re-library-back { display: inline-block; margin: -10px 0 26px; }
.re-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 24px; }
.re-brief { padding: 30px; border: 1px solid #d9e3dc; border-radius: 16px; background: #eef3ef; }
.re-brief-head { display: flex; gap: 18px; justify-content: space-between; align-items: start; }
.re-time { color: #526359; font-size: 12px; white-space: nowrap; }
.re-brief h2 { margin: 16px 0 6px; font-size: 29px; line-height: 1.15; font-weight: 600; letter-spacing: -.035em; }
.re-client-role { margin: 0; color: #516158; font-size: 13px; }
.re-brief blockquote { margin: 27px 0; padding: 2px 0 2px 18px; border-left: 3px solid #216344; font-size: 25px; line-height: 1.4; letter-spacing: -.025em; }
.re-brief-body { margin: 0 0 28px; color: #405047; font-size: 14px; line-height: 1.75; }
.re-property { padding: 21px; margin-bottom: 20px; border: 1px solid #d3ded6; border-radius: 10px; background: rgba(255, 255, 255, .6); }
.re-property h3 { margin: 0 0 7px; font-size: 19px; line-height: 1.3; }
.re-property > p:not(.re-kicker) { color: #46584d; font-size: 13px; line-height: 1.6; }
.re-property ul { margin: 17px 0 0; padding-left: 17px; color: #405047; font-size: 13px; line-height: 1.8; }
.re-unknowns { margin: 15px 0 0; padding-top: 14px; border-top: 1px solid #d9e3dc; }
.re-evidence { border-top: 1px solid #cddbd2; }
.re-evidence summary { display: list-item; padding: 18px 0; cursor: pointer; color: #174e35; font-size: 13px; font-weight: 650; }
.re-evidence ul { padding-left: 18px; margin: 0 0 20px; font-size: 13px; line-height: 1.65; }
.re-evidence li { margin-bottom: 12px; }
.re-evidence li span { display: block; color: #4c6053; }
.re-evidence p { font-size: 13px; color: #4c6053; }
.re-evidence a { color: #216344; overflow-wrap: anywhere; }
.re-setup { padding: 30px; border: 1px solid #dce5df; border-radius: 16px; background: #fff; }
.re-setup h2 { margin: 0 0 26px; font-size: 27px; line-height: 1.2; font-weight: 620; letter-spacing: -.04em; }
.re-context-choice { display: grid; gap: 10px; min-width: 0; margin: 0 0 24px; padding: 0; border: 0; }
.re-context-choice legend { padding: 0; margin-bottom: 12px; font-size: 12px; font-weight: 700; }
.re-context-choice label { display: flex; align-items: flex-start; gap: 11px; padding: 15px; border: 1px solid #d8e1db; border-radius: 9px; cursor: pointer; }
.re-context-choice label:has(input:checked) { border-color: #216344; background: #f0f7f3; }
.re-context-choice input { margin: 2px 0 0; width: 18px; height: 18px; accent-color: #216344; flex: 0 0 18px; }
.re-context-choice b, .re-context-choice small { display: block; }
.re-context-choice b { font-size: 13px; }
.re-context-choice small { margin-top: 4px; color: var(--dim); font-size: 12px; line-height: 1.5; }
.re-setup .field { margin-bottom: 22px; }
.re-setup .field > label { display: block; margin-bottom: 8px; color: var(--cream); font-size: 12px; font-weight: 700; text-transform: none; letter-spacing: 0; }
.re-setup .hint-note { margin-top: 8px; color: #5c6c62; font-size: 12px; line-height: 1.6; }
.re-agency { margin-bottom: 22px; border-top: 1px solid #e0e8e2; border-bottom: 1px solid #e0e8e2; }
.re-agency summary { padding: 17px 0; cursor: pointer; color: #216344; font-size: 14px; font-weight: 650; }
.re-agency > p { margin: 0 0 20px; color: var(--dim); font-size: 12px; line-height: 1.6; }
.re-sample-agency { margin: -4px 0 24px; color: #66786c; font-size: 11px; line-height: 1.7; }
.re-access-note { margin: 24px 0 16px; color: #516358; font-size: 12px; line-height: 1.7; }
.re-start { display: flex; width: 100%; min-height: 50px; justify-content: space-between; gap: 14px; }
.re-form-status { margin: 12px 0 0; color: #216344; font-size: 13px; line-height: 1.6; }
.re-form-status:empty { display: none; }
.re-inline-alert { padding: 12px; border: 1px solid #e2c58f; border-radius: 8px; color: #744d10; background: #fff9eb; font-size: 13px; line-height: 1.6; }
.re-empty { grid-column: 1 / -1; padding: 42px 24px; border: 1px dashed #c9d9cf; border-radius: 14px; text-align: center; }
.re-empty h2 { margin: 0; font-size: 22px; }
.re-empty p { color: var(--dim); font-size: 14px; }
.re-retry-note { margin: 0 0 24px; padding: 18px; border-radius: 10px; background: #edf5ef; font-size: 14px; line-height: 1.6; }
.re-retry-note p { color: #415a48; }
.re-retry-note a { color: #216344; }
.re-next-step-note { padding: 28px 0 0; color: #173f30; font-size: 15px; }
.re-next-step-note p { max-width: 740px; color: var(--dim); font-size: 13px; line-height: 1.7; }
.re-report-return { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin: 0 0 26px; padding: 22px; border: 1px solid #d3e0d7; border-radius: 12px; background: #edf5ef; }
.re-report-return > div { flex: 1 1 250px; }
.re-report-return p { margin: 4px 0 0; max-width: 560px; color: #415a48; font-size: 13px; line-height: 1.6; }
@media (hover: hover) and (pointer: fine) { .re-scenario:hover { border-color: #216344; background: #f9fcfa; } }
@media (max-width: 1180px) { .re-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); } .re-heading-mark { flex-basis: 110px; height: 110px; } }
@media (max-width: 960px) { .re-detail-grid { gap: 18px; } .re-brief, .re-setup { padding: 22px; } .re-brief blockquote { font-size: 22px; } }
@media (max-width: 700px) {
  .re-page-top { margin-bottom: 28px; gap: 12px; }
  .re-page-top .re-back { font-size: 11px; }
  .re-heading { margin-bottom: 26px; }
  .re-heading-mark { display: none; }
  .re-title { font-size: clamp(34px, 8vw, 48px); }
  .re-intro { font-size: 15px; }
  .re-filters { grid-template-columns: 1fr 1fr; gap: 14px; padding: 16px; }
  .re-filters label:last-child { grid-column: 1 / -1; }
  .re-library-caption { align-items: flex-start; flex-direction: column; gap: 5px; }
  .re-catalog, .re-detail-grid { grid-template-columns: 1fr; }
  .re-scenario { min-height: 0; padding: 22px; }
  .re-scenario-top { margin-bottom: 18px; }
  .re-scenario-number { display: none; }
  .re-scenario > p { margin-bottom: 18px; }
  .re-plan-note { flex-direction: column; gap: 8px; padding: 18px; }
  .re-plan-note b { flex-basis: auto; }
  .re-brief, .re-setup { padding: 23px; }
  .re-property { padding: 18px; }
  .re-report-return { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) { .re-workspace *, .re-report-return * { transition: none !important; scroll-behavior: auto !important; } }
@media (max-width: 700px) { .rail-link[data-nav='real-estate'] { white-space: normal; text-align: center; line-height: 1.2; } }

/* Keep six primary destinations distinct on a narrow phone. */
@media (max-width: 430px) {
  .rail-nav { gap: 4px; }
  .rail-link {
    min-width: 44px;
    min-height: 48px;
    padding: 7px 2px;
    font-size: 9px;
    letter-spacing: 0;
    line-height: 1.25;
    white-space: normal;
    text-align: center;
  }
}
