/* FlooringForMe — base styles (intentionally simple; refine later). */
:root{
  /* Theme: teal-green + warm gold on a light canvas (see docs/branding/flooringforme-theme.md). */
  --ink:#1c2522; --muted:#5f6b66; --line:#e4e9e6; --bg:#ffffff; --soft:#f5f8f7; --soft-2:#eaf2ef;
  --brand:#14776b; --brand-dark:#0f5a51; --brand-tint:#e6f2ef;
  --accent:#c69a3a; --accent-dark:#9a7327; --accent-tint:#f7f0dd;
  --star:#e7a614; --ok:#1f7a4d; --err:#c0392b;
  --carpet:#8d6e63; --hardwood:#a9743b; --laminate:#c2a06b; --vinyl:#5b8a9b; --tile:#7a8b94; --coating:#5c6670;
  --radius:10px; --radius-sm:8px; --wrap:1120px;
}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,.logo{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
h1{font-size:2rem;line-height:1.2;margin:.2em 0 .4em}
h2{font-size:1.5rem;margin:0 0 .6em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.section{padding:48px 20px}
.narrow{max-width:720px}
.center{text-align:center}
.muted{color:var(--muted)}
.small{font-size:.85rem}

/* Header */
.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:10}
.header-inner{display:flex;align-items:center;gap:24px;padding:14px 20px}
.logo{font-weight:800;font-size:1.3rem;color:var(--ink)}
.logo span{color:var(--brand)}
.nav{display:flex;gap:22px;flex:1;flex-wrap:wrap}
.nav a{color:var(--ink);font-weight:500}
.nav-toggle,.nav-burger{display:none}
.nav-group{position:relative}
.nav-top{cursor:pointer;font-weight:500;color:var(--ink);display:inline-flex;align-items:center;gap:6px;padding:6px 0}
.nav-top::after{content:"";border:4px solid transparent;border-top-color:var(--muted);translate:0 2px}
.nav-drop{display:none;position:absolute;top:100%;left:-12px;z-index:30;min-width:200px;
  background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 30px rgba(15,30,25,.12);
  padding:8px;flex-direction:column}
.nav-drop::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}  /* hover bridge */
.nav-drop a{padding:8px 12px;border-radius:7px;white-space:nowrap}
.nav-drop a:hover{background:var(--brand-tint);text-decoration:none}
.nav-group:hover .nav-drop,.nav-group:focus-within .nav-drop{display:flex}
.header-cta{display:flex;align-items:center;gap:14px}
.phone{font-weight:600;color:var(--ink);white-space:nowrap}

