:root { color-scheme: light; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; color: #172019; background: #f4f6f2; }
* { box-sizing: border-box; }
body { margin: 0; }
.login-body { min-height: 100vh; display: grid; place-items: center; }
.login-page { width: min(430px, 100%); padding: 18px; }
.login-card { padding: 24px; border: 1px solid #dfe6de; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgb(38 62 45 / 8%); }
.login-card h1 { margin-bottom: 20px; }
.login-form { display: grid; gap: 14px; }
.login-form label { display: grid; gap: 6px; color: #526057; font-size: 13px; }
.login-form input { width: 100%; padding: 11px 12px; border: 1px solid #cfd8cf; border-radius: 9px; color: #172019; font: inherit; }
.login-form button, .logout-form button { min-height: 42px; padding: 10px 16px; border: 0; border-radius: 9px; background: #263e2d; color: #fff; cursor: pointer; font-weight: 650; }
.login-error { padding: 10px 12px; border-radius: 9px; background: #fee5e0; color: #9c2c1c; font-size: 13px; }
.logout-form { margin-top: 22px; }
.logout-form button { background: #edf1ec; color: #526057; }
main { width: min(1080px, 100%); margin: auto; padding: 18px 14px 48px; }
.site-nav { display: flex; align-items: center; gap: 5px; margin-bottom: 18px; padding: 5px; border: 1px solid #e1e7df; border-radius: 12px; background: #fff; }
.site-nav a { flex: 0 1 92px; padding: 8px 12px; border-radius: 8px; color: #68756b; font-size: 14px; font-weight: 650; text-align: center; text-decoration: none; }
.site-nav a.active { background: #263e2d; color: #fff; }
.home-header h1 { margin-bottom: 10px; }
.home-primary-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 10px; }
.home-panel { margin-top: 10px; padding: 15px 16px; border: 1px solid #e4e9e2; border-radius: 14px; background: #fff; }
.home-panel h2 { margin: 0; font-size: 19px; }
.home-property-line { margin: 10px 0 5px; color: #526057; }
.home-asking-price { margin: 0; color: #b84b29; font-size: 25px; font-weight: 750; }
.home-asking-price span { color: #68756b; font-size: 13px; font-weight: 500; }
.home-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.home-actions a, .favorites-summary > a { padding: 7px 11px; border-radius: 8px; background: #263e2d; color: #fff; font-size: 13px; font-weight: 650; text-decoration: none; }
.home-actions .secondary-action { background: #edf1ec; color: #315d3d; }
.competitor-home-facts { display: flex; flex-wrap: wrap; gap: 5px 13px; margin-top: 9px; color: #526057; font-size: 13px; }
.competitor-home-facts strong { color: #172019; }
.home-price-position { margin: 9px 0; }
.home-price-position strong { color: #b84b29; font-size: 21px; }
.home-price-nodes { display: grid; grid-template-columns: auto 1fr; gap: 8px; padding: 9px 10px; border-radius: 9px; background: #f5f7f3; font-size: 12px; }
.home-price-nodes > span { color: #68756b; }
.home-price-nodes ul { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.compact-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.compact-section-heading p { margin: 3px 0 0; color: #68756b; font-size: 12px; }
.compact-section-heading > a { color: #315d3d; font-size: 13px; font-weight: 650; text-decoration: none; }
.compact-change-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.compact-change { min-width: 0; padding: 11px 12px; border-left: 3px solid #c7d0c7; background: #fafbf9; }
.compact-change-high { border-left-color: #b75639; }
.compact-change-medium { border-left-color: #8c7550; }
.compact-change a { color: inherit; text-decoration: none; }
.compact-change-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.compact-change-head strong { min-width: 0; overflow-wrap: anywhere; font-size: 14px; }
.compact-change-head span { flex: 0 0 auto; color: #8a938c; font-size: 11px; }
.compact-change-price { margin: 7px 0 2px; color: #68756b; font-size: 14px; }
.compact-change-price strong { color: #b84b29; font-size: 18px; }
.compact-change-note { margin: 3px 0 0; color: #526057; font-size: 12px; font-weight: 650; }
.compact-empty { margin: 10px 0 0; color: #68756b; }
.favorites-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.favorites-summary p { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 7px 0 0; }
.favorites-summary p span { color: #68756b; font-size: 12px; }
.status-alert { display: block; margin-top: 9px; padding: 8px 10px; border-radius: 9px; background: #fff4d7; color: #755414; font-size: 12px; text-decoration: none; }
.secondary-links { display: flex; gap: 14px; margin: 12px 2px 0; }
.secondary-links a { color: #7a857c; font-size: 12px; text-decoration: none; }
.settings-links { display: grid; gap: 9px; }
.settings-links a { display: grid; gap: 4px; padding: 14px; border: 1px solid #e4e9e2; border-radius: 12px; background: #fff; color: inherit; text-decoration: none; }
.settings-links span { color: #68756b; font-size: 12px; }
.source-filter { align-items: center; flex-wrap: wrap; }
.source-filter > span { color: #68756b; font-size: 13px; }
.listing-filters { margin-top: 15px; padding: 11px 13px; border: 1px solid #dfe6de; border-radius: 12px; background: #fff; }
.listing-filters > summary, .more-filters > summary { color: #315d3d; font-weight: 700; }
.listing-filters form { margin-top: 13px; }
.primary-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.primary-filter-grid > label, .more-filter-grid > label, .filter-footer > label { display: grid; gap: 5px; min-width: 0; color: #526057; font-size: 12px; }
.listing-filters select, .listing-filters input { width: 100%; min-width: 0; padding: 8px 9px; border: 1px solid #cfd8cf; border-radius: 8px; background: #fff; color: #172019; font: inherit; }
.custom-range { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 4px; }
.custom-range b { color: #8a938c; font-weight: 400; }
.more-filters { margin-top: 12px; padding-top: 10px; border-top: 1px solid #edf0eb; }
.more-filter-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.filter-footer { display: flex; align-items: end; flex-wrap: wrap; gap: 8px 12px; margin-top: 12px; }
.filter-footer > label { width: 170px; }
.filter-footer button { padding: 9px 14px; border: 0; border-radius: 8px; background: #263e2d; color: #fff; cursor: pointer; font-weight: 650; }
.filter-footer > a { padding: 8px 2px; color: #68756b; font-size: 12px; text-decoration: none; }
.active-filter-bar { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.active-filter-bar a { padding: 6px 8px; border-radius: 999px; background: #edf1ec; color: #315d3d; font-size: 12px; text-decoration: none; }
.active-filter-bar .clear-filters { background: transparent; color: #68756b; text-decoration: underline; }
.listing-result-note { margin: 11px 0 0; color: #526057; font-size: 12px; }
.unified-listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
.unified-listing-card { min-width: 0; }
.listing-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.listing-summary-link { min-width: 0; color: #172019; font-weight: 700; line-height: 1.45; text-decoration: none; overflow-wrap: anywhere; }
.listing-title-secondary, .listing-core-fields { margin: 8px 0; color: #68756b; font-size: 13px; }
.unified-listing-card .price { margin: 8px 0; }
.listing-relation { margin: 4px 0 8px; color: #526057; font-size: 12px; }
.subdued-source { background: transparent; color: #8a938c; padding-left: 0; }
.competition-summary { padding: 13px; border-radius: 11px; background: #fff; }
.competition-summary p { margin: 5px 0 0; color: #526057; font-size: 13px; }
.source-section { margin-top: 30px; }
.status-page-grid { margin-top: 18px; }
.change-type-filter { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.change-type-filter a { padding: 8px 12px; border-radius: 999px; background: #fff; color: #526057; font-size: 13px; text-decoration: none; }
.change-type-filter a span { color: #8a938c; font-size: 11px; }
.change-type-filter a.active { background: #263e2d; color: #fff; }
.change-type-filter a.active span { color: #dce7df; }
.change-group .section-heading { margin-top: 24px; }
.change-summary-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.change-summary-card { min-width: 0; padding: 12px 13px; }
.change-summary-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.change-summary-head > a { min-width: 0; color: #172019; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.change-house-attribute { margin: 6px 0; color: #526057; font-size: 12px; }
.change-summary-price { margin: 8px 0 3px; color: #7a857c; }
.change-summary-price span { text-decoration: line-through; }
.change-summary-price strong { color: #b84b29; font-size: 20px; }
.change-summary-note { margin: 3px 0 7px; color: #526057; font-size: 12px; font-weight: 650; }
.hero { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.eyebrow { margin: 0; color: #647267; font-size: 12px; }
h1 { margin: 4px 0 18px; font-size: 30px; }
h2 { margin-top: 30px; font-size: 20px; }
h2 small { color: #718075; font-size: 13px; font-weight: 500; }
.status, .tag, .parking { display: inline-block; border-radius: 999px; padding: 5px 9px; font-size: 12px; }
.status.ok { background: #dff4e4; color: #17612b; }
.status.bad { background: #fee5e0; color: #9c2c1c; }
.notice { display: grid; gap: 5px; padding: 16px; border-radius: 16px; background: #fff; border-left: 5px solid #91a598; }
.notice.important { border-left-color: #e06836; background: #fff8f1; }
.notice span, .notice small, .muted { color: #68756b; }
.market-summary { margin-top: 14px; padding: 18px; border: 1px solid #dfe6de; border-radius: 18px; background: #fff; }
.market-heading, .section-heading, .change-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.market-size { margin: 5px 0 0; color: #526057; }
.market-size strong { color: #172019; font-size: 32px; }
.quiet-result { margin: 0; color: #526057; font-weight: 650; }
.market-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.market-counts div { display: flex; align-items: baseline; gap: 6px; padding: 10px 12px; border-radius: 11px; background: #f4f6f2; }
.market-counts strong { font-size: 20px; }
.market-counts span { color: #68756b; font-size: 12px; }
.market-updates { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 14px; color: #68756b; font-size: 12px; }
.personal-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.personal-links article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; }
.personal-links article div { display: grid; gap: 3px; }
.personal-links article span { color: #68756b; font-size: 13px; }
.personal-links a { padding: 7px 11px; border-radius: 8px; background: #edf1ec; color: #315d3d; font-size: 13px; font-weight: 650; text-decoration: none; }
.personal-actions { display: flex !important; grid-auto-flow: column; align-items: center; gap: 5px !important; }
.personal-links .subtle-action { background: transparent; color: #68756b; text-decoration: underline; }
.competitor-page { max-width: 900px; }
.price-position-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 18px; }
.price-position-summary div { display: grid; gap: 5px; padding: 13px; border-radius: 12px; background: #fff; }
.price-position-summary span { color: #68756b; font-size: 12px; }
.price-position-summary strong { font-size: 20px; }
.sample-note { color: #68756b; font-size: 12px; }
.competitor-details { margin-top: 14px; padding: 11px 13px; border: 1px solid #e4e9e2; border-radius: 11px; background: #fafbf9; }
.competitor-details > summary { color: #315d3d; font-weight: 650; }
.competitor-details > p { color: #68756b; font-size: 12px; }
.price-node-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 12px; }
.price-node { padding: 14px; }
.price-node strong { font-size: 19px; }
.price-node p { margin: 8px 0 0; color: #526057; font-size: 13px; line-height: 1.55; }
.manual-simulator { margin-top: 12px; padding: 10px 12px; border: 1px solid #e4e9e2; border-radius: 11px; background: #fafbf9; }
.manual-simulator summary { color: #526057; font-weight: 650; }
.manual-simulator > p { color: #68756b; font-size: 12px; }
.manual-simulator form { display: flex; align-items: end; gap: 8px; }
.manual-simulator label { color: #526057; font-size: 13px; }
.manual-simulator input { width: 100px; max-width: 100%; margin: 0 4px; padding: 9px; border: 1px solid #cfd8cf; border-radius: 9px; font: inherit; }
.manual-simulator button { padding: 9px 12px; border: 0; border-radius: 9px; background: #263e2d; color: #fff; cursor: pointer; font-weight: 650; }
.simulation-result { margin-top: 12px; padding: 12px; border-radius: 10px; background: #f4f6f2; }
.simulation-result p { margin: 4px 0; color: #526057; }
.judgment-facts { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.judgment-facts li { padding: 12px 14px; border-radius: 11px; background: #fff; }
.competitor-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.competitor-card { min-width: 0; overflow-wrap: anywhere; }
.similarity-score, .competitor-reason { color: #526057; font-size: 13px; }
.competitor-reason { padding: 10px; border-radius: 9px; background: #f4f6f2; line-height: 1.55; }
.section-heading { margin-top: 30px; }
.section-heading h2 { margin: 0; }
.section-heading p, .page-header p { margin: 5px 0 0; color: #68756b; font-size: 13px; }
.text-link, .back-link { color: #315d3d; font-size: 13px; font-weight: 650; text-decoration: none; }
.change-list { display: grid; gap: 10px; margin-top: 12px; }
.change-card { min-width: 0; overflow-wrap: anywhere; border-left-width: 4px; }
.change-high { border-left-color: #b75639; background: #fffdfb; box-shadow: 0 5px 18px rgb(76 47 34 / 7%); }
.change-medium { border-left-color: #8c7550; }
.change-normal { border-left-color: #c7d0c7; background: #fafbf9; color: #465049; }
.change-kind, .importance-badge { display: inline-block; padding: 5px 9px; border-radius: 999px; font-size: 12px; }
.change-kind { background: #263e2d; color: #fff; }
.change-high .importance-badge { background: #f2ddd5; color: #88391f; }
.change-medium .importance-badge { background: #efe7d8; color: #6a512a; }
.change-normal .importance-badge { background: #edf1ec; color: #647267; }
.importance-score { color: #68756b; font-size: 12px; }
.change-title { display: block; margin-top: 13px; color: inherit; font-size: 17px; font-weight: 720; text-decoration: none; }
.change-facts, .change-meta, .change-delta { color: #68756b; font-size: 13px; }
.change-price { display: flex; align-items: baseline; gap: 9px; margin: 12px 0 0; }
.change-price span { color: #7a857c; text-decoration: line-through; }
.change-price b { color: #9aa49c; }
.change-price strong { color: #b84b29; font-size: 23px; }
.change-delta { margin: 3px 0 0; }
.importance-reason { margin-top: 13px; padding: 12px 13px; border-radius: 10px; background: #f4f6f2; font-size: 14px; line-height: 1.65; }
.change-meta { margin: 12px 0 0; }
.card-actions, .change-head-actions { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.change-head-actions { justify-content: flex-end; }
.favorite-toggle { margin: 0; }
.favorite-toggle button { width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #f4f1e9; color: #9a6e20; cursor: pointer; font-size: 23px; line-height: 1; }
.source-health { color: #263e2d !important; font-weight: 650; }
.state-warning { border-color: #e1c99f; }
.state-warning .source-health { color: #8a5b15 !important; }
.state-pending { opacity: .82; }
.page-header { margin-top: 18px; }
.page-header h1 { margin-bottom: 5px; }
.all-changes { margin-top: 18px; }
.detail-page { max-width: 780px; }
.detail-price { display: grid; gap: 6px; margin-top: 18px; padding: 18px; border-radius: 16px; background: #fff; }
.detail-price > span { color: #68756b; font-size: 13px; }
.detail-price > strong { color: #b84b29; font-size: 30px; }
.detail-price p { margin: 0; color: #526057; }
.detail-reason { margin-top: 12px; }
.my-listing-summary, .empty-state { margin-top: 18px; padding: 18px; border-radius: 16px; background: #fff; }
.my-listing-summary h2, .empty-state h2 { margin-top: 0; }
.my-listing-main { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; }
.my-listing-main strong { font-size: 28px; }
.personal-note { padding: 12px; border-radius: 10px; background: #f4f6f2; white-space: pre-wrap; }
.form-page { max-width: 780px; }
.listing-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; padding: 18px; border-radius: 16px; background: #fff; }
.listing-form > label { display: grid; gap: 6px; min-width: 0; color: #526057; font-size: 13px; }
.listing-form input, .listing-form select, .listing-form textarea, .favorite-note-form input { width: 100%; max-width: 100%; padding: 10px 11px; border: 1px solid #cfd8cf; border-radius: 9px; background: #fff; color: #172019; font: inherit; }
.listing-form textarea { resize: vertical; }
.listing-form fieldset { display: flex; flex-wrap: wrap; gap: 9px 16px; min-width: 0; margin: 0; padding: 10px 12px; border: 1px solid #dfe6de; border-radius: 10px; }
.listing-form fieldset legend { color: #526057; font-size: 13px; }
.listing-form fieldset label { display: flex; align-items: center; gap: 5px; }
.listing-form fieldset input { width: auto; }
.full-field { grid-column: 1 / -1; }
.field-error { color: #a43725; }
.form-actions { display: flex; align-items: center; gap: 12px; }
.form-actions button, .favorite-note-form button { padding: 10px 16px; border: 0; border-radius: 9px; background: #263e2d; color: #fff; cursor: pointer; font-weight: 650; }
.form-actions a { color: #526057; text-decoration: none; }
.favorite-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.favorite-card { min-width: 0; overflow-wrap: anywhere; }
.favorite-mark { color: #a77621; font-size: 22px; }
.inactive-listing { background: #f8f8f6; }
.delisted-label { display: inline-block; margin: 9px 0 0; padding: 5px 8px; border-radius: 7px; background: #eceeea; color: #68756b; font-size: 12px; }
.favorite-note-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; margin-top: 12px; }
.favorite-note-form label { min-width: 0; color: #68756b; font-size: 12px; }
.favorite-note-form label input { display: block; margin-top: 5px; }
.text-button { margin-top: 8px; padding: 0; border: 0; background: transparent; color: #68756b; cursor: pointer; font: inherit; font-size: 12px; text-decoration: underline; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.detail-grid div { padding: 12px; border-radius: 11px; background: #fff; }
.detail-grid dt { color: #68756b; font-size: 12px; }
.detail-grid dd { margin: 5px 0 0; font-weight: 650; }
.price-history { padding: 0; overflow: hidden; border-radius: 14px; background: #fff; list-style: none; }
.price-history li { display: flex; justify-content: space-between; gap: 10px; padding: 12px 14px; border-bottom: 1px solid #edf0eb; }
.price-history li:last-child { border-bottom: 0; }
.price-history time { color: #68756b; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-top: 12px; }
.platform-stats { grid-template-columns: repeat(4, 1fr); }
.platform-health { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.platform-state { padding: 12px; }
.platform-state-title { display: flex; justify-content: space-between; gap: 8px; }
.platform-state-title span, .platform-state p, .platform-state small { color: #68756b; font-size: 12px; }
.platform-state p { margin: 7px 0; }
.coverage-warning { margin-top: 10px; padding: 12px 14px; border-radius: 12px; background: #fff4d7; color: #755414; font-size: 13px; }
.sync-summary { display: grid; gap: 4px; margin-top: 10px; padding: 12px 14px; border-radius: 12px; background: #fff; font-size: 13px; }
.sync-summary span, .sync-summary small, .dedupe-note { color: #68756b; }
.dedupe-note { margin: 10px 2px 0; font-size: 12px; }
.listing-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.semantic-fields { display: flex; flex-wrap: wrap; gap: 6px; }
.semantic-fields span { padding: 4px 7px; border-radius: 7px; background: #edf1ec; color: #3f5746; font-size: 12px; }
.semantic-fields .semantic-unknown { background: transparent; color: #8a938c; padding-left: 0; }
.platform-filter { display: flex; gap: 8px; margin-top: 14px; }
.platform-filter a { padding: 8px 14px; border-radius: 999px; background: #fff; color: #526057; text-decoration: none; }
.platform-filter a.active { background: #263e2d; color: #fff; }
.stats div { display: grid; text-align: center; padding: 12px 5px; background: #fff; border-radius: 12px; }
.stats strong { font-size: 22px; }
.stats span { color: #68756b; font-size: 12px; }
.cards { display: grid; gap: 10px; }
.listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
article { padding: 15px; background: #fff; border: 1px solid #e4e9e2; border-radius: 14px; }
.event-important { border-color: #e8a17f; }
.event a, .title { display: block; margin-top: 10px; color: #172019; font-weight: 650; text-decoration: none; }
.tag { background: #edf1ec; }
.tag.hot { margin-left: 5px; background: #ffdfcc; color: #9a3818; }
.listing-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.price { color: #d65327; font-size: 23px; font-weight: 750; }
.parking-yes { background: #dff4e4; color: #17612b; }
.parking-no { background: #fee5e0; color: #9c2c1c; }
.parking-unknown { background: #edf1ec; color: #647267; }
.source-tag { display: inline-block; padding: 4px 8px; border-radius: 7px; background: #f1e9dc; color: #76552d; font-size: 12px; }
.source-link { display: inline-block; margin-top: 12px; padding: 8px 12px; border-radius: 9px; background: #263e2d; color: #fff; text-decoration: none; font-size: 13px; }
.source-link.disabled { background: #edf1ec; color: #7a857c; }
.run-list { overflow: hidden; border-radius: 14px; background: #fff; }
.run-row { display: grid; grid-template-columns: 90px 1fr 85px minmax(120px, auto); align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid #edf0eb; font-size: 13px; }
.run-row small { grid-column: 2 / -1; color: #68756b; }
.run-row:last-child { border-bottom: 0; }
.run-success { color: #17612b; }
.run-failed { color: #9c2c1c; }
.listing p { margin: 9px 0; font-size: 14px; }
details { margin-top: 12px; color: #526057; font-size: 13px; }
summary { cursor: pointer; }
.empty { padding: 18px; border-radius: 12px; background: #fff; color: #68756b; }
@media (max-width: 640px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  main { padding: 14px 11px 40px; }
  .site-nav { position: relative; gap: 3px; margin-bottom: 13px; }
  .site-nav a { flex: 1 1 25%; padding: 9px 4px; }
  .home-header h1 { margin-bottom: 6px; }
  .home-primary-grid { grid-template-columns: 1fr; gap: 0; }
  .home-panel { margin-top: 8px; padding: 12px 13px; }
  .home-panel h2 { font-size: 17px; }
  .home-property-line { margin-top: 7px; }
  .home-asking-price { font-size: 22px; }
  .competitor-home-facts { margin-top: 7px; }
  .home-price-position { margin: 6px 0; }
  .home-price-nodes { padding: 7px 8px; }
  .compact-change-list { grid-template-columns: 1fr; gap: 6px; }
  .compact-change { padding: 9px 10px; }
  .favorites-summary { align-items: flex-start; }
  .unified-listing-grid { grid-template-columns: 1fr; }
  .primary-filter-grid, .more-filter-grid { grid-template-columns: 1fr; }
  .filter-footer { align-items: stretch; flex-direction: column; }
  .filter-footer > label { width: 100%; }
  .filter-footer button { min-height: 42px; }
  .active-filter-bar { gap: 5px; }
  .change-type-filter { gap: 5px; }
  .change-type-filter a { flex: 1 1 auto; padding: 8px 9px; text-align: center; }
  .change-summary-list { grid-template-columns: 1fr; }
  .change-summary-card { padding: 10px 11px; }
  h1 { font-size: 25px; }
  .hero { align-items: flex-start; }
  .status { max-width: 125px; text-align: center; }
  .listing-grid { grid-template-columns: 1fr; }
  .platform-health { grid-template-columns: 1fr; }
  .stats { gap: 6px; }
  .market-summary { padding: 15px; }
  .market-heading, .section-heading { align-items: flex-start; flex-direction: column; }
  .market-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-updates { display: grid; }
  .personal-links { grid-template-columns: 1fr; }
  .price-position-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .price-node-list { grid-template-columns: 1fr; }
  .competitor-list { grid-template-columns: 1fr; }
  .manual-simulator form { align-items: stretch; flex-direction: column; width: 100%; }
  .manual-simulator input { width: 100%; margin: 5px 0 0; }
  .change-card-head { align-items: flex-start; }
  .change-price { flex-wrap: wrap; }
  .detail-grid { grid-template-columns: 1fr; }
  .listing-form, .favorite-list { grid-template-columns: 1fr; }
  .full-field { grid-column: auto; }
  .favorite-note-form { grid-template-columns: 1fr; }
  .platform-filter { max-width: 100%; overflow-x: auto; padding-bottom: 3px; }
  .platform-filter a { flex: 0 0 auto; }
  .run-row { grid-template-columns: 75px 1fr; }
  .run-row small { grid-column: 1 / -1; }
}
