/* Dynamic Map editor: Steve's layout and interactions, Home's theme.
   Dimension parity is exercised against the original rendered editor. Every color is a Home token or a --dm-*
   token defined below for BOTH themes; test/contracts/static/
   dynamic-map-token-parity.test.js keeps the two blocks the same set. Canvas
   fills paint over the carrier's un-themed raster, so their dark value is the
   light one until a contrast ruling says otherwise. */
.native-map-workspace{
  --dm-hit-group:#b070ff;
  --dm-hit-highlight:#ffe27a;
  --dm-hit-done:var(--map-status-ok);
  --dm-label-ink:#7b2d2d;
  --dm-label-halo:#fff;
  --dm-group-soft:rgba(176,112,255,.14);
  --dm-group-edge:#7c3aed;
  --dm-map-ground:var(--neutral-soft);
  --dm-row-ok:var(--map-status-ok);
  --dm-toolbar-target:52px;
  --dm-font-body:15px;
  --dm-hint-size:23px;
  --dm-entry-gap:44px;
  --dm-entry-input:48px;
  --dm-entry-font:18px;
  --dm-more-font:17px;
  --dm-more-input:46px;
  --dm-subhead-font:15px;
  --dm-action-target:50px;
  --dm-acres-width:170px;
  --dm-date-width:220px;
  color:var(--text);
  font-size:var(--dm-font-body);
  width:100%;
  min-width:0;
  max-width:1800px;
  margin:0 auto;
}
[data-theme="dark"] .native-map-workspace{
  --dm-hit-group:#b070ff;
  --dm-hit-highlight:#ffe27a;
  --dm-hit-done:var(--map-status-ok);
  --dm-label-ink:#7b2d2d;
  --dm-label-halo:#fff;
  --dm-group-soft:rgba(176,112,255,.22);
  --dm-group-edge:#b98cff;
  --dm-map-ground:var(--neutral-soft);
  --dm-row-ok:var(--map-status-ok);
  --dm-toolbar-target:52px;
  --dm-font-body:15px;
  --dm-hint-size:23px;
  --dm-entry-gap:44px;
  --dm-entry-input:48px;
  --dm-entry-font:18px;
  --dm-more-font:17px;
  --dm-more-input:46px;
  --dm-subhead-font:15px;
  --dm-action-target:50px;
  --dm-acres-width:170px;
  --dm-date-width:220px;
}
/* The producer page has no theme switch and sets no data-theme; it follows the
   device, as its Home tokens do (producerDesignCss). Home always sets the
   attribute, so this never overrides Home's own choice. Same values as above. */
@media (prefers-color-scheme: dark){:root:not([data-theme]) .native-map-workspace{
  --dm-hit-group:#b070ff;
  --dm-hit-highlight:#ffe27a;
  --dm-hit-done:var(--map-status-ok);
  --dm-label-ink:#7b2d2d;
  --dm-label-halo:#fff;
  --dm-group-soft:rgba(176,112,255,.22);
  --dm-group-edge:#b98cff;
  --dm-map-ground:var(--neutral-soft);
  --dm-row-ok:var(--map-status-ok);
  --dm-toolbar-target:52px;
  --dm-font-body:15px;
  --dm-hint-size:23px;
  --dm-entry-gap:44px;
  --dm-entry-input:48px;
  --dm-entry-font:18px;
  --dm-more-font:17px;
  --dm-more-input:46px;
  --dm-subhead-font:15px;
  --dm-action-target:50px;
  --dm-acres-width:170px;
  --dm-date-width:220px;
}}
.native-map-workspace [hidden]{display:none!important}
.native-map-workspace input,.native-map-workspace select{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-control);min-height:var(--target-min);padding:var(--space-8) var(--space-12);box-sizing:border-box;max-width:100%}
.native-map-workspace input[readonly]{background:var(--bg);color:var(--text-sec)}
.native-map-workspace input:disabled,.native-map-workspace select:disabled{opacity:.6}
.native-map-workspace input.is-bad{border-color:var(--danger)}
.native-map-workspace input.is-good{border-color:var(--map-status-ok)}
.native-map-workspace label{font-size:var(--font-size-control);font-weight:600;color:var(--text-sec)}

