:root{
  /* neutrals — cool, low-chroma; one calm accent */
  --bg:#f5f6f8; --panel:#fff; --panel-2:#fbfcfd;
  --ink:#16181d; --ink-2:#3d4250; --muted:#6a7180; --faint:#99a0ad;
  --line:#e6e8ee; --line-2:#eef0f4;
  --accent:#2563eb; --accent-ink:#1d4ed8; --accent-wash:#eef3ff;
  /* tier hues — harmonized, low chroma, AA text */
  --t-eff:#1f53c4;   --t-eff-bg:#eaf0fd;
  --t-comfort:#6d28d9; --t-comfort-bg:#f1ecfd;
  --t-value:#0e7490; --t-value-bg:#e6f4f7;
  --t-budget:#475569; --t-budget-bg:#eef1f5;
  --warn:#9a6510; --warn-bg:#fdf4e3;
  --ok:#15803d;
  --shadow:0 1px 2px rgba(16,18,25,.04),0 2px 8px rgba(16,18,25,.04);
  --shadow-pop:0 12px 40px rgba(16,18,25,.18);
  --r:10px; --r-sm:7px;
  --z-sticky:20; --z-drawer:30; --z-login:50;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:14px/1.5 -apple-system,system-ui,"Segoe UI",Roboto,sans-serif;
  color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

/* ───────── Top bar ───────── */
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:14px 28px;background:var(--panel);color:var(--ink);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:var(--z-sticky);
  flex-wrap:wrap}
