/* Phase 4 opt-in content/workspace adapter. State remains controller-owned. */
body:has(.hp-content.active) { background: var(--hp-navy); }
.hp-content, .hp-comparison {
 --gold: var(--hp-gold); --gold-light: var(--hp-gold-light); --v2-gold: var(--hp-gold); --v2-gold-light: var(--hp-gold-light);
 --font-serif: var(--hp-font-display); --font-sans: var(--hp-font-ui); --v2-font-serif: var(--hp-font-display); --v2-font-sans: var(--hp-font-ui);
 color: var(--hp-text); background: var(--hp-navy);
}
.hp-content .page-header { background: linear-gradient(140deg,var(--hp-navy),var(--hp-surface-raised)) !important; padding: 44px 24px !important; border-bottom: 1px solid var(--hp-border); }
.hp-content .page-header h1 { color: var(--hp-text) !important; font: 700 clamp(2rem,4vw,3rem)/1.15 var(--hp-font-display) !important; }
.hp-content .page-header p { color: var(--hp-muted) !important; max-width: 65ch; margin-inline: auto; line-height: 1.65; }
.hp-content .gold-line { background: var(--hp-gold); }
.hp-content-wrap { max-width: 1080px; margin: auto; padding: 36px 24px 56px; }
.hp-content-wrap > * + * { margin-top: 24px; }
.hp-content-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 24px; }
.hp-content-grid > * { margin-top: 0; min-width: 0; }
.hp-content :is(h2,h3,.section-title) { color: var(--hp-text) !important; font-family: var(--hp-font-display); }
.hp-content :is(.hp-card,.hp-notice) h2 { font-size: 1.5rem; margin-block: 0 16px; }
.hp-content p { line-height: 1.75; }
.hp-content .hp-card p { color: var(--hp-muted); margin-block: 12px; }
.hp-content .hp-content-link { text-decoration: none; }
.hp-content .hp-content-link:hover { border-color: var(--hp-gold); }
.hp-content a:not(.hp-button) { color: var(--hp-gold-light); }
.hp-content .hp-eyebrow { color: var(--hp-gold-light); }
.hp-content .hp-team img { border-radius: 50%; object-fit: cover; margin-bottom: 16px; }
.hp-content .hp-access-card .hp-content-grid { margin-block: 24px; }
.hp-content .hp-muted { color: var(--hp-muted); font-size: .9rem; }
.hp-updates summary { cursor: pointer; min-height: 44px; padding-block: 12px; color: var(--hp-gold-light); }
.hp-content :is(.about-card,.portfolio-auth-card,.portfolio-empty-state,.empty-state,.saved-deal-card,.portfolio-metric-card,.portfolio-wealth-summary,.compare-helper-banner,.ec-block) {
 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-content :is(.about-card h2,.team-name,.portfolio-metric-value,.saved-deal-address,.empty-state h3,.compare-helper-headline) { color: var(--hp-text) !important; }
.hp-content :is(.about-card p,.portfolio-metric-label,.portfolio-metric-sub,.portfolio-auth-card p,.portfolio-empty-state p,.empty-state p,.pict-step-text,.compare-helper-sub,.cloud-status,.ec-sub,.ec-privacy) { color: var(--hp-muted) !important; }
.hp-content :is(.saved-deal-header,.deal-select-wrap,.portfolio-toolbar,.portfolio-section-header,.pict-step,.compare-how-content) { background: var(--hp-surface-raised); color: var(--hp-text); border-color: var(--hp-border); }
.hp-content :is(.btn,.compare-header-btn,.ec-btn,.pricing-btn) { min-height: 44px; border-radius: var(--hp-radius-sm) !important; }
.hp-content :is(.btn-primary,.compare-header-btn,.ec-btn,.pricing-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-content :is(.btn-outline,.btn-navy,.btn-export-csv,.compare-how-btn) { background: var(--hp-surface-raised) !important; color: var(--hp-text) !important; border: 1px solid var(--hp-border-accent) !important; }
.hp-content :is(input,select) { background: var(--hp-navy) !important; color: var(--hp-text) !important; border-color: var(--hp-border) !important; min-height: 44px; font-size: 16px; color-scheme: dark; }
.hp-content input[type=checkbox] { min-height: 24px; min-width: 24px; accent-color: var(--hp-gold); }
.hp-content :is(.cloud-status a,.pict-step-num,.page-header-badge) { color: var(--hp-gold-light) !important; }
.hp-content .pict-step-num { background: var(--hp-surface-raised); }
.hp-content .pict-step-text strong { color: var(--hp-text) !important; }
.hp-content .page-header-badge { background: var(--hp-surface-raised) !important; border: 1px solid var(--hp-border-accent); }
.hp-content #savedDealsActions { background: var(--hp-surface) !important; border-color: var(--hp-border); }
.hp-content .sdm-value { color: var(--hp-text) !important; }
.hp-content :is(.sdm-label,.deal-select-label) { color: var(--hp-muted) !important; }
.hp-content .sdm-value.positive { color: var(--hp-success) !important; }
.hp-content .sdm-value.negative { color: var(--hp-danger) !important; }
.hp-content .selected-for-compare { border-color: var(--hp-gold) !important; }
.hp-content .legal-card { background: #f8f9fa !important; color: #1f2937; max-width: 78ch; margin-inline: auto; line-height: 1.8; }
.hp-content .legal-card :is(h2,p,li) { color: #1f2937 !important; }
.hp-content .legal-card a { color: #23466d; }
.hp-content .portfolio-chart-card { background: #f8f9fa !important; color: #1f2937; border-radius: var(--hp-radius-lg); }
.hp-content .portfolio-chart-card :is(h3,p) { color: #1f2937; }
.hp-comparison .compare-modal { background: var(--hp-surface) !important; color: var(--hp-text); max-width: calc(100vw - 24px); }
.hp-comparison :is(.compare-modal-header,.compare-modal-footer,.compare-best-banner,.compare-col-header,.compare-label-header) { background: var(--hp-surface-raised) !important; color: var(--hp-text); border-color: var(--hp-border) !important; }
.hp-comparison :is(.compare-cell,.compare-row-label) { background: var(--hp-surface); color: var(--hp-text); border-color: var(--hp-border); }
.hp-comparison :is(.compare-cell-best,.compare-modal-title span) { color: var(--hp-gold-light); }
.hp-comparison .compare-best-title { color: var(--hp-text); }
.hp-comparison :is(.compare-best-desc,.compare-footer-note,.compare-legal-note) { color: var(--hp-muted); }
.hp-comparison :is(.compare-best-badge,.compare-best-tag) { background: var(--hp-gold); color: var(--hp-navy); }
.hp-comparison .compare-col-header .compare-col-score.buy { color: var(--hp-success); }
.hp-comparison .compare-col-header .compare-col-score.maybe { color: var(--hp-warning); }
.hp-comparison .compare-col-header .compare-col-score.avoid { color: var(--hp-danger); }
.hp-comparison .compare-cell-positive { color: var(--hp-success); }
.hp-comparison .compare-cell-negative { color: var(--hp-danger); }
.hp-comparison .compare-columns { overflow-x: auto; max-width: 100%; }
.hp-comparison .compare-columns.cols-2 { grid-template-columns: 130px repeat(2,minmax(160px,1fr)); }
.hp-comparison .compare-columns.cols-3 { grid-template-columns: 130px repeat(3,minmax(160px,1fr)); }
.hp-comparison button { min-height: 44px; }
.hp-comparison .btn-primary { background: var(--hp-gold) !important; color: var(--hp-navy) !important; }
.hp-comparison.compare-bar { border-color: var(--hp-border-accent); }
.hp-content .portfolio-table-wrap { overflow-x: auto; }
.hp-content :is(.portfolio-section,.pic-card,.portfolio-wealth-card) { background: var(--hp-surface) !important; border: 1px solid var(--hp-border) !important; border-radius: var(--hp-radius-lg); }
.hp-content :is(.pic-card-address,.portfolio-wealth-value,.portfolio-prop-count) { color: var(--hp-text) !important; }
.hp-content :is(.pic-card-label,.pic-card-sub,.portfolio-section-header p,.portfolio-wealth-label,.saved-deal-metric-label) { color: var(--hp-muted) !important; }
.hp-content :is(.portfolio-table th,.portfolio-table td) { background: var(--hp-surface) !important; color: var(--hp-text) !important; border-color: var(--hp-border) !important; }
.hp-content .portfolio-table td[style*="#22c55e"] { color: var(--hp-success) !important; }
.hp-content .portfolio-table td[style*="#ef4444"] { color: var(--hp-danger) !important; }
.hp-content .pic-card-value { color: var(--hp-gold-light); }
.hp-content .pic-card-value.positive { color: var(--hp-success); }
.hp-content .pic-card-value.negative { color: var(--hp-danger); }
/* Opt in existing app footers without changing disclosure text or link hooks. */
.page .hp-footer { background: var(--hp-navy) !important; color: var(--hp-muted); border-color: var(--hp-border) !important; }
.page .hp-footer .footer-logo { color: var(--hp-text); }
.page .hp-footer :is(.footer-logo span,a) { color: var(--hp-gold-light) !important; }
.page .hp-footer .footer-links { flex-wrap: wrap; }
@media(max-width:600px) {
 .hp-content-wrap { padding: 28px 16px 40px; }
 .hp-content .page-header { padding: 32px 20px !important; }
 .hp-content .section { padding-inline: 16px; }
 .hp-content .pict-steps { flex-wrap: wrap; }
 .hp-content .portfolio-auth-card { padding: 24px; }
 .hp-comparison .compare-modal-header { padding: 16px; }
 .hp-comparison .compare-modal-title { font-size: 1.1rem; }
}
