@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--ink-strong:#0b1f1a;--ink-soft:#4a5a55;--surface:#f7f5f2;--surface-strong:#fff;--surface-muted:#e7e1d7;--panel:#fff;--line:#0b1f1a24;--brand-primary:#1d4f41;--brand-dark:#0b1f1a;--brand-accent:#f4b400;--shadow:0 10px 24px #0b1f1a0f;--ink:var(--ink-strong);--ink-mid:var(--ink-soft);--ink-muted:var(--ink-soft);--accent:var(--brand-primary);--color-text:var(--ink-strong);--color-muted:var(--ink-soft);--border-subtle:var(--line);--surface-hover:var(--surface-muted);--surface-raised:#f1ece3;--success:#285f49;--danger:#9a2e2e;--warning:#7a5800;--warning-surface:#fef3c7;--info:#0369a1;--error:var(--danger);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-pill:999px;--tap-min:44px;--action-primary:var(--brand-accent);--action-primary-ink:var(--brand-dark);--action-primary-border:var(--brand-dark);color:var(--ink-strong);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--surface);margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.page-shell{width:min(1360px,100% - 32px);margin:0 auto;padding:32px 0 48px}.landing-shell,.admin-home-shell,.admin-shell,.estimator-shell,.auth-shell{gap:24px;display:grid}.landing-nav{justify-content:space-between;align-items:center;gap:16px;display:flex}.nav-brand{color:var(--ink-strong);align-items:center;gap:12px;text-decoration:none;display:flex}.nav-logo{flex-shrink:0;display:flex}.nav-wordmark{letter-spacing:-.01em;font-size:1rem;font-weight:700;display:block}.nav-tagline{color:var(--ink-soft);font-size:.82rem;font-weight:400;display:block}.landing-nav-actions,.value-grid,.portal-grid,.portal-plan-grid,.hero-checklist,.proof-strip{gap:16px;display:grid}.landing-nav-actions{grid-auto-flow:column;align-items:center}.landing-hero{align-items:start}.landing-copy{position:relative}.hero-checklist p{color:var(--ink-strong);margin:0;padding-left:18px;font-weight:500;position:relative}.hero-checklist p:before{content:"";border-radius:var(--radius-pill);background:var(--brand-accent);width:8px;height:8px;position:absolute;top:.52rem;left:0}.price-strip{border:2px solid var(--brand-dark);background:var(--brand-accent);width:fit-content;color:var(--brand-dark);align-items:center;gap:12px;padding:12px 16px;font-weight:800;display:inline-flex}.price-strip span{font-weight:600}.proof-strip,.value-grid,.portal-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.proof-card,.portal-card,.portal-plan-card,.value-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);padding:18px}.proof-card p,.portal-card p,.portal-plan-card p,.value-panel p{color:var(--ink-soft);margin-bottom:0}.demo-card{background:var(--surface-strong);color:var(--ink-strong);align-content:start;gap:16px;display:grid}.hero-screenshot-wrap{border-radius:var(--radius-lg);border:1px solid var(--line);aspect-ratio:12/7;position:relative;overflow:hidden}.hero-screenshot{object-fit:cover;width:100%;height:100%;display:block}.hero-screenshot-overlay{background:linear-gradient(#0000 45%,#00000073 100%);align-items:flex-end;padding:14px;display:flex;position:absolute;inset:0}.hero-screenshot-chip{border-radius:var(--radius-md);background:#fffffff2;align-items:center;gap:8px;padding:8px 14px;display:inline-flex;box-shadow:0 2px 12px #00000040}.hero-screenshot-chip strong{color:var(--brand-primary);font-size:1.05rem;font-weight:700}.hero-screenshot-chip span{color:var(--ink-mid);font-size:.8rem}.map-demo-card p,.hero-card-note{margin-bottom:0}.hero-actions .primary,.cta-button{justify-content:center;min-width:240px}.cta-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.cta-button{display:inline-flex}.feature-strip{gap:28px;display:grid}.feature-strip-header{text-align:center;max-width:640px;margin:0 auto}.feature-strip-header h2{margin:6px 0 8px}.feature-strip-header p{color:var(--ink-soft);margin:0}.feature-strip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.feature-tile{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);padding:20px}.feature-tile h3{color:var(--brand-primary);margin:0 0 6px;font-size:1.05rem}.feature-tile p{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.5}@media (width<=880px){.feature-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.feature-strip-grid{grid-template-columns:1fr}}.portal-header,.portal-card{gap:16px;display:grid}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.portal-header-row{margin-bottom:18px}.hero-panel,.brand-banner,.admin-hero{grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);align-items:stretch;gap:32px;display:grid}.hero-copy,.hero-card,.contact-panel,.panel,.contractor-card,.empty-state{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-md);box-shadow:var(--shadow)}.hero-copy,.hero-card,.contact-panel,.contractor-card,.empty-state,.panel{padding:24px}.eyebrow,.card-kicker,.summary-label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:14px;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.98}h2{letter-spacing:-.03em;margin-bottom:8px;font-size:1.55rem;line-height:1.05}.hero-text,.brand-banner p,.panel-header p,.contractor-card p,.empty-state p{color:var(--ink-soft)}.hero-card{background:var(--surface-strong);color:var(--ink-strong)}.hero-card ol{margin:16px 0 0;padding-left:20px}.contractor-grid,.admin-grid,.estimator-grid{gap:20px;display:grid}.contractor-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.contractor-card{gap:20px;display:grid}.card-links,.admin-hero-links,.action-row,.segmented-control,.map-search-bar{flex-wrap:wrap;gap:12px;display:flex}.card-links a,.admin-hero-links a,.admin-hero-links button,.action-row a,.action-row button,.auth-form button,.admin-footer button,.panel-header button,.logo-upload-actions button,.share-actions button,.map-search-bar button,.segmented-control button,.button-link{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);color:var(--ink-strong);white-space:nowrap;padding:12px 16px;font-weight:600;text-decoration:none;transition:background-color .16s,border-color .16s,box-shadow .16s}.card-links a:hover,.admin-hero-links a:hover,.admin-hero-links button:not(:disabled):hover,.action-row a:hover,.action-row button:not(:disabled):hover,.auth-form button:not(:disabled):hover,.admin-footer button:not(:disabled):hover,.panel-header button:not(:disabled):hover,.logo-upload-actions button:not(:disabled):hover,.share-actions button:not(:disabled):hover,.map-search-bar button:not(:disabled):hover,.segmented-control button:not(:disabled):hover,.button-link:hover{background:var(--surface-muted);border-color:#0b1f1a47}.action-row.stretch>*{flex:1;justify-content:center;display:inline-flex}button.primary,a.primary,.segmented-control .active,.action-row .primary,.button-link.primary{background:var(--action-primary);color:var(--action-primary-ink);border-color:var(--action-primary-border)}button.primary:not(:disabled):hover,a.primary:hover,.action-row .primary:not(:disabled):hover,.button-link.primary:hover{background:color-mix(in srgb, var(--action-primary) 88%, #000);border-color:var(--action-primary-border)}.admin-shell,.admin-home-shell,.auth-shell,.auth-shell-v2,.quote-builder-overlay{--action-primary:var(--brand-primary);--action-primary-ink:#fff;--action-primary-border:var(--brand-primary)}.success-card{max-width:760px}.success-checklist{gap:1rem;margin:1rem 0;display:grid}.success-checklist div{border-radius:var(--radius-xl);background:#ffffffb8;border:1px solid #1d4f4124;padding:1rem 1.1rem}.success-checklist p{color:#4f5e57;margin:.45rem 0 0}.brand-banner{position:relative;overflow:hidden}.brand-banner-horizontal{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-md);box-shadow:var(--shadow);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px 28px;display:grid}.brand-banner-h-logo{border-right:1px solid var(--line);align-items:center;padding-right:24px;display:flex}.brand-logo-h{object-fit:contain;max-width:160px;height:64px;display:block}.brand-banner-h-name h1{margin-bottom:4px;font-size:clamp(1.5rem,3vw,2.4rem)}.brand-banner-h-name p{color:var(--ink-soft);margin-bottom:0}.brand-banner-h-contact{text-align:right;border-left:1px solid var(--line);gap:8px;padding-left:24px;font-size:.95rem;font-weight:500;display:grid}.brand-banner-h-contact a{color:var(--brand-primary);justify-self:end;font-weight:600;text-decoration:none}@media (width<=720px){.brand-banner-horizontal{grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:0;padding:14px 16px}.brand-banner-h-logo{border-right:none;align-self:center;padding-right:12px}.brand-logo-h{max-width:100px;height:44px}.brand-banner-h-name{align-self:center}.brand-banner-h-name h1{margin-bottom:2px;font-size:1.25rem}.brand-banner-h-name p{display:none}.brand-banner-h-contact{text-align:left;border-left:none;border-top:1px solid var(--line);flex-flow:wrap;grid-column:1/-1;gap:10px 20px;margin-top:12px;padding-top:12px;padding-left:0;font-size:.88rem;display:flex}.brand-banner-h-contact a{justify-self:auto}}.estimator-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.estimator-steps button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);text-align:left;cursor:pointer;align-items:center;gap:10px;width:100%;padding:12px 14px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.estimator-steps button:not(.is-active):hover{background:var(--surface-muted);border-color:#0b1f1a47}.estimator-steps .step-num{border-radius:var(--radius-pill);background:var(--brand-primary);color:#fff7e9;flex-shrink:0;place-items:center;width:28px;height:28px;font-weight:700;display:inline-grid}.estimator-steps .is-active{border-color:var(--brand-dark);background:color-mix(in srgb, var(--brand-accent) 14%, var(--surface-strong));box-shadow:inset 0 0 0 1px #0b1f1a0f}.estimator-steps .is-active .step-num{background:var(--brand-dark)}.step-badge{color:var(--ink-soft);white-space:nowrap;margin-left:auto;font-size:.78rem;font-weight:600}.estimate-summary{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--brand-accent) 8%, var(--surface-strong));flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.estimate-summary-item{flex-direction:column;gap:2px;display:flex}.estimate-summary-item strong{font-size:1.05rem}.site-details-fieldset{border:1px solid var(--line);border-radius:var(--radius-md);gap:12px;margin:0;padding:14px;display:grid}.site-details-fieldset legend{padding:0 6px;font-weight:600}.site-details-fieldset .optional-tag{color:var(--ink-soft);font-size:.82rem;font-weight:400}.site-notes-input{resize:vertical;min-height:52px}.sidebar-stack,.panel-stack,.admin-product-list{gap:16px;display:grid}.sidebar-stack{position:sticky;top:20px}.panel-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.panel-header.compact{margin-bottom:12px}.panel-map{min-height:auto}.map-frame{border-radius:var(--radius-xl);border:1px solid var(--line);min-height:clamp(500px,68vh,860px);overflow:hidden}.leaflet-map{height:clamp(500px,68vh,860px)}.estimator-shell.embed .map-frame{min-height:380px}.estimator-shell.embed .leaflet-map{height:380px}.estimator-shell.embed .page-shell{padding-top:16px;padding-bottom:24px}@media (width<=720px){.estimator-shell.embed .map-frame{min-height:300px}.estimator-shell.embed .leaflet-map{height:300px}}.map-toolbar,.summary-box{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:16px;display:grid}.summary-box{border-radius:var(--radius-md);background:var(--surface-strong);border:1px solid var(--line);padding:14px}.button-link.subtle{color:var(--brand-primary);background:0 0;border:none;width:fit-content;padding:6px 0;font-weight:600;text-decoration:underline}.button-link.subtle:hover{color:var(--ink-strong);background:0 0;border:none}.measure-fallback{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.measure-fallback-panel{gap:10px;display:grid}.measure-fallback-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.measure-fallback-row .field-stack{min-width:180px}.measure-fallback-row .primary{border-radius:var(--radius-pill);min-height:var(--tap-min);padding:12px 16px;font-weight:600}.site-details-toggle{text-align:left;border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--surface-raised);width:100%;color:var(--ink-strong);cursor:pointer;padding:12px 14px;font-weight:600}.site-details-toggle:hover{background:var(--surface-muted)}.site-details-toggle .optional-tag{color:var(--ink-soft);margin-left:6px;font-size:.82rem;font-weight:400}.message-collapsed{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);gap:4px;padding:12px 14px;display:grid}.trust-line{text-align:center;font-size:.85rem}.lead-empty-activation{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);text-align:center;justify-items:center;gap:12px;padding:24px;display:grid}.lead-empty-activation h3{margin:0}.lead-empty-activation .helper-text{max-width:52ch}.lead-empty-link{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.lead-empty-link code{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);word-break:break-all;padding:8px 12px;font-size:.9rem}.lead-empty-link .primary{border-radius:var(--radius-pill);min-height:var(--tap-min);padding:10px 16px;font-weight:600}.search-result-list{gap:8px;margin-bottom:12px;display:grid}.search-result-item{text-align:left;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);padding:10px 12px}.contact-form-grid,.lead-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.product-list,.admin-product-list,.product-grid{gap:14px;display:grid}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card,.admin-product-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);padding:16px}.product-components{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.components-toggle{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem}.components-toggle:hover{color:var(--ink)}.components-editor{flex-direction:column;gap:8px;margin-top:10px;display:flex}.component-row{align-items:center;gap:8px;display:flex}.component-qty{width:72px}.component-formula,.component-unit{width:110px}.assembly-settings{border-bottom:1px solid var(--line);gap:12px;margin-bottom:10px;padding-bottom:10px;display:flex}.product-heading-row,.product-meta,.admin-inline-grid{justify-content:space-between;align-items:start;gap:12px;display:flex}.product-meta{color:var(--ink-soft);margin-top:10px;font-size:.95rem}.pill{border-radius:var(--radius-pill);color:var(--brand-dark);background:#f4b4002e;padding:5px 10px;font-size:.8rem}.quantity-field,.field-stack{gap:8px;display:grid}.quantity-field{grid-template-columns:1fr;max-width:130px;margin-top:14px}input,textarea,select{border-radius:var(--radius-md);background:var(--surface-strong);width:100%;color:var(--ink-strong);border:1px solid #0b1f1a2e;padding:12px 14px;transition:border-color .16s,box-shadow .16s}input:focus,textarea:focus,select:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #1d4f411f}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.color-field{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.logo-upload-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:16px;padding:12px;display:flex}.logo-preview{object-fit:contain;border-radius:var(--radius-xs);max-width:160px;height:64px}.logo-placeholder{height:64px;color:var(--ink-soft);align-items:center;font-size:.85rem;display:flex}.logo-upload-actions{flex-wrap:wrap;gap:8px;display:flex}.color-wheel{border-radius:var(--radius-lg);cursor:pointer;width:52px;min-width:52px;height:52px;padding:4px}.color-swatch{border-radius:var(--radius-pill);border:1px solid #1d2a262e;width:28px;height:28px;box-shadow:inset 0 0 0 2px #ffffff73}.turnstile-frame{min-height:66px}.success-panel{border-radius:var(--radius-md);background:#e2f5ebdb;border:1px solid #285f4933;gap:8px;padding:14px;display:grid}.success-panel p{color:var(--success);margin-bottom:0}.success-panel button{border-radius:var(--radius-pill);background:#ffffffb8;border:1px solid #285f4933;width:fit-content;padding:8px 12px}.helper-text{color:var(--ink-soft);margin-bottom:0}.admin-grid{grid-template-columns:minmax(320px,.95fr) minmax(0,1.3fr);align-items:start}.full-span-panel{width:100%}.lead-list{gap:14px;display:grid}.lead-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.lead-stat-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);padding:14px}.lead-stat-card strong{margin-top:4px;font-size:1.35rem;display:block}.lead-controls{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px;display:flex}.lead-archive-toggle{min-height:48px}.lead-table-wrap{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);overflow-x:auto}.lead-table{border-collapse:collapse;width:100%;min-width:920px}.lead-table th,.lead-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px}.lead-table th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;background:#fffaf3cc;font-size:.78rem}.lead-table tr:last-child td{border-bottom:0}.lead-row>td:first-child{align-items:start;gap:10px;display:flex}.lead-row>td:first-child span{color:var(--ink-soft);font-size:.9rem;display:block}.lead-row.archived{opacity:.72}.lead-row select{min-width:132px;padding:8px 10px}.lead-expand-button,.lead-action-row button,.lead-action-row a{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);color:var(--ink-strong);white-space:nowrap;padding:8px 12px;text-decoration:none}.lead-detail-row td{background:var(--surface)}.lead-detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px;display:grid}.lead-action-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lead-notes{resize:vertical;min-height:140px}.lead-map-section{gap:12px;margin-top:18px;display:grid}.lead-points-list{color:var(--ink-soft);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 14px;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.lead-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);padding:16px}.map-pin{border-radius:var(--radius-pill);background:var(--brand-accent);border:2.5px solid var(--brand-dark);width:28px;height:28px;color:var(--brand-dark);cursor:grab;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:.7rem;font-weight:700;transition:transform .12s,box-shadow .12s;display:flex;position:relative;box-shadow:0 2px 8px #00000059}.map-pin:hover{transform:scale(1.18);box-shadow:0 4px 12px #0006}.map-pin:active{cursor:grabbing;transform:scale(1.12)}.leaflet-container{cursor:crosshair}.leaflet-map-frame{border-radius:var(--radius-xl);border:1px solid var(--line);min-height:400px;margin-top:12px;overflow:hidden}.lead-map{height:100%;min-height:400px}.lead-map-numbered-pin{color:#fff;background:#c96f2d;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;line-height:1;display:flex;box-shadow:0 1px 4px #0006}.lead-map-fence-line-label{white-space:nowrap;color:#fff;border-radius:var(--radius-pill);pointer-events:none;letter-spacing:.02em;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block;transform:translate(-50%)translateY(-50%);box-shadow:0 1px 4px #00000073}.lead-card-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.lead-message{min-height:140px;margin-top:12px}.admin-panel{align-self:start}.lead-sections-breakdown{border:1px solid var(--line);border-radius:var(--radius-md);margin-top:12px;overflow:hidden}.lead-sections-toggle{background:var(--surface-raised);cursor:pointer;width:100%;color:var(--ink);text-align:left;border:none;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.9rem;font-weight:600;display:flex}.lead-sections-toggle:hover{background:var(--line)}.lead-sections-toggle-icon{color:var(--ink-soft);font-size:.7rem}.lead-sections-body{flex-direction:column;gap:0;display:flex}.lead-section-item{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.lead-section-header{align-items:center;gap:10px;display:flex}.lead-section-length{color:var(--accent);margin-left:auto;font-size:.88rem;font-weight:600}.lead-section-collapse{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:2px 6px;font-size:.7rem;line-height:1}.lead-section-collapse:hover{color:var(--ink)}.lead-section-product-row{align-items:center;gap:8px;display:flex}.lead-section-product-select{flex:1;font-size:.85rem}.lead-section-bom-table{border-collapse:collapse;width:100%;font-size:.85rem}.lead-section-bom-table th,.lead-section-bom-table td{border-bottom:1px solid var(--line);padding:5px 8px}.lead-section-bom-table th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;text-align:left;font-size:.78rem;font-weight:600}.lead-section-bom-table .text-right{text-align:right}.bom-override-input{text-align:right;width:64px;padding:2px 4px;font-size:.85rem}.lead-bom-totals{border-top:2px solid var(--line);background:var(--surface-raised);padding:12px 14px}.lead-bom-totals h4{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:0 0 8px;font-size:.82rem;font-weight:700}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.full-span{grid-column:1/-1}.grow{flex:1}.narrow{width:180px}.mt-2{margin-top:var(--space-2)}.checkbox-row{align-items:center;gap:10px;display:flex}.checkbox-row input{width:18px;height:18px}.loading-shell,.not-found-shell{place-items:center;min-height:100vh;display:grid}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton-block{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-muted) 25%, #f1ece3 50%, var(--surface-muted) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-block{animation:none}}.skeleton-banner{align-items:center;gap:18px;display:flex}.skeleton-logo{border-radius:var(--radius-lg);flex-shrink:0;width:64px;height:64px}.skeleton-lines{flex:1;gap:8px;min-width:0;display:grid}.skeleton-line{max-width:420px;height:14px}.skeleton-line.short{max-width:160px;height:10px}.skeleton-line.title{max-width:280px;height:22px}.skeleton-step{height:54px}.skeleton-map{height:clamp(300px,45vh,480px);margin-top:8px}.empty-state{text-align:center;max-width:520px}.empty-state a{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);margin-top:8px;padding:10px 16px;text-decoration:none;display:inline-flex}.empty-state button{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);margin-top:8px;padding:10px 16px;display:inline-flex}.auth-shell{place-items:center;min-height:100vh}.auth-card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-2xl);width:min(460px,100%);box-shadow:var(--shadow);padding:24px}.auth-form{gap:14px;margin-top:18px;display:grid}.admin-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.share-panel,.go-live-share{grid-template-columns:minmax(0,1fr) minmax(280px,auto);align-items:center;gap:16px;display:grid}.share-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.billing-history,.billing-event-list{gap:12px;display:grid}.billing-event-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);padding:14px}.billing-event-header,.billing-event-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.billing-event-header span,.billing-event-meta{color:var(--ink-soft);font-size:.92rem}.error-text{color:var(--danger);margin-bottom:0}.success-text{color:var(--success);margin-bottom:0}.result-layout{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);align-items:start;gap:28px;display:grid}.result-fields,.result-message{gap:14px;display:grid}.result-area{resize:vertical;min-height:360px}.wizard-back-btn{white-space:nowrap;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);flex-shrink:0;padding:10px 14px;font-weight:600;transition:background-color .16s,border-color .16s}.wizard-back-btn:hover{background:var(--surface-muted);border-color:#0b1f1a47}.wizard-nav-row{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:8px;display:flex}.wizard-nav-row button{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);padding:12px 20px;font-weight:600;transition:background-color .16s,border-color .16s}.wizard-nav-row button:hover{background:var(--surface-muted);border-color:#0b1f1a47}.saved-measurement-chip{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--brand-accent) 16%, var(--surface-strong));color:var(--brand-dark);white-space:nowrap;border:1px solid #1d4f4138;flex-shrink:0;align-items:center;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.hero-support-text{color:var(--ink-soft);margin-bottom:0;font-size:.95rem}.hero-card-label{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-bottom:0;font-size:.78rem;font-weight:700}.helper-panel{background:#f7f5f299}.portal-section{margin-top:4px}.lead-expand-button:not(:disabled):hover,.lead-action-row button:not(:disabled):hover,.lead-action-row a:hover{background:var(--surface-muted);border-color:#0b1f1a47}.landing-nav{border-bottom:1px solid var(--line);padding-bottom:16px}@media (width>=520px){.auth-card{padding:36px 40px}}.price-strip{border-radius:var(--radius-md)}.site-footer{border-top:1px solid var(--line);gap:20px;margin-top:8px;padding-top:28px;display:grid}.footer-brand{gap:4px;display:grid}.footer-tagline{color:var(--ink-soft);margin-bottom:0;font-weight:500}.footer-links{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.footer-links a{color:var(--ink-strong);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);padding:10px 16px;font-weight:600;text-decoration:none;transition:background-color .16s,border-color .16s}.footer-links a:hover{background:var(--surface-muted);border-color:#0b1f1a47}.footer-legal{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.footer-legal p{color:var(--ink-soft);margin-bottom:0;font-size:.88rem}.footer-legal-links{gap:16px;display:flex}.footer-legal-links a{color:var(--ink-soft);font-size:.88rem;font-weight:500;text-decoration:none}.footer-legal-links a:hover{color:var(--ink-strong)}@media (width<=1024px){.hero-panel,.brand-banner,.admin-hero,.admin-grid,.value-grid,.portal-plan-grid,.proof-strip,.cta-panel{grid-template-columns:1fr}.panel-map{min-height:auto}.share-panel,.go-live-share{grid-template-columns:1fr}.share-actions{justify-content:flex-start}.result-layout{grid-template-columns:1fr}}@media (width<=860px){.product-grid{grid-template-columns:1fr}}@media (width<=720px){.page-shell{width:min(100% - 20px,1360px);padding-top:20px}.landing-nav,.landing-nav-actions{grid-auto-flow:row;justify-content:stretch}.hero-copy,.hero-card,.contact-panel,.contractor-card,.empty-state,.panel{border-radius:var(--radius-md);padding:18px}h1{font-size:2.25rem;line-height:1}h2{font-size:1.35rem}.panel-header{flex-direction:column;align-items:stretch}.panel-header .wizard-back-btn{align-self:flex-start}.estimator-steps{gap:8px}.estimator-steps button{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;font-size:.9rem}.estimator-steps .step-num{width:24px;height:24px;font-size:.85rem}.estimator-steps .step-badge{margin-left:0}.map-search-bar,.map-toolbar,.action-row.stretch,.landing-nav-actions{grid-template-columns:1fr;display:grid}.map-frame{min-height:clamp(420px,62vh,680px)}.leaflet-map{height:clamp(420px,62vh,680px)}.map-pin{border-width:2px;width:20px;height:20px;font-size:.6rem}.panel-map{min-height:auto}.summary-box{grid-template-columns:1fr}.result-area{min-height:220px}.wizard-nav-row{flex-direction:column-reverse}.wizard-nav-row button{justify-content:center;width:100%}.lead-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid{grid-template-columns:1fr}.admin-inline-grid,.product-heading-row,.product-meta,.lead-card-header{flex-direction:column}.narrow,.quantity-field{width:100%;max-width:none}.contact-form-grid,.lead-meta-grid,.lead-detail-grid{grid-template-columns:1fr}}@media (width<=900px){.sidebar-stack{position:static;top:auto}}.legal-shell{background:var(--surface);padding:48px 24px 80px}.legal-content{background:var(--panel);border-radius:var(--radius-lg);max-width:720px;box-shadow:var(--shadow);margin:0 auto;padding:48px 56px}.legal-content h1{color:var(--ink-strong);margin:0 0 8px;font-size:2rem;font-weight:800}.legal-meta{color:var(--ink-soft);margin-bottom:40px;font-size:.9rem;line-height:1.8}.legal-content h2{color:var(--ink-strong);border-bottom:1px solid var(--line);margin:36px 0 12px;padding-bottom:6px;font-size:1.1rem;font-weight:700}.legal-content p,.legal-content li{color:var(--ink-soft);margin-bottom:12px;line-height:1.75}.legal-content ul{margin-bottom:16px;padding-left:20px}.legal-content li{margin-bottom:6px}.legal-content a{color:var(--brand-primary);text-decoration:underline}.legal-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:.9rem}.legal-table th,.legal-table td{text-align:left;border:1px solid var(--line);color:var(--ink-soft);padding:10px 12px}.legal-table th{background:var(--surface);color:var(--ink-strong);font-weight:600}.legal-footer{border-top:1px solid var(--line);margin-top:48px;padding-top:24px}@media (width<=680px){.legal-content{padding:32px 24px}}.site-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px;padding-bottom:20px;display:flex}.site-nav-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.auth-card h1{margin-bottom:8px;font-size:clamp(1.6rem,3vw,2rem);line-height:1.1}.auth-text-link{text-align:center;color:var(--ink-soft);padding:4px 0;font-size:.88rem;text-decoration:none;display:block}.auth-text-link:hover{color:var(--brand-primary);text-decoration:underline}.auth-shell-v2{gap:0;display:grid}.auth-card-wrap{place-items:center;min-height:58vh;padding:48px 0 80px;display:grid}.auth-below-card{text-align:center;color:var(--ink-soft);margin-top:16px;font-size:.9rem}.auth-below-card a{color:var(--brand-primary);font-weight:600;text-decoration:none}.auth-below-card a:hover{text-decoration:underline}.status-badge{border-radius:var(--radius-pill);letter-spacing:.04em;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.status-badge:before{content:"";border-radius:var(--radius-pill);background:currentColor;flex-shrink:0;width:6px;height:6px}.status-badge--live{color:var(--success);background:#285f491f}.status-badge--draft{color:var(--ink-soft);background:#0b1f1a14}.status-badge--warn{color:#7a5800;background:#f4b4002e}.status-badge--error{color:var(--danger);background:#9a2e2e1a}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-header-identity{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-header-identity h1{margin-bottom:0;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1}.admin-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-tab-bar{scrollbar-width:none;-webkit-overflow-scrolling:touch;border-bottom:2px solid var(--line);gap:0;display:flex;overflow-x:auto}.admin-tab-bar::-webkit-scrollbar{display:none}.admin-tab-bar button{color:var(--ink-soft);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:8px;margin-bottom:-2px;padding:12px 18px;font-size:.9rem;font-weight:600;transition:color .14s,border-color .14s;display:inline-flex}.admin-tab-bar button:hover{color:var(--ink-strong)}.admin-tab-bar button.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.tab-badge{border-radius:var(--radius-pill);background:var(--brand-accent);min-width:20px;height:20px;color:var(--brand-dark);justify-content:center;align-items:center;padding:0 5px;font-size:.7rem;font-weight:800;display:inline-flex}.trial-banner{color:#78350f;background:#fef3c7;border-bottom:1px solid #fcd34d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;font-size:.88rem;display:flex}.trial-banner--urgent{color:#7f1d1d;background:#fee2e2;border-bottom-color:#fca5a5}.trial-banner-cta{border-radius:var(--radius-sm);color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid;flex-shrink:0;padding:4px 12px;font-size:.82rem;font-weight:600}.trial-banner-cta:hover{background:#0000000f}.step-progress{align-items:center;margin-bottom:20px;display:flex;overflow-x:auto}.step-progress-item{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.step-progress-item.active{color:var(--brand-primary)}.step-progress-item.done{color:var(--success)}.step-progress-num{border-radius:var(--radius-pill);background:var(--surface-muted);width:22px;height:22px;color:var(--ink-soft);flex-shrink:0;place-items:center;font-size:.72rem;font-weight:700;display:inline-grid}.step-progress-item.active .step-progress-num{background:var(--brand-primary);color:#fff}.step-progress-item.done .step-progress-num{background:var(--success);color:#fff}.step-progress-sep{background:var(--line);flex-shrink:0;width:20px;height:1px;margin:0 6px}.hero-tick-list{gap:8px;margin:0 0 24px;padding:0;list-style:none;display:grid}.hero-tick-list li{color:var(--ink-strong);align-items:center;gap:10px;font-weight:500;display:flex}.tick-icon{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--brand-accent) 22%, var(--surface-strong));border:1px solid color-mix(in srgb, var(--brand-accent) 55%, transparent);flex-shrink:0;place-items:center;width:20px;height:20px;display:grid}.hero-cta-note{color:var(--ink-soft);margin:0;font-size:.82rem}.faq-section{gap:24px;display:grid}.faq-header{text-align:center}.faq-header h2{margin-bottom:6px}.faq-header p{color:var(--ink-soft);margin-bottom:0}.faq-list{gap:6px;width:100%;max-width:720px;margin:0 auto;display:grid}.faq-item{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);overflow:hidden}.faq-question{text-align:left;width:100%;color:var(--ink-strong);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;font-size:.97rem;font-weight:600;transition:background-color .12s;display:flex}.faq-question:hover{background:var(--surface)}.faq-chevron{color:var(--ink-soft);flex-shrink:0;transition:transform .2s}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-answer{color:var(--ink-soft);border-top:1px solid var(--line);margin-top:0;padding:14px 20px 16px;font-size:.95rem;line-height:1.65;display:none}.faq-answer p{margin-bottom:0}.faq-item.open .faq-answer{display:block}.social-proof-strip{border-radius:var(--radius-pill);color:var(--brand-primary);background:#1d4f410f;border:1px solid #1d4f4124;align-items:center;gap:8px;width:fit-content;padding:10px 18px;font-size:.88rem;font-weight:600;display:flex}.success-icon{border-radius:var(--radius-pill);width:52px;height:52px;color:var(--success);background:#285f491a;border:2px solid #285f4938;place-items:center;margin-bottom:4px;display:grid}.su-table-wrap{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);overflow-x:auto}.su-table{border-collapse:collapse;width:100%;min-width:640px}.su-table th,.su-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:11px 14px;font-size:.92rem}.su-table th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;background:#fffaf3cc;font-size:.78rem;font-weight:600}.su-table tr:last-child td{border-bottom:0}.su-table tbody tr:hover td{background:var(--surface)}.su-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.su-filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.su-filter-row select{width:auto;padding:8px 12px;font-size:.88rem}.su-stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px;display:grid}.su-stat-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);padding:14px}.su-stat-card .summary-label{margin-bottom:4px;display:block}.su-stat-card strong{font-size:1.35rem;display:block}@media (width<=720px){.admin-header{flex-direction:column;align-items:flex-start}.admin-header-actions{width:100%}.admin-tab-bar button{padding:10px 12px;font-size:.84rem}}@media (width<=480px){.site-nav{flex-wrap:wrap}.auth-card-wrap{min-height:auto;padding:24px 0 48px}}.hero-cta-group{flex-direction:column;align-items:flex-start;gap:10px;margin-top:4px;display:flex}.hero-cta-btn{min-height:48px;padding:14px 28px;font-size:1rem}.hero-login-link{color:var(--ink-soft);background:0 0;border-color:#0000;padding:6px 0;font-size:.88rem}.hero-login-link:hover{color:var(--ink-strong);background:0 0;border-color:#0000;text-decoration:underline}.quote-builder-overlay{z-index:900;background:#0b1f1a7a;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.quote-builder-panel{background:var(--panel);border-radius:var(--radius-xl);flex-direction:column;width:min(780px,100%);max-height:calc(100vh - 32px);display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.quote-builder-panel--fs{border-radius:0;width:100vw;height:100vh;max-height:100vh}.quote-builder-panel--fs .quote-builder-body{flex:1}.quote-builder-overlay:has(.quote-builder-panel--fs){padding:0}.quote-builder-fs-btn{cursor:pointer;color:var(--ink-soft);border-radius:var(--radius-sm);background:0 0;border:none;place-items:center;margin-right:4px;padding:4px 6px;display:grid}.quote-builder-fs-btn:hover{color:var(--ink-strong);background:var(--surface-muted)}.quote-builder-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.quote-builder-header h2{margin:0;font-size:1.25rem}.quote-builder-close{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;place-items:center;padding:0;font-size:.85rem;display:grid}.quote-builder-close:hover{background:var(--surface-muted);color:var(--ink-strong)}.quote-builder-steps{border-bottom:1px solid var(--line);scrollbar-width:none;flex-shrink:0;gap:0;padding:14px 24px;display:flex;overflow-x:auto}.quote-builder-steps::-webkit-scrollbar{display:none}.quote-step-indicator{color:var(--ink-soft);white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 8px;font-size:.82rem;font-weight:600;display:flex;position:relative}.quote-step-indicator:not(:last-child):after{content:"";background:var(--line);width:1px;height:16px;position:absolute;top:50%;right:-4px;transform:translateY(-50%)}.quote-step-indicator.active{color:var(--brand-primary)}.quote-step-indicator.done{color:var(--success)}.step-num{border-radius:var(--radius-pill);background:var(--surface-muted);width:22px;height:22px;color:var(--ink-soft);flex-shrink:0;place-items:center;font-size:.7rem;font-weight:700;display:inline-grid}.quote-step-indicator.active .step-num{background:var(--brand-primary);color:#fff}.quote-step-indicator.done .step-num{background:var(--success);color:#fff}.step-label{font-size:.8rem}.quote-builder-body{flex:1;padding:0;overflow-y:auto}.quote-step-content{gap:16px;padding:22px 24px;display:grid}.quote-step-content h3{margin:0;font-size:1.05rem}.quote-builder-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:14px 24px;display:flex}.quote-builder-footer-right{gap:8px;display:flex}.quote-section-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);gap:10px;padding:14px;display:grid}.quote-section-card-header{align-items:center;gap:10px;display:flex}.quote-section-dist{color:var(--brand-primary);margin-left:auto;font-size:.88rem;font-weight:600}.contractor-map-measure{gap:10px;display:grid}.map-measure-address-row{gap:8px;display:flex}.map-measure-hint{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;display:flex}.fence-line-tabs-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.fence-line-tabs-bar .fence-line-tabs{flex:1;min-width:0}.map-measure-hint-text{color:var(--ink-muted,var(--ink-soft));margin:2px 0 0;font-size:.78rem}.map-measure-controls{gap:6px;display:flex}.map-measure-ctrl-btn{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);color:var(--ink-strong);padding:5px 10px;font-size:.8rem}.map-measure-ctrl-btn:disabled{opacity:.45}.lead-map-frame{border-radius:var(--radius-md);border:1px solid var(--line);overflow:hidden}.map-measure-sections{flex-wrap:wrap;gap:6px;display:flex}.map-measure-section-chip{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);align-items:center;gap:6px;padding:5px 10px;font-size:.82rem;display:flex}.map-measure-total-chip{background:color-mix(in srgb, var(--brand-accent) 16%, var(--surface-strong));border-color:#1d4f4138;font-weight:700}.section-chip-label{color:var(--ink-soft)}.section-chip-dist{color:var(--ink-strong);font-weight:600}.fence-line-tabs{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.fence-line-tab{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:5px 10px;font-size:.82rem;transition:border-color .15s,background .15s;display:flex}.fence-line-tab:hover{border-color:var(--brand-accent);background:color-mix(in srgb, var(--brand-accent) 8%, var(--surface-strong))}.fence-line-tab--active{border-color:var(--brand-accent);background:color-mix(in srgb, var(--brand-accent) 14%, var(--surface-strong));font-weight:600}.fence-line-tab-color-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 0 1.5px #0000002e}.fence-line-tab-label{cursor:text;color:var(--ink-strong)}.fence-line-tab-label-input{color:var(--ink-strong);background:0 0;border:none;outline:none;width:110px;padding:0;font-family:inherit;font-size:.82rem}.fence-line-tab-dist{color:var(--ink-soft);font-size:.78rem}.fence-line-tab-delete{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;align-items:center;padding:0 0 0 2px;font-size:.9rem;line-height:1;display:flex}.fence-line-tab-delete:hover{color:var(--error,#dc2626)}.fence-line-add-btn{border:1px dashed var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);cursor:pointer;background:0 0;padding:5px 12px;font-size:.82rem;transition:border-color .15s,color .15s}.fence-line-add-btn:hover{border-color:var(--brand-accent);color:var(--brand-accent)}.fence-line-section-header{align-items:center;gap:8px;margin:14px 0 4px;display:flex}.fence-line-section-header:before,.fence-line-section-header:after{content:"";background:var(--line);flex:1;height:1px}.fence-line-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);white-space:nowrap;font-size:.78rem;font-weight:600}.extras-catalog-section,.extras-freeform-section{gap:8px;display:grid}.extras-catalog-chips{flex-wrap:wrap;gap:6px;display:flex}.extras-catalog-chip{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-strong);color:var(--ink-strong);cursor:pointer;padding:6px 12px;font-size:.82rem}.extras-catalog-chip:hover{background:var(--surface-muted);border-color:#0b1f1a47}.extras-freeform-row{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.extras-qty-input{width:72px}.extras-unit-input{width:80px}.extras-price-input{width:110px}.extras-remove-btn{border-radius:var(--radius-xs);color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 8px;font-size:.78rem}.extras-remove-btn:hover{color:var(--danger);background:#9a2e2e14;border-color:#9a2e2e2e}.quote-review-grid{gap:16px;display:grid}.quote-summary-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);gap:14px;margin-top:12px;padding:14px;display:grid}.quote-summary-section{gap:8px;display:grid}.quote-summary-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin:0;font-size:.8rem;font-weight:700}.quote-section-row{align-items:center;gap:10px;display:flex}.quote-section-label{font-size:.88rem;font-weight:600}.quote-summary-total{background:color-mix(in srgb, var(--brand-accent) 12%, var(--surface-strong));border-radius:var(--radius-md);border:1px solid #1d4f4129;justify-content:space-between;align-items:center;padding:10px 14px;font-weight:600;display:flex}.quote-summary-total strong{color:var(--brand-primary);font-size:1.1rem}.required-star{color:var(--danger)}.break-sections-btn{color:var(--brand-primary);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:6px;padding:4px 0;font-size:.85rem;font-weight:600}.break-sections-btn:hover{text-decoration:underline}.quote-section-mode-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}@media (width<=600px){.quote-builder-steps{padding:10px 14px}.step-label{display:none}.quote-builder-header,.quote-step-content,.quote-builder-footer{padding-left:16px;padding-right:16px}.extras-freeform-row{flex-direction:column}.extras-qty-input,.extras-unit-input,.extras-price-input{width:100%}}.measure-mode-tabs{border-bottom:2px solid var(--border-subtle);gap:4px;margin-bottom:12px;padding-bottom:0;display:flex}.measure-mode-tab{cursor:pointer;color:var(--color-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;margin-bottom:-2px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.measure-mode-tab:hover{color:var(--color-text);background:var(--surface-hover)}.measure-mode-tab--active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.pdf-upload-zone{border:2px dashed var(--border-subtle);border-radius:var(--radius-md);text-align:center;background:var(--surface-strong);padding:40px 24px;transition:border-color .2s;position:relative}.pdf-upload-zone:hover{border-color:var(--brand-accent)}.pdf-upload-label{cursor:pointer;flex-direction:column;align-items:center;gap:8px;display:flex}.pdf-upload-icon{font-size:2.5rem;line-height:1}.pdf-upload-title{color:var(--color-text);margin:0;font-size:1rem;font-weight:600}.pdf-upload-hint{color:var(--color-muted);margin:0;font-size:.8rem}.pdf-upload-input-hidden{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.pdf-plan-measure{flex-direction:column;gap:8px;display:flex}.pdf-plan-header{align-items:center;gap:12px;font-size:.875rem;display:flex}.pdf-plan-filename{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.pdf-plan-replace-btn{cursor:pointer;color:var(--brand-primary);font-size:.8rem;text-decoration:underline;position:relative}.pdf-scale-banner{border-radius:var(--radius-sm);color:#713f12;background:#fef9c3;border:1px solid #fde047;align-items:center;gap:12px;padding:10px 14px;font-size:.85rem;display:flex}.pdf-scale-banner--active{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.pdf-scale-start-btn{color:#fff;border-radius:var(--radius-xs);cursor:pointer;background:#713f12;border:none;margin-left:auto;padding:5px 12px;font-size:.8rem}.pdf-scale-distance-row{background:var(--surface-strong);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;font-size:.875rem;display:flex}.pdf-scale-distance-input{width:90px}.pdf-scale-chip-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pdf-scale-chip{background:color-mix(in srgb, var(--brand-accent) 12%, var(--surface-strong));border:1px solid color-mix(in srgb, var(--brand-accent) 30%, transparent);border-radius:var(--radius-xl);color:var(--brand-primary);align-items:center;gap:4px;padding:3px 10px;font-size:.8rem;font-weight:500;display:inline-flex}.pdf-scale-reset-btn{color:var(--color-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;text-decoration:underline}.pdf-canvas-container{border:1px solid var(--border-subtle);border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;background:#f8f9fa;width:100%;position:relative;overflow:hidden}.pdf-canvas{width:100%;height:auto;display:block}.pdf-loading-overlay{color:var(--color-muted);z-index:10;background:#f8f9fad9;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;inset:0}.cursor-crosshair{cursor:crosshair!important}.cursor-cell{cursor:cell!important}.cursor-default{cursor:default!important}.plan-markup-viewer{flex-direction:column;gap:8px;margin-top:8px;display:flex}.pdf-customer-plan-badge{color:var(--color-muted);margin-left:4px;font-size:.75rem;font-weight:400}.pdf-page-nav{justify-content:center;align-items:center;gap:12px;padding:6px 0;display:flex}.pdf-page-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-strong);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .15s;display:flex}.pdf-page-btn:hover:not(:disabled){background:var(--surface-hover)}.pdf-page-btn:disabled{opacity:.35;cursor:default}.pdf-page-label{color:var(--color-text);text-align:center;min-width:90px;font-size:.875rem}.pdf-page-drawing-hint{color:var(--color-muted);font-size:.75rem}.pdf-ref-page-banner{border-radius:var(--radius-sm);color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;display:flex}.pdf-ref-page-link{color:#0369a1;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.pdf-total-export-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.pdf-total-export-row .map-measure-section-chip{flex:1;min-width:0;margin-top:0}.pdf-export-btn{background:var(--brand-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:6px 14px;font-size:.85rem;font-weight:600;transition:background .15s,opacity .15s}.pdf-export-btn:hover:not(:disabled){background:var(--brand-dark)}.pdf-export-btn:disabled{opacity:.55;cursor:default}.pdf-zoom-controls{align-items:center;gap:4px;margin-bottom:4px;display:flex}.pdf-zoom-btn{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;color:var(--ink-strong);text-align:center;min-width:32px;padding:3px 10px;font-size:1rem;font-weight:600;line-height:1.4;transition:background .15s}.pdf-zoom-btn:disabled{opacity:.4;cursor:default}.pdf-zoom-btn:not(:disabled):hover{background:var(--surface-muted)}.pdf-zoom-reset{color:var(--brand-primary);padding:3px 8px;font-size:.8rem;font-weight:500}.pdf-zoom-level{color:var(--ink-soft);text-align:center;font-variant-numeric:tabular-nums;min-width:36px;font-size:.78rem}.cta-band{background:var(--brand-primary);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:40px 36px;display:flex}.cta-band h2{color:#fff;margin:0 0 8px;font-size:1.5rem;font-weight:800}.cta-band-sub{color:#ffffffd9;margin:0;font-size:.94rem}.pricing-shell{gap:24px;display:grid}.pricing-hero{text-align:center;width:100%;max-width:640px;margin:0 auto}.pricing-card{width:100%;max-width:760px;margin:0 auto}.pricing-amount{align-items:flex-end;gap:8px;margin-bottom:4px;display:flex}.pricing-amount strong{font-size:3rem;font-weight:900;line-height:1}.pricing-amount span{color:var(--ink-soft);padding-bottom:8px;font-size:1.1rem}.pricing-sub{color:var(--ink-soft);margin:0 0 28px;font-size:.88rem}.pricing-feature-header{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft);margin:0 0 16px;padding-top:24px;font-size:.78rem;font-weight:700}.pricing-feature-grid{grid-template-columns:1fr 1fr;gap:10px 24px;margin:0;padding:0;list-style:none;display:grid}.pricing-feature-item{align-items:center;gap:10px;font-size:.88rem;display:flex}.pricing-dot{background:var(--brand-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.pricing-cta{text-align:center;margin-top:32px}.pricing-cta-btn{text-align:center;width:100%;padding:16px 40px;display:block}.trust-strip{grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:760px;margin:0 auto;display:grid}.trust-card strong{margin-bottom:4px;font-size:.88rem;display:block}.trust-card p{color:var(--ink-soft);margin:0;font-size:.85rem}.how-it-works-shell{gap:24px;display:grid}.how-steps-single{grid-template-columns:1fr;gap:12px;margin-top:20px;display:grid}.how-steps-two-col{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px;display:grid}.step-card{background:var(--surface);border-radius:var(--radius-lg);padding:24px}.step-card h3{margin:4px 0 8px;font-size:1.05rem;font-weight:700}.outcome-box{background:var(--brand-primary);border-radius:var(--radius-lg);padding:36px}.outcome-box h2{color:#fff;margin-bottom:16px}.outcome-box ul{color:#ffffffd9;margin:0;padding-left:20px;font-size:.95rem;line-height:1.85}.outcome-box li strong{color:#fff}.setup-box{border:1px solid var(--line);border-radius:var(--radius-lg)}@media (width<=640px){.cta-band{flex-direction:column;align-items:flex-start}.pricing-feature-grid,.trust-strip,.how-steps-two-col{grid-template-columns:1fr}}@media (pointer:coarse){input,textarea,select{font-size:16px}.search-result-item,.map-measure-ctrl-btn,.fence-line-tab,.fence-line-add-btn,.lead-expand-button,.lead-action-row button,.lead-action-row a,.extras-catalog-chip,.trial-banner-cta,.pdf-page-btn,.pdf-zoom-btn{min-height:var(--tap-min)}}@media (width<=720px){.hero-text,.helper-text,.value-panel p,.feature-tile p,.proof-card p,.product-meta,.faq-question,.faq-answer,.pricing-feature-item,.trust-card p,.cta-band-sub,.step-card{font-size:1rem}}@media (width<=640px){.quote-builder-overlay{padding:0}.quote-builder-panel{border-radius:0;width:100%;height:100dvh;max-height:100dvh}.quote-builder-body .lead-section-bom-table{white-space:nowrap;-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}@media (width<=720px){.lead-table-wrap{background:0 0;border:none;overflow-x:visible}.lead-table{min-width:0}.lead-table thead{display:none}.lead-table tbody,.lead-table tr,.lead-table td{width:100%;display:block}.lead-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.lead-row>td{text-align:left;border:none;padding:6px 0}.lead-row>td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:2px;font-size:.72rem;font-weight:700;display:block}.lead-row>td:first-child{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;margin-bottom:4px;padding-bottom:10px;display:flex}.lead-row>td:first-child:before{content:none}.lead-row select{width:100%;min-width:0}.lead-detail-row>td{padding:var(--space-3) 0;text-align:left;display:block}.lead-detail-row>td:before{content:none}}@media (pointer:coarse){.map-pin{border-width:2.5px;width:30px;height:30px;font-size:.74rem}.map-pin:before{content:"";border-radius:var(--radius-pill);position:absolute;inset:-8px}}@media (width<=720px){.assembly-settings,.component-row{flex-wrap:wrap}.component-row>input.grow{flex:100%}.component-row .component-qty,.component-row .component-formula,.component-row .component-unit{flex:30%;width:auto;min-width:92px}}@media (width<=640px){.quote-builder-header{padding-top:calc(18px + env(safe-area-inset-top))}.quote-builder-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}
