html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}*{box-sizing:border-box}.app{color:#1f2937;background:#f5f7fa;flex-direction:column;min-height:100vh;display:flex}.app-header{background:#fff;border-bottom:1px solid #dce2e8;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:14px 28px;display:flex}.app-header h1{margin:0;font-size:25px;font-weight:700}.app-header p{color:#6b7280;margin:3px 0 0;font-size:14px}.user-status{color:#4b5563;white-space:nowrap;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.status-dot{background:#9ca3af;border-radius:50%;flex:0 0 9px;width:9px;height:9px}.status-dot.signed-in{background:#22c55e}.auth-button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:7px;padding:9px 14px;font-size:14px;font-weight:600}.auth-button:hover{background:#1d4ed8}.auth-button.secondary{color:#374151;background:#eef2f7}.auth-button.secondary:hover{background:#e1e7ef}.main-tabs{background:#fff;border-bottom:1px solid #dce2e8;min-height:58px;padding-left:0;display:flex}.fieldseeker-main-tabs .tab{white-space:normal;flex:25%;min-width:0;padding:0 12px;line-height:1.2}.tab{cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;min-width:170px;padding:0 24px;font-size:16px;font-weight:600}.tab:hover{background:#f7f9fb}.tab.active{color:#2563eb;border-bottom-color:#2563eb}.content{flex:1;width:100%;padding:24px}.inventory-panel{background:#fff;border:1px solid #dce2e8;border-radius:10px;width:100%;padding:18px}.inventory-panel h2{margin:0 0 18px;font-size:22px}.inventory-subtitle{color:#4b5563;margin-bottom:10px;font-size:14px;font-weight:700}.summary-grid{grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-bottom:10px;display:grid}.summary-card{color:#243746;cursor:pointer;background:#fff;border:1px solid #cfd6dc;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:64px;font-weight:700;display:flex}.summary-card:hover{background:#eef6fb;border-color:#6aa3c5}.summary-card.selected{background:#d9eaf7;border:2px solid #1f6f9f}.summary-card strong{font-size:16px}.inventory-filters{background:#f6f7f8;border:1px solid #d5d9dd;border-radius:6px;align-items:center;gap:10px;margin-bottom:12px;padding:9px;display:flex}.search-control{flex:650px;align-items:center;gap:8px;min-width:320px;font-size:13px;font-weight:600;display:flex}.search-control input{background:#fff;border:1px solid #cbd3db;border-radius:5px;width:100%;min-width:0;height:38px;padding:0 10px}.search-control input:focus,.compact-filter select:focus,.custom-date-range input:focus{border-color:#2563eb;outline:2px solid #93c5fd}.compact-filter{white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.compact-filter select,.custom-date-range input{background:#fff;border:1px solid #cbd3db;border-radius:5px;height:38px;padding:0 9px}.custom-date-range{white-space:nowrap;align-items:center;gap:5px;display:flex}.refresh-button{cursor:pointer;background:#f2f2f2;border:1px solid #9aa3ab;border-radius:5px;height:38px;padding:0 16px;font-weight:700}.refresh-button:hover:not(:disabled){background:#e4e4e4}.refresh-button:disabled{color:#8b949e;cursor:default}.error-message{color:#991b1b;background:#fee2e2;border-radius:6px;margin:10px 0;padding:10px 12px;font-weight:600}.inventory-table-wrap{border:1px solid #e1e5e9;width:100%;overflow:auto}.inventory-table{border-collapse:collapse;background:#fff;width:100%;min-width:1250px;font-size:13px}.inventory-table th,.inventory-table td{white-space:nowrap;border-bottom:1px solid #d9dee3;border-right:1px solid #d9dee3;padding:8px 9px}.inventory-table th:last-child,.inventory-table td:last-child{border-right:none}.inventory-table thead th{z-index:1;color:#111827;background:#f4f5f6;padding:0;position:sticky;top:0}.sort-header{width:100%;min-height:38px;color:inherit;font:inherit;text-align:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:8px 9px;font-weight:700}.sort-header:hover{background:#e8edf2}.sort-indicator{color:#2563eb;min-width:14px;display:inline-block}.center-cell,.numeric-cell{text-align:center}.inventory-table tbody tr.status-positive td{background:#fce8e8}.inventory-table tbody tr.status-assigned td,.inventory-table tbody tr.status-tested td{background:#eaf5ea}.inventory-table tbody tr:hover td{box-shadow:inset 0 0 0 9999px #2563eb0a}.no-records{text-align:center;color:#6b7280;height:80px}.inventory-status-line{color:#555;margin-top:9px;font-size:13px}.empty-state{color:#6b7280;border:2px dashed #d1d5db;border-radius:10px;justify-content:center;align-items:center;min-height:150px;margin-top:18px;font-size:18px;display:flex}.pcr-placeholder p{color:#6b7280}.app-footer{color:#6b7280;background:#fff;border-top:1px solid #dce2e8;padding:12px 24px;font-size:13px}@media (width<=1000px){.content{padding:14px}.inventory-filters{flex-wrap:wrap}.search-control{flex-basis:100%}.summary-grid{grid-template-columns:repeat(5,minmax(105px,1fr));overflow-x:auto}}@media (width<=700px){.app-header{align-items:flex-start;padding:12px 16px}.app-header h1{font-size:21px}.user-status{flex-wrap:wrap;justify-content:flex-end}.main-tabs{padding-left:0}.tab{flex:1;min-width:0}.content{padding:8px}.inventory-panel{padding:10px}.summary-grid{grid-template-columns:repeat(5,115px)}.search-control{flex-wrap:wrap;min-width:100%}.search-control>span{width:100%}}.inventory-table tbody tr{cursor:pointer}.inventory-table tbody tr.selected-row td,.inventory-table tbody tr.selected-row:hover td{box-shadow:none;background:#fff3b0}.inventory-footer-row{justify-content:space-between;align-items:center;gap:14px;margin-top:9px;display:flex}.inventory-footer-row .inventory-status-line{margin-top:0}.inventory-actions{flex:none;align-items:center;gap:8px;display:flex}.row-action-button{color:#111;cursor:pointer;background:#f2f2f2;border:1px solid #888;border-radius:5px;min-height:32px;padding:4px 13px;font-weight:700}.row-action-button:hover:not(:disabled){background:#e4e4e4}.row-action-button:disabled{color:#999;cursor:default;background:#e6e6e6;border-color:#c7c7c7}.related-record-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.related-record-heading h2{margin-bottom:4px}.related-record-heading p{color:#6b7280;margin:0}.related-record-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:14px 0 18px;padding:14px 16px}.related-record-banner.compact{align-items:baseline;gap:10px;display:flex}.related-record-banner>span{color:#4b5563;text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-weight:700}.related-record-banner>strong{color:#1e3a8a;margin-top:3px;font-size:20px;display:block}.related-record-banner.compact>strong{margin-top:0;display:inline}.related-record-banner p{color:#4b5563;margin:8px 0 0}.trap-summary-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;display:grid}.trap-summary-item{background:#fff;border:1px solid #dce2e8;border-radius:8px;min-height:86px;padding:13px 14px}.trap-summary-item span{color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.trap-summary-item strong{color:#1f2937;font-size:15px}.guid-value{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px!important}.implementation-note{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin-top:16px;padding:12px 14px;font-size:13px}@media (width<=900px){.inventory-footer-row{flex-direction:column;align-items:stretch}.inventory-actions{justify-content:flex-end}.trap-summary-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (width<=600px){.inventory-actions{flex-direction:column}.row-action-button{width:100%}.related-record-heading{flex-direction:column}.trap-summary-grid{grid-template-columns:1fr}}.pcr-page{padding:16px}.pcr-page-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.pcr-page-heading h2{margin-bottom:4px}.pcr-page-heading p{color:#6b7280;margin:0}.pcr-mode-badge{white-space:nowrap;border:1px solid #9ca3af;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800}.pcr-mode-badge.assignment{color:#0b4f6c;background:#eef6fb;border-color:#7aa9c2}.pcr-mode-badge.tested{color:#246424;background:#edf8ed;border-color:#8bbf8b}.tested-plate-banner{color:#285d28;background:#f0faf0;border:1px solid #b7ddb7;border-radius:7px;align-items:center;gap:14px;margin-bottom:10px;padding:10px 13px;font-size:13px;display:flex}.tested-plate-banner strong{white-space:nowrap}.pcr-toolbar{background:#f7f8f9;border:1px solid #d5d9dd;border-radius:7px;grid-template-columns:minmax(180px,230px) minmax(110px,130px) minmax(260px,1fr) auto;align-items:end;gap:10px;margin-bottom:12px;padding:10px;display:grid}.pcr-toolbar-field{flex-direction:column;gap:4px;min-width:0;display:flex}.pcr-toolbar-field>span{color:#4b5563;text-transform:uppercase;letter-spacing:.02em;font-size:12px;font-weight:800}.pcr-toolbar-field select,.pcr-toolbar-field input{color:#111827;background:#fff;border:1px solid #b9c2cc;border-radius:6px;width:100%;height:44px;padding:0 10px;font-size:15px}.pcr-toolbar-field select:focus,.pcr-toolbar-field input:focus{border-color:#2563eb;outline:2px solid #93c5fd}.pcr-toolbar-field select:disabled,.pcr-toolbar-field input:disabled{color:#8b949e;background:#eceff2}.plate-id-field select,.tested-plate-id,.current-well-field strong{font-size:18px;font-weight:800}.tested-plate-id{background:#fff;border:1px solid #b9c2cc;border-radius:6px;align-items:center;min-height:42px;padding:0 10px;display:flex}.current-well-field strong{color:#0f3d63;background:#fff;border:1px solid #b9c2cc;border-radius:6px;justify-content:center;align-items:center;min-height:42px;display:flex}.pcr-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:590px;display:flex}.pcr-action{color:#111827;cursor:pointer;background:#f3f4f6;border:1px solid #939ba3;border-radius:5px;min-height:44px;padding:5px 11px;font-size:13px;font-weight:800}.pcr-action:hover:not(:disabled){background:#e5e7eb}.pcr-action.primary{color:#fff;background:#2563eb;border-color:#2563eb}.pcr-action.primary:hover:not(:disabled){background:#1d4ed8}.pcr-action.success{color:#fff;background:#2e9146;border-color:#27823d}.pcr-action.success:hover:not(:disabled){background:#247a39}.pcr-action.danger-outline{color:#8d2f2f;background:snow;border-color:#b45151}.pcr-action.danger-outline:hover:not(:disabled){background:#fdecec}.pcr-action:disabled{color:#969ca3;cursor:default;background:#e9ebed;border-color:#c9cdd1}.pcr-workbench{grid-template-columns:minmax(500px,5fr) minmax(620px,6fr);gap:12px;min-height:505px;display:grid}.plate-panel,.pcr-summary-panel{background:#fff;border:1px solid #d6dbe0;border-radius:7px;min-width:0;padding:10px}.pcr-panel-title-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.plate-panel h3,.pcr-summary-panel h3{color:#1f2937;margin:0 0 8px;font-size:15px}.pcr-panel-title-row h3{margin-bottom:0}.plate-legend{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.legend-item{color:#374151;background:#fff;border:1px solid #d4d8dc;border-radius:4px;align-items:center;gap:5px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-flex}.legend-dot{border:1px solid #9e9e9e;border-radius:50%;width:12px;height:12px;display:inline-block}.legend-dot.empty{background:#d9d9d9}.legend-dot.assigned{background:#28a745;border-color:#1e7e34}.legend-dot.positive{background:#dc3545;border-color:#9f1f2d}.legend-dot.selected{background:#fff;border:3px solid #f4b400}.plate-grid-wrap{width:100%;padding:4px;overflow:auto}.plate-grid{grid-template-columns:28px repeat(12,minmax(34px,1fr));place-items:center;gap:clamp(2px,.35vw,6px);width:min(100%,760px);min-width:510px;margin:0 auto;display:grid}.plate-corner,.plate-column-label,.plate-row-label{color:#4b5563;justify-content:center;align-items:center;min-height:24px;font-size:12px;font-weight:800;display:flex}.plate-well{aspect-ratio:1;color:#111;cursor:pointer;background:#d9d9d9;border:1px solid #9e9e9e;border-radius:50%;justify-content:center;align-items:center;width:100%;min-width:32px;max-width:52px;padding:0;font-size:clamp(9px,.72vw,12px);font-weight:600;display:flex}.plate-well:hover{filter:brightness(.96)}.plate-well.assigned{color:#fff;background:#28a745;border-color:#1e7e34;font-weight:800}.plate-well.positive{color:#fff;background:#dc3545;border-color:#9f1f2d;font-weight:800}.plate-well.selected{outline-offset:1px;outline:3px solid #f4b400}.pcr-table-wrap{border:1px solid #e1e5e9;width:100%;max-height:455px;overflow:auto}.pcr-summary-table{border-collapse:collapse;background:#fff;width:100%;min-width:1500px;font-size:12px}.pcr-summary-table th,.pcr-summary-table td{white-space:nowrap;border-bottom:1px solid #d9dee3;border-right:1px solid #d9dee3;padding:7px 8px}.pcr-summary-table th:last-child,.pcr-summary-table td:last-child{border-right:0}.pcr-summary-table thead th{z-index:2;background:#f4f5f6;padding:0;position:sticky;top:0}.pcr-summary-table tbody tr{cursor:pointer}.pcr-summary-table tbody tr:hover td{background:#f2f7fc}.pcr-summary-table tbody tr.selected-row td{background:#fff3b0}.pcr-summary-table tbody tr.tested-row:not(.selected-row) td{background:#edf8ed}.pcr-summary-table .positive-text{color:#b91c1c;font-weight:800}.pcr-no-records{color:#6b7280;text-align:center;height:110px}.pcr-status{color:#4b5563;background:#f8f9fa;border:1px solid #d5d9dd;border-radius:6px;align-items:center;gap:8px;min-height:42px;margin-top:10px;padding:8px 11px;font-size:13px;font-weight:600;display:flex}.pcr-status-dot{background:#9ca3af;border-radius:50%;flex:0 0 9px;width:9px;height:9px}.pcr-status.working .pcr-status-dot{background:#2563eb}.pcr-status.success{color:#285d28;background:#f0faf0;border-color:#b7ddb7}.pcr-status.success .pcr-status-dot{background:#22c55e}.pcr-status.error{color:#991b1b;background:#fff1f1;border-color:#efb1b1}.pcr-status.error .pcr-status-dot{background:#dc2626}@media (width<=1450px){.pcr-toolbar{grid-template-columns:210px 120px minmax(260px,1fr)}.pcr-toolbar-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}.pcr-workbench{grid-template-columns:minmax(480px,5fr) minmax(560px,6fr)}}@media (width<=1120px){.pcr-workbench{grid-template-columns:1fr}.plate-grid{width:min(100%,720px)}.pcr-table-wrap{max-height:390px}}@media (width<=760px){.pcr-page{padding:9px}.pcr-page-heading,.tested-plate-banner{flex-direction:column;align-items:flex-start}.pcr-toolbar{grid-template-columns:1fr 110px}.assign-pool-field,.pcr-toolbar-actions{grid-column:1/-1}.plate-panel,.pcr-summary-panel{padding:7px}}.pcr-selection-strip{background:#d5d9dd;border:1px solid #d5d9dd;border-radius:7px;grid-template-columns:90px 100px minmax(130px,1fr) minmax(120px,1fr) minmax(150px,1.2fr) 90px minmax(100px,.8fr);gap:1px;margin-bottom:12px;display:grid;overflow:hidden}.pcr-selection-strip>div{background:#fff;flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:58px;padding:8px 10px;display:flex}.pcr-selection-strip span{color:#6b7280;letter-spacing:.03em;text-transform:uppercase;font-size:10px;font-weight:800}.pcr-selection-strip strong{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.plate-capacity{color:#6b7280;white-space:nowrap;margin-left:8px;font-size:11px;font-weight:600}@media (width<=1000px){.pcr-selection-strip{grid-template-columns:repeat(4,minmax(120px,1fr))}}@media (width<=900px){.pcr-toolbar{grid-template-columns:minmax(180px,1fr) 120px}.assign-pool-field,.pcr-toolbar-actions{grid-column:1/-1}.pcr-action{min-height:44px}}@media (width<=620px){.pcr-selection-strip{grid-template-columns:repeat(2,minmax(120px,1fr))}.pcr-toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pcr-action{width:100%}}.pcr-workflow-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.pcr-workflow-tabs button{color:#374151;cursor:pointer;background:#eef0f2;border:1px solid #c7cdd3;border-radius:9px;min-height:46px;font-size:14px;font-weight:800}.pcr-workflow-tabs button:hover{background:#e6edf3}.pcr-workflow-tabs button.active{color:#0b4f6c;background:#fff;border-color:#7aa9c2;box-shadow:inset 0 -3px #2563eb}.pcr-results-toolbar{background:#f7f8f9;border:1px solid #d5d9dd;border-radius:7px;grid-template-columns:minmax(180px,230px) minmax(300px,1fr) auto auto;align-items:end;gap:10px;margin-bottom:12px;padding:10px;display:grid}.pcr-targets{background:#fff;border:1px solid #b9c2cc;border-radius:6px;align-items:center;gap:10px;min-height:44px;margin:0;padding:6px 10px;display:flex}.pcr-targets legend{color:#4b5563;letter-spacing:.03em;text-transform:uppercase;padding:0 4px;font-size:10px;font-weight:800}.pcr-targets label{color:#1f2937;cursor:pointer;align-items:center;gap:5px;font-size:13px;font-weight:800;display:inline-flex}.pcr-targets input[type=checkbox]{accent-color:#dc3545;width:18px;height:18px}.pcr-targets:disabled{color:#969ca3;background:#eceff2}.pcr-results-actions{max-width:none}@media (width<=1250px){.pcr-results-toolbar{grid-template-columns:210px minmax(280px,1fr) auto}.pcr-results-actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=850px){.pcr-results-toolbar{grid-template-columns:1fr}.pcr-results-actions{grid-column:auto}.pcr-targets{min-height:52px}}.legend-dot.inspected{background:#fff;border:3px solid #2563eb}.plate-well.current{outline-offset:2px;outline:3px solid #f4b400}.plate-well.inspected:not(.current){outline-offset:1px;outline:2px solid #2563eb}.pcr-page-heading.compact{margin-bottom:10px}@media (width<=760px){.fieldseeker-main-tabs{overflow-x:auto}.fieldseeker-main-tabs .tab{flex:0 0 180px;min-height:58px}}.trap-processing-page{padding:14px}.trap-page-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.trap-page-heading h2{margin:0 0 3px}.trap-page-heading p{color:#6b7280;margin:0;font-size:13px}.trap-section{background:#fff;border:1px solid #d6dbe0;border-radius:7px;margin-bottom:9px;padding:9px}.trap-section-title,.trap-section-title-row{color:#1f2937;font-size:14px;font-weight:800}.trap-section-title{margin-bottom:7px}.trap-section-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.trap-pool-count{color:#64748b;text-align:right;font-size:12px;font-weight:600}.trap-info-grid{grid-template-columns:minmax(310px,2fr) minmax(150px,1.25fr) minmax(85px,.65fr) minmax(150px,1fr) minmax(150px,1fr) minmax(105px,.75fr);align-items:end;gap:8px;display:grid}.trap-field{flex-direction:column;gap:3px;min-width:0;display:flex}.trap-field>span{color:#4b5563;text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:800}.trap-field input,.read-only-field>div{color:#111827;background:#fff;border:1px solid #b9c2cc;border-radius:5px;width:100%;min-width:0;height:40px;padding:0 9px;font-size:14px}.trap-field input:focus{border-color:#2563eb;outline:2px solid #93c5fd}.trap-field input:disabled{color:#8b949e;background:#eceff2}.read-only-field>div{text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;align-items:center;display:flex;overflow:hidden}.inline-control{align-items:center;gap:6px;display:flex}.inline-control input{flex:auto}.trap-button{color:#111827;white-space:nowrap;cursor:pointer;background:#f3f4f6;border:1px solid #939ba3;border-radius:5px;min-height:40px;padding:5px 12px;font-size:13px;font-weight:800}.trap-button:hover:not(:disabled){background:#e5e7eb}.trap-button.primary{color:#fff;background:#2563eb;border-color:#2563eb}.trap-button.primary:hover:not(:disabled){background:#1d4ed8}.trap-button.danger-outline{color:#8d2f2f;background:snow;border-color:#b45151}.trap-button.danger-outline:hover:not(:disabled){background:#fdecec}.trap-button:disabled{color:#969ca3;cursor:default;background:#e9ebed;border-color:#c9cdd1}.bench-pool-grid{grid-template-columns:minmax(210px,1.3fr) minmax(110px,.55fr) minmax(280px,1.8fr) auto;align-items:end;gap:8px;display:grid}.bench-save-button{min-width:145px}.trap-table-wrap{border:1px solid #e1e5e9;width:100%;overflow:auto}.compact-pool-table-wrap{max-height:190px}.species-table-wrap{min-height:235px;max-height:430px}.trap-table{border-collapse:collapse;background:#fff;width:100%;font-size:12px}.created-pools-table{min-width:870px}.species-table{min-width:1290px}.trap-table th,.trap-table td{white-space:nowrap;border-bottom:1px solid #d9dee3;border-right:1px solid #d9dee3;padding:6px 7px}.trap-table th:last-child,.trap-table td:last-child{border-right:0}.trap-table thead th{z-index:2;background:#f4f5f6;padding:0;position:sticky;top:0}.trap-table tbody tr{cursor:pointer}.trap-table tbody tr:hover td{background:#f4f8fc}.trap-table tbody tr.linked-row td,.trap-table tbody tr.selected-row td{background:#fff3b0}.trap-table tbody tr.deleted-row td{color:#8b0000;background:#f9d6d6}.trap-table tbody tr.deleted-row input{color:#8b0000;background:#f4cccc}.trap-table input[type=text],.trap-table input[list],.trap-table input[type=number]{background:#fff;border:1px solid #c7cdd3;border-radius:4px;width:100%;min-width:58px;height:31px;padding:0 6px;font-size:12px}.trap-table input[type=number]{text-align:center}.trap-table .species-name-cell{min-width:205px}.trap-table .species-name-cell input{min-width:190px}.trap-table input.pooled-minimum{background:#eef8ee;font-weight:700}.read-only-total{min-width:64px;font-weight:800}.pool-summary-cell{min-width:120px;font-weight:700}.pool-summary-cell.pending{background:#fff3cd}.pool-summary-cell.final{background:#d1e7dd}.pool-summary-cell.problem{color:#842029;background:#f8d7da}.species-status{border-radius:999px;min-width:67px;padding:3px 7px;font-size:11px;font-weight:800;display:inline-block}.status-existing{color:#475569;background:#eef2f7}.status-new{color:#1d4ed8;background:#dbeafe}.status-modified{color:#7c5b00;background:#fff3cd}.status-delete{color:#991b1b;background:#fee2e2}.trap-no-records{color:#6b7280;text-align:center;height:64px}.trap-table-actions,.species-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:7px;display:flex}.trap-table-actions>span{color:#64748b;flex:auto;min-width:0;font-size:12px}.species-actions-left{align-items:center;gap:7px;display:flex}.species-footer>strong{color:#1f2937;margin-left:auto;font-size:13px}.trap-status{color:#4b5563;background:#f8f9fa;border:1px solid #d5d9dd;border-radius:6px;align-items:center;gap:8px;min-height:40px;padding:7px 10px;font-size:13px;font-weight:600;display:flex}.trap-status-dot{background:#9ca3af;border-radius:50%;flex:0 0 9px;width:9px;height:9px}.trap-status.working .trap-status-dot{background:#2563eb}.trap-status.success{color:#285d28;background:#f0faf0;border-color:#b7ddb7}.trap-status.success .trap-status-dot{background:#22c55e}.trap-status.error{color:#991b1b;background:#fff1f1;border-color:#efb1b1}.trap-status.error .trap-status-dot{background:#dc2626}@media (width<=1250px){.trap-info-grid{grid-template-columns:minmax(300px,2fr) repeat(2,minmax(130px,1fr))}.bench-pool-grid{grid-template-columns:minmax(220px,1fr) 130px minmax(260px,1.4fr) auto}}@media (width<=900px){.trap-info-grid,.bench-pool-grid{grid-template-columns:1fr 1fr}.trap-barcode-field,.bench-barcode-field{grid-column:1/-1}.bench-save-button{width:100%}.trap-section-title-row,.species-footer{flex-direction:column;align-items:stretch}.trap-pool-count{text-align:left}.species-footer>strong{margin-left:0}}@media (width<=600px){.trap-info-grid,.bench-pool-grid{grid-template-columns:1fr}.trap-barcode-field,.bench-barcode-field{grid-column:auto}.inline-control{flex-wrap:wrap}.inline-control input{flex-basis:100%}.inline-control .trap-button{flex:45%}.species-actions-left,.trap-table-actions{flex-direction:column;align-items:stretch}.species-actions-left .trap-button,.trap-table-actions .trap-button,.species-footer>.trap-button{width:100%}}.barcode-with-camera{align-items:center;gap:6px;width:100%;min-width:0;display:flex}.barcode-with-camera>input{flex:auto;width:auto;min-width:0}.inventory-search-camera{flex:auto}.camera-scan-button{color:#111827;cursor:pointer;background:#fff;border:1px solid #7e8b99;border-radius:6px;flex:0 0 44px;width:44px;height:44px;font-size:20px;line-height:1}.trap-field .camera-scan-button,.search-control .camera-scan-button{flex-basis:40px;width:40px;height:40px}.camera-scan-button:hover:not(:disabled){background:#eff6ff;border-color:#2563eb}.camera-scan-button:focus-visible{outline-offset:1px;outline:2px solid #93c5fd}.camera-scan-button:disabled{color:#9ca3af;cursor:default;background:#eceff2;border-color:#c9cdd1}.camera-scanner-backdrop{z-index:10000;background:#0f172aa8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.camera-scanner-dialog{background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:min(680px,100%);max-height:calc(100vh - 36px);padding:14px;overflow:auto;box-shadow:0 22px 55px #0f172a52}.camera-scanner-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.camera-scanner-heading>div:first-child{flex-direction:column;gap:2px;display:flex}.camera-scanner-heading strong{font-size:17px}.camera-scanner-heading span{color:#64748b;font-size:12px;font-weight:600}.camera-scanner-actions{gap:7px;display:flex}.camera-scanner-actions button{color:#111827;cursor:pointer;background:#f8fafc;border:1px solid #aab2bb;border-radius:6px;min-height:38px;padding:6px 10px;font-weight:700}.camera-scanner-actions button:disabled{color:#9ca3af;cursor:default}.camera-reader{background:#111827;border:1px solid #cbd5e1;border-radius:9px;width:100%;min-height:260px;overflow:hidden}.camera-reader video{object-fit:cover;max-height:58vh}.camera-scanner-status{color:#334155;margin-top:9px;font-size:13px;font-weight:700}.camera-scanner-help{color:#64748b;margin:5px 0 0;font-size:12px}@media (width<=720px){.camera-scanner-backdrop{align-items:flex-start;padding:8px}.camera-scanner-dialog{border-radius:9px;width:100%;max-height:calc(100vh - 16px);padding:10px}.camera-scanner-heading{flex-direction:column;align-items:flex-start}.camera-scanner-actions{width:100%}.camera-scanner-actions button{flex:50%}.camera-reader{min-height:220px}}.app-sticky-top{z-index:1200;background:#fff;position:sticky;top:0;box-shadow:0 1px #0f172a0f}.floating-toast{top:calc(env(safe-area-inset-top,0px) + 148px);z-index:9000;color:#172033;background:#fff;border:1px solid #0f172a1f;border-radius:10px;grid-template-columns:50px minmax(0,1fr) 30px;width:min(390px,100vw - 32px);min-height:76px;animation:.18s ease-out both fieldseeker-toast-in;display:grid;position:fixed;right:20px;overflow:hidden;box-shadow:0 12px 34px #0f172a38}.floating-toast.leaving{pointer-events:none;animation:.18s ease-in both fieldseeker-toast-out}.floating-toast-icon{color:#fff;background:#1fa7bd;justify-content:center;align-self:stretch;align-items:center;font-size:24px;font-weight:900;display:flex}.floating-toast.success .floating-toast-icon{background:#22a447}.floating-toast.warning .floating-toast-icon{background:#e6a700}.floating-toast.error .floating-toast-icon{background:#e33446}.floating-toast.working .floating-toast-icon{background:#2563eb}.floating-toast-copy{flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:12px 10px 12px 13px;display:flex}.floating-toast-copy strong{color:#111827;font-size:15px;line-height:1.15}.floating-toast-copy span{overflow-wrap:anywhere;color:#374151;font-size:13px;font-weight:600;line-height:1.3}.floating-toast-close{color:#9ca3af;cursor:pointer;background:0 0;border:0;align-self:start;width:30px;height:34px;font-size:20px;font-weight:800}.floating-toast-close:hover{color:#4b5563}.floating-toast-spinner{border:3px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:21px;height:21px;animation:.72s linear infinite fieldseeker-toast-spin}@keyframes fieldseeker-toast-spin{to{transform:rotate(360deg)}}@keyframes fieldseeker-toast-in{0%{opacity:0;transform:translate(20px,-8px)}to{opacity:1;transform:translate(0,0)}}@keyframes fieldseeker-toast-out{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(20px,-8px)}}@media (width<=900px){.floating-toast{top:calc(env(safe-area-inset-top,0px) + 144px);width:min(620px,100vw - 24px);animation-name:fieldseeker-toast-in-tablet;left:50%;right:auto;transform:translate(-50%)}.floating-toast.leaving{animation-name:fieldseeker-toast-out-tablet}}@keyframes fieldseeker-toast-in-tablet{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes fieldseeker-toast-out-tablet{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}@media (width<=600px){.floating-toast{top:calc(env(safe-area-inset-top,0px) + 138px);grid-template-columns:44px minmax(0,1fr) 30px;width:calc(100vw - 16px)}.floating-toast-copy{padding:10px 8px 10px 11px}}@media (prefers-reduced-motion:reduce){.floating-toast,.floating-toast.leaving,.floating-toast-spinner{animation-duration:1ms}}