/* Buttons */
.btn{display:inline-block;padding:10px 16px;border-radius:var(--radius);border:1px solid var(--line);
  background:#fff;color:var(--ink);font-weight:600;cursor:pointer}
.btn:hover{text-decoration:none;border-color:#cfcfcf}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.btn-lg{padding:14px 24px;font-size:1.05rem}

/* Hero */
.hero{background:linear-gradient(160deg,var(--soft),#fff);padding:72px 20px;border-bottom:1px solid var(--line)}
.hero .lead{font-size:1.15rem;max-width:680px;color:#374151}
.lead{font-size:1.1rem;color:#374151}

/* Grids */
.grid{display:grid;gap:18px}
.grid-6{grid-template-columns:repeat(6,1fr)}
.grid-5{grid-template-columns:repeat(5,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){
  .grid-6,.grid-5,.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}
  /* Nav collapses into a checkbox-toggled panel (no JS). */
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
    background:#fff;border-bottom:1px solid var(--line);padding:8px 20px 18px;box-shadow:0 16px 28px rgba(15,30,25,.10)}
  .nav-toggle:checked ~ .nav{display:flex}
  .nav-group{position:static}
  .nav-top{display:block;padding:12px 0 2px;font-size:.78rem;font-weight:700;text-transform:uppercase;
    letter-spacing:.05em;color:var(--brand-dark);cursor:default}
  .nav-top::after{display:none}
  .nav-drop{display:flex;position:static;min-width:0;border:0;border-radius:0;box-shadow:none;padding:0}
  .nav-drop::before{display:none}
  .nav-drop a{padding:9px 0;border-radius:0}
  .nav-burger{display:flex;align-items:center;justify-content:center;width:42px;height:42px;cursor:pointer;
    border:1px solid var(--line);border-radius:9px;margin-left:auto}
  .nav-burger span,.nav-burger span::before,.nav-burger span::after{content:"";display:block;width:18px;height:2px;
    background:var(--ink);position:relative;transition:transform .15s}
  .nav-burger span::before{position:absolute;top:-6px}
  .nav-burger span::after{position:absolute;top:6px}
  .nav-toggle:checked ~ .nav-burger span{background:transparent}
  .nav-toggle:checked ~ .nav-burger span::before{transform:translateY(6px) rotate(45deg)}
  .nav-toggle:checked ~ .nav-burger span::after{transform:translateY(-6px) rotate(-45deg)}
  .header-cta{margin-left:auto}
  .nav-burger{margin-left:0}
}
@media(max-width:540px){.grid-6,.grid-5,.grid-4{grid-template-columns:1fr}.phone{display:none}}

/* Category cards */
.cat-card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius);
  background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:700}
.cat-card:hover{text-decoration:none;border-color:var(--brand);box-shadow:0 4px 14px rgba(0,0,0,.05)}
.cat-swatch{display:block;height:64px;border-radius:8px;background:var(--tile)}
.cat-card-name{padding-left:2px}

/* Product cards + placeholders */
.product-card{display:block;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:var(--ink)}
.product-card:hover{text-decoration:none;border-color:var(--brand);box-shadow:0 4px 14px rgba(0,0,0,.06)}
.product-card-body{display:block;padding:12px 14px}
.product-brand{display:block;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.product-name{display:block;font-weight:600}
.product-meta{display:block;font-size:.85rem;color:var(--muted)}
.ph{display:flex;align-items:center;justify-content:center;height:150px;color:#fff;font-weight:700;letter-spacing:.02em;background:var(--tile)}
.ph-lg{height:340px;border-radius:var(--radius)}
.ph-carpet{background:var(--carpet)}.ph-hardwood{background:var(--hardwood)}
.ph-laminate{background:var(--laminate)}.ph-vinyl{background:var(--vinyl)}.ph-tile{background:var(--tile)}
.ph-coating{background:var(--coating)}

/* How it works */
.how{background:var(--soft);padding:48px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.step-n{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;
  background:var(--brand);color:#fff;font-weight:700;margin-bottom:8px}

/* Breadcrumbs */
.crumbs{font-size:.9rem;color:var(--muted);margin-bottom:14px}

/* Product detail */
.product{display:grid;grid-template-columns:1fr 1fr;gap:36px}
@media(max-width:820px){.product{grid-template-columns:1fr}}
.spec-table{width:100%;border-collapse:collapse;margin:18px 0}
.spec-table th,.spec-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.spec-table th{width:45%;color:var(--muted);font-weight:600}
.cta-box{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-top:18px}

/* Forms */
.form{margin-top:20px}
.field{display:block;margin-bottom:14px}
.field>span{display:block;font-weight:600;margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:inherit}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:540px){.field-row{grid-template-columns:1fr}}
.hint{font-size:.85rem;color:var(--muted);margin:6px 0 16px}
/* Field help: a small "?" after a label that explains the field on hover or keyboard focus */
.tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:50%;background:var(--muted);color:#fff;font-size:11px;font-weight:600;line-height:1;cursor:help;user-select:none;vertical-align:text-bottom}
.tip::before{content:'';position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink);opacity:0;visibility:hidden;transition:opacity .12s}
.tip::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 13px);left:-12px;width:min(290px,80vw);padding:10px 12px;border-radius:var(--radius-sm);background:var(--ink);color:#fff;font-size:.8rem;font-weight:400;line-height:1.5;text-align:left;white-space:normal;opacity:0;visibility:hidden;transition:opacity .12s;z-index:40;pointer-events:none}
.tip:hover::before,.tip:focus::before,.tip:hover::after,.tip:focus::after{opacity:1;visibility:visible}
.tip:focus{outline:2px solid var(--brand);outline-offset:1px}
.tip-left::after{left:auto;right:-12px}   /* flipped when the bubble would run off the right edge */
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}

/* Notices */
.notice{padding:20px;border-radius:var(--radius);margin:10px 0}
.notice-ok{background:#eaf6f0;border:1px solid #bfe3d2}
.notice-err{background:#fdecec;border:1px solid #f5c2c2}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:32px 20px;margin-top:40px;color:var(--ink)}
.site-footer .muted{font-size:.9rem}

/* Calculator */
.calc{margin-top:8px}
.calc-controls{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.calc-room{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.calc-room .rm-name{flex:1;min-width:120px}
.calc-room input{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.calc-room .rm-w,.calc-room .rm-l{width:96px}
.calc-room .x{color:var(--muted)}
.calc-result{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}
.calc-result h3{margin:0 0 8px}
.calc-compare{display:flex;gap:28px;flex-wrap:wrap;margin:8px 0}
.calc-compare .big{display:block;font-size:1.9rem;font-weight:800;color:var(--brand);line-height:1.1}
.calc-compare .lbl{display:block;color:var(--muted);font-size:.85rem}
.calc-cost{margin:14px 0 4px;padding:14px 16px;border:1px solid var(--brand);border-radius:10px;background:#fff}
.calc-cost .big{display:block;font-size:1.7rem;font-weight:800;color:var(--brand-dark);line-height:1.1}
.calc-cost .lbl{display:block;color:var(--muted);font-size:.85rem}

/* Visualizer */
.viz{max-width:980px}
.viz canvas{width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius);background:#ece9e4;display:block;touch-action:none}
.viz-slider{display:flex;align-items:center;gap:12px;margin:12px 0}
.viz-slider input[type=range]{flex:1}
.viz-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.viz-swatch{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font:inherit;font-size:.9rem}
.viz-swatch:hover{border-color:#cfcfcf}
.viz-swatch.is-active{border-color:var(--brand);box-shadow:0 0 0 2px rgba(31,111,84,.15)}
.viz-swatch .chip{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}

/* Product page: embedded visualizer + calculator */
.product-head{margin-bottom:6px}
.product-head h1{margin:.1em 0}
#viz-root{margin:6px 0 30px}
#calc-root{margin-top:8px}
.product.two-col{margin:6px 0 30px}

/* Calibration tool */
#calib-canvas{max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px;touch-action:none;cursor:crosshair;display:block;margin:10px 0}
#auto-canvas{max-width:100%;height:auto;border:1px solid var(--line);border-radius:8px;display:block;margin:10px 0}
.calib .field-row{max-width:440px}
.calib .field{max-width:440px}
.mode-btn.is-active{background:var(--brand);border-color:var(--brand);color:#fff}

/* ============================================================
   SEO content pages — cost / comparison / guide / category hub
   ============================================================ */

/* Answer-first block (the quotable, AI-extractable lead paragraph) */
.answer{font-size:1.15rem;color:#33403a;border-left:3px solid var(--brand);padding-left:16px}

/* Hub CTA row + cost snapshot strip */
.hub-cta{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 22px}
.cost-snapshot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;justify-content:space-between;
  background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;margin:0 0 28px}

/* Cost range band (low / avg / high) */
.cost-range{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch;margin:18px 0 8px}
.cost-range-cell{flex:1;min-width:120px;text-align:center;border:1px solid var(--line);border-radius:var(--radius);
  padding:16px;background:#fff}
.cost-range-cell.is-avg{background:var(--soft);border-color:var(--brand)}
.cost-range-n{display:block;font-size:1.8rem;font-weight:800;color:var(--brand);line-height:1.1}
.cost-range-l{display:block;font-size:.85rem;color:var(--muted);margin-top:4px}
.cost-range-unit{flex-basis:100%;text-align:center;color:var(--muted);font-size:.9rem;margin:2px 0 0}

/* Data + comparison tables */
.data-table{width:100%;border-collapse:collapse;margin:14px 0 8px}
.data-table th,.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.data-table thead th{color:var(--muted);font-weight:600;border-bottom:2px solid var(--line)}
.data-table tbody th{font-weight:600;width:32%}
.compare-table td{width:34%}
.compare-table thead th+th{color:var(--ink)}

/* Callout box (calculator / tips / next-step) */
.callout{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin:26px 0}
.callout h2{margin-top:0}
.callout ul{margin:0;padding-left:20px}

/* FAQ (native details/summary) */
.faq{margin:10px 0}
.faq-item{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:#fff}
.faq-item summary{cursor:pointer;padding:14px 16px;font-weight:600;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";float:right;color:var(--brand);font-weight:700}
.faq-item[open] summary::after{content:"–"}
.faq-item>div{padding:0 16px 14px}
.faq-item p{margin:0;color:#374151}

.reviewed{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:.85rem}

/* Verdict + summary cards (comparison) */
.verdict{background:linear-gradient(160deg,var(--soft),#fff);border:1px solid var(--line);border-left:3px solid var(--brand);
  border-radius:var(--radius);padding:14px 18px;margin:6px 0 22px}
.verdict p{margin:0}
.vs-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.vs-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:#fff}
.vs-card h2{margin:0 0 6px;font-size:1.2rem}
.vs-card p{margin:0;color:#374151}

/* Choose-A / Choose-B */
.choose{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.choose-col{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:var(--soft)}
.choose-col h3{margin:0 0 8px}
.choose-col ul{margin:0;padding-left:20px}
.choose-col li{margin-bottom:6px}

/* Pill link rows (hub cross-links) */
.link-row{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 6px}
.pill{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;
  color:var(--ink);font-weight:600;font-size:.92rem}
.pill:hover{text-decoration:none;border-color:var(--brand);color:var(--brand)}

/* How-to step list */
.steps-list{list-style:none;counter-reset:step;padding:0;margin:16px 0}
.steps-list>li{position:relative;counter-increment:step;border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px 16px 60px;margin-bottom:12px;background:#fff}
.steps-list>li::before{content:counter(step);position:absolute;left:16px;top:16px;width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--brand);color:#fff;font-weight:700}
.steps-list>li h2{font-size:1.15rem;margin:2px 0 4px}
.steps-list>li p{margin:0;color:#374151}
.prose{margin:0 0 14px;color:#374151}

/* Index cards: cost / comparison / guide */
.cost-card,.guide-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;background:#fff;color:var(--ink)}
.cost-card:hover,.guide-card:hover,.compare-card:hover{text-decoration:none;border-color:var(--brand);box-shadow:0 4px 14px rgba(0,0,0,.06)}
.cost-card-title{font-weight:700}
.cost-card-range{font-size:1.5rem;font-weight:800;color:var(--brand)}
.cost-card-range small{display:block;font-size:.8rem;font-weight:500;color:var(--muted)}
.guide-kind{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-dark);font-weight:700}
.guide-title{font-weight:600;font-size:1.05rem}
.compare-card{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;border:1px solid var(--line);
  border-radius:var(--radius);padding:22px 16px;background:#fff;color:var(--ink);font-weight:700}
.compare-card .vs-x{color:var(--muted);font-weight:600;font-size:.85rem}

/* Footer columns */
.footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.footer-col{display:flex;flex-direction:column;gap:8px}
.footer-col a{color:var(--ink);font-size:.92rem}
.footer-h{font-weight:700;margin-bottom:2px}
.footer-about .muted{font-size:.9rem}

@media(max-width:820px){
  .vs-cards,.choose,.footer-cols{grid-template-columns:1fr 1fr}
  .footer-about{grid-column:1 / -1}
}
@media(max-width:540px){
  .vs-cards,.choose,.footer-cols{grid-template-columns:1fr}
  .cost-range-cell{min-width:90px}
}

/* ============================================================
   Home page — marketing sections (relit production "bones")
   ============================================================ */

/* Inline trust bullets (measure/estimate page, under the lead) */
.trust-row{list-style:none;display:flex;flex-wrap:wrap;gap:6px 22px;padding:0;margin:0 0 22px;
  font-size:.9rem;font-weight:600;color:var(--brand-dark)}
.trust-row li::before{content:"\2713";margin-right:7px;color:var(--brand);font-weight:700}

/* Trust ribbon (light, above the fold) */
.trust-ribbon{background:var(--brand-tint);border-bottom:1px solid var(--line)}
.trust-ribbon-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;padding:9px 20px;
  font-size:.85rem;font-weight:600;color:var(--brand-dark)}
.trust-ribbon .tr-star{color:var(--accent-dark)}

/* Hero (visualizer-led) */
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.hero-copy h1{font-size:2.6rem;line-height:1.12;margin:.1em 0 .3em}
.hero-copy .hl{color:var(--brand)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 8px}
.hero-note{font-size:.9rem;color:var(--muted);margin:6px 0 0}
.hero-visual-room{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:linear-gradient(#eef3f1,#ffffff);box-shadow:0 18px 40px rgba(20,119,107,.12)}
.hv-floor{position:absolute;left:0;right:0;bottom:0;height:48%;
  background:linear-gradient(#b9905f,#9a743f);clip-path:polygon(0 36%,100% 0,100% 100%,0 100%)}
.hv-tag{position:absolute;top:12px;left:12px;z-index:2;background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600;color:var(--brand-dark)}

/* Buttons used on home */
.btn-ghost{background:#fff;border-color:var(--brand);color:var(--brand)}
.btn-ghost:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#1c2522}
.btn-accent:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}

/* Gold accent underline under section headings (the borrowed "rule" device, warm) */
.h-accent{display:inline-block}
.h-accent::after{content:"";display:block;width:46px;height:3px;border-radius:2px;background:var(--accent);margin-top:8px}

/* Why-choose-us */
.why-card{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:#fff}
.why-card h3{margin:.2em 0 .3em}
.why-card p{margin:0;color:#3a443f}
.why-ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;
  background:var(--brand-tint);color:var(--brand);font-size:1.2rem;margin-bottom:6px}

/* Service-area band (teal) */
.service-area{background:var(--brand);color:#fff;padding:44px 20px;margin-top:8px}
.service-area-inner{display:flex;align-items:center;gap:24px;justify-content:space-between;flex-wrap:wrap}
.service-area-copy{max-width:680px}
.service-area h2{margin:0 0 .3em}
.service-area p{margin:0;color:#d7ebe7}

/* Final CTA band */
.cta-band{background:var(--soft);border-top:1px solid var(--line);padding:56px 20px;margin-top:40px}
.cta-band h2{margin:0 0 .2em}

@media(max-width:820px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy h1{font-size:2.1rem}
}

/* ============================================================
   Admin console (gated business data — leads/stores/markets)
   ============================================================ */
.admin-nav{background:var(--ink)}
.admin-nav-inner{display:flex;flex-wrap:wrap;gap:2px;align-items:center;padding:0 20px}
.admin-nav a{color:#cdd6d2;padding:12px 14px;font-weight:600;font-size:.92rem}
.admin-nav a:hover{color:#fff;text-decoration:none}
.admin-nav a.is-active{color:#fff;box-shadow:inset 0 -3px 0 var(--brand)}
.admin-nav .admin-signout{margin-left:auto;color:#9fb0ab}

.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:8px 0 28px}
.admin-stat{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:#fff;color:var(--ink)}
a.admin-stat:hover{border-color:var(--brand);text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.admin-stat .as-n{font-size:1.9rem;font-weight:800;color:var(--brand);line-height:1}
.admin-stat .as-l{font-weight:600}
.admin-stat .as-sub{font-size:.8rem;color:var(--muted)}

.funnel{margin:6px 0 26px}
.funnel-row{display:flex;align-items:center;gap:12px;margin-bottom:9px}
.funnel-label{flex:0 0 150px;text-align:right;font-weight:600;font-size:.9rem}
.funnel-track{flex:1;background:var(--soft);border-radius:6px;height:30px;overflow:hidden}
.funnel-bar{height:100%;background:var(--brand);border-radius:6px;min-width:2px}
.funnel-val{flex:0 0 72px;font-weight:800;color:var(--brand-dark)}
.funnel-val small{color:var(--muted);font-weight:600}
.chart-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:8px}
.barlist{margin:4px 0 8px}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:7px;font-size:.88rem}
.bar-label{flex:0 0 120px;color:var(--muted);text-transform:capitalize}
.bar-track{flex:1;background:var(--soft);border-radius:5px;height:18px;overflow:hidden}
.bar-fill{height:100%;background:var(--brand-tint);border-right:3px solid var(--brand);min-width:3px}
.bar-val{flex:0 0 32px;text-align:right;font-weight:700}
@media(max-width:700px){.chart-cols{grid-template-columns:1fr}.funnel-label{flex-basis:96px}.bar-label{flex-basis:90px}}

.admin-table th,.admin-table td{font-size:.92rem}
.admin-table tbody tr:hover{background:var(--soft)}

.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.5;white-space:nowrap}
.badge-ok{background:#e3f3ea;color:#1f7a4d}
.badge-info{background:var(--brand-tint);color:var(--brand-dark)}
.badge-warn{background:#fbeede;color:#a4561f}
.badge-muted{background:#eef0ee;color:var(--muted)}

.kv{width:100%;border-collapse:collapse;margin:6px 0 18px}
.kv th{text-align:left;width:38%;color:var(--muted);font-weight:600;padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.kv td{padding:7px 10px;border-bottom:1px solid var(--line)}
.admin-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.admin-json{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:12px;overflow:auto;font-size:.82rem}
.timeline{list-style:none;padding:0;margin:6px 0}
.timeline li{padding:8px 0;border-bottom:1px solid var(--line)}
.tl-type{font-weight:700;text-transform:capitalize}
.admin-filters{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 18px}
.admin-filters input,.admin-filters select{padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit}
.service-market{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;background:#fff}
.service-market h3{margin:0 0 6px;display:flex;align-items:center;gap:10px;font-size:1.05rem;flex-wrap:wrap}
.zip-list{margin:0;font-size:.9rem;color:#3a443f;word-spacing:2px}
.lead-status-row{display:flex;align-items:center;gap:8px;margin:0 0 18px;flex-wrap:wrap}
.admin-update{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:6px 0 8px}
.admin-update label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;color:var(--muted)}
.admin-update select,.admin-update input{padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--ink)}
.zip-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.zip-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 6px 4px 12px;font-size:.9rem}
.zip-chip button{border:0;background:#eef0ee;color:var(--muted);width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;padding:0}
.zip-chip button:hover{background:#fbeede;color:#a4561f}
.admin-update textarea,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit}
.admin-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.checkrow{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px}
.checkrow label{display:inline-flex;align-items:center;gap:6px;font-weight:500;font-size:.95rem}
.spec-fields{border:1px solid var(--line);border-radius:var(--radius);padding:6px 16px 14px;margin:6px 0 16px}
.spec-fields legend{font-weight:700;padding:0 6px;color:var(--brand-dark)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.spec-bool{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.85rem;color:var(--muted);margin-bottom:14px}
.repeat{margin:6px 0 18px}
.repeat-row{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start}
.repeat-row input,.repeat-row textarea{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.repeat-del{flex:0 0 auto;border:0;background:#eef0ee;color:var(--muted);width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:1.1rem}
.repeat-del:hover{background:#fbeede;color:#a4561f}
.texture-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:#fff;color:var(--ink)}
.texture-card:hover{border-color:var(--brand);text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.texture-swatch{display:block;height:120px;border-radius:8px;background-size:cover;background-position:center;background-color:var(--soft);border:1px solid var(--line)}
.texture-swatch.lg{height:160px;max-width:240px}
.texture-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.texture-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:8px 0 16px}
.texture-opt{border:1px solid var(--line);border-radius:var(--radius);padding:10px;background:#fff;display:flex;flex-direction:column;gap:6px}
.texture-opt.is-on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.texture-swatch.sm{height:70px}
.texture-opt-row{display:flex;gap:14px;flex-wrap:wrap}
.texture-opt-check{display:inline-flex;align-items:center;gap:5px;font-size:.85rem;font-weight:600}
@media(max-width:820px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-cols{grid-template-columns:1fr}}
@media(max-width:540px){.field-grid{grid-template-columns:1fr}}

/* ---- Inventory staging (/admin/inventory) ---- */
.inv-chips{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px}
.inv-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 8px;background:#fff;color:var(--ink);text-decoration:none}
.inv-chip:hover{border-color:var(--brand);text-decoration:none}
.inv-import{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px 14px;margin:0 0 14px}
.inv-import summary{cursor:pointer;font-weight:600;color:var(--ink)}
.inv-import-form{display:flex;flex-direction:column;gap:10px;padding:12px 0 4px;max-width:560px}
.inv-import-form label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;font-weight:600}
.inv-import-form input[type=text]{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.inv-check{flex-direction:row !important;align-items:center;gap:8px !important;font-weight:500 !important}
.inv-color{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:16px 18px;margin:0 0 16px}
.inv-color-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.inv-color-head h2{margin:0;font-size:1.15rem}
.inv-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.inv-color-grid h3{margin:10px 0 6px;font-size:.95rem}
.inv-lots{font-size:.85rem;max-width:420px}
.inv-approve{display:flex;flex-direction:column;gap:10px;max-width:420px}
.inv-approve label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;font-weight:600}
.inv-approve input,.inv-approve select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.inv-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
@media(max-width:820px){.inv-color-grid{grid-template-columns:1fr}}