:root{color:#243041;background:#e8ebef;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.4}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}h1,h2,p{margin:0}h1{letter-spacing:-.03em;font-size:1.25rem}h2{font-size:1.2rem}#app{flex-direction:column;gap:10px;min-height:100svh;padding:12px;display:flex}.app-header,.toolbar,.export-bar,.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-header{padding:0 2px}.status-chip{background:#dce1e7;border-radius:20px;margin-left:auto;padding:4px 9px;font-size:12px}.status-chip.ok{color:#12643b;background:#d4eddf}.dro{font-variant-numeric:tabular-nums;letter-spacing:.01em;color:#12643b;gap:14px;margin-left:auto;font-size:1.55rem;font-weight:600;line-height:1.1;display:flex}.dro.stale{color:#8a94a2;font-weight:400}.dro .dro-axis span{font-weight:700}.dro.stale .dro-axis span{font-weight:400}.toolbar{background:#fff;border-radius:8px;padding:8px}.switch{cursor:pointer;background:#f8f9fb;border:1px solid #c5cdd8;border-radius:6px;align-items:center;gap:8px;min-height:44px;padding:0 10px;font-size:13px;display:flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch-track{background:#c5cdd8;border-radius:11px;flex:none;width:40px;height:22px;transition:background .15s;position:relative}.switch-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{background:#2865bd}.switch input:checked+.switch-track:after{left:20px}.switch input:focus-visible+.switch-track{outline-offset:2px;outline:2px solid #2865bd}.switch input:disabled+.switch-track{opacity:.45}.live-recovery-row{background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px;font-size:12px;display:flex}.live-recovery-row[hidden]{display:none}#liveUpdateStatus{flex:1;min-width:220px}.workspace-status{flex-wrap:wrap;gap:4px 12px;min-height:0;padding:0 4px;font-size:12px;display:flex}.hint{color:#667384;font-size:12px}#statusText{color:#a42c2c;flex-basis:100%;min-height:1.4em;font-size:12px}#statusText:empty{visibility:hidden}button,input,select{font:inherit}button{color:#243041;cursor:pointer;background:#f8f9fb;border:1px solid #c5cdd8;border-radius:6px;min-height:44px;padding:8px 13px}button:hover:not(:disabled){background:#e7edf5}button.primary{color:#fff;background:#2865bd;border-color:#2865bd}button.primary:hover:not(:disabled){background:#1f519b}button.danger{color:#a42c2c}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline-offset:2px;outline:2px solid #2865bd}.plot-shell{background:#f5f6f8;border:1px solid #bbc4d0;border-radius:6px;flex:1;min-height:360px;overflow:hidden}#plot{width:100%;height:max(360px,100svh - 225px);display:block}.plot-background{fill:#fff}#plot .grid line{stroke-width:1px}#plot .grid .minor{stroke:#eff1f4}#plot .grid .major{stroke:#dde2e9}#plot .origin-axes{fill:none;stroke:#bbc4d0;stroke-width:1px}#plot .bed-outline{fill:none;stroke:#788697;stroke-width:1px}#plot .geometry{fill:none}#plot .geometry *{vector-effect:non-scaling-stroke;stroke-width:1.4px}#plot .head-marker{fill:none;stroke:#db4242;stroke-width:1.5px}#plot .head-marker.settled{stroke:#000}#plot .rulers{fill:#647285;font-variant-numeric:tabular-nums;font-size:11px}.export-bar{padding:0 2px}.backup-actions{flex-wrap:wrap;gap:10px;display:flex}.backup-actions button{flex:180px;min-height:48px}.backup-import{cursor:pointer;background:#f8f9fb;border:1px solid #c5cdd8;border-radius:6px;flex:180px;justify-content:center;min-height:48px;padding:8px 13px}.backup-import input{opacity:0;width:1px;height:1px;position:absolute}dialog{width:min(620px,100vw - 24px);max-height:calc(100svh - 32px);color:inherit;background:#fff;border:1px solid #c7ced8;border-radius:12px;padding:20px;box-shadow:0 20px 70px #15243840}dialog::backdrop{background:#17233580}dialog>*,form>*{margin-bottom:16px}dialog>:last-child,form>:last-child{margin-bottom:0}.dialog-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}label{flex-direction:column;gap:5px;font-size:13px;display:flex}input,select{background:#fff;border:1px solid #c5cdd8;border-radius:5px;width:100%;min-width:0;padding:9px}input[type=color]{min-height:42px;padding:4px}label.check{flex-direction:row;align-items:center}input[type=checkbox]{width:auto}fieldset{border:1px solid #dde2e9;border-radius:6px;padding:14px}legend{color:#596676;padding:0 6px}.color-picker-field{min-width:0;font-size:13px}.color-picker-field>span{margin-bottom:5px;display:block}.color-picker summary{cursor:pointer;border:1px solid #c5cdd8;border-radius:5px;align-items:center;gap:8px;min-height:42px;padding:8px;display:flex}.color-picker summary:after{content:"+";margin-left:auto}.color-picker[open] summary:after{content:"-"}.selected-color-swatch{border:1px solid #667384;width:24px;height:24px}.color-picker-message:empty{display:none}.layer-palette{grid-template-columns:repeat(8,minmax(0,1fr));gap:0;margin:5px 0;display:grid}.layer-palette button{font-variant-numeric:tabular-nums;border:0;border-radius:0;min-height:34px;padding:0;font-size:12px}.layer-palette button:hover:not(:disabled){background:revert;filter:brightness(1.15)}.layer-palette button[aria-pressed=true]{outline-offset:-4px;outline:2px solid #fff;box-shadow:inset 0 0 0 2px #243041}.layer-palette button:focus-visible{z-index:1;outline-offset:1px;outline:2px solid #2865bd;position:relative}fieldset .row{margin-bottom:14px}#pointsDialog{width:min(980px,100vw - 24px)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;border-bottom:1px solid #e6eaf0;padding:6px}th{color:#667384;font-size:12px}td input{min-width:75px}@media (width<=600px){#app{gap:8px;padding:8px}.app-header{gap:6px}.dro{gap:10px;font-size:1.25rem}.toolbar{gap:6px}.toolbar button{flex:28%;padding:8px;font-size:12px}.switch{flex:100%;justify-content:center}#plot{height:max(360px,100svh - 310px)}.export-bar button{flex:1;padding:8px;font-size:12px}.export-bar>.hint{flex-basis:100%}.form-grid{grid-template-columns:1fr}dialog{padding:14px}}#decisionMessage.approval-prompt{color:#1d3f9a;white-space:pre-line;font-size:20px;font-weight:700;line-height:1.35}#decisionActions{margin-top:12px}.status-chip.actionable{cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.status-chip.actionable:focus-visible{outline-offset:2px;outline:2px solid #1d3f9a}
