/* ═══════════════════════════════════════════════════════════════════════════
   L6.7-LIGHT — the professional light / white theme (owner-preferred default).
   GENERATED by tools/gen_theme_light.py from style.css — do not hand-edit the
   MAPPED section; edit tools/theme-light.hand.css for the hand-written part and
   re-run the generator.  Scope: html[data-theme="light"].  Dark stays as it was
   (html[data-theme="dark"] = no overrides).  Map / functionality untouched.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. TOKENS ── */
html[data-theme="light"] {
  --bg-base: #f3f5f8;
  --bg-panel: #ffffff;
  --bg-card: #ffffff;
  --bg-hover: #eef2f7;
  --border: #d7dde5;
  --border-light: #c6ced8;
  --text-primary: #1f2937;
  --text-muted: #5b6472;
  --text-dim: #8a94a3;
  --accent: #1f6fd1;
  --accent-hover: #1a5fb4;
  --success: #1f8f4a;
  --warning: #b26b00;
  --danger: #d13438;
  --orange: #c96a00;
  --shadow: 0 4px 16px rgba(15,23,42,.12);
  color-scheme: light;
}

/* ── 2. MAPPED — every style.css rule that hard-coded a dark-chrome colour, colour declarations only ── */
html[data-theme="light"] .header { box-shadow: 0 2px 8px rgba(15,23,42,0.14); }
html[data-theme="light"] .layer-filter-toggle { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .layer-filter-toggle .lft-dot { border: 1px solid var(--bg-panel, #f3f5f8); }
html[data-theme="light"] .lfp-title { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .lfp-close { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .layer-sym:hover { background: rgba(15,23,42,0.072); }
html[data-theme="light"] #map { background: #f3f5f8; }
html[data-theme="light"] .mbar-dropdown { box-shadow: 0 8px 24px rgba(15,23,42,0.175); }
html[data-theme="light"] .mbar-cat { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .mbar-grp-hd { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .mbar-tools > .mbar-menu.open > .mbar-btn, html[data-theme="light"] .mbar-tools > .mbar-menu.has-active > .mbar-btn { box-shadow: 0 1px 2px rgba(15,23,42,0.122); }
html[data-theme="light"] .selection-counter { box-shadow: 0 2px 8px rgba(15,23,42,0.14); }
html[data-theme="light"] .coord-bar { background: rgba(255,255,255,0.85); }
html[data-theme="light"] .popup-icon-btn { box-shadow: 0 1px 4px rgba(15,23,42,0.105); }
html[data-theme="light"] .popup-move-filter { background: var(--bg-panel, #f6f8fa); }
html[data-theme="light"] .popup-move-search { background: #f3f5f8; color: #1f2937; border: 1px solid #dfe6ee; }
html[data-theme="light"] .popup-move-scope { background: #f3f5f8; color: #1f2937; border: 1px solid #dfe6ee; }
html[data-theme="light"] .popup-move-item .move-dot { border: 1px solid rgba(15,23,42,0.27); }
html[data-theme="light"] .feat-attr-key { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .ar-dialog { box-shadow: 0 12px 48px rgba(15,23,42,0.21); }
html[data-theme="light"] .at-dialog { box-shadow: 0 12px 48px rgba(15,23,42,0.21); }
html[data-theme="light"] .at-table thead th { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .at-cols-pop { background: var(--bg-panel, #f6f8fa); box-shadow: 0 12px 34px rgba(15,23,42,0.193); }
html[data-theme="light"] .at-cols-head { background: var(--bg-panel, #f6f8fa); }
html[data-theme="light"] .at-cols-add input { background: var(--bg-input, #f3f5f8); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .at-attach-panel { box-shadow: 0 10px 36px rgba(15,23,42,0.21); }
html[data-theme="light"] .at-attach-x { background: rgba(15,23,42,0.18); }
html[data-theme="light"] .crs-dialog { box-shadow: 0 12px 48px rgba(15,23,42,0.28); }
html[data-theme="light"] .modal-dialog { box-shadow: 0 8px 40px rgba(15,23,42,0.245); }
html[data-theme="light"] .feat-row-compact { border-bottom: 1px solid rgba(15,23,42,0.21); }
html[data-theme="light"] .feat-row { border-bottom: 1px solid rgba(15,23,42,0.3); }
html[data-theme="light"] .sab-btn { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .sb-section { background: rgba(15,23,42,0.018); }
html[data-theme="light"] .sb-flabel { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .isolate-bar .iso-dim { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .fbb-btn { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .nearest-bar { background: var(--bg-panel, #f3f5f8); box-shadow: 0 6px 20px rgba(15,23,42,0.175); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .nearest-bar button { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .nearest-bar .nr-count { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .nearest-bar .nr-count input { background: var(--bg-input, #f3f5f8); color: var(--text, #1f2937); }
html[data-theme="light"] .io-aoi { background: #f6f8fa; border: 1px solid #e6eaf0; }
html[data-theme="light"] .io-sec { color: #1f2937; }
html[data-theme="light"] .io-card { background: #f6f8fa; border: 1px solid #d7dde5; }
html[data-theme="light"] .io-cm { color: #3b4553; }
html[data-theme="light"] .io-go { background: #eef2f7; color: #1f2937; }
html[data-theme="light"] .io-go:hover { background: #e6eaf0; }
html[data-theme="light"] .io-reco { color: #1f2937; }
html[data-theme="light"] .io-needs { color: #3b4553; }
html[data-theme="light"] .io-chip { background: #f6f8fa; color: #3b4553; border: 1px solid #d7dde5; }
html[data-theme="light"] .sync-wrap { background: #f6f8fa; border: 1px solid #e6eaf0; }
html[data-theme="light"] .ws-switch { background: #f6f8fa; border: 1px solid #e6eaf0; }
html[data-theme="light"] .ws-switch select { background: #f3f5f8; color: #1f2937; border: 1px solid #dfe6ee; }
html[data-theme="light"] .sp-panel { background: rgba(255,255,255,0.95); border: 1px solid #e6eaf0; box-shadow: 0 12px 34px rgba(15,23,42,0.193); color: #1f2937; }
html[data-theme="light"] .sp-panel .sp-h { color: #5b6472; }
html[data-theme="light"] .sp-panel .sp-go { color: #1f2937; }
html[data-theme="light"] .sp-panel .sp-brg { color: #5b6472; }
html[data-theme="light"] .edit-vtx-panel { background: rgba(255,255,255,0.95); border: 1px solid #e6eaf0; box-shadow: 0 10px 30px rgba(15,23,42,0.175); }
html[data-theme="light"] .edit-vtx-panel .ev-btn { background: #f0f3f7; color: #1f2937; border: 1px solid #dfe6ee; }
html[data-theme="light"] .edit-vtx-panel .ev-btn:hover { background: #eef2f7; }
html[data-theme="light"] .nearest-report { background: var(--bg-panel, #f3f5f8); box-shadow: 0 10px 30px rgba(15,23,42,0.193); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .nr-head-btns button { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .nearest-report .li-flash { background: #f0f3f7; border: 1px solid #dfe6ee; }
html[data-theme="light"] .nearest-report .li-flash:hover { background: #e6eaf0; }
html[data-theme="light"] .nearest-report .li-att { background: #e3edfb; color: #1a4d8f; }
html[data-theme="light"] .li-att-pop { background: #f6f8fa; border: 1px solid #e6eaf0; box-shadow: 0 12px 34px rgba(15,23,42,0.21); color: #1f2937; }
html[data-theme="light"] .li-att-h { border-bottom: 1px solid #d7dde5; background: #f6f8fa; }
html[data-theme="light"] .li-att-h .li-att-x { color: #5b6472; }
html[data-theme="light"] .li-att-row { border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .li-att-sz { color: #5b6472; }
html[data-theme="light"] .li-att-pv, html[data-theme="light"] .li-att-dl { background: #f0f3f7; border: 1px solid #dfe6ee; color: #1a4d8f; }
html[data-theme="light"] .li-att-pv:hover, html[data-theme="light"] .li-att-dl:hover { background: #eef2f7; }
html[data-theme="light"] .nearest-report .pc-edit { background: #f3f5f8; color: #1f2937; border: 1px solid #dfe6ee; }
html[data-theme="light"] .nearest-report .pc-edit:focus { background: #f6f8fa; }
html[data-theme="light"] .nearest-report .pc-edit-bar { color: #5b6472; }
html[data-theme="light"] .nearest-report .pc-cancel { background: #e8ecf1; color: #1f2937; border: 1px solid #c6ced8; }
html[data-theme="light"] .nr-locate { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .nr-subtitle { color: var(--text-secondary, #24303f); background: var(--bg-panel, #f3f5f8); }
html[data-theme="light"] .angle-hint { background: rgba(255,255,255,0.92); box-shadow: 0 2px 8px rgba(15,23,42,0.175); }
html[data-theme="light"] .angle-measure-label { background: rgba(255,255,255,0.95); box-shadow: 0 2px 10px rgba(15,23,42,0.193); }
html[data-theme="light"] .angle-measure-label .aml-x { color: #5b6472; }
html[data-theme="light"] .measure-tooltip { background: rgba(255,255,255,0.92); box-shadow: 0 2px 8px rgba(15,23,42,0.175); }
html[data-theme="light"] .measure-tooltip.measure-tooltip-static { background: rgba(255,255,255,0.72); }
html[data-theme="light"] .ol-scale-line { background: rgba(255,255,255,0.85); }
html[data-theme="light"] .wp-table td { border-bottom: 1px solid rgba(15,23,42,0.21); }
html[data-theme="light"] .group-color-swatch { border: 1.5px solid rgba(15,23,42,0.18); }
html[data-theme="light"] .group-children { background: rgba(15,23,42,0.018); }
html[data-theme="light"] .grp-chk-dot { border: 1px solid rgba(15,23,42,0.27); }
html[data-theme="light"] .bulk-grp-menu { box-shadow: 0 10px 36px rgba(15,23,42,0.21); }
html[data-theme="light"] .bgm-dot { border: 1px solid rgba(15,23,42,0.27); }
html[data-theme="light"] .doc-modal-box { box-shadow: 0 16px 48px rgba(15,23,42,0.21); }
html[data-theme="light"] .collab-join-box { box-shadow: 0 16px 48px rgba(15,23,42,0.21); }
html[data-theme="light"] .collab-panel { box-shadow: 0 8px 32px rgba(15,23,42,0.175); }
html[data-theme="light"] .jitsi-box { box-shadow: 0 8px 32px rgba(15,23,42,0.175); }
html[data-theme="light"] .login-card { box-shadow: 0 16px 60px rgba(15,23,42,0.21); }
html[data-theme="light"] .ucm-sec { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .ucm-grp-hd { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .sync-status { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .sync-now-btn { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .server-recent { color: var(--text-secondary, #24303f); }
html[data-theme="light"] .call-bar { box-shadow: 0 10px 34px rgba(15,23,42,0.175); }
html[data-theme="light"] .ps-rule-card { border: 1px solid rgba(15,23,42,0.108); background: rgba(15,23,42,0.027); }
html[data-theme="light"] .feat-ops-panel { background: rgba(255,255,255,0.97); border: 1px solid rgba(15,23,42,0.126); box-shadow: 0 10px 30px rgba(15,23,42,0.175); color: var(--text-primary,#1f2937); }
html[data-theme="light"] .feat-ops-panel .fo-head { border-bottom: 1px solid rgba(15,23,42,0.09); }
html[data-theme="light"] .feat-ops-panel .fo-cmd { background: rgba(15,23,42,0.036); }
html[data-theme="light"] .il-chip { color: var(--text-primary,#1f2937); }
html[data-theme="light"] .il-ico { background: rgba(15,23,42,0.045); border: 1px solid rgba(15,23,42,0.09); }
html[data-theme="light"] .aerial-section { border-top: 1px solid rgba(15,23,42,0.09); }
html[data-theme="light"] .aerial-row { background: rgba(15,23,42,0.036); }
html[data-theme="light"] .cs-fab { background: rgba(255,255,255,0.96); color: #1f2937; border: 1px solid rgba(15,23,42,0.144); box-shadow: 0 6px 20px rgba(15,23,42,0.158); }
html[data-theme="light"] .rv-batch-row { color: var(--text-dim,#5b6472); }
html[data-theme="light"] .cs-mode small { color: var(--text-dim,#5b6472); }
html[data-theme="light"] .cs-viewer-banner { box-shadow: 0 6px 18px rgba(15,23,42,0.14); }
html[data-theme="light"] .vr-fab { background: rgba(255,255,255,0.96); border: 1px solid rgba(15,23,42,0.144); box-shadow: 0 6px 20px rgba(15,23,42,0.158); }
html[data-theme="light"] .voice-bar { background: rgba(255,255,255,0.97); color: #1f2937; box-shadow: 0 8px 24px rgba(15,23,42,0.175); }
html[data-theme="light"] .voice-bar .vb-count { color: var(--text-dim,#5b6472); }
html[data-theme="light"] .voice-bar .vb-btn { background: rgba(15,23,42,0.072); }
html[data-theme="light"] .vr-room { background: rgba(15,23,42,0.045); border: 1px solid rgba(15,23,42,0.09); }
html[data-theme="light"] .vr-room small { color: var(--text-dim,#5b6472); }
html[data-theme="light"] .room-panel { background: rgba(255,255,255,0.98); color: #1f2937; border: 1px solid rgba(15,23,42,0.126); box-shadow: 0 12px 34px rgba(15,23,42,0.193); }
html[data-theme="light"] .room-panel .rp-caps { color: var(--text-dim,#5b6472); }
html[data-theme="light"] .room-panel .rp-members { border-bottom: 1px solid rgba(15,23,42,0.072); }
html[data-theme="light"] .room-panel .rp-voicebar { border-bottom: 1px solid rgba(15,23,42,0.072); }
html[data-theme="light"] .room-panel .rp-btn { background: rgba(15,23,42,0.072); }
html[data-theme="light"] .room-panel .rp-msg { background: rgba(15,23,42,0.054); }
html[data-theme="light"] .room-panel .rp-input { border-top: 1px solid rgba(15,23,42,0.072); }
html[data-theme="light"] .room-panel .rp-input input { background: rgba(15,23,42,0.054); border: 1px solid rgba(15,23,42,0.108); }
@media (max-width: 820px) { html[data-theme="light"] .sidebar { box-shadow: 6px 0 26px rgba(15,23,42,0.193); } }
html[data-theme="light"] .route-bar { box-shadow: 0 6px 18px rgba(15,23,42,0.14); }
html[data-theme="light"] .room-panel .rp-share { background: rgba(15,23,42,0.072); }
html[data-theme="light"] .ws-badge { box-shadow: 0 6px 18px rgba(15,23,42,0.14); }
html[data-theme="light"] .bm-opt { border: 1px solid rgba(15,23,42,0.108); background: rgba(15,23,42,0.036); }
html[data-theme="light"] .bm-opt small { color: var(--text-dim,#5b6472); }
html[data-theme="light"] .bm-sw { border: 1px solid rgba(15,23,42,0.225); }
html[data-theme="light"] .bm-black { background: #f3f5f8; }
html[data-theme="light"] .rv-bulk-btn { background: rgba(15,23,42,0.072); }
html[data-theme="light"] .feat-picker { background: var(--bg-panel, #ffffff); border: 1px solid var(--border, #d7dde5); box-shadow: 0 6px 22px rgba(15,23,42,0.158); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .feat-picker-h { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .sel-cart { background: var(--bg-panel, #ffffff); border: 1px solid var(--border, #d7dde5); box-shadow: 0 10px 34px rgba(15,23,42,0.175); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .sc-head { background: var(--bg-base, #f3f5f8); border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .sc-x { color: var(--text-primary, #1f2937); }
html[data-theme="light"] .sc-tabs { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .sc-tab { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .sc-tab .sc-cnt { background: rgba(15,23,42,0.225); }
html[data-theme="light"] .sc-row:hover { background: var(--bg-base, #f3f5f8); border-color: var(--border, #d7dde5); }
html[data-theme="light"] .sc-rbtn { color: var(--text-primary, #1f2937); }
html[data-theme="light"] .sc-ops { border-top: 1px solid var(--border, #d7dde5); background: var(--bg-base, #f3f5f8); }
html[data-theme="light"] .sc-op { background: var(--bg-panel, #ffffff); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .cc-el { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .ss-group { border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .ss-gh { background: var(--bg-base, #f3f5f8); border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .ss-tol { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .sc-add .sc-add-n { background: rgba(15,23,42,0.252); }
html[data-theme="light"] .sc-actions-btn { background: var(--bg-base, #f3f5f8); }
html[data-theme="light"] .cart-actions-menu { background: var(--bg-panel, #ffffff); border: 1px solid var(--border, #d7dde5); box-shadow: 0 10px 30px rgba(15,23,42,0.193); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .cam-head { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .cam-item { color: var(--text-primary, #1f2937); }
html[data-theme="light"] .fc-row select, html[data-theme="light"] .fc-row input { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .fc-preview { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .fc-cls:nth-child(even) { background: rgba(15,23,42,0.027); }
html[data-theme="light"] .sc-hl { border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .coord-label-wrap .cl-dot { box-shadow: 0 0 4px rgba(15,23,42,0.175); }
html[data-theme="light"] .coord-label-wrap .cl-box { background: rgba(255,255,255,0.92); color: #1f2937; box-shadow: 0 2px 8px rgba(15,23,42,0.158); }
html[data-theme="light"] .coord-label-wrap .cl-box.dragging { box-shadow: 0 4px 14px rgba(15,23,42,0.21); }
html[data-theme="light"] .coord-label-wrap .cl-x { color: #5b6472; }
html[data-theme="light"] .layer-more-btn:hover { background: var(--bg-hover, rgba(15,23,42,0.072)); }
html[data-theme="light"] .layer-more-menu { box-shadow: var(--shadow, 0 8px 26px rgba(15,23,42,0.175)); }
html[data-theme="light"] .layer-more-menu .lmenu-grp:hover { background: var(--bg-hover, rgba(15,23,42,0.054)); }
html[data-theme="light"] .layer-menu-popup { background: var(--bg-panel, #ffffff); border: 1px solid var(--border, #d7dde5); box-shadow: 0 10px 30px rgba(15,23,42,0.193); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .layer-menu-popup .lmp-item { color: var(--text-primary, #1f2937); }
html[data-theme="light"] .layer-menu-popup .lmp-item.lmp-disabled:hover, html[data-theme="light"] .layer-menu-popup .lmp-item[disabled]:hover { color: var(--text-primary, #1f2937); }
html[data-theme="light"] .layer-menu-popup .lmp-sep { background: var(--border, #d7dde5); }
html[data-theme="light"] .layer-menu-popup .lmp-grp:hover { background: var(--bg-hover, rgba(15,23,42,0.054)); }
html[data-theme="light"] .pres-fab { background: var(--bg-panel, #ffffff); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); box-shadow: 0 4px 14px rgba(15,23,42,0.14); }
html[data-theme="light"] .pres-panel { background: var(--bg-panel, #ffffff); border: 1px solid var(--border, #d7dde5); box-shadow: 0 10px 30px rgba(15,23,42,0.175); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pres-head { background: var(--bg-base, #f3f5f8); border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .pres-x { color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pres-mystatus { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .pres-status-opt { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pres-row:hover { background: var(--bg-base, #f3f5f8); }
html[data-theme="light"] .pres-tabs { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .pres-tab { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pchat-msg { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .pchat-compose { border-top: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .pchat-input { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pchat-bar { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .pchat-rooms { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .crm-userlist { border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .crm-user:hover { background: var(--bg-base, #f3f5f8); }
html[data-theme="light"] .pchat-tool { border: 1px solid var(--border, #d7dde5); background: var(--bg-base, #f3f5f8); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pchat-video { background: #f3f5f8; }
html[data-theme="light"] .vr-bcast { background: #f3f5f8; box-shadow: 0 10px 34px rgba(15,23,42,0.21); }
html[data-theme="light"] .vr-bcast-head { background: #f6f8fa; }
html[data-theme="light"] .vr-bcast video { background: #f3f5f8; }
html[data-theme="light"] .pres-dmbtn { border: 1px solid var(--border, #d7dde5); background: var(--bg-panel, #ffffff); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pchat-msg { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); box-shadow: 0 1px 3px rgba(15,23,42,0.087); }
html[data-theme="light"] .pchat-msg.mine .pchat-time { color: #1f2937; }
html[data-theme="light"] .pcv-btn { border: 1px solid var(--border, #d7dde5); background: var(--bg-base, #f3f5f8); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .call-popup { background: var(--bg-panel, #ffffff); box-shadow: 0 12px 40px rgba(15,23,42,0.193); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .call-popup .cp-x { color: #5b6472; }
html[data-theme="light"] .pf-avatar { background: var(--bg-base, #f3f5f8); }
html[data-theme="light"] .pf-avatar-initial { color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pf-vbio { background: var(--bg-base, #f3f5f8); }
html[data-theme="light"] .pcl-item { border-bottom: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pcl-item:hover { background: var(--bg-base, #f3f5f8); }
html[data-theme="light"] .pcl-ic { background: var(--bg-base, #f3f5f8); }
html[data-theme="light"] .pchat-back { border: 1px solid var(--border, #d7dde5); background: var(--bg-base, #f3f5f8); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pres-notif { border: 2px solid var(--bg-panel, #ffffff); }
html[data-theme="light"] .pres-dmbadge { border: 1.5px solid var(--bg-panel, #ffffff); }
html[data-theme="light"] .pcl-del { color: #5b6472; }
html[data-theme="light"] .shot-hint { background: rgba(255,255,255,0.92); }
html[data-theme="light"] .shot-rect { box-shadow: 0 0 0 9999px rgba(15,23,42,0.122); }
html[data-theme="light"] .shot-previmg { border: 1px solid var(--border, #d7dde5); background: #f3f5f8; }
html[data-theme="light"] .pres-head { background: linear-gradient(180deg, var(--bg-base, #f3f5f8), rgba(255,255,255,0.7)); }
html[data-theme="light"] .pres-head-btns .pres-x:hover { background: rgba(15,23,42,0.072); border-color: var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pres-search { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pchat-mmenu:hover { background: rgba(15,23,42,0.135); }
html[data-theme="light"] .pchat-pinbar { color: var(--text-primary, #1f2937); }
html[data-theme="light"] .pchat-msg.mine .pchat-note { background: rgba(15,23,42,0.144); }
html[data-theme="light"] .pchat-replybar .pcr-x { color: #5b6472; }
html[data-theme="light"] .pchat-msg.mine .pchat-quote { background: rgba(15,23,42,0.162); }
html[data-theme="light"] .pchat-msg.mine .pchat-quote b { color: #1f2937; }
html[data-theme="light"] .vr-bcast-btns .vr-bcast-x:hover { background: rgba(15,23,42,0.126); }
html[data-theme="light"] .live-loc-mark .llm-name { background: rgba(255,255,255,0.92); }
html[data-theme="light"] .pcl-live-go { background: var(--bg-base, #f3f5f8); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .grp-feat-row { color: var(--text-primary, #1f2937); }
html[data-theme="light"] .grp-feat-row:hover { background: var(--bg-hover, rgba(15,23,42,0.045)); }
html[data-theme="light"] .grp-feat-row button { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .grp-feat-row button:hover { color: var(--text-primary, #1f2937); background: rgba(15,23,42,0.072); }
html[data-theme="light"] .group-more-btn { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .group-more-btn:hover { background: var(--bg-hover, rgba(15,23,42,0.072)); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .sr-meta { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .sr-row { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .group-children .group-block { border-inline-start: 2px solid var(--border, #d7dde5); }
html[data-theme="light"] .act-dash-btn:hover { background: rgba(15,23,42,0.072); }
html[data-theme="light"] .act-panel { background: var(--bg-panel, #ffffff); border: 1px solid var(--border, #d7dde5); box-shadow: 0 12px 36px rgba(15,23,42,0.175); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .act-bar { background: var(--bg-base, #f3f5f8); border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .act-x { color: var(--text-primary, #1f2937); }
html[data-theme="light"] .act-x:hover { background: rgba(15,23,42,0.09); }
html[data-theme="light"] .act-entry { border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .act-head { background: var(--bg-base, #f3f5f8); }
html[data-theme="light"] .act-layer { border-top: 1px dashed var(--border, #d7dde5); }
html[data-theme="light"] .act-tabs { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .act-tab { background: var(--bg-base, #f3f5f8); border: 1px solid var(--border, #d7dde5); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .act-aud { border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .act-aud-note { background: var(--bg-base, #f3f5f8); }
html[data-theme="light"] .photo-editor { background: rgba(255,255,255,0.92); }
html[data-theme="light"] .pe-bar { background: #f6f8fa; border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .pe-btn { border: 1px solid #d7dde5; background: #f3f5f8; color: #1f2937; }
html[data-theme="light"] .pe-bar input[type="color"] { border: 1px solid #d7dde5; background: #f3f5f8; }
html[data-theme="light"] .pe-stage canvas { box-shadow: 0 6px 30px rgba(15,23,42,0.21); }
html[data-theme="light"] .photo-map-marker .pmm-thumb { background: #f3f5f8; }
html[data-theme="light"] #printLayout .pl-toolbar { background: #f6f8fa; }
html[data-theme="light"] #printLayout .pl-toolbar label { color: #24303f; }
html[data-theme="light"] #printLayout .pl-toolbar select, html[data-theme="light"] #printLayout .pl-toolbar input { background: #e8ecf1; border: 1px solid #c6ced8; }
html[data-theme="light"] #printLayout .pl-tbtn { background: #e8ecf1; border: 1px solid #c6ced8; }
html[data-theme="light"] #printLayout .pl-tbtn:hover { background: #c6ced8; }
html[data-theme="light"] #printLayout #plSheet { box-shadow: 0 6px 30px rgba(15,23,42,0.175); }
html[data-theme="light"] #plSheet .pl-map { border: 1.2px solid #f3f5f8; }
html[data-theme="light"] #plSheet .pl-bottom { border: 1.2px solid #f3f5f8; }
html[data-theme="light"] #plSheet .pl-scale { border-right: 1px solid #f3f5f8; }
html[data-theme="light"] #plSheet .pl-bar-row { border: .3mm solid #f3f5f8; }
html[data-theme="light"] #plSheet .pl-bar-seg.a { background: #f3f5f8; }
html[data-theme="light"] #plSheet .pl-leg-sw { border: .25mm solid #f3f5f8; }
html[data-theme="light"] #plSheet .pl-tb { border: 1.2px solid #f3f5f8; }
html[data-theme="light"] #plSheet .pl-tb > * { border-bottom: .7px solid #f3f5f8; }
html[data-theme="light"] #plSheet .pl-key-wrap { border: .3mm solid #b8c1cc; }
html[data-theme="light"] #plSheet .pl-rev th, html[data-theme="light"] #plSheet .pl-rev td { border: .4px solid #f3f5f8; }
html[data-theme="light"] #plSheet .pl-logo span { color: #6b7482; }
html[data-theme="light"] #plSheet .pl-tb-grid3 > div, html[data-theme="light"] #plSheet .pl-tb-grid4 > div { border-right: .5px solid #f3f5f8; }
html[data-theme="light"] #plSheet .ph { color: #6b7482; }
html[data-theme="light"] #printLayout .pl-palette { background: #f6f8fa; color: #24303f; border-top: 1px solid #d7dde5; }
html[data-theme="light"] #printLayout .pl-pbtn { background: #e8ecf1; border: 1px solid #c6ced8; }
html[data-theme="light"] #printLayout .pl-pbtn:hover { background: #c6ced8; }
html[data-theme="light"] #printLayout .pl-pal-sep { background: #eef2f7; }
html[data-theme="light"] .pl-linepanel { background: #f6f8fa; border: 1px solid #c6ced8; box-shadow: 0 12px 34px rgba(15,23,42,0.193); color: #1f2937; }
html[data-theme="light"] .pl-linepanel .plp-head { border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .pl-linepanel .plp-x { background: #e8ecf1; border: 1px solid #c6ced8; }
html[data-theme="light"] .pl-linepanel .ld-row label { color: #24303f; }
html[data-theme="light"] .pl-linepanel .ld-row input, html[data-theme="light"] .pl-linepanel .ld-row select { background: #e8ecf1; border: 1px solid #c6ced8; }
html[data-theme="light"] .pl-linepanel .ld-chk { color: #1f2937; }
html[data-theme="light"] .pl-linepanel .ld-dyn { background: #f6f8fa; border: 1px solid #e6eaf0; }
html[data-theme="light"] .pl-linepanel .ld-dyn label { color: #24303f; }
html[data-theme="light"] .pl-linepanel .ld-dyn input { background: #e8ecf1; border: 1px solid #c6ced8; }
html[data-theme="light"] .pl-linepanel .plp-tip { color: #3b4553; }
html[data-theme="light"] #printLayout .pl-props { background: #f6f8fa; border: 1px solid #c6ced8; box-shadow: 0 10px 30px rgba(15,23,42,0.193); }
html[data-theme="light"] #printLayout .pl-props .pl-props-h { border-bottom: 1px solid #d7dde5; background: #f6f8fa; }
html[data-theme="light"] #printLayout .pl-props .tb-grp, html[data-theme="light"] #printLayout .pl-props .pl-dim-grp { border: 1px solid #e6eaf0; }
html[data-theme="light"] #printLayout .pl-props label { color: #24303f; }
html[data-theme="light"] #printLayout .pl-props input, html[data-theme="light"] #printLayout .pl-props select { background: #e8ecf1; border: 1px solid #c6ced8; }
html[data-theme="light"] #printLayout .pl-zoom #plZoomPct { color: #24303f; }
html[data-theme="light"] .pl-capbar { background: #f6f8fa; border: 1px solid #c6ced8; color: #1f2937; box-shadow: 0 10px 30px rgba(15,23,42,0.193); }
html[data-theme="light"] .pl-cmdbar { background: #f3f5f8; }
html[data-theme="light"] .fe-mv-sbar-row { border: 0.25mm solid #f3f5f8; }
html[data-theme="light"] .fe-mv-sbar-seg.a { background: #f3f5f8; }
html[data-theme="light"] #printLayout .pl-dim-grp { border: 1px solid #e6eaf0; }
html[data-theme="light"] #printLayout .pl-dim-grp label { color: #3b4553; }
html[data-theme="light"] #printLayout .pl-props .tb-hint { color: #3b4553; }
html[data-theme="light"] .fe-table td { border: 0.35mm solid #f3f5f8; }
html[data-theme="light"] #printLayout .tb-grp { color: #3b4553; background: #f6f8fa; border: 1px solid #e6eaf0; }
html[data-theme="light"] .fe-leg-h { border-bottom: 0.3mm solid #f3f5f8; }
html[data-theme="light"] .fe-leg-sw { border: 0.3mm solid #dfe4ea; }
html[data-theme="light"] .fe-imgph { color: #6b7482; }
html[data-theme="light"] .nearest-report .nr-colsel { background: #eef2f7; color: #1a4d8f; border: 1px solid #dfe6ee; }
html[data-theme="light"] .fs-card { background: #f6f8fa; color: #1f2937; border: 1px solid #e6eaf0; box-shadow: 0 14px 50px rgba(15,23,42,0.21); }
html[data-theme="light"] .fs-head { background: #ffffff; }
html[data-theme="light"] .fs-x { color: #5b6472; }
html[data-theme="light"] .fs-row > label { color: #3b4553; }
html[data-theme="light"] .fs-row input[type=color] { border: 1px solid #e6eaf0; }
html[data-theme="light"] .fs-hatch { background: #ffffff; border: 1.5px solid #e6eaf0; color: #1f2937; }
html[data-theme="light"] .fs-hatch.sel { background: #e3edfb; }
html[data-theme="light"] .fs-hatch-sw { background: #f3f5f8 center/22px; border: 1px solid #e6eaf0; }
html[data-theme="light"] .fs-preview { color: #5b6472; }
html[data-theme="light"] .fs-preview canvas { background: #f3f5f8; border: 1px solid #e6eaf0; }
html[data-theme="light"] .fs-foot { background: #f3f5f8; border-top: 1px solid #eef2f7; }
html[data-theme="light"] .fs-btn { border: 1px solid #e6eaf0; background: #ffffff; color: #1f2937; }
html[data-theme="light"] .fs-btn:hover { background: #eef2f7; }
html[data-theme="light"] .bk-dialog { background: #f3f5f8; color: #1f2937; border: 1px solid #e6eaf0; }
html[data-theme="light"] .bk-head { background: #f6f8fa; border-bottom: 1px solid #e9edf2; }
html[data-theme="light"] .bk-loading, html[data-theme="light"] .bk-empty { color: #5b6472; }
html[data-theme="light"] .bk-stat { background: #f6f8fa; border: 1px solid #e9edf2; }
html[data-theme="light"] .bk-stat .bk-k { color: #5b6472; }
html[data-theme="light"] .bk-btn { border: 1px solid #e6eaf0; background: #ffffff; color: #1f2937; }
html[data-theme="light"] .bk-btn:hover { background: #eef2f7; }
html[data-theme="light"] .bk-tabs { border-bottom: 1px solid #e9edf2; }
html[data-theme="light"] .bk-tab { color: #5b6472; }
html[data-theme="light"] .bk-table th { color: #5b6472; border-bottom: 1px solid #e9edf2; background: #f3f5f8; }
html[data-theme="light"] .bk-table td { border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .bk-dt { color: #5b6472; }
html[data-theme="light"] .bk-mini { border: 1px solid #e6eaf0; background: #ffffff; color: #1f2937; }
html[data-theme="light"] .bk-mini.danger { background: #eef2f7; }
html[data-theme="light"] .theme-lite .modal-dialog, html[data-theme="light"] .theme-lite .nearest-report, html[data-theme="light"] .theme-lite .layer-menu-popup, html[data-theme="light"] .theme-lite .mbar-dropdown, html[data-theme="light"] .theme-lite .user-chip-menu, html[data-theme="light"] .theme-lite .popup, html[data-theme="light"] .theme-lite .bk-dialog, html[data-theme="light"] .theme-lite .fs-card, html[data-theme="light"] .theme-lite .thm-dialog, html[data-theme="light"] .theme-lite .cartActionsMenu, html[data-theme="light"] .theme-lite #popupActionsMenu { border: 1px solid rgba(15,23,42,0.144) !important; }
html[data-theme="light"] .thm-dialog { background: #f3f5f8; color: #1f2937; border: 1px solid #e6eaf0; }
html[data-theme="light"] .thm-head { background: #f6f8fa; }
html[data-theme="light"] .thm-card { background: #f6f8fa; border: 2px solid #e9edf2; color: #1f2937; }
html[data-theme="light"] .thm-card.sel { background: #e3edfb; }
html[data-theme="light"] .pv-classic { background: linear-gradient(135deg,#f3f5f8,#eef2f7); box-shadow: inset 0 0 18px rgba(15,23,42,0.21); }
html[data-theme="light"] .pv-classic i { background: linear-gradient(160deg,#2e6cf6,#eef2f7); box-shadow: 0 3px 8px rgba(15,23,42,0.175); }
html[data-theme="light"] .pv-lite { background: #f6f8fa; }
html[data-theme="light"] .thm-desc { color: #3b4553; }
html[data-theme="light"] .thm-note { color: #5b6472; }
html[data-theme="light"] .corr-dialog { background: #f3f5f8; color: #1f2937; border: 1px solid #e6eaf0; }
html[data-theme="light"] .corr-head { background: #f6f8fa; border-bottom: 1px solid #e9edf2; }
html[data-theme="light"] .corr-tab { color: #5b6472; }
html[data-theme="light"] .corr-btn { border: 1px solid #e6eaf0; background: #ffffff; color: #1f2937; }
html[data-theme="light"] .corr-btn:hover { background: #eef2f7; }
html[data-theme="light"] .corr-empty { color: #5b6472; }
html[data-theme="light"] .corr-table th { color: #5b6472; border-bottom: 1px solid #e9edf2; background: #f3f5f8; }
html[data-theme="light"] .corr-table td { border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .corr-table tr[data-id]:hover td { background: #f6f8fa; }
html[data-theme="light"] .corr-dt { color: #5b6472; }
html[data-theme="light"] .corr-form label, html[data-theme="light"] .corr-detail .corr-sec-h { color: #3b4553; }
html[data-theme="light"] .corr-input { background: #f6f8fa; color: #1f2937; border: 1px solid #e6eaf0; }
html[data-theme="light"] .corr-depts { background: #f6f8fa; border: 1px solid #e6eaf0; }
html[data-theme="light"] .corr-extchip { background: #eef2f7; }
html[data-theme="light"] .corr-recip-panel { background: #f6f8fa; border: 1px solid #e6eaf0; }
html[data-theme="light"] .corr-recip-row { border-bottom: 1px dashed #e6eaf0; }
html[data-theme="light"] .corr-recip-prim { color: #5b6472; }
html[data-theme="light"] .corr-meta { color: #5b6472; }
html[data-theme="light"] .corr-text { background: #f6f8fa; border: 1px solid #e9edf2; }
html[data-theme="light"] .corr-recip { border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .corr-file { background: #f6f8fa; border: 1px solid #e9edf2; }
html[data-theme="light"] .corr-kind { color: #5b6472; }
html[data-theme="light"] .corr-ev { border-bottom: 1px solid #d7dde5; color: #1f2937; }
html[data-theme="light"] .nr-caret { color: #5b6472; }
html[data-theme="light"] .cl-dialog { background: #e6eaf0; }
html[data-theme="light"] .cl-bar { background: #f6f8fa; }
html[data-theme="light"] .sba-attach .sba-none { color: #5b6472; }
html[data-theme="light"] .sba-b { background: #ffffff; border: 1px solid #e6eaf0; color: #1f2937; }
html[data-theme="light"] .sba-b.up { background: #e3edfb; }
html[data-theme="light"] .sba-b:hover { background: #eef2f7; }
html[data-theme="light"] .le-bar { background: #f6f8fa; }
html[data-theme="light"] .le-bar select, html[data-theme="light"] .le-bar input[type=color] { background: #e8ecf1; border: 1px solid #c6ced8; }
html[data-theme="light"] .le-b { background: #e8ecf1; border: 1px solid #c6ced8; }
html[data-theme="light"] .le-b:hover { background: #c6ced8; }
html[data-theme="light"] .le-div { background: #c6ced8; }
html[data-theme="light"] .le-doc { box-shadow: 0 6px 30px rgba(15,23,42,0.175); }
html[data-theme="light"] .le-logo-ph { color: #6b7482; }
html[data-theme="light"] .ig-panel { background: var(--bg-panel, #f6f8fa); border: 1px solid var(--border, #e6eaf0); box-shadow: 0 24px 70px rgba(15,23,42,0.21); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .ig-head { border-bottom: 1px solid var(--border, #e6eaf0); }
html[data-theme="light"] .ig-head .ig-x { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .ig-left canvas { border: 1px solid var(--border, #e6eaf0); background: #f3f5f8; }
html[data-theme="light"] .ig-zoombar { background: rgba(255,255,255,0.82); border: 1px solid var(--border, #e6eaf0); }
html[data-theme="light"] .ig-zoombar button { background: #ffffff; color: #1f2937; }
html[data-theme="light"] .ig-zoombar #igZlbl { color: #5b6472; }
html[data-theme="light"] .ig-hint { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .ig-lab { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .ig-input { background: var(--bg-input, #f3f5f8); color: var(--text-primary, #1f2937); border: 1px solid var(--border, #e6eaf0); }
html[data-theme="light"] .ig-pt .ig-pick { background: #e3edfb; color: #1a4d8f; }
html[data-theme="light"] .ig-pick-hint { box-shadow: 0 6px 20px rgba(15,23,42,0.158); }
html[data-theme="light"] .ig-empty { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .ig-rms { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .ig-btn { background: #ffffff; color: #1f2937; border: 1px solid #e6eaf0; }
html[data-theme="light"] .ig-list-h { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .ig-merge-btn { background: #e3edfb; color: #1a4d8f; }
html[data-theme="light"] .ig-adj-panel { background: var(--bg-panel, #f6f8fa); border: 1px solid var(--border, #e6eaf0); box-shadow: 0 12px 34px rgba(15,23,42,0.193); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .ig-adj-head .ig-adj-x { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .dept-vis-btn { border: 1px solid #dfe6ee; background: #f0f3f7; color: #1a4d8f; }
html[data-theme="light"] .dept-vis-btn:hover { background: #eef2f7; }
html[data-theme="light"] .dept-vis-btn.is-hidden { background: #f6f8fa; border-color: #d7dde5; }
html[data-theme="light"] .dept-vis-btn.is-hidden:hover { background: #eef2f7; }
html[data-theme="light"] .surf-panel { background: #f6f8fa; border: 1px solid #e6eaf0; box-shadow: 0 14px 38px rgba(15,23,42,0.21); color: #1f2937; }
html[data-theme="light"] .surf-head { border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .surf-x { color: #5b6472; }
html[data-theme="light"] .surf-lbl { color: #5b6472; }
html[data-theme="light"] .surf-in { background: #f3f5f8; color: #1f2937; border: 1px solid #dfe6ee; }
html[data-theme="light"] .surf-sec { color: #5b6472; border-top: 1px solid #d7dde5; }
html[data-theme="light"] .surf-row2 { color: #1f2937; }
html[data-theme="light"] .surf-btn { background: #f0f3f7; color: #1f2937; border: 1px solid #dfe6ee; }
html[data-theme="light"] .surf-btn:hover { background: #eef2f7; }
html[data-theme="light"] .surf-stat { color: #5b6472; }
html[data-theme="light"] .surf-actions button { background: #f0f3f7; color: #1a4d8f; border: 1px solid #dfe6ee; }
html[data-theme="light"] .gnss-status.on { background: #eef2f7; }
html[data-theme="light"] .gnss-status.off { background: #f6f8fa; border: 1px solid #d7dde5; }
html[data-theme="light"] .gnss-grid span { color: #5b6472; }
html[data-theme="light"] .gnss-grid b { color: #1f2937; }
html[data-theme="light"] .ih-batch { border: 1px solid #e6eaf0; background: #f6f8fa; }
html[data-theme="light"] .ih-file { color: #1f2937; }
html[data-theme="light"] .ih-meta { color: #5b6472; }
html[data-theme="light"] .ih-ln { color: #1f2937; }
html[data-theme="light"] .ih-lc { color: #5b6472; }
html[data-theme="light"] .ih-btn { background: #ffffff; color: #1f2937; border: 1px solid #e6eaf0; }
html[data-theme="light"] .ih-btn:hover { background: #eef2f7; }
html[data-theme="light"] .ih-btn.ih-del { background: #f6f8fa; }
html[data-theme="light"] .lpk-panel { background: #f6f8fa; border: 1px solid #e6eaf0; box-shadow: 0 12px 34px rgba(15,23,42,0.193); color: #1f2937; }
html[data-theme="light"] .lpk-head { border-bottom: 1px solid #d7dde5; background: #f6f8fa; }
html[data-theme="light"] .lpk-head .lpk-x { color: #5b6472; }
html[data-theme="light"] .lpk-radius { color: #5b6472; }
html[data-theme="light"] .lpk-radius input { background: #f3f5f8; color: #1f2937; border: 1px solid #dfe6ee; }
html[data-theme="light"] .lpk-hint { color: #5b6472; }
html[data-theme="light"] #btnLayersHere.mbar-probe-on { background: #eef2f7; }
html[data-theme="light"] .lpk-item { border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .lpk-item:hover { background: #f0f3f7; }
html[data-theme="light"] .lpk-item.on { background: #eef2f7; }
html[data-theme="light"] .lpk-count { color: #5b6472; background: #f0f3f7; }
html[data-theme="light"] .gfs-input { background: rgba(255,255,255,0.9); color: #1f2937; border: 1px solid #e6eaf0; }
html[data-theme="light"] .gfs-results { background: #f6f8fa; border: 1px solid #e6eaf0; box-shadow: 0 12px 34px rgba(15,23,42,0.193); }
html[data-theme="light"] .gfs-item { border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .gfs-item:hover, html[data-theme="light"] .gfs-item.on { background: #f0f3f7; }
html[data-theme="light"] .gfs-main b { color: #1f2937; }
html[data-theme="light"] .gfs-sub { color: #5b6472; }
html[data-theme="light"] .gfs-empty, html[data-theme="light"] .gfs-more { color: #5b6472; }
html[data-theme="light"] .lang-switch { background: rgba(255,255,255,0.92); border: 1px solid #e6eaf0; box-shadow: 0 4px 14px rgba(15,23,42,0.14); }
html[data-theme="light"] .lang-switch span { color: #5b6472; }
html[data-theme="light"] .lang-switch span:hover { color: #1f2937; }
html[data-theme="light"] .pimg-cell { background: #f6f8fa; border: 1px solid #e9edf2; }
html[data-theme="light"] .pimg-lb-bar { background: linear-gradient(rgba(255,255,255,0.6),transparent); }
html[data-theme="light"] .pipe-profile-panel { background: #f3f5f8; border: 1px solid #e9edf2; box-shadow: 0 8px 40px rgba(15,23,42,0.21); }
html[data-theme="light"] .pp-bar b { color: #1f6fd1; }
html[data-theme="light"] .pp-svg { background: #f3f5f8; }
html[data-theme="light"] .pp-axl { fill: #3b4553; }
html[data-theme="light"] .pp-tip { background: #f6f8fa; border: 1px solid #d7dde5; color: #1f2937; }
html[data-theme="light"] .ue-caps-wrap { border-top: 1px solid #e9edf2; }
html[data-theme="light"] .ue-cap-mini { background: #ffffff; border: 1px solid #e9edf2; }
html[data-theme="light"] .ue-caps { border: 1px solid #e9edf2; }
html[data-theme="light"] .ue-cap-ghead { background: #f6f8fa; }
html[data-theme="light"] .ue-cap-ghead b { color: #1f6fd1; }
html[data-theme="light"] .pp-zb { background: #ffffff; border: 1px solid #e9edf2; }
html[data-theme="light"] .pp-zb:hover { background: #eef2f7; }
html[data-theme="light"] .na-card { background: #f6f8fa; border: 1px solid #e9edf2; }
html[data-theme="light"] .na-net { background: #f6f8fa; }
html[data-theme="light"] .na-tbl { border: 1px solid #e9edf2; }
html[data-theme="light"] .na-tbl th { background: #f6f8fa; color: #1f6fd1; }
html[data-theme="light"] .na-tbl td { border-top: 1px solid #eef2f7; }
html[data-theme="light"] .ug-head { background: #f6f8fa; border: 1px solid #d7dde5; color: #1f2937; }
html[data-theme="light"] .ug-head:hover { background: #f6f8fa; }
html[data-theme="light"] .ug-caret { color: #1f6fd1; }
html[data-theme="light"] .ug-name { color: #1f6fd1; }
html[data-theme="light"] .ug-count { background: #f3f5f8; border: 1px solid #e9edf2; color: #5b6472; }
html[data-theme="light"] .ug-body { border-inline-start: 2px solid #d7dde5; }
html[data-theme="light"] .ur-head { color: #3b4553; }
html[data-theme="light"] .ur-count { background: #f3f5f8; border: 1px solid #e9edf2; }
html[data-theme="light"] .users-row.sel { background: #f6f8fa !important; }
html[data-theme="light"] .ai-btn.ai-on { background: #eef2f7; }
html[data-theme="light"] .ai-btn.ai-srv { background: #f6f8fa; border-color: #d7dde5; }
html[data-theme="light"] .fe-cellw, html[data-theme="light"] .fe-cellh { box-shadow: 0 1px 3px rgba(15,23,42,0.175); }
html[data-theme="light"] .pl-pal-grp { border-inline-end: 1px solid #e9edf2; }
html[data-theme="light"] .tpl-list { border: 1px solid #e9edf2; }
html[data-theme="light"] .tpl-row { border-bottom: 1px solid #eef2f7; }
html[data-theme="light"] .fv-file { border: 1px solid #d7dde5; background: #f6f8fa; }
html[data-theme="light"] .fv-tgl { color: #5b6472; }
html[data-theme="light"] .fv-name { color: #1f2937; }
html[data-theme="light"] .fv-meta { color: #5b6472; }
html[data-theme="light"] .fv-btn { background: #eef2f7; border: 1px solid #d7dde5; color: #1f2937; }
html[data-theme="light"] .fv-btn:hover { background: #eef2f7; }
html[data-theme="light"] .fv-layers { border-top: 1px solid #d7dde5; }
html[data-theme="light"] .fp-unhide { background: #eef2f7; }
html[data-theme="light"] .gfs-openlist { color: #1f6fd1; border-bottom: 1px solid #d7dde5; background: #f6f8fa; }
html[data-theme="light"] .gfs-panel { background: #f6f8fa; border: 1px solid #d7dde5; box-shadow: 0 12px 40px rgba(15,23,42,0.175); }
html[data-theme="light"] .gfs-p-head { background: #f6f8fa; border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .gfs-p-title { color: #1f2937; }
html[data-theme="light"] .gfs-p-x { color: #5b6472; }
html[data-theme="light"] .gfs-p-tools { border-bottom: 1px solid #d7dde5; }
html[data-theme="light"] .gfs-p-q { background: #f6f8fa; border: 1px solid #d7dde5; color: #1f2937; }
html[data-theme="light"] .gfs-p-sel { background: #f6f8fa; border: 1px solid #d7dde5; color: #1f2937; }
html[data-theme="light"] .gfs-p-btn { background: #eef2f7; border: 1px solid #d7dde5; color: #1f2937; }
html[data-theme="light"] .gfs-p-btn:hover { background: #eef2f7; }
html[data-theme="light"] .gfs-p-row:hover { background: #f6f8fa; }
html[data-theme="light"] .fab-disc > .mbar-btn.fab-disc-btn { background: rgba(255,255,255,0.92); border: 1px solid #e6eaf0; color: #1a4d8f; box-shadow: 0 4px 14px rgba(15,23,42,0.14); }
html[data-theme="light"] .gfs-p-dim { color: #5b6472; }
html[data-theme="light"] .fv-btn.fv-on { color: #1f6fd1; }
html[data-theme="light"] .fdoc-sec { border-top: 1px solid #d7dde5; }
html[data-theme="light"] .fdoc-h { color: #1f6fd1; }
html[data-theme="light"] .fdoc-hint { color: #5b6472; }
html[data-theme="light"] .fdoc-row { border: 1px solid #d7dde5; background: #f6f8fa; }
html[data-theme="light"] .fdoc-row:hover { background: #eef2f7; }
html[data-theme="light"] .fdoc-name { color: #1f2937; }
html[data-theme="light"] .fdoc-more { color: #5b6472; }
html[data-theme="light"] .doc-tag { color: #1f6fd1; }
html[data-theme="light"] .pl-hist-h { color: #5b6472; }
html[data-theme="light"] .lic-box { box-shadow: 0 24px 70px rgba(15,23,42,0.122); }
html[data-theme="light"] .pg-src { color: #5b6472; }
html[data-theme="light"] .fv-filters { background: rgba(15,23,42,0.045); border: 1px solid rgba(15,23,42,0.072); }
html[data-theme="light"] .fv-fin { color: var(--text, #1f2937); border: 1px solid rgba(15,23,42,0.126); }
@media (max-width: 1023.98px) { html[data-theme="light"] .ctx-edit-bar { box-shadow: 0 2px 8px rgba(15,23,42,0.122); } }
html[data-theme="light"] .sym-tabs { border-bottom: 1px solid rgba(15,23,42,0.09); }
html[data-theme="light"] .sym-tab:hover { background: rgba(15,23,42,0.045); }
html[data-theme="light"] .sym-tab.active { background: rgba(15,23,42,0.072); border-color: rgba(15,23,42,0.126); }
html[data-theme="light"] .sym-foot { border-top: 1px solid rgba(15,23,42,0.072); }
html[data-theme="light"] .act-status { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .imf-count { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .imf-row { border: 1px solid var(--border, #e6eaf0); background: var(--bg-panel, #f6f8fa); color: var(--text-primary, #1f2937); }
html[data-theme="light"] .imf-meta { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .imf-more { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .imf-empty { color: var(--text-muted, #5b6472); }
html[data-theme="light"] .imagery-item .img-more:hover { background: var(--bg-hover, rgba(15,23,42,0.072)); }
html[data-theme="light"] .ie-props-table tr + tr th, html[data-theme="light"] .ie-props-table tr + tr td { border-top: 1px solid var(--border-light, rgba(15,23,42,0.054)); }
html[data-theme="light"] .draw-target-current { color: var(--text, #1f2937); }
html[data-theme="light"] .gov-sec-list { border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .gov-step-n { background: var(--panel2, #eef2f7); }
html[data-theme="light"] .gov-review { border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .gov-rev-row { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .gov-type-card { background: var(--panel2, #eef2f7); }
html[data-theme="light"] .gov-lib-side { border-inline-end: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .gov-card { border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .gov-admin-nav { border-inline-end: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .gov-stat { border: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .gov-table th { border-bottom: 1px solid var(--border, #d7dde5); }
html[data-theme="light"] .gov-req { border: 1px solid var(--border, #d7dde5); }
@media (max-width: 720px) { html[data-theme="light"] .gov-lib-side, html[data-theme="light"] .gov-admin-nav { border-bottom: 1px solid var(--border, #d7dde5); } }

/* ── 3. HAND — tools/theme-light.hand.css ── */
/* Hand-written light overrides — appended verbatim by tools/gen_theme_light.py */
html[data-theme="light"] body { background: var(--bg-base); color: var(--text-primary); }
html[data-theme="light"] .header { background: #ffffff; border-bottom: 1px solid var(--border); box-shadow: 0 1px 3px rgba(15,23,42,.08); }
html[data-theme="light"] .sidebar { background: #ffffff; border-right: 1px solid var(--border); box-shadow: none; }
html[data-theme="light"] .header,
html[data-theme="light"] .sidebar,
html[data-theme="light"] .layer-body,
html[data-theme="light"] .status-bar { color: var(--text-primary); }
/* menubar / toolbar tools: clear active + disabled state on white */
html[data-theme="light"] .mbar-btn, html[data-theme="light"] .mbar-icon, html[data-theme="light"] .ceb-btn { color: #3b4553; }
html[data-theme="light"] .mbar-btn:hover, html[data-theme="light"] .mbar-icon:hover, html[data-theme="light"] .ceb-btn:hover,
html[data-theme="light"] .mbar-menu.open > .mbar-btn { background: var(--bg-hover); color: var(--text-primary); }
html[data-theme="light"] .mbar-icon.active,
html[data-theme="light"] .mbar-menu.open > .mbar-icon,
html[data-theme="light"] .mbar-menu.has-active > .mbar-icon,
html[data-theme="light"] .ceb-btn.active { background: #dbeafe; border-color: #93c5fd; color: #1a4d8f; }
html[data-theme="light"] .mbar-btn:disabled, html[data-theme="light"] .mbar-icon:disabled, html[data-theme="light"] .mbar-opt:disabled,
html[data-theme="light"] .mbar-btn[aria-disabled="true"], html[data-theme="light"] .mbar-opt[aria-disabled="true"],
html[data-theme="light"] .ceb-btn:disabled, html[data-theme="light"] .ceb-btn[aria-disabled="true"] { opacity: 1; color: #aab3bf !important; }
/* dialogs float on a (kept) dark veil: give them an edge on white */
html[data-theme="light"] .modal-dialog, html[data-theme="light"] .server-dialog { border: 1px solid var(--border); box-shadow: 0 12px 40px rgba(15,23,42,.22); }
/* form controls */
html[data-theme="light"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
html[data-theme="light"] select,
html[data-theme="light"] textarea { background: #ffffff; color: var(--text-primary); border-color: var(--border-light); }
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder { color: var(--text-dim); }
/* OpenLayers controls */
html[data-theme="light"] .ol-control button { background: rgba(255,255,255,.95); color: #1f2937; border: 1px solid var(--border); }
html[data-theme="light"] .ol-control button:hover { background: #eef2f7; }
html[data-theme="light"] .ol-scale-line { background: rgba(255,255,255,.8); }
html[data-theme="light"] .ol-scale-line-inner { color: #1f2937; border-color: #1f2937; }
html[data-theme="light"] .ol-attribution { background: rgba(255,255,255,.75); }
/* scrollbars */
html[data-theme="light"] ::-webkit-scrollbar-track { background: #f3f5f8; }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background: #c6ced8; }
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: #a9b2bf; }
/* the light theme is a chrome theme: the map canvas and its symbology are not touched */
/* the Classic/Lite chooser (theme.js) gained a colour row */
.thm-colour { display: flex; align-items: center; gap: 8px; padding: 0 16px 8px; }
.thm-colour-lbl { font-size: 12px; opacity: .8; margin-inline-end: auto; }
.thm-col { background: #141b23; color: #e6edf3; border: 2px solid #232c36; border-radius: 9px; padding: 6px 12px; cursor: pointer; font: inherit; font-size: 12px; }
.thm-col.sel { border-color: #3d8bff; }
html[data-theme="light"] .thm-col { background: #f6f8fa; color: #1f2937; border-color: #d7dde5; }
html[data-theme="light"] .thm-col.sel { border-color: #1f6fd1; }

/* ── Stations (chainage) tools ── */
html[data-theme="light"] .sta-tip { background: rgba(255, 255, 255, .96); border-color: #1f6fd1; color: #1f2937;
  box-shadow: 0 6px 20px rgba(15, 23, 42, .2); }
html[data-theme="light"] .sta-tip-name { color: #1f6fd1; }
html[data-theme="light"] .sta-tip-sub  { color: #64748b; }
html[data-theme="light"] .sta-tip-row span { color: #64748b; }
html[data-theme="light"] .sta-tip-row b    { color: #b45309; }
html[data-theme="light"] .sta-chip:hover, html[data-theme="light"] .sta-dir:hover { border-color: #1f6fd1; }
html[data-theme="light"] .sta-chip.on { background: rgba(31, 111, 209, .12); border-color: #1f6fd1; color: #1f6fd1; }
html[data-theme="light"] .sta-count { color: #1f6fd1; }
html[data-theme="light"] .sta-note  { color: #64748b; }
html[data-theme="light"] .sta-acts button:hover:not([disabled]) { border-color: #1f6fd1; color: #1f6fd1; }
html[data-theme="light"] .sta-acts .sta-go { background: rgba(31, 111, 209, .12); border-color: #1f6fd1; color: #1f6fd1; }
html[data-theme="light"] .sta-w-start { color: #b45309; }
html[data-theme="light"] .sta-w-dir, html[data-theme="light"] .sta-w-del { background: #f6f8fa; border-color: #d7dde5; color: #1f2937; }
html[data-theme="light"] .sta-w-dir:hover { border-color: #1f6fd1; color: #1f6fd1; }

/* stations: line-source row + generator watch list */
html[data-theme="light"] .sta-src button, html[data-theme="light"] .sta-src select {
  background: #f2f5f8; color: #1c2733; border-color: #c3ccd6;
}
html[data-theme="light"] .sta-src button:hover:not(:disabled),
html[data-theme="light"] .sta-src select:hover { border-color: #0077a8; }
html[data-theme="light"] .sta-g-del { color: #c62828; }