/* Page frame */
.native-map-workspace .dm-page-header{margin-bottom:var(--space-12)}
.native-map-workspace .dm-linkbutton{display:inline-flex;align-items:center;min-height:var(--target-min);padding:var(--space-8) var(--space-16);border:1px solid var(--interaction-accent);border-radius:var(--radius-control);color:var(--interaction-accent-ink);font-weight:600;text-decoration:none}
.native-map-workspace .home-page-header__back{text-decoration:none}
.dm-notice{margin:0 0 var(--space-12);padding:var(--space-12) var(--space-16);border:1px solid var(--brown-border);border-left:4px solid var(--brown);border-radius:var(--radius-control);background:var(--brown-light);color:var(--text)}
.dm-alert{margin:0 0 var(--space-12);padding:var(--space-12) var(--space-16);border:1px solid var(--danger-border);border-left:4px solid var(--danger);border-radius:var(--radius-control);background:var(--danger-soft);color:var(--text)}

/* Upload zone: the original's #doczone */
.dm-doczone{display:flex;align-items:center;gap:var(--space-16);flex-wrap:wrap;margin:0 0 var(--space-12);padding:var(--space-12) var(--space-16);border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}
.dm-doczone[data-state="busy"],.dm-doczone[data-state="processing"]{border-color:var(--workflow-attention-border);background:var(--workflow-attention-soft)}
.dm-doczone[data-state="error"]{border-color:var(--danger-border);background:var(--danger-soft)}
.dm-doczone__pick{display:inline-flex;align-items:center;min-height:var(--target-min);padding:var(--space-8) var(--space-16);border:1px solid var(--interaction-accent);border-radius:var(--radius-control);color:var(--interaction-accent-ink);font-weight:600;cursor:pointer}
.dm-doczone__pick.is-disabled{opacity:.55;cursor:not-allowed}
.dm-doczone__pick:focus-within{outline:var(--focus-ring-width) solid var(--focus-ring-outer);outline-offset:var(--focus-ring-offset)}
.dm-doczone__status{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1 240px;min-width:0}
.dm-doczone__sub{color:var(--text-sec);font-size:var(--font-size-caption)}

/* Report (read band) */
.native-map-workspace .dm-report .h-band__body{flex-direction:column;gap:var(--space-8)}
.dm-hrow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-8) var(--space-16)}
.dm-hfield{display:flex;align-items:center;gap:var(--space-6)}
.dm-hfield>span{font-style:italic;font-weight:600;color:var(--text-sec)}
.dm-hfield--provider input{width:9rem}
.dm-hfield--farmer{flex:1 1 16rem}
.dm-hfield--farmer input{flex:1;min-width:0;width:100%}
.dm-hfield--year input{width:5.5rem}
.dm-hfield--date input{width:8rem}
.dm-hfield--policy input{width:14rem}
.dm-job,.dm-headbutton{display:inline-flex;align-items:center;gap:var(--space-4);min-height:var(--target-min);padding:0 var(--space-8);border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:inherit;font:inherit;cursor:pointer}
.dm-job code{font-family:ui-monospace,Menlo,monospace;font-size:var(--font-size-caption)}
.dm-headbutton{border-color:currentColor}

/* The instruction, not a caption: read tint, the original's size. */
.dm-hint{margin:0 0 var(--space-12);padding:var(--space-24) var(--space-32);border:1px solid var(--brown-border);border-radius:14px;background:var(--brown-light);color:var(--brown-ink);font-size:var(--dm-hint-size);font-weight:500;line-height:1.6}

/* Layout: DOM order is visual order (producer mode moves the list first in
   the DOM, as the original did). */
