/* Planner layout: a persistent map and one readable planning step at a time. */
:root{--muted:#53645b;--line:#d6dfd4;--sheet-height:48dvh}
body{font-size:15px;color:#18392f;background:#f5f7f1}.header{height:76px;padding:0 24px;gap:20px}.header nav{margin-left:24px;gap:24px}.nav{font-size:14px;min-height:44px}.mvp{font-size:11px;color:#52634c}.button,.text-button{font-size:14px;min-height:44px}.button.primary{justify-content:center;font-size:15px;min-height:48px}.icon-button{min-width:44px;min-height:44px}.hint,.footnote,.disclaimer{font-size:13px;line-height:1.6;color:#53645b}.eyebrow{font-size:11px;color:#3d583c;letter-spacing:1.3px}label{font-size:14px;color:#344e41;margin:18px 0 8px}input,select{font-size:16px;min-height:46px;padding:12px}input::placeholder{color:#617164}summary{min-height:44px;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}h2[tabindex="-1"]:focus{outline:none}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #275bca;outline-offset:3px}
#workspace{display:grid;grid-template-columns:410px minmax(0,1fr);height:calc(100dvh - 76px);min-height:440px;position:relative;overflow:hidden}.sidebar{width:auto!important;padding:0!important;display:flex!important;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:#fff;z-index:900}.planner-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:18px 12px 14px;border-bottom:1px solid var(--line);flex-shrink:0}.planner-steps button{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;min-height:62px;border:0;background:transparent;font-size:12px;color:#526257;padding:4px 0;border-radius:8px}.planner-steps button span{display:grid;place-items:center;width:27px;height:27px;background:#edf1e8;border-radius:50%;font-weight:700}.planner-steps button.active{color:#18392f;background:#f0f5e6;font-weight:700}.planner-steps button.active span{background:#224d40;color:white}.planner-steps button:disabled{opacity:.6;cursor:not-allowed}#planner-content{overflow:auto;overscroll-behavior:contain;min-height:0;padding:26px 24px;flex:1}.intro{padding:0 0 16px}.intro h1{font-size:30px;letter-spacing:-.8px;line-height:1.2;margin:14px 0}.intro p{font-size:15px;color:#53645b;margin:14px 0}.form-section{padding:10px 0 0;border-top:0}.form-section h2{font-size:25px;line-height:1.2;display:block;margin:16px 0}.search-box{border:1px solid #839b83;box-shadow:0 2px 8px #18392f0b}.search-box input{min-height:54px}.search-box button{min-width:48px}.search-result{font-size:15px;padding:14px}.search-result strong{font-size:15px}.search-result span{font-size:13px}.two-buttons button{font-size:13px;white-space:normal;min-height:44px;padding:10px}.parcel-mode{font-size:14px;min-height:48px}.optional{font-size:12px}.location-summary{font-size:14px;color:#365438;background:#edf3e6;padding:14px;overflow-wrap:anywhere}.advanced-settings{border:1px solid var(--line);border-radius:10px;margin:22px 0 12px;padding:0 14px}.advanced-settings summary{display:list-item;padding:14px 0;font-weight:600}.advanced-settings .field-grid{grid-template-columns:1fr}.advanced-settings .hint{margin-bottom:16px}.scope-chip{font-size:13px;font-weight:600;background:#fff;padding:9px 12px;border:1px solid var(--line);border-radius:8px;margin:10px 0;color:#264b3a;line-height:1.5}.sidebar-bottom{padding:24px 0 0;margin-top:20px;color:#53645b}.sidebar-bottom p{font-size:12px}.sidebar-bottom .shield{display:none}.show-map{border-radius:0;border:0;border-top:1px solid var(--line);min-height:50px;flex-shrink:0;background:#f3f7ed}.sheet-toggle{display:none}.main-surface{min-width:0;min-height:0}.map-section{height:100%!important;min-height:0;border:0}.map-top{top:20px;left:20px;right:20px}.map-label{font-size:12px;max-width:unset}.map-top .button{font-size:13px}.sidebar-toggle{position:absolute;left:20px;top:74px;z-index:800;box-shadow:0 2px 8px #18392f18}.map-filters{top:74px;right:20px;width:250px;max-height:calc(100% - 220px)}.map-filters summary{font-size:14px;padding:14px}.map-filters label{font-size:13px}.map-filters .hint{font-size:12px}.map-filters select{font-size:14px}.leaflet-control-zoom{margin-top:134px!important;margin-left:20px!important}.leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important}.map-bottom{left:20px;right:20px;bottom:32px;align-items:flex-start;pointer-events:none}.map-bottom .scope-chip{margin:0;width:max-content;max-width:100%;font-size:13px}.legend{font-size:12px;gap:12px;flex-wrap:wrap}.map-bottom #retry-data{font-size:12px;min-height:40px;padding:8px 12px}.map-bottom #data-status{font-size:12px}.parcel-selection-back{display:none!important}.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)!important}.sidebar-collapsed .sidebar{visibility:hidden}.results-section{padding:0}.results-heading{display:block;margin:14px 0}.results-heading h2{font-size:24px;line-height:1.25;overflow-wrap:anywhere}.results-heading .button{margin-top:12px;max-width:none;font-size:14px}.candidate-grid{display:grid;grid-template-columns:1fr;gap:16px}.candidate{display:block;padding:20px;border-radius:12px;border-color:#cbd7c7;background:white}.candidate h3{font-size:18px;line-height:1.4;padding-right:24px}.candidate p{font-size:14px;color:#53645b}.candidate .rank{display:grid;min-width:27px;min-height:27px;font-size:14px}.badge{font-size:12px;padding:6px 9px;background:#edf3e7;color:#385535}.badge.warn{background:#fff1d8;color:#79500a}.candidate .distance-row strong{font-size:22px}.candidate small,.cost-label{font-size:12px;color:#53645b}.cost-value{font-size:20px}.result-tools{display:block;font-size:13px;color:#53645b}.result-tools .text-button{display:block;margin-top:8px}.empty-state{display:block;padding:20px}.empty-state h3{font-size:19px}.empty-state p{font-size:14px}.empty-arrow,.empty-symbol{display:none}.start-notes{display:none}.parcel-selection{padding:16px;margin:16px 0}.parcel-selection h3{font-size:17px}.parcel-selection [data-status]{font-size:14px}.parcel-result{font-size:14px;line-height:1.6;padding:12px}.parcel-selection [data-results]{max-height:260px}.parcel-selection .button{font-size:14px}.notice{font-size:14px;line-height:1.65}.page-view{max-width:1300px;margin:auto}#toast{font-size:14px;bottom:20px}.compare-card p,.compare-card dl{font-size:14px}
@media(min-width:1550px){#workspace{grid-template-columns:440px minmax(0,1fr)}#planner-content{padding:30px}}
@media(max-width:1000px) and (min-width:761px){#workspace{grid-template-columns:350px minmax(0,1fr)}.header nav{gap:14px;margin:0}.header .brand{font-size:23px}.header .mvp{display:none}.map-label{display:none}.map-filters{width:220px}#planner-content{padding:22px 18px}.map-top{justify-content:flex-end}}
@media(max-width:760px){.header{height:110px;min-height:110px;padding:12px 16px 0;gap:8px;align-content:space-between}.header nav{height:42px;gap:12px;width:100%;margin:0}.nav{font-size:13px}.header #export{font-size:12px;min-height:40px;padding:8px}.header .brand{font-size:24px}.header .mvp{display:none}#workspace{display:block;height:calc(100dvh - 110px);min-height:300px}.main-surface{height:100%}.sidebar{position:absolute;left:0;right:0;bottom:0;height:var(--sheet-height);max-height:calc(100% - 12px);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;box-shadow:0 -6px 25px #18392f20;transition:height .18s ease;overflow:hidden}.sidebar[data-sheet="middle"]{--sheet-height:48dvh}.sidebar[data-sheet="expanded"]{--sheet-height:calc(100% - 12px)}.sidebar[data-sheet="collapsed"]{--sheet-height:64px}.sheet-toggle{display:flex;position:relative;align-items:center;justify-content:space-between;flex-shrink:0;width:100%;height:64px;min-height:64px;padding:20px 20px 8px;border:0;background:#fff;font-size:16px;font-weight:700;color:#18392f;touch-action:none}.sheet-handle{position:absolute;width:44px;height:4px;background:#718671;border-radius:4px;left:calc(50% - 22px);top:10px}.planner-steps{padding:4px 12px 8px;gap:2px}.planner-steps button{font-size:11px;min-height:48px;gap:3px}.planner-steps button span{width:22px;height:22px}#planner-content{padding:18px 20px}.sidebar[data-sheet="collapsed"] #planner-content,.sidebar[data-sheet="collapsed"] .planner-steps,.sidebar[data-sheet="collapsed"] .show-map{visibility:hidden}.intro h1{display:block;font-size:25px;margin:10px 0}.intro p{display:block;font-size:14px}.intro .eyebrow{font-size:10px}.form-section h2{font-size:23px}.sidebar .hint{font-size:13px}.sidebar .button.primary{font-size:15px;padding:12px}.show-map{min-height:46px;font-size:14px}.sidebar-toggle{display:none}.map-top{top:12px;left:12px;right:12px;justify-content:flex-end}.map-label{display:none}.map-top .button{font-size:12px;min-height:40px}.map-filters{right:12px;top:64px;width:220px;max-height:calc(100% - 150px)}.map-filters summary{font-size:13px;padding:12px}.leaflet-control-zoom{margin-top:12px!important;margin-left:12px!important}.map-bottom{bottom:74px;left:12px;right:12px;gap:5px}.map-bottom .legend,.map-bottom #data-status,.map-bottom #retry-data{display:none}.map-bottom .scope-chip{font-size:12px;max-width:calc(100% - 10px);padding:6px 9px}.leaflet-control-attribution{max-width:100%;font-size:9px!important}.results-heading h2{font-size:23px}.results-heading .button{max-width:none;font-size:14px}.parcel-selection{padding:14px}.parcel-selection [data-results]{max-height:240px}#toast{bottom:74px;font-size:13px;max-width:calc(100% - 24px)}.sidebar .two-buttons{flex-wrap:nowrap}.sidebar .two-buttons button{font-size:13px;white-space:normal}.planner-hidden .sidebar{display:none}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
@media print{#workspace{display:none!important}}

@media(max-width:760px){.sidebar[data-sheet="middle"]{--sheet-height:55dvh}.intro .eyebrow,.intro p{display:none}.intro{padding-bottom:4px}.intro h1{font-size:23px;line-height:1.25;margin:0 0 8px}#planner-content{padding:14px 20px}.form-section>form>label:first-child{margin-top:4px}.sidebar .search-box input{min-height:50px}}

.operator-card{border:1px solid var(--line);padding:18px;border-radius:12px;margin:18px 0;background:#f5f8ef}.operator-card h3{font-size:20px;line-height:1.4}.operator-card p{font-size:14px}.operator-card a{overflow-wrap:anywhere}.operator-card .button{text-decoration:none}
