/* ==========================================================================
   Fee Schedule — landing + calculator
   Light-only by design: it mirrors a reference layout the client chose, and a
   half-committed dark mode reads worse than a confident single theme.
   ========================================================================== */

:root {
  --navy-900:#0a1f33; --navy-800:#0f3050; --navy-700:#14405f;
  --ink:#16202b; --ink-2:#33475c; --muted:#5f7183; --muted-2:#8797a6;
  --line:#e2e6eb; --line-2:#eef1f4;
  --bg:#f4f6f8; --card:#fff;
  --accent:#1a5c96; --accent-ink:#0e3f6c; --sel-bg:#eaf2fa;
  --good:#1c7a4a; --warn:#a4610b; --warn-bg:#fdf6e8; --bad:#a32b25; --bad-bg:#fdefee;
  --radius:10px; --radius-sm:7px;
  --shadow:0 1px 2px rgba(16,32,48,.05), 0 1px 1px rgba(16,32,48,.04);
  --mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--bg); color:var(--ink);
  font:15px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4 { margin:0; line-height:1.25; font-weight:650; letter-spacing:-.01em; }
p { margin:0 0 .7em; }
button { font:inherit; color:inherit; }
a { color:var(--accent); }

.wrap { max-width:1120px; margin:0 auto; padding:0 20px; }

/* ── nav ─────────────────────────────────────────────────────────── */
.nav { background:#fff; border-bottom:1px solid var(--line); }
.nav-inner {
  max-width:1120px; margin:0 auto; padding:0 20px; height:62px;
  display:flex; align-items:center; gap:22px;
}
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; color:inherit; }
.brand-mark {
  width:36px; height:36px; border-radius:8px; background:var(--navy-900); color:#fff;
  display:grid; place-items:center; flex:none;
}
.brand-text { display:flex; flex-direction:column; line-height:1.15; }
.brand-text strong { font-size:16.5px; letter-spacing:.01em; font-weight:750; }
.brand-text small { font-size:9.5px; color:var(--muted-2); letter-spacing:.07em; font-weight:600; }

.nav-tabs { margin-left:auto; display:flex; gap:2px; }
.tab {
  background:none; border:0; padding:8px 13px; border-radius:7px; cursor:pointer;
  color:var(--ink-2); font-size:14px; font-weight:550;
}
.tab:hover { background:var(--line-2); }
.tab.is-active { background:#eef1f5; color:var(--ink); font-weight:650; }

.nav-search {
  background:none; border:0; padding:8px; border-radius:7px; cursor:pointer;
  color:var(--muted); display:grid; place-items:center;
}
.nav-search:hover { background:var(--line-2); color:var(--ink); }

/* ── hero ────────────────────────────────────────────────────────── */
.hero {
  background:
    linear-gradient(115deg, var(--navy-900) 0%, var(--navy-800) 52%, var(--navy-700) 100%);
  color:#fff; position:relative; overflow:hidden;
}
.hero::after {                      /* faint engineering-grid texture */
  content:""; position:absolute; inset:0; opacity:.16; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.10) 1px, transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:linear-gradient(100deg, transparent 30%, #000 100%);
          mask-image:linear-gradient(100deg, transparent 30%, #000 100%);
}
.hero-inner { max-width:1120px; margin:0 auto; padding:40px 20px 42px; position:relative; z-index:1; }
.hero h1 { font-size:clamp(27px,4.1vw,40px); font-weight:700; letter-spacing:-.022em; }
.hero-sub { margin:12px 0 0; max-width:690px; color:#c2d4e4; font-size:15.5px; line-height:1.58; }
.hero-badges {
  list-style:none; display:flex; flex-wrap:wrap; gap:22px; margin:22px 0 0; padding:0;
  font-size:13.5px; color:#9dbdd8;
}
.hero-badges li { display:flex; align-items:center; gap:7px; }

/* ── cards / steps ───────────────────────────────────────────────── */
main.wrap { padding-top:22px; padding-bottom:34px; }
.card {
  background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow);
}
.step { padding:17px 18px 19px; margin-bottom:18px; }
.step-head { display:flex; align-items:center; gap:9px; margin-bottom:14px; }
.step-num {
  width:19px; height:19px; border-radius:4px; background:var(--navy-900); color:#fff;
  font-size:11.5px; font-weight:700; display:grid; place-items:center; flex:none;
}
.step-head h2 {
  font-size:11.5px; font-weight:700; letter-spacing:.10em; text-transform:uppercase;
  color:var(--accent-ink);
}
.head-actions { margin-left:auto; display:flex; gap:7px; }
.ghost-btn {
  margin-left:auto; background:#fff; border:1px solid var(--line); border-radius:6px;
  padding:5px 11px; font-size:12.5px; color:var(--ink-2); cursor:pointer; font-weight:550;
}
.head-actions .ghost-btn { margin-left:0; }
.ghost-btn:hover { background:var(--line-2); border-color:#d3d9e0; }

/* ── 1. project type grid ────────────────────────────────────────── */
.type-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:11px; }
.type-card {
  text-align:left; background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm);
  padding:13px 13px 11px; cursor:pointer; transition:border-color .12s, background .12s;
  display:flex; flex-direction:column; min-height:104px;
}
.type-card:hover { border-color:#c3ccd6; background:#fcfdfe; }
.type-card.is-sel { border:2px solid var(--navy-900); background:var(--sel-bg); padding:12px 12px 10px; }
.type-card b { font-size:14.5px; font-weight:650; letter-spacing:-.008em; }
.type-card span { font-size:12.5px; color:var(--muted); margin-top:3px; line-height:1.38; }
.type-card em {
  margin-top:auto; padding-top:9px; font-style:normal; font-size:10px; font-weight:700;
  letter-spacing:.075em; color:var(--muted-2);
}

/* ── 2 + 3 split ─────────────────────────────────────────────────── */
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.18fr); gap:18px; align-items:start; }
.split > .step { margin-bottom:18px; }