.dm-wrap{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-12)}
.dm-rail{flex:0 0 100%;min-width:0;border:1px solid var(--brown-border);border-radius:14px;background:var(--bg-card);overflow:hidden}
.dm-mapshell{flex:1 1 100%;min-width:0}
.dm-side{flex:1 1 100%;min-width:0;display:flex;flex-direction:column;gap:var(--space-12)}
@media(min-width:1100px){
  /* The page header is Home's own (2026-10-14): Back on its own line, then
     the title with Saved maps, as on every other page. The tighter header
     margin and instruction banner below pay for that line, so Save progress
     and Review declaration still fit a 1440 by 900 screen. */
  .native-map-workspace .dm-page-header{margin-bottom:var(--space-4)}
  .dm-page-header .home-page-header__back{margin-bottom:var(--space-4)}
  .native-map-workspace .dm-hint{margin-bottom:var(--space-8);padding-block:var(--space-8);line-height:1.45}
  .dm-page-header .home-page-header__row{min-width:0;gap:var(--space-12)}
  .dm-page-header .home-page-header__row>div:first-child{flex:1;min-width:0}
  .native-map-workspace .dm-report .h-band__head{padding-block:0;min-height:var(--target-min)}
  .native-map-workspace .dm-report .h-band__body{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,2fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(140px,1fr) minmax(180px,1.4fr);gap:var(--space-12)}
  .dm-report .dm-hrow{display:contents}
  .dm-report .dm-hfield{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);min-width:0}
  .dm-report .dm-hfield input{width:100%;min-width:0}
  .dm-wrap{flex-wrap:nowrap}
  .dm-rail{flex:0 0 clamp(172px,14vw,232px);align-self:stretch}
  .dm-mapshell{flex:1 1 640px;max-width:1000px}
  .dm-side{flex:1 1 400px;min-width:360px;max-width:760px}
  .dm-side{gap:var(--space-6)}
  .dm-savebar .dm-savestatus{flex:1 1 140px}
  .dm-side .dm-filebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .dm-filebar button{width:100%;height:auto!important;white-space:normal!important;line-height:1.25}
}

