/* ══════════════════════════════════════════════════════════════════
   SIMPLE LANDLORD TOOLS — v3 design system, PHASE 2 (inner pages)
   Brings every page other than the homepage onto the same look as
   index.html / css/slt-v3.css without touching page functionality.

   HOW IT WORKS
   • Loaded LAST in <head> on every inner page (after style.css,
     portal.css, bootstrap, site-polish.css, dark-theme.css and any
     page stylesheet), so it wins the cascade.
   • Re-points the three older variable schemes (--navy/--green/--bg,
     --slt-*, --portal-*, and dark-theme's --dk-*) at the v3 tokens,
     so existing rules pick up the new palette automatically.
   • Re-skins the shared shell (top strip, header, nav, footer) to be
     identical to the homepage, and re-skins shared components
     (page hero, cards, forms, portal, tool pages) in the v3 style.
   • Page stylesheets and scripts are left in place — layouts, forms,
     generators and portal features keep working exactly as before.
   ══════════════════════════════════════════════════════════════════ */

/* ─── v3 tokens (same values as css/slt-v3.css) ─────────────────── */
:root{
  --ink:#101C2B; --ink-2:#182B3F; --ink-3:#24405A;
  --paper:#FAF6EF; --paper-2:#F2EADE; --paper-3:#E7DCCC;
  --surface:#FFFFFF;
  --emerald:#0F7A5A; --emerald-2:#0A5C44; --emerald-soft:#E3F2EC;
  --amber:#C98A2B; --amber-soft:#FBEEDA;
  --clay:#C2603F; --clay-soft:#FAE7E0;
  --text:#16273A; --muted:#5C6B7E; --line:#E2D9CB;
  --shadow-1:0 1px 2px rgba(32,24,12,.05),0 4px 14px rgba(32,24,12,.05);
  --shadow-2:0 18px 44px rgba(32,24,12,.11);
  --shadow-3:0 40px 90px rgba(9,14,22,.34);
  --r:18px; --r-sm:12px;
  --headbg:#FFFFFF; --headline:#EDE7DD;
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --wrap:1220px;

  /* legacy names → v3 */
  --navy:var(--ink-2); --navy-dark:var(--ink); --green:var(--emerald); --green-dark:var(--emerald-2);
  --bg:var(--paper); --border:var(--line); --white:var(--surface); --shadow:var(--shadow-1);
  --slt-navy:var(--ink-2); --slt-navy-dark:var(--ink); --slt-green:var(--emerald); --slt-green-dark:var(--emerald-2);
  --slt-bg:var(--paper); --slt-text:var(--text); --slt-muted:var(--muted); --slt-border:var(--line);
  --slt-white:var(--surface); --slt-shadow:var(--shadow-1);
  --portal-navy:var(--ink-2); --portal-green:var(--emerald); --portal-bg:var(--paper); --portal-card:var(--surface);
  --portal-border:var(--line); --portal-text:var(--text); --portal-muted:var(--muted);
}
[data-theme="dark"]{
  --ink:#0A131F; --ink-2:#12202F; --ink-3:#1B3044;
  --paper:#0D1725; --paper-2:#132132; --paper-3:#1B2E42;
  --surface:#152435;
  --emerald:#31B98A; --emerald-2:#25A077; --emerald-soft:#123027;
  --amber:#E0A64B; --amber-soft:#33270F;
  --clay:#E08462; --clay-soft:#3A2018;
  --text:#EAF1F8; --muted:#9AACC0; --line:#24384E;
  --shadow-1:0 1px 2px rgba(0,0,0,.3);
  --shadow-2:0 18px 44px rgba(0,0,0,.45);
  --shadow-3:0 40px 90px rgba(0,0,0,.6);
  --headbg:#F7F4EE; --headline:#E4DACB;

  /* dark-theme.css reads these — point them at the v3 dark palette */
  --dk-bg:var(--paper); --dk-bg-alt:var(--paper-2); --dk-card:var(--surface);
  --dk-border:var(--line); --dk-text:var(--text); --dk-muted:var(--muted);
  --dk-navy:var(--ink-3); --dk-navy-dark:var(--ink); --dk-green:var(--emerald);
  --bg:var(--paper); --border:var(--line); --white:var(--surface);
  --slt-bg:var(--paper); --slt-text:var(--text); --slt-muted:var(--muted); --slt-border:var(--line); --slt-white:var(--surface);
  --portal-bg:var(--paper); --portal-text:var(--text); --portal-muted:var(--muted); --portal-border:var(--line); --portal-card:var(--surface);
}