.search-row { position:relative; }
.search-ico { position:absolute; left:11px; top:50%; transform:translateY(-50%); color:var(--muted-2); }
#addressInput {
  width:100%; padding:10px 12px 10px 34px; border:1px solid var(--line);
  border-radius:var(--radius-sm); font-size:14px; background:#fff; color:var(--ink);
}
#addressInput:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(26,92,150,.13); }

.link-btn {
  background:none; border:0; padding:8px 2px 4px; cursor:pointer; color:var(--accent);
  font-size:13px; font-weight:550; display:flex; align-items:center; gap:6px;
}
.link-btn:hover { text-decoration:underline; }

.map-shell { position:relative; margin-top:6px; }
.map {
  height:236px; border:1px solid var(--line); border-radius:var(--radius-sm);
  background:#e8eef2 url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40'>\
<rect width='40' height='40' fill='%23e9eef3'/>\
<path d='M0 20h40M20 0v40' stroke='%23dae2e9' stroke-width='1'/></svg>");
  overflow:hidden;
}
.map-hint {
  position:absolute; left:9px; top:9px; z-index:400; background:rgba(255,255,255,.94);
  border:1px solid var(--line); border-radius:5px; padding:4px 9px;
  font-size:11.5px; color:var(--ink-2); pointer-events:none;
}
.note {
  margin-top:10px; border:1px solid var(--line); border-radius:var(--radius-sm);
  padding:11px 12px; font-size:13px; color:var(--muted); background:#fbfcfd;
}

/* jurisdiction result */
.jurisdiction { margin-top:11px; }
.j-row {
  display:flex; align-items:baseline; gap:9px; padding:8px 0;
  border-bottom:1px solid var(--line-2); font-size:13.5px;
}
.j-row:last-child { border-bottom:0; }
.j-label { color:var(--muted); min-width:104px; font-size:12px; text-transform:uppercase; letter-spacing:.05em; font-weight:650; }
.j-val { font-weight:600; }
.j-val.unincorporated { color:var(--warn); }