/* Page rail: the original's #docRail, a read surface. */
.dm-rail__head{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-8) var(--space-12);background:var(--brown);color:var(--band-read-ink);font-size:var(--font-size-caption)}
.dm-rail__head b{font-size:var(--font-size-control)}
.dm-rail__list{list-style:none;margin:0;padding:0;display:flex;overflow:auto}
@media(min-width:1100px){.dm-rail__list{flex-direction:column;max-height:80vh}}
.dm-rail li{position:relative;flex:0 0 auto;border-bottom:1px solid var(--border-light)}
@media(max-width:1099px){.dm-rail li{flex:0 0 200px;border-bottom:0;border-right:1px solid var(--border-light)}}
.dm-rail .dr-open{display:flex;align-items:center;gap:var(--space-8);width:100%;min-height:var(--target-min);padding:var(--space-6) var(--space-8);border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.dm-rail .dr-open:hover:not(:disabled){background:var(--green-light)}
.dm-rail .dr-open:disabled{cursor:default}
.dm-rail .sel .dr-open{background:var(--interaction-accent-soft);box-shadow:inset 3px 0 0 var(--interaction-accent)}
.dm-rail .pending .dr-open{opacity:.55}
.dm-rail .err .dr-open{background:var(--danger-soft)}
.dm-rail .dr-thumb,.dm-rail .dr-ph{display:block;width:42px;height:34px;flex:0 0 auto;border-radius:var(--radius-marker);background:var(--dm-map-ground);overflow:hidden}
.dm-rail .dr-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.dm-rail .dr-thumb-retry{position:absolute;left:var(--space-8);top:50%;transform:translateY(-50%);width:42px;height:34px;padding:0 var(--space-2);border:0;border-radius:var(--radius-marker);background:var(--danger-soft);color:var(--danger);font-family:inherit;font-size:9px;font-weight:700;line-height:1.1;cursor:pointer}
.dm-rail .dr-t{flex:1;min-width:0}
.dm-rail .dr-t b{display:block;font-size:var(--font-size-body)}
.dm-rail .dr-t span{display:block;color:var(--text-sec);font-size:var(--font-size-label);overflow-wrap:anywhere}
.dm-rail .dr-badge{flex:0 0 auto;padding:1px var(--space-6);border-radius:var(--radius-pill);background:var(--neutral-soft);color:var(--neutral-fg);font-size:var(--font-size-label);font-weight:700}
.dm-rail .dr-badge.rev{background:var(--workflow-attention-soft);color:var(--workflow-attention-ink)}
.dm-rail .dr-badge.err{background:var(--danger-soft);color:var(--danger)}

/* Map shell */
.dm-docerr{margin:0 0 var(--space-8);padding:var(--space-8) var(--space-12);border:1px solid var(--danger-border);border-left:4px solid var(--danger);border-radius:var(--radius-inset);background:var(--danger-soft);color:var(--text);font-size:var(--font-size-body)}
.dm-docerr b{display:block;margin-bottom:var(--space-2)}
.dm-docerr__list{margin-top:var(--space-4);color:var(--text-sec)}
.dm-mapframe{position:relative}
.dm-zoomctl{position:absolute;top:var(--space-8);right:var(--space-8);z-index:calc(var(--z-raised) + 1);display:flex;flex-direction:column;gap:var(--space-4)}
.dm-zoomctl button{width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-inset);background:var(--bg-card);color:var(--text);font-family:inherit;font-size:18px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 1px 3px var(--shadow-popover)}
.dm-zoomctl button:hover{background:var(--green-light)}
@media(pointer:coarse){.dm-zoomctl button{width:var(--target-min);height:var(--target-min)}}
.dm-mapbox{position:relative;min-height:240px;max-height:80vh;overflow:auto;border-radius:var(--radius-inset);background:var(--dm-map-ground);box-shadow:0 1px 6px var(--shadow-popover);overscroll-behavior:contain}
.dm-zoomwrap{position:relative;min-width:100%}
.dm-zoomwrap img{display:block;width:100%}
.dm-zoomwrap.has-size img{height:100%}
.dm-zoomwrap svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.dm-mapbox.is-blank .dm-zoomwrap,.dm-mapbox.is-loading img,.dm-mapbox.is-failed img{visibility:hidden}
.dm-mapsurface{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 var(--space-24);color:var(--text-sec);font-size:var(--font-size-control);font-weight:600;text-align:center;pointer-events:none}
.dm-mapbox.is-loading+.dm-mapsurface{opacity:0;animation:dm-surface 0s linear 250ms forwards}
@keyframes dm-surface{to{opacity:1}}
.dm-mapbox .hit{fill:transparent;pointer-events:auto;cursor:pointer}
.dm-mapbox .hit.grp{fill:var(--dm-hit-group);fill-opacity:.35}
.dm-mapbox .hit.hl{fill:var(--dm-hit-highlight);fill-opacity:.45}
.dm-mapbox .hit.done{fill:var(--dm-hit-done);fill-opacity:.30}
.dm-mapbox .mlab{font:700 15px sans-serif;fill:var(--dm-label-ink);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:var(--dm-label-halo);stroke-width:3px;pointer-events:auto;cursor:pointer}

/* User tools: the page's one act band */
.native-map-workspace .dm-tools{margin:0}
.dm-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-10)}
.dm-toolwrap{position:relative;display:flex}
.dm-toolwrap[data-tip="undo"]{grid-column:2/4}
.dm-tool{flex:1;min-height:var(--dm-toolbar-target);padding:var(--space-12) var(--space-10);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card);color:var(--text);font-family:inherit;font-size:var(--dm-font-body);font-weight:600;line-height:1.2;cursor:pointer}
.dm-tool:hover:not(:disabled){background:var(--green-light)}
.dm-tool[aria-pressed="true"]{border-color:var(--green);background:var(--green-light);color:var(--green-ink);box-shadow:inset 0 0 0 1px var(--green)}
/* A tip belongs to its tool's hover area (WCAG 2.2 SC 1.4.13): the pointer can
   cross the 8px gap (::before) onto the tip and stay to read it, and Escape
   hides it (data-tip-dismissed) until the pointer and focus leave the tool.
   A first-row tool's tip opens above the toolbar when the window has room
   (data-tip-place, set by placeTip), so no tip covers another tool. On a touch
   screen a tip never takes the tap meant for what lies under it. */