.topbar h1{margin:0;font-size:17px;font-weight:650;letter-spacing:-.01em}
.topbar .sub{margin:1px 0 0;font-size:12.5px;color:var(--muted)}
.topbar__actions{display:flex;align-items:center;gap:10px}
.save-state{font-size:12.5px;color:var(--faint);display:inline-flex;align-items:center;gap:6px}
.save-state::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .15s}
.save-state.dirty{color:var(--warn)}
.save-state.dirty::before{background:#e0a93f}

/* ───────── Buttons ───────── */
.btn{font:inherit;font-weight:600;border:1px solid transparent;border-radius:var(--r-sm);
  padding:8px 14px;cursor:pointer;transition:background .15s,border-color .15s,transform .05s}
.btn:active{transform:translateY(.5px)}
.btn--primary{background:var(--accent);color:#fff}
.btn--primary:hover{background:var(--accent-ink)}
.btn--primary:disabled{opacity:.4;cursor:not-allowed;background:var(--accent)}
.btn--ghost{background:var(--panel);border-color:var(--line);color:var(--ink-2)}
.btn--ghost:hover{background:var(--panel-2);border-color:#d6dae3}

/* ───────── Knobs (pricing controls) ───────── */
.knobs{max-width:1280px;margin:20px auto 8px;padding:0 28px}
.knobs__grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:start}
@media(max-width:880px){.knobs__grid{grid-template-columns:1fr}}
.knobs__col{display:flex;flex-direction:column;gap:16px}
.knobs__group{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:16px 18px;box-shadow:var(--shadow)}
.knobs h2{margin:0 0 14px;font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;color:var(--faint)}
.knobs__row{display:flex;gap:18px 22px;align-items:center;flex-wrap:wrap}
.knobs label{font-size:13px;color:var(--ink-2);font-weight:600;display:inline-flex;gap:6px;align-items:center}
.knobs input{font:inherit;width:74px;padding:7px 9px;border:1px solid var(--line);
  border-radius:var(--r-sm);background:var(--panel-2);color:var(--ink);
  font-variant-numeric:tabular-nums;transition:border-color .15s,background .15s}
.knobs input:hover{border-color:#d6dae3}
.knobs input:focus{outline:none;border-color:var(--accent);background:#fff}
.knobs__check{cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.knobs__check input[type=checkbox]{width:auto;padding:0;accent-color:var(--accent);cursor:pointer}
.knobs__checks{display:flex;flex-direction:column;gap:9px;margin-bottom:13px}
label.knobs__default{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:13px;font-weight:600;color:var(--ink-2)}
.knobs__default select{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2);color:var(--ink);max-width:220px;cursor:pointer}
.knobs__default select:focus{outline:none;border-color:var(--accent)}
.knobs__note{font-size:12.5px;line-height:1.5;color:var(--muted);margin:14px 0 0;
  padding-top:13px;border-top:1px solid var(--line-2)}
.knobs__labor{display:flex;gap:18px;flex-wrap:wrap;margin-top:15px;padding-top:15px;border-top:1px solid var(--line-2)}
.labor-grp{font-size:12px}
.labor-grp b{display:block;margin-bottom:5px;color:var(--ink-2);font-weight:600}
.labor-grp input{width:66px}

/* ───────── Matrix ───────── */
.matrix{max-width:1280px;margin:0 auto;padding:8px 28px 64px}
.loading{padding:48px;text-align:center;color:var(--muted)}
.grouptbl{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:22px;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--shadow)}
.grouptbl caption{caption-side:top;text-align:left;font-weight:650;font-size:14px;
  letter-spacing:-.01em;padding:15px 16px 11px;color:var(--ink)}
.grouptbl th{background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:600;
  letter-spacing:.02em;padding:10px 8px;text-align:center;border-bottom:1px solid var(--line);
  border-top:1px solid var(--line)}
.grouptbl th.rowhdr{text-align:left;color:var(--faint);white-space:nowrap;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;font-size:10px}
.cell{border-left:1px solid var(--line-2);border-bottom:0;vertical-align:top;padding:0;
  min-width:160px;cursor:pointer;transition:background .12s,box-shadow .12s}
.cell:first-of-type{border-left:0}
.cell:hover{background:var(--accent-wash);box-shadow:inset 0 0 0 1.5px var(--accent)}
.cell.thin{background:var(--warn-bg)}
.cell.thin:hover{box-shadow:inset 0 0 0 1.5px var(--accent)}
.cell__inner{padding:10px 11px}
.optcount{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);
  margin-bottom:8px;display:flex;align-items:center;gap:5px}
.cell.thin .optcount{color:var(--warn);font-weight:700}
.pick{padding:7px 0;border-top:1px solid var(--line-2);font-size:12px;line-height:1.45}
.pick:first-of-type{border-top:none;padding-top:0}
.goal{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  padding:2px 6px;border-radius:4px}
.goal.energy_efficient{background:var(--t-eff-bg);color:var(--t-eff)}
.goal.comfort{background:var(--t-comfort-bg);color:var(--t-comfort)}
.goal.value{background:var(--t-value-bg);color:var(--t-value)}
.goal.budget{background:var(--t-budget-bg);color:var(--t-budget)}
.pick .price{float:right;font-weight:700;font-variant-numeric:tabular-nums;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--ink)}
.pick .price.ovr{color:var(--t-value)}
.pick .brand{font-weight:600;color:var(--ink-2)}
.pick .spec{color:var(--muted);font-variant-numeric:tabular-nums}
.edited-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:2px}

/* Book-mode view switcher (Price book editor | Customer preview) */
.pb-viewnav{display:inline-flex;gap:4px;background:var(--panel-2);border:1px solid var(--line);
  border-radius:var(--r);padding:4px;margin-bottom:18px}
.pb-vbtn{font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);background:none;border:0;
  border-radius:var(--r-sm);padding:7px 15px;cursor:pointer}
.pb-vbtn:hover{color:var(--ink)}
.pb-vbtn.is-active{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}

