/* Phase 3: presentation adapter for three existing app routes.
   Important declarations only counter legacy ds/ds-v2 or generated inline styles.
   No display/visibility overrides: controllers retain state ownership. */
body:has(.hp-workspace.active) { background: var(--hp-navy); }
.hp-workspace {
  --v2-gold: var(--hp-gold); --v2-gold-light: var(--hp-gold-light);
  --gold: var(--hp-gold); --gold-light: var(--hp-gold-light);
  --v2-font-serif: var(--hp-font-display); --v2-font-sans: var(--hp-font-ui);
  --font-serif: var(--hp-font-display); --font-sans: var(--hp-font-ui);
  background: var(--hp-navy); color: var(--hp-text); min-height: calc(100svh - 78px);
}
.hp-workspace .page-header { background: linear-gradient(140deg,var(--hp-navy),var(--hp-surface-raised)) !important; border-bottom: 1px solid var(--hp-border); padding: 44px 24px !important; }
.hp-workspace .page-header h1 { color: var(--hp-text) !important; font-family: var(--hp-font-display) !important; font-size: clamp(2rem,4vw,3rem) !important; }
.hp-workspace .page-header p { color: var(--hp-muted) !important; max-width: 65ch; margin-inline: auto; line-height: 1.65; }
.hp-workspace .gold-line { background: var(--hp-gold); }
.hp-workspace .section-title { color: var(--hp-text) !important; }
.hp-workspace .section { background: var(--hp-navy); }
.hp-workspace :is(.analyzer-panel,.panel-card,.metric-card,.hb-faq-item,.mls-listing-card,.mls-filters-bar,.mls-empty-state,.mls-error-state,.mls-skeleton-card,.mls-smart-search-intro,.results-placeholder,.wealth-summary-panel,.deal-score-card,.hb-score-card,.hb-ai-card,.ai-insight-card) {
  background: var(--hp-surface) !important; color: var(--hp-text);
  border: 1px solid var(--hp-border) !important; border-radius: var(--hp-radius-lg) !important; box-shadow: var(--hp-shadow) !important;
}
.hp-workspace .panel-header { background: var(--hp-surface-raised) !important; border-color: var(--hp-border-accent) !important; }
.hp-workspace :is(.panel-header h2,.metric-value,.mls-listing-card-price,.mls-listing-card-address,.mls-state-title,.mls-search-results-count,.hb-faq-item h3,.results-placeholder h3) { color: var(--hp-text) !important; }
.hp-workspace :is(.form-label,.mls-filter-field label) { color: var(--hp-text) !important; font-size: .875rem !important; text-transform: none !important; letter-spacing: normal !important; }
.hp-workspace :is(.form-input,.mls-filter-field input,.mls-filter-field select,.mls-sort-select) {
  min-height: 46px; font-size: 16px !important; background: var(--hp-navy) !important; color: var(--hp-text) !important;
  border: 1px solid var(--hp-border) !important; border-radius: var(--hp-radius-sm) !important; color-scheme: dark;
}
.hp-workspace input::placeholder { color: var(--hp-muted) !important; opacity: 1; }
.hp-workspace :is(.input-prefix-wrap,.input-suffix-wrap) .form-input:focus { background: var(--hp-navy) !important; color: var(--hp-text) !important; }
.hp-workspace :is(.input-prefix-wrap,.input-suffix-wrap) { border-color: var(--hp-border); background: var(--hp-navy); }
.hp-workspace :is(input,select,button,a,summary,[tabindex]):focus-visible { outline: 2px solid var(--hp-gold-light) !important; outline-offset: 3px; box-shadow: var(--hp-focus) !important; }
.hp-workspace :is(input,select):hover { border-color: var(--hp-border-accent) !important; }
.hp-workspace :is(.form-section-title,.hb-header-badge) { color: var(--hp-gold-light) !important; border-color: var(--hp-border-accent) !important; }
.hp-workspace :is(.btn-primary,.btn-buyers,.mls-filters-search-btn) { background: linear-gradient(135deg,var(--hp-gold-light),var(--hp-gold)) !important; color: var(--hp-navy) !important; border-color: var(--hp-gold) !important; }
.hp-workspace :is(.btn-outline,.btn-secondary,.btn-navy,.mls-pagination-btn,.mls-filters-clear-btn,.mls-listing-action-link,.form-collapse-toggle) { background: var(--hp-surface-raised) !important; color: var(--hp-text) !important; border: 1px solid var(--hp-border-accent) !important; }
.hp-workspace :is(.btn,.mls-pagination-btn,.mls-filters-actions button,.mls-listing-action-link,.form-collapse-toggle) { min-height: 44px; border-radius: var(--hp-radius-sm) !important; }
.hp-workspace :is(.btn,.mls-pagination-btn,.mls-listing-card):hover { border-color: var(--hp-gold-light) !important; }
.hp-workspace :is(.mls-pagination-btn.active,.mls-pagination-btn[aria-current="page"]) { background: var(--hp-gold) !important; color: var(--hp-navy) !important; }
.hp-workspace button:disabled { opacity: .55; cursor: not-allowed; }
.hp-workspace .mls-smart-search-intro { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.hp-workspace .mls-smart-search-intro span { color: var(--hp-muted); }
.hp-workspace .mls-search-quickstart { background: var(--hp-surface) !important; color: var(--hp-text) !important; border: 1px solid var(--hp-border) !important; border-radius: var(--hp-radius-lg); }
.hp-workspace .mls-search-quickstart :is(p,span) { color: var(--hp-muted) !important; }
.hp-workspace .mls-search-market-chip { min-height: 44px; background: var(--hp-surface-raised) !important; color: var(--hp-text) !important; border: 1px solid var(--hp-border-accent) !important; }
.hp-workspace .mls-search-quickstart a { background: var(--hp-gold) !important; color: var(--hp-navy) !important; }
.hp-workspace .mls-state-icon { background: var(--hp-surface-raised); color: var(--hp-gold-light); }
.hp-workspace :is(.hb-buy-vs-rent-card,.hb-ai-summary,.hb-faq-section,.breakdown-card,.ai-explanation) { background: var(--hp-surface); color: var(--hp-text); border-color: var(--hp-border); border-radius: var(--hp-radius-lg); }
.hp-workspace :is(.hb-score-title,.hb-ai-title,.hb-bvr-title,.hb-ai-section-title) { color: var(--hp-text); }
.hp-workspace :is(.hb-ai-sub,.hb-ai-list,.hb-ai-family,.hb-bvr-sub,.hb-bvr-note,.hb-score-sub,.homepilot-score-desc,.score-drivers-list,.homepilot-score-disclaimer) { color: var(--hp-muted) !important; }
.hp-workspace :is(.hb-score-bar,.hb-header-badge) { background: var(--hp-surface-raised); }
.hp-workspace :is(.hb-score-label,.homepilot-score-label,.deal-score-label,.score-drivers-details summary) { color: var(--hp-gold-light) !important; }
.hp-workspace :is(.legal-disclaimer-banner,.analyzer-guidance,.input-needs-attention) { background: var(--hp-surface-raised) !important; color: var(--hp-text) !important; border-color: var(--hp-warning) !important; }
.hp-workspace :is(.metric-label,.metric-sub,.form-help,.addr-helper-text,.input-prefix,.input-suffix,.mls-listing-card-citystate,.mls-listing-card-facts,.mls-listing-card-source,.mls-state-message,.mls-smart-location-help,.mls-search-sort-wrap label,.mls-attribution,.mls-idx-exclusion-disclosure,.hb-faq-item p,.results-placeholder p) { color: var(--hp-muted) !important; }
.hp-workspace :is(.metric-value.positive,.metric-positive) { color: var(--hp-success) !important; }
.hp-workspace :is(.metric-value.negative,.metric-negative) { color: var(--hp-danger) !important; }
.hp-workspace :is(.metric-neutral,.score-maybe) { color: var(--hp-warning) !important; }
.hp-workspace :is(.form-collapse-bar,.mls-filter-chip,.mls-active-filter,.form-collapse-chip) { background: var(--hp-surface-raised); color: var(--hp-text); border-color: var(--hp-border-accent); border-radius: var(--hp-radius-sm); }
.hp-workspace :is(.mls-missing-photo,.mls-skeleton-photo,.mls-skeleton-line) { background: var(--hp-surface-raised); color: var(--hp-muted); }
.hp-workspace :is(.analyzer-layout,.analyzer-panel,.results-metrics-col,.results-chart-col,.form-group,.mls-grid) { min-width: 0; }
.hp-workspace .mls-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,280px),1fr)); }
.hp-workspace .mls-listing-card { overflow: hidden; }
.hp-workspace .mls-listing-card img { max-width: 100%; }
/* Canvas colors are authored by existing chart code. Preserve a readable light plot. */
.hp-workspace .chart-container { background: #f8f9fa; color: #1f2937; border: 1px solid var(--hp-border); border-radius: var(--hp-radius-lg); }
.hp-workspace .chart-container h4 { color: #1f2937; }
.hp-workspace :is(.table-wrap,.table-responsive) { max-width: 100%; overflow-x: auto; }
@media(max-width:600px) {
  .hp-workspace .page-header { padding: 32px 20px !important; }
  .hp-workspace .panel-body { padding: 20px !important; }
  .hp-workspace .section { padding-inline: 16px; }
  .hp-workspace .mls-search-toolbar { gap: 12px; }
  .hp-workspace .mls-pagination { flex-wrap: wrap; }
}
