/* RealPilot tool pages: shared presentation; specialized editors keep their geometry. */
.rp-tool-page{--rp-ink:#192537;--rp-muted:#59626e;--rp-line:#dadee4;--rp-soft:#e9edf3;--rp-paper:#f8fafd;--rs-focus-ring:#0b57d0;background:var(--rp-paper)!important;background-image:none!important;color:var(--rp-ink);font-family:var(--ui-font),"Segoe UI",system-ui,sans-serif}
.rp-tool-page main{max-width:1380px;min-width:0;padding-top:20px;padding-bottom:24px}
.rp-tool-page main.wrap{padding-top:20px}
.rp-tool-page>header{max-width:1380px;margin:auto;background:transparent;border-bottom:1px solid var(--rp-line);padding:20px 24px;gap:24px}
.rp-tool-page>header .brand{display:inline-flex!important;color:var(--rp-ink)!important;font-size:22px;font-weight:800;letter-spacing:-.7px;align-items:center;gap:5px}
.rp-tool-page>header a{color:var(--rp-ink)}
.rp-tool-page>header a:hover{color:#0842a0;text-decoration:underline;text-underline-offset:4px}
.rp-tool-page>header nav{align-items:center;flex-wrap:wrap;gap:20px;font-size:13px;font-weight:600}
.rp-tool-page>header .brand-mark{background:#0b57d0;color:#fff}
.rp-tool-page .rp-tool-context{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 22px;font:600 11px/1.6 var(--ui-font),"Segoe UI",system-ui,sans-serif;letter-spacing:.01em}
.rp-tool-context a{color:#0b57d0;text-decoration:none;padding:6px 0}
.rp-tool-context a:hover{text-decoration:underline}
.rp-tool-context>span{font-size:10px;color:var(--rp-muted);text-align:right;border:1px solid var(--rp-line);background:#fff;padding:5px 11px;border-radius:30px}
.rp-tool-page main>.hero{background:transparent;color:var(--rp-ink);padding:20px 0 30px;border:0;border-radius:0;box-shadow:none;margin:0;gap:40px;align-items:center}
.rp-tool-page main>.hero:has(>.rp-tool-photo){display:grid;grid-template-columns:minmax(0,1.4fr) minmax(210px,.8fr)}
.rp-tool-page main>.hero h1,.rp-tool-page .rp-tool-hero h1{font-family:var(--ui-font);font-size:clamp(34px,4.3vw,54px);font-weight:500;line-height:1.12;letter-spacing:-1.7px;margin:14px 0 17px;color:var(--rp-ink);max-width:790px;text-wrap:balance}
.rp-tool-page main>.hero h1 em{font-style:normal;color:#0b57d0}
.rp-tool-page main>.hero p,.rp-tool-page .rp-tool-hero>p{font-size:15px;line-height:1.85;color:var(--rp-muted);max-width:730px}
.rp-tool-page main>.hero .eyebrow{color:#0b57d0;font-size:10px;letter-spacing:.12em;font-weight:800}
.rp-tool-page main>.hero :is(.price,.badge,.pills,.badges){font-size:12px;line-height:1.8}
.rp-tool-page main>.hero .badge{border-color:#b4becb;background:#e5eaf1;color:#3f4f65}
.rp-tool-page main>.hero>img{max-height:280px;object-fit:cover;border-radius:15px;border:1px solid var(--rp-line)}
.rp-tool-page .rp-tool-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,.8fr);column-gap:45px;align-content:center;padding:14px 0 30px}
.rp-tool-hero>.eyebrow,.rp-tool-hero>h1,.rp-tool-hero>p{grid-column:1}
.rp-tool-hero>.rp-tool-photo{grid-column:2;grid-row:1/4;align-self:stretch}
.rp-tool-photo{position:relative;margin:0;min-width:0;min-height:200px;width:100%;max-height:260px;aspect-ratio:1.5;overflow:hidden;border-radius:14px;border:1px solid #d2d7df;background-color:#dfe5ed;background-repeat:no-repeat;background-size:cover;background-position:center}
.rp-tool-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#172d27c9);padding:38px 18px 16px;color:#fff;font:500 11px/1.5 var(--ui-font),"Segoe UI",system-ui,sans-serif;text-shadow:0 1px 3px #17202d}
.rp-scene-money{background-image:url('/assets/images/tool-scenes/editorial-scenes.png');background-size:300% 200%;background-position:50% 0}
.rp-scene-desk{background-image:url('/assets/images/tool-scenes/editorial-scenes.png');background-size:300% 200%;background-position:0 0}
.rp-scene-moving{background-image:url('/assets/images/tool-scenes/everyday-scenes-20261004.png');background-size:300% 200%;background-position:0 0}
.rp-scene-room{background-image:url('/lease-workflow/room.png')}
.rp-tool-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--rp-line);border-bottom:1px solid var(--rp-line);margin:0 0 30px;padding:16px 0}
.rp-tool-steps a{display:flex;align-items:center;gap:11px;padding:5px 17px;color:var(--rp-muted);font-size:12px;font-weight:600;line-height:1.5;text-decoration:none;border-left:1px solid var(--rp-line)}
.rp-tool-steps a:first-child{padding-left:0;border-left:0}
.rp-tool-steps a:hover{color:#0842a0;text-decoration:underline;text-underline-offset:4px}
.rp-tool-steps a>span{display:grid;place-items:center;border:1px solid #c6ced8;border-radius:50%;width:28px;height:28px;flex-shrink:0;background:#e8edf3;color:#3f5068;font-size:10px;font-weight:700}
.rp-tool-page main :is(.panel,.calc-card,.tool-panel,.control-panel,.result-panel){border-radius:14px!important;border-color:var(--rp-line)!important;box-shadow:0 5px 22px #19372f04}
.rp-tool-page main :is(input,select,textarea){font-size:15px;line-height:1.5}
.rp-tool-page main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select){min-height:44px}
.rp-tool-page main :is(input,select,textarea):focus-visible,.rp-tool-page :is(button,a,summary):focus-visible{outline:3px solid #546a88;outline-offset:3px}
.rp-tool-page main :is(.panel,.calc-card) h2{font-size:20px;line-height:1.35;letter-spacing:-.4px}
.rp-tool-page main :is(.calc-table,.table-wrap,.stat strong,.headline strong){font-variant-numeric:tabular-nums}
.rp-tool-page main .headline{background:#0b57d0;color:white;box-shadow:none}
.rp-tool-page .rp-related{padding:29px;margin:45px 0 20px;background:var(--rp-soft);border:1px solid var(--rp-line);border-radius:15px}
.rp-kicker{font:800 9px/1.5 var(--ui-font),"Segoe UI",system-ui,sans-serif;letter-spacing:.14em;color:#0b57d0}
.rp-tool-page .rp-related h2{font:500 29px/1.2 var(--ui-font);letter-spacing:-.7px;margin:10px 0 22px;color:var(--rp-ink)}
.rp-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rp-related-grid a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px;background:#fff;border:1px solid #d2d8e0;border-radius:9px;font:700 12px/1.5 var(--ui-font),"Segoe UI",system-ui,sans-serif;color:#28384e;text-decoration:none}
.rp-related-grid a:hover{border-color:#7d8ca1;background:#f9fbfd}
.rp-tool-page>footer{max-width:1380px;margin:auto;border-top:1px solid var(--rp-line);padding:24px;font-size:12px;color:var(--rp-muted);background:none}
.rp-tool-page main .rs-dev-guide{border-color:var(--rp-line);border-radius:14px;background:#fff;padding:26px;margin-top:30px}
.rp-tool-page main .rs-dev-guide p{font-size:14px;line-height:1.85}
.rp-tool-page main>.hero .privacy{background:#e8edf3;color:#3d4b5f;border-color:#ced6e2}
/* Keep decorative photography and navigation out of exported/printed records. */
@media(max-width:900px){.rp-tool-page main>.hero:has(>.rp-tool-photo),.rp-tool-page .rp-tool-hero{grid-template-columns:minmax(0,1.5fr) minmax(175px,.7fr);column-gap:25px}.rp-tool-photo{min-height:190px}.rp-tool-steps a{padding:5px 12px;font-size:11px}.rp-related-grid{grid-template-columns:1fr}}
@media(max-width:600px){.rp-tool-page main{padding:18px}.rp-tool-page main.wrap{width:calc(100% - 36px);padding:18px 0}.rp-tool-page>header{padding:17px 18px;flex-wrap:wrap;gap:12px}.rp-tool-page>header nav{font-size:12px;gap:15px}.rp-tool-page .rp-tool-context{padding-bottom:16px;font-size:11px;gap:10px}.rp-tool-context>span{font-size:9px;padding:5px 8px;max-width:190px}.rp-tool-page main>.hero,.rp-tool-page main>.hero:has(>.rp-tool-photo),.rp-tool-page .rp-tool-hero{display:block;padding:5px 0 20px}.rp-tool-page main>.hero h1,.rp-tool-page .rp-tool-hero h1{font-size:37px;letter-spacing:-1.2px;margin:13px 0 15px}.rp-tool-page main>.hero p,.rp-tool-page .rp-tool-hero>p{font-size:14px;line-height:1.8}.rp-tool-photo{aspect-ratio:auto;height:160px;min-height:160px;margin-top:22px;background-size:cover;background-position:center}.rp-scene-money,.rp-scene-moving{background-size:300% auto;background-position:50% 0}.rp-scene-moving{background-position:0 0}.rp-tool-photo figcaption{font-size:10px;padding:35px 14px 12px}.rp-tool-page main>.hero>img{height:160px;max-height:160px;margin-top:20px}.rp-tool-steps{grid-template-columns:1fr;padding:10px 0;margin-bottom:22px;gap:4px}.rp-tool-steps a,.rp-tool-steps a:first-child{border:0;padding:5px 0;font-size:12px;gap:10px}.rp-tool-steps a>span{width:25px;height:25px}.rp-tool-page .rp-related{padding:22px;margin-top:30px}.rp-tool-page .rp-related h2{font-size:27px}.rp-tool-page main .rs-dev-guide{padding:20px}.rp-tool-page main .hero-demo{margin:20px 0 0}.rp-tool-page main .sample-cover{margin-top:20px}.rp-tool-page main :is(input,select,textarea){font-size:16px}.rp-tool-page .offer-box{padding:15px}.rp-tool-page .calc-actions{gap:9px}.rp-tool-page .calc-actions .button{min-height:44px}}
/* Preserve each tool's existing night-mode switch. */
html[data-theme=dark] .rp-tool-page,body.rp-tool-page[data-theme=dark],body.rp-tool-page.rs-workspace-dark{--rp-ink:#e9edf2;--rp-muted:#b7bec8;--rp-line:#3d4551;--rp-soft:#1c2430;--rp-paper:#10161e;background:var(--rp-paper)!important;color:var(--rp-ink)}
html[data-theme=dark] .rp-tool-context>span,html[data-theme=dark] .rp-related-grid a,body.rp-tool-page[data-theme=dark] .rp-related-grid a{background:#242d39;border-color:#475363;color:#dce4f0}
@media print{.rp-tool-page .rp-tool-context,.rp-tool-steps,.rp-tool-photo,.rp-related{display:none!important}.rp-tool-page main>.hero{padding:0}.rp-tool-page main>.hero h1{font-size:24px}.rp-tool-page{background:#fff!important;color:#17202c}.rp-tool-page main{max-width:none;padding:0}}
/* A single, usable navigation on every tool, including small screens. */
body.rp-tool-page{background:var(--rp-paper)!important;background-image:none!important}
.rp-tool-page>header.rp-tool-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;max-width:1380px}
.rp-tool-header .rp-brand-mark{display:grid;place-items:center;width:32px;height:32px;background:#0b57d0;border-radius:9px;color:#fff;font:800 18px/1 system-ui;letter-spacing:-2px;margin-right:5px}
.rp-tool-page>.rp-tool-header>nav{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.rp-tool-page>.rp-tool-header>nav>a{display:inline-flex!important;font:600 12px/1.6 var(--ui-font),"Segoe UI",system-ui,sans-serif;min-height:35px;align-items:center}
.rp-tool-page>.rp-tool-header>nav button{min-height:36px;padding:7px 11px;font-size:12px}
@media(max-width:600px){.rp-tool-page>header.rp-tool-header{padding:16px 18px;gap:10px}.rp-tool-page>.rp-tool-header>nav{gap:13px}.rp-tool-page>.rp-tool-header>nav>a{font-size:11px}.rp-tool-page>header .brand{font-size:20px}.rp-tool-page>.rp-tool-header:has(button)>nav{width:100%;justify-content:flex-start;border-top:1px solid var(--rp-line);padding-top:10px}}
.rp-tool-page main>.hero :is(a.primary,button.primary,.primary.link){background:#0b57d0;border-color:#0b57d0;color:#fff;border-radius:9px;text-decoration:none}
.rp-tool-page main button.primary:not(:disabled){background:#0b57d0;border-color:#0b57d0;color:#fff}
@media(max-width:600px){.rp-scene-desk{background-size:300% auto;background-position:0 0}}
/* Open House uses body.dark, while other workspaces use data-theme. */
body.rp-tool-page.dark{--rp-ink:#e9edf2;--rp-muted:#b7bec8;--rp-line:#3d4551;--rp-soft:#1c2430;--rp-paper:#10161e;background:var(--rp-paper)!important;color:var(--rp-ink)}
body.rp-tool-page.dark .rp-tool-context>span,body.rp-tool-page.dark .rp-related-grid a{background:#242d39;border-color:#475363;color:#dce4f0}
body.rp-tool-page.dark .rs-dev-guide{background:var(--rp-soft);color:var(--rp-ink)}
:is(html[data-theme=dark] .rp-tool-page,body.rp-tool-page.dark,body.rp-tool-page.rs-workspace-dark) :is(.rp-tool-context a,.rp-kicker),
:is(html[data-theme=dark] .rp-tool-page,body.rp-tool-page.dark,body.rp-tool-page.rs-workspace-dark) main>.hero :is(.eyebrow,h1 em){color:#a8b9d1}

/* Calculators hub: compact cards grouped by task. */
.calc-hub-group{margin:0 0 34px}
.calc-hub-group h2{font-size:22px;margin:0 0 14px;color:var(--ui-ink,#161f2c)}
.calc-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.calc-hub-card{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid var(--ui-border,#dfe6ee);border-radius:16px;background:var(--ui-surface,#fff);color:var(--ui-ink,#161f2c);text-decoration:none;transition:border-color .15s,transform .15s}
.calc-hub-card strong{font-size:16px;font-weight:800;letter-spacing:-.02em}
.calc-hub-card span{font-size:13px;line-height:1.5;color:var(--ui-muted,#525e6e)}
.calc-hub-card:hover,.calc-hub-card:focus-visible{border-color:var(--ui-accent,#1a73e8);transform:translateY(-1px)}

/* Rent receipt: on screen inside the results card; printed alone on a white page. */
.rent-receipt{border:1px solid var(--ui-border,#dfe6ee);border-radius:12px;padding:20px 22px;margin:4px 0 14px;background:var(--ui-surface,#fff)}
.rent-receipt h3{margin:0 0 12px;font-size:20px}
.rent-receipt p{margin:6px 0;font-size:14px}
.rent-receipt-sign{margin-top:28px!important;display:flex;justify-content:space-between;gap:20px}
.rent-receipt-sign span{flex:0 0 45%;border-top:1px solid currentColor;padding-top:4px;font-size:12px;text-align:center}
@media print{body.rp-tool-page *{visibility:hidden}body.rp-tool-page #receipt,body.rp-tool-page #receipt *{visibility:visible}body.rp-tool-page #receipt{position:absolute;left:0;top:0;width:100%;border:0;color:#000;background:#fff}}
.calc-hub-search{display:block;width:100%;max-width:560px;margin:0 0 28px;padding:12px 16px;border:1px solid var(--ui-border,#dfe6ee);border-radius:12px;background:var(--ui-field,#fff);color:var(--ui-ink,#161f2c);font:inherit}
/* News: headlines with source, topic and date. */
.news-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.news-list{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px}
.news-item{padding:16px 18px;border:1px solid var(--ui-border,#dfe6ee);border-radius:14px;background:var(--ui-surface,#fff)}
.news-item a{display:block;font-weight:700;font-size:16px;line-height:1.4;color:var(--ui-ink,#161f2c);text-decoration:none}
.news-item a:hover,.news-item a:focus-visible{color:var(--ui-accent,#1a73e8);text-decoration:underline}
.news-meta{display:block;margin-top:6px;font-size:13px;color:var(--ui-muted,#525e6e)}
.news-meta .tag{margin-right:6px}
/* Market data: figure cards, small line charts and the city table. */
.market-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:0 0 10px}
.market-card{padding:16px 18px;border:1px solid var(--ui-border,#dfe6ee);border-radius:16px;background:var(--ui-surface,#fff)}
.market-card small{display:block;font-size:12px;font-weight:700;color:var(--ui-muted,#525e6e)}
.market-card strong{display:block;margin:6px 0 2px;font-size:30px;letter-spacing:-.03em;color:var(--ui-ink,#161f2c)}
.market-card span{font-size:12px;color:var(--ui-muted,#525e6e)}
.market-charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:14px;margin:18px 0 28px;--c0:#1a73e8;--c1:#e37400;--c2:#188038}
.market-chart{margin:0;padding:14px 16px;border:1px solid var(--ui-border,#dfe6ee);border-radius:16px;background:var(--ui-surface,#fff)}
.market-chart figcaption{font-weight:800;margin:0 0 6px}
.market-chart svg{width:100%;height:auto;display:block}
.market-chart .ax{font-size:11px;fill:var(--ui-muted,#525e6e)}
.market-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--ui-muted,#525e6e)}
.market-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.market-table th button{all:unset;cursor:pointer;font-weight:800}
.market-table th button:focus-visible{outline:2px solid var(--ui-accent,#1a73e8);outline-offset:2px}
.calc-inline{display:flex;gap:8px}.calc-inline input{flex:0 0 90px}.calc-inline select{flex:1}
/* Printing a calculator: the title, the inputs and the result on white paper, without navigation or buttons. */
@media print{body.rp-tool-page{background:#fff!important;color:#000!important}
body.rp-tool-page .rp-tool-header,body.rp-tool-page .footer,body.rp-tool-page .skip,body.rp-tool-page .calc-actions,body.rp-tool-page #share-status,body.rp-tool-page .calc-hub-grid,body.rp-tool-page .workspace-section .calc-hub-grid{display:none!important}
body.rp-tool-page .calc-layout{display:block}body.rp-tool-page .calc-card{border:1px solid #999;box-shadow:none;background:#fff;color:#000;break-inside:avoid;margin-bottom:12px}
body.rp-tool-page *{color:#000!important;background:transparent!important}}
