/* Realtor Playground — sharp grey/white, modern, minimal */
:root{
  --rp-ink:#1a1d21; --rp-grey-900:#23272b; --rp-grey-700:#3b4148;
  --rp-grey-500:#6b7280; --rp-grey-300:#cdd2d8; --rp-grey-100:#f2f4f6;
  --rp-line:#e3e7eb; --rp-bg:#fbfcfd; --rp-accent:#23272b; --rp-white:#fff;
}
*{ letter-spacing:.1px; }
body{ background:var(--rp-bg); color:var(--rp-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif; }
.navbar-rp{ background:var(--rp-white); border-bottom:1px solid var(--rp-line); }
.navbar-rp .navbar-brand{ font-weight:700; letter-spacing:.5px; color:var(--rp-ink); }
.navbar-rp .nav-link{ color:var(--rp-grey-700); font-size:.92rem; font-weight:500; }
.navbar-rp .nav-link.active,.navbar-rp .nav-link:hover{ color:var(--rp-ink); }
.brand-dot{ display:inline-block;width:9px;height:9px;background:var(--rp-ink);
  border-radius:2px;margin-right:8px;transform:translateY(-1px); }
.card-rp{ background:var(--rp-white); border:1px solid var(--rp-line); border-radius:10px; }
.card-rp .card-header{ background:var(--rp-grey-100); border-bottom:1px solid var(--rp-line);
  font-weight:600; font-size:.9rem; text-transform:uppercase; letter-spacing:.6px; color:var(--rp-grey-700); }
.btn-rp{ background:var(--rp-ink); border:1px solid var(--rp-ink); color:#fff; border-radius:7px; font-weight:600; }
.btn-rp:hover{ background:#000; color:#fff; }
.btn-rp-outline{ background:#fff; border:1px solid var(--rp-grey-300); color:var(--rp-ink); border-radius:7px; }
.btn-rp-outline:hover{ border-color:var(--rp-ink); }
.section-title{ font-weight:700; letter-spacing:.3px; }
.muted{ color:var(--rp-grey-500); }
.metric{ font-size:2rem; font-weight:700; line-height:1; }
.metric-label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.7px; color:var(--rp-grey-500); }
.score-pill{ font-weight:700; padding:.2rem .55rem; border-radius:6px; font-size:.8rem; }
/* heatmap grid (analysis results page) — 2×2 */
.heatgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.heatcell{ border-radius:9px; padding:16px; color:#fff; min-height:96px; display:flex;
  flex-direction:column; justify-content:space-between; border:1px solid rgba(0,0,0,.05); }
.heatcell .hc-label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.7px; opacity:.85; }
.heatcell .hc-val{ font-size:1.9rem; font-weight:800; }
/* heatmap table (report — mPDF-friendly) */
.heat-table{ width:100%; border-collapse:separate; border-spacing:10px; table-layout:fixed; }
.heat-td{ border-radius:9px; padding:16px; color:#fff; text-align:center; vertical-align:middle;
  border:1px solid rgba(0,0,0,.05); }
.heat-td .hc-label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.7px; opacity:.85; }
.heat-td .hc-val{ font-size:1.7rem; font-weight:800; }
.tag-chip{ display:inline-block; background:var(--rp-grey-100); border:1px solid var(--rp-line);
  border-radius:20px; padding:.2rem .7rem; font-size:.82rem; margin:.15rem; }
.bar{ height:8px; background:var(--rp-grey-100); border-radius:4px; overflow:hidden; }
.bar > span{ display:block; height:100%; background:var(--rp-grey-700); }
.table-rp thead th{ font-size:.72rem; text-transform:uppercase; letter-spacing:.6px; color:var(--rp-grey-500);
  border-bottom:1px solid var(--rp-line); }
.delta-pos{ color:#157347; font-weight:700; } .delta-neg{ color:#b02a37; font-weight:700; }
.hero{ padding:64px 0; }
.hero h1{ font-weight:800; letter-spacing:-.5px; }
footer.rp-foot{ border-top:1px solid var(--rp-line); color:var(--rp-grey-500); font-size:.85rem; }