/* Customer preview — permutation explorer (reuses .grouptbl / .cell / .pick / .goal) */
.perm__head{margin-bottom:16px}
.perm__head h2{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--ink)}
.perm__note{margin:0;font-size:12.5px;line-height:1.55;color:var(--muted);max-width:900px}
.perm-snap{display:inline-block;margin-left:6px;font-size:9px;font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;color:var(--accent);background:var(--accent-wash);border-radius:999px;padding:1px 7px}
.perm-model{display:block;margin-top:3px;font-size:11px;color:var(--faint);word-break:break-word}
.perm-empty{color:var(--warn);font-weight:600}

/* ───────── Drawer ───────── */
.drawer{position:fixed;inset:0;z-index:var(--z-drawer)}
.drawer[hidden]{display:none}
.drawer__backdrop{position:absolute;inset:0;background:rgba(16,18,25,.42);
  backdrop-filter:blur(1.5px);animation:fade .18s ease-out}
.drawer__panel{position:absolute;right:0;top:0;height:100%;width:min(500px,94vw);
  background:var(--panel);box-shadow:var(--shadow-pop);padding:24px 24px 28px;overflow:auto;
  animation:slidein .22s cubic-bezier(.22,1,.36,1)}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes slidein{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){
  .drawer__backdrop,.drawer__panel{animation:none}
}
.drawer__close{position:absolute;right:14px;top:12px;border:none;background:none;
  font-size:24px;line-height:1;cursor:pointer;color:var(--faint);width:32px;height:32px;
  border-radius:var(--r-sm);transition:background .15s,color .15s}
.drawer__close:hover{background:var(--panel-2);color:var(--ink)}
.drawer h2{margin:0 0 3px;font-size:17px;font-weight:650;letter-spacing:-.01em}
.drawer__sub{margin:0 0 18px;color:var(--muted);font-size:13px}
.slot{border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;margin-bottom:12px;
  background:var(--panel-2);transition:border-color .15s}
