:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-shell:#0d0e12;--brand-shell-border:#1a1b20;--brand-accent:#9cac5a;--brand-accent-hover:#adbe6e;--brand-accent-soft:#eef2dc;--surface-0:#f5f6f5;--surface-1:#fff;--surface-2:#fafbf8;--border:#e5e7e2;--border-strong:#c9ccc3;--text-primary:#1a1f1c;--text-body:#3a4037;--text-muted:#6b7065;--text-tiny:#9aa093;--text-on-shell:#d4d7d0;--text-on-shell-muted:#8a8e83;--text-on-shell-code:#b8c27c;--success:#6ba96d;--warning:#d4a14a;--danger:#b3424a;--danger-soft:#d46a6a;--info:#6082b6;--neutral:#4a4a4a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-card:0 1px 2px #0000000a, 0 1px 3px #00000005;--shadow-modal:0 10px 25px #00000026;--sidebar-w:240px;--topbar-h:56px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--surface-0);color:var(--text-body);margin:0;padding:0}body{min-height:100vh;font-size:14px}a{color:inherit}.auth-shell{background:var(--surface-0);place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.auth-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:400px;box-shadow:var(--shadow-card);padding:2rem}.auth-brand{border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:.6rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.auth-brand-logo{background:var(--brand-shell) url(/nutec-logo.png) center / contain no-repeat;border-radius:var(--radius-md);width:240px;height:92px;padding:0;display:block}.auth-brand-text{color:var(--text-primary);margin-top:.25rem;font-size:.95rem;font-weight:600}.auth-brand-tagline{color:var(--text-muted);font-size:11px}.auth-title{color:var(--text-primary);margin:0 0 .25rem;font-size:1.25rem;font-weight:600}.auth-subtitle{color:var(--text-muted);margin:0 0 1.5rem}form.auth-form{gap:.75rem;display:grid}label.field{gap:.3rem;display:grid}label.field>span{color:var(--text-muted);font-size:12px;font-weight:500}label.field>input{width:100%;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);padding:.55rem .75rem}label.field>input:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 3px #9cac5a33}button.primary{background:var(--brand-accent);color:var(--brand-shell);border-radius:var(--radius-sm);font:inherit;cursor:pointer;border:none;padding:.6rem 1rem;font-weight:600;transition:background 80ms ease-out}button.primary:hover:not(:disabled){background:var(--brand-accent-hover)}button.primary:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--surface-1);color:var(--text-body);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;cursor:pointer;padding:.55rem 1rem;font-weight:500}button.secondary:hover:not(:disabled){background:var(--surface-2)}button.secondary:disabled{opacity:.55;cursor:not-allowed}button.destructive{background:var(--danger);color:#fff;border-radius:var(--radius-sm);font:inherit;cursor:pointer;border:none;padding:.6rem 1rem;font-weight:600}button.destructive:hover:not(:disabled){filter:brightness(1.08)}button.destructive:disabled{opacity:.55;cursor:not-allowed}.auth-foot{border-top:1px solid var(--border);justify-content:space-between;margin-top:1.25rem;padding-top:1rem;font-size:13px;display:flex}.auth-foot a{color:var(--brand-accent);font-weight:500;text-decoration:none}.auth-foot a:hover{color:var(--brand-accent-hover);text-decoration:underline}.error{color:#8a2a32;border-radius:var(--radius-sm);background:#fbe9eb;padding:.6rem .75rem;font-size:13px}.notice{color:#8a6a1a;border-radius:var(--radius-sm);background:#fbf2dd;padding:.6rem .75rem;font-size:13px}.ok{color:#3a6a3c;border-radius:var(--radius-sm);background:#e5efe0;padding:.6rem .75rem;font-size:13px}.hint{color:var(--text-muted);margin:.25rem 0 0;font-size:12px}.admin-shell{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:auto var(--topbar-h) 1fr;grid-template-areas:"sidebar banner""sidebar topbar""sidebar content";min-height:100vh;display:grid}.admin-update-banner{color:#2d5a1e;background:#e8f4e0;border-bottom:1px solid #a8cd8e;grid-area:banner;justify-content:space-between;align-items:center;gap:1rem;padding:10px 24px;font-size:.875rem;display:flex}.admin-update-banner-btn{color:#fff;cursor:pointer;background:#3d7a3f;border:none;border-radius:4px;flex-shrink:0;padding:4px 12px;font-size:.875rem;font-weight:600}.admin-update-banner-btn:hover{background:#2d5a2e}.admin-sidebar{background:var(--brand-shell);border-right:1px solid var(--brand-shell-border);color:var(--text-on-shell);flex-direction:column;grid-area:sidebar;height:100vh;display:flex;position:sticky;top:0}.admin-sidebar-brand{border-bottom:1px solid var(--brand-shell-border);flex-direction:column;align-items:flex-start;gap:8px;padding:20px 20px 16px;display:flex}.admin-sidebar-brand-logo{background:url(/nutec-logo.png) 50%/contain no-repeat;width:200px;height:77px}.admin-sidebar-brand-sub{color:var(--text-on-shell);letter-spacing:-.005em;margin-top:4px;font-size:17px;font-weight:700;line-height:1.2}.admin-sidebar-section{text-transform:uppercase;letter-spacing:.08em;color:var(--text-on-shell-muted);padding:18px 20px 6px;font-size:.7rem}.admin-sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:0 10px;display:flex;overflow-y:auto}.admin-nav-link{border-radius:var(--radius-sm);color:var(--text-on-shell);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;font-size:13px;text-decoration:none;display:flex}.admin-nav-link:hover{background:#ffffff0a}.admin-nav-link.active{background:var(--brand-accent-soft);color:#3a4a1a;font-weight:600}.admin-nav-link .icon{opacity:.9;flex-shrink:0;width:16px;height:16px}.admin-nav-badge{text-align:center;color:#fff;background:#d96b3a;border-radius:10px;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}.admin-nav-link.active .admin-nav-badge{background:#b34a1c}.tabs{border-bottom:1px solid var(--border,#ddd);gap:6px;margin-top:12px;display:flex}.tab{color:var(--muted,#555);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13px}.tab:hover{color:var(--text,#222)}.tab.active{color:var(--brand-accent,#8a9460);border-bottom-color:var(--brand-accent,#8a9460);font-weight:600}.tab-badge{text-align:center;color:#fff;background:#d96b3a;border-radius:9px;min-width:18px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;line-height:16px;display:inline-block}.admin-sidebar-user{border-top:1px solid var(--brand-shell-border);align-items:center;gap:10px;padding:12px 14px;display:flex}.admin-sidebar-user-info{flex:1;min-width:0}.admin-sidebar-user-name{color:var(--text-on-shell);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.admin-sidebar-user-role{color:var(--text-on-shell-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.admin-sidebar-signout{border:1px solid var(--brand-shell-border);color:var(--text-on-shell);font:inherit;border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:5px 10px;font-size:12px}.admin-sidebar-signout:hover{border-color:var(--text-on-shell-muted);background:#ffffff0d}.admin-topbar{background:var(--brand-shell);border-bottom:1px solid var(--brand-shell-border);color:var(--text-on-shell);z-index:10;grid-area:topbar;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.admin-topbar-title{color:var(--text-on-shell);font-size:14px;font-weight:500}.admin-topbar-spacer{flex:1}.admin-content{background:var(--surface-0);grid-area:content;min-width:0;padding:24px 32px}.content-title{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 4px;font-size:1.35rem;font-weight:700}.content-subtitle{color:var(--text-muted);margin:0 0 20px;font-size:13px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:16px;padding:20px 24px}.card h2{color:var(--text-primary);margin:0 0 12px;font-size:15px}.card dl{grid-template-columns:auto 1fr;gap:8px 20px;margin:0;display:grid}.card dt{color:var(--text-muted);font-size:13px}.card dd{color:var(--text-body);margin:0}.card code{background:var(--surface-0);border-radius:var(--radius-sm);padding:1px 6px;font-family:JetBrains Mono,Consolas,monospace;font-size:12px}.content-head{align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.content-head-text{flex:1;min-width:0}.content-head .content-title,.content-head .content-subtitle{margin:0}.content-head .content-title{margin-bottom:4px}.content-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar-search{flex:1;min-width:240px;max-width:360px;position:relative}.toolbar-search input{width:100%;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);padding:8px 12px 8px 34px;font-size:13px}.toolbar-search input:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 3px #9cac5a2e}.toolbar-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.toolbar select{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1) url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M3 5l3 3 3-3' stroke='%236b7065' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 8px center;color:var(--text-primary);appearance:none;cursor:pointer;background-size:12px;padding:8px 28px 8px 10px;font-size:13px}.toolbar select:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 3px #9cac5a2e}.toolbar-spacer{flex:1}.data-table{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.data-table table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:.7rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--text-body);vertical-align:middle;padding:12px 16px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-2)}.data-table .col-actions{text-align:right;width:60px;padding-right:10px}.user-cell{align-items:center;gap:12px;min-width:0;display:flex}.user-cell-text{flex-direction:column;gap:2px;min-width:0;display:flex}.user-cell-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.user-cell-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.table-empty,.table-error{text-align:center;color:var(--text-muted);padding:60px 24px;font-size:14px}.skel{vertical-align:middle;background:linear-gradient(90deg,#0000000a 0%,#00000014 50%,#0000000a 100%) 0 0/200% 100%;border-radius:4px;animation:1.4s ease-in-out infinite skel-shimmer;display:inline-block}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel-circle{border-radius:50%}.skel-row td{padding:14px 16px}.skel-user{align-items:center;gap:12px;display:flex}.skel-user-text{flex-direction:column;flex:1;gap:6px;display:flex}.table-error{color:var(--danger)}.table-empty-title{color:var(--text-primary);margin-bottom:4px;font-size:15px;font-weight:600}.pagination{border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);justify-content:space-between;align-items:center;padding:12px 16px;font-size:12px;display:flex}.pagination-actions{align-items:center;gap:6px;display:flex}.page-jump{color:var(--text-muted);align-items:center;gap:6px;margin:0 4px;font-size:12px;display:inline-flex}.page-jump input[type=number]{width:60px;font:inherit;text-align:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);appearance:textfield;padding:4px 6px;font-size:12px}.page-jump input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-jump input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-jump input[type=number]:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 2px #9cac5a33}.pagination button{font:inherit;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-body);cursor:pointer;padding:5px 10px;font-size:12px}.pagination button:hover:not(:disabled){background:var(--surface-0)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.spec-summary dl{grid-template-columns:max-content 1fr;gap:8px 24px;margin:0;display:grid}.spec-summary dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;align-self:center;font-size:12px;font-weight:600}.spec-summary dd{align-self:center;margin:0}.spec-test-cell{flex-direction:column;gap:2px;display:flex}.spec-test-name{color:var(--text-primary);font-weight:500}.spec-target{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600}.spec-row-superseded td{color:var(--text-muted);-webkit-text-decoration:line-through #0003;text-decoration:line-through #0003}.spec-row-superseded .spec-test-name,.spec-row-superseded .spec-target{color:var(--text-muted)}.badge-current{background:var(--brand-accent-soft);color:#5a6a2a;letter-spacing:.02em;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.toolbar-toggle{color:var(--text-body);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.toolbar-toggle input[type=checkbox]{accent-color:var(--brand-accent);width:14px;height:14px;margin:0}.readonly-cell{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-body);padding:8px 12px;font-size:14px}.tolerance-radios{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);flex-direction:column;gap:10px;margin:0;padding:12px 14px;display:flex}.tolerance-radios legend{color:var(--text-muted);padding:0 6px;font-size:12px;font-weight:500}.tol-radio{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.tol-radio input[type=radio]{accent-color:var(--brand-accent);flex-shrink:0;margin:2px 0 0}.tol-radio-text{flex-direction:column;gap:2px;display:flex}.tol-radio-text strong{color:var(--text-primary);font-size:13px;font-weight:600}.sku-code-link{color:var(--text-primary);font-family:JetBrains Mono,Consolas,monospace;font-size:13px;font-weight:600;text-decoration:none}.child-codes{font-family:JetBrains Mono,Consolas,monospace;font-size:13px}.link-button{font:inherit;color:var(--brand-accent);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:12px;text-decoration:underline}.link-button:hover{color:var(--brand-accent-hover)}.link-button:focus-visible{outline:2px solid var(--brand-accent);outline-offset:1px;border-radius:2px}.sku-code-link:hover{color:var(--brand-accent);text-decoration:underline}.sku-type-pill{letter-spacing:.02em;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.sku-type-pill.sku-type-F{color:#7a5a1a;background:#f3e8d4}.sku-type-pill.sku-type-M{background:var(--brand-accent-soft);color:#5a6a2a}.sku-type-pill.sku-type-A{color:#334155;background:#e2e8f0}.spec-count{background:var(--brand-accent-soft);color:#3a4a1a;text-align:center;border-radius:999px;min-width:28px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.status-toggle{font:inherit;cursor:pointer;color:var(--text-body);background:0 0;border:none;align-items:center;gap:8px;margin:0;padding:0;font-size:12px;font-weight:500;display:inline-flex}.status-toggle:disabled{cursor:progress;opacity:.6}.status-toggle-track{background:var(--text-tiny);border-radius:999px;flex-shrink:0;width:32px;height:18px;transition:background .12s ease-out;display:inline-block;position:relative}.status-toggle-thumb{background:var(--surface-1);border-radius:50%;width:14px;height:14px;transition:transform .12s ease-out;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.status-toggle.is-on .status-toggle-track{background:var(--success)}.status-toggle.is-on .status-toggle-thumb{transform:translate(14px)}.status-toggle.is-on .status-toggle-label{color:#3a6a3c}.status-toggle.is-off .status-toggle-label{color:var(--text-muted)}.status-toggle:focus-visible .status-toggle-track{outline:2px solid var(--brand-accent);outline-offset:2px}.spec-count.empty{background:var(--surface-2);color:var(--text-muted);font-weight:500}.role-pill{letter-spacing:.02em;text-transform:capitalize;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.role-pill.role-lab_admin{color:#5a6a2a;background:#eef2dc}.role-pill.role-approver{color:#334155;background:#e2e8f0}.role-pill.role-analyst{color:#8a6a1a;background:#fff4d6}.role-pill.role-viewer{color:#556b55;background:#e8ede8}.status-pill{align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.status-pill .dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-pill.status-active{color:#3a6a3c}.status-pill.status-active .dot{background:var(--success)}.status-pill.status-invited{color:#8a6a1a}.status-pill.status-invited .dot{background:var(--warning)}.status-pill.status-expired{color:#8a2a32}.status-pill.status-expired .dot{background:var(--danger)}.status-pill.status-inactive{color:var(--text-muted)}.status-pill.status-inactive .dot{background:var(--text-muted)}.avatar-chip{letter-spacing:.02em;color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:inline-grid}.avatar-chip.palette-0{background:#6ba96d}.avatar-chip.palette-1{background:#6082b6}.avatar-chip.palette-2{background:#b88a4a}.avatar-chip.palette-3{background:#8a6fa8}.modal-backdrop{z-index:100;background:#1a1f1c73;place-items:center;padding:24px;animation:.12s ease-out modal-fade-in;display:grid;position:fixed;inset:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--surface-1);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);width:100%;max-width:480px;max-height:calc(100vh - 48px);animation:.14s ease-out modal-pop;overflow-y:auto}.modal-card-wide{max-width:760px}@keyframes modal-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-head{border-bottom:1px solid var(--border);padding:18px 24px 10px}.modal-head h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.modal-body{color:var(--text-body);padding:18px 24px;font-size:14px;line-height:1.5}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);justify-content:flex-end;gap:8px;padding:14px 24px 18px;display:flex}.form-grid{gap:14px;display:grid}.form-grid label.field>input,.form-grid label.field>select{width:100%;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);padding:8px 12px;font-size:14px}.form-grid label.field>select{appearance:none;background:var(--surface-1) url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M3 5l3 3 3-3' stroke='%236b7065' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 10px center;cursor:pointer;background-size:12px;padding-right:30px}.form-grid label.field>input:focus,.form-grid label.field>select:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 3px #9cac5a2e}.hint-inline{color:var(--text-tiny);margin-left:4px;font-size:11px;font-style:normal;font-weight:400}.invite-url-block{align-items:flex-end;gap:8px;margin:14px 0 6px;display:flex}.invite-url-block .field{margin:0}.invite-url-block input{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;background:var(--surface-2)!important}.invite-url-block button{flex-shrink:0;min-width:80px;padding:8px 16px}.toast-container{z-index:200;pointer-events:none;flex-direction:column;gap:10px;max-width:380px;display:flex;position:fixed;top:20px;right:20px}.toast{pointer-events:auto;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);border-left-width:4px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;animation:.16s ease-out toast-slide-in;display:flex}@keyframes toast-slide-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.toast.info{border-left-color:var(--info)}.toast-body{color:var(--text-body);flex:1}.toast-dismiss{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.toast-dismiss:hover{color:var(--text-primary)}.import-summary{border-collapse:collapse;width:100%;margin:0 0 8px;font-size:13px}.import-summary th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);width:60%;padding:6px 12px 6px 0;font-weight:500}.import-summary td{text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums;border-bottom:1px solid var(--border);padding:6px 0;font-weight:600}.import-summary tr:last-child th,.import-summary tr:last-child td{border-bottom:none}.import-summary-warn th,.import-summary-warn td{color:var(--warning)}.import-error-details{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:14px;padding:10px 12px;font-size:12px}.import-error-details summary{cursor:pointer;color:var(--text-body);font-weight:500}.import-error-details ul{color:var(--text-muted);margin:10px 0 0;padding-left:20px}.import-error-details li{margin-bottom:4px}.spinner{border:3px solid var(--border);border-top-color:var(--brand-accent);border-radius:50%;width:32px;height:32px;animation:.9s linear infinite spinner-spin;display:inline-block}@keyframes spinner-spin{to{transform:rotate(360deg)}}.admin-sidebar-brand-logo{cursor:default;-webkit-user-select:none;user-select:none}.egg-overlay{z-index:1000;background:#0d0e12d9;place-items:center;animation:.22s ease-out egg-fade-in;display:grid;position:fixed;inset:0}@keyframes egg-fade-in{0%{opacity:0}to{opacity:1}}.egg-card{background:var(--surface-1);border:2px solid var(--brand-accent);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:16px;padding:36px;animation:.38s cubic-bezier(.34,1.56,.64,1) egg-pop;display:flex;box-shadow:0 20px 60px #00000080}@keyframes egg-pop{0%{opacity:0;transform:scale(.5)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}.egg-photo{object-fit:cover;object-position:center 22%;border:4px solid var(--brand-accent);background:var(--surface-1);width:220px;height:220px;image-rendering:-webkit-optimize-contrast;image-rendering:high-quality;border-radius:50%;box-shadow:0 4px 20px #0003}.egg-text{letter-spacing:.02em;color:var(--brand-accent);text-shadow:0 2px 6px #9cac5a4d;font-size:2.4rem;font-weight:800}.egg-sub{color:var(--text-muted);font-size:12px;font-style:italic}.dropdown{display:inline-block;position:relative}.dropdown-trigger{font:inherit;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.dropdown-trigger:hover{background:var(--surface-2);color:var(--text-primary)}.dropdown-menu{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);z-index:50;min-width:180px;margin-top:4px;padding:4px;position:absolute;top:100%;right:0}.dropdown-item{text-align:left;width:100%;font:inherit;color:var(--text-body);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;display:block}.dropdown-item:hover{background:var(--surface-2);color:var(--text-primary)}.dropdown-item:disabled{color:var(--text-tiny);cursor:not-allowed}.dropdown-item:disabled:hover{background:0 0}.dropdown-item.destructive{color:var(--danger);font-weight:inherit;background:0 0}.dropdown-item.destructive:hover{background:#fbe9eb}.dropdown-item.destructive:disabled{color:var(--text-tiny)}.dropdown-sep{background:var(--border);height:1px;margin:4px 0}.interim-banner{border:1px solid var(--brand-accent);color:var(--text-primary);border-radius:var(--radius-sm);background:#9cac5a1a;padding:10px 12px;font-size:13px;line-height:1.45}.interim-banner strong{color:var(--brand-accent-strong,#6b7d3a)}.radio-row{flex-wrap:wrap;gap:16px;margin-top:4px;display:flex}.radio-row .radio{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.radio-row .radio input[type=radio]{accent-color:var(--brand-accent);margin:0}.source-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.source-badge.import{color:#5b6a40;background:#eef2e7}.source-badge.manual{color:#8a5d18;background:#fff2d9}.source-badge.syspro{color:#355478;background:#e3eaf3}.integration-card{margin-bottom:8px;padding:16px 20px}.integration-card-head{align-items:flex-start;gap:16px;display:flex}.integration-card-head>div:first-child{flex:1;min-width:0}.integration-card-title{letter-spacing:-.005em;margin:0 0 4px;font-size:17px;font-weight:700}.integration-card-subtitle{color:var(--text-body);margin:0;font-size:13px;line-height:1.45}.integration-card-status{border-top:1px solid var(--border-light,#e6e6e2);color:var(--text-body);margin-top:14px;padding-top:12px;font-size:13px}.last-sync-summary{flex-direction:column;gap:4px;display:flex}.dialog-tabs{border-bottom:1px solid var(--border);gap:4px;margin:-4px 0 16px;display:flex}.dialog-tab{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13px;font-weight:500}.dialog-tab:hover{color:var(--text-primary)}.dialog-tab.is-active{color:var(--text-primary);border-bottom-color:var(--brand-accent);font-weight:600}.dialog-footer-row{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;display:flex}.syspro-search{flex-direction:column;gap:0;display:flex}.syspro-results{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);max-height:380px;padding:6px 10px;overflow-y:auto}.syspro-family{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-sm);margin:8px 0;overflow:hidden}.syspro-family-head{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.syspro-family-table{border-collapse:collapse;width:100%;font-size:13px}.syspro-family-table td{border-top:1px solid var(--border);vertical-align:middle;padding:6px 10px}.syspro-family-table td:first-child,.syspro-family-table tr:first-child td{border-top:none}.syspro-family-table tr.disabled{color:var(--text-muted);background:var(--surface-2)}.syspro-family-table tr.disabled code{color:var(--text-muted)}.verdict-pill{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.verdict-pill.verdict-pass{color:#3a6a3c;background:#e5efe0}.verdict-pill.verdict-fail{color:#8a2a32;background:#fbe9eb}.verdict-pill.verdict-pending{color:#8a6a1a;background:#fbf2dd}.verdict-pill.verdict-skipped{color:#5a605a;background:#eef0e8}.verdict-pill.verdict-no_spec{color:#5a3d7d;background:#ece4f3}.verdict-fail{color:#8a2a32}.row-legacy{background:#d46a6a0f}.row-legacy:hover{background:#d46a6a1a}.capture-summary{padding:16px 20px}.capture-summary dl{grid-template-columns:160px 1fr;gap:8px 16px;margin:0;display:grid}.capture-summary dt{color:var(--text-muted);align-self:center;font-size:12px;font-weight:500}.capture-summary dd{align-self:center;margin:0}table.data-table-inline{border-collapse:collapse;width:100%;font-size:13px}table.data-table-inline th,table.data-table-inline td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px}table.data-table-inline th{text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em;font-size:11px;font-weight:600}table.data-table-inline tr:last-child td{border-bottom:none}table.data-table-inline input[type=text]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;padding:4px 8px;font-size:13px}a.primary,a.secondary{text-align:center;text-decoration:none;display:inline-block}textarea{width:100%;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);resize:vertical;min-height:60px;padding:8px 12px;font-size:13px}textarea:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 3px #9cac5a2e}input[type=date]{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-primary);padding:8px 12px;font-size:14px}input[type=date]:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 3px #9cac5a2e}.row-remove{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;width:24px;height:24px;padding:0;font-size:16px;font-weight:600;line-height:1}.row-remove:hover{color:#8a2a32;background:#fbe9eb;border-color:#f0c0c5}.add-analysis-list{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.add-analysis-list li{border-bottom:1px solid var(--border)}.add-analysis-list li:last-child{border-bottom:none}.add-analysis-row{text-align:left;width:100%;font:inherit;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.add-analysis-row:hover{background:var(--surface-2)}.add-analysis-name{font-weight:500}
