:root{--bg-page:#f6f6f4;--bg-surface:#fff;--bg-raised:#fff;--bg-subtle:#f4f3ee;--bg-hover:#f0efea;--bg-muted:#ececea;--fg-primary:#1b1b1b;--fg-secondary:#555;--fg-muted:#777774;--fg-faint:#8b8b84;--fg-on-accent:#fff;--border-default:#e3e3df;--border-strong:#c9c7bd;--border-subtle:#ececea;--border-dashed:#c7c7c0;--accent:#1b1b1b;--accent-hover:#333;--accent-fg:#fff;--accent-tint:#f2f1ec;--focus-ring:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);--success-bg:#ecf8ef;--success-fg:#1f7a3a;--success-border:#bfe2c8;--danger-bg:#fbeeee;--danger-fg:#b33333;--danger-border:#e3c2c2;--warning-bg:#fdf3df;--warning-fg:#8a5a00;--warning-border:#e9cf95;--info-bg:#e3eef7;--info-fg:#1a3a66;--info-border:#c2d6ec;--soil-info-bg:#e3eef7;--soil-info-fg:#1a3a66;--soil-depth-bg:#e6ebd6;--soil-depth-fg:#4a4320;--soil-fill-bg:#f1e4cf;--soil-fill-fg:#6a4a1e;--link:#1f6feb;--link-hover:#174ea6;--selected-bg:#3b73d1;--selected-fg:#fff;--selected-border:#2d5ca8;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 6px #0000000f;--shadow-lg:0 10px 30px #0000001a;--shadow-menu:0 8px 24px #0000001f;--control-h:2.2rem;--control-h-sm:1.95rem;--canvas-paper:#fff;--canvas-grid-minor:#eceae3;--canvas-grid-major:#d9d9d4;--canvas-gutter-fg:#7a7a76;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--fg-primary);background:var(--bg-page);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}[data-theme=dark]{--bg-page:#0f1012;--bg-surface:#17181a;--bg-raised:#1c1d20;--bg-subtle:#1f2023;--bg-hover:#242528;--bg-muted:#2a2b2e;--fg-primary:#e9e9e6;--fg-secondary:#b6b6b1;--fg-muted:#8a8a85;--fg-faint:#6c6c68;--fg-on-accent:#0f1012;--border-default:#2c2d30;--border-strong:#3a3b3e;--border-subtle:#242528;--border-dashed:#3a3b3e;--accent:#ebebe8;--accent-hover:#fff;--accent-fg:#0f1012;--accent-tint:#242528;--focus-ring:0 0 0 3px color-mix(in srgb, var(--accent) 32%, transparent);--success-bg:#153021;--success-fg:#6fd28c;--success-border:#27523a;--danger-bg:#2e1818;--danger-fg:#f08a8a;--danger-border:#4d2626;--warning-bg:#2e2416;--warning-fg:#f2c77b;--warning-border:#4d3e1e;--info-bg:#17243a;--info-fg:#9dc2f0;--info-border:#283c5a;--soil-info-bg:#17243a;--soil-info-fg:#9dc2f0;--soil-depth-bg:#262915;--soil-depth-fg:#c8cf94;--soil-fill-bg:#2d1f12;--soil-fill-fg:#e1b97f;--link:#7aa8f0;--link-hover:#a4c2f2;--selected-bg:#4a85e0;--selected-fg:#fff;--selected-border:#6498e8;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 2px 8px #00000073;--shadow-lg:0 14px 40px #0009;--shadow-menu:0 10px 30px #0000008c;--canvas-paper:#f4f2ec;--canvas-grid-minor:#dcdbd4;--canvas-grid-major:#b9b8b0;--canvas-gutter-fg:#9a9a95;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg-page);color:var(--fg-primary);margin:0}body{min-height:100vh}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--fg-primary)}a{color:inherit}button{font:inherit;background:var(--accent);color:var(--accent-fg);border:1px solid var(--accent);border-radius:var(--radius-md);cursor:pointer;padding:.5rem .95rem;transition:background .12s,border-color .12s,color .12s,box-shadow .12s}button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}button:disabled{opacity:.55;cursor:not-allowed}button.ghost{color:var(--fg-primary);border:1px solid var(--border-strong);background:0 0}button.ghost:hover{background:var(--bg-hover);border-color:var(--fg-secondary)}button.danger{color:var(--danger-fg);border:1px solid var(--danger-border);background:0 0}button.danger:hover{background:var(--danger-bg);border-color:var(--danger-fg)}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),select,textarea{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--fg-primary);box-sizing:border-box;padding:.45rem .65rem;transition:border-color .12s,box-shadow .12s}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),select{height:var(--control-h)}input::placeholder,textarea::placeholder{color:var(--fg-faint)}.page{max-width:1100px;margin:0 auto;padding:1.75rem 1.25rem 3rem}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1{letter-spacing:-.01em;margin:0;font-size:1.5rem}.back{color:var(--fg-secondary);border-radius:var(--radius-sm);align-items:center;gap:.25rem;margin-left:-.25rem;padding:.15rem .25rem;font-size:.9rem;text-decoration:none;display:inline-flex}.back:hover{color:var(--fg-primary)}.empty{color:var(--fg-muted)}.jobs-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.jobs-list a{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;padding:.85rem 1rem;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.jobs-list a:hover{border-color:var(--fg-secondary);box-shadow:var(--shadow-sm)}.jobs-list .title{font-weight:500}.jobs-list .meta{color:var(--fg-muted);align-items:center;gap:.55rem;font-size:.85rem;display:inline-flex}.status-badge{letter-spacing:.03em;background:var(--bg-muted);color:var(--fg-secondary);text-transform:uppercase;border:1px solid #0000;border-radius:999px;padding:.12rem .6rem;font-size:.7rem;font-weight:600}.status-badge.status-draft{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.status-badge.status-exported{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-border)}.job-editor .tabs{border-bottom:1px solid var(--border-default);gap:.15rem;margin-bottom:1.25rem;padding-bottom:1px;display:flex;overflow-x:auto}.job-editor .tabs a{color:var(--fg-muted);white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom:2px solid #0000;padding:.6rem .95rem;text-decoration:none;transition:color .12s,border-color .12s,background .12s}.job-editor .tabs a:hover{color:var(--fg-primary);background:var(--bg-hover)}.job-editor .tabs a.active{color:var(--fg-primary);border-bottom-color:var(--accent);font-weight:600}.form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem 1.25rem;max-width:1100px;display:grid}.form>.full{grid-column:1/-1}.form>.hint{grid-column:1/-1;margin:0}.form label{color:var(--fg-secondary);align-content:start;gap:.3rem;font-size:.9rem;display:grid}.form.header-form{flex-direction:column;gap:1.25rem;display:flex}.form.header-form>.checklist{box-shadow:var(--shadow-sm)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem 1.25rem;display:grid}.project-info-row{grid-template-columns:minmax(200px,1fr) minmax(190px,1fr) minmax(300px,1.6fr) minmax(260px,1.4fr);justify-content:center;align-items:stretch;gap:.75rem;margin:0 auto;display:grid}.project-info-stack{align-content:start;gap:.5rem;min-width:0;display:grid}.project-info-stack-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.project-info-row label{text-align:center;align-content:start;justify-items:center;gap:.3rem;min-width:0;display:grid}.project-info-row label>input,.project-info-row label>select{text-align:center;text-align-last:center;width:100%;min-width:0}.project-info-row>.field-card{align-items:center;gap:0;min-width:0;margin:0;padding:.55rem .75rem .6rem}.project-info-row>.field-card>.field-card-header{justify-content:center;gap:.6rem;margin:0;line-height:1.1}.project-info-row>.field-card>.identify-toggle{align-self:center;margin:0}.identify-toggle{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--fg-secondary);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.1rem .55rem;font-size:.72rem;font-weight:600;line-height:1.5;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.identify-toggle:hover{border-color:var(--border-strong);color:var(--fg-primary)}.identify-toggle.is-existing{background:var(--selected-bg);color:var(--selected-fg);border-color:var(--selected-border)}.project-info-row>.field-card>.field-card-inline,.project-info-row>.field-card>.segmented{margin-top:.3rem}.lift-position-row{justify-content:center;align-items:center;gap:.4rem;width:100%;display:flex}.lift-position-row>.segmented{flex:1;min-width:0}.lift-position-suffix{color:var(--fg-secondary);font-size:.85rem;font-weight:500}.field-card-inline{flex-flow:row;align-items:end;gap:.5rem;width:100%;display:flex}.field-card-inline>.segmented,.field-card-inline>.lift-position-row{flex:1 1 0;min-width:0}.field-inline{color:var(--fg-secondary);flex-direction:column;flex:1 1 0;align-items:stretch;gap:.2rem;min-width:0;font-size:.8rem;display:flex}.field-inline>span{text-align:center;font-weight:500}.field-inline .soil-select,.field-inline input,.field-inline select{text-align:center;text-align-last:center;width:100%;min-width:0}.field-inline select{background-position:calc(100% - 8px) 52%,calc(100% - 4px) 52%;padding-right:1.1rem}@media (width<=1024px){.project-info-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.project-info-row{grid-template-columns:1fr}.project-info-stack-row{grid-template-columns:1fr 1fr}}.form-grid>.full{grid-column:1/-1}.form-grid>.hint{grid-column:1/-1;margin:0}.form-grid>label:not(.full){text-align:center;justify-items:center}.form label>input,.form label>select,.form-grid label>input,.form-grid label>select{width:100%}.form-grid>label:not(.full)>select{text-align-last:center;width:auto;min-width:120px;max-width:180px}.form-grid>label:not(.full)>input{max-width:220px}.form-grid>label:not(.full)>.soil-select{width:auto;max-width:200px}.form label>.hint{color:var(--fg-muted);font-size:.78rem;line-height:1.3}.form label>.soil-select{width:100%}.form label>.soil-select>input{height:var(--control-h)}.form .lift-position-inline{color:var(--fg-secondary);flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.25rem;font-size:.85rem;display:flex}.form .identify-check{color:var(--fg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;gap:.35rem;margin-top:.35rem;font-size:.8rem;font-weight:400;display:inline-flex}.form .identify-check>input{width:auto;margin:0}.form .field-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem 1.25rem;margin-top:1rem;display:grid}.form .field-card{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-subtle);flex-direction:column;gap:.55rem;min-width:0;padding:.8rem .9rem .85rem;display:flex}.form .field-card-header{color:var(--fg-primary);justify-content:space-between;align-items:center;gap:.75rem;font-size:.95rem;font-weight:600;display:flex}.form .field-card-header>.identify-check{margin-top:0}.form .field-card>select,.form .field-card>input{text-align-last:center;width:100%;max-width:none}.form .card-field-pair{grid-template-columns:1fr 1fr;align-items:start;gap:.6rem .75rem;display:grid}.form .card-field-pair>label{color:var(--fg-secondary);text-align:center;flex-direction:column;gap:.25rem;min-width:0;font-size:.85rem;display:flex}.form .card-field-pair>label>input,.form .card-field-pair>label>select,.form .card-field-pair>label>.soil-select>input,.form .card-field-pair>label>.soil-select>select{text-align-last:center;width:100%;max-width:none}.hint{color:var(--fg-muted);font-size:.85rem}.link-button{font:inherit;color:var(--link);cursor:pointer;background:0 0;border:0;margin:0;padding:0;text-decoration:underline}.link-button:hover{color:var(--link-hover)}.placeholder{background:var(--bg-surface);border:1px dashed var(--border-dashed);border-radius:var(--radius-xl);color:var(--fg-secondary);padding:2rem}.placeholder h2{color:var(--fg-primary);margin-top:0}.photos-header{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.file-btn{background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-md);cursor:pointer;padding:.5rem .95rem;transition:background .12s;display:inline-block}.file-btn:hover{background:var(--accent-hover)}.file-btn input{display:none}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.photo-item{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);gap:.5rem;padding:.75rem;display:grid}.thumb{aspect-ratio:4/3;background:var(--bg-hover);border-radius:var(--radius-md);justify-content:center;align-items:center;display:flex;overflow:hidden}.thumb img{object-fit:contain;width:100%;height:100%}button.ghost-danger{color:var(--danger-fg);border:1px solid var(--danger-border);background:0 0}button.ghost-danger:hover{background:var(--danger-bg);border-color:var(--danger-fg)}.error{color:var(--danger-fg)}.diagram-editor{outline:none;gap:.75rem;display:grid}.diagram-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.diagram-toolbar .tool-group{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);flex-wrap:wrap;gap:.25rem;padding:2px;display:flex}.tool-btn{color:var(--fg-primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:.38rem .7rem;font-size:.85rem;transition:background .12s}.tool-btn:hover{background:var(--bg-hover)}.tool-btn.active{background:var(--accent);color:var(--accent-fg)}.scale-input{color:var(--fg-secondary);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.scale-input input{width:4.5rem;padding:.3rem .4rem}.checklist{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);overflow:hidden}.checklist-header{background:var(--bg-subtle);width:100%;color:var(--fg-primary);text-align:left;letter-spacing:.01em;border:0;border-radius:0;align-items:center;gap:.75rem;padding:.65rem .95rem;font-size:.95rem;font-weight:600;display:flex}.checklist.open .checklist-header{border-bottom:1px solid var(--border-default)}.checklist-header.static{cursor:default}.checklist-header>:first-child{flex:1;font-weight:600}.checklist-toggle{color:var(--fg-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:.25rem .7rem;font-size:.78rem}.checklist-toggle:hover{border-color:var(--fg-primary);color:var(--fg-primary)}.checklist-progress{color:var(--fg-secondary);background:var(--bg-hover);border-radius:999px;padding:.1rem .6rem;font-size:.78rem}.checklist-items{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.25rem 1rem;margin:0;padding:.4rem .95rem .85rem;font-size:.88rem;list-style:none;display:grid}.checklist-items label{cursor:pointer;align-items:flex-start;gap:.45rem;padding:.25rem 0;display:inline-flex}.checklist-items input[type=checkbox]{flex-shrink:0;align-self:flex-start;margin:.13rem 0 0}.checklist-label-text{flex-direction:column;line-height:1.2;display:flex}.checklist-label-note{color:var(--fg-muted);font-size:.78rem}.hideshow-body{flex-direction:column;gap:.9rem;padding:.85rem .95rem .95rem;display:flex}.hideshow-body>.testhole-summary{background:0 0;border:0;padding:0}.diagram-body{grid-template-columns:220px max-content;align-items:start;gap:.85rem;display:grid;overflow-x:auto}.palette{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);max-height:620px;padding:.5rem;overflow-y:auto}.palette-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 .5rem;padding:0 .3rem;font-size:.72rem;font-weight:600}.palette-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.palette-item{width:100%;color:var(--fg-primary);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.55rem;padding:.45rem .55rem;font-size:.82rem;transition:background .12s;display:flex}.palette-item:hover{background:var(--accent-tint)}.palette-icon{text-align:center;flex-shrink:0;width:20px;font-size:.95rem}.palette-label{flex:1;line-height:1.2}.diagram-canvas{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--canvas-paper);width:max-content;box-shadow:var(--shadow-sm);gap:.5rem;display:grid}.diagram-stage-row{align-items:flex-start;display:flex}.diagram-stage-wrap{position:relative}.cross-depth-gutter{color:var(--canvas-gutter-fg);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px;position:relative}.cross-depth-row{height:1px;line-height:1;display:block;position:absolute;left:0;right:0;transform:translateY(-50%)}.cross-depth-label{position:absolute;top:50%;right:10px;transform:translateY(-50%)}.cross-depth-tick{background:var(--canvas-grid-minor);width:8px;height:1px;position:absolute;top:0;right:0}.inspector{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);align-items:center;gap:.65rem;width:fit-content;padding:.45rem .75rem;font-size:.85rem;display:inline-flex}.inspector-label{color:var(--fg-secondary);font-weight:600}.inspector-input{color:var(--fg-secondary);align-items:center;gap:.35rem;display:inline-flex}.inspector-input input{width:4.5rem;padding:.25rem .4rem}.inspector-hint{color:var(--fg-muted);font-size:.8rem}.text-edit-input{font:inherit;border:1px solid var(--accent);background:var(--bg-surface);color:var(--fg-primary);z-index:20;border-radius:3px;min-width:6ch;padding:2px 4px;font-size:14px;position:absolute}.canvas-undo-btn{z-index:15;background:color-mix(in srgb, var(--bg-surface) 92%, transparent);color:var(--fg-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);padding:.4rem .75rem;font-size:.85rem;transition:background .12s,color .12s,border-color .12s;position:absolute;top:10px;right:10px}.canvas-undo-btn:hover{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.edge-edit-input{font:inherit;border:1px solid var(--link);background:var(--bg-surface);color:var(--fg-primary);text-align:center;z-index:20;border-radius:3px;width:64px;padding:1px 4px;font-size:12px;position:absolute}.testhole-tab{gap:1rem;display:grid}.testhole-flags{gap:.4rem;display:grid}.testhole-flag{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.55rem .8rem;display:flex}.testhole-flag .flag-label{flex:1;font-size:.9rem;font-weight:500}.testhole-flag .flag-controls{align-items:center;gap:.9rem;display:inline-flex}.testhole-flag .radio{align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.testhole-flag .depth{color:var(--fg-secondary);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.testhole-flag .depth input{width:4.5rem}.testhole-table{border-collapse:collapse;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;max-width:520px;font-size:.9rem;overflow:hidden}.testhole-table th,.testhole-table td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:.4rem .65rem}.testhole-table th{background:var(--bg-subtle);color:var(--fg-secondary);letter-spacing:.03em;text-transform:uppercase;font-size:.78rem;font-weight:600}.testhole-table tr:last-child td{border-bottom:0}.testhole-table td input,.testhole-table td select{border:1px solid var(--border-default);background:var(--bg-surface);width:100%;color:var(--fg-primary);font:inherit;padding:.25rem .45rem}.testhole-header-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.testhole-header-bar h2{margin:0}.save-chip{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--fg-primary);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;min-width:5.5rem;padding:.35rem .85rem;font-size:.85rem;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.save-chip.saving{color:var(--fg-muted);background:var(--bg-subtle)}.save-chip.saved{color:var(--success-fg);border-color:var(--success-border);background:var(--success-bg)}.testhole-summary{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1.25rem;padding:.95rem 1rem;display:grid}.testhole-summary label{color:var(--fg-secondary);text-align:center;flex-direction:column;gap:.25rem;min-width:0;font-size:.85rem;display:flex}.testhole-summary label>input,.testhole-summary label>select,.testhole-summary .input-ft input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--fg-primary);font:inherit;text-align:center;padding:.3rem .55rem;font-size:.95rem}.testhole-summary label>select{text-align-last:center}.testhole-summary .input-ft{display:block;position:relative}.testhole-summary .input-ft input{text-align:center;width:100%;padding-right:1.75rem}.testhole-summary .input-ft input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.testhole-summary .input-ft input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.testhole-summary .input-ft input[type=number]{appearance:textfield}.testhole-summary .input-ft .unit{color:var(--fg-muted);cursor:pointer;font-size:.8rem;font:inherit;background:0 0;border:1px solid #0000;border-radius:3px;padding:.1rem .35rem;font-size:.8rem;line-height:1;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.testhole-summary .input-ft .unit:hover,.testhole-summary .input-ft .unit:focus-visible{border-color:var(--border-strong);background:var(--bg-hover);color:var(--fg-primary);outline:none}.ft-picker{z-index:10000;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-menu);min-width:5.5rem;color:var(--fg-primary);position:fixed}.ft-picker-list{flex-direction:column;padding:.25rem 0;display:flex;overflow-y:auto}.ft-picker-row{font:inherit;color:var(--fg-primary);text-align:center;cursor:pointer;background:0 0;border:none;padding:.3rem .75rem;font-size:.9rem}.ft-picker-row:hover{background:var(--bg-hover)}.ft-picker-row.active{background:var(--info-bg);color:var(--info-fg);font-weight:600}.testhole-summary .hint{color:var(--fg-muted);font-size:.75rem}.testhole-table .derived-soil{border-radius:var(--radius-sm);background:var(--soil-info-bg);color:var(--soil-info-fg);padding:.25rem .6rem;font-size:.85rem;font-weight:500;display:inline-block}.testhole-table .derived-soil.testhole-depth{background:var(--soil-depth-bg);color:var(--soil-depth-fg)}.testhole-table .derived-soil.fill{background:var(--soil-fill-bg);color:var(--soil-fill-fg)}.testhole-summary .rock-pair{grid-template-columns:1fr 1fr;align-items:start;gap:.75rem;min-width:0;display:grid}.testhole-summary .rock-pair>*{min-width:0}.soil-select{align-items:center;gap:.25rem;width:100%;display:inline-flex}.soil-select input{flex:1;min-width:0}.soil-select-revert{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--fg-secondary);border-radius:var(--radius-sm);cursor:pointer;font:inherit;padding:.15rem .5rem;line-height:1}.soil-select-revert:hover{border-color:var(--border-strong);color:var(--fg-primary)}.testhole-section{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);margin-bottom:.9rem;overflow:hidden}.testhole-section-header{background:var(--bg-subtle);width:100%;color:var(--fg-primary);border:0;border-bottom:1px solid var(--border-subtle);cursor:pointer;text-align:left;font:inherit;align-items:center;gap:.7rem;padding:.7rem .95rem;display:flex}.testhole-section-header:hover{background:var(--bg-hover)}.testhole-section[data-collapsed=true] .testhole-section-header,.testhole-section .testhole-section-header[aria-expanded=false]{border-bottom-color:#0000}.testhole-section-toggle{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-default);width:1.4rem;height:1.4rem;color:var(--fg-secondary);flex:none;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex}.testhole-section-title{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.testhole-section-title h3{margin:0;font-size:1rem}.testhole-section-title .hint{color:var(--fg-muted);font-size:.78rem}.testhole-section-body{flex-direction:column;gap:.9rem;padding:.95rem 1rem;display:flex}.testhole-checklist{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.4rem 1rem;display:grid}.testhole-check{color:var(--fg-primary);cursor:pointer;align-items:center;gap:.5rem;font-size:.92rem;display:flex}.testhole-check input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}.header-actions{align-items:center;gap:.5rem;display:flex}.user-menu{position:relative}.user-menu-button{color:var(--fg-primary);border-radius:var(--radius-md);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:.4rem;max-width:240px;padding:.45rem .75rem;font-size:.9rem;display:inline-flex;overflow:hidden}.user-menu-button:hover{background:var(--bg-hover);border-color:var(--border-default)}.user-menu-button .caret{opacity:.6;font-size:.7rem}.menu{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);z-index:10;gap:2px;min-width:200px;padding:.3rem;display:grid;position:absolute;top:calc(100% + 6px);right:0}.menu-item{text-align:left;width:100%;color:var(--fg-primary);border-radius:var(--radius-sm);cursor:pointer;font:inherit;background:0 0;border:0;padding:.5rem .8rem;font-size:.9rem;text-decoration:none;display:block}.menu-item:hover{background:var(--bg-hover)}.menu-divider{background:var(--border-subtle);height:1px;margin:3px 0}.job-row{align-items:stretch;gap:.25rem;display:flex}.job-row .job-link{flex:1}.icon-btn{color:var(--fg-faint);cursor:pointer;opacity:0;border-radius:var(--radius-md);background:0 0;border:0;justify-content:center;align-items:center;padding:.5rem .6rem;transition:opacity .12s,color .12s,background .12s;display:flex}.job-row:hover .icon-btn,.job-row:focus-within .icon-btn{opacity:1}.icon-btn:hover{color:var(--danger-fg);background:var(--danger-bg)}.icon-btn:focus-visible{opacity:1;box-shadow:var(--focus-ring);outline:none}.editor-top{flex-wrap:wrap;align-items:center;gap:.9rem;width:100%;display:flex}.editor-top-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;margin-left:auto;display:flex}.editor-top-right .editable-title,.editor-top-right .editable-title-input{font-size:1rem;font-weight:500}.page-header>.save-chip{flex-shrink:0;margin-left:auto}.editor-header-right{flex-shrink:0;align-items:center;gap:.75rem;margin-left:auto;display:inline-flex}.editable-title{cursor:text;border-bottom:1px dashed #0000;margin:0;padding:0 2px;font-size:1.5rem;font-weight:700;line-height:1.2;transition:border-color .12s}.editable-title:hover{border-bottom-color:var(--border-dashed)}.editable-title-placeholder{color:var(--fg-faint);font-style:italic;font-weight:500}.editable-title-input{font:inherit;color:var(--fg-primary);border:0;border-bottom:1px solid var(--accent);background:0 0;outline:none;min-width:10ch;margin:0;padding:0 2px;font-size:1.5rem;font-weight:700;line-height:1.2}.settings-section{margin-bottom:2rem}.settings-section h2{letter-spacing:-.005em;margin:0 0 .5rem;font-size:1.1rem}.settings-section .hint{margin-top:0;margin-bottom:.75rem}.installer-list{gap:.45rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.installer-list li{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;padding:.6rem .85rem;display:flex}.installer-list .actions{gap:.4rem;display:flex}.installer-list .default-tag{color:var(--fg-muted);background:var(--bg-hover);border-radius:999px;margin-left:.4rem;padding:.1rem .5rem;font-size:.78rem}.theme-toggle{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);gap:2px;padding:3px;display:inline-flex}.theme-toggle-option{color:var(--fg-secondary);border-radius:calc(var(--radius-md) - 3px);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.85rem;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.theme-toggle-option:hover{color:var(--fg-primary)}.theme-toggle-option.active{background:var(--bg-surface);color:var(--fg-primary);box-shadow:var(--shadow-sm)}.theme-toggle-option.active:hover{background:var(--bg-surface)}.theme-switch{cursor:pointer;color:var(--fg-secondary);background:0 0;border:0;align-items:center;height:auto;margin:0;padding:0;line-height:1;display:inline-flex}.theme-switch:hover{color:var(--fg-primary)}.theme-switch:focus-visible{outline:none}.theme-switch:focus-visible .theme-switch-track{box-shadow:var(--focus-ring)}.theme-switch-track{background:var(--bg-subtle);border:1px solid var(--border-default);box-sizing:border-box;border-radius:999px;justify-content:space-between;align-items:center;width:52px;height:26px;padding:0 6px;transition:background .16s,border-color .16s,box-shadow .16s;display:inline-flex;position:relative}.theme-switch-icon{width:14px;height:14px;color:var(--fg-muted);pointer-events:none;z-index:0;justify-content:center;align-items:center;display:inline-flex}.theme-switch-thumb{background:var(--bg-surface);width:20px;height:20px;color:var(--accent);box-shadow:var(--shadow-sm);z-index:1;border-radius:999px;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.4,0,.2,1);display:inline-flex;position:absolute;top:2px;left:2px;transform:translate(0)}.theme-switch.is-dark .theme-switch-thumb{transform:translate(24px)}.theme-switch.is-dark .theme-switch-track{background:var(--bg-raised);border-color:var(--border-strong)}.segmented{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);box-sizing:border-box;max-width:100%;height:var(--control-h);min-height:var(--control-h);align-items:stretch;gap:2px;padding:3px;display:inline-flex}.segmented-sm{height:var(--control-h-sm);min-height:var(--control-h-sm)}.segmented.is-disabled{opacity:.55;cursor:not-allowed}.segmented-option{color:var(--fg-secondary);border-radius:calc(var(--radius-md) - 3px);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:auto;justify-content:center;align-items:center;gap:.35rem;min-width:0;padding:.4rem .75rem;font-size:.85rem;font-weight:500;line-height:1;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.segmented-option:hover:not(:disabled):not(.active){color:var(--fg-primary);background:var(--bg-hover)}.segmented-option:focus-visible{box-shadow:var(--focus-ring);z-index:1;outline:none}.segmented-option.active{background:var(--selected-bg);color:var(--selected-fg);box-shadow:var(--shadow-sm);font-weight:600}.segmented-option.active:hover{background:var(--selected-bg);color:var(--selected-fg)}.segmented-option:disabled{cursor:not-allowed;color:var(--fg-faint)}.segmented-sm .segmented-option{padding:.3rem .55rem;font-size:.8rem}.form label>.segmented,.form-grid label>.segmented,.form .field-card>.segmented,.testhole-summary label>.segmented{width:100%;display:flex}.form-grid>label.field-labeled{text-align:left;justify-items:stretch}.form-grid>label.field-labeled>.field-card-header{justify-content:space-between}select:not([multiple]):not([size]){appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--fg-muted) 50%), linear-gradient(135deg, var(--fg-muted) 50%, transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:1.75rem}.profile-scale-bar{align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.profile-scale-bar label{align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.profile-scale-bar select{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--fg-primary);height:auto;padding:.3rem .55rem}.profile-scale-hint{color:var(--fg-muted);font-size:.85rem;font-weight:400}.auth-page{max-width:380px;margin:6vh auto;padding:2rem 1.5rem}.auth-page h1{letter-spacing:-.01em;margin:0 0 1.25rem;font-size:1.5rem}.auth-page form{gap:.9rem;display:grid}.auth-page label{color:var(--fg-secondary);gap:.35rem;font-size:.9rem;display:grid}.auth-page .auth-links{color:var(--fg-muted);justify-content:space-between;gap:.5rem;margin-top:.85rem;font-size:.85rem;display:flex}.auth-page .auth-links a{color:var(--link);text-decoration:none}.auth-page .auth-links a:hover{color:var(--link-hover);text-decoration:underline}
