/* The desktop workspace is a data workbench. Field layout and collection controls
   retain their existing styles; the illustration is fetched only in desktop mode. */
.wm-mode { display:flex; align-items:center; gap:8px; margin:0; font-size:0.8125rem; color:var(--muted); font-weight:500; }
.wm-mode select { width:140px; padding:8px; min-height:40px; border-radius:8px; }
.header-badges { flex-wrap:wrap; }
#accountSettings { font-size:0.8125rem; padding:8px 12px; min-height:40px; }
.desktop-mode #mainContent,.desktop-mode .tabbar,.desktop-mode #fieldContext > label { display:none; }
.desktop-mode #fieldContext { position:static; display:block; padding:6px 24px; }
.desktop-mode .context-status { justify-content:flex-end; gap:14px; }
.wm-workspace { padding:0 24px 36px; max-width:2400px; margin:auto; }
.wm-workspace[hidden] { display:none; }
.wm-title { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,34%); overflow:hidden; border:1px solid #345051; border-radius:8px; margin:18px 0 0; background:var(--studio-ink,#152a2d); color:#f5f3ed; }
.wm-title-copy { padding:24px 28px 22px; min-width:0; }
.wm-kicker { margin:0 0 8px; color:var(--muted); font-size:0.625rem; font-weight:700; letter-spacing:.11em; line-height:1.4; }
.wm-title .wm-kicker { color:#a9c5be; margin-bottom:9px; }
.wm-title h2 { margin:0; font-size:clamp(1.625rem,2.3vw,2.3125rem); letter-spacing:-.045em; line-height:1.12; font-weight:650; }
.wm-scope-line { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 12px; margin:12px 0 17px; font-size:0.8125rem; }
.wm-scope-line strong { font-weight:600; font-size:0.9375rem; overflow-wrap:anywhere; }
.wm-scope-line span { color:#b4c8c3; font-size:0.75rem; }
.wm-title-art { min-width:0; position:relative; border-left:1px solid #365253; background-color:#203c3d; }
.desktop-mode .wm-title-art { background-image:url('./images/desktop-geology.svg'); background-size:contain; background-repeat:no-repeat; background-position:center; }
.wm-title-art > span { position:absolute; bottom:10px; right:12px; background:#152a2de8; padding:4px 6px; color:#e1e6dc; font-size:0.5rem; font-weight:600; letter-spacing:.1em; }
.wm-scope-counts { display:flex; flex-wrap:wrap; gap:22px; }
.wm-scope-counts > div { display:flex; align-items:baseline; gap:7px; }
.wm-scope-counts strong { font-size:1.5rem; font-weight:550; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.wm-scope-counts span { color:#c5d4d0; font-size:0.6875rem; }
.wm-command-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0 19px; }
.wm-command-bar > p { font-size:0.75rem; color:var(--muted); margin:0; }
.wm-command-bar .actions { margin:0; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.wm-command-bar .actions > button { flex:0 1 auto; min-width:0; }
.wm-layout { display:grid; grid-template-columns:210px minmax(0,1fr) 330px; gap:18px; align-items:start; }
.wm-sidebar { grid-column:1; grid-row:1/4; min-width:0; align-self:start; position:sticky; top:12px; background:var(--studio-ink,#152a2d); color:#f5f3ed; border:1px solid #345051; border-radius:8px; padding:20px 16px 16px; }
.wm-sidebar .wm-kicker { color:#adc6c0; }
.wm-section-nav { display:grid; gap:2px; margin:14px -7px 21px; }
.wm-section-nav a { display:grid; grid-template-columns:19px 1fr 13px; gap:6px; align-items:center; min-height:39px; padding:8px 7px; color:#f1f2e9; text-decoration:none; font-size:0.75rem; border-radius:4px; }
.wm-section-nav a span { color:#a3c3ba; font-size:0.625rem; }
.wm-scope-controls { border-top:1px solid #3a5250; padding-top:17px; }
.wm-sidebar label,.desktop-mode .wm-sidebar label { margin:0 0 14px; color:#c4d7d0; font-size:0.6875rem; font-weight:600; }
.wm-sidebar select,.desktop-mode .wm-sidebar select,html[data-theme="light"] .wm-sidebar select { margin-top:6px; min-height:40px; padding:8px; font-size:0.8125rem; border:1px solid #526d66; border-radius:5px; color:#f5f3ed; background:#203c3d; color-scheme:dark; }
.wm-sidebar select:disabled { opacity:.55; }
.wm-sidebar-footer { border-top:1px solid #3a5250; padding-top:16px; margin-top:18px; }
.wm-sidebar-footer button.secondary { width:100%; color:#f5f3ed; background:#294846; border-color:#526d66; padding-left:6px; padding-right:6px; font-size:0.6875rem; }
.wm-sidebar .help { color:#b6cac3; font-size:0.6875rem; line-height:1.65; margin:13px 0 0; }
.wm-map-card,.wm-stereo-card,.wm-table-card,.wm-inspector { min-width:0; background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:18px; }
.wm-map-card { grid-column:2; }
.wm-stereo-card { grid-column:3; }
.wm-table-card,.wm-inspector { grid-column:2/4; }
.wm-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 15px; }
.wm-panel-head > div { min-width:0; }
.wm-panel-head .wm-kicker { margin:0 0 5px; font-size:0.5625rem; }
.wm-panel-head h3 { margin:0; font-size:1.125rem; font-weight:650; letter-spacing:-.025em; line-height:1.2; overflow-wrap:anywhere; }
.wm-count-tag { color:var(--muted); border:1px solid var(--line); background:var(--panel2); padding:5px 7px; border-radius:4px; font-size:0.625rem; font-variant-numeric:tabular-nums; text-align:right; max-width:45%; }
.wm-workspace button { min-height:36px; font-size:0.75rem; font-weight:600; padding:8px 11px; border-radius:5px; }
.wm-workspace button.secondary { background:var(--panel2); color:var(--text); border:1px solid var(--line); }
.wm-workspace .wm-sidebar-footer button { background:#294846; color:#f5f3ed; border-color:#526d66; }
.wm-toolbar,.wm-map-tools { display:flex; flex-wrap:wrap; gap:8px; align-items:end; }
.wm-toolbar { margin-bottom:10px; }
.wm-toolbar label { font-size:0.6875rem; flex:1; min-width:115px; max-width:260px; font-weight:550; margin:0; }
.wm-toolbar input,.wm-toolbar select { padding:8px 10px; min-height:36px; font-size:0.8125rem; border-radius:5px; margin-top:5px; }
.wm-filter-toolbar { padding:0 0 16px; border-bottom:1px solid var(--line); margin:0 0 14px; }
.wm-filter-toolbar label:first-child { flex:1.3; }
.wm-edit-toolbar { align-items:center; gap:6px; }
.wm-edit-toolbar button.secondary { background:transparent; }
.wm-map-tools { gap:9px 16px; padding:13px 0 4px; margin-bottom:5px; align-items:center; }
.wm-map-tools label,.wm-check { display:flex; align-items:center; gap:6px; font-size:0.6875rem; font-weight:500; margin:0; }
.wm-map-tools input[type=checkbox],.wm-check input { width:17px; height:17px; min-height:17px; margin:0; }
.wm-map-tools input[type=range] { width:66px; min-height:20px; margin:0; padding:0; }
#wmMap { height:330px; border:1px solid var(--line); border-radius:4px; background:#e8edf0; z-index:0; }
#wmMapStatus { font-size:0.6875rem; line-height:1.5; padding:6px 0 2px; margin:0; }
.wm-map-reference { margin:10px 0 0; border:0; border-top:1px solid var(--line); border-radius:0; padding:0; }
.wm-map-reference summary { padding:10px 0 0; min-height:28px; font-size:0.6875rem; font-weight:500; color:var(--muted); }
.wm-map-reference p { font-size:0.75rem; line-height:1.6; }
.leaflet-container a { color:#145c68; }
.leaflet-control-zoom a { color:#111; }
.wm-bedding-marker { background:none; border:none; }
.wm-bedding-symbol { width:54px; height:40px; overflow:visible; color:#152531; }
.wm-bedding-symbol path { fill:none; stroke:#132230; stroke-width:2.6; paint-order:stroke; filter:drop-shadow(0 0 2px white); }
.wm-bedding-symbol text { font-size:0.8125rem; font-weight:800; fill:#14232f; stroke:white; stroke-width:3px; paint-order:stroke; }
.wm-stereo-plot { background:#fff; border:1px solid var(--line); border-radius:4px; padding:8px; color:#234240; }
#wmStereo { display:block; width:100%; max-width:360px; margin:auto; }
.wm-stereo-card .wm-check { margin:13px 0 9px; }
#wmStereoStatus { font-size:0.6875rem; line-height:1.6; margin:0; color:var(--muted); }
#wmLegend { display:flex; flex-wrap:wrap; gap:5px 9px; max-height:110px; overflow:auto; margin-top:9px; }
.wm-legend { display:inline-block; border-left:4px solid; padding-left:6px; font-size:0.625rem; line-height:1.6; }
#wmTableStatus { margin:10px 0 12px; font-size:0.75rem; line-height:1.5; color:var(--muted); }
.wm-table-scroll { overflow:auto; max-height:550px; border:1px solid var(--line); border-radius:4px; margin-bottom:14px; scrollbar-color:var(--control-border,var(--line)) var(--panel); }
.wm-table-scroll table { width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; font-size:0.8125rem; }
.wm-table-scroll th,.wm-table-scroll td { border-bottom:1px solid var(--line); border-right:1px solid color-mix(in srgb,var(--line) 45%,transparent); padding:9px 11px; text-align:left; max-width:600px; white-space:pre-wrap; overflow-wrap:anywhere; }
.wm-table-scroll th { position:sticky; top:0; z-index:2; background:var(--panel2); border-bottom-color:var(--control-border,var(--line)); }
.wm-table-scroll th button { font-size:0.6875rem; min-height:30px; background:transparent; color:var(--text); border:none; padding:0; width:100%; text-align:left; justify-content:flex-start; }
.wm-table-scroll td:first-child,.wm-table-scroll th:first-child { position:sticky; left:0; z-index:1; background:var(--panel); width:38px; min-width:38px; }
.wm-table-scroll th:first-child { z-index:3; background:var(--panel2); }
.wm-table-scroll input[type=checkbox] { width:18px; height:18px; min-height:18px; }
.wm-table-scroll td:focus { outline:3px solid var(--accent); outline-offset:-3px; }
.wm-table-scroll td input,.wm-table-scroll td select { min-width:120px; width:100%; font-size:0.8125rem; min-height:30px; padding:4px; }
.wm-table-scroll tbody tr:nth-child(even):not(.wm-selected) td:not(.wm-draft) { background:color-mix(in srgb,var(--panel2) 45%,var(--panel)); }
.wm-table-scroll tbody tr.wm-selected td { background:color-mix(in srgb,var(--accent) 15%,var(--panel)); }
.wm-table-scroll tbody tr.wm-selected td:first-child { box-shadow:inset 3px 0 var(--accent); }
.wm-table-scroll .wm-draft { background:color-mix(in srgb,#328bef 24%,var(--panel)); box-shadow:inset 3px 0 #58a8ff; }
.wm-export-toolbar { align-items:center; margin:0; gap:7px; }
.wm-export-toolbar label { display:flex; align-items:center; gap:8px; margin-left:auto; max-width:240px; }
.wm-export-toolbar label select { flex:1; min-width:0; width:auto; margin:0; }
#wmPage { font-size:0.6875rem; color:var(--muted); font-variant-numeric:tabular-nums; }
#wmDelete { background:transparent; color:#ffb4bc; border:1px solid #a94753; }
html[data-theme="light"] #wmDelete { color:#9b2030; border-color:#b94653; }
.wm-inspector > .help { font-size:0.75rem; line-height:1.6; margin:0 0 16px; }
#wmDetail { font-size:0.75rem; line-height:1.6; overflow-wrap:anywhere; }
#wmDetail > strong { font-size:1rem; margin-right:14px; }
#wmDetail dl { display:grid; grid-template-columns:minmax(100px,1fr) minmax(0,2fr) minmax(100px,1fr) minmax(0,2fr); gap:0; margin-top:14px; border-top:1px solid var(--line); }
#wmDetail dt,#wmDetail dd { border-bottom:1px solid var(--line); padding:8px 10px; margin:0; white-space:pre-wrap; }
#wmDetail dt { color:var(--muted); background:var(--panel2); }
#wmStatus:empty { display:none; }
#wmStatus { padding:10px 14px; background:var(--panel2); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:4px; margin:0 0 16px; font-size:0.8125rem; }
.wm-error { color:var(--danger,#fb7185); font-weight:700; }
.wm-dialog { width:min(94vw,850px); max-height:90dvh; overflow:hidden; background:var(--panel); color:var(--text); border:1px solid var(--line); border-radius:16px; padding:22px; }
.wm-dialog[open] { display:flex; flex-direction:column; }
.wm-dialog-content { min-height:0; overflow:auto; overscroll-behavior:contain; }
.wm-dialog-status { flex:none; max-height:25dvh; overflow:auto; padding:10px; border:1px solid var(--danger); border-radius:8px; overflow-wrap:anywhere; }
.wm-dialog::backdrop { background:rgba(0,0,0,.65); }
.wm-dialog h2 { margin-top:0; }
.wm-dialog h3 { font-size:1rem; }
.wm-dialog p { line-height:1.5; }
.wm-dialog pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:400px; overflow:auto; font-size:0.75rem; }
.wm-dialog > h2 { flex:none; font-size:1.25rem; overflow-wrap:anywhere; }
.wm-dialog > .actions { flex:none; padding:12px 0 0; background:var(--panel); flex-wrap:wrap; }
.wm-dialog progress { width:100%; height:20px; accent-color:var(--accent); }
.wm-column-control { display:grid; grid-template-columns:minmax(0,1fr) 80px 48px 48px; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--line); }
.wm-column-control label { display:flex; align-items:center; gap:8px; min-width:0; font-size:0.875rem; overflow-wrap:anywhere; }
.wm-column-control input[type=checkbox] { flex:none; width:18px; height:18px; min-height:18px; margin:0; }
.wm-column-control input[type=number] { width:80px; min-width:0; margin:0; }
.wm-column-control button { padding:8px; }
.wm-unit { border-top:1px solid var(--line); padding:10px 0; }
@media(hover:hover) {
  .wm-section-nav a:hover { background:#2b4844; }
  .wm-table-scroll tbody tr:hover:not(.wm-selected) td:not(.wm-draft) { background:var(--panel2); }
  .wm-workspace button.secondary:hover:not(:disabled) { border-color:var(--accent); }
}
@media(min-width:1700px) { .wm-layout { grid-template-columns:230px minmax(0,1fr) 390px; gap:22px; } #wmMap { height:390px; } .wm-title-art { background-position:50% 46%; } }
@media(max-width:1250px) { .wm-layout { grid-template-columns:190px minmax(0,1fr) 290px; gap:14px; } .wm-map-card,.wm-stereo-card,.wm-table-card,.wm-inspector { padding:14px; } .wm-command-bar { align-items:start; } .wm-command-bar > p { max-width:210px; line-height:1.5; } .wm-title-copy { padding:22px; } .wm-scope-counts { gap:16px; } }
@media(max-width:1050px) { .wm-layout { grid-template-columns:190px minmax(0,1fr); } .wm-sidebar { grid-row:1/5; } .wm-stereo-card,.wm-table-card,.wm-inspector { grid-column:2; } .wm-stereo-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 20px; } .wm-stereo-card .wm-panel-head { grid-column:1/-1; margin-bottom:0; } .wm-stereo-plot { grid-row:2/5; } .wm-stereo-card .wm-check { align-self:end; margin:0; } #wmLegend { margin:0; } #wmDetail dl { grid-template-columns:minmax(100px,1fr) minmax(0,2fr); } }
@media(max-width:800px) {
  .wm-workspace { padding:0 10px 24px; }
  .desktop-mode #fieldContext { padding-left:12px; padding-right:12px; }
  .wm-title { grid-template-columns:minmax(0,1fr); margin-top:12px; }
  .wm-title-copy { padding:20px; }
  .wm-title-art { min-height:130px; border-left:0; border-top:1px solid #365253; }
  .wm-title h2 { font-size:1.875rem; }
  .wm-command-bar { display:block; padding-bottom:14px; }
  .wm-command-bar > p { max-width:none; margin:0 0 12px; }
  .wm-command-bar .actions { justify-content:flex-start; }
  .wm-command-bar .actions > button { flex:1 1 140px; }
  .wm-layout { display:flex; flex-direction:column; gap:14px; }
  .wm-layout > * { width:100%; }
  .wm-sidebar { position:static; padding:18px; }
  .wm-section-nav { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0 16px; }
  .wm-section-nav a { display:flex; flex-wrap:wrap; align-items:baseline; font-size:0.6875rem; padding:6px; border:1px solid #3a5250; }
  .wm-section-nav a span:last-child { display:none; }
  .wm-scope-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .wm-scope-controls .wm-kicker { grid-column:1/-1; margin:0; }
  .wm-sidebar label,.desktop-mode .wm-sidebar label { margin:0; }
  .wm-sidebar-footer { margin-top:14px; }
  .wm-sidebar .help { margin-top:9px; }
  .wm-stereo-card { display:block; }
  .wm-stereo-card .wm-panel-head { margin-bottom:14px; }
  .wm-stereo-card .wm-check { margin:13px 0 9px; }
  #wmLegend { margin-top:9px; }
  .wm-toolbar label { min-width:120px; max-width:none; }
  .wm-toolbar input,.wm-toolbar select { font-size:1rem; }
  .wm-workspace button,.wm-workspace input,.wm-workspace select { min-height:44px; }
  .wm-workspace input[type=checkbox] { min-height:18px; }
  .wm-workspace input[type=range] { min-height:24px; }
  .wm-export-toolbar label { margin-left:0; flex-basis:100%; }
  #wmMap { height:300px; }
  .wm-mode { font-size:0.6875rem; }
  .wm-mode select { width:110px; }
  .header-badges .wm-mode,.header-badges #accountSettings { display:none; }
  #moreToolsDialog .wm-mode { margin:16px 0; }
}
@media(max-width:600px) { .wm-dialog { padding:14px; } .wm-column-control { grid-template-columns:minmax(0,1fr) 48px 48px; } .wm-column-control label { grid-column:1/-1; } .wm-dialog input,.wm-dialog select,.wm-table-scroll td input,.wm-table-scroll td select { font-size:1rem; } .wm-panel-head h3 { font-size:1.0625rem; } .wm-count-tag { max-width:40%; } }
@media(pointer:coarse) { .wm-workspace button,.wm-workspace input,.wm-workspace select { min-height:44px; } .wm-section-nav a { min-height:44px; } }
@media(forced-colors:active) { .wm-title,.wm-sidebar { border-color:CanvasText; } .wm-title-art { background-image:none!important; } .wm-title,.wm-sidebar,.wm-sidebar select,.wm-sidebar button,.wm-section-nav a,.wm-sidebar label { color:CanvasText!important; background:Canvas!important; } }


.desktop-mode .wm-dialog { border-radius:12px; }


html[data-theme="light"] .wm-workspace .wm-sidebar-footer button { color:#f5f3ed; }
.wm-map-stage { position:relative; }
.wm-map-empty { position:absolute; z-index:1; top:50%; left:50%; transform:translate(-50%,-50%); width:min(80%,290px); margin:0; padding:15px 18px; border:1px solid #becdca; border-radius:5px; color:#274542; background:#f8faf5ee; font-size:0.8125rem; line-height:1.7; text-align:center; pointer-events:none; }
.wm-workflow-state,.wm-workflow-scope{margin:.4rem 0;padding:.55rem .75rem;border:1px solid var(--border,#536477);border-radius:.55rem;line-height:1.45;font-size:.9rem;overflow-wrap:anywhere}
.wm-workflow-state{font-weight:600}
