:root{--bg:#f4f6fa;--surface:#fff;--surface-2:#edf1f7;--ink:#0e1726;--ink-2:#4a5872;--ink-3:#8492a9;--line:#dde4ee;--focus-ring:#0f8b83;--accent:#0f8b83;--accent-hover:#0c6f68;--accent-soft:#e6f5f3;--ok:#177e4c;--ok-bg:#e7f6ee;--warn:#9a6a1b;--warn-bg:#fbf1df;--err:#c03b3b;--err-bg:#fbecec;--yellow:#c99700;--yellow-hover:#a87f00;--ok-hover:#12663d;--err-hover:#a32f2f;--new-bg:#effbf3;--new-bar:#177e4c;--info:#2b6588;--info-bg:#e5eff8;--sidebar:#102f37;--sidebar-ink:#c7d3e4;--sidebar-ink-2:#6b7c95;--sidebar-line:#c7d3e41a;--sidebar-hover:#c7d3e414;--sidebar-active:#194854;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:6px;--radius:8px;--radius-md:8px;--radius-lg:10px;--shadow-card:0 1px 2px #0e17260d, 0 1px 3px #0e172614}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button{font-family:inherit}code,.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}a{color:var(--accent)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}::-webkit-scrollbar-track{background:0 0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.user-management{padding:0}.user-management .page-head{margin-bottom:1.25rem}.user-management .page-head h1{margin-bottom:.35rem}.user-management .users-panel{overflow:hidden}.user-management .users-panel .panel-head{justify-content:space-between;align-items:center;display:flex}.user-management .user-count{color:#64748b;font-size:.8rem}.user-management .users-table{border-collapse:collapse;width:100%}.user-management .users-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.7rem .9rem;font-size:.75rem;font-weight:700}.user-management .users-table td{vertical-align:middle;border-bottom:1px solid #eef2f7;padding:.75rem .9rem}.user-management .users-table tbody tr:last-child td{border-bottom:none}.user-management .users-table tbody tr:hover{background:#f8fafc}.user-management .username-cell{color:#0f172a;font-weight:600}.user-management .role-badge,.user-management .status-badge{border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.user-management .role-badge{color:#475569;background:#f1f5f9}.user-management .status-badge.active{color:#166534;background:#dcfce7}.user-management .status-badge.inactive{color:#64748b;background:#f1f5f9}.user-management .created-cell{color:#64748b;font-size:.85rem}.user-management .actions{white-space:nowrap;gap:.4rem;display:flex}.user-management .actions .btn{margin:0!important}.user-management .delete-btn{color:#b91c1c}.user-management .form-panel{margin-bottom:1.25rem}.user-management .form-actions{gap:.5rem;margin-top:1rem;display:flex}.user-management .form-actions .btn{margin:0!important}.user-management .actions .btn{padding:.4rem .7rem;font-size:.78rem}.user-management .actions .btn:first-child{font-weight:600}.user-management .actions .btn:nth-child(2){color:#475569}.user-management .actions .delete-btn{color:#b91c1c;border-color:#fecaca}.user-management .actions .delete-btn:hover{background:#fef2f2;border-color:#fca5a5}.user-management .form-panel input,.user-management .form-panel select{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:7px;outline:none;width:100%;height:42px;padding:0 .85rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s,background .15s}.user-management .form-panel input::placeholder{color:#94a3b8}.user-management .form-panel input:hover,.user-management .form-panel select:hover{border-color:#94a3b8}.user-management .form-panel input:focus,.user-management .form-panel select:focus{background:#fff;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.user-management .form-panel select{cursor:pointer;appearance:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.shell{min-height:100vh;display:flex}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.shell-content{flex:1;width:100%;min-width:0;padding:24px}.sidebar{background:linear-gradient(180deg, var(--sidebar), #0b242b);width:232px;color:var(--sidebar-ink);z-index:30;flex-direction:column;flex:0 0 232px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--sidebar-line);align-items:center;gap:10px;padding:14px 16px 12px;display:flex}.sidebar-brand-mark{color:#fff;background:linear-gradient(135deg,#0b5cd6,#1e7be8);border-radius:9px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sidebar-brand-name{color:#f4f7fb;font-size:13px;font-weight:600;line-height:1.2}.sidebar-brand-sub{color:var(--sidebar-ink-2);letter-spacing:.05em;text-transform:uppercase;font-size:10.5px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:10px;display:flex}.nav-section{letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-ink-2);margin:12px 8px 4px;font-size:10.5px;font-weight:600}.nav-item{color:var(--sidebar-ink);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;line-height:1;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.nav-item svg{flex:0 0 16px}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:var(--sidebar-active);color:#fff}.sidebar-footer{border-top:1px solid var(--sidebar-line);color:var(--sidebar-ink-2);flex-direction:column;gap:3px;padding:12px 16px 14px;font-size:11px;display:flex}.sidebar-toggle{border:1px solid var(--sidebar-line);width:32px;height:32px;color:var(--sidebar-ink);cursor:pointer;background:0 0;border-radius:6px;flex:0 0 32px;margin:10px 12px 0 auto;padding:6px}.sidebar-toggle:hover{background:var(--sidebar-hover)}.sidebar-toggle:focus-visible,.sidebar .nav-item:focus-visible{outline-offset:-2px;outline:2px solid #9bd9d2}.sidebar-toggle svg{width:18px;height:18px;display:block}.sidebar--compact{flex-basis:64px;width:64px}.sidebar--compact .sidebar-toggle{margin:10px auto 0}.sidebar--compact .sidebar-brand{justify-content:center;padding:14px 0}.sidebar--compact .sidebar-brand-copy,.sidebar--compact .nav-section,.sidebar--compact .nav-label,.sidebar--compact .sidebar-footer{display:none}.sidebar--compact .sidebar-nav{padding:10px}.sidebar--compact .nav-item{justify-content:center;min-height:40px;padding:10px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;flex:0 0 64px;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 22px;display:flex;position:sticky;top:0}.topbar-title{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:15px;font-weight:400;overflow:hidden}.topbar-title b{color:var(--ink)}.topbar .topbar-search{border-radius:8px;flex:none;width:260px;max-width:260px;padding:10px;font-size:14px}.topbar-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.topbar-right .chip-muted{border:0;padding:4px 10px;font-size:12px;font-weight:400}.chip{letter-spacing:.02em;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:13px;font-weight:900;display:inline-flex}.chip-ok{background:var(--ok-bg);color:var(--ink);border-color:color-mix(in srgb, var(--ok) 25%, transparent)}.chip-err{background:var(--err-bg);color:var(--err);border-color:color-mix(in srgb, var(--err) 25%, transparent)}.chip-warn{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 25%, transparent)}.chip-accent{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 25%, transparent)}.chip-muted{background:var(--surface-2);color:var(--ink-2)}.chip-info{background:var(--info-bg);color:var(--info)}.page-title{letter-spacing:-.01em;color:var(--ink);margin:2px 0 4px;font-size:28px;font-weight:700}.page-sub{color:var(--ink-2);max-width:1100px;margin:0;font-size:14px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.panel-title{color:var(--ink);margin:0;font-size:13.5px;font-weight:600}.panel-body{min-width:0;padding:16px}.search{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;width:100%;max-width:420px;padding:6px 6px 6px 14px;transition:border-color .12s,box-shadow .12s;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:0;width:100%}.btn{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-danger{background:var(--err);border-color:var(--err);color:#fff}.btn-danger:hover{background:var(--err-hover);border-color:var(--err-hover)}.btn-edit{background:var(--ok);border-color:var(--ok);color:#fff}.btn-edit:hover{background:var(--ok-hover);border-color:var(--ok-hover)}.btn-warn{background:var(--yellow);border-color:var(--yellow);color:#fff}.btn-warn:hover{background:var(--yellow-hover);border-color:var(--yellow-hover)}.empty-state{text-align:center;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:64px 24px;display:flex}.empty-state h3{color:var(--ink-2);margin:0;font-size:15px;font-weight:600}.empty-state p{max-width:52ch;margin:0;font-size:13px}.dtable{border-collapse:collapse;width:100%;font-size:13px}.dtable thead th{background:var(--surface-2);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;z-index:1;padding:10px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.dtable tbody td{border-bottom:1px solid var(--line);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;max-width:320px;padding:10px 12px;overflow:hidden}.dtable tbody tr:hover{background:var(--surface-2)}.dtable .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dtable .cell-dim{color:var(--ink-3)}.dtable td:has(input){white-space:normal;overflow:visible}@media (width<=760px){.shell{flex-direction:column}.sidebar,.sidebar.sidebar--compact{flex-direction:row;flex:none;align-items:center;gap:4px;width:100%;height:auto;padding:8px 10px;position:static;overflow-x:auto}.sidebar-toggle,.sidebar--compact .sidebar-toggle{margin:0}.sidebar--compact .sidebar-brand{padding:0 6px 0 2px}.sidebar--compact .sidebar-nav{padding:0}.sidebar-brand{border-bottom:0;padding:0 6px 0 2px}.sidebar-nav{flex-direction:row;gap:4px;padding:0}.nav-section,.sidebar-footer{display:none}.nav-item{white-space:nowrap;padding:7px 10px;font-size:13px}.shell-content{padding:16px}.topbar{padding:0 16px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.page-head .page-title{margin-bottom:2px}.page-head .page-sub{margin-bottom:0}.avatar{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:50%;flex:0 0 26px;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:inline-flex}.topbar-user{border-left:1px solid var(--line);align-items:center;gap:8px;padding-left:10px;display:inline-flex}.topbar-user-name{color:var(--ink);font-size:13px;font-weight:600}@media (width<=760px){.topbar-user-name,.topbar-right>.chip:first-child{display:none}}.modal-input{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:9px 12px;font-size:14px}.modal-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.modal-input.input-error{border-color:var(--err)}.modal-input.input-error:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--err) 25%, transparent)}.modal-input:disabled{background:var(--surface-2,var(--surface));color:var(--ink-3);cursor:not-allowed}.field-error{color:var(--err);margin-top:4px;font-size:12px;display:block}.field-hint{color:var(--ink-3);margin-top:4px;font-size:11.5px;display:block}.modal-overlay{z-index:50;background:#0a1e2373;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(820px,100%);max-height:88vh;padding:18px;animation:.12s ease-out modal-in;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal-title{color:var(--ink);margin:2px 0 0;font-size:20px;font-weight:700}.modal-note{color:var(--ink-2);margin:10px 0 0;font-size:13px}.modal-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.modal-field label{color:var(--ink-2);margin-bottom:4px;font-size:11px;display:block}.modal-actions{justify-content:flex-end;margin-top:14px}@media (width<=900px){.modal-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.modal-grid{grid-template-columns:1fr}}.account-menu{position:relative}.account-trigger{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:1px solid #0000;padding:4px 8px}.account-trigger:hover{background:var(--surface-2);border-color:var(--line)}.account-dropdown{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:190px;box-shadow:var(--shadow-card);z-index:60;padding:4px;animation:.12s ease-out modal-in;position:absolute;top:calc(100% + 6px);right:0}.account-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:13px;font-weight:500;display:block}.account-item:hover{background:var(--surface-2)}.account-item-danger{color:var(--err)}.account-item-danger:hover{background:var(--err-bg)}.pw-form .warning-note{margin:0 0 4px}.pw-form label{display:block}.pw-form .modal-input{width:100%;margin:6px 0 14px}.pw-match{min-height:18px;font-size:12px;font-weight:600}.pw-match-ok{color:var(--ok)}.pw-match-err{color:var(--err)}.pw-success{background:var(--ok-bg);border:1px solid color-mix(in srgb, var(--ok) 25%, transparent);border-radius:var(--radius-md);color:var(--ok);margin:0;padding:14px;font-size:13px;font-weight:600}@media (width<=900px){.topbar-search{display:none}}@media (width<=600px){.topbar .btn,.topbar-user-name{display:none}}.grid{gap:13px;display:grid}.grid>.panel{min-width:none}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-23{grid-template-columns:2fr 1fr}.metric-num{margin:2px 0;font-size:27px;font-weight:850}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800}.metric small{color:var(--ink-3);font-size:12px}.stat-mini{border-collapse:collapse;width:100%;font-size:12.5px}.stat-mini td{color:var(--ink-2);border-bottom:1px solid var(--line);padding:8px}.stat-mini td:last-child{color:var(--ink)}.warning-note{border-left:4px solid var(--warn);background:var(--warn-bg);color:var(--warn);border-radius:6px;padding:10px 12px;font-size:13px}.import-note{border-left:4px solid var(--ok);background:var(--ok-bg);color:var(--ok);border-radius:6px;margin:10px 0;padding:10px 12px;font-size:13px}.page-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.excel-file-chip{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:999px;align-items:center;gap:8px;max-width:320px;padding:6px 8px 6px 12px;display:inline-flex}.excel-file-name{color:var(--accent-hover);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex;overflow:hidden}.excel-file-remove{width:22px;height:22px;color:var(--accent-hover);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;padding:0;display:inline-flex}.excel-file-remove:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.grid+.grid{margin-top:13px}.panel-head{flex-wrap:wrap}.panel-head.no-divider{border-bottom:none}.panel-head.no-divider+.panel-body{padding-top:0}.panel-head .search{flex:none;width:280px;max-width:280px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.register-table{font-size:13px}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.register-table thead th{text-transform:none;font-size:12.5px;font-weight:600}.register-table tbody tr:hover{background:var(--accent-soft)}.empty-row{text-align:center;color:var(--ink-3);padding:20px 8px;font-size:13px}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-panel{background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:12px;display:flex}@media (width<=900px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-23{grid-template-columns:1fr}}.form-field label{color:var(--ink-2);font-size:12px;font-weight:600;display:block}.form-field input,.form-field textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:9px 12px;font-size:14px}.form-field input:focus,.form-field textarea:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-card);padding:32px 28px}.login-heading b{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:800;display:block}.login-heading h1{letter-spacing:-.01em;color:var(--ink);margin:6px 0 4px;font-size:22px;font-weight:700}.login-heading p{color:var(--ink-2);margin:0 0 18px;font-size:13px}.login-panel form{flex-direction:column;gap:6px;display:flex}.login-panel form label{color:var(--ink-2);margin-top:8px;font-size:12px;font-weight:600}.login-panel form input{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px;font-size:14px}.login-panel form input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.login-error{border:1px solid color-mix(in srgb, var(--err) 30%, transparent);border-radius:var(--radius-md);background:var(--err-bg);color:var(--err);margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.45}.login-panel form button{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent);color:#fff;font:inherit;cursor:pointer;justify-content:center;align-items:center;margin-top:14px;padding:10px 14px;font-size:14px;font-weight:600;transition:background-color .12s,border-color .12s;display:inline-flex}.login-panel form button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.login-panel form button:disabled{opacity:.6;cursor:not-allowed}.projectbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:13px 15px;display:flex}.projectbar-title{color:var(--ink);margin:2px 0;font-size:20px;font-weight:700}.projectbar-meta{color:var(--ink-3);font-size:12px}.tabs{border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:2px;min-width:0;margin-bottom:16px;display:flex;overflow-x:auto}.tab{color:var(--ink-2);cursor:pointer;white-space:nowrap;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:12px 16px;font-size:13.5px;line-height:1.3}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent);border-color:var(--accent);font-weight:700}.tab-badge{margin-left:6px;padding:2px 6px;font-size:10px;font-weight:700}.field-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:16px;min-width:0;display:grid}.field-layout>div:last-child{min-width:0}.catalog{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:10px;display:flex}.catalog .item{text-align:left;width:100%;font:inherit;border-radius:var(--radius-sm);cursor:pointer;color:var(--ink-2);background:0 0;border:1px solid #0000;margin:0;padding:10px 12px;font-size:12.5px;font-weight:600;transition:background-color .12s,border-color .12s;display:block}.catalog .item:hover,.catalog .item.active{background:var(--accent-soft);color:var(--accent-hover);font-weight:700}.catalog .item.active{border-color:var(--accent)}.modebar{-webkit-overflow-scrolling:touch;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;margin-bottom:14px;padding:12px;display:flex;overflow-x:auto}.modebar b{color:var(--ink-2);white-space:nowrap;flex-shrink:0;margin-right:4px;font-size:12px}.mode{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);font:inherit;cursor:pointer;color:var(--ink);white-space:nowrap;flex:none;padding:8px 14px;font-size:12.5px;font-weight:600;transition:background-color .12s,border-color .12s}.mode:hover{background:var(--surface);border-color:var(--accent)}.mode.active{background:var(--sidebar);color:#fff;border-color:var(--sidebar)}.modebar-spacer{flex:1}.module-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-subtitle{color:var(--ink);margin:0;font-size:14px;font-weight:700}.spt-entry-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:16px;padding:14px}.spt-entry-grid .table-scroll{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);max-height:46vh;overflow-y:auto}.spt-entry-grid .modal-input{min-width:74px}.spt-entry-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}@media (width<=600px){.spt-entry-footer{flex-direction:column;align-items:flex-start}}.add-record-form{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);margin-bottom:16px;padding:16px}.add-record-form .form-grid{margin-top:0}.btn-sm{padding:6px 10px;font-size:12px}.viewgrid{grid-template-columns:1.15fr .85fr;align-items:start;gap:13px;margin-top:13px;display:grid}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px 16px;margin-top:13px;display:grid}.form-grid label{flex-direction:column;gap:6px;display:flex}.add-record-form .eyebrow,.form-grid .eyebrow,.form-field .eyebrow,.lab-test-form-field .eyebrow,.pw-form .eyebrow,.overview-edit-fields .eyebrow{color:var(--ink-2)}.form-grid input{box-sizing:border-box;width:100%}@media (width<=700px){.form-grid{grid-template-columns:1fr}}.subtabs{flex-wrap:wrap;gap:6px;margin:0;display:flex}.subtab{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);color:var(--ink-2);padding:7px 9px;font-size:12px}.subtab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover);font-weight:700}.plotbox{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);height:390px;position:relative;overflow:hidden}.empty-plot{text-align:center;color:var(--ink-3);justify-content:center;align-items:center;padding:20px;font-size:13px;display:flex}.info-note{border-left:4px solid var(--info);background:var(--info-bg);border-radius:var(--radius-sm);color:var(--info);margin:10px 0 0;padding:10px 12px;font-size:12.5px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-32{grid-template-columns:1fr 2fr}.report-paper{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);min-height:340px;padding:18px}.report-title{text-align:center;border-bottom:2px solid var(--ink-2);margin-bottom:10px;padding-bottom:8px}.report-title b{color:var(--ink);font-size:13px}.paper-sub{color:var(--ink-3);font-size:11.5px}.paper-plot{border:1px dashed var(--line);border-radius:var(--radius-sm);text-align:center;color:var(--ink-3);margin-top:10px;padding:24px 12px;font-size:12px}.paper-note{color:var(--ink-3);margin:10px 0 0;font-size:11.5px}.statgrid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.stat{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px}.stat small{color:var(--ink-3);font-size:11px}.stat b{color:var(--ink);margin-top:2px;font-size:16px;display:block}.pane-h4{color:var(--ink);margin:14px 0 6px;font-size:13px;font-weight:600}.confidence{background:var(--surface-2);border:1px solid var(--line);border-radius:99px;height:9px;overflow:hidden}.confidence span{background:var(--accent);height:100%;display:block}.module-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:13px;display:grid}.module{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:12px}.module b{color:var(--ink);font-size:13px;display:block}.module small{color:var(--ink-3);margin-top:3px;font-size:11.5px;display:block}.module.future{border:1px dashed var(--ink-3);background:var(--bg)}.flow{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.gate{border:1px solid var(--line);border-radius:var(--radius-md);text-align:center;background:var(--surface);color:var(--ink-3);padding:9px 5px;font-size:11px;position:relative}.gate b{color:var(--ink)}.modal-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--surface,#fff);border:1px solid var(--border,#d9dee7);border-radius:12px;width:min(520px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 20px 50px #0000002e}.modal .panel-head{background:var(--surface,#fff);border-bottom:1px solid var(--border,#d9dee7);z-index:1;position:sticky;top:0}.modal form{margin:0}.modal .panel-body{flex-direction:column;gap:16px;display:flex}.modal label{flex-direction:column;gap:6px;display:flex}.modal input,.modal select{box-sizing:border-box;width:100%;font:inherit;height:41px;color:inherit;background:var(--surface,#fff);border:1px solid var(--line,#d1d5db);border-radius:var(--radius-md,8px);padding:9px 12px;font-size:14px;line-height:1.5}.modal input:focus,.modal select:focus{border-color:var(--focus-ring,#0f8b83);box-shadow:0 0 0 3px var(--accent-soft,#e6f5f3);outline:none}.modal select{cursor:pointer}.modal .eyebrow{color:var(--ink-2,#4a5872)}.modal-wide{width:min(720px,100%)}.modal-group{text-transform:uppercase;letter-spacing:.1em;color:var(--accent,#0f8b83);margin:18px 0 7px;font-size:11px;font-weight:800}.modal-group:first-child{margin-top:0}.modal .actions{justify-content:flex-end;margin-top:8px}@media (width<=900px){.field-layout{grid-template-columns:1fr}.catalog{flex-direction:row;overflow-x:auto}.catalog .item{white-space:nowrap}.viewgrid,.grid-2,.grid-3,.grid-32,.module-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.module-grid,.flow{grid-template-columns:1fr}}.modal-form{flex-direction:column;gap:18px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-field{flex-direction:column;gap:7px;display:flex}.form-field label{color:#374151;font-size:13px;font-weight:600}.form-field input,.form-field select{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;height:42px;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-field input::placeholder{color:#9ca3af}.form-field input:hover,.form-field select:hover{border-color:#9ca3af}.form-field input:focus,.form-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.field-hint{color:#6b7280;font-size:12px}.field-error{color:#dc2626;font-size:12px}.overview-grid{grid-template-columns:1fr 1fr;gap:10px;min-width:0;display:grid}.overview-section{border:1px solid var(--border,#d9e0e5);background:#fff;border-radius:8px;min-width:0;padding:10px 12px}.overview-section-wide{grid-column:1/-1}.overview-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#667085);margin-bottom:8px;font-size:11px;font-weight:700}.overview-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 18px;display:grid}.overview-fields-five{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-fields-three{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-fields>div{min-width:0}.overview-fields span{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#667085);margin-bottom:2px;font-size:10px;font-weight:600;display:block}.overview-fields strong{color:var(--text,#1f2933);overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.25;display:block}@media (width<=900px){.overview-grid{grid-template-columns:1fr}.overview-section-wide{grid-column:auto}.overview-fields-five,.overview-fields-three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.overview-fields,.overview-fields-five,.overview-fields-three{grid-template-columns:1fr}}.overview-edit-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.overview-edit-grid .overview-section-wide{grid-column:1/-1}.overview-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.overview-edit-fields-five{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-edit-fields label{flex-direction:column;gap:6px;min-width:0;display:flex}.overview-edit-fields label span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#667085);font-size:10.5px;font-weight:700}.overview-edit-fields input,.overview-edit-fields select,.overview-edit-fields textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;min-height:36px;padding:8px 10px;font-size:13px;line-height:1.4;transition:border-color .12s,box-shadow .12s}.overview-edit-fields input:focus,.overview-edit-fields select:focus,.overview-edit-fields textarea:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.overview-edit-fields input:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}.overview-edit-fields textarea{resize:vertical;min-height:68px;font-family:inherit}.overview-edit-grid .overview-section{padding:14px 16px}.overview-edit-grid .overview-section-title{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:8px;font-size:11.5px}@media (width<=900px){.overview-edit-grid{grid-template-columns:1fr}.overview-edit-grid .overview-section-wide{grid-column:auto}.overview-edit-fields-five{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.overview-edit-fields,.overview-edit-fields-five{grid-template-columns:1fr}}.borehole-records-scroll{border:1px solid var(--border,#d9e0e5);background:#fff;border-radius:8px;max-height:360px;overflow:auto}.borehole-records-scroll thead th{z-index:5;background:#eef3f7;position:sticky;top:0}.borehole-records-scroll table{min-width:760px;margin:0}.borehole-profile-panel{border:1px solid var(--border,#d9e0e5);background:#fff;border-radius:8px;margin-top:14px;padding:14px}.borehole-profile-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.borehole-profile-header .panel-subtitle{margin:0 0 3px}.borehole-profile-header .page-sub{margin:0}.profile-depth-summary{text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#667085);flex-direction:column;align-items:flex-end;font-size:9px;font-weight:600;display:flex}.profile-depth-summary strong{color:var(--text,#1f2933);margin-top:2px;font-size:14px;font-weight:700}.borehole-profile-chart{border:1px solid var(--border,#d9e0e5);background:#f8fafb;border-radius:7px;grid-template-columns:70px minmax(0,1fr);height:520px;display:grid;overflow:hidden}.profile-scale{background:#f7f9fa;border-right:1px solid #cbd5dc;position:relative}.profile-scale-title{text-align:center;color:#344054;z-index:10;width:100%;font-size:10px;font-weight:700;position:absolute;top:9px;left:0}.profile-scale-title span{margin-top:1px;font-size:9px;font-weight:500;display:block}.profile-scale-tick{width:100%;height:1px;position:absolute;left:0;transform:translateY(-50%)}.profile-scale-tick span{text-align:right;color:#475467;width:42px;font-size:9px;font-weight:600;position:absolute;left:0;transform:translateY(-50%)}.profile-scale-tick i{background:#475467;width:16px;height:1px;position:absolute;right:0}.profile-strata{background:repeating-linear-gradient(#47556914 0 1px,#0000 1px 20px);min-width:0;height:100%;position:relative;overflow:hidden}.profile-layer{box-sizing:border-box;border-top:1px solid #1f293747;border-bottom:1px solid #1f293747;transition:filter .12s,box-shadow .12s;position:absolute;left:0;right:0;overflow:hidden}.profile-layer:hover{filter:brightness(.97);box-shadow:inset 0 0 0 1px #1f29372e}.profile-layer-content{box-sizing:border-box;align-items:center;gap:12px;width:100%;height:100%;padding:6px 14px;display:flex}.profile-layer-content strong{color:#17212b;overflow-wrap:anywhere;font-size:11px;font-weight:700;line-height:1.2}.profile-layer-depth{white-space:nowrap;color:#344054;flex:none;font-size:9px;font-weight:600}.profile-material{text-transform:uppercase;letter-spacing:.04em;color:#344054;white-space:nowrap;background:#ffffffd1;border:1px solid #1f29371f;border-radius:999px;flex:none;margin-left:auto;padding:3px 9px;font-size:8px;font-weight:700}.profile-layer-0{background-color:#f5d77a;background-image:radial-gradient(#825c1440 1px,#0000 1px);background-size:9px 9px}.profile-layer-1{background-color:#6fc4e5;background-image:repeating-linear-gradient(0deg,#0000,#0000 7px,#145a7824 8px)}.profile-layer-2{background-color:#dcbc8f;background-image:radial-gradient(#78522338 1px,#0000 1px);background-size:8px 8px}.profile-layer-3{background-color:#9fc9a9;background-image:repeating-linear-gradient(45deg,#0000,#0000 8px,#2d64371f 9px)}.profile-layer-4{background-color:#c7b2e3;background-image:repeating-linear-gradient(-45deg,#0000,#0000 9px,#50326e21 10px)}.profile-layer-5{background-color:#aeb7bf;background-image:radial-gradient(#37414b38 1px,#0000 1px);background-size:10px 10px}@media (width<=700px){.borehole-profile-chart{grid-template-columns:52px minmax(0,1fr);height:440px}.profile-layer-content{gap:6px;padding:5px 8px}.profile-layer-depth{display:none}.profile-layer-content strong{font-size:10px}.profile-material{padding:2px 6px;font-size:7px}}.sampling-view-tabs{gap:6px;margin-bottom:12px;display:flex}.sampling-view-tab{cursor:pointer;background:#f5f5f5;border:1px solid #ccc;border-radius:4px 4px 0 0;padding:8px 18px}.sampling-view-tab.active{background:#fff;border-bottom:2px solid #333;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-sizing:border-box;min-width:0;padding:16px}.lab-data-tabs{border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:2px;min-width:0;margin-bottom:16px;padding:0;display:flex;overflow:auto hidden}.lab-data-tab{color:var(--ink-2);cursor:pointer;white-space:nowrap;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:none;padding:12px 16px;font-size:13.5px;line-height:1.3}.lab-data-tab:hover{color:var(--ink)}.lab-data-tab.active{color:var(--accent);border-bottom:3px solid var(--accent);background:0 0;margin-bottom:-1px;font-weight:700}.lab-data-tab-content{width:100%;min-width:0}.lab-overview{width:100%}.lab-overview-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.lab-overview-header h3{color:var(--ink);margin:0 0 4px;font-size:18px;font-weight:700}.lab-overview-actions{flex-wrap:wrap;gap:8px;display:flex}.lab-overview-refresh-button,.lab-overview-add-button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:8px 14px;font-size:13px;font-weight:600;transition:background-color .12s,border-color .12s;display:inline-flex}.lab-overview-refresh-button:hover{background:var(--surface-2)}.lab-overview-add-button{background:var(--accent);border-color:var(--accent);color:#fff}.lab-overview-add-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.lab-overview-refresh-button:disabled,.lab-overview-add-button:disabled{opacity:.6;cursor:not-allowed}.lab-overview-summary{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px;display:grid}.lab-overview-summary .card{min-height:90px;padding:14px 16px}.lab-overview-grid{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px;display:grid}.lab-overview h4{color:var(--ink);margin:0 0 10px;font-size:14px;font-weight:700}.lab-summary-label{color:var(--ink-3);margin-bottom:4px;font-size:12px}.lab-summary-value{color:var(--ink);font-size:26px;font-weight:700;line-height:1.1}@media (width<=900px){.lab-overview-summary{grid-template-columns:repeat(2,1fr)}.lab-overview-grid{grid-template-columns:1fr}}@media (width<=600px){.lab-overview-summary{grid-template-columns:1fr}.lab-overview-actions{width:100%}.lab-overview-actions button{flex:1 1 0}}.lab-status{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.lab-status-approved,.lab-status-published{background:var(--ok-bg);color:var(--ink);border-color:color-mix(in srgb, var(--ok) 25%, transparent)}.lab-status-submitted,.lab-status-checked{background:var(--info-bg);color:var(--info);border-color:color-mix(in srgb, var(--info) 25%, transparent)}.lab-status-draft,.lab-status-calculated{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 25%, transparent)}.lab-status-rejected{background:var(--err-bg);color:var(--err);border-color:color-mix(in srgb, var(--err) 25%, transparent)}.lab-status-returned{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 25%, transparent)}.lab-status-superseded,.lab-status-void{background:var(--surface-2);color:var(--ink-3);border-color:var(--line)}.lab-work-table-wrap{margin-top:8px;overflow-x:auto}.lab-work-table,.results-table{border-collapse:collapse;width:100%;font-size:13px}.lab-work-table thead th,.results-table thead th{background:var(--surface-2);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;z-index:1;padding:10px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.lab-work-table tbody td,.results-table tbody td{border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle;white-space:nowrap;padding:10px 12px}.lab-work-table tbody tr:hover,.results-table tbody tr:hover{background:var(--surface-2)}.results-table td input{width:100%;min-height:34px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-sizing:border-box;text-align:right;border-radius:6px;padding:6px 9px;font-size:13px}.results-table td input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.results-table .calculated-cell{color:var(--ink);font-weight:500;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.lab-sample-primary{color:var(--ink);white-space:nowrap;font-weight:600}.lab-sample-secondary{color:var(--ink-3);margin-top:4px;font-size:12px}.lab-work-action{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.lab-work-action:hover{background:var(--surface-2)}.lab-completion-list{flex-direction:column;gap:16px;margin-top:8px;display:flex}.lab-completion-item{flex-direction:column;gap:6px;display:flex}.lab-completion-header{justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.lab-completion-header span{color:var(--ink-2);font-weight:600}.lab-completion-header strong{color:var(--ink);font-size:12px}.lab-progress-track{background:var(--surface-2);border-radius:999px;width:100%;height:8px;overflow:hidden}.lab-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .25s}.lab-completion-percent{color:var(--ink-3);font-size:11px}.lab-register-filters{grid-template-columns:1.1fr 1.1fr 1.1fr 1.4fr;gap:14px;margin:16px 0;display:grid}.lab-register-filters label{flex-direction:column;gap:6px;min-width:0;display:flex}.lab-register-filters label span{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-size:11px;font-weight:700}.lab-register-filters select,.lab-register-filters input{width:100%;min-height:38px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:13px}.lab-register-filters select:focus,.lab-register-filters input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft);outline:none}@media (width<=900px){.lab-register-filters{grid-template-columns:1fr 1fr}}@media (width<=600px){.lab-register-filters{grid-template-columns:1fr}}.lab-sample-groups{flex-direction:column;gap:13px;margin-top:16px;display:flex}.lab-sample-group{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.lab-sample-group-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.lab-sample-group-header h4{color:var(--ink);margin:0;font-size:15px;font-weight:700}.lab-sample-group-header span{background:var(--surface-2);color:var(--ink-2);border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.lab-sample-group .table-scroll{overflow-x:auto}.lab-sample-group table{border-collapse:collapse;width:100%;font-size:13px}.lab-sample-group thead th{background:var(--surface-2);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.lab-sample-group tbody td{border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle;padding:10px 12px}.lab-sample-group tbody tr:hover{background:var(--surface-2)}.lab-sample-group .button-secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:600}.lab-sample-group .button-secondary:hover{background:var(--surface-2)}.lab-sample-empty{text-align:center;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.lab-sample-empty-icon{color:var(--ink-3);margin-bottom:4px;font-size:26px}.lab-sample-empty h4{color:var(--ink-2);margin:0;font-size:15px}.lab-sample-empty p{max-width:52ch;margin:0;font-size:13px}.lab-test-register{width:100%}.lab-test-register-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.lab-test-register-title{align-items:flex-start;gap:10px;display:flex}.lab-test-register-title-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:8px;flex:0 0 32px;justify-content:center;align-items:center;font-size:18px;display:flex}.lab-test-register-title h3{color:var(--ink);margin:0;font-size:18px;font-weight:700}.lab-test-register-title p{color:var(--ink-2);margin:4px 0 0;font-size:13px}.lab-test-back-button,.lab-test-create-button,.lab-test-cancel-button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.lab-test-back-button:hover,.lab-test-cancel-button:hover{background:var(--surface-2)}.lab-test-create-button{background:var(--accent);border-color:var(--accent);color:#fff}.lab-test-create-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.lab-test-create-button:disabled,.lab-test-cancel-button:disabled,.lab-test-back-button:disabled{opacity:.6;cursor:not-allowed}.lab-selected-sample,.lab-test-details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;margin-bottom:16px;padding:16px}.lab-selected-sample-title,.lab-test-details-header{align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.lab-selected-sample-title-icon,.lab-test-details-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:7px;flex:0 0 28px;justify-content:center;align-items:center;font-size:15px;display:flex}.lab-selected-sample-title h4,.lab-test-details-header h4{color:var(--ink);margin:0;font-size:14px;font-weight:700}.lab-test-details-header p{color:var(--ink-2);margin:3px 0 0;font-size:12px}.lab-selected-sample-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.lab-selected-sample-item{min-width:0}.lab-selected-sample-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:4px;font-size:10px;font-weight:700}.lab-selected-sample-value{color:var(--ink);font-size:15px;font-weight:600;line-height:1.25}@media (width<=900px){.lab-selected-sample-grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.lab-selected-sample-grid{grid-template-columns:1fr}}.lab-test-form-grid{grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:16px;display:grid}.lab-test-form-field{min-width:0}.lab-test-form-field label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.lab-test-required{color:var(--err);margin-left:3px}.lab-test-form-field input,.lab-test-form-field select{width:100%;min-height:38px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:13px}.lab-test-form-field input:focus,.lab-test-form-field select:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.lab-test-form-help{color:var(--ink-3);margin-top:5px;font-size:11px;line-height:1.4}.lab-test-form-error{border-left:4px solid var(--err);background:var(--err-bg);color:var(--err);border-radius:6px;margin:12px 0;padding:10px 12px;font-size:13px}.lab-test-form-actions{border-top:1px solid var(--line);gap:10px;padding-top:16px;display:flex}@media (width<=900px){.lab-test-form-grid{grid-template-columns:1fr}}@media (width<=600px){.lab-test-form-actions{flex-direction:column;align-items:stretch}.lab-test-form-actions button{width:100%}}.lab-test-types{flex-direction:column;gap:8px;margin-top:6px;display:flex}.lab-test-type-row{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:minmax(200px,240px) minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.lab-test-type-row.checked{border-color:var(--accent);background:var(--accent-soft)}.lab-test-type-row.collision{border-color:var(--err);background:var(--err-bg)}.lab-test-type-collision{border-left:3px solid var(--err);background:var(--err-bg);color:var(--err);border-radius:6px;grid-column:1/-1;margin-top:6px;padding:8px 10px;font-size:12px;line-height:1.4}.lab-test-type-toggle{cursor:pointer;color:var(--ink);align-items:center;gap:10px;margin:0;font-size:13px;font-weight:600;display:flex}.lab-test-type-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.lab-test-type-row select{width:100%;min-height:36px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:6px;padding:7px 10px;font-size:13px}.lab-test-type-row select:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}.lab-test-types-summary{color:var(--ink-3);margin-top:8px;font-size:12px}.lab-existing-tests{margin-bottom:16px}@media (width<=600px){.lab-test-type-row{grid-template-columns:1fr;gap:8px}}.results-entry{width:100%;min-width:0;min-height:0;color:var(--ink)}.results-entry-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.results-entry-header-left{min-width:0;max-width:850px}.results-entry-eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800}.results-entry-title{letter-spacing:-.01em;color:var(--ink);margin:2px 0 4px;font-size:24px;font-weight:700}.results-entry-description{max-width:850px;color:var(--ink-2);margin:0;font-size:14px;line-height:1.5}.results-entry-actions{flex-wrap:wrap;gap:8px;display:flex}.results-entry-actions button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;padding:8px 14px;font-size:13px;font-weight:600}.results-entry-actions button:hover{background:var(--surface-2)}.results-entry-actions .primary-action{background:var(--accent);border-color:var(--accent);color:#fff}.results-entry-actions .primary-action:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.results-workflow{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px;display:grid}.workflow-item{text-align:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-height:60px;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 10px;display:flex}.workflow-item.active{background:var(--sidebar);border-color:var(--sidebar);color:#fff}.workflow-item.done{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--ink);font-weight:600}.workflow-item.pending{background:var(--surface-2);color:var(--ink-3);border-style:dashed}.workflow-head{align-items:center;gap:8px;display:flex}.workflow-number{font-size:12px;font-weight:500}.workflow-item strong{font-size:13px}.workflow-caption{opacity:.85;font-size:11px;line-height:1.25}.workflow-item-button{width:100%;font:inherit;cursor:pointer;text-align:center;color:inherit;background:0 0}.workflow-item-button:hover{border-color:var(--accent)}@media (width<=900px){.results-workflow{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.results-workflow{grid-template-columns:repeat(2,1fr)}}.results-entry-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:16px;min-width:0;display:grid}.results-entry-layout>*{min-width:0}@media (width<=900px){.results-entry-layout{grid-template-columns:1fr}}.results-main{min-width:0}.catalog-ags{float:right;color:var(--ink-3);margin-left:8px;font-size:12px;font-weight:600}.results-card,.simple-method-panel,.flow-curve-card,.reported-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;padding:16px}.results-card,.simple-method-panel{margin-bottom:13px}.results-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.results-card-header h2{color:var(--ink);margin:0;font-size:15px;font-weight:700}.ags-label{color:var(--info);white-space:nowrap;font-size:12px}.revision-badge{background:var(--info-bg);color:var(--info);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.consolidation-tabs{flex-wrap:wrap;gap:6px;margin-bottom:13px;display:flex}.consolidation-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:6px;padding:7px 13px;font-size:12.5px;font-weight:600}.consolidation-tabs button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover);font-weight:700}.identity-grid,.method-grid,.consolidation-input-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-size:11px;font-weight:700}.results-entry input,.results-entry select{width:100%;min-height:38px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:13px}.results-entry input:focus,.results-entry select:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft);outline:none}@media (width<=1200px){.identity-grid,.method-grid,.consolidation-input-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.identity-grid,.method-grid,.consolidation-input-grid{grid-template-columns:1fr}}.atterberg-bottom{grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr);gap:13px;margin-top:13px;display:grid}@media (width<=900px){.atterberg-bottom{grid-template-columns:1fr}}.flow-curve-card h3,.reported-card h3{color:var(--ink);margin:0 0 12px;font-size:15px;font-weight:700}.flow-chart{border:1px solid var(--line);background:var(--surface);border-radius:6px;height:300px;position:relative}.flow-svg{width:100%;height:100%;display:block}.chart-grid{stroke:var(--line);stroke-width:1px}.flow-line{stroke:var(--info);stroke-width:3px;fill:none}.flow-point{fill:var(--accent)}.blow-line{stroke:var(--warn);stroke-width:2px;stroke-dasharray:6 5}.chart-label{fill:var(--warn);font-size:12px}.chart-y-label{color:var(--ink-3);font-size:12px;position:absolute;top:14px;left:12px}.chart-x-label{color:var(--ink-3);font-size:12px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.reported-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:42px;padding:0 4px;font-size:14px;display:flex}.reported-row:last-child{border-bottom:0}.reported-row strong{color:var(--ink);font-size:15px}.classification-note{border-left:4px solid var(--warn);background:var(--warn-bg);color:var(--warn);border-radius:6px;margin-top:12px;padding:10px 12px;font-size:12.5px;line-height:1.5}.use-button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;font-size:13px}.use-button.active{color:var(--ink);font-weight:600}.container-cell{color:var(--ink-2)}.consolidation-table{min-width:900px}.consolidation-table td input{min-width:160px}.graph-panel{padding-top:6px}.graph-panel h3,.cv-panel h3{margin:0 0 12px;font-size:15px;font-weight:700}.elog-chart{border:1px solid var(--line);background:var(--surface);border-radius:6px;height:320px}.elog-line{transform-origin:0;background:var(--info);width:70%;height:3px;position:absolute;top:68%;left:12%;transform:rotate(-22deg)}.graph-summary{background:var(--surface-2);color:var(--ink-2);border-radius:6px;margin-top:12px;padding:12px;font-size:13px}.results-input-bar{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:13px;padding:10px 12px;display:flex}.cv-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}@media (width<=900px){.cv-grid{grid-template-columns:1fr}}.cv-card{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:14px}.cv-card h4{color:var(--ink);margin:0 0 10px;font-size:14px;font-weight:700}.mini-chart{border:1px solid var(--line);border-radius:6px;height:140px;margin-bottom:10px;position:relative;overflow:hidden}.mini-line{transform-origin:0;background:var(--info);width:75%;height:3px;position:absolute;top:70%;left:10%;transform:rotate(-25deg)}.mini-line.second{top:55%;transform:rotate(-15deg)}.re-subhead{color:var(--ink);margin:12px 0 6px;font-size:13px;font-weight:700}.re-add{margin-top:10px}.re-muted{color:var(--ink-3);margin:4px 0;font-size:12px}.re-ok{color:var(--ok);font-size:12px}.re-warn{color:var(--warn);font-size:12px}.re-issue{border-radius:6px;margin:4px 0;padding:6px 10px;font-size:12px}.re-issue.re-error{background:var(--err-bg);color:var(--err)}.re-issue.re-warning{background:var(--warn-bg);color:var(--warn)}.re-issue.re-info{background:var(--info-bg);color:var(--info)}.re-notice{background:var(--surface-2);color:var(--ink-2);border-radius:6px;margin-top:10px;padding:10px 12px;font-size:12.5px}.re-note{border-left:4px solid var(--info);background:var(--info-bg);color:var(--info);border-radius:6px;margin-top:12px;padding:10px 12px;font-size:12.5px;line-height:1.5}.re-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:13px;display:grid}@media (width<=900px){.re-metrics{grid-template-columns:1fr}}.re-mono{font-family:var(--font-mono);color:var(--ink-2);padding:4px 0;font-size:12.5px}.method-template-button{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;margin-left:auto;padding:8px 14px;font-size:13px;font-weight:600}.spt-inline-edit input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.spt-inline-edit input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.spt-entry-grid input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.spt-entry-grid input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.spt-inline-edit input[type=number],.spt-entry-grid input[type=number]{appearance:textfield}.spt-inline-edit .spt-inline-input{min-width:84px;padding:6px 8px;font-size:13px}.spt-inline-edit.dtable tbody td{padding-top:6px;padding-bottom:6px}.spt-delete-modal{width:min(420px,100%)}.spt-diff-modal{width:min(760px,100%)}.attachments-panel{flex-direction:column;width:100%;max-width:960px;max-height:90vh;display:flex}.attachments-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.attachments-title{margin:2px 0 0;font-size:20px}.attachments-body{padding:18px 20px 22px;overflow-y:auto}.attachments-hint{color:var(--text-dim);margin:0 0 10px;font-size:13px}.attachments-hint code{background:var(--surface-2,#f2f4f7);border-radius:4px;padding:1px 5px;font-size:12px}.attachments-upload{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.attachments-upload input[type=file]{border:1px solid var(--line);background:var(--surface,#fff);border-radius:8px;width:100%;padding:8px 10px;font-size:13px}.attachments-status,.attachments-empty{color:var(--text-dim);margin:12px 0 0;font-size:13px}.attachments-empty{text-align:center;border:1px dashed var(--line);border-radius:10px;padding:28px 16px}.attachment-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:16px 0 0;padding:0;list-style:none;display:grid}.attachment-card{border:1px solid var(--line);background:var(--surface,#fff);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.attachment-media{object-fit:cover;background:var(--surface-2,#f2f4f7);border:0;width:100%;height:160px;display:block}.attachment-frame{height:200px}.attachment-nopreview{background:var(--surface-2,#f2f4f7);height:160px;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.attachment-nopreview span{letter-spacing:.08em;opacity:.7;font-size:11px;font-weight:700}.attachment-nopreview a{color:var(--accent,#0b6bcb);font-size:13px}.attachment-meta{flex-direction:column;gap:3px;min-width:0;padding:10px 12px 6px;display:flex}.attachment-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.attachment-sub{color:var(--text-dim);font-size:11px}.attachment-actions{gap:8px;margin-top:auto;padding:8px 12px 12px;display:flex}.attachment-actions .btn{text-align:center;flex:1;padding:6px 8px;font-size:12px;text-decoration:none}.error-note{border-left:4px solid var(--danger,#c0392b);background:var(--danger-bg,#fdecea);color:var(--danger,#c0392b);border-radius:6px;margin:10px 0 0;padding:10px 12px;font-size:13px}@media (width<=640px){.attachment-grid{grid-template-columns:1fr}.attachments-body{padding:14px}:is(.table-scroll:has(>.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *)),.borehole-records-scroll:has(>.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *))){overflow-x:visible}.borehole-records-scroll:has(>.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *)) table{min-width:0}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *),.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody,.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody tr,.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody td{width:100%;max-width:100%;display:block}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) thead{display:none}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody tr{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-bottom:10px;padding:10px 12px}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody tr:last-child{margin-bottom:0}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody td{white-space:normal;text-overflow:clip;border-bottom:0;grid-template-columns:minmax(104px,38%) 1fr;align-items:baseline;gap:10px;max-width:none;padding:3px 0;display:grid;overflow:visible}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody td:empty{display:none}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:10px;font-weight:700}:is(.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody td:not(:has(>.btn)),.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody td:not(:has(>button))){color:var(--ink);font-weight:500}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody td.num{text-align:left;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody td:last-child{border-top:1px solid var(--line);margin-top:8px;padding-top:10px}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody td:last-child>.actions{gap:8px;display:flex}.dtable:not(.spt-entry-grid *,.table-scroll--no-cards *) tbody td:last-child .btn{flex:1 1 0;justify-content:center;min-height:40px}.spt-entry-grid .dtable,.spt-entry-grid .dtable tbody,.spt-entry-grid .dtable tbody tr,.spt-entry-grid .dtable tbody td,.spt-entry-grid .dtable thead,.spt-entry-grid .dtable thead tr,.spt-entry-grid .dtable thead th{display:revert}.spt-entry-grid .dtable tbody tr{background:0 0;border:0;margin:0;padding:0;display:table-row}.spt-entry-grid .dtable tbody td{white-space:nowrap;max-width:320px;padding:10px 12px;display:table-cell}.spt-entry-grid .dtable thead{display:table-header-group}.spt-entry-grid .dtable thead th{display:table-cell}.spt-entry-grid .dtable tbody td:before{content:none}}.borelog-report{gap:var(--space-3);flex-direction:column;display:flex}.borelog-report .module-toolbar{margin-bottom:0}.borelog-report-sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4)}.borelog-report-title{text-align:center;color:var(--ink);font-size:13px;font-weight:700;line-height:1.4}.borelog-report-meta{gap:var(--space-2) var(--space-4);margin:var(--space-4) 0 0;padding:var(--space-3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.borelog-report-meta-item{min-width:0}.borelog-report-meta dt{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:700}.borelog-report-meta dd{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:12.5px;overflow:hidden}.borelog-report-note{margin:var(--space-3) 0 0;font-size:11.5px}.borelog-report-counts{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-2);font-weight:600}.borelog-report-scroll{margin-top:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);max-height:72vh;overflow:auto}.borelog-columns{z-index:6;background:var(--surface-2);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.borelog-column-header{letter-spacing:.05em;text-transform:uppercase;text-align:center;color:var(--ink-2);border-right:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:8px 4px;font-size:9.5px;font-weight:700;overflow:hidden}.borelog-column-header:last-child{border-right:0}.borelog-column-header--scale{flex:0 0 var(--borelog-scale-width,58px);width:var(--borelog-scale-width,58px)}.borelog-body{align-items:flex-start;display:flex;position:relative}.borelog-scale{flex:0 0 var(--borelog-scale-width,58px);width:var(--borelog-scale-width,58px);border-right:1px solid var(--line);background:var(--surface-2);position:relative}.borelog-depth-tick{font-family:var(--font-mono);color:var(--ink-2);white-space:nowrap;font-size:10px;position:absolute;right:5px;transform:translateY(-50%)}.borelog-depth-tick:after{content:"";background:var(--ink-3);width:5px;height:1px;position:absolute;top:50%;right:-5px}.borelog-log{background:var(--surface);flex:auto;min-width:0;display:flex;position:relative}.borelog-col{border-right:1px solid var(--line);min-width:0;position:relative}.borelog-col:last-of-type{border-right:0}.borelog-profile-bar{box-sizing:border-box;border-top:1px solid var(--ink-2);border-bottom:1px solid var(--ink-2);position:absolute;left:0;right:0}.borelog-profile-rock{background-color:color-mix(in srgb, var(--ink) 32%, transparent);background-image:repeating-linear-gradient(45deg, transparent 0 4px, color-mix(in srgb, var(--ink) 78%, transparent) 4px 6px);outline:1px solid var(--ink);outline-offset:-1px}.borelog-hatch-fwd{background-image:repeating-linear-gradient(45deg, transparent 0 5px, var(--ink-3) 5px 6px)}.borelog-hatch-back{background-image:repeating-linear-gradient(-45deg, transparent 0 5px, var(--ink-3) 5px 6px)}.borelog-hatch-cross{background-image:repeating-linear-gradient(45deg, transparent 0 5px, var(--ink-3) 5px 6px), repeating-linear-gradient(-45deg, transparent 0 5px, var(--ink-3) 5px 6px)}.borelog-hatch-horizontal{background-image:repeating-linear-gradient(0deg, transparent 0 5px, var(--ink-3) 5px 6px)}.borelog-hatch-plus{background-image:repeating-linear-gradient(0deg, transparent 0 5px, var(--ink-3) 5px 6px), repeating-linear-gradient(90deg, transparent 0 5px, var(--ink-3) 5px 6px)}.borelog-hatch-dot{background-image:radial-gradient(var(--ink-3) .9px, transparent 1px);background-size:7px 7px}.borelog-hatch-star{background-image:radial-gradient(var(--ink-3) .9px, transparent 1.1px), radial-gradient(var(--ink-3) .9px, transparent 1.1px);background-position:0 0,5.5px 5.5px;background-size:11px 11px}.borelog-hatch-circle{background-image:radial-gradient(circle, transparent 3px, var(--ink-3) 3px, var(--ink-3) 4px, transparent 4px);background-size:9px 9px}.borelog-hatch-circle-lg{background-image:radial-gradient(circle, transparent 4px, var(--ink-3) 4px, var(--ink-3) 5px, transparent 5px);background-size:12px 12px}.borelog-description-cell{box-sizing:border-box;border-top:1px solid var(--line);padding:3px 7px;position:absolute;left:0;right:0;overflow:hidden}.borelog-desc-text{color:var(--ink);overflow-wrap:anywhere;font-size:11.5px;line-height:1.28}.borelog-rock-detail{font-family:var(--font-mono);color:var(--ink-3);margin-top:2px;font-size:9.5px;line-height:1.3}.borelog-stratum-depth{text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:10.5px;position:absolute;left:0;right:0;transform:translateY(-50%)}.borelog-thickness-cell{box-sizing:border-box;border-top:1px solid var(--line);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;left:0;right:0}.borelog-spt-marker{text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;padding:0 2px;font-size:10.5px;font-weight:600;position:absolute;left:0;right:0;transform:translateY(-50%)}.borelog-spt-plot-marker{align-items:center;gap:6px;display:flex;position:absolute;left:7px;right:7px;transform:translateY(-50%)}.borelog-plot-track{background:var(--line);flex:auto;height:1px;position:relative}.borelog-plot-dot{background:var(--err);border-radius:50%;width:6px;height:6px;margin-left:-3px;position:absolute;top:50%;transform:translateY(-50%)}.borelog-plot-annot{font-family:var(--font-mono);color:var(--err);flex:none;font-size:10px;font-weight:700}.borelog-water-table{z-index:5;border-top:1px dashed var(--info);pointer-events:none;position:absolute}.borelog-water-table>span{background:var(--surface);color:var(--info);white-space:nowrap;padding:0 3px;font-size:9.5px;font-weight:600;position:absolute;top:1px;left:4px}.borelog-termination{z-index:5;text-align:center;pointer-events:none;position:absolute;left:0;right:0;transform:translateY(-50%)}.borelog-termination--in-band{bottom:-28px;transform:none;top:auto!important}.borelog-termination>span{background:var(--surface);border:1px solid var(--err);letter-spacing:.04em;color:var(--err);border-radius:4px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}@media (width<=900px){.borelog-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.borelog-report-scroll{--borelog-scale-width:46px}}@media (width<=600px){.borelog-report-meta{grid-template-columns:minmax(0,1fr)}.borelog-report-sheet{padding:var(--space-3)}.borelog-report-scroll{--borelog-scale-width:40px}}.sample-register-filters{grid-template-columns:minmax(200px,260px);margin:0;display:grid}.sample-register-filters label{flex-direction:column;gap:6px;min-width:0;display:flex}.sample-register-filters label span{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-size:11px;font-weight:700}.sample-register-filters select{width:100%;min-height:38px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:13px}.sample-register-filters select:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.sample-register-filters select:disabled{opacity:.6;cursor:not-allowed}.dtable.sample-register-table thead th{white-space:normal}.sample-register-table td[data-label="Type of Rock"]{white-space:normal;min-width:120px;max-width:220px}.rock-pieces{flex-direction:column;gap:4px;min-width:190px;display:flex}.rock-piece{align-items:center;gap:6px;display:flex}.rock-piece-label{color:var(--ink-2);text-align:right;flex:0 0 62px;font-size:11px;font-weight:600}.rock-piece-input{flex:auto;min-width:0}.rock-piece-remove{color:var(--ink-2);flex:none;padding:2px 7px;line-height:1}.rock-piece-remove:hover:not(:disabled){color:var(--danger)}.rock-piece-add{align-self:flex-start}.rock-derived{text-align:right;font-variant-numeric:tabular-nums;min-width:52px;color:var(--ink);background:var(--surface-2);border:1px dashed var(--line);border-radius:6px;padding:6px 8px;display:inline-block}.rock-piece-warning{color:var(--danger);font-size:11px;font-weight:600}.rock-unit-toggle{align-items:center;gap:6px;display:flex}.rock-unit-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-size:11px;font-weight:700}.dtable .rock-record-pieces>td{background:var(--surface-2);border-top:0;border-bottom:1px solid var(--line);white-space:normal;text-overflow:clip;max-width:none;padding:10px 12px 12px;overflow:visible}.rock-pieces-flow{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.rock-piece-chip{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;align-items:center;gap:2px;min-width:76px;padding:6px 12px;display:flex}.rock-piece-chip-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);white-space:nowrap;font-size:9.5px;font-weight:700}.rock-piece-chip-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-size:13px;font-weight:600}.qr-picker-body{flex-direction:column;gap:14px;display:flex}.qr-picker-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.qr-picker-counts{justify-content:space-between;align-items:center}.qr-picker-field{flex-direction:column;gap:6px;min-width:180px;display:flex}.qr-picker-field label,.qr-picker-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-size:10px;font-weight:700}.qr-picker-field select{min-height:38px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:13px}.qr-picker-radio-group{flex-wrap:wrap;align-items:center;gap:14px;min-height:38px;display:flex}.qr-picker-radio{color:var(--ink);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.qr-picker-radio input[type=radio],.qr-picker-radio input[type=checkbox],.qr-picker-sample-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;margin:0}.qr-picker-sample-list{border:1px solid var(--line);background:var(--surface);border-radius:6px;max-height:340px;overflow-y:auto}.qr-picker-sample-item{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.qr-picker-sample-item:last-child{border-bottom:0}.qr-picker-sample-item:hover{background:var(--surface-2)}.qr-picker-sample-id{font-family:var(--font-mono);color:var(--ink);min-width:170px;font-weight:600}.qr-picker-actions{justify-content:flex-end}.qr-print-modal{width:min(960px,100%);max-height:calc(100vh - 48px);overflow:auto}.qr-print-sheet{background:var(--surface);padding:20px}.qr-print-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.qr-print-card{border:1px solid var(--line);text-align:center;background:var(--surface);break-inside:avoid;page-break-inside:avoid;border-radius:8px;padding:12px}.qr-print-card img{width:100%;max-width:160px;height:auto;margin:0 auto 6px;display:block}.qr-print-project{color:var(--ink-3);letter-spacing:.03em;text-transform:uppercase;font-size:10px}.qr-print-sample{font-family:var(--font-mono);color:var(--ink);word-break:break-all;margin-top:2px;font-size:13px;font-weight:700}.qr-print-meta{color:var(--ink-2);margin-top:4px;font-size:11px}.qr-print-kind{background:var(--surface-2);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);border-radius:999px;margin-top:6px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}@media (width<=900px){.qr-print-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{body *{visibility:hidden}.qr-print-sheet,.qr-print-sheet *{visibility:visible}.qr-print-sheet{background:#fff;width:100%;padding:0;position:absolute;top:0;left:0}.modal-backdrop{background:0 0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.modal,.qr-print-modal{max-height:none!important;box-shadow:none!important;border:0!important;width:100%!important;position:static!important;overflow:visible!important}.qr-print-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6mm}.qr-print-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #999;border-radius:0}.qr-print-card img{break-inside:avoid;page-break-inside:avoid}.qr-print-no-print{display:none!important}}