/* ─── base ───────────────────────────────────────────────────────── */
html body{
  background:var(--paper)!important;color:var(--text)!important;
  font-family:var(--sans)!important;-webkit-font-smoothing:antialiased;
}
html:root body h1,html:root body h2,html:root body h3{font-family:var(--display);letter-spacing:-.015em;font-weight:600}
html:root[data-theme="dark"] body h1,html:root[data-theme="dark"] body h2,
html:root[data-theme="dark"] body h3,html:root[data-theme="dark"] body h4{color:var(--text)!important}
.container{max-width:var(--wrap)}
[data-theme="dark"] a{color:var(--emerald)}
::selection{background:var(--emerald-soft)}

.eyebrow{
  font-family:var(--sans);font-size:.72rem!important;font-weight:800!important;
  letter-spacing:.15em!important;text-transform:uppercase!important;color:var(--emerald)!important;
}

/* buttons shared across pages */
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);
  font-weight:700;font-size:.93rem;padding:13px 22px;border-radius:12px;border:1px solid transparent;
  transition:transform .16s,box-shadow .2s,background .2s;text-decoration:none;
}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--emerald)!important;color:#fff!important;box-shadow:0 8px 22px rgba(15,122,90,.3)}
.button-primary:hover{background:var(--emerald-2)!important}
.button-secondary{background:transparent;color:var(--text);border-color:var(--line)}
.button-secondary:hover{border-color:var(--ink);background:var(--surface)}
.btn-lg.button{padding:16px 28px;font-size:1rem;border-radius:14px}

/* ══════════════════════════════════════════════════════════════════
   SHELL — identical to the homepage
   (!important is needed to beat site-polish.css and dark-theme.css)
   ══════════════════════════════════════════════════════════════════ */
.sticky-top-wrap{position:fixed!important;top:0;left:0;right:0;z-index:500;
  will-change:transform;transform:translateZ(0);backface-visibility:hidden}

