@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ============================================================
   Nestimate — funnel widget. Everything scoped to .nestimate-app.
   Base colors come from inline --ns-cold / --ns-warm / --ns-panel;
   shades are derived here so admins only pick three colors.
   ============================================================ */

.nestimate-app{
  --ns-cold:#2C4A78; --ns-warm:#B22234; --ns-panel:#E6EAF4; /* fallbacks; overridden inline */
  --ns-cold-deep: color-mix(in srgb, var(--ns-cold) 82%, #000);
  --ns-cold-soft: color-mix(in srgb, var(--ns-cold) 12%, #fff);
  --ns-warm-deep: color-mix(in srgb, var(--ns-warm) 82%, #000);
  --ns-warm-soft: color-mix(in srgb, var(--ns-warm) 14%, #fff);
  --ns-panel-line: color-mix(in srgb, var(--ns-panel) 82%, #67707e);
  --ns-ink:#17191D; --ns-ink-soft:#565B62; --ns-ink-mute:#8A9099;
  --ns-line:#E6E6E2; --ns-line2:#EFEFEC; --ns-surface:#FFFFFF; --ns-radius:12px;

  max-width:600px; margin:0 auto; padding:24px 22px 26px;
  background:var(--ns-panel); border:1px solid var(--ns-panel-line); border-radius:18px;
  box-shadow:0 1px 2px rgba(23,25,29,.04), 0 12px 34px rgba(23,25,29,.05);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:var(--ns-ink); line-height:1.55; -webkit-font-smoothing:antialiased;
}
.nestimate-app *,.nestimate-app *::before,.nestimate-app *::after{box-sizing:border-box}
.nestimate-app button{font-family:inherit; color:inherit; margin:0; cursor:pointer}
.nestimate-app input{font-family:inherit}
.nestimate-app a{color:inherit}
.nestimate-app .num{font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1}

/* spine */
.nestimate-app .ns-spine{display:none; gap:4px; margin:0 0 8px}
.nestimate-app .ns-seg{flex:1; height:3px; border-radius:2px; background:var(--ns-line); transition:background .55s ease}
.nestimate-app .ns-spinecap{display:none; justify-content:space-between; font-size:11px; letter-spacing:.02em; color:var(--ns-ink-mute); margin-bottom:22px}
.nestimate-app .ns-spinecap b{font-weight:600; color:var(--ns-ink); transition:color .5s}

/* card */
.nestimate-app .ns-stage{background:var(--ns-surface); border:1px solid var(--ns-line); border-radius:var(--ns-radius); padding:26px 24px; display:block}
.nestimate-app .eyebrow{font-size:12px; font-weight:600; letter-spacing:.01em; color:var(--ns-cold); margin:0 0 9px; transition:color .5s}
.nestimate-app h1.head{font-weight:600; font-size:25px; line-height:1.18; letter-spacing:-.025em; margin:0 0 7px}
.nestimate-app .sub{color:var(--ns-ink-soft); font-size:15px; margin:0 0 22px; max-width:46ch}

/* form */
.nestimate-app .field{margin-bottom:18px}
.nestimate-app .lab{display:block; font-size:13px; font-weight:500; margin-bottom:8px; color:var(--ns-ink)}
.nestimate-app .lab .hint{color:var(--ns-ink-mute); font-weight:400}
.nestimate-app input[type=text]{width:100%; font-size:16px; padding:13px 14px; border:1px solid var(--ns-line); border-radius:10px; background:var(--ns-surface); color:var(--ns-ink)}
.nestimate-app input[type=text]::placeholder{color:var(--ns-ink-mute)}
.nestimate-app input[type=text]:focus{outline:none; border-color:var(--ns-cold); box-shadow:0 0 0 3px var(--ns-cold-soft)}
.nestimate-app .chips{display:flex; gap:8px; flex-wrap:wrap}
.nestimate-app .chip{font-size:14px; padding:10px 16px; border:1px solid var(--ns-line); border-radius:10px; background:var(--ns-surface); color:var(--ns-ink-soft); transition:border-color .15s, background .15s, color .15s}
.nestimate-app .chip:hover{border-color:var(--ns-ink-mute)}
.nestimate-app .chip[aria-pressed=true]{background:var(--ns-cold); border-color:var(--ns-cold); color:#fff}
.nestimate-app .stepper{display:inline-flex; align-items:center; border:1px solid var(--ns-line); border-radius:10px; background:var(--ns-surface); overflow:hidden}
.nestimate-app .stepper button{font-size:18px; width:44px; height:44px; border:none; background:none; color:var(--ns-cold)}
.nestimate-app .stepper button:hover{background:var(--ns-cold-soft)}
.nestimate-app .stepper .val{min-width:40px; text-align:center; font-weight:600; font-size:16px}

/* entry: bedrooms + condition on one aligned row */
.nestimate-app .tworow{display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:start; margin:0 0 2px}
.nestimate-app .tw-col .lab{margin-bottom:8px}
.nestimate-app .tw-col .stepper{height:46px}
.nestimate-app .condrow{gap:7px; flex-wrap:nowrap}
.nestimate-app .condrow .chip{flex:1 1 0; min-width:0; padding:0 6px; height:46px; display:flex; align-items:center; justify-content:center; text-align:center; white-space:nowrap; font-size:13.5px}

.nestimate-app .cta{font-weight:600; font-size:15.5px; padding:15px 22px; border:none; border-radius:11px; background:var(--ns-cold); color:#fff; transition:background .2s, transform .08s; width:100%; margin-top:6px}
.nestimate-app .cta:hover{background:var(--ns-cold-deep)}
.nestimate-app .cta:active{transform:translateY(1px)}
.nestimate-app .cta.warm{background:var(--ns-warm)}
.nestimate-app .cta.warm:hover{background:var(--ns-warm-deep)}
.nestimate-app .cta.line{background:var(--ns-surface); color:var(--ns-warm-deep); border:1px solid var(--ns-warm)}
.nestimate-app .cta.line:hover{background:var(--ns-warm-soft)}
.nestimate-app .ghost{background:none; color:var(--ns-ink-soft); font-weight:500; border:none; font-size:13.5px; padding:0; margin-top:2px; text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--ns-line)}
.nestimate-app .ghost:hover{color:var(--ns-ink)}
.nestimate-app .cta:focus-visible,.nestimate-app .chip:focus-visible,.nestimate-app a:focus-visible,.nestimate-app .stepper button:focus-visible,.nestimate-app button:focus-visible{outline:2px solid var(--ns-cold); outline-offset:2px}

/* value gauge */
.nestimate-app .valwrap{text-align:center; padding:6px 0 2px}
.nestimate-app .valrange{font-weight:700; font-size:42px; letter-spacing:-.035em; line-height:1.02}
.nestimate-app .valrange .to{color:var(--ns-ink-mute); font-weight:500; font-size:26px; margin:0 8px; vertical-align:middle}
.nestimate-app .valcap{font-size:12.5px; letter-spacing:.01em; color:var(--ns-ink-mute); margin-top:9px}
.nestimate-app .gauge{position:relative; height:8px; border-radius:6px; margin:26px 4px 9px; background:var(--ns-line2); overflow:hidden}
.nestimate-app .gauge .band{position:absolute; top:0; bottom:0; border-radius:6px; background:var(--ns-cold); transition:left .6s cubic-bezier(.4,0,.2,1), right .6s cubic-bezier(.4,0,.2,1), background .5s}
.nestimate-app .gauge-ends{display:flex; justify-content:space-between; font-size:12px; color:var(--ns-ink-mute); margin:0 4px}

/* distribution */
.nestimate-app .dist{display:flex; align-items:flex-end; gap:5px; height:132px; margin:12px 0 6px}
.nestimate-app .bar{flex:1; background:var(--ns-line); border-radius:3px 3px 0 0; position:relative; transition:height .5s, background .5s}
.nestimate-app .bar.you{background:var(--ns-cold)}
.nestimate-app .youtag{position:absolute; top:-21px; left:50%; transform:translateX(-50%); white-space:nowrap; font-size:11px; color:var(--ns-cold); font-weight:600}
.nestimate-app .axis{display:flex; justify-content:space-between; font-size:12px; color:var(--ns-ink-mute); margin-top:6px}

/* trend chart */
.nestimate-app .chart{position:relative; width:100%}
.nestimate-app .readout{position:absolute; top:0; left:0; background:var(--ns-ink); color:#fff; font-size:12px; font-weight:500; padding:5px 9px; border-radius:7px; pointer-events:none; opacity:0; transform:translate(-50%,-6px); transition:opacity .12s; white-space:nowrap}

/* ============================================================
   City / ZIP typeahead (entry screen)
   ============================================================ */
.nestimate-app .ns-ac{position:relative}
.nestimate-app .ns-ac-menu{
  position:absolute; left:0; right:0; top:100%; margin:6px 0 0; z-index:40;
  list-style:none; padding:5px; background:var(--ns-surface);
  border:1px solid var(--ns-line); border-radius:12px;
  box-shadow:0 8px 22px rgba(23,25,29,.11), 0 2px 6px rgba(23,25,29,.05);
  max-height:268px; overflow-y:auto; overscroll-behavior:contain; display:none}
.nestimate-app .ns-ac-menu.show{display:block}
.nestimate-app .ns-ac-opt{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:10px 11px; border-radius:8px; cursor:pointer; line-height:1.3;
  font-size:14.5px; color:var(--ns-ink)}
.nestimate-app .ns-ac-name{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.nestimate-app .ns-ac-zip{flex:none; font-size:12.5px; color:var(--ns-ink-mute); letter-spacing:.01em}
.nestimate-app .ns-ac-opt mark{background:var(--ns-cold-soft); color:var(--ns-cold-deep); padding:0 1px; border-radius:3px; font-weight:600}
.nestimate-app .ns-ac-opt:hover{background:var(--ns-line2)}
.nestimate-app .ns-ac-opt.on{background:var(--ns-cold-soft)}
.nestimate-app .ns-ac-opt.on .ns-ac-zip{color:var(--ns-cold-deep)}

/* ============================================================
   More filters (optional, collapsible — entry screen)
   ============================================================ */
.nestimate-app .ns-more{margin-top:16px}
.nestimate-app .ns-more-t{
  display:flex; align-items:center; justify-content:space-between; width:100%;
  padding:12px 15px; border:1px solid var(--ns-line); border-radius:11px;
  background:var(--ns-surface); color:var(--ns-ink-soft); font-weight:600; font-size:14px;
  transition:border-color .15s, color .15s, background .15s}
.nestimate-app .ns-more-t:hover{border-color:var(--ns-ink-mute); color:var(--ns-ink)}
.nestimate-app .ns-more.open .ns-more-t{
  color:var(--ns-ink); border-color:var(--ns-cold-soft);
  border-bottom-left-radius:0; border-bottom-right-radius:0;
  background:color-mix(in srgb, var(--ns-cold) 5%, #fff)}
.nestimate-app .ns-more-l{display:inline-flex; align-items:center; gap:9px}
.nestimate-app .ns-more-b{
  display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px;
  padding:0 6px; border-radius:999px; background:var(--ns-cold); color:#fff;
  font-size:12px; font-weight:700; line-height:1; font-variant-numeric:tabular-nums}
.nestimate-app .ns-more-b[hidden]{display:none}
.nestimate-app .ns-more-c{color:var(--ns-ink-mute); flex:none; transition:transform .25s ease}
.nestimate-app .ns-more-t[aria-expanded=true] .ns-more-c{transform:rotate(180deg); color:var(--ns-cold)}
.nestimate-app .ns-more-p{
  border:1px solid var(--ns-cold-soft); border-top:none; border-radius:0 0 11px 11px;
  padding:16px 15px 18px; background:color-mix(in srgb, var(--ns-panel) 38%, #fff)}
.nestimate-app .ns-more-p[hidden]{display:none}
.nestimate-app .ns-more-p:not([hidden]){animation:ns-slidedown .28s ease}
@keyframes ns-slidedown{from{opacity:0; transform:translateY(-4px)} to{opacity:1; transform:none}}
.nestimate-app .ns-more-help{font-size:12.5px; color:var(--ns-ink-mute); margin:0 0 15px}
.nestimate-app .ns-fgroup{margin-bottom:16px}
.nestimate-app .ns-fgroup:last-child{margin-bottom:0}
.nestimate-app .ns-frow{display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:start; margin-bottom:16px}
.nestimate-app .ns-frow .tw-col .lab{margin-bottom:8px}
.nestimate-app .ns-fwrap{gap:7px}

/* feature pills (multi-select) */
.nestimate-app .fchips{display:flex; flex-wrap:wrap; gap:7px}
.nestimate-app .fchip{
  display:inline-flex; align-items:center; gap:7px;
  padding:9px 13px 9px 11px; border:1px solid var(--ns-line); border-radius:999px;
  background:var(--ns-surface); color:var(--ns-ink-soft); font-size:13.5px; font-weight:600;
  transition:border-color .15s, background .15s, color .15s}
.nestimate-app .fchip .fdot{
  position:relative; flex:none; width:15px; height:15px; border-radius:50%;
  border:1.6px solid var(--ns-ink-mute); transition:border-color .15s, background .15s}
.nestimate-app .fchip:hover{border-color:var(--ns-ink-mute)}
.nestimate-app .fchip[aria-pressed=true]{background:var(--ns-cold-soft); border-color:var(--ns-cold); color:var(--ns-cold-deep)}
.nestimate-app .fchip[aria-pressed=true] .fdot{border-color:var(--ns-cold); background:var(--ns-cold)}
.nestimate-app .fchip[aria-pressed=true] .fdot::after{
  content:""; position:absolute; left:4px; top:1px; width:3.5px; height:8px;
  border:solid #fff; border-width:0 1.7px 1.7px 0; transform:rotate(45deg)}

/* reno */
.nestimate-app .toggles{display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:6px}
.nestimate-app .tog{display:flex; justify-content:space-between; align-items:center; gap:8px; padding:14px 15px; border:1px solid var(--ns-line); border-radius:11px; background:var(--ns-surface); transition:border-color .15s, background .15s; text-align:left}
.nestimate-app .tog:hover{border-color:var(--ns-ink-mute)}
.nestimate-app .tog[aria-pressed=true]{border-color:var(--ns-warm); background:var(--ns-warm-soft)}
.nestimate-app .tog .nm{font-size:14px; font-weight:500}
.nestimate-app .tog .pl{font-size:13px; color:var(--ns-warm-deep); font-weight:600}
.nestimate-app .delta{text-align:center; margin:22px 0 4px}
.nestimate-app .delta .dnum{font-size:36px; font-weight:700; color:var(--ns-warm-deep); letter-spacing:-.03em}
.nestimate-app .delta .dlbl{display:block; font-size:12.5px; color:var(--ns-ink-mute); margin-top:5px}

/* sliders / kpis */
.nestimate-app .slrow{margin:18px 0}
.nestimate-app .slrow .top-lab{display:flex; justify-content:space-between; font-size:14px; margin-bottom:10px}
.nestimate-app .slrow .top-lab b{font-weight:600}
.nestimate-app input[type=range]{width:100%; accent-color:var(--ns-warm)}
.nestimate-app .kpis{display:grid; grid-template-columns:1fr 1fr; gap:11px; margin:18px 0}
.nestimate-app .kpi{border:1px solid var(--ns-line); border-radius:11px; padding:15px 16px}
.nestimate-app .kpi .k{font-size:12px; color:var(--ns-ink-mute)}
.nestimate-app .kpi .v{font-size:27px; font-weight:700; letter-spacing:-.03em; margin-top:3px}
.nestimate-app .kpi.hot .v{color:var(--ns-warm-deep)}
.nestimate-app .leadbtns{display:flex; flex-direction:column; gap:9px; margin-top:6px}

/* articles */
.nestimate-app .reads{margin-top:24px; padding-top:20px; border-top:1px solid var(--ns-line2)}
.nestimate-app .reads-h{font-size:12px; font-weight:600; color:var(--ns-ink-mute); margin:0 0 12px}
.nestimate-app .acard{display:flex; gap:14px; align-items:stretch; border:1px solid var(--ns-line); border-radius:11px; background:var(--ns-surface); text-decoration:none; color:var(--ns-ink); margin-bottom:9px; overflow:hidden; transition:border-color .15s, transform .1s}
.nestimate-app .acard:hover{border-color:var(--ns-ink-mute); transform:translateY(-1px)}
.nestimate-app .acover{flex:0 0 108px; align-self:stretch; min-height:92px; background:linear-gradient(135deg,var(--ns-cold-soft),var(--ns-warm-soft)); background-size:cover; background-position:center; position:relative}
.nestimate-app .acover .ph{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ns-ink-mute)}
.nestimate-app .abody{padding:13px 15px 13px 0; display:flex; flex-direction:column; justify-content:center; min-width:0}
.nestimate-app .akick{font-size:11px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--ns-warm-deep); margin-bottom:4px}
.nestimate-app .atitle{font-size:15px; font-weight:600; line-height:1.25; letter-spacing:-.01em}
.nestimate-app .adek{font-size:13px; color:var(--ns-ink-mute); margin-top:3px}

/* in-content ad */
.nestimate-app .adzone{border:1px solid var(--ns-line); border-radius:11px; padding:16px; text-align:center; background:var(--ns-line2); margin:20px 0}
.nestimate-app .adzone .az-t{font-size:12px; font-weight:600; letter-spacing:.02em; color:var(--ns-ink-soft)}
.nestimate-app .adzone .az-d{font-size:11px; color:var(--ns-ink-mute); margin-top:4px}
.nestimate-app .adzone.az-live{text-align:left; background:transparent; border-color:var(--ns-line)}

/* spinner */
.nestimate-app .ns-spinner{width:32px; height:32px; border:3px solid var(--ns-line); border-top-color:var(--ns-cold); border-radius:50%; margin:18px auto; animation:ns-spin .8s linear infinite}
@keyframes ns-spin{to{transform:rotate(360deg)}}
.nestimate-app .ns-fade{animation:ns-fade .42s ease}
@keyframes ns-fade{from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none}}
.nestimate-app .ns-note{font-size:11.5px; color:var(--ns-ink-mute); text-align:center; margin-top:18px; line-height:1.6}

/* interstitial (sibling of .nestimate-app; neutral styling, no brand vars) */
.ns-inter{position:fixed; inset:0; z-index:99999; background:rgba(23,25,29,.55); display:none; align-items:center; justify-content:center; padding:20px; font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.ns-inter.show{display:flex}
.ns-inter-box{background:#fff; border-radius:14px; max-width:400px; width:100%; overflow:hidden; border:1px solid #E6E6E2}
.ns-inter-bar{display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border-bottom:1px solid #EFEFEC; font-size:12px; color:#8A9099}
.ns-inter-bar button{font-size:12.5px; font-weight:500; background:none; border:1px solid #E6E6E2; border-radius:9px; padding:6px 14px; cursor:pointer; color:#565B62}
.ns-inter-bar button:hover{border-color:#8A9099; color:#17191D}
.ns-inter-body{padding:40px 22px; text-align:center; background:#F4F4F2; color:#565B62; font-size:14px; font-weight:600}

@media (prefers-reduced-motion:reduce){
  .nestimate-app *{animation:none !important; transition:none !important}
}
@media (max-width:640px){
  .nestimate-app{margin:0 auto; padding:20px 16px 22px}
}
@media (max-width:520px){
  .nestimate-app .valrange{font-size:34px}
  .nestimate-app h1.head{font-size:22px}
  .nestimate-app .toggles{grid-template-columns:1fr}
  .nestimate-app .tworow{grid-template-columns:1fr; gap:16px}
  .nestimate-app .ns-frow{grid-template-columns:1fr; gap:14px}
  .nestimate-app .acover{flex-basis:92px}
}

/* ============================================================
   Back control (one step back on every screen after the first)
   ============================================================ */
.nestimate-app .ns-topbar{display:flex; align-items:center; min-height:20px; margin:2px 0 12px}
.nestimate-app .ns-back{display:none; align-items:center; gap:5px; padding:6px 8px; font-size:13.5px; font-weight:500; border-radius:8px; line-height:1}

/* ============================================================
   Theme-proofing.
   The active theme forces `button{background:var(--ns-cold)!important;
   color:#fff!important;border:none!important;width:100%}` on EVERY button.
   That flattens the widget's light buttons (condition chips, reno toggles,
   ghost text-links, the outline cash button, the stepper and the Back link).
   These rules use a doubled root class (higher specificity) + !important so
   they win over the theme's global button rule regardless of load order.
   ============================================================ */

/* Condition chips: pale blue when idle, solid blue when chosen. */
.nestimate-app.nestimate-app .chip{background:var(--ns-cold-soft) !important; color:var(--ns-cold) !important; border:1px solid var(--ns-cold-soft) !important; font-weight:600 !important; width:auto !important; box-shadow:none !important}
.nestimate-app.nestimate-app .chip:hover{border-color:var(--ns-cold) !important; transform:none !important}
.nestimate-app.nestimate-app .chip[aria-pressed=true]{background:var(--ns-cold) !important; border-color:var(--ns-cold) !important; color:#fff !important}

/* Renovation toggles: white card, dark label, readable red price. */
.nestimate-app.nestimate-app .tog{background:var(--ns-surface) !important; color:var(--ns-ink) !important; border:1px solid var(--ns-line) !important; width:auto !important; box-shadow:none !important}
.nestimate-app.nestimate-app .tog:hover{border-color:var(--ns-ink-mute) !important; transform:none !important}
.nestimate-app.nestimate-app .tog[aria-pressed=true]{background:var(--ns-warm-soft) !important; border-color:var(--ns-warm) !important}
.nestimate-app.nestimate-app .tog .nm{color:var(--ns-ink) !important; font-weight:600 !important}
.nestimate-app.nestimate-app .tog .pl{color:var(--ns-warm-deep) !important; font-weight:700 !important}

/* Ghost links: transparent, underlined text — not a solid bar. */
.nestimate-app.nestimate-app .ghost{background:none !important; color:var(--ns-ink-soft) !important; border:none !important; box-shadow:none !important; width:auto !important; display:block !important; margin:8px auto 0 !important; padding:6px !important; font-weight:500 !important; text-align:center}
.nestimate-app.nestimate-app .ghost:hover{background:none !important; color:var(--ns-ink) !important; transform:none !important}

/* Warm primary CTAs stay warm (red), not theme blue. */
.nestimate-app.nestimate-app .cta.warm{background:var(--ns-warm) !important; color:#fff !important; border:none !important}
.nestimate-app.nestimate-app .cta.warm:hover{background:var(--ns-warm-deep) !important; color:#fff !important}

/* Outline cash button: white fill, red text/border (readable). */
.nestimate-app.nestimate-app .cta.line{background:var(--ns-surface) !important; color:var(--ns-warm-deep) !important; border:1px solid var(--ns-warm) !important}
.nestimate-app.nestimate-app .cta.line:hover{background:var(--ns-warm-soft) !important; color:var(--ns-warm-deep) !important}

/* Stepper +/- : transparent, blue glyphs. */
.nestimate-app.nestimate-app .stepper button{background:none !important; color:var(--ns-cold) !important; border:none !important; width:44px !important; box-shadow:none !important}
.nestimate-app.nestimate-app .stepper button:hover{background:var(--ns-cold-soft) !important; color:var(--ns-cold) !important; transform:none !important}

/* Back link: subtle, not a full-width dark bar. */
.nestimate-app.nestimate-app .ns-back{background:none !important; color:var(--ns-ink-soft) !important; border:none !important; box-shadow:none !important; width:auto !important; font-weight:500 !important}
.nestimate-app.nestimate-app .ns-back:hover{background:var(--ns-cold-soft) !important; color:var(--ns-ink) !important; transform:none !important}

/* More-filters toggle: framed control, not a solid bar. (Autocomplete options
   are <li>, so the theme's button rule never touches them.) */
.nestimate-app.nestimate-app .ns-more-t{background:var(--ns-surface) !important; color:var(--ns-ink-soft) !important; border:1px solid var(--ns-line) !important; width:100% !important; box-shadow:none !important; font-weight:600 !important}
.nestimate-app.nestimate-app .ns-more-t:hover{background:var(--ns-surface) !important; color:var(--ns-ink) !important; border-color:var(--ns-ink-mute) !important; transform:none !important}
.nestimate-app.nestimate-app .ns-more.open .ns-more-t{color:var(--ns-ink) !important; border-color:var(--ns-cold-soft) !important; background:color-mix(in srgb, var(--ns-cold) 5%, #fff) !important}
.nestimate-app.nestimate-app .ns-more-b{background:var(--ns-cold) !important; color:#fff !important; border:none !important; width:auto !important; box-shadow:none !important}

/* Feature pills: white idle, soft-blue when on — never the theme's blue bar. */
.nestimate-app.nestimate-app .fchip{background:var(--ns-surface) !important; color:var(--ns-ink-soft) !important; border:1px solid var(--ns-line) !important; width:auto !important; box-shadow:none !important; font-weight:600 !important}
.nestimate-app.nestimate-app .fchip:hover{background:var(--ns-surface) !important; border-color:var(--ns-ink-mute) !important; color:var(--ns-ink-soft) !important; transform:none !important}
.nestimate-app.nestimate-app .fchip[aria-pressed=true]{background:var(--ns-cold-soft) !important; border-color:var(--ns-cold) !important; color:var(--ns-cold-deep) !important}
