@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box}body{color:#111827;background:#f3f4f6;margin:0;font-family:Inter,Arial,sans-serif}.app-container{width:100%;max-width:480px;margin:0 auto;padding:18px}h1{margin:0 0 16px;font-size:28px}h2{margin:26px 0 14px;font-size:24px}h3{margin:0 0 12px;font-size:20px}p{font-size:16px;line-height:1.4}label{font-weight:600}input{background:#fff;border:1px solid #9ca3af;border-radius:8px;width:100%;min-height:44px;margin-top:6px;margin-bottom:14px;padding:10px 12px;font-size:16px}button{color:#111827;cursor:pointer;background:#fff;border:1px solid #9ca3af;border-radius:8px;width:100%;min-height:48px;margin:6px 0;padding:12px 14px;font-size:16px;font-weight:600}button:hover{background:#f9fafb}hr{border:none;border-top:1px solid #d1d5db;margin:24px 0}.card{background:#fff;border:1px solid #d1d5db;border-radius:10px;margin:16px 0;padding:16px}.success-card{background:#ecfdf5;border:1px solid #10b981;border-radius:10px;margin:16px 0;padding:16px}.error-text{color:#dc2626;font-weight:600}.success-text{color:#047857;font-weight:700}.status-pill{color:#075985;background:#e0f2fe;border-radius:999px;padding:4px 10px;font-size:14px;font-weight:700;display:inline-block}.primary-button{color:#fff;background:#2563eb;border-color:#2563eb}.primary-button:hover{background:#1d4ed8}.success-button{color:#fff;background:#059669;border-color:#059669}.success-button:hover{background:#047857}.danger-button{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.secondary-button{background:#f9fafb}.scan-count{margin:8px 0 16px;font-size:42px;font-weight:800}.scan-panel{background:#fff;border:1px solid #d1d5db;border-radius:10px;margin:16px 0;padding:16px}.sample-list{padding-left:22px}.sample-list li{margin-bottom:6px}.timeline-item{border-left:4px solid #2563eb;margin-bottom:14px;padding-left:12px}.small-text{color:#6b7280;font-size:14px}@media (width<=600px){.app-container{max-width:none;padding:16px}h1{font-size:26px}h2{font-size:22px}button{min-height:52px}}.lab-page{background:#f8fafc;width:100%;max-width:none;margin:0;padding:14px}.lab-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.lab-header h1{margin-bottom:4px}.lab-header p{color:#374151;margin:0}.lab-logout-button{max-width:120px;min-height:40px;margin:0;padding:8px 12px}.lab-filter-row{align-items:end;gap:12px;display:flex}.lab-filter-row input{min-height:38px;margin-bottom:0}.lab-load-button{max-width:190px;min-height:38px;margin:0;padding:8px 12px}.lab-page .card{border-radius:6px;margin:10px 0;padding:12px}.lab-table-wrapper{background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;height:calc(100vh - 210px);padding:0;overflow:auto}.lab-table{border-collapse:collapse;letter-spacing:-.01em;width:max-content;min-width:1700px;font-family:Inter,Arial,sans-serif;font-size:14.5px}.lab-table th{z-index:2;color:#fff;text-align:left;white-space:nowrap;background:#2f6f55;border:1px solid #285c48;padding:11px 10px;font-weight:700;line-height:1.25;position:sticky;top:0}.lab-table td{vertical-align:middle;background:#fff;border:1px solid #e5e7eb;padding:8px 10px;line-height:1.35}.lab-table tbody tr:nth-child(2n) td{background:#f8fafc}.lab-table tbody tr:hover td{background:#eef6ff}.lab-table input,.lab-table select{background:0 0;border:1px solid #0000;border-radius:6px;width:100%;min-width:130px;height:36px;min-height:36px;margin:0;padding:6px 8px;font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.3}.lab-table input:focus,.lab-table select:focus{background:#fff;border:1px solid #2563eb;outline:none}.lab-table button{border-radius:6px;min-height:32px;margin:0;padding:4px 10px;font-size:13px}.locked-cell{color:#1f2937;white-space:nowrap;letter-spacing:-.005em;font-weight:600;background:#f8fafc!important}.lab-table td button{white-space:nowrap;border-radius:8px;width:auto;min-width:72px;min-height:36px;margin:0;padding:7px 14px;font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:600;line-height:1.2}.lab-table td:last-child{text-align:center;width:96px}.lab-toolbar{margin-bottom:12px}.lab-toolbar-grid{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;align-items:end;gap:12px;display:grid}.lab-toolbar-grid input,.lab-toolbar-grid select{background:#fff;border:1px solid #9ca3af;border-radius:8px;width:100%;min-height:38px;margin-top:6px;margin-bottom:0;padding:8px 10px;font-family:Inter,Arial,sans-serif;font-size:14px}.lab-toolbar-actions{gap:10px;margin-top:12px;display:flex}.lab-toolbar-actions button{width:auto;min-width:140px;min-height:38px;margin:0;padding:8px 14px;font-family:Inter,Arial,sans-serif;font-size:14px}@media (width<=900px){.lab-toolbar-grid{grid-template-columns:1fr 1fr}.lab-toolbar-actions{flex-wrap:wrap}}.lab-login-card{max-width:460px;margin-top:20px}.lab-page:has(.lab-login-card){max-width:720px;margin:0 auto;padding-top:32px}.lab-logo-footer{justify-content:center;align-items:center;margin-top:36px;padding:28px 0 18px;display:flex}.lab-logo-footer img{object-fit:contain;opacity:.95;width:150px;height:auto}.form-field{width:100%;margin-bottom:14px;display:block}.form-field label{margin-bottom:6px;display:block}input,select{font-family:Inter,Arial,sans-serif}select{background:#fff;border:1px solid #9ca3af;border-radius:8px;width:100%;min-height:44px;margin-top:6px;margin-bottom:14px;padding:10px 12px;font-size:16px}.row-number-cell{text-align:center;color:#374151;background:#f8fafc;width:48px;min-width:48px;font-weight:700}.lab-table tbody tr{cursor:pointer}.lab-table tbody tr.selected-row td{background:#dbeafe;border-top:1px solid #2563eb;border-bottom:1px solid #2563eb}.lab-table tbody tr.selected-row .row-number-cell{color:#fff;background:#2563eb}