.topstrip{background:var(--ink);color:#96AABF;font-size:.79rem;font-family:var(--sans)}
.topstrip .container{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:18px}
.topstrip a{font-weight:600;color:#C3D2E0!important;text-decoration:none;transition:color .18s}
.topstrip a:hover{color:#fff!important}
.topstrip .ts-right{display:flex;gap:20px;align-items:center}
.topstrip .ts-free{color:#7FD9B6;font-weight:700}

html:root body .site-header{background:var(--headbg)!important;border-bottom:1px solid var(--headline)!important;
  position:relative;padding:0!important;min-height:0!important}
html:root body .site-header .header-inner{display:flex!important;align-items:center!important;
  justify-content:flex-start!important;gap:22px!important;min-height:84px!important;padding-top:0;padding-bottom:0}
html:root body .brand{display:flex!important;align-items:center!important;gap:13px!important;flex-shrink:0;text-decoration:none!important}
html:root body .site-header .brand img{height:50px!important;width:auto!important;max-width:300px!important;object-fit:contain}
html:root body .brand-name,html:root body .brand-tagline{display:none!important}
html:root body .site-header .contact-info{margin-left:auto!important;display:flex!important;gap:20px;align-items:center;
  font-size:.86rem!important;font-weight:600!important;color:var(--muted)!important;white-space:nowrap;text-align:left!important;line-height:1.4!important}
html:root body .site-header .contact-info a,html:root body .site-header .contact-info div{color:var(--muted)!important;text-decoration:none}
html:root body .site-header .contact-info a:hover{color:var(--emerald)!important}
html:root body .theme-toggle-btn{
  width:40px;height:40px;border-radius:11px!important;border:1px solid var(--line)!important;padding:0!important;margin:0!important;
  background:var(--surface)!important;color:var(--ink)!important;display:grid;place-items:center;
  cursor:pointer;font-size:1rem;line-height:1;flex-shrink:0;transition:.18s;filter:none!important}
html:root body .theme-toggle-btn:hover{border-color:var(--ink)!important;color:var(--emerald)!important}
/* the logo art has a white background, so the header stays light in dark mode (same as homepage) */

html:root body .site-nav{background:var(--headbg)!important;border-bottom:1px solid var(--headline)!important;
  box-shadow:none!important;padding:0!important}
html:root body .site-nav .container{display:flex!important;align-items:center!important;gap:2px!important;position:relative}
html:root body .site-nav a,html:root body .site-nav .nav-drop-toggle{
  font-family:var(--sans)!important;font-size:.9rem!important;font-weight:600!important;color:#101C2B!important;
  background:none!important;border:0!important;cursor:pointer;padding:11px 15px!important;border-radius:10px!important;
  display:flex!important;align-items:center;gap:6px;transition:background .18s,color .18s;
  text-decoration:none!important;white-space:nowrap!important;margin:0!important}
html:root body .site-nav a:hover,html:root body .site-nav .nav-drop-toggle:hover{background:#F2EADE!important;color:#0F7A5A!important}
html:root body .site-nav a.active{color:#0F7A5A!important;background:none!important}
html:root body .site-nav .account-nav{margin-left:auto!important;background:none!important}
.site-nav .nav-drop{position:relative}
.site-nav .nav-drop-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid currentColor;opacity:.55;transition:transform .2s;display:block;font-size:0!important;line-height:0}
.site-nav .nav-drop.open .nav-drop-caret{transform:rotate(180deg)}
html:root body .site-nav .nav-drop-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:216px;
  background:#fff!important;border:1px solid #E2D9CB!important;border-radius:16px!important;padding:8px!important;
  box-shadow:0 18px 44px rgba(32,24,12,.11)!important;display:block!important;
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s;z-index:40}
html:root body .site-nav .nav-drop.open .nav-drop-panel{opacity:1;visibility:visible;transform:none}
html:root body .site-nav .nav-drop-panel a{display:block!important;padding:10px 13px!important;border-radius:10px!important;
  font-size:.89rem!important;color:#101C2B!important}
html:root body .site-nav .nav-drop-panel a:hover{background:#F2EADE!important;color:#0F7A5A!important}
/* portal nav — signed-in account badge */
html:root body .site-nav .account-badge{margin-left:auto;display:inline-flex;align-items:center;font-size:.8rem;font-weight:700;
  color:#5C6B7E!important;background:#F2EADE!important;border:1px solid #E2D9CB;border-radius:999px;padding:6px 12px;white-space:nowrap}
html:root body .site-nav .account-badge + .account-nav{margin-left:8px!important;background:#0F7A5A!important;color:#fff!important}
html:root body .site-nav .account-badge + .account-nav:hover{background:#0A5C44!important;color:#fff!important}

/* footer */
html:root body .site-footer{background:var(--ink)!important;color:#A9BCCE!important;padding:64px 0 30px!important;
  font-size:.9rem;margin-top:0!important;text-align:left!important}
html:root[data-theme="dark"] body .site-footer{background:#07101B!important}
html:root body .site-footer .footer-grid{display:grid!important;grid-template-columns:1.6fr 1.4fr;gap:40px!important;
  align-items:start!important;justify-content:stretch!important}
html:root body .site-footer .footer-grid > div:first-child{font-family:var(--display);font-size:1rem;color:#fff}
html:root body .site-footer .footer-links{display:flex;flex-wrap:wrap;gap:14px 20px;justify-content:flex-end}
html:root body .site-footer .footer-links a{color:#A9BCCE!important;margin:0!important;text-decoration:none!important;transition:color .18s}
html:root body .site-footer .footer-links a:hover{color:#fff!important}
.site-footer .f-note{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.11);display:grid;gap:14px}
.site-footer .f-note p{margin:0;font-size:.8rem;line-height:1.6;color:#8CA1B8;max-width:820px}
.site-footer .f-contact{display:flex;gap:22px;flex-wrap:wrap;font-size:.85rem}
.site-footer .f-contact a{color:#C3D2E0!important;text-decoration:none}
.site-footer .f-contact a:hover{color:#fff!important}
main + .site-footer,.site-footer{margin-top:0}

/* shell containers: same width/padding as homepage regardless of page CSS (bootstrap, rental-agreement.css …) */
html:root body .sticky-top-wrap .container,html:root body .site-footer .container{
  max-width:var(--wrap)!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;
  padding:0 26px!important;box-sizing:border-box}
html:root body .site-nav a,html:root body .site-nav .nav-drop-toggle{line-height:1.62!important}
html:root body .site-nav .account-badge{line-height:1.3;display:inline-block!important;padding:6px 12px!important}
html:root body .site-nav .account-badge + .account-nav{padding:8px 16px!important;margin-top:6px!important;margin-bottom:6px!important}
@media(max-width:640px){html:root body .sticky-top-wrap .container,html:root body .site-footer .container{padding:0 18px!important}}


@media(max-width:1080px){html:root body .site-header .contact-info{display:none!important}}
@media(max-width:900px){
  html:root body .site-footer .footer-grid{grid-template-columns:1fr;gap:26px!important}
  html:root body .site-footer .footer-links{justify-content:flex-start}
}
@media(max-width:640px){
  .topstrip .ts-right a:nth-child(n+2){display:none}
  html:root body .site-header .header-inner{min-height:70px!important;gap:12px!important}
  html:root body .site-header .brand img{height:40px!important}
  html:root body .site-nav .container{overflow-x:auto!important;padding-left:10px;padding-right:10px}
  html:root body .site-nav .nav-drop-panel{left:auto;right:0}
  html:root body .site-nav .account-badge{display:none}
}
@media print{.topstrip,.site-header,.site-nav,.site-footer,.sticky-top-wrap{display:none!important}body{padding-top:0!important}}

/* ══════════════════════════════════════════════════════════════════
   PAGE HERO  (about, contact, legal, laws, products, network …)
   Ink band with emerald glow — echoes the homepage portal band.
   ══════════════════════════════════════════════════════════════════ */
.page-hero,.pricing-hero{
  background:var(--ink)!important;color:#fff;position:relative;overflow:hidden;
  padding:76px 0 70px!important;border-bottom:1px solid rgba(255,255,255,.06)}
.page-hero::before,.pricing-hero::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;
  right:-160px;top:-260px;background:radial-gradient(circle,rgba(49,185,138,.28),transparent 65%);pointer-events:none}
.page-hero::after,.pricing-hero::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;
  left:-140px;bottom:-280px;background:radial-gradient(circle,rgba(201,138,43,.18),transparent 65%);pointer-events:none}
.page-hero .container,.pricing-hero > *{position:relative;z-index:2}
.page-hero h1,.pricing-hero h1{font-family:var(--display)!important;color:#fff!important;
  font-size:clamp(2.1rem,4.4vw,3.3rem)!important;line-height:1.08!important;font-weight:600;margin:0 0 14px!important;letter-spacing:-.02em}
.page-hero p,.pricing-hero p{color:rgba(255,255,255,.78)!important;font-size:1.08rem!important;max-width:680px;line-height:1.6}
.page-hero a{color:#8FE6BE}

.section{padding:64px 0!important}
.section-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15}
.section-heading p{color:var(--muted)}

/* ─── generic cards ─────────────────────────────────────────────── */
.content-card,.contact-box,.resource-card,.stat-card,.why-card,.journey-founder,.law-section,
.federal-card,.state-picker,.network-card,.sidebar-card,.tool-card,.metric,.summary-box,
.portal-table-wrap,.portal-modal,.task-item,.tenant-invite-card,.sidebar-box,.plan-card,.price-card,
.property-hero-card,.upgrade-plan-card{
  background:var(--surface)!important;border:1px solid var(--line)!important;
  border-radius:var(--r)!important;box-shadow:var(--shadow-1)!important;color:var(--text)}
.content-card{padding:34px}
.content-card h2,.contact-box h2,.resource-card h3,.law-section h2,.federal-card h3,.state-picker h2,
.network-card h2,.network-card h3,.why-card h3,.journey-founder h2,.tool-card h3,.sidebar-card h2,
.property-hero-card h2,.upgrade-plan-body h3{color:var(--text)!important;font-family:var(--display)}
.content-card p,.content-card li{color:var(--text)}
.resource-card:hover,.tool-card:hover,.network-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-2)!important}
.resource-card,.tool-card,.network-card{transition:transform .2s,box-shadow .2s}
.contact-box a,.resource-card a,.federal-card a,.tool-link,.content-card a:not(.button):not(.portal-btn){color:var(--emerald)!important;font-weight:700}
.stat-card strong{font-family:var(--display);color:var(--emerald)!important;font-weight:600}
.stat-card span{color:var(--muted)}
.journey-avatar{background:linear-gradient(135deg,var(--emerald),var(--ink-3))!important;font-family:var(--display)}
.journey-founder .founder-role{color:var(--emerald)!important}
.journey-founder p{color:var(--muted)}
.journey-mission,.feature{background:var(--emerald-soft)!important;border:1px solid color-mix(in srgb,var(--emerald) 22%,transparent)!important;border-radius:var(--r)!important}
.journey-mission span{color:var(--emerald)!important}
.journey-mission p{font-family:var(--display);color:var(--text)!important;font-weight:600}
.journey-thanks{background:var(--ink)!important;border-radius:var(--r)!important;position:relative;overflow:hidden}
.journey-thanks h2{color:#fff!important}
.timeline-item::before{background:var(--emerald)!important;box-shadow:0 0 0 4px var(--emerald-soft)!important}
.timeline-item .timeline-tag{color:var(--emerald)!important;background:var(--emerald-soft)!important}
.timeline{border-color:var(--line)!important}
.why-card p,.resource-card p,.tool-card p{color:var(--muted)!important}
.legal-note,.portal-note,.law-alert{background:var(--amber-soft)!important;border:1px solid color-mix(in srgb,var(--amber) 35%,transparent)!important;
  color:var(--text)!important;border-radius:var(--r-sm)!important}
.source-note{color:var(--muted)!important}
.state-grid > a{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:10px!important;color:var(--text)!important}
.state-grid > a:hover{border-color:var(--emerald)!important;color:var(--emerald)!important;background:var(--paper-2)!important}
.law-checklist div{background:var(--paper-2)!important;color:var(--text)!important}
details{border-color:var(--line)}
.faq-list details{background:var(--surface);border:1px solid var(--line);border-radius:14px}

/* homepage-style tool cards on products.html */
.tool-card{overflow:hidden}
.tool-card img{background:transparent!important}
.tool-link{text-decoration:none}

/* ══════════════════════════════════════════════════════════════════
   TOOL / FORM GENERATOR PAGES  (tools/*.html — bootstrap based)
   ══════════════════════════════════════════════════════════════════ */
html:root body .tool-heading,html:root body .page-heading{
  background:var(--ink)!important;color:#fff!important;border-radius:20px!important;
  padding:36px 38px!important;margin-bottom:24px!important;box-shadow:var(--shadow-2)!important;
  position:relative;overflow:hidden}
html:root body .tool-heading::before,html:root body .page-heading::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;
  right:-140px;top:-220px;background:radial-gradient(circle,rgba(49,185,138,.3),transparent 65%);pointer-events:none}
.tool-heading > *,.page-heading > *{position:relative;z-index:1}
html:root body .tool-heading h1,html:root body .page-heading h2{font-family:var(--display)!important;color:#fff!important;
  font-size:clamp(1.8rem,3.4vw,2.5rem)!important;letter-spacing:-.02em;line-height:1.12}
html:root body .tool-heading p:last-child,html:root body .page-heading p{color:rgba(255,255,255,.78)!important}
html:root body .tool-heading .eyebrow,html:root body .page-heading .eyebrow{color:#7FD9B6!important}

html:root body .form-card,html:root body .form-section{background:var(--surface)!important;border:1px solid var(--line)!important;
  border-radius:var(--r)!important;box-shadow:var(--shadow-1)!important}
html:root body .form-card h2,html:root body .form-section h3{color:var(--text)!important;font-family:var(--display)}
.form-label,.portal-form label{color:var(--text);font-weight:600}
html:root body .form-control,html:root body .form-select{border-color:var(--line);border-radius:10px;background-color:var(--surface);color:var(--text)}
html:root body .form-control:focus,html:root body .form-select:focus{border-color:var(--emerald)!important;box-shadow:0 0 0 .2rem rgba(15,122,90,.15)!important}
html:root body .input-group-text{background:var(--paper-2);border-color:var(--line);color:var(--muted)}
.form-check-input:checked{background-color:var(--emerald);border-color:var(--emerald)}
html:root body .action-bar,html:root body .button-row{background:var(--surface)!important;border:1px solid var(--line)!important;
  border-radius:14px!important;box-shadow:var(--shadow-1)!important}
html:root body .btn{font-family:var(--sans);font-weight:700;border-radius:12px}
html:root body .btn-success,html:root body .btn-primary{background:var(--emerald)!important;border-color:var(--emerald)!important;color:#fff!important}
html:root body .btn-success:hover,html:root body .btn-primary:hover{background:var(--emerald-2)!important;border-color:var(--emerald-2)!important}
html:root body .btn-outline-primary,html:root body .btn-outline-secondary,html:root body .btn-secondary{
  background:var(--surface)!important;border:1px solid var(--line)!important;color:var(--text)!important}
html:root body .btn-outline-primary:hover,html:root body .btn-outline-secondary:hover,html:root body .btn-secondary:hover{border-color:var(--ink)!important}
.lease-check{background:var(--paper-2)!important;border-color:var(--line)!important}

/* right sidebar on tool pages */
html:root body .sidebar-box{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:16px!important}
.sidebar-login-box h3,.sidebar-forms-box h3{color:var(--text)!important;font-family:var(--display)}
html:root body .sidebar-login-box a.landlord-login{background:var(--emerald)!important;color:#fff!important}
html:root body .sidebar-login-box a.tenant-login{background:var(--paper-2)!important;color:var(--text)!important;border:1px solid var(--line)}
.sidebar-forms-box li a{color:var(--text)!important}
.sidebar-forms-box li a:before{color:var(--emerald)!important}
.sidebar-forms-box li a:hover{color:var(--emerald)!important}

/* ══════════════════════════════════════════════════════════════════
   PORTAL / DASHBOARD PAGES
   ══════════════════════════════════════════════════════════════════ */
.portal-main{background:var(--paper)}
html:root body .portal-card{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--shadow-1)!important}
html:root body .portal-card h1,html:root body .portal-card h2,html:root body .portal-card h3{color:var(--text)!important;font-family:var(--display)}
.portal-subtitle,.portal-muted{color:var(--muted)!important}
html:root body .portal-form input,html:root body .portal-form select,html:root body .portal-form textarea{
  border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}
html:root body .portal-form input:focus,html:root body .portal-form select:focus,html:root body .portal-form textarea:focus{
  outline:3px solid rgba(15,122,90,.16);border-color:var(--emerald)}
html:root body .portal-btn{font-family:var(--sans);border-radius:12px;font-weight:700}
html:root body .portal-btn-primary{background:var(--emerald)!important;color:#fff!important;box-shadow:0 8px 20px rgba(15,122,90,.24)}
html:root body .portal-btn-primary:hover{background:var(--emerald-2)!important}
html:root body .portal-btn-secondary{background:var(--paper-2)!important;color:var(--text)!important;border:1px solid var(--line)}
.portal-link{color:var(--emerald)!important}
.password-toggle{color:var(--emerald)!important}

html:root body .portal-sidebar{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--shadow-1)}
html:root body .portal-sidebar a{color:var(--text)!important;font-weight:600;border-radius:10px}
html:root body .portal-sidebar a:hover{background:var(--paper-2)!important;color:var(--emerald)!important}
html:root body .portal-sidebar a.active{background:var(--emerald-soft)!important;color:var(--emerald)!important;box-shadow:inset 3px 0 0 var(--emerald)}
.portal-sidebar .nav-icon{background:var(--paper-2)!important;color:var(--ink-3)!important}
.portal-sidebar a.active .nav-icon,.portal-sidebar a:hover .nav-icon{background:var(--emerald-soft)!important;color:var(--emerald)!important}
html:root body .sidebar-group{color:var(--muted)!important;letter-spacing:.14em}

html:root body .dashboard-hero,html:root body .tenant-welcome-card{
  background:var(--ink)!important;color:#fff!important;border-radius:20px!important;box-shadow:var(--shadow-2)!important;
  position:relative;overflow:hidden;border:0!important}
html:root body .dashboard-hero::before,html:root body .tenant-welcome-card::before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;
  right:-120px;top:-200px;background:radial-gradient(circle,rgba(49,185,138,.3),transparent 65%);pointer-events:none}
.dashboard-hero > *,.tenant-welcome-card > *{position:relative;z-index:1}
html:root body .dashboard-hero h1,html:root body .tenant-welcome-card h1{color:#fff!important;font-family:var(--display)}
html:root body .dashboard-hero p,html:root body .tenant-welcome-card p{color:rgba(255,255,255,.78)!important}
html:root body .dashboard-hero .eyebrow{color:#7FD9B6!important}
.account-type-pill{background:rgba(127,217,182,.16)!important;color:#7FD9B6!important;border:1px solid rgba(127,217,182,.3)!important}

html:root body .metric strong{color:var(--text)!important;font-family:var(--display);font-weight:600}
html:root body .metric span{color:var(--muted)}
html:root body .metric a{color:var(--emerald)!important}
.dashboard-summary .summary-box:before{background:var(--emerald)!important}
.summary-box strong{color:var(--text)}

html:root body .portal-table th{background:var(--paper-2)!important;color:var(--muted)!important;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
html:root body .portal-table th,html:root body .portal-table td{border-bottom-color:var(--line)!important;color:var(--text)}
.portal-table tr:hover td{background:color-mix(in srgb,var(--paper-2) 55%,transparent)}

html:root body .quick-action-grid a{background:var(--surface)!important;border-color:var(--line)!important;color:var(--text)!important}
html:root body .quick-action-grid a:hover{border-color:var(--emerald)!important}
html:root body .quick-action-grid a > span{background:var(--emerald-soft)!important;color:var(--emerald)!important}
html:root body .property-hero-card{background:var(--surface)!important}
.upgrade-price{color:var(--text)!important;font-family:var(--display)}
.upgrade-plan-body li:before{color:var(--emerald)!important}
.upgrade-plan-card .plan-banner.tone-blue{background:var(--emerald)!important}
.upgrade-plan-card .plan-banner.tone-navy{background:var(--ink)!important}
html:root body .portal-modal-head{border-color:var(--line)}
.tenant-panel{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--shadow-1)}
.tenant-panel-head .icon{background:var(--emerald-soft)!important;color:var(--emerald)!important}

/* ─── sign in / sign up (auth split) ────────────────────────────── */
html:root body .auth-split{background:var(--paper)!important}
html:root body .auth-split-form{background:var(--surface)!important}
html:root body .auth-split-form h1{font-family:var(--display);color:var(--text)!important;font-weight:600}
html:root body .auth-split-form .portal-btn-primary{background:var(--emerald)!important;border-radius:12px!important;text-transform:none!important;
  letter-spacing:0!important;font-size:.95rem!important}
html:root body .auth-split-form .portal-btn-primary:hover{background:var(--emerald-2)!important}
html:root body .auth-split-form .portal-form input:not([type=radio]):not([type=checkbox]),
html:root body .auth-split-form form input:not([type=radio]):not([type=checkbox]),
html:root body .auth-split-form form select{border-color:var(--line)!important;border-radius:10px!important;background:var(--surface);color:var(--text)}
html:root body .auth-split-form .portal-form input:focus,html:root body .auth-split-form form input:focus{border-color:var(--emerald)!important;box-shadow:0 0 0 3px rgba(15,122,90,.14)!important}
html:root body .auth-split-form .google-auth-btn{border-color:var(--line)!important;border-radius:10px!important;color:var(--text)!important;background:var(--surface)}
html:root body .auth-split-form .password-toggle,html:root body .auth-split-form .portal-link{color:var(--emerald)!important}
html:root body .auth-outline-btn{border-color:var(--ink)!important;color:var(--ink)!important;background:transparent!important;border-radius:12px!important}
html:root[data-theme="dark"] body .auth-outline-btn{border-color:var(--line)!important;color:var(--text)!important}
html:root body .auth-split-marketing{background:var(--ink)!important;color:#fff;position:relative;overflow:hidden}
html:root body .auth-split-marketing::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;
  right:-200px;top:-240px;background:radial-gradient(circle,rgba(49,185,138,.28),transparent 65%);pointer-events:none}
html:root body .auth-split-marketing > *{position:relative;z-index:1}
html:root body .auth-split-marketing h2{color:#fff!important;font-family:var(--display);font-weight:600}
html:root body .auth-split-marketing .auth-kicker{color:#7FD9B6!important}
html:root body .auth-split-marketing li{color:rgba(255,255,255,.82)!important}
html:root body .auth-split-marketing li::before{color:#7FD9B6!important}
.auth-visual-note{background:var(--surface)!important;color:var(--text)!important}
.auth-type-card{border-color:var(--line)!important;border-radius:14px!important}
.auth-type-card.selected{border-color:var(--emerald)!important;background:var(--emerald-soft)!important}

/* ─── sale listings ─────────────────────────────────────────────── */
.listing-card,.sale-card{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--shadow-1)!important}

/* ─── pricing ───────────────────────────────────────────────────── */
.plan-card.featured,.price-card.featured{border-color:var(--emerald)!important;box-shadow:0 0 0 2px var(--emerald),var(--shadow-2)!important}
.plan-name,.price{font-family:var(--display)}

/* printable previews stay white in both themes (same rule dark-theme.css follows) */
[class*="-preview"]{color-scheme:light}

/* ══════════════════════════════════════════════════════════════════
   PAGE-SPECIFIC FIXES — pages with their own built-in <style> blocks
   ══════════════════════════════════════════════════════════════════ */
/* U.S. Landlord-Tenant Laws */
html:root body .law-hero{background:var(--ink)!important;position:relative;overflow:hidden;padding:76px 20px 70px!important}
html:root body .law-hero::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-160px;top:-260px;
  background:radial-gradient(circle,rgba(49,185,138,.28),transparent 65%);pointer-events:none}
html:root body .law-hero .container{position:relative;z-index:1}
html:root body .law-hero h1{color:#fff!important;font-family:var(--display)!important;font-weight:600;letter-spacing:-.02em}
html:root body .law-hero p{color:rgba(255,255,255,.78)!important}
html:root body .law-main{background:var(--paper)!important}
html:root body .picker-row select{border-color:var(--line)!important;background:var(--surface);color:var(--text)}
html:root body .picker-row button{background:var(--emerald)!important;border-radius:12px!important}
html:root body .picker-row button:hover{background:var(--emerald-2)!important}
html:root body .picker-hint{background:var(--clay-soft)!important;border-color:color-mix(in srgb,var(--clay) 35%,transparent)!important;color:var(--clay)!important}
html:root body .federal-card p{color:var(--muted)!important}
html:root body .federal-card a,html:root body .state-grid a{color:var(--emerald)!important}
html:root body .state-grid span{color:var(--emerald)!important}
html:root body .law-checklist div{border-left-color:var(--emerald)!important}

/* Pricing */
html:root body .pricing-hero .eyebrow{color:#7FD9B6!important}
html:root body .pricing-hero p{margin-left:auto;margin-right:auto}
html:root body .pricing-main{background:var(--paper)!important}
html:root body .preview-banner{background:var(--amber-soft)!important;border-color:color-mix(in srgb,var(--amber) 35%,transparent)!important;color:var(--text)!important}
html:root body .billing-note,html:root body .plan-for,html:root body .annual,html:root body .price small{color:var(--muted)!important}
html:root body .billing-toggle-inner{background:var(--surface)!important;border-color:var(--line)!important;box-shadow:var(--shadow-1)!important}
html:root body .billing-toggle button{color:var(--muted)!important}
html:root body .billing-toggle button.active{background:var(--ink)!important;color:#fff!important}
html:root[data-theme="dark"] body .billing-toggle button.active{background:var(--emerald)!important}
html:root body .save-chip{background:var(--emerald-soft)!important;color:var(--emerald)!important}
html:root body .billing-toggle button.active .save-chip{background:rgba(255,255,255,.22)!important;color:#fff!important}
html:root body .plan-card{background:var(--surface)!important;border-color:var(--line)!important;border-radius:var(--r)!important}
html:root body .plan-card.featured{border-color:var(--emerald)!important}
html:root body .plan-banner.tone-blue,html:root body .plan-banner.tone-green{background:var(--emerald)!important}
html:root body .plan-banner.tone-navy{background:var(--ink)!important}
html:root body .plan-name,html:root body .price{color:var(--text)!important;font-family:var(--display)}
html:root body .price{font-weight:600!important}
html:root body .price-row,html:root body .plan-card ul{border-top-color:var(--line)!important}
html:root body .plan-card li{color:var(--text)!important}
html:root body .plan-card li:before{color:var(--emerald)!important}
html:root body .coming-button{background:var(--emerald)!important;border-radius:12px!important}
html:root body .coming-button:hover{background:var(--emerald-2)!important}

/* Compare plans */
html:root body .compare-intro h1,html:root body .network-intro h1{color:var(--text)!important;font-family:var(--display)}
html:root body .compare-intro p,html:root body .network-intro p{color:var(--muted)!important}
html:root body .compare-table{background:var(--surface)!important;border-radius:var(--r)!important;box-shadow:var(--shadow-1)!important}
html:root body .compare-table th{background:var(--paper-2)!important;color:var(--text)!important}
html:root body .compare-table th,html:root body .compare-table td{border-bottom-color:var(--line)!important}
html:root body .compare-table td:first-child{color:var(--text)!important}
html:root body .compare-plan-head .price{color:var(--text)!important}
html:root body .compare-check{color:var(--emerald)!important}
html:root body .compare-cta-btn{background:var(--emerald)!important;border-radius:12px!important}
html:root body .compare-cta-btn:hover{background:var(--emerald-2)!important}

/* Our Sites (network) — keeps each site's own brand color on the top border */
html:root body .network-card-head h2{color:var(--text)!important;font-family:var(--display)}
html:root body .network-card p{color:var(--muted)!important}
html:root body .network-card hr{border-top-color:var(--line)!important}

/* Tenant portal */
html:root body .tenant-welcome-card .portal-btn-secondary{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important}
html:root body .tenant-welcome-card .portal-btn-secondary:hover{background:rgba(255,255,255,.22)!important}
html:root body .tenant-welcome-card strong{color:#fff!important}
html:root body .rent-panel .tenant-panel-head,html:root body .work-panel .tenant-panel-head{background:var(--paper-2)!important;border-bottom:1px solid var(--line)}
html:root body .tenant-panel-head h2{color:var(--text)!important;font-family:var(--display)}
html:root body .rent-panel .icon{background:var(--emerald)!important;color:#fff!important}
html:root body .work-panel .icon{background:var(--ink)!important;color:#fff!important}
html:root[data-theme="dark"] body .work-panel .icon{background:var(--ink-3)!important}
html:root body .rent-amount-display{color:var(--text)!important;font-family:var(--display)}
