:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#193e32;background:#f4f5ee;--green:#164b3c;--line:#dce2d7}*{box-sizing:border-box}body{margin:0}header{height:84px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 max(5vw,20px);background:#fcfdf8}.brand{display:flex;gap:12px;align-items:center;color:var(--green);text-decoration:none;font-size:32px;font-weight:800;letter-spacing:2px}.brand span{font-size:23px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:3px}.badge{font-size:12px;border-radius:24px;background:#e4eddd;color:#30543c;padding:8px 12px;font-weight:650}main{max-width:1050px;margin:auto;padding:38px 24px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:10px 0 34px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#71815b}h1{font-size:clamp(34px,5vw,53px);line-height:1.08;letter-spacing:-2px;margin:15px 0}p{font-size:14px;line-height:1.6;color:#607267}.summary{border-left:1px solid #cad3be;padding-left:28px;max-width:260px}.summary strong{display:block;font-size:60px;font-weight:450}.summary span,.summary small{display:block;font-size:12px;margin:8px 0}.summary small{color:#617b4c}nav{display:flex;border-bottom:1px solid var(--line);margin-bottom:30px;gap:12px}button,.secondary,.photoBtn{font:inherit;cursor:pointer;min-height:46px;border-radius:8px;padding:12px 17px;font-size:13px;font-weight:650;border:1px solid #cad7c8;background:white;color:var(--green)}nav button{border:0;background:none;border-radius:0;border-bottom:3px solid transparent;padding:16px 10px}nav .active{border-color:var(--green)}nav span{background:#dce7d3;padding:3px 7px;border-radius:5px;margin-left:4px}.primary{background:var(--green);color:white;border-color:var(--green)}button:hover,.photoBtn:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}h2{font-size:25px;letter-spacing:-.7px;margin:8px 0 20px}h3{font-size:16px;margin:0 0 22px;display:flex;align-items:center;gap:12px}h3 b{font-size:12px;font-weight:500;color:#73835e;border:1px solid #dce3d1;border-radius:50%;padding:6px}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:16px}.sectionhead h3{margin:0}.sectionhead{margin-bottom:20px}article{background:#fffef9;border:1px solid var(--line);padding:25px;border-radius:14px;margin:20px 0;box-shadow:0 3px 12px #193e3203}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.three{grid-template-columns:repeat(3,1fr)}label{display:block;font-size:12px;font-weight:650;color:#526754;margin:12px 0}input,select,textarea{display:block;width:100%;border:1px solid #d5dfd1;border-radius:7px;background:#fbfcf8;padding:13px;font:inherit;font-size:16px;color:#183f32;margin-top:8px;min-height:47px}input:focus,textarea:focus,select:focus{outline:2px solid #709466;outline-offset:1px}.hint{font-size:12px;color:#798574;line-height:1.6}.networks{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.network{border:1px solid var(--line);border-radius:10px;padding:12px}.network label:first-child{display:flex;align-items:center;gap:8px}.network input[type=checkbox]{width:21px;min-height:21px;margin:0;accent-color:var(--green)}.actions{display:flex;justify-content:space-between;gap:15px;position:sticky;bottom:0;background:#f4f5eef2;padding:16px 0;backdrop-filter:blur(10px)}#map{height:240px;border:1px solid var(--line);border-radius:10px;overflow:hidden;touch-action:none}#map .leaflet-overlay-pane > svg{height:100%;width:100%}#message:not(:empty){padding:15px;background:#e6eddb;border-radius:8px;margin-bottom:18px}#gallery{display:flex;gap:12px;flex-wrap:wrap}#gallery figure{margin:0;width:150px}#gallery img{width:150px;height:115px;object-fit:cover;border-radius:8px}#gallery button{min-height:30px;padding:5px 8px;font-size:11px}.record{display:flex;justify-content:space-between;gap:15px;align-items:center}.record h3{margin:0 0 8px}.record p{margin:2px 0}.record small{color:#7a836f}footer{padding:40px 0 5px;border-top:1px solid var(--line);margin-top:35px;font-size:10px;letter-spacing:1px;color:#77856d}dialog{max-width:600px;width:calc(100% - 24px);max-height:94vh;overflow:auto;border:0;border-radius:14px;padding:24px;background:#fffef9;color:var(--green)}dialog::backdrop{background:#16372ccb}.camera{position:relative;background:#213c31;border-radius:10px;height:220px;overflow:hidden;margin-bottom:15px}.camera video{width:100%;height:100%;object-fit:cover}.cross{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;font-size:45px}#anglelive{position:absolute;bottom:10px;left:12px;color:white;background:#0008;padding:5px}output{display:block;font-size:36px;margin-top:15px}#measurement label button{width:100%;margin-top:8px}@media(max-width:650px){main{padding:24px 15px}.hero{align-items:flex-start}.hero p{max-width:240px}.summary{padding-left:15px;width:110px;min-width:100px}.summary strong{font-size:42px}h1{font-size:35px}.summary span{font-size:10px}article{padding:17px}.three{grid-template-columns:1fr 1fr}.three label:last-child{grid-column:1/-1}.networks{grid-template-columns:1fr}.network{display:flex;gap:20px;align-items:center}.network>label{flex:1}.sectionhead{gap:8px}.sectionhead button{font-size:11px;padding:10px}nav{gap:0}nav button{font-size:12px;flex:1}.record{align-items:flex-start}.grid{gap:12px}.badge{font-size:10px}.context{grid-template-columns:1fr}.context label{margin:0}.actions button{padding:13px 10px}header{height:72px}.hero{gap:12px}.sectionhead .badge{display:none}}@media(prefers-reduced-motion:no-preference){button{transition:filter .15s}}
[hidden]{display:none!important}html,body{max-width:100%;overflow-x:hidden}input,select,textarea,.grid>*,.sectionhead>*{min-width:0}input[type=file]{max-width:100%;width:100%;font-size:13px;padding:10px}input[type=file]::file-selector-button{font:inherit;border:1px solid #cad7c8;background:white;color:#164b3c;border-radius:6px;padding:9px;margin-right:8px}small#feederstatus{display:block;font-size:11px;font-weight:400;margin-top:7px}.evidenceactions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.maptoolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.maptoolbar label{margin:0;flex:1;min-width:160px}.maptoolbar select{margin-top:4px}.maptoolbar button{font-size:12px}#map,#googleMap{height:360px;width:100%;border:1px solid var(--line);border-radius:10px;background-color:#f1f4eb;background-image:linear-gradient(#d8e1d255 1px,transparent 1px),linear-gradient(90deg,#d8e1d255 1px,transparent 1px);background-size:32px 32px;touch-action:auto}.leaflet-container{font-family:inherit}.leaflet-control a{color:#164b3c}.tree-pin{border-radius:50%;background:#164b3c;border:2px solid white;color:white;box-shadow:0 2px 6px #0005;display:flex;align-items:center;justify-content:center;font-size:22px}#featureinfo{padding:15px;background:#e6eddb;border:1px solid #cad8c0;border-radius:8px;margin-top:12px}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:12px}.help{display:inline-flex;justify-content:center;align-items:center;border-radius:50%;min-height:24px;width:24px;padding:0;font-size:13px;vertical-align:middle;margin-left:4px}.layerchoice{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.layerchoice label{display:flex;gap:8px;align-items:center;flex:1;overflow-wrap:anywhere}.layerchoice input{width:20px;min-height:20px;margin:0;accent-color:#164b3c}.layerchoice select{width:100px}.actions{z-index:1001}#helpVisual svg{width:100%;max-height:240px}.tape{stroke-dasharray:12 3;animation:wrapTape 3s linear infinite}.caliper{animation:caliperMove 3s ease-in-out infinite}@keyframes wrapTape{to{stroke-dashoffset:-60}}@keyframes caliperMove{0%,100%{transform:translateY(-12px)}50%{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.tape,.caliper{animation:none}}@media(max-width:650px){.evidenceactions{width:100%;justify-content:stretch}.evidenceactions button{flex:1;min-width:125px}.sectionhead:has(.evidenceactions){flex-wrap:wrap}.sectionhead:has(.evidenceactions) h3{width:100%;margin-bottom:8px}#map,#googleMap{height:330px}.maptoolbar button{flex:1}.hero{padding-bottom:24px}nav{overflow-x:auto}.grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.context{grid-template-columns:1fr}.record{flex-wrap:wrap}#records>.sectionhead{flex-wrap:wrap}.layerchoice{flex-wrap:wrap}.actions{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
/* Field workspace, v2 */
:root{background:#edf2f1;color:#183731;--green:#11634f;--line:#d9e4df}header{height:72px;background:#fff;padding:0 max(calc((100vw - 1120px)/2),24px);box-shadow:0 1px 8px #163a3005}.brand{letter-spacing:1px}.brand small{color:#6e867e;letter-spacing:1.5px}.badge{background:#e9f5ee;color:#176249}.hero{padding:4px 0 24px;align-items:center}.hero h1{font-size:clamp(27px,4vw,38px);letter-spacing:-1.2px;margin:10px 0;line-height:1.2}.hero p{margin:0;color:#658079}.summary{display:flex;gap:12px;align-items:center;border:1px solid #d7e4de;background:#fff;border-radius:12px;padding:14px 18px;min-width:200px;flex-wrap:wrap}.summary strong{font-size:34px;line-height:1}.summary span{max-width:100px;font-size:11px;line-height:1.5;margin:0}.summary small{width:100%;margin:0;padding-top:7px;border-top:1px solid #e7eeea;font-size:10px}main{max-width:1120px;padding-top:25px}nav{background:#fff;padding:5px;border:1px solid var(--line);border-radius:12px;gap:5px;margin-bottom:24px}nav button{flex:1;border:0;border-radius:8px;min-height:48px;padding:12px;font-size:13px;color:#60796f}nav button.active{background:#11634f;color:#fff}nav .active span{background:#ffffff30;color:#fff}article{border-radius:13px;padding:22px;box-shadow:0 2px 5px #183b3003;background:#fff;margin:16px 0}h3{font-size:16px;letter-spacing:-.2px}h3 b{background:#edf5ef;border:0;color:#347157;font-weight:700}label{font-size:12px;color:#4b665b}input,textarea,select{background:#fbfcfc;border-color:#d8e3de;min-height:48px;border-radius:8px}.primary{box-shadow:0 2px 3px #153f3212}.secondary{background:#fff;border-color:#d1dfd7}button{min-height:48px}.context{background:#e3ece8;padding:16px;border-radius:12px;margin-bottom:22px}.context label{margin:0}.context input{background:#fff}.eyebrow{color:#6b8378}h2{margin:7px 0 15px}p.hint{color:#73887e}.actions{background:#edf2f1ee;border-top:1px solid #d8e5dd}.tree-pin{background:#087d59;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);color:white;box-shadow:0 3px 9px #164b3c44}.tree-pin svg{width:23px;height:23px;transform:rotate(45deg)}.saved-tree-pin{background:#e4f3e9;color:#238556;border:1px solid #9fc4ad;border-radius:50%;padding:3px}.saved-tree-pin svg{width:16px;height:16px}#mapWorkspace{background:#f7faf8;border:1px solid #d8e4dd;border-radius:11px;padding:12px}.maptoolbar{margin:0 0 12px;gap:8px}.maptoolbar button{padding:10px 12px;min-height:44px}.maptoolbar label{min-width:180px}.fullscreenhead,.fullscreenbottom{display:none}.map-expanded{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:5000!important;display:flex;flex-direction:column;border:0!important;border-radius:0!important;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;background:#f1f5f3!important}.map-expanded .fullscreenhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.fullscreenhead strong{font-size:17px}.fullscreenhead small{display:block;font-size:11px;color:#70857b;margin-top:3px}.map-expanded #map,.map-expanded #googleMap{flex:1;min-height:0;height:auto}.map-expanded .fullscreenbottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px}.fullscreenbottom span{font-size:12px;font-variant-numeric:tabular-nums}.map-expanded #featureinfo{max-height:25vh;overflow:auto}.map-expanded .legend{margin-top:7px}.map-expanded #mapstatus{margin:8px 0;font-size:11px}.map-mode{overflow:hidden}.map-mode .actions{display:none}.plantpanel{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.plantpanel h3{margin:0 0 5px}.plantpanel p{font-size:12px;margin:0}.plantpanel button{white-space:nowrap}#gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}#gallery figure{width:auto;background:#f5f8f6;border:1px solid #dce6e0;border-radius:10px;overflow:hidden}#gallery img{width:100%;height:150px;border-radius:0}.photo-controls{padding:9px}.photo-controls label{display:flex;gap:7px;align-items:center;margin:0;font-size:11px}.photo-controls input{width:18px;min-height:18px;margin:0;accent-color:#11634f}.photo-controls select{font-size:12px;min-height:38px;padding:8px;margin:8px 0}.photo-controls button{width:100%;min-height:36px}.plant-status{padding:14px;background:#fff7e2;border:1px solid #ead9ac;border-radius:8px;margin-top:16px;font-size:13px}.plant-status p{font-size:12px;margin-bottom:0}.plant-status.confirmed{background:#e7f5ed;border-color:#bfdfcc}.plant-candidate{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.plant-candidate>div{flex:1}.plant-candidate small{display:block;margin-top:4px;color:#71867b}.plant-candidate .score{font-size:11px;background:#edf3ef;padding:7px;border-radius:5px;white-space:nowrap}.plant-candidate button{font-size:11px;min-height:40px;padding:8px}.leaflet-control-zoom{border:1px solid #cedbd4!important;border-radius:8px!important;overflow:hidden}.leaflet-control-zoom a{width:36px!important;height:36px!important;line-height:36px!important}.leaflet-control-attribution{font-size:9px!important}@media(max-width:650px){main{padding:20px 12px}.hero{gap:12px}.hero h1{font-size:26px;margin-top:8px}.hero p{font-size:12px}.summary{min-width:110px;width:110px;padding:11px;gap:7px}.summary span{font-size:10px}.summary strong{font-size:29px}.summary small{font-size:9px}.sectionhead .badge{display:none}article{padding:17px}.context{padding:14px}.maptoolbar{gap:6px}.maptoolbar label{width:100%;flex-basis:100%}.maptoolbar button{flex:1;font-size:11px;padding:8px 10px}#map,#googleMap{height:370px}.fullscreenbottom span{width:100%}.fullscreenbottom button{flex:1}.fullscreenhead button{font-size:11px;padding:10px}.plantpanel{flex-wrap:wrap;gap:12px}.plantpanel button{width:100%}.plant-candidate{flex-wrap:wrap}.plant-candidate>div{min-width:65%}#gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-controls label{font-size:10px}nav button{font-size:12px}header{padding:0 18px}.map-expanded .maptoolbar label{min-width:0}.map-expanded .maptoolbar select{font-size:13px}.map-expanded #mapstatus{max-height:34px;overflow:auto}}@media(min-width:900px){.map-expanded .maptoolbar label{max-width:350px}.map-expanded .maptoolbar button{min-width:120px}}
#plantFeedback:not(:empty),#syncFeedback:not(:empty){padding:13px 15px;background:#e6f3ec;border:1px solid #bbd8c7;border-radius:8px;margin-top:15px;font-size:13px;line-height:1.6}#plantFeedback.error,#syncFeedback.error{background:#fff0e7;border-color:#e5c2ad;color:#773c1d}#plantConnectError{color:#9c3629;font-size:13px}.sendcounts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.sendcounts>div{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.sendcounts strong{font-size:32px;display:block;color:#11634f}.sendcounts span{font-size:12px;color:#71857b;display:block;margin-top:7px}.checklabel{display:flex;align-items:center;gap:10px;margin:20px 0}.checklabel input{width:20px;min-height:20px;margin:0;accent-color:#11634f}#syncProgress{width:100%;height:12px;accent-color:#11634f;margin-top:14px}.adminconnection{margin-top:20px}.adminconnection summary{padding:15px;border:1px solid var(--line);border-radius:9px;cursor:pointer;font-size:12px;color:#526b60}#syncNow:disabled{background:#a5b6af;border-color:#a5b6af;color:#fff}.photo-controls{position:relative;z-index:1}@media(max-width:650px){.sendcounts{gap:8px}.sendcounts>div{padding:12px}.sendcounts strong{font-size:28px}.sendcounts span{font-size:10px;line-height:1.5}nav button{font-size:11px;padding:10px 5px}nav span{margin-left:2px}#send .sectionhead{flex-wrap:wrap}#send .sectionhead .badge{display:inline-flex}.checklabel{font-size:12px}.adminconnection summary{font-size:11px}}

.ar-option{margin:16px 0;padding:14px;border:1px solid var(--line,#dce5e0);border-radius:12px}.ar-option button{width:100%}#arOverlay[hidden]{display:none}#arOverlay{position:fixed;inset:0;background:transparent;color:white;display:flex;flex-direction:column;justify-content:space-between;font:16px system-ui;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.ar-top,.ar-bottom{background:rgba(8,27,20,.88);padding:16px;border-radius:14px}.ar-top p,.ar-bottom p{color:#fff;margin:8px 0}.ar-cross{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:42px;line-height:1;color:#fff;text-shadow:0 0 3px #000;pointer-events:none}.ar-bottom button{width:100%;margin-top:8px}.ar-bottom p:nth-child(2){font-size:12px}
#measurement .camera{position:sticky;top:0;z-index:2;height:clamp(250px,48dvh,440px);margin:12px 0;background:#18372d;box-shadow:0 4px 16px #0003}.camera-top,.camera-capture{position:absolute;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;background:linear-gradient(#0009,transparent)}.camera-top{top:0}.camera-capture{bottom:0;background:linear-gradient(transparent,#000b)}.camera-top button,.camera-capture button{min-height:48px;padding:10px 6px;background:#143e32e8;border-color:#ffffff66;color:#fff;font-size:13px;backdrop-filter:blur(4px)}#measurement #anglelive{bottom:76px;left:50%;transform:translateX(-50%);max-width:95%;width:max-content;text-align:center;font-size:13px;border-radius:6px;pointer-events:none}#measurement .ar-option{margin:10px 0;padding:10px}#measurement .ar-option p{margin:6px 0}#arDiagnostic{font:12px/1.5 monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#edf2eb;padding:10px;border-radius:6px}#arOverlay{z-index:9999}#arOverlay button[hidden]{display:none}#measurement{max-height:94dvh}#measurement .sectionhead{margin-bottom:8px}#measurement>p:first-of-type{margin:6px 0;font-size:12px}@media(max-width:480px){#measurement{padding:14px}.camera-top button,.camera-capture button{font-size:12px}.camera-top,.camera-capture{gap:6px;padding:8px}}@media(max-height:500px){#measurement .camera{height:240px}.ar-top p{display:none}.ar-bottom{padding:8px}.ar-bottom p{font-size:12px;margin:4px 0}.ar-bottom button{min-height:40px;padding:6px}}

#arOverlay.ar-preparing{background:#18372d}

/* Fullscreen height review: capture and confirm while watching the camera. */
#measurement{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border-radius:0;overflow:hidden;background:#18372d;color:white}#measurement>.sectionhead{position:absolute;z-index:5;top:0;left:0;right:0;margin:0;padding:max(10px,env(safe-area-inset-top)) 12px 8px;background:linear-gradient(#000b,transparent)}#measurement h2{font-size:17px;margin:0;color:white;letter-spacing:0}#measurement>.sectionhead button{background:#143e32e8;color:white;border-color:#fff6}#measurement .camera{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;box-shadow:none;overflow:hidden}#measurement .camera video{width:100%;height:100%;object-fit:cover}#measurement .camera-top{top:calc(64px + env(safe-area-inset-top));z-index:3}#measurement .cross{top:37%;pointer-events:none}#measurement #anglelive{top:calc(37% + 35px);bottom:auto;z-index:2;white-space:normal;width:max-content;max-width:90%;background:#0009}#measurement .height-review{position:absolute;bottom:0;left:0;right:0;z-index:3;background:#102e26eF;padding:10px 14px max(10px,env(safe-area-inset-bottom));max-height:48dvh;overflow:auto;backdrop-filter:blur(6px)}#measurement .height-review p{color:#e0ece4;font-size:12px;line-height:1.35;margin:6px 0}#measurement .camera-capture{position:static;padding:0;background:none}#measurement .height-distance{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;margin-top:8px}#measurement .height-distance label{color:#dfebe4;margin:0;font-size:11px}#measurement .height-distance input{margin-top:4px;min-height:42px;padding:8px;font-size:18px}#measurement .height-distance>div{text-align:center}#measurement .height-distance span{font-size:11px;color:#dfebe4}#measurement #result{font-size:34px;line-height:1.1;margin:2px 0;color:white;font-weight:700}#measurement .height-confirm{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}#measurement .height-confirm button{min-height:46px;padding:8px;font-size:13px}#measurement .height-confirm .primary{background:#e6efad;color:#193e32;border:0}#measurement .height-pending{text-align:center;font-size:10px!important}#measurement .height-manual{font-size:12px;color:#dfebe4;margin-top:8px}#measurement .height-manual label{color:#dfebe4}#measurement .height-manual summary{padding:6px;cursor:pointer}#measurement .height-manual .hint{color:#dfebe4}@media(min-width:750px) and (min-height:600px){#measurement .height-review{left:50%;right:auto;width:min(600px,95vw);transform:translateX(-50%);border-radius:16px 16px 0 0}#measurement .camera-top{max-width:600px;margin:0 auto}}@media(max-height:500px){#measurement .height-review{left:auto;width:48%;max-height:100dvh;top:0;bottom:0;padding:10px;display:block}#measurement>.sectionhead,#measurement .camera-top{right:49%}#measurement .camera-top{grid-template-columns:1fr;top:70px}#measurement .cross{left:25%;top:50%}#measurement #anglelive{left:25%;top:calc(50% + 30px);max-width:45%}#measurement h2{font-size:13px}}

#measurement .camera video{height:52dvh;position:absolute;top:0;left:0}#measurement .cross{top:26dvh}#measurement #anglelive{top:calc(26dvh + 35px)}#measurement .height-review{top:52dvh;max-height:none}#measurement .cross{left:50%}@media(max-height:500px){#measurement .camera video{width:52%;height:100dvh}#measurement .cross{left:26%;top:50%}#measurement #anglelive{left:26%;top:calc(50% + 35px)}#measurement .height-review{top:0}}

#gpsStatus:not(:empty){padding:10px 12px;border-radius:8px;background:#e5eddf;color:#284c3c;margin:8px 0;font-size:12px}#gpsStatus:empty{display:none}

.maplayers{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px;margin-bottom:10px}.maplayers summary{cursor:pointer;font-weight:600;font-size:13px}.maplayers .maptoolbar{margin-top:10px}.maplayers #mapLayerList{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-height:180px;overflow:auto}.maplayers .layercheck{display:flex;align-items:center;gap:9px;margin:0;padding:7px;overflow-wrap:anywhere}.maplayers input{width:20px;min-height:20px;flex:none;margin:0;accent-color:#11634f}.map-expanded .maplayers{flex:none}.map-expanded .maplayers #mapLayerList{max-height:18dvh}.maplayers .hint{margin-bottom:0}
/* Field workflow: records, backups and offline streets. */
.record{display:block}.record-actions,.form-sync-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.record-actions button{flex:1;min-width:110px}.form-sync-actions button{flex:1;min-width:200px}.form-sync-actions small{flex-basis:100%;color:#687b72}.backup-panel details{margin-top:18px}.offline-streets{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:10px}.offline-streets summary{cursor:pointer;font-weight:650}.offline-streets small{font-size:11px}.street-label{background:rgba(255,255,255,.9);border:0;box-shadow:none;font-size:10px;color:#33434b;padding:1px 4px;border-radius:3px}.street-label:before{display:none}.form-sync-actions button,.record-actions button{white-space:normal;overflow-wrap:anywhere}.backup-panel button{margin-top:8px}
:root[data-theme=dark]{color-scheme:dark;background:#101a18;color:#e1ede7;--green:#63c5a3;--line:#34473f}
[data-theme=dark] header,[data-theme=dark] article,[data-theme=dark] dialog,[data-theme=dark] .modal,[data-theme=dark] .fullscreenhead,[data-theme=dark] .fullscreenbottom{background:#172521;color:#e1ede7}
[data-theme=dark] p,[data-theme=dark] .hint,[data-theme=dark] label,[data-theme=dark] small,[data-theme=dark] .eyebrow{color:#b2c5ba}
[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select,[data-theme=dark] .secondary,[data-theme=dark] button:not(.primary):not(nav button){background:#20352d;color:#e1ede7;border-color:#40574b}
[data-theme=dark] .primary{background:#256d55;color:#fff;border-color:#428e70}
[data-theme=dark] nav button{color:#c6dbd0}[data-theme=dark] .badge,[data-theme=dark] nav span{background:#264737;color:#c8eddb}
[data-theme=dark] #map{background:#182d2b}[data-theme=dark] .street-label{color:#e1ede7;background:#1d302de6}[data-theme=dark] .leaflet-control,[data-theme=dark] .leaflet-control a,[data-theme=dark] .leaflet-tooltip{background:#20352d;color:#e1ede7;border-color:#40574b}
[data-theme=dark] #message{color:#e1ede7;background:#244337}[data-theme=dark] .network,[data-theme=dark] .photo,[data-theme=dark] .photo-card,[data-theme=dark] .plantcandidate,[data-theme=dark] .measureframe{background:#1c2e27;border-color:#34473f}
@media(max-width:600px){.record-actions{display:grid;grid-template-columns:1fr 1fr}.record-actions button:first-child{grid-column:1/-1}.form-sync-actions{display:grid;grid-template-columns:1fr}.form-sync-actions button{min-width:0;width:100%}#records>.sectionhead{align-items:stretch;flex-direction:column}.offline-streets .maptoolbar{flex-wrap:wrap}.offline-streets button{flex:1;min-width:130px}}

/* Full map: viewport occupied by map; compact controls float over it. */
.fullMapTools{display:none}
.map-expanded{display:block!important;padding:0!important;overflow:hidden!important}
.map-expanded #map,.map-expanded #googleMap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;border-radius:0!important;margin:0!important;z-index:0}
.map-expanded > .maptoolbar,.map-expanded > .offline-streets,.map-expanded > .maplayers,.map-expanded > #gpsStatus,.map-expanded > #mapstatus,.map-expanded > .legend,.map-expanded > #featureinfo{display:none!important}
.map-expanded .fullscreenhead{position:absolute;top:max(8px,env(safe-area-inset-top));left:10px;right:10px;z-index:1100;background:rgba(255,255,255,.95);border-radius:12px;padding:8px 10px;margin:0;box-shadow:0 2px 12px #0002}
.map-expanded .fullscreenhead small{display:none}.map-expanded .fullscreenhead button{min-height:36px;padding:8px 12px}.map-expanded .fullscreenhead strong{font-size:14px}
.map-expanded .fullMapTools{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;position:absolute;top:calc(max(8px,env(safe-area-inset-top)) + 60px);left:10px;right:10px;z-index:1100;background:rgba(255,255,255,.95);border-radius:12px;padding:8px}
.fullMapTools label{margin:0;font-size:10px;min-width:0}.fullMapTools select{font-size:12px;min-height:36px;height:36px;padding:6px;margin-top:4px}.fullMapTools button{display:block;font-size:11px;padding:4px 8px;min-height:27px;margin:2px 0}
.map-expanded .fullscreenbottom{position:absolute;bottom:max(8px,env(safe-area-inset-bottom));left:10px;right:10px;z-index:1100;margin:0;background:rgba(255,255,255,.95);padding:9px;border-radius:12px;box-shadow:0 2px 12px #0002}
.map-expanded .fullscreenbottom span{flex-basis:100%;font-size:11px}.map-expanded .fullscreenbottom button{min-height:38px;padding:8px;font-size:12px}
.map-expanded .leaflet-control-zoom{margin-top:155px!important}.map-expanded .leaflet-bottom{bottom:105px}
[data-theme=dark] .map-expanded .fullscreenhead,[data-theme=dark] .map-expanded .fullscreenbottom,[data-theme=dark] .map-expanded .fullMapTools{background:#172521ee}
/* Practical field interface, v3.1. */
:root{--surface:#fff;--surface-soft:#f0f6f3;--text:#173c32;--muted:#546f64;--accent:#11634f;--radius:16px;background:#eef4f1;color:var(--text)}
header{height:64px}.brand span{font-size:20px}.hero h1{font-size:clamp(24px,3.5vw,34px);letter-spacing:-.8px}.hero .summary{box-shadow:none}.hero .summary strong{font-size:28px}
nav{position:sticky;top:8px;z-index:1200;box-shadow:0 5px 22px #143d3010;background:var(--surface);padding:6px;border-radius:16px}nav button{min-height:48px;border-radius:11px}nav button:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #4da98c;outline-offset:3px}
article{border-radius:var(--radius);padding:22px;background:var(--surface)}h2{font-size:25px}h3{line-height:1.45}.secondary{border-radius:11px}.primary{border-radius:11px}.hint{color:var(--muted)}input,textarea,select{border-radius:10px}.record-search{margin:16px 0;min-height:50px}.record{position:relative;padding-top:18px}.record h3{font-size:17px;overflow-wrap:anywhere}.record p{font-size:13px}.record small{font-size:12px;line-height:1.7;display:block}.record.selected{border-color:#258b68;box-shadow:0 0 0 1px #258b68}.record-select{display:flex;align-items:center;gap:8px;margin:0 0 12px;width:fit-content;font-size:12px}.record-select input,.batch-actions input{width:21px;height:21px;min-height:21px;margin:0;accent-color:#168460}.record-actions{gap:8px;margin-top:16px}.record-actions button{min-height:48px}.record-actions button:first-child{background:#ecf5ef;color:#164b3c;border-color:#c2dccf}.batch-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.batch-actions .checklabel{margin:0}.batch-actions #selectionCount{font-size:12px;color:var(--muted);flex:1}.batch-actions button{font-size:12px}.sendcounts{margin:14px 0;gap:10px}.sendcounts>div{padding:14px;background:var(--surface)}.sendcounts strong{font-size:28px}.sendcounts span{margin-top:4px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#centralActions a{display:inline-flex;align-items:center;min-height:48px;color:var(--accent);font-size:14px;font-weight:650}#adminStorage button{margin:8px 10px 0 0}.offline-streets{background:var(--surface);padding:14px}.offline-streets>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;list-style:none;min-height:40px}.offline-streets>summary:before{content:'＋';font-size:20px}.offline-streets[open]>summary:before{content:'−'}.offline-streets>summary span{font-size:11px;white-space:nowrap;color:var(--muted)}.offline-streets[open]>summary{margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.backup-panel summary{cursor:pointer;font-size:13px;min-height:44px;line-height:1.6;padding:10px 0}progress{width:100%;accent-color:#11634f;height:10px}a{color:#136e53}.form-sync-actions small{line-height:1.6}#driveFeedback:not(:empty){padding:12px;border:1px solid var(--line);border-radius:10px;background:#eff7f1;font-size:13px;color:#245b43}#driveFeedback.error{background:#fff1ed;color:#8c3022;border-color:#e8bcae}
[data-theme=dark]{--surface:#172923;--surface-soft:#21392f;--text:#e8f3ed;--muted:#b7cfc1;--accent:#89e0ba;--line:#3c5649;background:#101c17;color:var(--text)}
[data-theme=dark] header,[data-theme=dark] nav,[data-theme=dark] article,[data-theme=dark] .summary,[data-theme=dark] .sendcounts>div,[data-theme=dark] .batch-actions,[data-theme=dark] .offline-streets,[data-theme=dark] .maplayers{background:var(--surface);color:var(--text);border-color:var(--line)}
[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] strong,[data-theme=dark] .brand,[data-theme=dark] .summary strong{color:var(--text)}
[data-theme=dark] p,[data-theme=dark] label,[data-theme=dark] small,[data-theme=dark] .hint,[data-theme=dark] .record small,[data-theme=dark] .hero p,[data-theme=dark] .summary small,[data-theme=dark] .sendcounts span,[data-theme=dark] .plant-candidate small,[data-theme=dark] .form-sync-actions small,[data-theme=dark] footer,[data-theme=dark] .eyebrow{color:var(--muted)}
[data-theme=dark] nav button{color:#d0e5d8;background:transparent}[data-theme=dark] nav button.active{background:#236c50;color:#fff}[data-theme=dark] nav .active span{background:#ffffff25;color:#fff}
[data-theme=dark] .context,[data-theme=dark] #mapWorkspace,[data-theme=dark] .network,[data-theme=dark] #gallery figure,[data-theme=dark] #featureinfo,[data-theme=dark] .plant-candidate .score{background:#1d332a;color:var(--text);border-color:var(--line)}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea,[data-theme=dark] .context input{background:#14261e;color:#edf6f0;border-color:#52715e}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#9fbbac;opacity:1}
[data-theme=dark] .record-actions button:first-child,[data-theme=dark] .secondary,[data-theme=dark] button:not(.primary):not(nav button){background:#244232;color:#edf6f0;border-color:#52715e}
[data-theme=dark] .primary{background:#267151;color:#fff;border-color:#509671}[data-theme=dark] button:disabled{opacity:1;background:#22342b;color:#91ac9c;border-color:#3c5446;cursor:not-allowed}[data-theme=dark] .sendcounts strong,[data-theme=dark] a,[data-theme=dark] #centralActions a{color:#89e0ba}
[data-theme=dark] .badge,[data-theme=dark] h3 b{background:#264d38;color:#c7f0d9;border-color:#52715e}[data-theme=dark] .plant-status,[data-theme=dark] .plant-status.confirmed,[data-theme=dark] #gpsStatus,[data-theme=dark] #driveFeedback:not(:empty),[data-theme=dark] #plantFeedback:not(:empty),[data-theme=dark] #syncFeedback:not(:empty){background:#203f2e;color:#e6f3e9;border-color:#50765a}
[data-theme=dark] #plantFeedback.error,[data-theme=dark] #syncFeedback.error,[data-theme=dark] #driveFeedback.error{background:#452923;color:#ffdbd0;border-color:#a46c5b}[data-theme=dark] #plantConnectError{color:#ffc4ad}[data-theme=dark] .actions{background:#101c17ed;border-color:var(--line)}
[data-theme=dark] .leaflet-popup-content-wrapper,[data-theme=dark] .leaflet-popup-tip{background:#20382c;color:#e8f3ed}[data-theme=dark] .leaflet-control-attribution{color:#d0e5d8}[data-theme=dark] .leaflet-control-attribution a{color:#9aefc8}[data-theme=dark] input[type=file]::file-selector-button{background:#244232;color:#edf6f0;border-color:#52715e}[data-theme=dark] #arDiagnostic{background:#1c3328;color:#d9eee0}
/* Camera overlays use explicit colours independently of page theme. */
[data-theme=dark] #measurement{background:#18372d;color:#fff}[data-theme=dark] #measurement h2,[data-theme=dark] #measurement #result,[data-theme=dark] #measurement .cross,[data-theme=dark] #measurement #anglelive{color:#fff}[data-theme=dark] #measurement .camera-top button,[data-theme=dark] #measurement .camera-capture button,[data-theme=dark] #measurement>.sectionhead button{background:#143e32e8;color:#fff;border-color:#fff8}[data-theme=dark] #measurement .height-confirm .primary{background:#e6efad;color:#193e32}[data-theme=dark] #measurement .height-review p,[data-theme=dark] #measurement label,[data-theme=dark] #measurement .height-distance span{color:#e0ece4}[data-theme=dark] #arOverlay strong,[data-theme=dark] #arOverlay p{color:#fff}
@media(max-width:650px){main{padding:16px 12px 28px}header{padding:0 16px;height:60px}.hero{align-items:flex-start;padding-bottom:16px}.hero h1{font-size:24px;line-height:1.2}.hero .eyebrow{font-size:9px;letter-spacing:1.4px}.hero p{font-size:12px}.summary{min-width:104px;width:104px;padding:10px}.summary strong{font-size:26px}.hero .summary span{font-size:10px}nav{top:6px;gap:3px;margin-bottom:18px}nav button{font-size:11px;padding:10px 5px}nav span{font-size:10px}.sectionhead h2{font-size:24px}article{padding:16px}.batch-actions{gap:8px;padding:12px}.batch-actions button{flex:1;min-width:130px}.batch-actions #selectionCount{font-size:11px;text-align:right}.batch-actions .checklabel{font-size:12px}.record-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.record-actions button{min-width:0;font-size:12px;padding:10px 4px}.record-actions button:first-child{grid-column:auto}.record h3{font-size:16px}.sendcounts strong{font-size:26px}.sendcounts>div{padding:12px}.admin-grid{grid-template-columns:1fr}.actions button{min-height:48px}#googleConnection .sectionhead .badge{display:inline-flex;font-size:10px}#googleConnection .maptoolbar button{font-size:12px;min-height:48px}.offline-streets>summary{font-size:12px}.backup-panel>p{font-size:13px}}
@media(min-width:651px) and (max-width:1000px){main{padding:24px}article{padding:22px}.grid{gap:20px}.record-actions{justify-content:flex-end}.record-actions button{flex:0 1 180px}.maptoolbar button{min-height:48px}#map,#googleMap{height:430px}}
@media(prefers-reduced-motion:no-preference){.record{transition:border-color .15s,box-shadow .15s}nav button{transition:background-color .15s,color .15s}}

.layer-fields{flex-basis:100%;width:100%;padding:8px 0}.layer-fields summary{cursor:pointer;font-size:12px}.layer-fields select{width:100%;font-size:12px}.equipment-pin span{display:block;width:14px;height:14px;background:#ffb54b;border:2px solid #5b3300;box-shadow:0 0 0 1px #fff}.network-label.leaflet-tooltip{background:transparent;border:0;box-shadow:none;color:#222;font-size:11px;font-weight:600;text-shadow:-1px -1px #fff,1px -1px #fff,-1px 1px #fff,1px 1px #fff;max-width:210px;overflow:hidden;text-overflow:ellipsis}.network-label.leaflet-tooltip:before{display:none}.network-label-anchor{pointer-events:none}.map-expanded > #featureinfo:not([hidden]){display:block!important;position:absolute;z-index:1200;bottom:145px;left:12px;right:12px;max-height:30dvh;overflow:auto;background:var(--surface,#fff);box-shadow:0 2px 15px #0004}.map-expanded > #featureinfo button{min-height:42px}

#mapWorkspace{position:relative}#mapWorkspace > #featureinfo:not([hidden]){position:absolute;left:10px;right:10px;bottom:80px;z-index:1200;max-height:260px;overflow:auto;box-shadow:0 3px 18px #0005;margin:0;border-radius:12px}.feature-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.feature-head button{min-height:36px;min-width:36px;padding:5px;font-size:22px}#featureinfo p{font-size:12px;margin:7px 0}#featureinfo summary{cursor:pointer;font-size:12px;font-weight:600}#featureinfo > .primary{width:100%;min-height:44px;margin-top:6px}.feature-attributes{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}.feature-attributes th,.feature-attributes td{text-align:left;padding:6px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.feature-attributes th{width:42%}.network-label.leaflet-tooltip{pointer-events:auto;cursor:pointer}.map-expanded > #featureinfo:not([hidden]){bottom:145px!important;max-height:35dvh}
.mapsearch{background:var(--surface,#fff);border:1px solid var(--line);border-radius:10px;padding:10px;margin:10px 0}.mapsearch summary{font-size:13px;font-weight:600;cursor:pointer}.mapsearch label{margin-top:9px}.search-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mapsearch input,.mapsearch select{font-size:12px;min-height:40px}.search-map-check{display:flex;align-items:center;gap:8px;font-size:12px}.search-map-check input{width:18px;min-height:18px;flex:none;margin:0}.search-actions{display:flex;gap:8px;margin-top:8px}.search-actions button{flex:1;min-height:38px;font-size:12px}.mapsearch .hint{font-size:11px;margin:8px 0}.search-result{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface,#fff);margin-top:6px;padding:9px;min-height:50px;border-radius:8px;overflow-wrap:anywhere}.search-result strong,.search-result span,.search-result small{display:block;font-size:12px}.search-result span{font-weight:400;margin:4px 0}.search-result small{font-size:10px;opacity:.85}#searchResults{max-height:220px;overflow:auto}.map-expanded > .mapsearch{display:block!important;position:absolute;top:calc(max(8px,env(safe-area-inset-top)) + 142px);left:60px;right:10px;z-index:1150;margin:0;background:#fffffff2;max-height:calc(100dvh - 300px);overflow:auto;box-shadow:0 2px 12px #0003}.map-expanded .mapsearch[open]{left:10px}.map-expanded .mapsearch #searchResults{max-height:25dvh}[data-theme=dark] .mapsearch,[data-theme=dark] .search-result{background:#172b22;color:var(--text);border-color:var(--line)}[data-theme=dark] .map-expanded > .mapsearch{background:#172b22f5}

/* Compact network search overlay: opening never hides the entire map. */
.mapsearch summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;list-style:none}.mapsearch summary::-webkit-details-marker{display:none}.mapsearch summary>span:before{content:'▸ ';}.mapsearch[open] summary>span:before{content:'▾ ';}.mapsearch summary small{font-size:11px;white-space:nowrap;color:var(--green)}.search-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;z-index:2;background:var(--surface,#fff);padding:6px 0;border-bottom:1px solid var(--line)}.search-panel-head strong{font-size:12px}.search-panel-head button{min-height:40px;padding:8px 12px;font-size:12px}.mapsearch.has-filter summary small{font-weight:700}.map-expanded > .mapsearch{padding:0 10px;max-height:none;overflow:visible}.map-expanded > .mapsearch[open]{left:60px}.map-expanded .mapsearch .search-panel{max-height:min(42dvh,360px);overflow:auto;overscroll-behavior:contain;padding-bottom:8px;scrollbar-gutter:stable}.map-expanded .mapsearch label{margin:6px 0;font-size:11px}.map-expanded .mapsearch input,.map-expanded .mapsearch select{min-height:40px;padding:8px}.map-expanded .mapsearch #searchResults{max-height:none}.map-expanded .mapsearch .search-fields{gap:6px}[data-theme=dark] .search-panel-head{background:#172b22}[data-theme=dark] .mapsearch summary small{color:#8bddbb}@media(max-height:600px){.map-expanded .mapsearch .search-panel{max-height:32dvh}}

#measurement .distance-fallback{font-size:12px;color:#e0ece4;padding:5px 0}#measurement .distance-fallback summary{cursor:pointer;padding:8px 0}#measurement .distance-fallback p{font-size:11px;margin:5px 0}#measurement .distance-fallback button{width:100%;min-height:42px}#measurement .distance-fallback input{min-height:40px}#measurement #measurementQuality{font-size:11px;color:#f2e6b3}#arOverlay .ar-bottom{padding:12px;bottom:max(8px,env(safe-area-inset-bottom));max-height:38dvh;overflow:auto}#arOverlay .ar-bottom p{font-size:12px;margin:8px 0}#arOverlay .ar-top{padding:12px;top:max(8px,env(safe-area-inset-top))}#arOverlay .ar-top strong{font-size:16px}#arOverlay .ar-top p{font-size:12px;margin:6px 0}#arOverlay .ar-bottom button{min-height:44px;padding:10px;margin:5px 0}#arOverlay .ar-cross{border:2px solid #fff8;border-radius:50%;width:48px;height:48px;text-align:center;line-height:40px;font-size:38px}#arOverlay.ar-tracked .ar-cross{color:#8fffb9;border-color:#8fffb9;background:#143e3266}

.map-canvas{position:relative;border-radius:10px;overflow:hidden}.map-canvas-tools{position:absolute;top:10px;left:62px;right:10px;z-index:1050;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;pointer-events:none;max-width:330px;margin-left:auto}.map-canvas-tools button{pointer-events:auto;min-height:44px;padding:6px;font-size:11px;line-height:1.25;border-radius:8px;background:#fffffff2;color:#176249;box-shadow:0 2px 8px #0003;border:1px solid #b7cabe;overflow-wrap:normal}.map-canvas-tools button:focus-visible{outline:3px solid #287edf;outline-offset:1px}[data-theme=dark] .map-canvas-tools button{background:#173b2ef2;color:#ecf8f1;border-color:#79a08c}.map-expanded .map-canvas{position:static;border-radius:0;overflow:visible}.map-expanded .map-canvas-tools{display:none!important}@media(max-width:380px){.map-canvas-tools{left:58px;right:6px;gap:4px}.map-canvas-tools button{font-size:10px;padding:5px}}
/* Field map: one collapsible menu inside both map sizes. */
.map-menu-button{position:absolute;top:10px;left:10px;z-index:1100;min-width:44px;min-height:44px;padding:5px;font-size:25px;background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:0 2px 8px #0003}
.map-menu{position:absolute;top:64px;left:10px;right:10px;bottom:44px;z-index:1150;max-width:420px;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;background:var(--surface);color:var(--text);padding:12px;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 24px #0004}
.map-menu[hidden]{display:none!important}
.map-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:-12px;z-index:2;background:var(--surface);padding:5px 0 10px}
.map-menu-head button{min-height:40px;min-width:40px;padding:4px;font-size:22px}
.map-menu .maptoolbar{display:flex;flex-wrap:wrap;margin:0 0 10px;gap:8px}
.map-menu .maptoolbar label{flex:1;min-width:150px}
.map-menu details{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:10px}
.map-menu summary{font-size:14px;min-height:35px;padding:5px 0;cursor:pointer}
.map-menu input,.map-menu select,.map-menu button{font-size:13px}
.map-menu p,.map-menu small,.map-menu label{font-size:13px}
.map-menu .layercheck{min-height:44px;padding:5px;display:flex;align-items:center;gap:10px;margin:0}
.map-menu .layercheck input{width:22px;height:22px;flex:none}
#mapFeederChoices{max-height:230px;overflow:auto;margin-top:8px;overscroll-behavior:contain}
.map-menu .mapsearch{position:static!important;width:auto!important;max-height:none!important;max-width:none!important;background:var(--surface)!important;color:var(--text)!important}
.map-menu .search-panel{max-height:none!important;overflow:visible!important;padding:0}
.map-menu .search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.map-menu .search-actions{display:flex;gap:8px}
.map-canvas .leaflet-top.leaflet-left{top:64px}
.map-expanded .map-menu-button{top:120px;left:12px}
.map-expanded .map-menu{top:174px;bottom:155px;left:12px;right:12px;max-height:none}
.map-expanded .fullMapTools{display:none!important}
.map-expanded .map-canvas-tools{display:grid!important;top:120px;left:65px;right:12px;max-width:260px;z-index:1100}
.map-expanded .leaflet-top.leaflet-left{top:174px}
@media(max-width:380px){.map-menu{padding:8px}.map-menu-head{font-size:13px}.map-menu .search-fields{grid-template-columns:1fr}.map-canvas-tools{left:62px!important;gap:3px}.map-canvas-tools button{font-size:10px!important;padding:5px!important}}
#mapBlocksInput{width:100%;resize:vertical;min-height:86px;font-size:13px}
#mapBlocksResults{max-height:220px;overflow:auto;overscroll-behavior:contain;margin-top:8px}
#mapBlocksResults button:disabled{opacity:.7;cursor:default}
.gps-live-controls{position:absolute;right:10px;bottom:35px;z-index:1100;display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:230px;pointer-events:none}
.gps-live-controls button{pointer-events:auto;min-height:44px;padding:8px 12px;font-size:12px;background:var(--surface);color:var(--text);box-shadow:0 2px 8px #0003}
.gps-live-controls small{background:var(--surface);color:var(--text);padding:4px 7px;border-radius:6px;font-size:10px;max-width:230px}
.gps-live-controls.following button{background:var(--accent);color:var(--surface);border-color:var(--accent)}
.map-expanded .gps-live-controls{bottom:155px;right:12px}
/* Keep measurement actions next to the values they affect. */
.tree-measures{margin:12px 0 18px}
.height-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,145px);align-items:end;gap:10px;margin-bottom:12px}
.height-entry label{margin:0;min-width:0}.height-entry input{margin-bottom:0;min-width:0}
.height-entry #measure{min-height:52px;margin:0;padding:8px 10px;font-size:12px;line-height:1.3;border-radius:10px;box-shadow:none}
.trunk-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.trunk-pair label{margin:0;min-width:0}.trunk-pair input{min-width:0;width:100%;margin:0}
.measure-label{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:40px;margin-bottom:6px}
.measure-label .help{flex:none;min-width:36px;width:36px;min-height:36px;height:36px;padding:4px;margin:0;font-size:16px}
.trunk-auto{font-size:12px!important;line-height:1.5;margin:10px 0 6px}
.trunk-details{border:0;padding:0;margin:0}.trunk-details summary{font-size:11px;color:var(--muted);cursor:pointer;padding:5px 0;min-height:30px}.trunk-details p{font-size:12px;line-height:1.5}
@media(min-width:760px){.tree-measures{max-width:650px}.height-entry{grid-template-columns:minmax(0,1fr) 165px}.height-entry #measure{font-size:13px}.trunk-pair{gap:16px}}
.preflight-button{margin:0 0 1rem;min-height:44px}.preflight-item{padding:.65rem 0;border-bottom:1px solid var(--border,#78958a)}.preflight-item p{margin:.3rem 0}.sync-detail{overflow-wrap:anywhere}#preflightDialog{max-height:88dvh;overflow:auto;width:min(620px,94vw)}#backupReminder p{overflow-wrap:anywhere}

.delete-inspection{color:#a02e29;border-color:#b6635e}[data-theme="dark"] .delete-inspection{color:#ffb8b1;border-color:#a96560}
.inspection-clock{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border,#82968e);border-radius:16px;margin:1rem 0}.inspection-clock strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.inspection-clock small,.admin-repository-row small{display:block}.kpi-filters,.kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;margin:1rem 0}.kpi-card{padding:1rem;background:var(--bg,#edf5ef);border:1px solid var(--border,#82968e);border-radius:16px}.kpi-card strong,.kpi-card span{display:block}.kpi-card strong{font-size:1.5rem}.kpi-table{overflow:auto;max-height:420px}.kpi-table table{width:100%;border-collapse:collapse}.kpi-table td,.kpi-table th{padding:.6rem;text-align:left;border-bottom:1px solid var(--border,#82968e);white-space:nowrap}#adminRepositoryList{max-height:360px;overflow:auto;margin:1rem 0}.admin-repository-row{display:flex;align-items:center;gap:.7rem;padding:.7rem;border-bottom:1px solid var(--border,#82968e)}.admin-repository-row span{overflow-wrap:anywhere}.admin-repository-row input{width:24px;flex-shrink:0}[data-theme="dark"] .kpi-card{background:#17372a;color:#e8f5ed}
.completion-status{padding:.8rem;border:1px solid #bc925e;border-radius:12px;background:#fff4e5;color:#593b1d;margin:.6rem 0;overflow-wrap:anywhere}.completion-status p{margin:.4rem 0}[data-theme="dark"] .completion-status{background:#3b3022;color:#ffdfad;border-color:#aa875b}.completion-tools select{width:100%}
.external-access{padding:1rem;border:1px solid #78958a;border-radius:12px;margin:1rem 0}.external-access input{width:100%;margin:.5rem 0}