/* ── 3. empty + result ───────────────────────────────────────────── */
.result-card { min-height:428px; display:flex; flex-direction:column; }
.empty { margin:auto; text-align:center; padding:26px 22px 30px; max-width:430px; }
.empty-ico {
  width:52px; height:52px; margin:0 auto 15px; border-radius:11px;
  background:#f1f4f7; border:1px solid var(--line); color:var(--muted);
  display:grid; place-items:center;
}
.empty h3 { font-size:18px; margin-bottom:8px; }
.empty p { color:var(--muted); font-size:13.5px; line-height:1.55; }
.chips { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin-top:15px; }
.chips span {
  background:#f1f4f7; border:1px solid var(--line); border-radius:5px;
  padding:4px 9px; font-size:11.5px; color:var(--ink-2); font-weight:550;
}

/* headline numbers */
.totals { display:grid; gap:1px; background:var(--line); border:1px solid var(--line);
          border-radius:var(--radius-sm); overflow:hidden; margin-bottom:14px; }
.t-row { background:#fff; display:flex; justify-content:space-between; align-items:baseline;
         padding:9px 12px; font-size:13.5px; gap:12px; }
.t-row.sub { color:var(--muted); font-size:12.5px; }
.t-row.grand { background:var(--navy-900); color:#fff; padding:13px 12px; }
.t-row.grand .t-val { font-size:22px; font-weight:750; letter-spacing:-.02em; }
.t-row.grand .t-lab { font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:650; opacity:.85; }
.t-val { font-variant-numeric:tabular-nums; font-weight:650; white-space:nowrap; }
.t-row.sub .t-val { font-weight:550; }

/* risk banner — the agency completeness callout */
.risk {
  border:1px solid #f0dcc0; background:var(--warn-bg); border-radius:var(--radius-sm);
  padding:12px 13px; margin-bottom:14px;
}
.risk h4 { font-size:13.5px; color:var(--warn); margin-bottom:6px; display:flex; align-items:center; gap:7px; }
.risk p { font-size:12.5px; color:#7a5410; margin-bottom:8px; line-height:1.5; }
.risk ul { margin:0; padding-left:17px; font-size:12.5px; color:#7a5410; }
.risk li { margin-bottom:3px; }
.risk li b { color:#5c3f0a; }
.risk.ok { border-color:#cfe4d6; background:#f1f8f3; }
.risk.ok h4 { color:var(--good); }
.risk.ok p { color:#2c5c42; }

/* breakdown bars */
.bars { margin-bottom:6px; }
.bar-row { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center;
           padding:6px 0; font-size:13px; }
.bar-name { display:flex; align-items:center; gap:8px; min-width:0; }
.bar-name span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bar-track { height:5px; border-radius:3px; background:var(--line-2); overflow:hidden; margin-top:4px; }
.bar-fill { height:100%; background:var(--accent); border-radius:3px; }
.bar-val { font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap; }
.bar-pct { color:var(--muted-2); font-size:11.5px; font-variant-numeric:tabular-nums; }

/* ── 4. inputs ───────────────────────────────────────────────────── */
.inputs-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:13px 16px; }
.fieldset { border:0; margin:0; padding:0; grid-column:1/-1; }
.fieldset > legend {
  font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--accent-ink); padding:0; margin:6px 0 9px;
  border-top:1px solid var(--line-2); padding-top:13px; width:100%;
}
.fieldset:first-child > legend { border-top:0; padding-top:0; margin-top:0; }
.fs-body { display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:12px 16px; }
.field { display:flex; flex-direction:column; gap:4px; min-width:0; }
.field label { font-size:12px; color:var(--ink-2); font-weight:600; }
.field .unit { color:var(--muted-2); font-weight:500; }
.field input, .field select {
  border:1px solid var(--line); border-radius:6px; padding:7px 9px; font-size:13.5px;
  background:#fff; color:var(--ink); width:100%; font-variant-numeric:tabular-nums;
}
.field input:focus, .field select:focus {
  outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(26,92,150,.13);
}
.field.check { flex-direction:row; align-items:center; gap:8px; }
.field.check input { width:auto; }
.field.check label { font-weight:550; }
.field small { color:var(--muted-2); font-size:11px; line-height:1.4; }

/* ── 5. itemized ─────────────────────────────────────────────────── */
.tbl-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-sm); }
table { border-collapse:collapse; width:100%; font-size:13px; }
th, td { text-align:left; padding:8px 11px; border-bottom:1px solid var(--line-2); vertical-align:top; }
th {
  background:#f7f9fa; font-size:10.5px; text-transform:uppercase; letter-spacing:.07em;
  color:var(--muted); font-weight:700; position:sticky; top:0; white-space:nowrap;
}
td.num, th.num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
tr:last-child td { border-bottom:0; }
tbody tr:hover { background:#fafcfd; }
tr.group-head td {
  background:#f2f5f8; font-weight:700; font-size:11px; text-transform:uppercase;
  letter-spacing:.07em; color:var(--accent-ink);
}
tr.subtotal td { font-weight:700; background:#fbfcfd; }
tr.skipped td { color:var(--muted-2); }
.calc { font-family:var(--mono); font-size:11px; color:var(--muted); line-height:1.45; }
.pill {
  display:inline-block; padding:1px 6px; border-radius:4px; font-size:10px; font-weight:700;
  letter-spacing:.03em; text-transform:uppercase;
}
.pill.verified { background:#e8f5ed; color:var(--good); }
.pill.benchmark { background:var(--warn-bg); color:var(--warn); }
.pill.estimated { background:#eef2f6; color:var(--ink-2); }
.pill.unknown { background:var(--bad-bg); color:var(--bad); }
.pill.refund { background:#eaf2fa; color:var(--accent-ink); }
.pill.optional { background:#f3eefa; color:#5b3f96; }
.pill.bldg { background:#eef4fa; color:var(--accent-ink); text-transform:none;
             letter-spacing:0; font-weight:600; }
.site-wide { color:var(--muted-2); font-size:12px; font-style:italic; }

.warn-block { margin-top:16px; }
.warn-block h4 { font-size:12.5px; margin-bottom:7px; color:var(--ink-2); }
.warn-list { margin:0; padding-left:18px; font-size:12.5px; color:var(--muted); }
.warn-list li { margin-bottom:4px; }
.warn-list.blank li { color:var(--warn); }

/* ── next bar ────────────────────────────────────────────────────── */
.next-bar {
  display:flex; align-items:center; gap:16px; justify-content:flex-end;
  padding:4px 2px 8px; flex-wrap:wrap;
}
.next-status { color:var(--muted); font-size:13px; margin-right:auto; }
.next-status.ready { color:var(--good); font-weight:550; }
.primary-btn {
  display:inline-flex; align-items:center; gap:9px; border:0; cursor:pointer;
  background:var(--navy-900); color:#fff; padding:11px 19px; border-radius:8px;
  font-size:14.5px; font-weight:650; letter-spacing:-.005em;
  box-shadow:0 1px 2px rgba(10,31,51,.25);
}
.primary-btn:hover:not(:disabled) { background:#12293f; }
.primary-btn:disabled { background:#c9d1d9; color:#fff; cursor:not-allowed; box-shadow:none; }

/* ── who-bills panel ─────────────────────────────────────────────── */
.svc-list { display:flex; flex-direction:column; gap:1px; background:var(--line);
            border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; }
.svc {
  background:#fff; padding:9px 12px; display:grid;
  grid-template-columns:1fr auto; gap:4px 12px; align-items:baseline;
}
.svc-name { font-size:13.5px; font-weight:600; }
.svc-prov { font-size:12px; color:var(--muted); grid-column:1/-1; }
.svc-tag {
  font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
  padding:2px 7px; border-radius:4px; white-space:nowrap;
}
.svc-tag.known { background:#e8f5ed; color:var(--good); }
.svc-tag.check { background:var(--warn-bg); color:var(--warn); }
.svc-tag.multi { background:var(--sel-bg); color:var(--accent-ink); }

.loc-head { margin-bottom:12px; }
.loc-head h3 { font-size:17px; margin-bottom:3px; }
.loc-head .addr { font-size:12.5px; color:var(--muted); }
.badge-uninc {
  display:inline-block; margin-top:8px; background:var(--warn-bg); color:var(--warn);
  border:1px solid #f0dcc0; border-radius:5px; padding:5px 9px; font-size:12px; font-weight:600;
}
.badge-inc {
  display:inline-block; margin-top:8px; background:#eef4fa; color:var(--accent-ink);
  border:1px solid #d5e3f0; border-radius:5px; padding:5px 9px; font-size:12px; font-weight:600;
}

.spinner {
  width:15px; height:15px; border:2px solid var(--line); border-top-color:var(--accent);
  border-radius:50%; animation:spin .7s linear infinite; display:inline-block; vertical-align:-3px;
}
@keyframes spin { to { transform:rotate(360deg); } }
.err { color:var(--bad); font-size:13px; }

/* ── generic content pages ───────────────────────────────────────── */
.prose { max-width:760px; }
.prose h2 { font-size:21px; margin:26px 0 10px; }
.prose h3 { font-size:16px; margin:20px 0 7px; }
.prose p, .prose li { color:var(--ink-2); font-size:14.5px; line-height:1.65; }
.prose code { font-family:var(--mono); font-size:12.5px; background:#f1f4f7; padding:1px 5px; border-radius:4px; }

.agency-card { padding:13px 15px; border:1px solid var(--line); border-radius:var(--radius-sm); margin-bottom:10px; background:#fff; }
.agency-card header { display:flex; align-items:center; gap:9px; margin-bottom:5px; }
.agency-card h3 { font-size:15px; }
.agency-card p { font-size:13px; color:var(--muted); margin-bottom:6px; }
.agency-card .how { font-size:12.5px; color:var(--ink-2); }
.agency-card .how li { margin-bottom:2px; }
.badge-critical { background:var(--bad-bg); color:var(--bad); padding:1px 7px; border-radius:4px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.badge-check { background:var(--sel-bg); color:var(--accent-ink); padding:1px 7px; border-radius:4px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }

/* ── calculator page ─────────────────────────────────────────────── */
.subhead { background:#fff; border-bottom:1px solid var(--line); }
.subhead-inner { display:flex; align-items:center; gap:18px; padding-top:11px; padding-bottom:11px; flex-wrap:wrap; }
.back-link { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:550; text-decoration:none; }
.back-link:hover { text-decoration:underline; }
.subhead-facts { display:flex; gap:16px; flex-wrap:wrap; font-size:13px; color:var(--muted); }
.subhead-facts b { color:var(--ink); font-weight:650; }
.subhead-actions { margin-left:auto; }
.sched-pick { display:flex; align-items:center; gap:7px; font-size:12px; color:var(--muted); }
.sched-pick select {
  border:1px solid var(--line); border-radius:6px; padding:5px 8px; font-size:13px; background:#fff;
}
.calc-main { padding-top:18px; }
.calc-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:18px; align-items:start; }
.calc-results { display:flex; flex-direction:column; }
.inline-check {
  margin-left:auto; display:flex; align-items:center; gap:7px;
  font-size:12.5px; color:var(--muted); font-weight:500;
}
#inputsGrid { display:flex; flex-direction:column; }

@media (max-width:1000px) { .calc-split { grid-template-columns:1fr; } }

/* ── site plan table ─────────────────────────────────────────────── */
.lede { font-size:13.5px; color:var(--muted); max-width:820px; margin-bottom:14px; }

.siteplan-tbl { min-width:1080px; }
.siteplan-tbl td { vertical-align:top; padding:9px 10px; }
.siteplan-tbl .col-ord { width:38px; padding-right:0; }
.siteplan-tbl .col-name { width:190px; }
.siteplan-tbl .col-type { width:150px; }
.siteplan-tbl .col-size { width:110px; }
.siteplan-tbl .col-spec { width:330px; }
.siteplan-tbl .col-resp { width:250px; }
.siteplan-tbl .col-del { width:38px; }

.cell-txt, .cell-num, .cell-sel, .cell-pct {
  border:1px solid var(--line); border-radius:6px; padding:6px 8px;
  font-size:13px; background:#fff; color:var(--ink); width:100%;
  font-family:inherit;
}
.cell-num, .cell-pct { text-align:right; font-variant-numeric:tabular-nums; }
.cell-pct { width:62px; }
.cell-txt:focus, .cell-num:focus, .cell-sel:focus, .cell-pct:focus {
  outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(26,92,150,.13);
}
.spec-hint { font-size:11px; color:var(--muted-2); margin-top:4px; line-height:1.4; }
.spec-hint .chain { color:var(--warn); }
.spec-hint .bad { color:var(--bad); }

.mix-row { display:flex; gap:8px; margin-bottom:6px; }
.mix-row label {
  display:flex; align-items:center; gap:4px; font-size:11px; color:var(--muted);
  white-space:nowrap;
}
.mix-row.is-bad .cell-pct { border-color:var(--bad); background:var(--bad-bg); }

.ord-btn, .del-btn {
  display:block; width:24px; height:20px; margin:0 auto 2px; padding:0;
  border:1px solid var(--line); background:#fff; border-radius:4px;
  cursor:pointer; color:var(--muted); font-size:11px; line-height:1;
}
.ord-btn:hover:not(:disabled), .del-btn:hover { background:var(--line-2); color:var(--ink); }
.ord-btn:disabled { opacity:.3; cursor:not-allowed; }
.del-btn { height:24px; color:var(--bad); }
.del-btn:hover { background:var(--bad-bg); }

.empty-row { text-align:center; color:var(--muted-2); padding:26px !important; font-size:13.5px; }
#totalsRow td { background:#f7f9fa; font-weight:650; font-size:12.5px; border-top:1px solid var(--line); }

.add-bar {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:14px;
  font-size:13px; color:var(--muted);
}
.add-bar .ghost-btn { margin-left:0; }

/* inferred project type */
.infer-head { margin-bottom:14px; }
.infer-label { font-size:22px; font-weight:700; letter-spacing:-.02em; }
.infer-why { font-size:13.5px; color:var(--muted); margin-top:3px; }
.infer-grid { display:flex; flex-wrap:wrap; gap:1px; background:var(--line);
              border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; }
.infer-grid > div { background:#fff; padding:11px 16px; flex:1; min-width:110px; text-align:center; }
.infer-grid b { display:block; font-size:19px; font-variant-numeric:tabular-nums; }
.infer-grid span { font-size:11px; color:var(--muted-2); text-transform:uppercase; letter-spacing:.06em; }

/* two-total headline on the estimate screen */
.t-row.grand.secondary { background:#123a5c; }
.t-row.grand.secondary .t-val { font-size:18px; }
.bearer-tag {
  display:inline-block; padding:1px 6px; border-radius:4px; font-size:10px;
  font-weight:700; text-transform:uppercase; letter-spacing:.04em;
}
.bearer-tag.tenant { background:#f3eefa; color:#5b3f96; }
.bearer-tag.landlord { background:#eef4fa; color:var(--accent-ink); }
tr.borne-tenant td { background:#fcfaff; }

/* ── footer ──────────────────────────────────────────────────────── */
.foot { border-top:1px solid var(--line); background:#fff; padding:22px 0 30px; margin-top:8px; }
.foot p { font-size:12.5px; color:var(--ink-2); max-width:820px; }
.foot .muted { color:var(--muted-2); }

/* ── responsive ──────────────────────────────────────────────────── */
@media (max-width:940px) {
  .type-grid { grid-template-columns:repeat(2,1fr); }
  .split { grid-template-columns:1fr; }
  .nav-tabs { display:none; }
  .result-card { min-height:0; }
}
@media (max-width:560px) {
  .type-grid { grid-template-columns:1fr; }
  .hero-inner { padding:30px 20px 32px; }
  .hero-badges { gap:12px; }
}

@media print {
  .nav, .hero, .map-shell, .head-actions, .foot, #inputsCard { display:none !important; }
  body { background:#fff; }
  .card { border:0; box-shadow:none; }
  .split { grid-template-columns:1fr; }
}
