:root{--ink:#26332c;--muted:#606b5e;--green:#183f32;--field:#83a66b;--earth:#c49a62;--deep:#183f32;--line:#dedfd2;--paper:#f5f2e9;--surface:#fffef9;--shadow:0 6px 24px #183f3224}
*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}body{overflow:hidden}button,input,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--earth);outline-offset:3px}input,select{color:var(--ink)}[hidden]{display:none!important}input[type=file]{display:none}a{color:var(--green)}button,a,input,select{transition:background-color .15s,border-color .15s,box-shadow .15s}button svg{flex:none}::selection{background:#c49a6260}*{scrollbar-width:thin;scrollbar-color:#b3bda6 transparent}
.app{height:100dvh;display:grid;grid-template-columns:376px minmax(0,1fr)}.sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--paper);border-right:1px solid var(--line);z-index:600;box-shadow:3px 0 18px #183f3212}.brand{flex:none;background:var(--deep);padding:22px 24px 16px;border-bottom:3px solid var(--earth)}.brand-lockup{display:flex;align-items:center;gap:13px}.brand-mark{display:block;position:relative;overflow:hidden;width:61px;height:61px;flex:none;border-radius:10px}.brand-mark img{position:absolute;width:898.2456%;max-width:none;height:auto;left:-519.2982%;top:-46.7836%}.brand h1{font-size:1.8rem;font-weight:760;line-height:.98;letter-spacing:-.05em;margin:0;color:var(--paper)}.brand h1 span{display:block}.brand-signature{font-size:.75rem;letter-spacing:.012em;line-height:1.5;margin:14px 0 0;color:#e0e8d8}.fields-panel{display:flex;flex:1;min-height:0;flex-direction:column;overflow:auto}.fields-panel>*{flex-shrink:0}
.summary{margin:20px 20px 18px;padding:17px 18px 14px;border:1px solid #c5d1b8;background:#e7ecdc;border-radius:14px}.summary-label{font-size:.875rem;color:var(--green);font-weight:650}.total{display:flex;align-items:baseline;gap:9px;margin:3px 0 8px}.total strong{font-size:2.65rem;font-weight:650;line-height:1.12;letter-spacing:-.055em;color:var(--deep);font-variant-numeric:tabular-nums}.total span{color:#51634a;font-size:1.125rem}.metrics{display:flex;flex-wrap:wrap;gap:5px 16px;font-size:.8125rem;color:#51634a}.metrics b{color:var(--ink);font-weight:750}.summary p{font-size:.75rem;line-height:1.4;margin:10px 0 0;padding-top:10px;border-top:1px solid #cad5bf;color:#57664f}.warning{color:#8c4b15!important}
label{font-size:.875rem;font-weight:650;display:block;margin-bottom:7px}select,input{width:100%;min-width:0;border:1px solid #ced3c2;border-radius:8px;background:var(--surface);padding:10px 11px;font-size:.875rem;min-height:44px}.field-filter{padding:0 20px 16px}.scope-row{display:flex;gap:8px}.scope-row select{flex:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:8px;padding:10px 13px;font-size:.875rem;font-weight:650;min-height:44px;text-decoration:none}.primary{color:var(--paper);background:var(--green)}.primary:hover{background:#26573f;box-shadow:0 3px 9px #183f321c}.secondary{background:#eef0e5;border-color:#cfd7c3;color:var(--deep)}.secondary:hover{background:#e2e8d6}.wide{width:100%}.text-action{background:none;border:0;padding:9px 3px;font-size:.875rem;font-weight:650;color:var(--green);white-space:nowrap}.text-action:hover{text-decoration:underline}
.search{position:relative;margin:0 20px 10px}.search input{padding-left:36px;background:var(--surface)}.search svg{position:absolute;left:12px;top:14px;color:#728262}.list-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 20px 8px}.list-head strong{font-size:.875rem;color:var(--muted);font-weight:600;flex:1;white-space:nowrap}.plots{flex:1;min-height:100px;overflow:auto;padding:0 12px 16px}.plot{width:100%;border:1px solid transparent;border-bottom-color:#e5e6db;background:transparent;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 9px;border-radius:8px;text-align:left;color:inherit;min-height:68px}.plot:hover{background:#ebeede}.plot.selected{background:#e5ecda;border-color:#aabc93}.check{width:19px;height:19px;border:1.5px solid #a7b299;border-radius:5px;display:grid;place-items:center;background:var(--surface)}.check svg{display:none}.selected .check{background:var(--green);border-color:var(--green)}.selected .check svg{display:block}.plot-info{min-width:0}.plot-name,.plot-meta{display:block}.plot-name{font-size:.9375rem;font-weight:650;letter-spacing:-.015em}.plot-meta{font-size:.8125rem;color:var(--muted);overflow-wrap:anywhere;margin-top:2px}.area{font-size:.875rem;font-weight:650;white-space:nowrap;color:var(--green);font-variant-numeric:tabular-nums}.empty{padding:24px 15px;color:var(--muted);font-size:.875rem;text-align:center}.empty b{display:block;margin-bottom:5px;color:var(--ink)}.load-more{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--green);background:#ecefdf;font-size:.875rem;margin-top:10px}
.base-settings{border-top:1px solid var(--line);background:#eeeee3}.base-settings>summary{padding:16px 20px;font-weight:650;font-size:.875rem;cursor:pointer;color:var(--green)}.settings-content{padding:0 20px 20px}.source-panel{margin:14px 0;border:1px solid var(--line);border-radius:9px;padding:12px;background:var(--surface)}.source-row{display:flex;gap:8px;justify-content:space-between;align-items:center}.source-row strong{font-size:.875rem;overflow-wrap:anywhere}.source-panel p,.source-panel a{font-size:.8125rem}.source-panel p{color:var(--muted);margin:5px 0}.refresh{border:0;border-radius:7px;background:#e7ecdc;color:var(--deep);font-size:1.3rem;width:36px;height:36px;flex-shrink:0}.settings-content>.button{width:100%}
.map-wrap{position:relative;min-width:0;min-height:0}.map{height:100%;width:100%;background:#d5dfca}.topbar{position:absolute;top:20px;left:20px;right:20px;z-index:500;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;pointer-events:none}.map-actions{display:flex;gap:9px;margin-left:auto}.pill{pointer-events:auto;border:1px solid #dfdfd1;border-radius:10px;background:#f5f2e9f5;box-shadow:var(--shadow);font-size:.875rem;font-weight:650;padding:11px 14px;min-height:44px;color:var(--deep);display:flex;align-items:center;gap:8px}.pill svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.pill:hover{background:var(--surface)}.status-pill{font-size:.8125rem;font-weight:550}.route-open{background:var(--deep);color:var(--paper);border-color:var(--deep)}.route-open:hover{background:#26573f}.route-open[aria-pressed=true]{background:#e7ecdc;color:var(--deep);border-color:var(--field)}.map-fit{position:absolute;top:80px;right:20px;z-index:500}.mobile-summary{display:none}.imagery-notice{position:absolute;bottom:42px;left:14px;z-index:450;margin:0;padding:8px 11px;max-width:260px;background:#f5f2e9f2;border:1px solid #d5d9c8;border-radius:7px;font-size:.75rem;color:#51634a;pointer-events:none}.toast{position:absolute;z-index:900;left:50%;bottom:80px;transform:translate(-50%,10px);background:var(--deep);color:var(--paper);border:1px solid #83a66b80;border-radius:9px;padding:12px 16px;max-width:calc(100% - 30px);width:max-content;text-align:center;font-size:.875rem;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.toast.show{opacity:1;transform:translate(-50%,0)}
.route-card{flex:1;min-height:0;overflow:auto;padding:22px 20px;font-size:.875rem}.route-header{display:flex;gap:12px;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line)}.eyebrow{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#69795b}.route-header h2{font-size:1.4rem;font-weight:650;letter-spacing:-.035em;line-height:1.2;margin:4px 0;color:var(--deep)}.route-name{display:none}.route-instruction{color:var(--muted);margin:16px 0;line-height:1.55}.point-count{font-weight:650;background:#e7ecdc;border:1px solid #cad5bf;border-radius:8px;padding:11px;margin:14px 0;color:var(--green)}.route-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.coordinate-details,.route-about{margin:16px 0}.route-card summary{cursor:pointer;color:var(--green);font-size:.875rem;font-weight:600}.coordinate-inputs{display:flex;gap:8px;margin-top:10px}.coordinate-inputs label{flex:1;min-width:0}.route-card #pointList{max-height:100px;overflow:auto;overflow-wrap:anywhere}.route-result-box{margin-top:18px;padding:15px;background:#eeeee2;border:1px solid var(--line);border-left:3px solid var(--earth);border-radius:9px}.route-result{font-size:1.125rem;font-weight:750;letter-spacing:-.025em;color:var(--deep);margin:0 0 6px}.route-note{font-size:.8125rem;line-height:1.55;color:var(--muted);margin:6px 0}.video-settings{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.route-card #routeExport{margin-top:12px}.route-about{padding-top:14px;border-top:1px solid var(--line)}.route-point span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--paper);color:var(--deep);border:3px solid var(--earth);font-size:14px;font-weight:800;box-shadow:0 0 0 2px #183f32,0 2px 8px #0005}.marking-route{cursor:crosshair}
.vehicle-picker{border:0;padding:0;margin:18px 0}.vehicle-picker legend{font-size:.875rem;font-weight:700;padding:0;margin-bottom:10px}.vehicle-choice{display:grid;grid-template-columns:17px 29px minmax(0,1fr) auto;align-items:center;gap:9px;margin:0 0 7px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;font-size:.875rem;font-weight:600;cursor:pointer;background:var(--surface);min-height:52px}.vehicle-choice input{width:17px;height:17px;min-height:0;padding:0;margin:0;accent-color:var(--green)}.vehicle-choice:has(input:checked){border-color:var(--field);background:#e7ecdc;box-shadow:inset 3px 0 var(--field)}.vehicle-choice:focus-within{outline:2px solid var(--earth);outline-offset:2px}.vehicle-icon{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:24px;line-height:1}.vehicle-choice strong{font-size:.875rem;color:var(--green);white-space:nowrap}.vehicle-picker .route-note{font-size:.75rem;margin-top:10px}
.leaflet-container{font-family:inherit}.leaflet-control-zoom{border:1px solid #dfdfd1!important;border-radius:9px!important;overflow:hidden;box-shadow:var(--shadow)!important}.leaflet-control-zoom a{background:var(--paper)!important;color:var(--deep)!important;width:36px!important;height:36px!important;line-height:36px!important}.leaflet-control-layers{background:var(--paper);border:1px solid #dfdfd1!important;border-radius:9px!important;color:var(--deep);box-shadow:var(--shadow)}.leaflet-control-layers label{font-size:.875rem}.leaflet-control-layers input{width:auto;min-height:0}.leaflet-control-attribution{max-width:100%;font-size:12px!important;background:#f5f2e9db!important;color:var(--ink)}.leaflet-control-attribution a{color:var(--green)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--paper);color:var(--ink)}.leaflet-popup-content-wrapper{border-radius:12px}.leaflet-popup-content{line-height:1.55;font-size:.875rem}.leaflet-tooltip{background:var(--paper);border-color:var(--line);color:var(--deep)}.popup-name{font-weight:800;font-size:1rem}.popup-farm,.popup-note{font-size:.8125rem;color:var(--muted)}.popup-area{color:var(--green);font-weight:700}.farm-map-label,.plot-number{pointer-events:none!important;width:max-content!important;height:auto!important}.farm-map-label span{display:block;transform:translate(-50%,-50%);max-width:175px;padding:5px 9px;border:1px solid #c49a62c9;border-radius:6px;background:#183f32ee;box-shadow:0 2px 6px #0004;color:var(--paper);text-align:center;font-size:14px;font-weight:750;line-height:1.3}.plot-number span{display:block;transform:translate(-50%,-50%);color:var(--paper);background:#183f32d9;border:1px solid #f5f2e970;padding:2px 5px;border-radius:4px;font-size:13px;font-weight:750;text-shadow:0 1px 2px #000}
.video-dialog{border:1px solid var(--line);border-top:5px solid var(--earth);border-radius:16px;width:min(900px,95vw);max-height:95dvh;overflow:auto;padding:24px;background:var(--paper);color:var(--ink);box-shadow:0 16px 80px #183f3255}.video-dialog::backdrop{background:#183f32c4}.video-dialog canvas{width:100%;aspect-ratio:16/9;background:var(--deep);border-radius:8px}.video-dialog h2{margin:4px 0 18px;font-weight:650;letter-spacing:-.035em;color:var(--deep)}.video-dialog>.eyebrow{margin:0}.video-dialog progress{width:100%;accent-color:var(--green);margin-bottom:16px}.video-dialog #videoStatus{font-size:.875rem}
@media(max-width:1120px){.status-pill{display:none}.app{grid-template-columns:350px minmax(0,1fr)}.brand-signature{font-size:.75rem}}
@media(max-width:760px){.app{display:flex;flex-direction:column;min-height:420px}.sidebar{height:46%;flex:none;border-right:0;border-bottom:2px solid var(--earth)}.brand{padding:12px 16px 10px;border-bottom-width:2px}.brand-lockup{gap:10px}.brand-mark{width:39px;height:39px;border-radius:6px}.brand h1{font-size:1.23rem}.brand-signature{font-size:.75rem;margin:8px 0 0;line-height:1.25}.fields-panel{overflow:auto}.summary{margin:12px 14px;padding:12px 14px}.total strong{font-size:2rem}.total{margin:2px 0 5px}.summary p{margin-top:7px;padding-top:7px}.field-filter{padding:0 14px 12px}.search{margin:0 14px 6px}.list-head{padding:0 14px 5px}.plots{flex:none;overflow:visible;min-height:100px;padding-left:8px;padding-right:8px}.map-wrap{height:54%;flex:1}.topbar{top:10px;left:10px;right:10px}.map-actions{width:100%;justify-content:space-between;gap:7px}.pill{font-size:.8125rem;padding:10px 11px;min-height:42px;gap:6px;border-radius:8px}.pill svg{width:16px;height:16px}.map-fit{top:65px;right:10px;min-height:40px;font-size:.8125rem;padding:8px 10px}.mobile-summary{display:flex;gap:6px;align-items:baseline;position:absolute;z-index:450;left:10px;bottom:42px;padding:8px 11px;background:#183f32f0;color:var(--paper);border:1px solid #83a66b70;border-radius:8px;pointer-events:none}.mobile-summary b{font-size:1rem}.mobile-summary span{font-size:.75rem;color:#d6e2c8}.imagery-notice{bottom:88px;left:10px;max-width:190px;font-size:.75rem}.toast{bottom:138px}.route-card{padding:14px 15px}.route-header{padding-bottom:10px}.route-header h2{font-size:1.2rem}.route-instruction{margin:11px 0}.point-count{padding:9px 10px;margin:11px 0}.farm-map-label span{max-width:145px;font-size:13px}.video-dialog{padding:18px}.base-settings>summary{padding:15px}.settings-content{padding:0 15px 16px}}
@media(max-width:360px){.pill{padding:10px 8px}.map-actions .pill svg{display:none}.list-head{gap:6px}.text-action{font-size:.8125rem}.total strong{font-size:1.8rem}.plot{gap:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}

.panel-disclosure{border-top:1px solid var(--line)}.panel-disclosure>summary{cursor:pointer;padding:16px 20px;font-weight:650;color:var(--green);font-size:.9375rem}.panel-disclosure>summary span{float:right;font-size:.875rem;background:#e7ecdc;border-radius:20px;padding:1px 10px}.panel-disclosure .plots{max-height:45dvh;overflow:auto}.summary #shareSelection{margin-top:14px}.selection-dialog img{display:block;width:100%;height:auto;border-radius:8px;margin:16px 0}.selection-dialog .route-actions{position:sticky;bottom:-24px;background:var(--paper);padding:14px 0}.selection-dialog #selectionStatus{font-size:.875rem}.brand-signature{font-size:.8125rem}@media(max-width:760px){.sidebar{height:44%}.brand-signature{display:none}.brand{padding:9px 14px}.brand h1{font-size:1.1rem}.brand-mark{width:34px;height:34px}.panel-disclosure>summary{padding:14px}.summary{margin:10px 14px}.selection-dialog .route-actions{bottom:-18px}}
