/* v0.13 workspace: the same calm surfaces and clear figures as the household budget. */
html{scroll-padding-top:90px}
body{background:var(--paper);overflow-x:hidden}
.app-shell{grid-template-columns:226px minmax(0,1fr)}
.sidebar{background:linear-gradient(165deg,#172c36,#1a3d3a);padding:17px 12px;gap:20px}
.sidebar .brand{font-size:15px;letter-spacing:-.2px}
.desktop-nav a{min-height:52px;border-radius:13px}
.desktop-nav a:hover,.desktop-nav a.active{background:#ffffff1c;border-color:#ffffff25}
.workspace-header{position:sticky;top:0;z-index:35;min-height:61px;margin:0;padding:10px clamp(16px,2.1vw,31px);border-radius:0;border-width:0 0 1px;box-shadow:0 4px 15px #172c360a;background:#fff}
.workspace main{max-width:1500px;padding:25px clamp(16px,2.1vw,31px) 65px}
.workspace footer{margin:0 clamp(16px,2.1vw,31px)}
.page-heading{margin-bottom:17px}
.page-heading h1{font-size:clamp(25px,2.2vw,35px);letter-spacing:-1px}
.page-heading .muted{font-size:13px}
.eyebrow{color:#557a6c}
.panel,.card,.loan-card,.link-tile{border-color:var(--line);border-radius:17px;box-shadow:var(--shadow)}
.panel{padding:21px}
.search-brief{background:linear-gradient(135deg,#ffffff,#edf7f2);border-color:#cce1d6}
.search-brief-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.search-brief-head h2{margin:2px 0 0;font-size:20px}
.search-brief-head .eyebrow{margin:0}
.search-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.search-brief-grid>div{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.search-brief-grid strong{display:block;font-size:13px}
.search-brief-grid p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.rental-register{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden;margin-bottom:16px}
.rental-market-links{margin-bottom:14px}.rental-market-links h2{margin:0 0 7px}.rental-market-links p{margin:7px 0}.market-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.market-links a{display:flex;align-items:center;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--mint);color:var(--green);font-weight:700;font-size:12px;text-decoration:none;overflow-wrap:anywhere}
.rental-market-summary{margin-bottom:14px}.rental-market-summary h2{margin:0 0 6px}.rental-market-summary p{margin:6px 0}.rental-market-summary a{font-weight:700}
.rental-line{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.35}
.rental-line:last-child{border-bottom:0}
.rental-line:hover{background:#f7faf8}
.rental-line>*{min-width:0;overflow-wrap:anywhere}
.rental-line-address{font-weight:700;color:var(--green)}
.rental-line-description,.rental-line-status{color:var(--muted)}
.rental-line-rent{text-align:right;white-space:nowrap;color:var(--ink)}
.rental-line-detail{white-space:nowrap;font-weight:600}
.rental-views{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 13px}.rental-views a{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--green);font-weight:700;text-decoration:none}.rental-views a.active{background:var(--mint);border-color:#9bc9ae}.rental-views span{font-size:12px;color:var(--muted)}.rental-select-form{margin:0}.rental-select-form button{width:auto;min-height:34px;padding:6px 10px;font-size:12px;white-space:nowrap}.rental-detail-select{margin:0 0 15px}
.rental-register-empty{padding:12px}
.rental-signal-line{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,1.4fr);align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.35}
.rental-signal-line:last-child{border-bottom:0}
.rental-signal-line>*{min-width:0;overflow-wrap:anywhere}
.rental-signal-line a{font-weight:700;color:var(--green)}
.rental-signal-line span{color:var(--muted)}
.property-rent-evidence{padding:9px 10px;border-radius:10px;background:#f0f7f3;color:#315f50;font-size:12px;line-height:1.45}
.search-brief-numbers{margin:13px 0 7px;font-size:13px;font-weight:700;line-height:1.5}
.search-brief>.help{margin-bottom:0}
.search-settings-shortcut{display:flex;align-items:center;gap:10px;margin:2px 0 12px;font-size:12px;color:var(--muted)}
.search-settings-shortcut a{display:inline-flex;align-items:center;flex:none;padding:8px 11px;border:1px solid #b9d5c9;border-radius:10px;background:#fff;color:var(--green);font-weight:700;text-decoration:none}
.search-settings-shortcut span{min-width:0}
.button,button{min-height:43px;border-radius:11px}
.card-label{margin-bottom:8px}
.balance-hero,.money-bank{background:linear-gradient(135deg,#172c36 2%,#20594f 100%);border-radius:20px}
.funding-card{background:linear-gradient(145deg,#e5f3eb,#f4faf6)}
.loan-card{transition:border-color .15s,transform .15s}
.loan-card:hover{transform:translateY(-2px)}
.notice{line-height:1.45}
.research-heading{margin-bottom:13px}
.research-heading .muted{max-width:600px}
.research-primary{position:sticky;top:60px;z-index:25;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:100%;margin:0 0 10px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 5px 18px #172c360a;overflow:visible}
.research-primary a{min-width:0;justify-content:center;border:0;border-radius:9px;padding:9px 7px;text-align:center}
.research-primary a.active{background:#e8f5ee;color:#175b4c;box-shadow:inset 0 -2px #146653}
.research-primary{grid-template-columns:repeat(6,minmax(0,1fr))}
.property-tile[id]{scroll-margin-top:125px}
.archive-arrival{animation:archive-arrival 1.3s ease-out}
@keyframes archive-arrival{25%{border-color:#36a46e;box-shadow:0 0 0 7px #3ca97238,0 12px 28px #17412f36}100%{box-shadow:var(--shadow)}}
@media(prefers-reduced-motion:reduce){.archive-arrival{animation:none}}
.research-tools{margin-bottom:14px}
.research-tools>summary{padding:8px 4px;color:var(--green)}
.review-banner{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;margin:13px 0;padding:14px 16px;border:1px solid #e9c784;border-radius:15px;background:#fff7e9;color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}
.review-banner-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f5dcab;color:#734d12;font-size:23px}
.review-banner strong,.review-banner small{display:block}
.review-banner small{color:#6a6760;font-size:12px;line-height:1.35}
.review-banner b{font-size:23px;color:var(--green)}
.rental-banner{border-color:#cbdbea;background:#eff6fb}
.rental-banner .review-banner-icon{background:#dcecf6}
.research-overview{display:grid;grid-template-columns:minmax(300px,1.25fr) minmax(280px,1fr);gap:12px;margin:15px 0}
.research-overview:has(>.research-stat-grid:only-child){grid-template-columns:1fr}
.research-hero{display:grid;align-content:space-between;gap:8px;min-width:0;min-height:220px;padding:21px;border-radius:19px;background:linear-gradient(130deg,#17323b,#1c6454);color:#fff;text-decoration:none;box-shadow:0 10px 24px #173e3a24}
.research-hero:hover{color:#fff}
.research-hero-kicker{color:#aee6cb;font-size:10px;font-weight:750;letter-spacing:1.2px}
.research-hero>strong{font-size:clamp(19px,2vw,28px);line-height:1.17;letter-spacing:-.5px}
.research-hero>span:nth-child(3){color:#d1e7dd;font-size:12px}
.research-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-top:1px solid #ffffff3b;padding-top:12px}
.research-hero-stats small{font-size:10px;color:#bddbcf}
.research-hero-stats b{display:block;font-size:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.research-hero em{font-style:normal;font-weight:700;font-size:12px;color:#c9f3dd}
.research-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.research-stat{display:grid;align-content:center;gap:3px;min-width:0;min-height:100px;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}
.research-stat:nth-child(2){background:#f0f8f2}
.research-stat:nth-child(3){background:#f5f2fb}
.research-stat:nth-child(4){background:#edf4f9}
.research-stat>span{font-size:21px;line-height:1}
.research-stat small{color:#5a6d70;font-size:11px}
.research-stat strong{font-size:22px;font-variant-numeric:tabular-nums;line-height:1.12}
.research-context{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:17px 0 10px}
.research-context p{margin:0;color:var(--muted);font-size:11px}
.research-context p:first-child{color:var(--ink);font-size:16px}
.research-filters{padding:13px 18px;margin-bottom:16px}
.research-filters>summary{color:var(--green)}
.research-filters .form-grid{gap:11px;margin:14px 0}
.opportunity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;margin-bottom:19px}
.property-tile{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:var(--shadow)}
.property-photo{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(145deg,#dcebe6,#eaf2f7)}
.property-photo img{display:block;width:100%;height:100%;object-fit:cover}
.photo-placeholder{display:grid;align-content:center;justify-items:center;gap:5px;width:100%;height:100%;color:#6f847b}
.photo-placeholder>span{font-size:49px;opacity:.8}
.photo-placeholder small{font-size:11px}
.photo-badges{position:absolute;left:12px;top:12px;display:flex;flex-wrap:wrap;gap:5px}
.photo-badges b{padding:4px 8px;border-radius:7px;background:#fff;color:#174f40;font-size:10px;letter-spacing:.4px;box-shadow:0 2px 7px #102b2625}
.photo-badges .new-marker{background:#176b54;color:#fff}
.photo-badges .review-marker{background:#fff2d5;color:#70490d}
.photo-badges .archive-marker{background:#263e46;color:#fff}
.property-tile-body{padding:17px}
.property-tile-heading{display:flex;justify-content:space-between;gap:8px;color:#27745a;font-size:11px;font-weight:750}
.property-rank{color:#4a6473;white-space:nowrap}
.property-tile h2{font-size:20px;line-height:1.2;letter-spacing:-.4px;margin:7px 0}
.property-tile h2 a{color:var(--ink);text-decoration:none}
.property-tile h2 a:hover{text-decoration:underline}
.property-meta{min-height:35px;margin:0;color:var(--muted);font-size:11px}
.property-keyline{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0 8px}
.property-keyline>span{min-width:0;padding:11px;border-radius:11px;background:#e9f4ed}
.property-keyline>span:nth-child(2){background:#ecf1f9}
.property-keyline small{color:#537066;font-size:10px}
.property-keyline strong{display:block;margin-top:2px;font-size:18px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.property-secondary{display:flex;justify-content:space-between;gap:7px;font-size:11px;font-weight:700;color:#4b665c}
.property-size,.property-history{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.35}
.property-size{padding-top:8px;border-top:1px solid var(--line)}
.property-history{min-height:30px}
.property-tile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.property-tile-actions a,.property-tile-actions button{font-size:11px}
.property-tile-actions .button{min-height:35px;padding:7px 10px}
.property-tile-actions button{min-height:33px;padding:5px 9px}
.property-tile-actions form{margin:0}
.research-footer-links{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}
.research-footer-links a{padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px;text-decoration:none}
.report-photo-panel{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1fr);gap:22px;align-items:center}
.report-photo{display:grid;place-items:center;min-height:210px;aspect-ratio:16/9;overflow:hidden;border-radius:15px;background:linear-gradient(145deg,#dcebe6,#eaf2f7);color:#607e73}
.report-photo img{width:100%;height:100%;object-fit:cover}
.report-photo>span{font-size:55px}
.report-photo p{margin:0}
.photo-upload{margin-top:14px}
.photo-upload label{font-size:12px}
.photo-upload input{margin:7px 0 11px;padding:8px}
.insight-panel{overflow:hidden}
.insight-chart{margin:12px 0}
.insight-chart svg{display:block;width:100%;height:auto;max-height:330px;background:#f8faf9;border:1px solid var(--line);border-radius:13px}
.chart-axis{stroke:#a5b8b0;stroke-width:1.5}
.chart-line{fill:none;stroke:#19745a;stroke-width:3;stroke-linejoin:round}
.chart-dot{fill:#146653;stroke:#fff;stroke-width:2}
.insight-chart a:hover .chart-dot{fill:#cb8450}
.chart-label{fill:#5d736d;font-size:11px}
.insight-chart figcaption{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:1260px){.opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.research-overview{grid-template-columns:1fr}}
@media(max-width:850px){.app-shell{display:block}.sidebar{display:none}.workspace-header{position:sticky;top:0;z-index:40}.workspace main{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:80;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:5px 4px calc(5px + env(safe-area-inset-bottom));border-top:1px solid #cbded3;background:#fff;box-shadow:0 -7px 22px #172c3617;backdrop-filter:none}.mobile-nav a{min-width:0;min-height:56px}.mobile-nav a.active{background:#e6f4ec}.research-primary{top:60px}}
@media(max-width:620px){.workspace main{padding:16px 13px calc(90px + env(safe-area-inset-bottom))}.workspace-header{min-height:55px;padding:8px 14px}.research-heading{align-items:center;flex-direction:row;gap:8px}.research-heading h1{font-size:clamp(21px,5.7vw,28px)}.research-heading .muted{display:none}.research-heading>.button{width:auto;min-width:0;padding:8px 11px;font-size:11px}.research-primary{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;padding:3px;top:54px}.research-primary a{font-size:9px;min-height:49px;padding:5px 1px;white-space:normal}.research-primary a>span:first-child{font-size:16px}.research-tools{margin-bottom:10px}.research-overview{gap:9px}.research-hero{min-height:0;padding:16px;gap:7px}.research-hero-stats b{font-size:13px}.research-stat-grid{gap:7px}.research-stat{min-height:77px;padding:10px}.research-stat>span{font-size:16px}.research-stat small{font-size:10px}.research-stat strong{font-size:19px}.research-context{display:block}.research-context p:last-child{margin-top:4px}.opportunity-grid{grid-template-columns:1fr;gap:12px}.property-photo{aspect-ratio:2/1}.property-tile-body{padding:15px}.property-meta{min-height:0}.property-history{min-height:0}.report-photo-panel{grid-template-columns:1fr}.mobile-nav small{font-size:9px}.mobile-nav a>span{font-size:19px}}
@media(max-width:620px){.search-brief{padding:16px}.search-brief-head h2{font-size:18px}.search-brief-head .button{font-size:12px;padding:8px 10px}.search-brief-grid{grid-template-columns:1fr}.search-brief-grid>div{padding:10px}}
@media(max-width:620px){.search-settings-shortcut{align-items:flex-start;flex-direction:column;gap:4px}.search-settings-shortcut a{width:100%;justify-content:center}}
@media(max-width:1100px){.rental-line{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"address rent" "description description" "status detail";column-gap:8px;row-gap:3px}.rental-line-address{grid-area:address}.rental-line-description{grid-area:description}.rental-line-rent{grid-area:rent}.rental-line-status{grid-area:status}.rental-line-detail{grid-area:detail;align-self:end}}
@media(max-width:620px){.rental-line{padding:11px 12px}.rental-line-description{font-size:12px}.rental-line-rent{font-size:13px}.rental-line-status,.rental-line-detail{font-size:11px}}
@media(max-width:620px){.rental-signal-line{grid-template-columns:minmax(0,1fr);gap:3px;padding:11px 12px}}
@media(max-width:620px){.market-links{grid-template-columns:1fr}.market-links a{min-height:42px}.rental-market-links{padding:15px}}
@media(max-width:620px){.research-primary{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:360px){.workspace main{padding-left:10px;padding-right:10px}.workspace-header{padding-left:10px;padding-right:10px}.research-heading>.button{font-size:10px;padding:7px 8px}.research-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.research-hero-stats>span:first-child{grid-column:1/-1}.review-banner{grid-template-columns:34px minmax(0,1fr) auto;padding:11px;gap:8px}.review-banner-icon{width:33px;height:33px;font-size:18px}.research-stat{min-height:77px;padding:8px}.property-keyline strong{font-size:16px}.mobile-nav{padding-left:1px;padding-right:1px}.mobile-nav small{font-size:8px}}
@media print{.research-primary,.research-tools,.photo-upload,.research-filters,.property-tile-actions,.review-banner{display:none!important}.opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-tile{break-inside:avoid;box-shadow:none}.research-hero{color:#000;background:#fff;border:1px solid #aaa}.research-hero span,.research-hero em{color:#000}}

/* A fixed research rail uses desktop width for filters and evidence while the house list scrolls. */
.research-board{display:grid;grid-template-columns:minmax(245px,280px) minmax(0,1fr);gap:18px;align-items:start}
.research-side{position:sticky;top:132px;max-height:calc(100vh - 145px);overflow-y:auto;overscroll-behavior:contain;padding-right:3px}
.research-desk{padding:18px;margin-bottom:12px}
.research-desk .eyebrow{margin-bottom:5px}
.research-desk h2{font-size:19px;margin-bottom:8px}
.research-desk p{font-size:12px;line-height:1.5;color:var(--muted)}
.research-desk-links{display:grid;gap:6px}
.research-desk-links a{display:block;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--mint);color:var(--green);font-size:12px;font-weight:700;text-decoration:none}
.research-board .research-filters{margin-bottom:0}
.research-board .research-filters .form-grid{grid-template-columns:minmax(0,1fr)}
.research-board .research-filters .check{grid-column:1}
.research-board .opportunity-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));margin-bottom:0}
.property-inspector{padding:9px 0;border-top:1px solid var(--line);border-bottom:0;margin-top:10px}
.property-inspector summary{color:var(--green);font-size:12px;font-weight:750}
.property-inspector p{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.property-inspector p strong{color:var(--ink)}
@media(max-width:850px){.research-board{display:block}.research-side{position:static;max-height:none;overflow:visible;padding-right:0}.research-desk{display:none}.research-board .research-filters{margin-bottom:14px}.research-board .opportunity-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}}
@media(max-width:620px){.research-board .opportunity-grid{grid-template-columns:minmax(0,1fr)}}
@media print{.research-board{display:block}.research-desk{display:none}.research-board .opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