.dm-tip{position:absolute;left:0;top:calc(100% + 8px);z-index:calc(var(--z-raised) + 2);width:230px;padding:var(--space-8) var(--space-10);border-radius:var(--radius-control);background:var(--structure-accent);color:var(--structure-accent-text);font-size:var(--font-size-caption);font-weight:500;line-height:1.4;box-shadow:0 8px 22px var(--shadow-popover);opacity:0;visibility:hidden;transition:opacity .16s ease}
.dm-tip::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:8px}
.dm-toolwrap[data-tip-place="above"] .dm-tip{top:auto;bottom:calc(100% + 8px)}
.dm-toolwrap[data-tip-place="above"] .dm-tip::before{top:100%;bottom:auto}
.dm-toolwrap:nth-child(3n) .dm-tip{left:auto;right:0}
.dm-toolwrap:hover .dm-tip,.dm-tool:focus-visible+.dm-tip{opacity:1;visibility:visible}
.dm-toolwrap[data-tip-dismissed] .dm-tip{opacity:0;visibility:hidden}
@media(hover:none){.dm-tip{pointer-events:none}}
.dm-fill{width:100%}
.dm-bulk{display:flex;gap:var(--space-6)}
.dm-bulk>*{flex:1}

/* Field list */
.dm-listlabel{margin:var(--space-4) 0 0;font-size:var(--font-size-title);font-weight:700;color:var(--text)}
.dm-listcounts{margin:0;color:var(--text-muted);font-size:var(--font-size-caption)}
.dm-rowlist{list-style:none;margin:0;padding:0;max-height:460px;overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}
.dm-rowlist li{display:flex;align-items:center;gap:var(--space-8);padding:0 var(--space-12) 0 0;border-bottom:1px solid var(--border-light);box-shadow:inset 4px 0 0 transparent;cursor:pointer;transition:background .12s,box-shadow .12s}
.dm-rowlist li:last-child{border-bottom:0}
.dm-rowlist li:hover{background:var(--green-light);box-shadow:inset 4px 0 0 var(--green)}
.dm-row{flex:1;min-width:0;min-height:var(--target-min);padding:var(--space-12);border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.dm-rowlist .chev{flex:0 0 auto;color:var(--interaction-accent);font-size:20px;font-weight:700;line-height:1;transition:transform .12s}
.dm-rowlist li:hover .chev{transform:translateX(3px)}
.dm-rowlist .ok{color:var(--dm-row-ok);font-weight:600}
.dm-rowlist .needsinterp{color:var(--workflow-attention-ink);font-weight:600}
.dm-rowlist .skiprow .dm-row{color:var(--text-muted);text-decoration:line-through}
.dm-rowlist .skiprow i{font-style:italic;text-decoration:none}
.dm-rowlist .grpsel{background:var(--dm-group-soft);box-shadow:inset 3px 0 0 var(--dm-group-edge)}
.native-map-workspace .interpwarn{margin-left:var(--space-4);padding:1px 7px;border-radius:var(--radius-pill);background:var(--workflow-attention-soft);color:var(--workflow-attention-ink);font-size:var(--font-size-label);font-weight:600;white-space:nowrap}
.native-map-workspace .arpill{display:inline-block;margin-left:var(--space-6);padding:1px var(--space-8);border-radius:var(--radius-pill);font-size:var(--font-size-label);font-weight:700;white-space:nowrap;vertical-align:middle}
.native-map-workspace .arpill.ok{background:var(--map-status-ok);color:var(--on-accent)}
.native-map-workspace .arpill.pending,.native-map-workspace .arpill.check{border:1px solid var(--workflow-attention-border);background:var(--workflow-attention-soft);color:var(--workflow-attention-ink)}
.native-map-workspace .arpill.no,.native-map-workspace .arpill.flag{background:var(--danger-soft);color:var(--danger)}
.native-map-workspace .arpill.wait{background:var(--neutral-soft);color:var(--neutral-fg)}
.dm-rowlist .pill{flex:0 0 auto;min-height:var(--target-min);padding:0 var(--space-12);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-input);color:var(--text-sec);font-family:inherit;font-size:var(--font-size-label);font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}
.dm-rowlist .pill.on{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}

/* Save and review */
.dm-savebar,.dm-filebar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-10)}
.dm-savestatus,.dm-note{margin:0;color:var(--text-sec);font-size:var(--font-size-caption);line-height:1.35}
.dm-review{display:flex;flex-direction:column;gap:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--border-light)}
.dm-provider{display:flex;flex-direction:column;gap:var(--space-4)}
.dm-map-report__producer{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-8)}
.dm-filedetails summary{min-height:var(--target-min);display:flex;align-items:center;cursor:pointer;color:var(--text-sec);font-size:var(--font-size-caption)}
.dm-filedetails span{color:var(--text-sec);font-size:var(--font-size-caption)}
.dm-export{align-self:flex-start}

