:root{--bg:#f2f6fb;--panel:#fff;--ink:#122033;--muted:#4f6076;--accent:#0a84ff;--accent-deep:#0257ad;--ok:#047857;--warn:#b91c1c;--border:#d6e0ee;--shadow:0 4px 24px #0a1c341a}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 15% 15%,#0a84ff2e,#0000 38%),radial-gradient(circle at 82% 10%,#0257ad29,#0000 30%),linear-gradient(170deg,#f7fbff,#edf3fa 60%,#e8eef7);min-height:100vh;margin:0;font-family:Segoe UI,Helvetica Neue,sans-serif}h1,h2,p{margin:0}.auth-shell{max-width:1200px;margin:0 auto;padding:32px 24px 52px}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;width:240px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:24px 20px 20px;display:flex}.sidebar-logo-mark{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 4px 12px #3b82f64d}.sidebar-logo-name{color:var(--ink);letter-spacing:.04em;font-size:16px;font-weight:800}.sidebar-logo-sub{color:var(--muted);margin-top:1px;font-size:11px;font-weight:500}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:16px 12px;display:flex}.sidebar-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px;padding:0 8px;font-size:10px;font-weight:700}.sidebar-link{color:var(--muted);border-left:3px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .14s,color .14s;display:flex}.sidebar-link:hover{color:var(--ink);background:#f0f5fd}.sidebar-link--active{color:var(--accent-deep);border-left-color:var(--accent);background:#0a84ff14}.sidebar-link--active:hover{color:var(--accent-deep);background:#0a84ff21}.sidebar-link-icon{opacity:.7;flex-shrink:0}.sidebar-link--active .sidebar-link-icon{opacity:1}.sidebar-footer{border-top:1px solid var(--border);gap:10px;padding:16px 12px;display:grid}.sidebar-user{align-items:center;gap:10px;padding:6px 8px;display:flex}.sidebar-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:grid}.sidebar-user-name{color:var(--ink);font-size:13px;font-weight:700}.sidebar-user-role{color:var(--muted);margin-top:1px;font-size:11px}.sidebar-logout-btn{color:#c0392b;width:100%;box-shadow:none;letter-spacing:.01em;cursor:pointer;background:#f0f5fd;border:1.5px solid #e8c5c2;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:600;transition:background .14s,border-color .14s;display:flex}.sidebar-logout-btn:hover:not(:disabled){color:#a93226;box-shadow:none;background:#fdf0ef;border-color:#e8a09a;transform:none}.app-main{flex:1;min-width:0;padding:32px 32px 52px;overflow-y:auto}.app-topbar{margin-bottom:24px}.app-topbar h1{color:var(--ink);font-size:26px;font-weight:800}.app-topbar-sub{color:var(--muted);margin-top:4px;font-size:13px;font-weight:500}.auth-shell{place-items:center;min-height:100vh;display:grid}.auth-card,.panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px}.auth-card{width:min(100%,450px);padding:28px}.auth-overline{color:var(--accent-deep);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:12px;font-weight:700}.auth-subtitle{color:var(--muted);margin-top:8px;margin-bottom:18px}.auth-form,.panel-form{gap:14px;display:grid}label{color:var(--muted);gap:6px;font-size:14px;font-weight:600;display:grid}input{color:var(--ink);background:#fff;border:1.5px solid #bfd0e6;border-radius:10px;outline:none;padding:11px 14px;font-size:15px;transition:border-color .14s,box-shadow .14s}input::placeholder{color:#a0b4cc}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0a84ff26}input:disabled{color:#9ab0c8;cursor:not-allowed;background:#f5f8fc}button{cursor:pointer;color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#1a94ff 0%,#0257ad 100%);border:none;border-radius:10px;padding:11px 18px;font-size:14px;font-weight:700;transition:background .16s,opacity .16s,box-shadow .16s,transform 80ms;box-shadow:0 2px 8px #0257ad4d}button:hover:not(:disabled){background:linear-gradient(135deg,#2fa0ff 0%,#0262c4 100%);transform:translateY(-1px);box-shadow:0 4px 16px #0257ad61}button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #0257ad40}button:disabled{color:#8fa5bb;cursor:not-allowed;box-shadow:none;background:#d4dfe8;transform:none}.scan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.panel{align-content:start;gap:14px;padding:22px;display:grid}.panel h2{color:var(--ink);font-size:17px;font-weight:700}.panel>p{color:var(--muted);font-size:14px;line-height:1.5}.tray-status{border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:13px;font-weight:600;display:inline-flex}.tray-status.active{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.tray-status.inactive{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.tray-status .dot{border-radius:50%;width:8px;height:8px}.tray-status.active .dot{background:#10b981;box-shadow:0 0 0 2px #10b9814d}.tray-status.inactive .dot{background:#f59e0b}.stats-panel .big-stat{color:var(--accent-deep);font-size:18px;font-weight:800}.stat-row{gap:12px;display:flex}.stat-row div{background:#f2f7fe;border:1px solid #d2e2f9;border-radius:12px;flex:1;gap:4px;padding:14px 16px;display:grid}.stat-row span{color:var(--muted);font-size:12px;font-weight:500}.stat-row strong{color:var(--ink);font-size:28px;font-weight:800}.ghost-button{color:#c0392b;box-shadow:none;background:#f0f5fd;border:1.5px solid #e8c5c2}.ghost-button:hover:not(:disabled){color:#a93226;background:#fdf0ef;border-color:#e8a09a;box-shadow:0 2px 8px #c0392b26}.panel-log{grid-column:1/-1}.panel-log ul{gap:8px;max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.panel-log li{border:1px solid var(--border);border-radius:10px;gap:3px;padding:10px 14px;display:grid}.panel-log li div{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-log li strong{font-size:14px}.panel-log li span{color:var(--muted);font-size:12px}.panel-log li p{margin-top:2px;font-size:13px}.panel-log li.accepted{background:#ecfdf5;border-color:#6ee7b7}.panel-log li.accepted p{color:#065f46}.panel-log li.manual-remove{background:#fef2f2;border-color:#fca5a5}.panel-log li.manual-remove p{color:#991b1b}.error-text{color:var(--warn);background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.muted{color:var(--muted);font-size:14px}.qa-grid{grid-template-rows:auto auto;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;display:grid}.qa-form-panel{grid-area:1/1}.qa-summary-panel{grid-area:1/2}.qa-log-panel{grid-area:2/1/auto/-1}.qa-field-group{border:1px solid var(--border);background:#fafcff;border-radius:12px;gap:12px;padding:14px 16px;display:grid}.qa-field-group--highlight{background:#f0f8ff;border-color:#c2daf7}.qa-group-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px;font-weight:700}.qa-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.qa-select{color:var(--ink);cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234f6076' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") right 12px center no-repeat;border:1.5px solid #bfd0e6;border-radius:10px;outline:none;padding:11px 36px 11px 14px;font-family:inherit;font-size:15px;transition:border-color .14s,box-shadow .14s}.qa-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0a84ff26}.success-text{color:var(--ok);background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.qa-log-table-wrap{overflow-x:auto}.qa-log-table{border-collapse:collapse;width:100%;font-size:14px}.qa-log-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:12px;font-weight:700}.qa-log-table td{color:var(--ink);border-bottom:1px solid #edf2f9;padding:10px 12px}.qa-log-table tr:last-child td{border-bottom:none}.qa-log-table tr:first-child td{background:#f6faff}.qa-spec{font-variant-numeric:tabular-nums;color:var(--accent-deep);font-weight:700}.import-grid{gap:16px;display:grid}.import-dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;background:#fafcff;border-radius:14px;place-items:center;gap:8px;padding:36px 24px;transition:border-color .14s,background .14s;display:grid}.import-dropzone:hover,.import-dropzone--active{border-color:var(--accent);background:#f0f6ff}.import-dropzone-icon{font-size:36px;line-height:1}.import-stats{gap:12px;display:flex}.import-stats div{background:#f2f7fe;border:1px solid #d2e2f9;border-radius:12px;flex:1;gap:4px;padding:12px 16px;display:grid}.import-stats span{color:var(--muted);font-size:12px;font-weight:500}.import-stats strong{color:var(--ink);word-break:break-all;font-size:16px;font-weight:800}.panel-preview{overflow:hidden}.import-preview-table{font-size:12px}.import-preview-table th,.import-preview-table td{white-space:nowrap;padding:7px 10px}.pass-badge{border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.pass-badge--ok{color:#065f46;background:#d1fae5}.pass-badge--fail{color:#991b1b;background:#fee2e2}.packout-grid{gap:16px;display:grid}.packout-setup-panel{max-width:480px}.packout-stats-strip{gap:10px;display:flex}.packout-stat{text-align:center;border-radius:12px;gap:2px;min-width:80px;padding:8px 18px;display:grid}.packout-stat span{text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.packout-stat strong{font-size:28px;font-weight:900}.packout-stat--ok{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.packout-stat--hold{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.packout-stat--dup{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.packout-stat--tray{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.packout-scan-panel{gap:0;display:grid}.packout-step{padding:4px 0 16px}.packout-step-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.packout-step-header h3{flex:1;margin:0;font-size:15px;font-weight:700}.packout-step-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:flex}.packout-tray-form{gap:10px;display:flex}.packout-tray-form input{border:1.5px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;outline:none;flex:1;padding:9px 13px;font-size:14px}.packout-tray-form input:focus{border-color:var(--accent)}.packout-tray-form button{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:9px 18px;font-size:13px;font-weight:700}.packout-tray-form button:disabled{opacity:.4;cursor:not-allowed}.packout-divider{background:var(--border);height:1px;margin:4px 0 20px}.packout-fail-banner{background:#fff1f2;border:2px solid #f43f5e;border-radius:12px;align-items:flex-start;gap:16px;padding:20px 24px;animation:1s ease-in-out infinite alternate pulse-border;display:flex}@keyframes pulse-border{0%{background:#fff1f2;border-color:#f43f5e}to{background:#ffe4e6;border-color:#be123c}}.packout-fail-icon{color:#be123c;flex-shrink:0;font-size:48px;line-height:1}.packout-fail-body{flex:1}.packout-fail-title{color:#be123c;letter-spacing:-.02em;margin-bottom:4px;font-size:22px;font-weight:900}.packout-fail-sub{color:#9f1239;margin-bottom:10px;font-size:14px}.packout-fail-chips{flex-wrap:wrap;gap:8px;display:flex}.packout-fail-chip{color:#881337;background:#fda4af;border-radius:6px;padding:4px 12px;font-size:14px;font-weight:800}.packout-preview{flex-wrap:wrap;gap:8px;display:flex}.packout-preview-chip{background:#f0f6ff;border:1px solid #c2daf7;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:72px;padding:8px 16px;display:flex}.packout-preview-chip span{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:10px;font-weight:700}.packout-preview-chip strong{color:var(--accent-deep);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.packout-feedback{border-radius:12px;align-items:flex-start;gap:12px;padding:12px 16px;font-size:13px;display:flex}.packout-feedback-icon{flex-shrink:0;font-size:22px;line-height:1}.packout-feedback strong{margin-bottom:2px;font-size:14px;display:block}.packout-feedback p{color:var(--muted);font-size:12px}.packout-feedback--ok{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;align-items:flex-start}.packout-emag-block{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600}.packout-lookup-preview{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.packout-pf-grid{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.packout-pf-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);min-width:70px;font-size:11px;font-weight:700}.packout-feedback--dup{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.packout-feedback--err{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.packout-log-panel{gap:12px;display:grid}.packout-log-tbl{font-size:12px}.packout-log-tbl th,.packout-log-tbl td{white-space:nowrap;padding:7px 10px}.packout-row--dup{background:#fffbeb}.packout-row--hold{background:#fff1f2}.packout-qa-hold-banner{background:#fff1f2;border:2px solid #f87171;border-radius:14px;align-items:flex-start;gap:16px;padding:18px 20px;animation:1.2s ease-in-out 3 hold-pulse;display:flex}@keyframes hold-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 10px #ef444400}}.packout-qa-hold-icon{color:#dc2626;flex-shrink:0;font-size:40px;line-height:1;animation:.5s ease-in-out 2 hold-shake}@keyframes hold-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.packout-qa-hold-body{gap:6px;display:grid}.packout-qa-hold-title{color:#b91c1c;letter-spacing:.04em;margin:0;font-size:20px;font-weight:900}.packout-qa-hold-sub{color:#7f1d1d;margin:0;font-size:13px;line-height:1.5}.packout-qa-hold-table{border-collapse:collapse;background:#ffffffb3;border-radius:8px;width:100%;margin-top:8px;font-size:12px;overflow:hidden}.packout-qa-hold-table th{color:#991b1b;text-transform:uppercase;letter-spacing:.05em;text-align:left;background:#fee2e2;padding:6px 10px;font-size:11px;font-weight:700}.packout-qa-hold-table td{color:#7f1d1d;border-top:1px solid #fecaca;padding:6px 10px;font-weight:600}.insp-result-badge--hold{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.insp-grid{gap:16px;display:grid}.insp-scan-panel{gap:14px;display:grid}.insp-scan-input{border:2px solid #bfd0e6;border-radius:12px;padding:14px 16px;font-size:18px}.insp-scan-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #0a84ff26}.insp-record-panel{gap:16px;display:grid}.insp-record-header{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.insp-qr{color:var(--accent-deep);letter-spacing:.04em;font-size:22px;font-weight:800}.insp-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;font-size:13px;display:flex}.insp-meta strong{color:var(--ink);font-size:14px}.insp-measurements{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.insp-meas-group{border:1px solid var(--border);background:#fafcff;border-radius:12px;gap:10px;padding:12px 14px;display:grid}.insp-meas-row{gap:12px;display:flex}.insp-meas-cell{text-align:center;flex:1;gap:3px;display:grid}.insp-meas-cell span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:700}.insp-meas-cell strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:16px;font-weight:800}.insp-existing-badge{border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600}.insp-existing-badge--pass{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.insp-existing-badge--fail{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.insp-verdict{grid-template-columns:1fr 1fr;gap:16px;display:grid}.insp-btn{letter-spacing:.06em;cursor:pointer;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;font-size:22px;font-weight:900;transition:transform 80ms,box-shadow .14s,opacity .14s;display:flex}.insp-btn:active:not(:disabled){transform:scale(.97)}.insp-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.insp-btn-icon{font-size:36px;line-height:1}.insp-btn--pass{color:#fff;background:linear-gradient(135deg,#10b981,#047857);box-shadow:0 4px 20px #04785759}.insp-btn--pass:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 28px #04785780}.insp-btn--fail{color:#fff;background:linear-gradient(135deg,#ef4444,#b91c1c);box-shadow:0 4px 20px #b91c1c59}.insp-btn--fail:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 28px #b91c1c80}.insp-saved-panel{text-align:center;padding:40px 24px}.insp-saved-panel--pass{background:#ecfdf5;border-color:#6ee7b7}.insp-saved-panel--fail{background:#fef2f2;border-color:#fca5a5}.insp-saved-icon{margin-bottom:8px;font-size:64px;line-height:1}.insp-saved-panel--pass .insp-saved-icon{color:#047857}.insp-saved-panel--fail .insp-saved-icon{color:#b91c1c}.insp-saved-panel h2{letter-spacing:.08em;font-size:36px;font-weight:900}.insp-saved-panel--pass h2{color:#047857}.insp-saved-panel--fail h2{color:#b91c1c}.insp-notfound-panel{gap:8px;display:grid}.insp-history-panel{gap:12px;display:grid}.insp-history-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.insp-result-badge{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.insp-result-badge--pass{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.insp-result-badge--fail{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.report-shell{gap:16px;display:grid}.report-filters{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.report-filter-row{align-items:flex-end;gap:10px;display:flex}.report-tray-card{padding:0;overflow:hidden}.report-tray-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:16px 20px;transition:background .15s;display:flex}.report-tray-header:hover{background:#f8fafc}.report-tray-title{align-items:center;gap:10px;display:flex}.report-tray-icon{color:var(--accent);font-size:20px}.report-tray-name{color:var(--ink);font-size:16px;font-weight:800}.report-tray-count{color:#0369a1;background:#e0f2fe;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600}.report-hold-badge{color:#991b1b;background:#fee2e2;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:700}.report-tray-meta{align-items:center;gap:12px;display:flex}.report-chevron{color:var(--muted);font-size:11px}.report-tray-card .qa-log-table-wrap{padding:0 20px 16px}.records-shell{gap:16px;display:grid}.records-filters{padding:18px 22px}.records-filter-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.records-filter-row label{flex:1;min-width:160px}.records-clear-btn{white-space:nowrap;align-self:flex-end;padding:11px 18px}.panel-records{overflow:hidden}.records-tbl{font-size:12px}.records-tbl th,.records-tbl td{white-space:nowrap;padding:7px 10px}.records-row{cursor:pointer;transition:background .1s}.records-row:hover{background:#f4f8ff}.records-row--expanded{background:#eef5ff}.records-datetime{font-variant-numeric:tabular-nums;color:var(--muted);font-size:11px}.records-qr{color:var(--accent-deep);font-size:12px;font-weight:700}.records-val{font-variant-numeric:tabular-nums;margin-right:4px;font-size:11px}.records-detail-row td{border-bottom:2px solid var(--border)!important;padding:0!important}.records-detail{background:#f6faff;flex-wrap:wrap;gap:12px;padding:14px 16px;display:flex}.records-detail-group{border:1px solid var(--border);background:#fff;border-radius:10px;flex:1;gap:8px;min-width:220px;padding:10px 14px;display:grid}.records-detail-cols{flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.records-detail-cols strong{font-variant-numeric:tabular-nums}.records-pagination{justify-content:center;align-items:center;gap:16px;padding-top:8px;display:flex}.um-shell{gap:16px;display:grid}.um-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.um-add-btn{align-items:center;gap:7px;padding:9px 16px;font-size:13px;display:flex}.um-add-panel{max-width:480px}.um-add-form{gap:12px;display:grid}.um-form-error{color:var(--warn);background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin:0;padding:8px 12px;font-size:13px;font-weight:600}.um-table-panel{gap:0;padding:0;overflow:hidden}.um-table-wrap{overflow-x:auto}.um-table{border-collapse:collapse;width:100%;font-size:13.5px}.um-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:2px solid var(--border);white-space:nowrap;background:#fafcff;padding:10px 14px;font-size:11px;font-weight:700}.um-table td{color:var(--ink);vertical-align:middle;border-bottom:1px solid #edf2f9;padding:11px 14px}.um-table tr:last-child td{border-bottom:none}.um-row{transition:background .1s}.um-row:hover{background:#f8fbff}.um-row--editing{background:#f0f6ff}.um-username{align-items:center;gap:8px;font-weight:700;display:flex}.um-you-badge{color:var(--accent-deep);text-transform:uppercase;letter-spacing:.04em;background:#e0edff;border:1px solid #c2daf7;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.um-created-by,.um-date{color:var(--muted);font-size:12px}.um-empty{text-align:center;color:var(--muted);font-size:14px;padding:32px!important}.um-actions{justify-content:flex-end;gap:8px;display:flex}.um-action-btn{color:var(--accent-deep);box-shadow:none;background:#f0f5fd;border:1.5px solid #c2daf7;border-radius:7px;padding:6px 12px;font-size:12px;font-weight:600}.um-action-btn:hover:not(:disabled){border-color:var(--accent);box-shadow:none;background:#e0edff;transform:none}.um-action-btn--danger{color:var(--warn);background:#fff0f0;border-color:#fca5a5}.um-action-btn--danger:hover:not(:disabled){box-shadow:none;background:#fee2e2;border-color:#f87171;transform:none}.um-edit-row td{background:#f5f9ff;border-bottom:2px solid var(--border)!important;padding:0!important}.um-edit-form{flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 14px;display:flex}.um-edit-form label{flex:1;min-width:150px}.um-edit-actions{flex-direction:column;align-self:flex-end;gap:8px;display:flex}.um-role-badge{letter-spacing:.03em;border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.um-role-badge--admin{color:#5b21b6;background:#ede9fe;border:1px solid #c4b5fd}.um-role-badge--supervisor{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.um-role-badge--operator{color:var(--accent-deep);background:#e0edff;border:1px solid #c2daf7}.um-status-badge{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.um-status-badge--active{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.um-status-badge--inactive{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1}@media (max-width:900px){.sidebar{width:200px}.app-main{padding:20px 16px 40px}.scan-grid,.qa-grid{grid-template-columns:1fr}.panel-log{grid-column:auto}.qa-form-panel,.qa-summary-panel,.qa-log-panel{grid-area:auto}.qa-row{grid-template-columns:1fr}}@media (max-width:600px){.sidebar{display:none}.app-main{padding:16px}}
