
:root{--ink:#18352c;--green:#245b43;--bg:#f4f5ef;--muted:#708077;--line:#dde3da}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}header{background:#173c2d;color:white;padding:20px 5%;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:800;font-size:23px;letter-spacing:-1px}.brand span{color:#b8d17c}header small{color:#b7c8bd}main{max-width:1100px;margin:auto;padding:32px 24px 100px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800;color:var(--muted)}h1{font-size:32px;letter-spacing:-1.2px;margin:8px 0}h2{font-size:19px;margin:0 0 18px}p{color:var(--muted);line-height:1.5}.top{display:flex;justify-content:space-between;align-items:center;gap:12px}.pill{border-radius:30px;padding:8px 12px;background:#e8eedc;font-size:12px;white-space:nowrap}.grid{display:grid;grid-template-columns:1fr 320px;gap:24px;margin-top:26px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:25px;margin-bottom:18px}.num{display:inline-grid;place-items:center;background:#edf1e7;border-radius:9px;width:30px;height:30px;margin-right:9px;color:var(--green);font-size:14px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:13px;font-weight:650;margin-bottom:7px}input,select{width:100%;background:#fafbf8;border:1px solid #cdd7cd;padding:13px;border-radius:9px;color:var(--ink);min-width:0}input:focus,select:focus{outline:2px solid #9abd73}.wide{grid-column:1/-1}.link{background:none;border:0;color:var(--green);font-size:12px;padding:7px 0;text-align:left}.btn{border:1px solid var(--line);border-radius:10px;padding:13px 18px;background:white;color:var(--ink);font-weight:650}.primary{background:var(--green);color:white;border:0}.full{width:100%}.check{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.5;padding:12px 0}.check input{width:19px;height:19px;accent-color:var(--green)}.muted{color:var(--muted);font-size:12px;line-height:1.6}.summary{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.summary b{text-align:right}.note{background:#eef2e5;padding:16px;border-radius:12px;font-size:12px;line-height:1.7}.stats{display:flex;gap:28px;margin:20px 0}.stats strong{display:block;font-size:30px}.tabs{display:flex;gap:6px}.tabs button{border:0;background:none;color:#c6d6cb;padding:9px 12px;border-radius:7px}.tabs button.active{background:#345744;color:white}.banner{background:#e7edd7;color:#455d29;text-align:center;padding:8px;font-size:11px}.record{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:12px}.tag{font-size:11px;background:#edf2e6;border-radius:5px;padding:5px 7px}.hidden{display:none!important}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#183d2e;color:white;padding:15px 24px;border-radius:12px;z-index:10;max-width:90vw}.upload{border:1px dashed #b7c5b4;border-radius:10px;padding:20px;text-align:center;background:#fafbf7}.upload input{margin-top:12px;font-size:12px}canvas{width:100%;height:130px;border:1px dashed #b7c5b4;border-radius:9px;touch-action:none}footer{font-size:11px;color:var(--muted);text-align:center;margin-top:30px}@media(max-width:760px){header{padding:16px}.brand{font-size:20px}header small{display:none}.tabs button{padding:8px;font-size:12px}main{padding:24px 16px 80px}.grid{grid-template-columns:1fr;gap:0}.fields{grid-template-columns:1fr}.wide{grid-column:auto}.card{padding:20px}h1{font-size:28px}.top{align-items:flex-start}.pill{font-size:10px}.stats{gap:24px}}

html{ -webkit-text-size-adjust:100% } .grid>*{min-width:0}.summary b,.record>div{min-width:0;overflow-wrap:anywhere}.timestamp{display:flex;flex-wrap:wrap;gap:6px 12px;margin:16px 0 0;color:var(--muted);font-size:13px}.timestamp time{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:650}.settings-form .btn{margin-top:14px}.link{min-height:44px}.check input{flex-shrink:0}.tabs button{min-height:44px}input,select{font-size:16px}button:focus-visible{outline:3px solid #9abd73;outline-offset:3px}
@media(max-width:760px){header{flex-direction:column;align-items:stretch;gap:12px}.brand{text-align:center}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.tabs button{font-size:14px;padding:10px 4px}.top{flex-wrap:wrap}.card{padding:18px}.record{flex-direction:column}.record>div:last-child{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.record>div:last-child .muted{margin-top:0!important}.summary b{max-width:65%}.btn{min-height:48px}.upload{padding:14px}.upload input{max-width:100%}main{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.banner{line-height:1.6}}
@media(max-width:359px){main{padding-left:10px;padding-right:10px}.card{padding:14px}h1{font-size:26px}.summary{font-size:12px}}
.alert{border-radius:12px;padding:16px;margin:16px 0;line-height:1.6;overflow-wrap:anywhere}.alert.red{background:#fbe9e7;border:1px solid #d99b95;color:#8a261e}.alert.yellow{background:#fff4d6;border:1px solid #ddc27b;color:#725211}.signal{display:inline-block;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:700}.signal.green{background:#e8f2e6;color:#275c30}.signal.yellow{background:#fff2ce;color:#735214}.signal.red{background:#fbe9e7;color:#8a261e}textarea{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid #cdd7cd;border-radius:9px;resize:vertical;min-height:80px}.btn:disabled{opacity:.5;cursor:not-allowed}.traffic-row{padding:14px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.traffic-row>div{min-width:0;overflow-wrap:anywhere}.traffic-row .btn{flex-shrink:0}@media(max-width:400px){.traffic-row{align-items:flex-start;flex-direction:column}}
.field-traffic{margin-top:8px;font-size:12px;line-height:1.5}.field-traffic:empty{display:none}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin:16px 0}.filters .search-field{grid-column:1/-1}.filter-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.copy-dialog{width:min(95vw,760px);max-height:90dvh;overflow:auto;border:1px solid #cdd7cd;border-radius:16px;padding:24px}.copy-dialog::backdrop{background:#10251dcc}.copy-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:2px solid #245b43;padding-bottom:16px}.copy-table{width:100%;border-collapse:collapse;margin:18px 0}.copy-table th,.copy-table td{padding:10px 0;border-bottom:1px solid #dde3da;text-align:left;vertical-align:top;overflow-wrap:anywhere}.copy-table th{width:35%;padding-right:14px;color:#708077;font-size:13px}.copy-table td{white-space:pre-wrap}.copy-media{max-width:100%;max-height:300px;object-fit:contain}.copy-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.record-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.copy-sheet h2{margin-top:18px}.copy-sheet{overflow-wrap:anywhere}
@media(max-width:760px){.filters{grid-template-columns:1fr}.filters .search-field{grid-column:auto}.copy-dialog{padding:18px}.copy-header{flex-direction:column}.copy-table th{width:38%}.record-actions{flex-direction:row;align-items:center}}
@media print{@page{size:A4;margin:14mm}body:has(#copyDialog[open]){background:white;color:#111}body:has(#copyDialog[open])>*:not(#copyDialog){display:none!important}#copyDialog[open]{position:static;display:block;inset:auto;margin:0;padding:0;border:0;border-radius:0;width:100%;max-width:none;max-height:none;overflow:visible;box-shadow:none}#copyDialog::backdrop{display:none}.copy-actions{display:none!important}.copy-header{flex-direction:row}.copy-table tr,.copy-media{break-inside:avoid}.copy-sheet h2{break-after:avoid}.copy-sheet{font-size:12px}.copy-sheet .note{border:1px solid #ddd;background:white}.copy-media{max-height:220px}}
.role-demo{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:#edf1e5;padding:10px 16px}.role-demo label{margin:0;font-size:12px}.role-demo select{width:auto;max-width:100%;padding:8px 12px;background:white}.permission-hint{line-height:1.6}.master-search{margin-bottom:16px}.master-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.master-row>div{min-width:0;overflow-wrap:anywhere}.master-row .btn{flex-shrink:0}@media(max-width:400px){.master-row{align-items:flex-start;flex-direction:column}.role-demo{justify-content:flex-start}}

.delivery-note{color:#17221d;font-family:Arial,Helvetica,sans-serif}.letterhead{min-height:100px;border-bottom:1px solid #263b30;padding:8px 0 20px}.letterhead-name{font-size:25px;font-weight:700;color:#294838}.letterhead-placeholder{font-size:11px;color:#768278;margin-top:8px}.receipt-address-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto);gap:28px;margin-top:34px;min-height:125px}.address-caption{font-size:10px;color:#708077;margin-bottom:12px}.recipient{font-size:14px;line-height:1.6}.recipient-lines{white-space:pre-line}.missing-address{color:#8a7544;font-size:12px}.receipt-meta{font-size:12px}.receipt-meta div{margin-bottom:14px}.receipt-meta span{display:block;color:#708077;margin-bottom:5px}.receipt-meta b{display:block;font-weight:600}.receipt-title{margin-top:24px;padding-bottom:12px;border-bottom:2px solid #263b30}.receipt-title h1{font-size:26px;letter-spacing:0;margin:0 0 7px}.receipt-title span{font-size:12px;color:#708077}.receipt-demo{font-size:10px;color:#897642;margin-top:10px;line-height:1.5}.receipt-details{width:100%;border-collapse:collapse;margin:24px 0}.receipt-details th,.receipt-details td{padding:8px 0;vertical-align:top;text-align:left;overflow-wrap:anywhere}.receipt-details th{width:37%;font-size:12px;font-weight:400;color:#526057;padding-right:14px}.receipt-details td{font-size:13px;white-space:pre-wrap}.material-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.material-table th{background:#f0f2ee;font-size:11px;text-align:left;border-top:1px solid #263b30;border-bottom:1px solid #263b30;padding:11px 9px}.material-table td{padding:16px 9px;border-bottom:1px solid #bec6be;vertical-align:top;overflow-wrap:anywhere}.material-table th:first-child{width:10%}.material-table th:nth-child(2){width:25%}.receipt-notes{margin-top:28px}.receipt-notes h2{font-size:12px!important;margin:0 0 8px!important}.receipt-notes p{color:inherit;font-size:13px;white-space:pre-wrap;margin:0}.receipt-signature{margin-top:34px;max-width:300px;break-inside:avoid}.receipt-signature img{display:block;width:100%;height:95px;object-fit:contain;object-position:left bottom}.receipt-signature div{border-top:1px solid #6b776d;padding-top:8px;font-size:10px;color:#526057}.receipt-bottom{margin-top:45px;padding-top:10px;border-top:1px solid #bec6be;display:flex;flex-direction:column;gap:5px;font-size:10px;color:#708077}.receipt-annex{margin-top:32px}.receipt-annex h2{font-size:18px}.receipt-annex p{font-size:11px}
@media(max-width:500px){.receipt-address-row{grid-template-columns:1fr;gap:20px}.receipt-meta{display:flex;gap:20px;flex-wrap:wrap}.receipt-title h1{font-size:23px}.material-table th:first-child{width:12%}.material-table th:nth-child(2){width:28%}}
@media print{.copy-dialog{font-family:Arial,Helvetica,sans-serif}.letterhead{min-height:26mm}.receipt-address-row{grid-template-columns:minmax(0,1fr) 62mm;min-height:33mm;margin-top:12mm}.receipt-meta{display:block}.receipt-title{margin-top:5mm}.receipt-title h1{font-size:22px}.receipt-details{margin:7mm 0}.material-table tr,.receipt-signature{break-inside:avoid}.receipt-annex{break-before:page;margin-top:0}.receipt-annex .copy-media{max-height:200mm}.receipt-demo{color:#555}.receipt-bottom{margin-top:14mm}}
.danger{color:#922c25;border-color:#d8a29e;background:#fff9f8}.cancelled-record{border-left:3px solid #b74a40;padding-left:14px}.cancel-note{margin:12px 0;border:1px solid #d8a29e;border-radius:8px;padding:12px;color:#802a23;font-size:12px;line-height:1.6;background:#fff2ef}.cancel-note p{margin:6px 0 0;color:inherit;white-space:pre-wrap}.receipt-cancel{border:2px solid #a22b25;padding:14px;margin:18px 0;color:#922c25;line-height:1.6}.receipt-cancel b{font-size:18px;letter-spacing:1px}.receipt-cancel p{font-size:12px;margin:6px 0;color:inherit;white-space:pre-wrap}.cancel-dialog{max-width:500px;width:95vw;border:1px solid #cdd7cd;border-radius:16px;padding:24px}.cancel-dialog::backdrop{background:#10251dcc}@media print{.receipt-cancel{color:#111;border-color:#111;break-inside:avoid}}

.management-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px;margin:24px 0}.management-tabs button{border:1px solid var(--line);background:white;border-radius:10px;padding:12px 18px;min-height:46px;color:var(--ink);font-weight:650}.management-tabs button.active{background:var(--green);border-color:var(--green);color:white}.management-search{padding:18px}.section-heading{margin:22px 0 16px}.section-heading h2{margin-bottom:6px}.entity-card{padding:22px}.entity-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.entity-top h3{font-size:18px;margin:0 0 6px;overflow-wrap:anywhere}.entity-top>div{min-width:0}.entity-top .signal{flex-shrink:0}.entity-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.entity-actions .btn{font-size:13px}.entity-reason{font-size:13px;color:var(--ink);margin-bottom:0}.entity-probes{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.entity-probes summary{font-size:13px;font-weight:650;cursor:pointer;padding:6px 0}.category-request{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 0;border-top:1px solid #e7ebe3;font-size:13px}.category-request:first-child{margin-top:14px}.category-request p{margin:7px 0;color:var(--ink);white-space:pre-wrap}.category-request .link{flex-shrink:0}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.signal.green .status-dot{background:#298449}.signal.yellow .status-dot{background:#d59c18}.signal.red .status-dot{background:#be3a32}.plate-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}@media(max-width:600px){.management-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.management-tabs button{padding:12px 8px}.entity-card{padding:18px}.entity-top h3{font-size:17px}.entity-actions .btn{flex:1 1 130px}.category-request{flex-direction:column;gap:0}}

.sample-id{font-family:ui-monospace,monospace;font-size:17px;letter-spacing:.5px}.label-dialog{width:min(98vw,1000px);max-height:96dvh;border:1px solid #cdd7cd;border-radius:14px;padding:20px;overflow:auto}.label-dialog::backdrop{background:#10251dcc}.label-controls{max-width:760px;margin:0 auto 24px}#labelSheets{overflow-x:auto;background:#e5e7df;padding:12px}.label-page{background:white;color:black;width:210mm;height:297mm;margin:0 auto 16px;box-shadow:0 2px 8px #0002;padding:12.9mm 7.25mm;box-sizing:border-box;--label-height:33.9mm}.label-page.format-21{--label-height:38.1mm;padding-top:15.15mm;padding-bottom:15.15mm}.label-grid{display:grid;grid-template-columns:repeat(3,63.5mm);column-gap:2.5mm;row-gap:0}.sample-label{display:flex;align-items:center;gap:1.5mm;width:63.5mm;height:var(--label-height);padding:2mm;border:1px dashed #ddd;overflow:hidden;break-inside:avoid}.sample-label svg{width:26mm;height:26mm;flex:0 0 26mm;display:block}.label-text{font-family:Arial,Helvetica,sans-serif;color:#000;min-width:0}.label-text>span{font-size:7px;letter-spacing:.4px;display:block;margin-bottom:2mm}.human-sample-id{font-family:ui-monospace,monospace;font-size:12px;line-height:1.2;font-weight:700;white-space:nowrap}.human-sample-id strong{font-size:21px;letter-spacing:.6px;display:block;margin:1mm 0}.label-text small{font-size:7px}.label-page .sample-label{background:white}
@media print{@page qrLabels{size:A4;margin:0}body:has(#labelDialog[open])>*:not(#labelDialog){display:none!important}#labelDialog[open]{display:block;position:static;margin:0;padding:0;inset:auto;width:210mm;max-width:none;max-height:none;height:auto;border:0;border-radius:0;overflow:visible;background:white;page:qrLabels}#labelDialog::backdrop{display:none}.label-controls{display:none!important}#labelSheets{padding:0;overflow:visible;background:white}.label-page{margin:0;box-shadow:none;break-after:page;page:qrLabels}.label-page:last-child{break-after:auto}.sample-label{border:0}}

.container{max-width:1100px;margin:auto;padding:24px 16px 80px}.stack>*{margin-bottom:14px}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a{color:inherit;text-decoration:none;padding:10px;border-radius:8px}.nav a.active{background:#e5edd9;color:#173c2d}.error{background:#fbe9e7;color:#8a261e;padding:16px;border-radius:10px}.success{background:#e8f2e6;padding:16px;border-radius:10px}.form-row{margin:14px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:12px;border-bottom:1px solid #dde3da;vertical-align:top}.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline form{margin:0}.signature{width:100%;height:150px;touch-action:none}.thumb{max-width:100%;max-height:240px}.small{font-size:12px}.warning{background:#fff3d0;padding:14px;border-radius:10px}a{color:#245b43}.login{max-width:480px;margin:40px auto}.nowrap{white-space:nowrap}fieldset{border:0;padding:0;margin:0}.hidden{display:none!important}

.mfa-qr svg{width:220px;height:220px}body:has(#labelSheets){background:white}@media print{@page qrLabels{size:A4;margin:0}body:has(#labelSheets)>header,body:has(#labelSheets) .nav,body:has(#labelSheets) .banner,body:has(#labelSheets) .label-controls,body:has(#labelSheets) h1,body:has(#labelSheets) footer{display:none!important}body:has(#labelSheets) .container{margin:0;padding:0;max-width:none}#labelSheets{padding:0;background:white;overflow:visible}.label-page{margin:0;box-shadow:none;page:qrLabels;break-after:page}.label-page:last-child{break-after:auto}.sample-label{border:0}}
:root{--green:#35623c;--ink:#575757;--blue:#5a95b1}header{background:white;color:#575757;border-bottom:4px solid #80af7f}.company-logo{width:min(70vw,470px);height:auto;display:block}.sub-options{margin:0 0 20px 28px;padding-left:14px;border-left:3px solid #d2cbad}.hidden{display:none!important}input,select,textarea{max-width:100%}.capture-alt{margin-top:18px;padding-top:16px;border-top:1px solid #ddd}.route-choice{width:100%;text-align:left;margin-top:8px}dialog{max-width:min(94vw,650px)}@media(max-width:600px){header{align-items:flex-start;gap:12px;flex-direction:column}.company-logo{width:min(85vw,470px)}}

.compact-row{display:block;background:white;border:1px solid #dbe3dd;border-radius:10px;margin:8px 0;overflow:hidden}.compact-row>summary{cursor:pointer;padding:12px 14px;display:list-item;list-style-position:inside}.compact-row>summary>*{margin-right:14px;overflow-wrap:anywhere}.compact-row>summary:focus-visible{outline:3px solid #ad8429;outline-offset:-3px}.compact-body{padding:0 14px 14px;border-top:1px solid #e4e9e5}.compact-body>.card{box-shadow:none;margin:0;border:0}.compact-body .record{margin:0}.compact-row[open]>summary{background:#f0f5f1}@media(max-width:640px){.compact-row>summary>span{display:block;margin:5px 0 0 20px}.compact-row>summary{font-size:14px}}

.label-handwriting{margin-top:1mm}.label-handwriting>div{margin-top:1mm}.label-handwriting span{display:block;font:7px Arial,Helvetica,sans-serif;white-space:nowrap}.label-handwriting i{display:block;height:3.5mm;min-width:26mm;border-bottom:.2mm solid #000}.sample-label .label-text{flex:1}.sample-label .label-text>span{margin-bottom:1mm}