/* Entry card and split dialogs (native <dialog>, top layer) */
.dm-card{margin:auto;width:560px;max-width:94vw;max-height:92vh;padding:0;overflow:auto;border:1px solid var(--brown-border);border-radius:var(--radius-surface);background:var(--bg-card);color:var(--text);box-shadow:0 12px 40px var(--shadow-modal)}
.dm-card--split{width:min(380px,calc(100vw - 32px))}
.dm-card::backdrop{background:var(--overlay)}
.dm-card__head{position:sticky;top:0;z-index:var(--z-raised);padding:var(--space-10) var(--space-16);background:var(--brown);color:var(--band-read-ink)}
.dm-card__head h2{margin:0;font-size:var(--font-size-lead);font-weight:800}
.dm-card__body{padding:var(--space-14) var(--space-16)}
/* UI.Button paints its height and type from --target-min and --font-size-control
   inline, so the original's 50px / 17px actions are set through those two tokens. */
.dm-card__acts{--target-min:var(--dm-action-target);--font-size-control:var(--dm-more-font);display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--space-14)}
.dm-card__acts>*{flex:1;min-height:var(--dm-action-target);font-size:var(--dm-more-font)}
.dm-grpnote{margin:0 0 var(--space-8);padding:var(--space-6) var(--space-8);border:1px solid var(--dm-group-edge);border-radius:var(--radius-inset);background:var(--dm-group-soft);color:var(--text-sec);font-size:var(--font-size-body)}
.dm-idrow{display:flex;flex-direction:column;gap:var(--space-4)}
.dm-idlabel{font-size:var(--font-size-control);font-weight:600;color:var(--text-sec)}
.dm-soft{font-weight:400;opacity:.75}
.dm-baserow{display:flex;align-items:center;gap:var(--space-8)}
.dm-baserow b{font-size:var(--font-size-lead)}
.native-map-workspace .dm-part{width:4rem;font-weight:700;text-align:center;text-transform:uppercase}
.dm-tally{margin:var(--space-4) 0 0;font-size:var(--font-size-caption);color:var(--text-sec)}
.dm-tally.is-bad{color:var(--danger)}
.dm-qrule{width:100%;margin:var(--space-24) 0;border:0;border-top:1px solid var(--border-light)}
.native-map-workspace .dm-qlabel{display:block;margin:var(--dm-entry-gap) 0 var(--space-10);font-size:var(--font-size-display);font-weight:500;line-height:1.3;color:var(--text)}
.native-map-workspace .dm-qlabel--first{margin-top:0}
.dm-qhint{margin:var(--space-8) 0 0;color:var(--text-sec);font-size:var(--font-size-body)}
.dm-warn{margin:var(--space-4) 0 0;color:var(--danger);font-size:var(--font-size-caption)}
.dm-arline select,.dm-card__body>input,.dm-col input,.dm-col select{width:100%}
.native-map-workspace .armatch{margin:0 0 var(--space-10);padding:var(--space-8) var(--space-10);border-radius:var(--radius-control);font-size:var(--font-size-body);font-weight:600;line-height:1.4}
.native-map-workspace .armatch.ok{border:1px solid var(--status-match-border);background:var(--status-match-bg);color:var(--status-match-fg)}
.native-map-workspace .armatch.picked{border:1px solid var(--interaction-accent);background:var(--interaction-accent-soft);color:var(--interaction-accent-ink)}
.dm-newcrop{display:flex;flex-direction:column;gap:var(--space-8);margin-top:var(--space-16);padding:var(--space-16);border-radius:var(--radius-inset);background:var(--bg)}
.dm-newcrop.is-needcrop{background:var(--danger-soft)}
.dm-col{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}
.dm-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10)}
.dm-acres{display:flex;align-items:center;gap:var(--space-12)}
.native-map-workspace #dm-f-acres{width:var(--dm-acres-width);flex:0 1 var(--dm-acres-width);font-weight:600}
.native-map-workspace #dm-f-date{width:var(--dm-date-width);min-width:min(100%,14ch)}
.native-map-workspace #dm-f-arline,.native-map-workspace #dm-f-acres,.native-map-workspace #dm-f-date,.native-map-workspace #dm-f-field,.native-map-workspace #dm-f-fieldtext{min-height:var(--dm-entry-input);height:auto;font-size:var(--dm-entry-font);padding:0 var(--space-14)}
.dm-acres span{color:var(--text-sec);font-size:var(--font-size-lead)}
.native-map-workspace .dm-more{margin:0}
.native-map-workspace .dm-more .h-band__toggle{padding:var(--space-14) var(--space-16);font-size:var(--dm-more-font)}
.native-map-workspace .dm-more .h-band__title{font-size:var(--dm-more-font);font-weight:400;letter-spacing:normal;text-transform:none}
.native-map-workspace .dm-more .h-band__caret{transform:rotate(180deg)}
.native-map-workspace .dm-more .h-band__toggle[aria-expanded="true"] .h-band__caret{transform:none}
.dm-more__body{display:block;padding:var(--space-20) var(--space-16)}
.dm-more__body .dm-g2{gap:0 var(--space-10)}
.native-map-workspace .dm-more__body label{display:block;margin:9px 0 3px;font-size:var(--font-size-control);font-weight:400}
.dm-more__body .dm-col{display:block}
.dm-more__body input,.dm-more__body select{min-height:var(--dm-more-input);height:auto;font-size:var(--dm-more-font)}
.dm-acreage-review{display:block;min-width:0;overflow-wrap:anywhere}
.dm-acreage-review>p{margin:var(--space-12) 0}
.dm-acreage-review fieldset{min-width:0;max-width:100%;box-sizing:border-box;margin:var(--space-16) 0;padding:var(--space-16);border:1px solid var(--border);border-radius:var(--radius-inset);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12)}
/* The shared Button primitive sets nowrap inline; the placement form must reflow at enlarged text. */
.dm-acreage-review button{max-width:100%;white-space:normal!important;height:auto;margin:var(--space-4);overflow-wrap:anywhere}
.dm-acreage-review legend{max-width:100%;overflow-wrap:anywhere;font-weight:600}
.dm-acreage-review fieldset>p{grid-column:1/-1;margin:0}
.dm-acreage-review label{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;overflow-wrap:anywhere}
.dm-acreage-review label:has(input[type="checkbox"]){display:block;margin:var(--space-12) 0}
.dm-acreage-review input:not([type="checkbox"]),.dm-acreage-review select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;font:inherit}
@media(max-width:768px){.dm-acreage-review fieldset{grid-template-columns:minmax(0,1fr)}}
.dm-subhead{margin:0 0 var(--space-14);color:var(--text-sec);font-size:var(--dm-subhead-font);font-weight:400}
.dm-meta{margin:var(--space-6) 0 0;color:var(--text-muted);font-size:var(--font-size-label)}
.dm-entrynote{margin:var(--space-8) 0 0;padding:var(--space-8) var(--space-10);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--neutral-soft);color:var(--text-sec);font-size:var(--font-size-body)}
.dm-split__prompt{margin:0 0 var(--space-10);font-size:var(--font-size-control)}
.dm-split__presets{display:flex;gap:var(--space-6);margin-bottom:var(--space-10)}
.dm-split__presets>*{flex:1}
.dm-split__picks{display:flex;flex-direction:column;gap:var(--space-6)}
.dm-split__picks>*{justify-content:flex-start!important}