.slot:focus-within{border-color:var(--accent)}
.slot__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.slot__label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  padding:2px 8px;border-radius:5px}
.slot__label.energy_efficient{background:var(--t-eff-bg);color:var(--t-eff)}
.slot__label.comfort{background:var(--t-comfort-bg);color:var(--t-comfort)}
.slot__label.budget{background:var(--t-budget-bg);color:var(--t-budget)}
.slot select{width:100%;font:inherit;padding:9px 10px;border:1px solid var(--line);
  border-radius:var(--r-sm);margin-bottom:10px;background:#fff;color:var(--ink);cursor:pointer}
.slot select:focus{outline:none;border-color:var(--accent)}
.slot__price{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.slot__price input{width:96px;font:inherit;padding:6px 8px;border:1px solid var(--line);
  border-radius:var(--r-sm);font-variant-numeric:tabular-nums;background:#fff}
.slot__price input:focus{outline:none;border-color:var(--accent)}
.slot__cost{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.slot__computed{font-size:12.5px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}
.drawer__foot{display:flex;justify-content:space-between;align-items:center;
  margin-top:20px;padding-top:16px;border-top:1px solid var(--line-2)}
.warn{background:var(--warn-bg);color:var(--warn);font-size:12px;line-height:1.45;
  padding:8px 11px;border-radius:var(--r-sm);margin-bottom:12px}

/* ───────── Auth gate ───────── */
.login{position:fixed;inset:0;z-index:var(--z-login);display:flex;align-items:center;
  justify-content:center;background:linear-gradient(180deg,#1b1d27,#15171f);padding:20px}
.login[hidden]{display:none}
.login__card{background:var(--panel);border-radius:14px;padding:30px 28px;width:min(360px,92vw);
  box-shadow:0 24px 70px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:14px}
.login__card h1{margin:0;font-size:19px;font-weight:650;letter-spacing:-.01em}
.login__sub{margin:-7px 0 6px;color:var(--muted);font-size:13px}
.login__card label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2)}
.login__card input{font:inherit;padding:10px 11px;border:1px solid var(--line);
  border-radius:var(--r-sm);color:var(--ink);background:var(--panel-2)}
.login__card input:focus{outline:none;border-color:var(--accent);background:#fff}
.login__card .btn{margin-top:6px;padding:11px}
/* Google is the primary path in; email/password stays as the fallback beneath it. */
.btn--google{background:var(--panel);border-color:var(--line);color:var(--ink);
  font-weight:600;display:flex;align-items:center;justify-content:center;gap:9px}
.btn--google:hover{background:var(--panel-2);border-color:#d6dae3}
.btn--google:disabled{opacity:.5;cursor:not-allowed}
.btn--google::before{content:"";width:17px;height:17px;flex:none;background-repeat:no-repeat;
  background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%234285F4' d='M45.1 24.5c0-1.6-.1-3.1-.4-4.5H24v8.5h11.8c-.5 2.7-2 5-4.4 6.6v5.5h7.1c4.1-3.8 6.6-9.4 6.6-16.1z'/%3E%3Cpath fill='%2334A853' d='M24 46c6 0 11-2 14.6-5.4l-7.1-5.5c-2 1.3-4.5 2.1-7.5 2.1-5.8 0-10.7-3.9-12.4-9.1H4.3v5.7C7.9 41.1 15.4 46 24 46z'/%3E%3Cpath fill='%23FBBC05' d='M11.6 28.1c-.4-1.3-.7-2.7-.7-4.1s.2-2.8.7-4.1v-5.7H4.3C2.8 17.1 2 20.4 2 24s.8 6.9 2.3 9.8l7.3-5.7z'/%3E%3Cpath fill='%23EA4335' d='M24 10.8c3.3 0 6.2 1.1 8.5 3.3l6.3-6.3C35 4.2 30 2 24 2 15.4 2 7.9 6.9 4.3 14.2l7.3 5.7c1.7-5.2 6.6-9.1 12.4-9.1z'/%3E%3C/svg%3E")}
.login__divider{display:flex;align-items:center;gap:10px;color:var(--faint);font-size:11px;
  font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin:2px 0}
.login__divider::before,.login__divider::after{content:"";flex:1;height:1px;background:var(--line)}
.login__error{margin:0;color:#b91c1c;font-size:13px;background:#fef2f2;
  border:1px solid #fecaca;border-radius:var(--r-sm);padding:9px 11px}
.login__error[hidden]{display:none}

/* ───────── Methodology reference ───────── */
.methodology{max-width:1280px;margin:0 auto;padding:0 28px 28px}
.methodology__box{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:8px 20px 18px;box-shadow:var(--shadow)}
.methodology__box summary{cursor:pointer;font-weight:650;font-size:15px;padding:10px 0;color:var(--ink)}
.methodology__box summary::marker{color:var(--faint)}
.methodology__hint{font-weight:400;color:var(--muted);font-size:13px}
.methodology h3{margin:18px 0 6px;font-size:14px;color:var(--ink)}
.methodology p{font-size:13px;color:var(--ink-2);margin:4px 0}
.methodology__sub{color:var(--muted)}
.methodology__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;
  background:var(--bg);padding:6px 9px;border-radius:6px;display:inline-block;color:var(--ink-2)}
.methodology__note{color:var(--muted);font-size:11px;margin-top:14px}
.methodology__table{border-collapse:collapse;width:100%;margin:6px 0 4px;font-size:12px}
.methodology__table th,.methodology__table td{border:1px solid var(--line);padding:5px 8px;text-align:center}
.methodology__table th:first-child,.methodology__table td:first-child{text-align:left;color:var(--muted)}
.methodology__table thead th{background:var(--panel-2);font-weight:600;color:var(--ink-2)}

/* ───────── Price book editor (book-pricing mode) ───────── */
.pricebook{max-width:780px}
.pricebook__head h2{margin:0 0 4px;font-size:16px;font-weight:650;letter-spacing:-.01em;color:var(--ink);text-transform:none}
.pricebook__note{font-size:12.5px;line-height:1.5;color:var(--muted);margin:0 0 16px;max-width:62ch}
.pb-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.pb-tab{font:inherit;font-size:13px;font-weight:600;padding:7px 15px;border:1px solid var(--line);
  background:var(--panel);color:var(--ink-2);border-radius:999px;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s}
.pb-tab:hover{border-color:#d6dae3;background:var(--panel-2)}
.pb-tab.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.pb-grid{border-collapse:separate;border-spacing:0;width:100%;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.pb-grid th{background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:600;
  text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.pb-grid td{padding:9px 14px;border-bottom:1px solid var(--line-2)}
.pb-grid tr:last-child td{border-bottom:none}
.pb-sub{display:block;font-weight:400;color:var(--faint);font-size:10.5px;margin-top:2px;
  text-transform:none;letter-spacing:0}
.pb-size,.pb-size-h{font-weight:650;color:var(--ink-2);white-space:nowrap;background:var(--panel-2)}
.pb-cur{color:var(--faint);margin-right:3px}
.pb-input{font:inherit;width:88px;padding:7px 9px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--panel-2);color:var(--ink);font-variant-numeric:tabular-nums;
  transition:border-color .15s,background .15s}
.pb-input:hover{border-color:#d6dae3}
.pb-input:focus{outline:none;border-color:var(--accent);background:#fff}

/* ───────── Top-level view switcher (Setup | Leads) ───────── */
.topbar__lead{display:flex;align-items:center;gap:20px;min-width:0;flex-wrap:wrap}
.viewnav{display:inline-flex;gap:4px;background:var(--panel-2);border:1px solid var(--line);
  border-radius:var(--r);padding:4px}
.viewnav__btn{font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);background:none;border:0;
  border-radius:var(--r-sm);padding:6px 15px;cursor:pointer;transition:background .15s,color .15s}
.viewnav__btn:hover{color:var(--ink)}
.viewnav__btn.is-active{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.view-hidden{display:none!important}
/* Narrow screens: let the header wrap cleanly instead of the viewnav colliding with
   the action buttons. The actions row drops below and spreads full-width. */
@media(max-width:720px){
  .topbar{align-items:flex-start}
  .topbar__actions{width:100%;justify-content:flex-end;flex-wrap:wrap}
}

/* ───────── Leads view ───────── */
.leads{max-width:1280px;margin:0 auto;padding:20px 28px 64px}
.leads[hidden]{display:none}
.leads__head{margin-bottom:18px}
.leads__head h2{margin:0 0 6px;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.leads__note{margin:0;font-size:12.5px;line-height:1.55;color:var(--muted);max-width:900px}
.leads__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
@media(max-width:520px){.leads__list{grid-template-columns:1fr}}

.leads__empty{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);padding:56px 28px;text-align:center;max-width:560px;margin:0 auto}
.leads__empty-ico{font-size:34px;margin-bottom:10px;opacity:.85}
.leads__empty h2{margin:0 0 6px;font-size:16px;font-weight:650;color:var(--ink)}
.leads__empty p{margin:0 auto;font-size:13px;line-height:1.6;color:var(--muted);max-width:44ch}

/* Lead card */
.lead-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--shadow);padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.lead-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
  padding-bottom:12px;border-bottom:1px solid var(--line-2)}
.lead-card__id{min-width:0}
.lead-name{margin:0 0 3px;font-size:15px;font-weight:650;letter-spacing:-.01em;color:var(--ink)}
.lead-contacts{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12.5px}
.lead-contact{color:var(--accent-ink);text-decoration:none;font-weight:600;font-variant-numeric:tabular-nums}
.lead-contact:hover{text-decoration:underline}
.lead-contact--none{color:var(--faint);font-weight:400;font-style:italic}
.lead-dot{color:var(--line);font-weight:700}
.lead-card__meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right;flex-shrink:0}
.lead-when{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}

.lead-badge{font-size:10px;font-weight:700;letter-spacing:.02em;padding:3px 8px;border-radius:999px;white-space:nowrap}
.lead-badge--ok{background:#e7f5ec;color:var(--ok)}
.lead-badge--pending{background:var(--warn-bg);color:var(--warn)}
.lead-badge--muted{background:var(--line-2);color:var(--muted)}

/* Per-card delete (agency-only; mainly for clearing test leads so webhooks can re-fire). */
.lead-del{font:inherit;font-size:11px;font-weight:600;color:var(--muted);background:none;border:1px solid var(--line);border-radius:6px;padding:2px 9px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}
.lead-del:hover{color:#b3261e;border-color:#e4b6b3;background:#fdf3f2}
.lead-del:disabled{opacity:.55;cursor:default}

/* Lead-quality disposition → fires a valued Meta CAPI event (qualified $195 / booked $300). */
.lead-dispo{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}
.lead-dispo__label{font-size:12px;font-weight:600;color:var(--muted)}
.lead-dispo__select{font:inherit;font-size:12.5px;padding:5px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;color:inherit;cursor:pointer}
.lead-dispo__select:disabled{opacity:.55;cursor:default}
.lead-dispo__status{font-size:11.5px;font-weight:600;color:var(--ok)}

/* Bottom-center confirmation toast. */
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(8px);background:#111827;color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;z-index:1000;box-shadow:0 6px 20px rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.lead-summary{display:flex;align-items:baseline;gap:8px;font-size:13px;line-height:1.5;color:var(--ink-2);
  background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:9px 12px}
.lead-summary__ico{font-size:13px;flex-shrink:0}

.lead-flags{display:flex;flex-wrap:wrap;gap:6px}
.lead-chip{font-size:11px;font-weight:600;color:var(--ink-2);background:var(--accent-wash);
  border:1px solid #dbe6ff;border-radius:999px;padding:3px 10px}
.lead-chip--goal{background:var(--t-value-bg);color:var(--t-value);border-color:transparent}

.lead-optslabel{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);
  font-weight:700;margin-top:2px}
.lead-opts{display:flex;flex-direction:column;gap:1px;background:var(--line-2);
  border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden}
.lead-opts--empty{padding:12px;background:var(--panel-2);color:var(--faint);font-size:12.5px;
  text-align:center;font-style:italic}
.lead-opt{display:flex;align-items:center;gap:11px;padding:9px 12px;background:var(--panel)}
.lead-opt .goal{flex-shrink:0;font-size:9.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;padding:2px 6px;border-radius:4px}
.lead-opt__body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.lead-opt__brand{font-weight:650;color:var(--ink);font-size:12.5px}
.lead-opt__desc{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lead-opt__price{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex-shrink:0;text-align:right}
.lead-opt__installed{font-weight:700;font-variant-numeric:tabular-nums;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--ink)}
.lead-opt__mo{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
/* The system the homeowner actually picked on the results page (quoted_options[].selected). */
.lead-opt--chosen{background:var(--accent-wash);box-shadow:inset 3px 0 0 var(--accent)}
.lead-opt__chosen{display:inline-block;margin-left:6px;font-size:9.5px;font-weight:700;letter-spacing:.02em;
  color:var(--ok);background:#e7f5ec;border-radius:999px;padding:1px 7px;vertical-align:middle}

/* --- Master client picker (multi-tenant agency view) --- */
.client-picker{margin-top:6px;padding:5px 8px;font-size:13px;font-weight:600;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:8px;max-width:260px}
.client-picker:focus{outline:2px solid var(--accent);outline-offset:1px}
/* Client badge on lead cards in the All-clients view */
.lead-client{display:inline-block;margin-left:8px;font-size:10.5px;font-weight:700;letter-spacing:.02em;
  color:var(--accent);background:var(--accent-wash);border-radius:999px;padding:2px 8px;vertical-align:middle}
