:root{--forest:#1f2e22;--forest-dark:#142019;--green:#355744;--gold:#c8a55b;--gold-bright:#d9ba76;--cream:#f5f3ed;--line:#dcded5;--ink:#1e261f;--muted:#6e766f}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,input:focus-visible{outline:3px solid #c9a661;outline-offset:2px}.main-header{height:74px;padding:0 clamp(18px,3.5vw,58px);display:flex;align-items:center;justify-content:space-between;background:var(--forest);color:#fff;border-bottom:1px solid #344638}.brand{text-decoration:none;color:inherit;display:flex;align-items:center;gap:12px}.brand-badge{width:42px;height:42px;border:1.5px solid var(--gold);border-radius:9px;color:var(--gold);font-family:'Barlow Condensed',sans-serif;font-size:23px;font-weight:800;display:grid;place-items:center;overflow:hidden}.brand-badge img{width:100%;height:100%;object-fit:contain}.brand-word{font:800 26px/.85 'Barlow Condensed',sans-serif;letter-spacing:.8px}.brand-sub{display:block;font:600 9px/1.6 'DM Sans',sans-serif;letter-spacing:2.5px;margin-top:6px;color:var(--gold-bright)}.header-actions{display:flex;align-items:center;gap:19px}.internal-pill{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:1.4px;color:#cfdfd0}.internal-pill i{height:6px;width:6px;border-radius:50%;background:var(--gold)}.header-button{background:transparent;border:1px solid #718475;color:white;border-radius:9px;padding:11px 16px;font-weight:700;font-size:12px}.header-button:hover{background:#35473b}.intro{background:var(--forest);color:#fff;padding:31px clamp(18px,3.5vw,58px) 31px;display:flex;align-items:end;justify-content:space-between;gap:25px}.intro h1{font:700 clamp(36px,4.2vw,57px)/.98 'Barlow Condensed',sans-serif;letter-spacing:.2px;margin:10px 0 12px}.intro h1 em{font-style:normal;color:var(--gold-bright)}.eyebrow,.overline{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--gold)}.intro p{margin:0;color:#c7d1c8;max-width:700px;font-size:13px;line-height:1.6}.intro-tag{display:flex;align-items:center;gap:10px;white-space:nowrap;color:#d2dcd2;font-size:11px;font-weight:700;border-bottom:1px solid #586b58;padding-bottom:9px}.tag-num{color:var(--gold);font:700 16px 'Barlow Condensed',sans-serif}.tag-arr{color:#7d9381}.workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(355px,.72fr);min-height:610px;max-width:1900px;margin:auto}.map-pane{position:relative;background:#233323;min-height:700px;overflow:hidden}.map-pane #map{position:absolute;inset:0;z-index:1}.map-search{position:absolute;z-index:500;top:20px;left:24px;right:24px;display:flex;align-items:center;gap:7px;padding:7px;background:#fff;border:1px solid #dad9d1;box-shadow:0 8px 30px #0004;border-radius:10px}.pin{color:var(--green);font-size:25px;padding-left:10px}.map-search input{min-width:0;flex:1;border:0;background:transparent;padding:11px 8px;color:#253428;font-size:13px;outline:0}.map-search button{border:0;background:var(--forest);color:#fff;padding:12px 16px;border-radius:7px;font-size:11px;font-weight:800;white-space:nowrap}.map-search button span{font-size:15px;margin-left:5px}.map-actions{position:absolute;z-index:500;top:91px;left:24px;display:flex;gap:8px;flex-wrap:wrap}.map-actions button{border:none;border-radius:7px;padding:11px 13px;font-size:12px;font-weight:700;box-shadow:0 3px 16px #0003}.map-actions button:not(.gold-button){background:#fff;color:var(--forest)}.gold-button{border:0!important;background:var(--gold)!important;color:#142019!important;font-weight:800!important}.gold-button:hover{background:var(--gold-bright)!important}.map-hint{position:absolute;bottom:62px;left:24px;right:24px;z-index:500;max-width:530px;background:#1d2c25e9;border-left:3px solid var(--gold);padding:12px 16px;border-radius:5px;color:#eff3ea;font-size:12px;line-height:1.6;pointer-events:none}.map-foot{z-index:501;position:absolute;bottom:0;left:0;right:0;min-height:49px;background:#1c291f;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 18px;color:#b7c4b5;font-size:10px}.quiet-button{background:transparent;border:0;color:var(--gold-bright);font-weight:800;font-size:11px}.estimator-pane{background:#faf9f5;border-left:1px solid #dce0d7;padding:27px clamp(20px,2.6vw,38px) 35px;min-width:0}.step-head{display:flex;align-items:start;justify-content:space-between;gap:6px}.step-head .overline{color:var(--green)}.step-head h2{margin:7px 0 21px;font:700 34px/1 'Barlow Condensed',sans-serif}.step-chip{font-size:9px;letter-spacing:.6px;font-weight:800;border:1px solid #bdccbb;color:var(--green);border-radius:25px;padding:6px 8px}.stats-line{background:var(--forest);color:#fff;display:flex;border-radius:11px;padding:20px 19px;margin-bottom:24px;gap:15px}.stat{width:50%;min-width:0;display:flex;flex-direction:column;gap:3px}.stat+.stat{border-left:1px solid #506154;padding-left:18px}.stat span{font-size:10px;font-weight:800;letter-spacing:1.2px;color:#c0cdbf}.stat strong{font:700 clamp(27px,2.7vw,38px) 'Barlow Condensed',sans-serif;letter-spacing:.3px;color:#fff}.stat small{font-size:10px;color:#b4c5b5}.section-title{display:flex;align-items:center;gap:10px;margin:21px 0 12px}.section-title span{width:25px;height:25px;display:grid;place-items:center;border-radius:100%;font:800 12px 'Barlow Condensed',sans-serif;background:#e4e8df;color:var(--forest)}.section-title h3{margin:0;font:700 21px 'Barlow Condensed',sans-serif}.service-cards{display:grid;grid-template-columns:1fr;gap:8px}.service{border:1px solid var(--line);background:#fff;padding:12px 13px;text-align:left;display:flex;align-items:center;gap:11px;border-radius:9px;color:var(--ink)}.service.selected{border:2px solid var(--green);padding:11px 12px;background:#f1f5ef}.service-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:7px;background:#e7ede4;color:var(--green);font-size:21px;flex:0 0 auto}.service b{display:block;font-size:13px}.service small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.service .check{color:var(--green);margin-left:auto;font-size:14px;opacity:0}.service.selected .check{opacity:1}.field-label{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:10px;letter-spacing:1.3px;font-weight:800;color:#545f52;margin:16px 0 8px}.text-action{border:0;background:transparent;color:#466349;font-size:11px;font-weight:700;letter-spacing:0}.choice-group{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #cdd2c9;border-radius:8px;overflow:hidden}.choice-group button{background:#fff;border:0;border-right:1px solid #dfe2dc;padding:10px 4px 9px;font-size:12px;font-weight:700;color:var(--forest)}.choice-group button:last-child{border-right:0}.choice-group button small{display:block;font-size:10px;margin-top:4px;color:var(--muted)}.choice-group button.active{background:var(--forest);color:#fff}.choice-group button.active small{color:var(--gold-bright)}.helper{font-size:11px;line-height:1.55;color:#727a73;margin:8px 0 14px}.estimate-card{margin-top:25px;background:#e9eee7;border:1px solid #d1dfd0;border-radius:11px;padding:18px}.estimate-label{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#536b53;font-size:10px;font-weight:800;letter-spacing:.7px}.estimate-label span:last-child{font-size:9px;color:#778579}.total-price{font:800 49px/1.15 'Barlow Condensed',sans-serif;letter-spacing:.2px;color:var(--forest);margin:4px 0 11px}.breakdown{border-top:1px solid #cbd7c8;padding:10px 0 6px}.breakdown>div{display:flex;justify-content:space-between;gap:12px;margin:7px 0;font-size:11px;color:#516053}.breakdown b{color:var(--forest)}.estimate-card p{margin:9px 0 0;font-size:10px;line-height:1.5;color:#718172}.quote-actions{display:flex;gap:9px;margin-top:15px}.quote-actions button{border-radius:8px;padding:14px 13px;font-size:12px;font-weight:800}.primary-action{flex:1}.outline-action{background:#fff;color:var(--forest);border:1px solid #b9c2b6;border-radius:8px;font-size:12px;font-weight:800;padding:12px}.below-note{color:#8b928a;font-size:10px;line-height:1.6;margin-top:15px}.site-footer{min-height:70px;background:var(--forest-dark);color:#bcc8bb;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px clamp(18px,3.5vw,58px);font-size:11px}.site-footer>span:first-child{font:800 17px 'Barlow Condensed',sans-serif;color:#fff}.site-footer small{display:block;font:600 7px 'DM Sans',sans-serif;letter-spacing:1.6px;color:var(--gold)}.drawer-overlay{position:fixed;inset:0;z-index:900;background:#101e15a8}.drawer-overlay[hidden]{display:none}.settings-drawer{position:fixed;right:0;top:0;bottom:0;width:min(440px,100%);z-index:901;background:#f9f9f5;box-shadow:0 12px 60px #0007;transform:translateX(103%);transition:transform .2s ease;display:flex;flex-direction:column}.settings-drawer.open{transform:translateX(0)}.drawer-head{padding:23px 24px 15px;background:var(--forest);color:#fff;display:flex;justify-content:space-between;align-items:start}.drawer-head h2{font:700 34px 'Barlow Condensed',sans-serif;margin:5px 0}.icon-btn{font-size:27px;color:#fff;border:0;background:transparent}.drawer-content{overflow-y:auto;padding:10px 24px 26px}.drawer-content h3{font:700 22px 'Barlow Condensed',sans-serif;margin:25px 0 10px;padding-bottom:7px;border-bottom:1px solid var(--line)}.drawer-content label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:12px;color:#3a493b;margin:12px 0}.drawer-content input{width:100%;background:#fff;color:#253328;border:1px solid #cad1c9;border-radius:7px;padding:11px 13px;font-size:13px}.two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.small-label{font-size:10px;color:#818b82;font-weight:400}.drawer-buttons{display:flex;gap:10px;margin-top:24px}.drawer-buttons button{flex:1;padding:14px;border-radius:8px}.leaflet-container{font-family:'DM Sans',sans-serif!important}.leaflet-control-attribution{font-size:9px!important}.leaflet-interactive:focus{outline:none}#toast{display:none;position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:1100;background:#243c2d;color:white;border:1px solid var(--gold);border-radius:9px;padding:12px 16px;box-shadow:0 10px 40px #0006;font-size:12px;max-width:90%;text-align:center}#toast.show{display:block}@media(max-width:1150px){.intro-tag{display:none}.workspace{grid-template-columns:minmax(0,1.18fr) minmax(340px,.8fr)}.map-pane{min-height:690px}}@media(max-width:800px){.main-header{height:65px}.internal-pill{font-size:8px}.intro{padding:25px 21px}.intro h1{font-size:43px}.intro p{max-width:530px}.workspace{display:flex;flex-direction:column}.map-pane{height:63vh;min-height:425px;max-height:680px}.estimator-pane{padding:28px 20px 35px}.map-search{top:13px;left:13px;right:13px}.map-actions{left:13px;top:79px}.map-foot{padding:7px 12px}.map-hint{bottom:55px;left:13px;right:13px}.site-footer{flex-wrap:wrap}.step-head h2{font-size:36px}.stats-line{padding:20px}.stat strong{font-size:36px}}@media(max-width:420px){.hide-small{display:none}.header-actions{gap:8px}.brand-word{font-size:24px}.brand-sub{font-size:7px}.header-button{padding:9px 11px}.map-search button{padding:11px 9px;font-size:10px}.map-search input{font-size:12px;padding:10px 3px}.intro h1{font-size:39px}.map-actions button{padding:10px;font-size:11px}.site-footer span:last-child{width:100%}.choice-group button{font-size:11px}}

/* Crisp imagery selector: higher-resolution source instead of pixel enlargement. */
.imagery-picker{position:absolute;z-index:500;top:152px;right:18px;width:min(235px,45vw);padding:10px 11px;background:rgba(21,36,27,.94);color:#f4f7ed;box-shadow:0 5px 20px #0006;border:1px solid #7a8d6a;border-radius:9px;display:flex;flex-direction:column;gap:6px}
.imagery-picker label{font-size:9px;letter-spacing:1.4px;color:#e9ce85;font-weight:800}
.imagery-picker select{width:100%;min-width:0;color:#1e3428;font-size:12px;font-weight:750;padding:9px 7px;border:0;border-radius:5px;background:#f9fbf4}
.imagery-picker small{font-size:9px;line-height:1.4;color:#cad5c7}
@media(max-width:800px){.imagery-picker{top:137px;right:12px;max-width:190px;width:45vw;padding:8px}.imagery-picker small{font-size:8px}}
@media(max-width:420px){.imagery-picker{top:130px;right:10px;width:46vw;max-width:182px}}

/* v0.3 mobile quoting and internal job packet */
.mobile-quote-bar{display:none}.range-toggle{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--forest);padding:13px 2px 1px;cursor:pointer}.range-toggle input{width:18px;height:18px;accent-color:var(--forest)}.range-toggle span{flex:1}.range-toggle b{font-size:11px;color:#657565}
.intake-panel{margin-top:31px;padding-top:7px;border-top:2px solid #d7ded5}.intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.intake-grid label{display:flex;flex-direction:column;gap:6px;color:#405041;font-weight:700;font-size:11px}.intake-grid label.full{grid-column:1/-1}.intake-grid input,.intake-grid textarea,.intake-grid select{min-width:0;width:100%;background:#fff;padding:12px 11px;border:1px solid #c8d0c7;border-radius:8px;color:#29392d;font:500 12px 'DM Sans',sans-serif}.intake-grid textarea{resize:vertical;min-height:78px}.intake-actions{display:flex;gap:9px;margin-top:15px}.intake-actions button{flex:1;min-height:43px;padding:11px;border-radius:8px;font-size:12px;font-weight:800}
@media(max-width:800px){.mobile-quote-bar:not([hidden]){z-index:505;display:flex;position:absolute;bottom:50px;left:10px;right:10px;background:#1f2e22;box-shadow:0 8px 32px #1119;color:white;border:1px solid #75836f;border-radius:11px;align-items:center;gap:12px;padding:9px 10px}.mobile-quote-bar span{display:flex;flex-direction:column;gap:3px}.mobile-quote-bar small{font-size:8px;letter-spacing:.6px;color:#c9d8c9;font-weight:700}.mobile-quote-bar b{font:700 22px 'Barlow Condensed',sans-serif}.mobile-quote-bar button{margin-left:auto;padding:11px;background:var(--gold);color:#18261d;border:0;border-radius:7px;font-size:11px;font-weight:800}.map-pane:has(.mobile-quote-bar:not([hidden])) .map-hint{bottom:115px}.map-expanded .map-pane{position:fixed!important;inset:0;z-index:950;width:100vw;height:100dvh!important;max-height:none!important;min-height:0!important}.map-expanded .map-hint{bottom:120px}.map-expanded #toast{z-index:1200}.map-expanded .map-actions{top:82px}.map-expanded .map-foot{bottom:0}.map-expanded .imagery-picker{top:137px}.map-expanded #expandMapBtn{background:#1f2e22;color:white}}
@media(max-width:460px){.intake-grid{grid-template-columns:1fr}.intake-grid label.full{grid-column:auto}.intake-actions{flex-direction:column}.map-actions{right:12px}.map-actions #expandMapBtn{margin-left:auto}.mobile-quote-bar b{font-size:19px}.mobile-quote-bar button{padding:10px 7px;font-size:10px}}

/* v0.5 saved job library; native controls for easy use on Android */
.library-panel{margin-top:22px;padding:18px 17px 19px;border:1px solid #d4dcd0;border-radius:12px;background:#fff;box-shadow:0 2px 20px #21352009}
.library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.library-head h3{font:750 27px/1.08 'Barlow Condensed',sans-serif;margin:5px 0 7px;color:var(--forest)}
.saved-count{font:700 13px 'DM Sans',sans-serif;display:inline-block;vertical-align:middle;border-radius:20px;background:#e3eadd;color:var(--forest);padding:4px 8px}
.local-pill{padding:6px 8px;background:#f2f4ee;border:1px solid #dbe0d6;border-radius:6px;font-size:9px;font-weight:800;letter-spacing:.6px;white-space:nowrap;color:#516551}
.library-panel .helper{margin:8px 0 13px}
.save-label{font-size:11px;color:#4d5c4d;font-weight:800;display:flex;justify-content:space-between;gap:8px;margin:10px 0 6px}
.save-label small{font-size:10px;color:#7c897b;font-weight:500}
#estimateTitle{display:block;width:100%;border-radius:8px;border:1px solid #cdd8c9;background:#fafcf8;padding:12px;color:var(--forest);font-size:13px}
.save-private{display:flex;align-items:flex-start;gap:10px;margin:11px 0 14px;font-size:11px;color:#506151;line-height:1.5;cursor:pointer}
.save-private input{accent-color:var(--forest);width:16px;height:16px;flex-shrink:0;margin:1px 0}
.library-actions{display:flex;gap:8px;flex-wrap:wrap}
.library-actions button{padding:12px 11px;border-radius:8px;font-size:12px;font-weight:800;flex:1}
.saved-list{display:grid;gap:8px;margin-top:15px}
.empty-saved{background:#f3f5ef;border:1px dashed #cbd5c6;padding:19px 15px;font-size:12px;text-align:center;color:#75806f;border-radius:8px;line-height:1.5}
.saved-job{padding:12px;border-radius:9px;border:1px solid #d7dfd4;background:#fafcf8}
.saved-job-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.saved-job h4{margin:0 0 4px;font-size:13px;font-weight:800;color:var(--forest);overflow-wrap:anywhere}
.saved-job small{font-size:10px;color:#798477;line-height:1.4;display:block}
.saved-job .amount{font:800 23px 'Barlow Condensed',sans-serif;color:#29432f;white-space:nowrap}
.saved-job-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;flex-wrap:wrap}
.saved-job-footer span{font-size:10px;color:#667767}
.saved-job-footer .buttons{display:flex;gap:7px}
.saved-job-footer button{font-size:11px;font-weight:800;color:#294a35;border:1px solid #b9c8b5;background:#fff;padding:8px 10px;border-radius:7px}
.saved-job-footer .delete-saved{border-color:#dfc7c2;color:#8a4b40}
.import-line{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #e1e5db;padding-top:13px;margin-top:13px}
.import-line small{color:#788378;font-size:10px;max-width:160px;line-height:1.4}
.import-button{cursor:pointer;border-bottom:1px dotted #667f68;color:#2f5136;font-size:12px;font-weight:800;padding:4px 0}
@media(max-width:420px){.local-pill{font-size:8px}.library-head h3{font-size:24px}.saved-job .amount{font-size:20px}}

/* v0.6 — trails, terrain readouts, original brand artwork */
.real-logo-message{display:flex;align-items:center;gap:12px;border:1px solid #e5d9b7;background:#eef1e7;padding:10px;border-radius:9px;margin:12px 0}.real-logo-message img{width:54px;height:40px;object-fit:contain;background:#1f2e22;border-radius:4px}.real-logo-message span{font-size:11px;line-height:1.4;color:#4d604d}
.trail-button{border-color:#368aae!important;background:#e7f7fb!important;color:#174f65!important;font-weight:850!important}
.trail-planner{border:1px solid #c4dfe1;background:#f5faf9;margin:20px 0 27px;padding:17px;border-radius:12px}.trail-title{display:flex;flex-direction:column;gap:4px}.trail-title span{color:#378099;font-size:10px;font-weight:900;letter-spacing:1.1px}.trail-title strong{font:800 24px 'Barlow Condensed',sans-serif;color:#173b3d}.trail-planner .helper{line-height:1.55}
.trail-stats{display:flex;gap:13px;margin:13px 0}.trail-stats>div{flex:1;border:1px solid #d4e7e7;background:white;border-radius:8px;padding:12px}.trail-stats small,.terrain-metrics small{font-size:9px;font-weight:900;color:#70827a;letter-spacing:.5px;display:block}.trail-stats strong{font:800 28px 'Barlow Condensed',sans-serif;color:#1c515d}.trail-fields{display:flex;align-items:center;gap:15px}.trail-fields label{display:flex;gap:6px;align-items:center;font-size:12px;font-weight:850;white-space:nowrap;color:#28484a}.trail-fields label span{font-size:10px;font-weight:500}.trail-fields input{width:70px;padding:10px 8px;border:1px solid #aacbd1;border-radius:7px;background:white;color:#28484a}.trail-measure-note{font-size:10px;line-height:1.5;color:#57736d}.trail-price{font-size:12px;color:#265665;font-weight:800;margin-top:14px}.trail-elevation-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap;border-top:1px solid #d5e2e0;margin-top:12px;padding-top:12px}.trail-elevation-row span{font-size:11px;line-height:1.5;color:#4d6a64}.terrain-metrics{margin:9px 0 17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.terrain-metrics[hidden]{display:none}.terrain-metrics>div{padding:10px;border:1px solid #d6dfd2;background:#f8faf5;border-radius:8px}.terrain-metrics strong{font-size:17px;font-weight:900;color:#264e34;display:block;margin-top:5px}
.brand-badge{background:#1f2e22!important;border-color:#c8a55b!important}.brand-badge img{width:100%;height:100%;padding:3px;object-fit:contain}
@media(max-width:800px){.map-actions{display:flex;flex-wrap:wrap;gap:6px}.map-actions button{min-height:34px}.imagery-picker{top:182px}.trail-fields{flex-wrap:wrap}.terrain-metrics{grid-template-columns:1fr 1fr}.map-expanded .imagery-picker{top:190px}}
@media(max-width:420px){.map-actions{max-width:calc(100% - 22px)}.map-actions button{padding:8px!important;font-size:10px!important}.imagery-picker{right:9px;top:196px}.map-expanded .imagery-picker{top:202px}}

/* v0.7: multi-service work zones, preserves and trail corridor visualization */
.zone-planner{background:#f7f8f4;border:1px solid #cfd6cb;border-radius:12px;padding:16px;margin:20px 0 16px}
.zone-head{display:flex;flex-direction:column;gap:3px}.zone-head span{font-size:10px;font-weight:900;letter-spacing:1.2px;color:#718270}.zone-head strong{font:800 25px 'Barlow Condensed',sans-serif;color:#253b2b}
.zone-exclude-choice{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e1c2cc;border-radius:9px;padding:12px;font-size:12px;color:#512834;cursor:pointer}.zone-exclude-choice:has(input:checked){background:#fff0f4;border-color:#d14b76}.zone-exclude-choice input{width:19px;height:19px;accent-color:#bf4f73;flex:0 0 auto}.zone-exclude-choice b,.zone-exclude-choice small{display:block}.zone-exclude-choice small{font-size:10px;color:#88727b;margin-top:3px}
.zone-legend{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:10px;font-weight:700;color:#526158;margin:13px 0 10px}.zone-legend span{display:flex;gap:5px;align-items:center}.zone-legend i{width:12px;height:12px;display:inline-block;border-radius:3px;border:2px solid #ab8350}.zone-legend .z-mulch{background:#c8a55b;border-color:#d8af45}.zone-legend .z-rotary{background:#de8b4d;border-color:#c0783e}.zone-legend .z-exclude{background:#ec6485;border-color:#ae4162}.zone-legend .z-trail{background:#43c7e9;border-color:#2690ae}
.zone-list{display:flex;flex-direction:column;gap:7px}.zone-row{display:flex;align-items:center;gap:10px;background:white;border:1px solid #dfe4dd;border-radius:8px;padding:9px 10px;min-height:45px}.zone-row .zone-dot{width:13px;height:13px;border-radius:4px;flex:0 0 auto}.zone-row .zone-name{flex:1;font-size:11px;font-weight:750}.zone-row .zone-name small{display:block;font-size:10px;font-weight:400;color:#66756b;margin-top:2px}.zone-row button{color:#a34356;background:white;border:1px solid #ead9dc;padding:6px 9px;border-radius:6px;font-size:11px}
.zone-summary{margin-top:11px;font-size:12px;color:#3d5e46;font-weight:800;line-height:1.5}.zone-safety{color:#97363a!important;border:1px solid #e9bcb9;border-radius:7px;padding:11px;background:#fff4f1!important}.zone-safety[hidden]{display:none}
@media(max-width:420px){.zone-legend{gap:8px}.zone-row{gap:7px}.zone-row button{padding:6px}}

.zone-row select{min-width:70px;max-width:90px;padding:6px 4px;border:1px solid #d4ddd0;background:white;color:#344638;font-size:11px;border-radius:6px}.zone-row .zone-name{min-width:0}

/* v0.8: machine-time forecast and sampled terrain overlay */
.production-panel{border:1px solid #ccd7c8;background:linear-gradient(125deg,#f1f5ee,#fff);border-radius:12px;padding:17px;margin:14px 0 16px}
.production-head{display:flex;flex-direction:column;gap:5px}.production-head span{font-size:9px;color:#7a8b76;letter-spacing:1.2px;font-weight:900}.production-head strong{font:800 26px 'Barlow Condensed',sans-serif;color:#25402d}
.production-value{font:800 28px 'Barlow Condensed',sans-serif;color:#254a35;margin:9px 0}.production-components{font-weight:750;color:#526754;font-size:11px;line-height:1.55}
.production-panel p{color:#788676;font-size:10px;line-height:1.55;margin:9px 0 7px}.production-panel button{padding:0;font-size:11px!important}
.slope-sampling-panel{background:#f4f8f3;border:1px solid #c9dbc8;border-radius:10px;padding:13px;margin:11px 0 14px}
.slope-sampling-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.slope-sampling-head strong{font:750 21px 'Barlow Condensed',sans-serif;color:#2e4836}.slope-sampling-head span{color:#748772;font-size:10px}
.slope-sampling-panel>label{display:grid;gap:5px;font-size:10px;color:#506a56;font-weight:800}.slope-sampling-panel select{padding:11px;background:#fff;border:1px solid #cbd7c8;border-radius:7px;color:#344b38;font-size:12px;max-width:100%}
.slope-scan-button{width:100%;padding:12px;background:#274a35;color:#fff;border:none;border-radius:8px;margin-top:9px;font-size:12px;font-weight:800}
.slope-sampling-panel .helper{font-size:10px;line-height:1.55;margin-bottom:0}.slope-sampling-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.slope-sampling-result[hidden]{display:none}.slope-sampling-result>div{background:#fff;border:1px solid #d5e0d2;border-radius:7px;padding:9px}.slope-sampling-result small{display:block;font-size:9px;color:#728673;font-weight:800}.slope-sampling-result b{display:block;color:#2c4e39;font-size:16px;margin-top:4px}
.slope-map-key{position:absolute;left:12px;bottom:98px;z-index:510;width:220px;max-width:calc(100% - 24px);background:rgba(252,254,248,.97);border:1px solid #c5d4c3;border-radius:11px;box-shadow:0 4px 20px #07190b30;padding:11px;display:grid;grid-template-columns:1fr 1fr;gap:6px 8px}.slope-map-key[hidden]{display:none}.slope-map-key>div{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:6px}.slope-map-key strong{font-size:9px;letter-spacing:.5px;color:#2b4d37}.slope-map-key button{background:transparent;border:0;font-size:22px;color:#334b39}.slope-map-key span{display:flex;align-items:center;gap:6px;font-size:10px;color:#405b49;font-weight:750}.slope-map-key i{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #44504455}.slope-map-key small{grid-column:1/-1;font-size:9px;line-height:1.35;color:#6a786b}
@media(max-width:800px){.slope-map-key{bottom:165px;left:10px}.map-expanded .slope-map-key{bottom:170px}}

/* v0.9 — parcel reference, site access, field photos, job confidence */
.parcel-map-tools{position:absolute;z-index:520;left:12px;top:124px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;width:min(520px,calc(100% - 20px));pointer-events:auto}
.parcel-map-tools label,.parcel-map-tools button,.parcel-map-tools span{background:rgba(248,250,244,.97);border:1px solid #cbd7cd;border-radius:7px;padding:8px;font-size:10px;color:#294b34;font-weight:750}
.parcel-map-tools label{display:flex;align-items:center;gap:6px}.parcel-map-tools label input{accent-color:#24563d;width:15px;height:15px}.parcel-map-tools button{cursor:pointer}.parcel-map-tools button.placing{background:#c8a55b;color:#172a1d}
.parcel-map-tools span{font-size:9px;color:#5d6c5a;flex:1 1 150px}.lf-parcel-outline{pointer-events:none}
.field-planner,.confidence-panel{border-radius:12px;padding:16px;margin:20px 0;border:1px solid #cfdbc9;background:#f6f9f3}.field-title{display:grid;gap:4px}.field-title span{font-size:10px;letter-spacing:1px;font-weight:900;color:#62816b}.field-title strong{font:800 26px 'Barlow Condensed',sans-serif;color:#1f402d}.field-planner .helper{font-size:11px;line-height:1.6}
.pin-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.pin-controls label,.stem-label{font-size:10px;font-weight:800;color:#415c47;display:grid;gap:4px}.pin-controls select,.pin-controls input,.stem-label select{width:100%;min-width:0;border:1px solid #cedccc;background:#fff;color:#20382a;border-radius:8px;padding:10px;font-size:12px}.pin-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.pin-actions button,.pin-photo-button{border-radius:8px;background:#274f38;color:#fff;border:1px solid #274f38;padding:10px 12px;font-size:11px;font-weight:850;cursor:pointer}.pin-photo-button{background:#e9f3ec;color:#24543a}.pin-save-opt{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#405d48}.pin-save-opt input{accent-color:#2b5b3a;width:16px;height:16px}.pin-list{display:grid;gap:7px;margin-top:12px}.pin-row{display:flex;align-items:center;gap:10px;border:1px solid #d3e0d2;background:#fff;border-radius:8px;padding:9px}.pin-glyph{display:grid;place-items:center;color:#fff;width:32px;height:32px;border-radius:50%;flex-shrink:0;font-size:16px}.pin-row small{font-size:10px;color:#687b6c}.pin-row b{font-size:11px;display:block;color:#23422c}.pin-row .pin-words{flex:1;min-width:0;overflow-wrap:anywhere}.pin-row button{border:1px solid #dbd5d2;border-radius:6px;padding:6px 9px;background:#fff;color:#87433f;font-size:10px}.pin-row img{height:42px;width:42px;border-radius:6px;object-fit:cover}.lf-site-pin{border:2px solid #fff;box-shadow:0 1px 6px #0009;border-radius:50%;width:31px!important;height:31px!important;display:flex;align-items:center;justify-content:center;font-size:16px}
.confidence-state{padding:10px 12px;margin:12px 0 8px;border-radius:8px;background:#eef3e7;border:1px solid #cadaca;color:#325740;font-size:12px;font-weight:850}.confidence-state.review{background:#fff4e5;border-color:#e0c097;color:#845226}.confidence-list{margin:8px 0;padding:0 0 0 17px;font-size:11px;line-height:1.65;color:#51634d}.confidence-list li{padding:2px 0}.confidence-panel .helper{font-size:10px}
@media(max-width:800px){.parcel-map-tools{top:120px;max-width:calc(100% - 24px)}.parcel-map-tools span{display:none}.map-expanded .parcel-map-tools{top:120px}.pin-controls{grid-template-columns:1fr}}


/* v1.0 mobile usability repair: free map gestures, not a toolbar obstacle course */
.map-expanded .map-pane{position:fixed!important;inset:0!important;z-index:2000!important;width:100vw!important;height:100dvh!important;max-height:none!important;min-height:0!important;overflow:hidden!important;}
body.map-expanded{overflow:hidden!important;overscroll-behavior:none;}
html.map-expanded{overflow:hidden!important;}
.map-expanded #toast{z-index:2500;}
#mapToolsBtn{display:none;}
.slope-map-key #toggleSlopeLegend{display:none;font-size:16px;min-width:29px;min-height:30px;}
@media(max-width:800px){
 .map-pane{height:72dvh;min-height:500px;max-height:760px;}
 .map-expanded .map-pane{height:100dvh!important;max-height:none!important;}
 .map-search{top:calc(9px + env(safe-area-inset-top,0px));left:9px;right:9px;min-height:55px;padding:5px;}
 .map-search input{font-size:13px;}
 .map-actions,.map-expanded .map-actions{top:calc(72px + env(safe-area-inset-top,0px));left:9px;right:9px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;z-index:540;max-width:none;width:auto;align-items:stretch;}
 .map-actions button{min-width:0;min-height:44px;padding:7px 4px!important;line-height:1.2;font-size:11px!important;border-radius:9px;white-space:normal;}
 #mapToolsBtn{display:block;grid-column:3;grid-row:1;}
 #expandMapBtn{grid-column:4;grid-row:1;margin-left:0!important;background:#fff;}
 .map-actions .map-extra-action{display:none;}
 .map-pane.map-tools-open .map-actions .map-extra-action{display:block;grid-row:2;font-size:11px!important;}
 .map-pane.map-tools-open #editBtn{grid-column:1;}
 .map-pane.map-tools-open #clearBtn{grid-column:2;}
 .map-pane.map-tools-open #clearTrailsBtn{grid-column:3 / span 2;}
 .map-pane .parcel-map-tools,.map-pane .imagery-picker{display:none;}
 .map-pane.map-tools-open .parcel-map-tools{display:flex;top:calc(170px + env(safe-area-inset-top,0px));left:9px;right:9px;width:auto;max-width:none;justify-content:space-between;padding:6px;background:#f7f8f0f0;border:1px solid #bfcebe;border-radius:9px;z-index:545;}
 .map-pane.map-tools-open .parcel-map-tools label,.map-pane.map-tools-open .parcel-map-tools button{flex:1;text-align:center;min-height:36px;display:flex;align-items:center;justify-content:center;padding:5px;font-size:11px;}
 .map-pane.map-tools-open .imagery-picker{display:flex;top:calc(233px + env(safe-area-inset-top,0px));left:9px;right:9px;max-width:none;width:auto;padding:8px 10px;z-index:545;}
 .map-pane.map-tools-open .imagery-picker small{display:none;}
 .map-hint{display:none;}
 .map-pane.map-guidance .map-hint{display:block;left:12px;right:12px;bottom:134px;padding:7px 10px;max-width:none;font-size:11px;z-index:535;}
 .map-foot{height:33px;min-height:33px;padding:4px 10px;font-size:9px;}
 .map-foot #demoBtn{font-size:10px;}
 .mobile-quote-bar:not([hidden]){bottom:36px;left:9px;right:9px;}
 .map-pane:has(.mobile-quote-bar:not([hidden])) .map-hint{bottom:118px;}
 .slope-map-key,.map-expanded .slope-map-key{left:10px;bottom:125px;width:auto;max-width:calc(100% - 20px);padding:5px 8px;gap:0;background:rgba(252,254,248,.97);border-radius:9px;display:flex;align-items:center;}
 .slope-map-key[hidden]{display:none;}
 .slope-map-key>div{width:100%;gap:8px;}
 .slope-map-key strong{font-size:10px;}
 .slope-map-key #toggleSlopeLegend{display:inline-flex;justify-content:center;align-items:center;padding:0;}
 .slope-map-key:not(.show-details)>span,.slope-map-key:not(.show-details)>small{display:none;}
 .slope-map-key.show-details{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:11px;max-width:260px;}
 .slope-map-key button{font-size:19px;}
 .map-expanded .map-foot{display:none;}
 .map-expanded .mobile-quote-bar:not([hidden]){bottom:calc(10px + env(safe-area-inset-bottom,0px));}
 .map-expanded .slope-map-key{bottom:100px;}
 .map-expanded .map-pane.map-guidance .map-hint{bottom:100px;}
 .map-expanded .map-actions #expandMapBtn{background:#2c5139!important;color:#fff!important;}
 .map-expanded .map-pane #map{height:100%;width:100%;}
 .leaflet-bottom.leaflet-right{bottom:5px;right:5px;}
 .map-pane.map-tools-open .leaflet-control-zoom{opacity:.6;}
}
@media(max-width:420px){
 .map-actions button{padding:6px 3px!important;font-size:10px!important;}
 .map-search button{font-size:11px;}
}

/* v0.11 guided customer experience: intentionally separate from operator controls */
[hidden]{display:none!important}
.customer-mode-switch{border-color:#b99b5f!important;color:#f6dfa0!important;font-weight:800!important}
.customer-flow,.customer-review{display:none}
body.customer-mode .intro,body.customer-mode .estimator-pane,body.customer-mode .site-footer,body.customer-mode .internal-pill,body.customer-mode #settingsBtn{display:none!important}
body.customer-mode .customer-flow{display:block;max-width:1280px;margin:auto;padding:26px 22px 22px;background:#f8f8f2;color:#1f2e22}
.customer-flow-head{display:flex;gap:12px;align-items:center;justify-content:space-between}
.customer-eyebrow{font-weight:850;font-size:10px;letter-spacing:1.4px;color:#527055}
.customer-exit,.customer-link{background:transparent;border:0;color:#355744;font-weight:800;cursor:pointer;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.customer-flow h1{font:800 clamp(34px,5vw,59px)/1.04 'Barlow Condensed',sans-serif;margin:10px 0 10px;max-width:880px}
.customer-flow p{margin:0 0 20px;color:#576a58;font-size:14px;line-height:1.55;max-width:650px}
.customer-progress{display:flex;gap:9px;align-items:center;max-width:780px}
.customer-progress span{display:flex;flex:1;align-items:center;gap:7px;padding:11px 9px;border-radius:9px;background:#e4e9df;font-size:12px;color:#617363;font-weight:800}
.customer-progress span b{width:23px;height:23px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#d0d9cb}
.customer-progress span.current{background:#1f2e22;color:white}.customer-progress span.current b{background:#c8a55b;color:#1f2e22}
body.customer-mode .workspace{display:block;max-width:1280px;margin:auto}
body.customer-mode .map-pane{height:min(68dvh,770px);min-height:430px;max-height:none}
body.customer-mode .map-actions,body.customer-mode .imagery-picker,body.customer-mode .parcel-map-tools,body.customer-mode .map-hint,body.customer-mode .mobile-quote-bar,body.customer-mode .map-foot,body.customer-mode .slope-map-key{display:none!important}
body.customer-mode .map-search{left:18px;right:18px;top:16px;max-width:850px;margin:0 auto}
body.customer-mode .customer-map-guidance{display:block!important;position:absolute;bottom:16px;left:18px;right:18px;max-width:850px;margin:0 auto;z-index:760;pointer-events:none}
.customer-map-banner{border-radius:9px;background:rgba(26,48,34,.96);color:#fff;font-size:13px;line-height:1.5;padding:12px 14px;box-shadow:0 6px 25px #0004;margin-bottom:8px}
.customer-map-quick{display:flex;gap:7px;margin-bottom:8px;flex-wrap:wrap;pointer-events:auto}
.customer-map-quick button{flex:1 1 130px;background:#fff;border:1px solid #d1dccb;color:#1f2e22;border-radius:9px;padding:13px 10px;font-size:12px;font-weight:800;box-shadow:0 4px 18px #0004;cursor:pointer}
.customer-gold-button,.customer-map-quick .customer-gold-button{border:0;background:#c8a55b;color:#142419;font-weight:850;border-radius:9px;padding:14px 16px;cursor:pointer}
.customer-map-cta{display:flex;gap:8px;align-items:stretch;pointer-events:auto}
.customer-map-cta .customer-gold-button{flex:1;font-size:13px;min-height:46px}
.customer-quiet{border:1px solid #acbdab;background:#fff;color:#233a29;padding:12px 18px;border-radius:9px;font-weight:800;cursor:pointer}
.customer-fullscreen{position:absolute;right:0;bottom:calc(100% + 13px);background:white;border:1px solid #c9d5c7;color:#1f2e22;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:800;box-shadow:0 4px 15px #0006;pointer-events:auto;cursor:pointer}
body.customer-mode.map-expanded .map-pane{max-width:none;height:100dvh!important;min-height:0}
body.customer-mode.map-expanded .map-search{max-width:850px}
body.customer-mode .customer-review{display:block;background:#f8f8f2;padding:25px 18px 60px}
.customer-review-inner{max-width:780px;margin:auto}.customer-review-title h2{font:800 clamp(32px,5vw,52px)/1.05 'Barlow Condensed',sans-serif;margin:8px 0 9px}.customer-review-title p{font-size:14px;line-height:1.5;color:#657265}
.customer-review-summary{border:1px solid #d5dfd0;border-left:4px solid #c8a55b;padding:14px;background:white;border-radius:9px;font-size:13px;font-weight:750;margin:18px 0}
.customer-question{margin:20px 0}.customer-question strong{display:block;font-size:15px;margin-bottom:9px}
.customer-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.customer-options button{min-height:49px;border:1px solid #cfdbce;background:white;border-radius:9px;padding:8px 6px;font-size:12px;font-weight:800;color:#2c4833;cursor:pointer}
.customer-options button.selected{background:#1f2e22;border-color:#1f2e22;color:#f7efdd}
.customer-budget{background:#1f2e22;color:#fff;border-radius:12px;padding:21px;margin:23px 0;display:grid;gap:6px}
.customer-budget span{font-size:10px;color:#c8a55b;letter-spacing:1px;font-weight:800}
.customer-budget strong{font:800 clamp(27px,4vw,43px)/1.2 'Barlow Condensed',sans-serif}
.customer-budget small{font-size:12px;color:#cbd8cb;line-height:1.45}
.customer-contact{background:#fff;border:1px solid #dfe7db;border-radius:12px;padding:21px;margin:16px 0}.customer-contact h3{font:800 27px 'Barlow Condensed',sans-serif;margin:0 0 6px}.customer-contact>p{font-size:12px;color:#607060;line-height:1.5;margin:0 0 13px}
.customer-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:13px 0}.customer-contact label,.customer-details-grid label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#35523b;margin:12px 0}.customer-contact label span{color:#8a9588;font-weight:500}
.customer-contact input,.customer-details-grid select,.customer-contact textarea{width:100%;border:1px solid #becfbb;color:#1f2e22;background:#fff;border-radius:8px;padding:12px;font:500 15px 'DM Sans',sans-serif;min-height:46px;min-width:0}
.customer-contact textarea{resize:vertical}.customer-photo-state{font-size:11px;line-height:1.5;color:#617463}
.customer-submit{display:block;width:100%;min-height:55px;font-size:15px}.customer-result{background:#e9f1e9;border:1px solid #b7d4b7;border-radius:10px;margin:18px 0;padding:16px;color:#1b3d27;white-space:pre-line;font-size:13px;line-height:1.6}
.customer-privacy{font-size:11px;line-height:1.65;color:#758475;margin-top:13px}

@media(max-width:800px){body.customer-mode .customer-flow{padding:19px 15px 15px}body.customer-mode .map-pane{height:66dvh;min-height:440px}body.customer-mode .map-search{top:11px;left:10px;right:10px}.customer-progress span{font-size:10px;padding:8px 5px}.customer-progress span b{width:21px;height:21px}.customer-map-quick button{min-height:47px}.customer-map-quick{gap:5px}.customer-map-guidance{left:10px!important;right:10px!important;bottom:9px!important}.customer-map-banner{font-size:11px;padding:9px 11px}.customer-fullscreen{font-size:11px}.customer-review{padding:20px 15px 50px!important}}
@media(max-width:470px){.customer-flow h1{font-size:35px}.customer-options{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-details-grid{grid-template-columns:1fr;gap:0}.customer-map-quick button{flex:1 1 calc(48% - 6px)}.customer-progress span{gap:3px;font-size:9px}.customer-map-cta .customer-gold-button{padding:10px;font-size:12px}}

@media(max-width:470px){.customer-mode-switch{padding:8px!important;font-size:10px!important;max-width:117px;line-height:1.15}.main-header .brand-word{font-size:22px}.main-header .brand-badge{width:38px;height:38px}.header-actions{gap:5px}.header-actions .header-button{padding:8px!important}}

/* Step 3 is a summary: reclaim the screen for the review form. */
body.customer-mode .customer-map-guidance[hidden]{display:none!important}
body.customer-mode[data-customer-step="3"] .map-pane{height:255px!important;min-height:255px!important;max-height:255px!important}
body.customer-mode[data-customer-step="3"] .map-search{display:none!important}
body.customer-mode[data-customer-step="3"] .customer-review{padding-top:22px}

/* v0.12: transparent and recoverable mobile aerial loading. */
.customer-imagery-status{position:absolute;z-index:735;top:94px;left:18px;right:18px;max-width:440px;margin:0 auto;border-radius:9px;border:1px solid #d9d7c2;background:rgba(251,252,247,.96);color:#243a2c;padding:9px 12px;box-shadow:0 4px 14px #0002;font-size:12px;font-weight:750;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}
.customer-imagery-status[hidden]{display:none!important}
.customer-imagery-status button{border:1px solid #c8a55b;background:#1f2e22;color:#fff;font:800 11px 'DM Sans',sans-serif;padding:7px 10px;border-radius:6px;pointer-events:auto}
body:not(.customer-mode) .customer-imagery-status{display:none!important}
@media(max-width:800px){.customer-imagery-status{left:10px;right:10px;top:90px}}
body.customer-mode[data-customer-step="3"] .customer-imagery-status{top:9px}

.customer-budget-flags{background:rgba(255,255,255,.10);padding:11px 13px;border:1px solid rgba(255,255,255,.2);border-radius:9px;margin-top:6px}.customer-budget-flags p{font-size:12px;line-height:1.5;margin:5px 0;color:#f0e9d9}.customer-budget-flags[hidden]{display:none}

/* v0.17 terrain-auto: quiet, accessible, nonblocking readout. */
.customer-terrain-status{margin:9px 0 11px;padding:10px 12px;border:1px solid #d5e1d2;border-radius:9px;background:#eef3e9;color:#26432c;font-size:12px;line-height:1.5;font-weight:650}
.customer-terrain-status[data-state="checking"]{background:#f8f5e8;border-color:#ead7a9;color:#675227}
.customer-terrain-status[data-state="error"]{background:#f5f3ed;border-color:#e2d9c8;color:#655e4f}

/* v0.18 customer-first mobile polish: map first, visible price, optional details. */
body.customer-mode .customer-flow{padding:14px 20px 13px}
body.customer-mode .customer-flow h1{font:800 clamp(27px,4vw,43px)/1.03 'Barlow Condensed',sans-serif;margin:7px 0 4px}
body.customer-mode .customer-flow p{font-size:12px;line-height:1.35;margin:0 0 10px}
body.customer-mode .customer-flow-head{min-height:24px}
body.customer-mode .customer-progress{gap:6px}
body.customer-mode .customer-progress span{padding:7px 8px}
body.customer-mode .customer-progress span b{width:20px;height:20px}
body.customer-mode .workspace{min-height:0!important}
body.customer-mode .map-pane{min-height:0}
body.customer-mode[data-customer-step="3"] .map-pane{display:none!important}
body.customer-mode[data-customer-step="3"] .customer-flow{display:none!important}
body.customer-mode[data-customer-step="3"] .customer-review{padding-top:6px}
body.customer-mode .customer-map-scope{background:rgba(248,249,242,.97);color:#233a2a;border-radius:10px;padding:10px 13px;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;border:1px solid #c8a55b;margin:0 0 8px;box-shadow:0 3px 16px #0003;pointer-events:none}
body.customer-mode .customer-map-scope[hidden]{display:none!important}
.customer-map-scope span{font-size:11px;font-weight:750}
.customer-map-scope strong{font:800 23px/1 'Barlow Condensed',sans-serif;color:#1f2e22}
.customer-map-scope small{grid-column:1/-1;font-size:10px;color:#5f715d}
body.customer-mode .customer-review-title h2{font-size:clamp(31px,5vw,45px);margin:8px 0 5px}
body.customer-mode .customer-review-title p{font-size:12px;line-height:1.45;margin:0}
body.customer-mode .customer-review-summary{margin:13px 0;padding:11px;font-size:12px}
body.customer-mode .customer-budget{margin:12px 0 8px;padding:18px 19px;gap:6px}
body.customer-mode .customer-budget strong{font-size:clamp(36px,7vw,53px);line-height:1.05;color:#fff}
.customer-budget-range{font-size:14px;color:#f2e2b9;font-weight:750}
.customer-extra-details{background:#fff;border:1px solid #d4ded1;border-radius:10px;margin:16px 0;padding:0 13px}
.customer-extra-details summary,.customer-contact summary{cursor:pointer;list-style:none;padding:14px 2px;font-size:13px;color:#25452f;font-weight:850}
.customer-extra-details summary::-webkit-details-marker,.customer-contact summary::-webkit-details-marker{display:none}
.customer-extra-details summary:after,.customer-contact summary:after{content:'+';font-size:20px;float:right;color:#25452f;line-height:17px}
.customer-extra-details[open] summary:after,.customer-contact[open] summary:after{content:'−'}
.customer-extra-details summary span{display:block;font-size:11px;color:#718272;font-weight:550;margin-top:4px}
.customer-extra-details[open] summary{border-bottom:1px solid #e1e8e0}
.customer-contact{padding:0 14px}
.customer-contact summary span{font-size:11px;color:#76816f}
.customer-contact-content{padding:0 3px 16px}
.customer-question{margin:14px 0}
@media(max-width:800px){
 body.customer-mode .customer-flow{padding:8px 12px 10px}
 body.customer-mode .customer-flow-head{display:none}
 body.customer-mode .customer-flow h1{font-size:28px;margin:3px 0}
 body.customer-mode .customer-flow h1{font-size:29px;margin:5px 0 3px}
 body.customer-mode .customer-flow p{font-size:11px;margin:0 0 8px}
 body.customer-mode .customer-progress span{padding:6px 5px;font-size:10px;line-height:1.2}
 body.customer-mode .customer-progress span b{width:20px;height:20px}
 body.customer-mode .map-pane{height:calc(100dvh - 205px);min-height:350px;max-height:none}
 body.customer-mode[data-customer-step="3"] .map-pane{display:none!important}
body.customer-mode[data-customer-step="3"] .customer-flow{display:none!important}
 body.customer-mode .customer-review{padding:14px 12px 40px!important}
 body.customer-mode .customer-budget{padding:16px;margin:10px 0 7px}
 body.customer-mode .customer-map-guidance{bottom:9px}
}
@media(max-width:420px){
 body.customer-mode .customer-progress span{font-size:9px}
 body.customer-mode .customer-map-banner{padding:8px 10px;line-height:1.35}
 body.customer-mode .customer-map-quick button{min-height:44px;padding:10px 6px}
 body.customer-mode .customer-budget strong{font-size:38px}
}

/* v0.19 - voluntary property-link and Jobber-hosted intake handoff */
.customer-handoff{background:#fff;border:1px solid #d5dfd0;border-radius:13px;padding:16px;margin:16px 0 19px;box-shadow:0 2px 11px #12271a09}
.customer-handoff-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.customer-handoff-top strong{font:800 24px 'Barlow Condensed',sans-serif;color:#203b29}
.customer-handoff-top span{font-size:9px;letter-spacing:.6px;font-weight:850;color:#5d7a60}
.customer-handoff p{font-size:12px;line-height:1.55;color:#637366;margin:7px 0 12px}
.customer-handoff-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.customer-handoff-actions button,.customer-jobber button{border-radius:9px;min-height:49px;padding:12px 10px;background:#f4f6f0;border:1px solid #c9d7c7;font-weight:850;font-size:12px;color:#25412e;cursor:pointer}
.customer-handoff-actions .customer-handoff-primary{background:#1f2e22;color:#fff;border-color:#1f2e22}
.customer-handoff .customer-handoff-status{font-size:11px;color:#24533a;margin:10px 0 2px;font-weight:750;min-height:16px}
.customer-handoff #customerHandoffFallback{margin-top:12px}
.customer-handoff #customerHandoffFallback label{display:block;color:#475c4c;font-size:11px;margin-bottom:7px}
.customer-handoff #customerHandoffText{display:block;width:100%;min-height:64px;padding:10px;line-height:1.3;border:1px solid #cbd7cb;border-radius:6px;color:#253b2a;background:white;resize:vertical;font-size:12px}
.customer-handoff .customer-jobber{padding:12px 0 0;border-top:1px solid #d6e0d3;margin-top:13px}
.customer-handoff .customer-jobber button{background:#c8a55b;color:#182b1e;border-color:#c8a55b;width:100%;font-size:13px}
.customer-handoff .customer-handoff-pending{font-size:11px;background:#f3f4ef;padding:10px;border-radius:8px;margin:12px 0 0;color:#596958}
@media(max-width:430px){.customer-handoff-actions{grid-template-columns:1fr}.customer-handoff-top strong{font-size:22px}}

/* v0.20 — internal sampled slope-area distribution. No customer-mode UI changes. */
.slope-coverage{margin-top:13px;padding:12px 12px 10px;border:1px solid #cfdbce;border-radius:9px;background:#f7f9f3;color:#263d2c}
.slope-coverage>strong{display:block;font-size:11px;margin-bottom:10px}
.slope-coverage-bar{height:13px;display:flex;border-radius:4px;overflow:hidden;background:#e4e8df}
.slope-coverage-bar>span{height:100%;min-width:0}
.slope-coverage-rows{margin:9px 0;display:grid;gap:7px}
.slope-coverage-rows>div{display:flex;align-items:center;gap:7px;font-size:11px}
.slope-coverage-rows i{width:10px;height:10px;border-radius:2px;flex:none}
.slope-coverage-rows span{flex:1}
.slope-coverage-rows b{font-variant-numeric:tabular-nums;white-space:nowrap}
.slope-coverage-alert{border-left:3px solid #b86b2b;background:#f9eee1;padding:8px 9px;font-size:11px;line-height:1.5;color:#6a4a28}
.slope-coverage .helper{margin:10px 0 0;font-size:10px;line-height:1.5}
body.customer-mode .slope-coverage{display:none!important}

/* v0.20.2: customer map-first workspace. Internal Pro layout is unchanged. */
@media(min-width:801px){
 body.customer-mode .main-header{height:64px;padding-inline:clamp(18px,2.5vw,38px)}
 body.customer-mode .customer-flow,
 body.customer-mode .workspace{max-width:min(1560px,96vw)}
 body.customer-mode .customer-flow{padding:11px 15px 10px}
 body.customer-mode .customer-flow-head{min-height:17px}
 body.customer-mode .customer-flow h1{font-size:clamp(31px,3.2vw,41px);margin:4px 0 2px}
 body.customer-mode .customer-flow p{margin:0 0 8px;font-size:12px}
 body.customer-mode .customer-progress{max-width:760px;gap:7px}
 body.customer-mode .customer-progress span{padding:5px 9px;font-size:11px}
 body.customer-mode .customer-progress span b{width:20px;height:20px}
 body.customer-mode .map-pane{
   height:clamp(560px,calc(100dvh - 180px),900px);
   min-height:560px;
   max-height:none;
 }
}
body.customer-mode .workspace{min-height:0}
body.customer-mode .map-search{
 left:18px;right:auto;top:15px;
 width:min(640px,calc(100% - 190px));max-width:none;
 margin:0;
 padding:5px 6px;
 box-shadow:0 5px 19px #0003;
}
body.customer-mode .map-search input{padding:9px 7px}
body.customer-mode .map-search button{padding:10px 14px}
body.customer-mode .customer-fullscreen{
 display:block;position:absolute;top:15px;right:18px;bottom:auto;
 z-index:800;padding:12px 15px;min-height:44px;
 border:1px solid #d3d8cb;box-shadow:0 5px 19px #0005;
}
body:not(.customer-mode) .customer-fullscreen{display:none!important}
body.customer-mode .customer-imagery-status{
 top:76px;left:18px;right:auto;
 max-width:min(430px,calc(100% - 36px));margin:0;
 padding:7px 10px;font-size:11px;
}
body.customer-mode .customer-map-guidance{
 left:18px;right:18px;bottom:14px;
 max-width:680px;margin:0 auto;
}
body.customer-mode .customer-map-banner{
 width:fit-content;max-width:100%;margin:0 0 7px;
 font-size:11px;line-height:1.35;padding:8px 12px;
}
body.customer-mode .customer-map-cta .customer-gold-button{min-height:48px}
body.customer-mode.map-expanded .map-pane{
 position:fixed!important;inset:0!important;z-index:2000!important;
 width:100vw!important;height:100dvh!important;min-height:0!important;
 max-height:none!important;
}
body.customer-mode.map-expanded .map-search{max-width:none}
body.customer-mode.map-expanded .customer-fullscreen{z-index:2100;background:#1f2e22;color:#fff;border-color:#c8a55b}
@media(max-width:800px){
 body.customer-mode .map-pane{height:calc(100dvh - 176px);min-height:400px;max-height:none}
 body.customer-mode .map-search{
  left:10px;right:10px;top:10px;width:auto;max-width:none;
  padding:4px 5px;
 }
 body.customer-mode .map-search input{padding:9px 5px}
 body.customer-mode .map-search button{padding:10px 8px}
 body.customer-mode .customer-fullscreen{
  right:10px;top:76px;bottom:auto;
  padding:10px 12px;min-height:39px;font-size:11px;
 }
 body.customer-mode .customer-imagery-status{
  left:10px;right:auto;top:123px;
  max-width:min(330px,calc(100% - 20px));
 }
 body.customer-mode .customer-map-guidance{bottom:9px;left:10px;right:10px;max-width:640px}
 body.customer-mode .customer-map-banner{font-size:11px;padding:7px 9px}
}
@media(max-width:470px){
 body.customer-mode .map-search button span{display:none}
 body.customer-mode .map-search button{font-size:11px}
 body.customer-mode .customer-fullscreen{top:71px}
 body.customer-mode .customer-imagery-status{top:115px}
}

body.customer-mode .settings-drawer{display:none!important}