@media(max-width:768px){
  .native-map-workspace{--dm-hint-size:18px}
  .dm-report .h-band__head{flex-wrap:wrap}
  .dm-job{min-width:0;max-width:100%}
  .dm-job code{min-width:0;overflow-wrap:anywhere}
  .dm-hint{padding:var(--space-16)}
  .dm-mapbox{max-height:55vh}
  /* Keep each tool's explanation on screen down to 320px: the first column
     opens rightward, the middle column centres, the last column and the
     two-column Undo open leftward. */
  .dm-tip{width:min(230px,calc(100vw - 48px))}
  .dm-toolwrap:nth-child(3n+2) .dm-tip{left:50%;transform:translateX(-50%)}
  .dm-toolwrap[data-tip="undo"] .dm-tip{left:auto;right:0;transform:none}
  .dm-more__body .dm-g2{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .dm-rowlist li,.dm-rowlist .chev,.dm-tip{transition:none}
}


/* Saved-entry review is additional evidence, separate from Steve's entry card. */
.dm-saved-review{min-width:0;margin-block:var(--space-12);padding:var(--space-12);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card);overflow-wrap:anywhere;line-height:1.5}
.dm-saved-review summary{cursor:pointer;font-weight:600;min-height:var(--target-min)}
.dm-saved-review p{margin-block:var(--space-12)}
.dm-saved-review fieldset{min-width:0;margin-block:var(--space-16);padding:var(--space-12);border:1px solid var(--border);border-radius:var(--radius-control)}
.dm-saved-review legend{max-width:100%;padding-inline:var(--space-4)}
.dm-saved-review label{display:block;padding-block:var(--space-4)}
.dm-saved-review fieldset>div{padding-block:var(--space-8)}
.dm-saved-review input[type="checkbox"]{width:1.1em;height:1.1em;margin-inline-end:var(--space-4);vertical-align:middle;accent-color:var(--interaction-accent)}
.dm-saved-review .dm-saved-review__disposition{display:grid;gap:var(--space-4);margin-top:var(--space-4)}
.dm-saved-review select,.dm-saved-review textarea{width:100%;min-width:0;max-width:100%;min-height:var(--target-min);padding:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card);color:var(--text);font:inherit}
.dm-saved-review button{min-height:var(--target-min);padding:var(--space-8) var(--space-12);border:1px solid var(--interaction-accent);border-radius:var(--radius-control);background:var(--bg-card);color:var(--interaction-accent-ink);font:inherit;cursor:pointer}
.dm-saved-review :is(summary,input,select,textarea,button):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-outer);outline-offset:var(--focus-ring-offset)}

