.research-page{position:relative;height:calc(100dvh - 125px);min-height:420px;--research-bg:var(--card,var(--surface,#fff));--research-ink:var(--text,#24332a);color:var(--research-ink)}#researchMap{position:absolute;inset:0}.research-page [hidden]{display:none!important}.research-page button:not(.map-pick-list button),.research-page input,.research-page select{font:inherit;min-height:42px;border:1px solid #aab8aa;border-radius:10px;padding:8px 12px;background:var(--research-bg);color:var(--research-ink)}.research-page button{cursor:pointer}.research-page button:disabled{opacity:.5;cursor:wait}.research-page button.primary{background:#3b7e46;color:#fff;border-color:#3b7e46}.research-page button.danger{color:#a72929}.research-page label{display:grid;gap:6px;margin:12px 0}.research-page input:not([type=color]):not([type=checkbox]),.research-page select{width:100%;box-sizing:border-box}.research-page input[type=checkbox]{width:22px;min-height:22px;accent-color:#3b7e46}#researchDraw{top:68px;right:12px;width:360px}#researchDetail{bottom:12px;right:12px;width:380px}.research-page header{display:flex;justify-content:space-between;gap:12px;align-items:start}.research-page h1,.research-page h2{margin:0;font-size:24px}.research-page header p{margin:5px 0;color:#6a786c}.research-page header>button{font-size:24px;line-height:1}.research-help,.research-page section>p{font-size:14px;line-height:1.5}.research-controls{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.research-controls button{flex:1}#locateForm{display:flex;gap:8px;align-items:end}#locateForm label{flex:1}#locateForm button{margin-bottom:12px}.research-farm{border-top:1px solid #d9e1d8;margin-top:14px;padding-top:12px}.research-farm-heading{display:flex;align-items:center;gap:8px}.research-farm-heading .farm-link{flex:1;text-align:left;border:0;font-weight:700}.research-farm-heading .color-dot{width:14px;height:14px;border-radius:50%;flex:none}.research-field{display:flex;align-items:center;gap:8px;padding:3px 0 3px 14px}.research-field .field-link{flex:1;text-align:left;border:0}.research-field .delete-item,.research-farm-heading .delete-item{padding:6px;min-width:36px}.research-field small{display:block;color:#6a786c}.research-page dialog{background:var(--research-bg);color:var(--research-ink);border:0;border-radius:18px;padding:24px;width:min(400px,calc(100vw - 48px));box-sizing:border-box}.research-page dialog::backdrop{background:#0006}#researchStatus{position:absolute;bottom:10px;left:12px;right:12px;z-index:2;background:var(--research-bg);padding:10px 14px;border-radius:10px;width:fit-content;max-width:calc(100% - 50px);font-size:14px;box-shadow:0 2px 10px #0002}#researchStatus.error{color:#ac2828}.draft-row{display:flex;gap:8px;align-items:center;margin:5px 0}.draft-row span{flex:1}.legend-row{display:flex;gap:8px;align-items:center;font-size:13px;margin:6px 0}.legend-swatch{width:16px;height:16px;flex:none}.research-page table{border-collapse:collapse;width:100%;font-size:12px}.research-page td,.research-page th{padding:6px;text-align:left;border-bottom:1px solid #dce3dc}.research-page .layer-scale{height:12px;border-radius:4px}#detailSummary{overflow:auto;max-height:210px}#researchReport{position:fixed;inset:0;background:#ecefe9;color:#233528;z-index:1000;overflow:auto}#researchReport nav{position:sticky;top:0;background:white;padding:12px;display:flex;gap:12px;z-index:2}.report-page{background:white;margin:20px auto;padding:28px;width:min(860px,calc(100% - 40px));box-sizing:border-box;break-after:page}.report-page h1{font-size:30px;margin:12px 0}.report-brand{display:flex;align-items:center;gap:12px;border-bottom:3px solid #3b7e46;padding-bottom:10px}.report-brand img{width:44px;border-radius:10px}.report-map{height:340px;margin:12px 0}.report-map-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-map-pair .report-map{height:240px}.report-page footer{font-size:11px;margin-top:16px;color:#546454}.report-note{font-size:12px;line-height:1.5;color:#536354}.research-page .empty{padding:12px 0;line-height:1.5;color:#667766}
@media(max-width:700px){.research-page{height:calc(100dvh - 118px)}#researchPanel{width:calc(100% - 24px);max-height:55%;top:66px}#researchDraw{width:calc(100% - 24px);max-height:45%;top:auto;bottom:12px}#researchDetail{width:calc(100% - 24px);max-height:48%;bottom:12px}#researchStatus{bottom:4px;font-size:12px}.research-toolbar select{max-width:205px}.report-map-pair{grid-template-columns:1fr}.report-page{padding:18px}.research-page aside,.research-page>section:not(#researchReport){padding:14px}}
@media print{body>*:not(fv-shell){display:none!important}fv-shell{display:block!important}#researchReport{display:block!important;position:static!important;overflow:visible!important;background:white}#researchReport nav,.research-page> :not(#researchReport){display:none!important}.research-page{height:auto!important;min-height:0!important}.report-page{width:100%;margin:0;padding:9mm;break-after:page;box-shadow:none}.report-page:last-child{break-after:auto}.report-map-pair{grid-template-columns:1fr 1fr}.report-map{height:85mm}.report-map-pair .report-map{height:65mm}footer:not(.report-page footer),fv-shell>header{display:none!important}.report-page table{font-size:10px}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page{size:letter portrait;margin:8mm}}

.research-page button.primary{color:#fff!important}.research-page button.danger{color:#ac2828!important}.research-page details{margin-top:16px;font-size:14px}.research-page summary{cursor:pointer}
@media print{fv-shell::part(header),fv-shell::part(footer){display:none!important}fv-shell::part(main){padding:0!important;margin:0!important}}

.report-raster{position:relative;width:100%;height:auto;max-height:100%;margin:auto}.report-raster img{display:block;width:100%;height:100%;object-fit:contain}.report-raster svg{position:absolute;inset:0;width:100%;height:100%}.report-map:has(.report-raster){display:flex;align-items:center;justify-content:center;background:#f6f8f4}

/* Research uses the regular Maps shell, menu and green controls. */
.research-page.maps-page{position:fixed;min-height:0;--research-bg:var(--map-glass);--research-ink:var(--map-text)}
.research-page.maps-page .research-toolbar{top:14px;left:auto;right:12px}
.research-page #researchPanel{top:10px;right:10px;left:auto;bottom:12px;width:min(390px,calc(100% - 20px));max-height:none;padding:0;border-radius:22px;overflow:hidden;z-index:50}
.research-page #researchPanel header{padding:18px 20px;align-items:center;border-bottom:1px solid var(--map-border)}
.research-page #researchPanel h1{font-size:22px;letter-spacing:-.6px}
.research-page #researchPanel header p{font-size:12px;color:var(--map-muted);margin:4px 0 0}
.research-page #researchPanel .panel-body{padding:18px 20px;overflow:auto;min-height:0}
.research-page #researchPanel label{display:block;font-size:12px;font-weight:600;margin:0 0 14px}
.research-page #researchPanel input:not([type=checkbox]),.research-page #researchPanel select{display:block;margin-top:7px;min-height:43px;border-color:var(--map-border);border-radius:12px;font:14px system-ui}
.research-page #researchPanel input{background:var(--map-glass);color:var(--map-text)}
.research-page button:not(.map-pick-list button){background:#3b7e46;color:#fff;border-color:#ffffff33;font-weight:600;border-radius:13px}
.research-page button:not(.map-pick-list button):hover:not(:disabled){background:#2c6336}
.research-page button.danger{background:#3b7e46;color:#fff!important}
.research-page .round-button{padding:0;min-height:0;border-radius:50%}
.research-page #closePanel{width:36px;height:36px;border:0;box-shadow:none}
.research-page #closePanel svg{width:23px;height:23px}
.research-page .research-controls{margin:10px 0 18px}
.research-page .research-controls button{font:600 12px system-ui;border-radius:18px;padding:10px 5px}
.research-page #locateForm label{min-width:0}
.research-page #locateForm button{margin-bottom:14px}
.research-page .farm-link,.research-page .field-link{background:transparent!important;color:var(--map-text)!important;font-weight:500;padding:8px 0;text-align:left}
.research-page .research-field small{color:var(--map-muted)}
.research-page .research-farm{border-color:var(--map-border)}
.research-page .research-farm>p{font-size:12px;color:var(--map-muted);margin:4px 0 8px 30px}
.research-page .research-farm .delete-item,.research-page .research-farm-heading>button:not(.farm-link){min-height:34px;padding:6px 9px;border-radius:50%}
.research-page .research-farm>button{margin:6px 8px 0 0;font-size:12px;padding:8px 12px}
.research-page input[type=checkbox]{appearance:auto;border:0;padding:0;accent-color:#3b7e46}
.research-page .visibility-status{font-size:11px;color:var(--map-muted);margin:13px 0 18px}
.research-page #researchScrim{z-index:49}
@media(max-width:700px){.research-page #researchPanel{width:min(390px,calc(100% - 20px));top:10px;max-height:none;border-radius:20px}.research-page.maps-page .research-toolbar{top:14px}}
@media print{.research-page.maps-page{position:static!important;height:auto!important}}
.research-page>section:not(#researchReport){position:absolute;background:var(--map-glass);border:1px solid var(--map-border);border-radius:20px;box-shadow:var(--map-shadow);padding:18px;box-sizing:border-box;z-index:20;max-height:calc(100% - 78px);overflow:auto;scrollbar-width:none;backdrop-filter:blur(12px)}
@media(max-width:700px){.research-page>section:not(#researchReport){padding:14px}}

/* Keep green action labels white despite shared Maps button rules. */
.research-page.maps-page button:not(.map-pick-list button):not(.farm-link):not(.field-link):not(.tree-action):not(.research-farm-overview){color:#fff!important}
.research-page.maps-page .farm-link,.research-page.maps-page .field-link{color:var(--map-text)!important}
.research-page.maps-page #closePanel,.research-page.maps-page #cancelDraw,.research-page.maps-page #closeDetail{
background:transparent!important;color:var(--map-text)!important;border:0;box-shadow:none;border-radius:0;padding:0;width:36px;height:36px;min-height:36px;font-size:28px
}
.research-page.maps-page #closePanel svg{fill:none;stroke:currentColor;stroke-width:2}

/* Compact, expandable farm and field tree. */
.research-page.maps-page .research-farm{margin:0;padding:4px 0;border:0}
.research-page.maps-page .research-farm-heading{display:flex;align-items:center;gap:6px;list-style:none;margin:0;font-size:14px;min-height:34px}
.research-page .research-farm-heading::-webkit-details-marker{display:none}
.research-page .research-farm-heading::before{content:'▸';width:12px;flex:none;color:var(--map-muted)}
.research-page .research-farm[open]>.research-farm-heading::before{content:'▾'}
.research-page.maps-page .research-farm>p{margin:0 0 3px 46px;font-size:11px}
.research-page.maps-page .research-field{margin-left:20px;padding:2px 0 2px 13px;border-left:1px solid var(--map-border);gap:7px}
.research-page.maps-page .farm-link,.research-page.maps-page .field-link{min-height:30px;font-size:14px;padding:3px 0;border:0;border-radius:0;box-shadow:none}
.research-page.maps-page .field-link small{display:inline;margin-left:8px;font-size:11px}
.research-page.maps-page .research-farm .tree-action{background:transparent!important;color:var(--map-muted)!important;border:0;border-radius:0;box-shadow:none;min-height:28px;width:26px;min-width:26px;padding:2px;font-size:16px;flex:none}
.research-page.maps-page .research-farm .tree-action:hover{color:var(--map-text)!important}
.research-page.maps-page .research-farm input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;flex:none}
.research-page.maps-page .research-farm .color-dot{width:9px;height:9px}

/* Research report stays inside the visible map viewport, below the shell header. */
.research-page.maps-page #researchReport{position:absolute;inset:0;z-index:1000}
.research-page.maps-page #researchReport nav{top:0;flex-wrap:wrap;border-bottom:1px solid #dce3dc}
.research-page.maps-page .research-farm .delete-item{outline:0!important;border:0!important;color:var(--map-muted)!important}
.research-page .delete-item svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.research-page.maps-page .research-farm .tree-action{width:34px;min-width:34px;min-height:34px;display:grid;place-items:center}
.research-page.maps-page button:not(.map-pick-list button):not(.round-button):not(.tree-action):not(.farm-link):not(.field-link):not(.sheet-handle):not(#closePanel):not(#closeDetail):not(#cancelDraw):not(.research-farm-overview){
font:600 14px system-ui;min-height:44px;padding:10px 12px;border-radius:18px;border:1px solid #ffffff33;background:#3b7e46;color:#fff!important;line-height:1.3
}
.research-page.maps-page #saveField{display:block;width:100%;margin-top:12px}

.research-page.maps-page .sheet-handle{display:none}
.research-page #saveStatus:empty{display:none}
.research-page #saveStatus,.research-page #fieldSaveNotice{font-size:13px;font-weight:600;line-height:1.4}
.research-page #fieldSaveNotice{color:#3b7e46}
.research-page #researchStatus{z-index:26;bottom:12px;top:auto}
.research-page #researchDraw #researchStatus,.research-page #researchDetail #researchStatus{position:static;width:auto;max-width:none;box-shadow:none;margin:10px 0 0;padding:8px 0;background:transparent}
.research-page #researchStatus.error{color:var(--map-text);border-left:3px solid #d96a6a;padding-left:10px}
@media(max-width:700px){
 .research-page.maps-page button.sheet-handle{display:flex;align-items:center;justify-content:center;width:100%;height:20px;min-height:20px;padding:0;margin:-6px 0 6px;background:transparent!important;border:0;border-radius:0;box-shadow:none;touch-action:none}
 .sheet-handle span{width:40px;height:4px;border-radius:4px;background:var(--map-muted)}
 .research-page #researchDraw header,.research-page #researchDetail header{touch-action:none}
 .research-page #researchDraw.sheet-collapsed{max-height:180px;overflow:hidden}
 .research-page #researchDetail.sheet-collapsed{max-height:100px;overflow:hidden}
 .research-page .sheet-collapsed>:not(header):not(.sheet-handle){display:none!important}
 .research-page #researchDraw.sheet-collapsed>.research-controls{display:flex!important;margin:8px 0 0}
 .research-page #researchDraw.sheet-collapsed>.research-controls button{min-height:40px;padding:6px;font-size:13px}
 .research-page #researchDraw.sheet-collapsed header,.research-page #researchDetail.sheet-collapsed header{align-items:center}
 .research-page .sheet-collapsed h2{font-size:18px}
}


.maps-page.research-active>:not(#fieldMap):not(#researchWorkspace){display:none!important}
#researchWorkspace.research-page.maps-page{position:absolute;inset:0;height:100%;min-height:0;pointer-events:none;background:transparent;z-index:15}
#researchWorkspace>[hidden]{display:none!important}
#researchWorkspace>:not([hidden]){pointer-events:auto}
#researchWorkspace[hidden]{display:none!important}
@media print{.maps-page.research-active>#fieldMap{display:none!important}#researchWorkspace.research-page.maps-page{position:static!important;height:auto!important}}

#researchWorkspace .research-toolbar{position:absolute;display:flex;align-items:center;gap:6px;z-index:25}
#researchWorkspace #researchView{background:#3b7e46;color:#fff;font:inherit;min-height:44px;margin-top:6px}
#researchWorkspace .research-toolbar{top:8px;gap:8px}
#researchWorkspace .research-toolbar .round-button{box-sizing:border-box;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:1px solid #ffffff40;box-shadow:0 2px 7px #0002}
#researchWorkspace .research-toolbar svg{width:21px;height:21px;stroke-width:1.8}
#researchWorkspace .research-quick-search{display:none;position:absolute;top:56px;right:12px;width:min(340px,calc(100% - 24px));z-index:26}
#researchWorkspace.search-open .research-quick-search{display:block}
#researchWorkspace .research-quick-search input{box-sizing:border-box;width:100%;height:44px;background:var(--map-glass);color:var(--map-text);border-color:var(--map-border);font-size:16px}
#researchWorkspace .quick-result{display:block;width:100%;text-align:left}
#researchWorkspace.map-focus>:not(.research-toolbar){display:none!important}
#researchWorkspace.map-focus .research-toolbar>:not(#researchFocus){display:none!important}
@media(max-width:600px){#researchWorkspace .research-toolbar .round-button{width:34px;height:34px;min-width:34px;min-height:34px}}
#researchWorkspace #researchReport nav{gap:8px;padding:10px 12px;align-items:center}
#researchWorkspace #researchReport nav button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 13px;border-radius:12px;font-size:14px;line-height:1.2;white-space:nowrap}
#researchWorkspace #researchReport nav button svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#researchWorkspace #reportPdfError:not(:empty){flex-basis:100%;font-size:13px;color:#a72929}
.report-overview .report-map{height:auto;aspect-ratio:2.25;overflow:hidden}
.report-meta{font-size:12px;color:#667366}.report-subtitle{color:#536354}
.report-metrics{display:flex;gap:10px;margin:14px 0}.report-metrics>div{flex:1;padding:10px 12px;border:1px solid #dce5d8;border-radius:8px;background:#f6f8f4}.report-metrics span,.report-metrics small{display:block;font-size:11px;color:#60705f}.report-metrics strong{display:block;font-size:24px;margin:3px 0}
.report-soil-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px}.report-soil-table td:first-child{width:49%}.report-soil-table td:not(:first-child){white-space:nowrap;text-align:right}.report-sources{font-size:11px;color:#61705f;margin-top:20px}
#researchWorkspace #researchDetail label{font-weight:600}#researchWorkspace #researchDetail select{font-weight:400}
@media(max-width:600px){.report-soil-table{font-size:10px}.report-soil-table td,.report-soil-table th{padding:5px 3px}.report-metrics{gap:5px}.report-metrics>div{padding:8px}.report-metrics strong{font-size:21px}}
#researchWorkspace #researchTools{top:56px;right:12px;width:min(320px,calc(100% - 24px));z-index:26;display:grid;gap:8px;max-height:calc(100% - 70px)}

/* Match the normal map's compact field sheet and layer picker. */
#researchWorkspace #researchDetail.field-detail{left:12px;right:auto;bottom:0;width:min(420px,calc(100% - 24px));padding:0 18px 12px;border-radius:20px 20px 0 0;border-bottom:0;max-height:60%;font-size:13px}
#researchWorkspace #researchDetail header{align-items:center;gap:8px}
#researchWorkspace #researchDetail h2{font-size:17px;font-weight:600;line-height:1.3;margin:0}
#researchWorkspace #researchDetail .research-farm-overview{display:block;min-height:0;width:auto;border:0;border-radius:0;padding:0;margin:0 0 3px;background:transparent!important;color:var(--map-muted)!important;font:11px system-ui;text-align:left;box-shadow:none}
#researchWorkspace #researchDetail .research-farm-overview:hover{color:var(--map-text)!important;text-decoration:underline}
#researchWorkspace #researchDetail .crop-badge{font-size:13px;margin:5px 0;line-height:1.4}
#researchWorkspace #researchDetail .crop-badge i{width:12px;height:12px;border-radius:4px}
#researchWorkspace #researchDetail .field-status{font-size:12px;margin:4px 0 9px;color:var(--map-muted)}
#researchWorkspace #researchDetail .field-more{margin-top:4px}
#researchWorkspace #researchDetail .field-more>summary{font-size:13px;padding:11px 28px 11px 0;color:var(--map-muted)}
#researchWorkspace #researchDetail .field-more label{font-size:12px;font-weight:500}
#researchWorkspace #researchDetail #detailSummary{max-height:none;overflow:visible}
#researchWorkspace #researchDetail #layerStatus:empty{display:none}
#researchWorkspace #researchDetail #detailHandle{display:flex;align-items:center;justify-content:center;width:100%;height:28px;min-height:28px;padding:0;margin:0;background:transparent!important;color:var(--map-muted)!important;border:0;border-radius:0;box-shadow:none;touch-action:none}
#researchWorkspace #researchDetail #detailHandle span{width:40px;height:4px;margin:0;background:currentColor;border-radius:4px}
#researchWorkspace #researchLayerPicker{display:block;top:0;left:0;right:0;width:100%;max-width:none;padding:0 16px;box-sizing:border-box;border:0;border-bottom:1px solid var(--map-border);border-radius:0;background:var(--map-glass);z-index:24}
#researchWorkspace #researchLayerPicker select{margin:0;padding:0 28px 0 0;height:46px;min-height:46px;border:0;border-radius:0;background-color:transparent;color:var(--map-text);font:13px system-ui}
#researchWorkspace #researchLayerPicker .map-picker{margin-top:0}
#researchWorkspace.research-selected .research-toolbar{top:62px}
#researchWorkspace.research-selected .research-quick-search{top:110px}
#researchWorkspace.map-focus #researchLayerPicker{display:none!important}
@media(max-width:700px){#researchWorkspace #researchDetail.field-detail{left:0;width:100%;padding:0 16px 12px;border-left:0;border-right:0;max-height:60%}}

/* Use the shared Field Operations picker groups and plain rows. */
#researchWorkspace #researchLayerPicker .map-picker{margin:0}
#researchWorkspace #researchLayerPicker .map-option-group{margin:0;border-top:1px solid var(--map-border)}
#researchWorkspace #researchLayerPicker .map-option-group>summary{font:500 14px system-ui;color:var(--map-text);padding:12px 4px;min-height:44px}
#researchWorkspace #researchAttributePicker[hidden]{display:none!important}
#researchWorkspace #researchAttributePicker{border-top:1px solid var(--map-border)}
#researchWorkspace.research-layer-active.research-selected .research-toolbar{top:108px}
#researchWorkspace.research-layer-active.research-selected .research-quick-search{top:156px}
#researchWorkspace:has(#researchLayerPicker .map-picker[open]) .research-toolbar{visibility:hidden}

#researchWorkspace #researchPanel .farm-link,#researchWorkspace #researchPanel .field-link{color:var(--map-text)!important;background:transparent!important;font:400 14px system-ui;box-shadow:none}

/* Move the drawing box without moving map points or changing the mobile collapse handle. */
#researchWorkspace #researchDraw header{cursor:grab;touch-action:none;user-select:none;align-items:center}
#researchWorkspace #researchDraw header strong::after{content:'Drag to move';display:block;font:400 11px system-ui;color:var(--map-muted);margin-top:4px}
#researchWorkspace #researchDraw.panel-dragging header{cursor:grabbing}

/* Both research sheets tuck down to the grab handle without closing the field. */
#researchWorkspace #researchDraw #drawHandle{
 display:flex;align-items:center;justify-content:center;width:100%;height:28px;min-height:28px;
 padding:0;margin:0;background:transparent!important;border:0;border-radius:0;box-shadow:none;touch-action:none
}
#researchWorkspace #drawHandle span{width:40px;height:4px;border-radius:4px;background:var(--map-muted)}
#researchWorkspace #researchDraw.sheet-collapsed,
#researchWorkspace #researchDetail.field-detail.sheet-collapsed{
 top:auto;bottom:0;height:28px;min-height:28px;max-height:28px;padding:0 16px;overflow:hidden;
 border-radius:20px 20px 0 0
}
#researchWorkspace #researchDraw.sheet-collapsed>:not(.sheet-handle),
#researchWorkspace #researchDetail.sheet-collapsed>:not(.sheet-handle),
#researchWorkspace #researchDraw.sheet-collapsed>.research-controls{display:none!important}