.dm-row-help{flex-shrink:0;min-height:var(--target-min);margin-inline:var(--space-4)}
.dm-entry-help{width:min(42rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto}
.dm-entry-help{overflow-wrap:anywhere}
.dm-entry-help p,.dm-entry-help section,.dm-entry-help ul,.dm-help-actions{margin-block:var(--space-12)}
.dm-entry-help ul{padding-inline-start:var(--space-24)}
.dm-entry-help h3{margin-block-end:var(--space-8)}
.dm-entry-help label{display:block;margin-block-end:var(--space-8)}
.dm-entry-help dl{display:grid;grid-template-columns:minmax(6rem,1fr) minmax(0,2fr);gap:var(--space-4) var(--space-8)}
.dm-entry-help dd{margin:0}
.dm-entry-help textarea{box-sizing:border-box;width:100%;min-height:6rem;padding:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card);color:var(--text);font:inherit}
.dm-help-citations{font-size:.875em;color:var(--text-muted)}

/* Reviewed map changes use the same Home controls and evidence-card tokens. */
.dm-scout-entry{min-width:0;margin-block:var(--space-12);padding:var(--space-12);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-control);line-height:1.5;overflow-wrap:anywhere}
.dm-scout-entry :is(h3,p){margin-block:var(--space-12)}
.dm-scout-entry fieldset{min-width:0;max-width:100%;margin-block:var(--space-12);padding:var(--space-12);border:1px solid var(--border);border-radius:var(--radius-control)}
.dm-scout-entry legend{max-width:100%;padding-inline:var(--space-4)}
.dm-scout-entry label{display:block;min-height:var(--target-min)}
.dm-scout-entry textarea,.dm-scout-entry input:not([type="checkbox"]){box-sizing:border-box;display:block;width:100%;min-width:0;min-height:var(--target-min);padding:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-card);color:var(--text);font:inherit}
.dm-scout-entry input[type="checkbox"]{accent-color:var(--interaction-accent);margin-inline-end:var(--space-4)}
.dm-scout-entry :is(input,button):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-outer);outline-offset:var(--focus-ring-offset)}
