:root{--navy:#133951;--teal:#6BAAAE;--teal-light:#e7f1ef;--ink:#133951;--muted:#6f7473;--line:#e1d8c8;--bg:#f8f6f1;--red:#AD2B10;--amber:#E2A300;font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;border:1px solid var(--line);padding:10px 16px;border-radius:8px;color:var(--ink);transition:.15s}button:hover{border-color:var(--teal);color:var(--teal)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--teal);border-color:var(--teal);color:white}button.danger{color:var(--red)}input,select,textarea{background:white;color:var(--ink);border:1px solid #cbd8de;border-radius:7px;padding:10px;min-height:40px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #7fc5bf;outline-offset:1px}input[type=number]{font-variant-numeric:tabular-nums}label{display:block;color:#5c717c;font-size:12px;line-height:1.8}label input,label select{margin-top:5px}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.8px;line-height:1.4;margin-bottom:7px}h2{font-size:19px;margin-bottom:8px}h3{font-size:15px}p{line-height:1.8}small{font-size:11px}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#dbe6eb;padding:34px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:21px;margin-bottom:52px}.brand strong{font-weight:400;color:#87d6c5}.brand small{display:block;font-size:8px;letter-spacing:1.6px;margin-top:7px;color:#a1b7c1}.brand-icon{border:1px solid #639591;border-radius:12px;width:45px;height:45px;display:grid;place-items:center;font-size:17px;font-weight:bold;color:#9ce6d4}.nav-label{font-size:10px;letter-spacing:1px;color:#8ea7b3;margin:0 10px 18px}nav{display:grid;gap:8px}nav button{text-align:left;color:#afc3cd;border:0;background:none;padding:14px 12px;font-size:13px}nav button span{color:#72969d;margin-right:10px;font-size:11px}nav button.active{background:#214750;color:#b4efdf}nav button:hover{background:#1b3c49;color:white}.sidebar-bottom{margin-top:auto;font-size:11px;color:#a9c0c7;padding-top:35px}.sidebar-bottom p{color:#7896a4;font-size:11px;margin:12px 0}.sidebar-bottom button{display:block;width:100%;margin-top:8px;background:none;color:#bfd4dc;border-color:#365360;font-size:12px}.sidebar-bottom .sample-button{border:0;font-size:10px;color:#94b4be}.local-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#80cdb3;margin-right:6px}.workspace{margin-left:248px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:white;border-bottom:1px solid var(--line);font-size:12px;color:#788a94}.storage-status{color:var(--teal);background:var(--teal-light);border-radius:20px;padding:6px 12px;font-size:11px}main{max-width:1540px;margin:auto;padding:35px 42px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:bold;color:var(--teal);margin-bottom:12px}.page-heading p{color:var(--muted);font-size:12px;margin-bottom:0}.version{font-size:11px;border:1px solid var(--line);padding:8px 13px;border-radius:20px;color:var(--muted)}.version b{color:var(--teal);margin-left:8px}.context{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:18px;background:white;padding:20px 22px;border:1px solid var(--line);border-radius:12px;margin-bottom:24px}.context select,.context input{font-size:12px}.card{background:white;border:1px solid var(--line);border-radius:12px;margin:20px 0;overflow:hidden}.card-header{padding:22px 24px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.card-header p{font-size:11px;color:var(--muted);margin:6px 0 0}.card-body{padding:24px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.metric{background:white;border:1px solid var(--line);border-radius:11px;padding:21px}.metric:first-child{border-left:3px solid var(--teal)}.metric span{display:block;font-size:11px;color:var(--muted)}.metric strong{display:block;font-size:29px;font-weight:500;margin:12px 0 9px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.metric small{color:var(--muted);font-size:10px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{background:#f7f9fa;color:#71838c;font-size:10px;letter-spacing:.15px;font-weight:500;white-space:nowrap}th,td{padding:13px 16px;text-align:center;border-bottom:1px solid #eaf0f2}td:first-child,th:first-child{text-align:left;padding-left:24px}td:first-child strong{display:block;font-size:12px}td:first-child small{display:block;color:#8798a0;margin-top:5px;font-size:10px}tr:last-child td{border-bottom:0}td input{min-width:72px;max-width:120px;padding:8px;text-align:right;font-size:12px}td .wide-input{max-width:none;text-align:left;min-width:100px}td.num{font-variant-numeric:tabular-nums}.pill{display:inline-block;border-radius:5px;padding:5px 7px;font-size:9px;white-space:nowrap;background:#f0f3f5;color:var(--muted)}.pill.good{background:#e9f6ef;color:#26825c}.pill.bad{background:#fff0ef;color:#bb5353}.pill.warn{background:#fff5e5;color:#9a6924}.actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding-top:20px;flex-wrap:wrap}.card-bottom{border-top:1px solid var(--line);padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.hint{font-size:11px;color:var(--muted);line-height:1.9}.notice{border-radius:8px;background:#eaf4f6;border:1px solid #d2e5eb;padding:14px 18px;font-size:12px;line-height:1.9;margin:15px 0}.notice.warn{background:#fff8eb;border-color:#eeddbd;color:#8a652a}.notice.error{background:#fff1ef;border-color:#eec9c4;color:#a64040}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.full{grid-column:1/-1}.empty{text-align:center;padding:65px 25px}.empty h2{font-size:21px}.empty p{font-size:12px;color:var(--muted);max-width:430px;margin:12px auto 24px}.level-head{color:var(--teal);background:#edf7f5;border-left:1px solid var(--line)}.level-cell{border-left:1px solid var(--line)}.section-intro{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}.section-intro p{color:var(--muted);font-size:12px}.compact th,.compact td{padding:10px}.lot-card{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);gap:15px}.lot-card:last-child{border:0}.lot-card p{margin:6px 0 0;font-size:11px;color:var(--muted)}.lot-card strong{font-size:13px}.lot-card button{font-size:11px}.report-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:24px 0}.report-toolbar select{width:auto}.paper{background:white;padding:35px;border:1px solid var(--line);color:#111;min-width:850px}.paper-wrap{overflow:auto}.paper h2{text-align:center;font-size:20px;line-height:1.5}.paper h3{text-align:center;font-size:15px}.paper .report-brand{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:20px}.report-brand strong{font-size:24px;line-height:1}.paper table{font-size:11px}.paper th,.paper td{border:1px solid #555;padding:8px 5px;white-space:normal}.paper th{background:#eee;color:#111;font-size:10px;font-weight:bold}.paper td:first-child,.paper th:first-child{padding-left:7px}.paper .report-main{margin:28px 0}.paper .report-result{display:flex;justify-content:flex-end;gap:30px;margin:20px 0;font-size:13px}.paper .report-result strong{background:#eee;padding:5px 30px}.signatures{display:flex;justify-content:space-between;gap:40px;margin-top:38px;font-size:11px;line-height:2.2}.signatures div{flex:1}.paper .report-foot{text-align:right;font-size:8px;margin-top:35px}.report-meta{font-size:11px;line-height:1.9}.report-upper{display:grid;grid-template-columns:1fr 1.1fr;gap:22px}.paper .qc-rule{font-size:8px;line-height:1.4;max-width:150px}.rule-guide{margin-top:12px;font-size:10px;line-height:1.8}.formula-box{background:#eef6f4;padding:16px;border-radius:7px;color:#396e66;font-size:12px;line-height:1.9}.report-notes{min-height:55px;border-bottom:1px solid #333;font-size:12px;white-space:pre-wrap}.muted{color:var(--muted)}.saved-line{font-size:10px;color:var(--muted)}footer{font-size:10px;color:#8a9ba3;text-align:center;margin-top:30px;line-height:1.8}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#173c46;color:white;padding:14px 25px;border-radius:10px;font-size:13px;z-index:20;max-width:90vw;box-shadow:0 8px 35px #122b3b22;display:none}#toast.show{display:block}dialog{border:0;border-radius:14px;padding:30px;max-width:480px;box-shadow:0 20px 70px #102c3b44}dialog::backdrop{background:#102c3b77}dialog p{font-size:13px;color:var(--muted)}.eqa-table input{min-width:65px;max-width:88px}.eqa-table th{white-space:normal}.eqa-table td{padding:8px}.error-text{color:var(--red);font-size:12px;line-height:1.8;margin-bottom:15px}.progress-track{height:5px;border-radius:5px;background:#edf1f3;margin-top:10px}.progress-track i{display:block;background:var(--teal);height:100%;border-radius:5px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.chips span{font-size:11px;background:#edf4f5;padding:7px 10px;border-radius:6px}.break-word{overflow-wrap:anywhere}
@media(min-width:1500px){main{padding:42px 55px}.topbar{padding:0 55px}}
@media(max-width:1100px){.sidebar{width:210px;padding:28px 15px}.workspace{margin-left:210px}main{padding:28px 24px}.topbar{padding:0 24px}.context{gap:10px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:25px}th,td{padding:12px 9px}}
@media(max-width:760px){.sidebar{position:static;width:auto;padding:16px}.brand{margin-bottom:20px}.nav-label,.sidebar-bottom p{display:none}nav{display:flex;overflow:auto;gap:4px}nav button{white-space:nowrap;font-size:11px;padding:10px}nav button span{display:none}.sidebar-bottom{padding-top:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.sidebar-bottom button{width:auto;margin:0;font-size:10px;padding:7px}.workspace{margin-left:0}.topbar{height:45px;padding:0 18px;font-size:10px}main{padding:23px 16px}.version{display:none}h1{font-size:23px}.context{grid-template-columns:1fr 1fr;padding:14px}.metrics{grid-template-columns:1fr 1fr}.metric strong{font-size:25px}.grid,.grid.two{grid-template-columns:1fr}.card-header,.card-bottom{padding:17px;flex-wrap:wrap}.card-body{padding:17px}.lot-card{padding:17px;flex-wrap:wrap}.report-toolbar{flex-wrap:wrap}.page-heading{margin-bottom:20px}}
@page{size:A4 landscape;margin:12mm}
@media print{body{background:white}.sidebar,.topbar,.page-heading,.context,#alerts,footer,.report-toolbar,#toast,.no-print{display:none!important}.workspace{margin:0}main{padding:0;max-width:none}.paper-wrap{overflow:visible}.paper{border:0;padding:0;min-width:0;width:100%;font-family:Tahoma,Arial,sans-serif}.paper h2{font-size:17px}.paper h3{font-size:13px}.paper table{font-size:10px}.paper th{font-size:9px}.paper th,.paper td{padding:5px 4px}.paper .report-brand{margin-bottom:12px}.paper .report-main{margin:18px 0}.paper .report-result{margin:12px 0}.paper .report-foot{margin-top:15px}.paper .signatures{margin-top:24px}.paper tr{break-inside:avoid}.paper{print-color-adjust:exact;-webkit-print-color-adjust:exact}.paper .report-upper{gap:16px}.paper .qc-rule{font-size:8px}.paper .report-notes{min-height:40px}}

/* Hematology Quality navigation and polished IQC controls */
[hidden]{display:none!important}.quality-hero{background:linear-gradient(135deg,#112c3b,#176c70);color:white;border-radius:18px;padding:42px 46px;display:flex;justify-content:space-between;align-items:center;margin:10px 0 24px;box-shadow:0 16px 35px #112c3b26}.quality-hero h2{font-size:28px;margin:0 0 8px}.quality-hero p{color:#d7f0ec;margin:0}.hero-mark{font-size:54px;font-weight:700;letter-spacing:-4px;color:#a7e4d5;border:1px solid #79bfb6;border-radius:16px;padding:15px 22px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.quality-choice{display:block;text-align:left;min-height:245px;padding:29px;border-radius:16px;border:1px solid #d8e5e7;background:white;position:relative}.quality-choice:hover{transform:translateY(-2px);box-shadow:0 12px 28px #17354116}.quality-choice strong{display:block;font-size:31px;margin-top:28px}.quality-choice small{color:var(--teal);font-size:12px}.quality-choice p{color:var(--muted);font-size:13px;max-width:400px;margin:18px 0}.quality-choice b{font-size:12px;color:var(--teal)}.quality-choice.disabled{opacity:.6;cursor:default;background:#f7faf9}.choice-number{position:absolute;right:25px;top:23px;color:#83aaa8;font-size:12px}.back-link{border:0;background:none;padding:0;color:var(--teal);margin:0 0 18px}.month-picker>div{display:grid;grid-template-columns:37px 1fr 37px;gap:5px}.month-picker button{padding:0;border-radius:8px;background:#edf5f4;color:var(--teal);font-size:21px}.context{box-shadow:0 8px 24px #1735410d}.context label>span{display:block;font-weight:600;color:#56717b}.paper{border-radius:5px;box-shadow:0 12px 30px #17354116}.paper h2{color:#0c4b50;letter-spacing:-.3px}.paper .report-main thead th{background:#dcefee;color:#133f44}.paper .report-result strong{background:#dcefee;color:#0c4b50}.report-brand strong{color:#0c4b50}.report-toolbar{background:white;padding:12px 15px;border:1px solid var(--line);border-radius:10px}
@media(max-width:760px){.quality-hero{padding:27px}.quality-hero h2{font-size:23px}.hero-mark{display:none}.choice-grid{grid-template-columns:1fr}.quality-choice{min-height:210px}}

.qualilab-hero{min-height:380px;justify-content:center;text-align:center;background:radial-gradient(circle at top,#6baaae,#133951 68%)}.ql-logo{width:110px;height:110px;margin:0 auto 24px;border:2px solid #e2decf;border-radius:30px;display:grid;place-items:center;font-size:39px;font-weight:700;letter-spacing:-3px;color:#f8f6f1}.qualilab-hero h2{font-size:42px;letter-spacing:-2px}.qualilab-hero p{font-size:15px;letter-spacing:.4px}.report-brand{justify-content:space-between}.report-brand img{display:block;width:230px;height:auto;max-height:54px;object-fit:contain;object-position:left center}.report-app{text-align:right;color:#133951;font-weight:700;letter-spacing:1.3px;font-size:13px}.report-app small{font-weight:400;color:#6f7473;letter-spacing:.5px}
.current-lot-card{border-top:4px solid var(--teal)}.history-add{margin:22px 0 8px;justify-content:flex-end}.riqas-table td{padding:7px 5px}.riqas-table td:first-child{min-width:112px}.riqas-table input{min-width:54px;max-width:70px;padding:7px}.riqas-table td .wide-input{min-width:105px;max-width:125px;text-align:left}.report-callout{border-left:4px solid var(--teal);background:#edf7f5;padding:12px 15px;margin:18px 0;color:#355b5b;font-size:10px;line-height:1.75}.range-source{display:inline-block;padding:4px 6px;border-radius:4px;font-size:9px;letter-spacing:.3px}.range-source.lab{background:#dcefee;color:#0d5a58}.range-source.published{background:#f6ead0;color:#8d6500}.ranges-table th{white-space:normal}.report-eqa td:nth-child(2),.report-eqa td:nth-child(5){font-size:9px;text-align:left}.report-eqa td:nth-child(4){font-weight:700}
.paper .status-pass{background:#e8f4eb;color:#176d3b;font-weight:700}.paper .status-fail{background:#fff0ef;color:#a52d1c;font-weight:700}.paper .status-waiting{background:#f2f1ee;color:#737b7a}.paper .report-cv th:nth-child(n+6):nth-child(-n+8),.paper .report-sigma th:nth-child(n+4):nth-child(-n+6){background:#cfe5e2}.paper .report-sigma th:nth-child(n+7):nth-child(-n+9){background:#e8dcae}
.manual-test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-test-grid .quality-choice{min-height:210px}.inline-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.inline-fields input{min-width:0}
.lj-wrap{padding:18px 22px 24px;overflow:auto}.lj-wrap svg{display:block;min-width:760px;width:100%;background:#fff}.sd-line{stroke:#c8d3d2;stroke-width:1}.sd-0{stroke:#133951;stroke-width:2}.sd-1{stroke:#6baaae;stroke-dasharray:5 4}.sd-2{stroke:#e2a300;stroke-width:1.5}.sd-3{stroke:#ad2b10;stroke-dasharray:3 3}.sd-label,.day-label{font:10px Tahoma,sans-serif;fill:#687875}.lj-point{fill:#133951;stroke:white;stroke-width:1.5}.axis-line{stroke:#133951;stroke-width:1.2}
.control-management{border-top:4px solid var(--teal)}.control-management input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--teal)}#manualLot{border:2px solid var(--teal);background:#edf7f5;font-weight:700;color:#133951}.doc-code{text-align:right;font-size:10px;color:#6f7473;margin:15px 4px 28px;letter-spacing:.4px}
.riqas-matrix td{font-size:10px;white-space:nowrap}.riqas-matrix th{white-space:normal}.riqas-matrix td:not(:first-child){font-variant-numeric:tabular-nums}
.result-entry-table{padding:0 24px 24px}.result-entry-table label{min-width:180px}.add-control{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.add-control select,.add-control input{width:auto;min-width:105px;min-height:35px;padding:6px}.add-control button{padding:7px 10px}.printing-manual #manualForm,.printing-manual .control-management,.printing-manual .back-link,.printing-manual #manualPrint,.printing-manual #manualViewPeriod{display:none!important}
.control-actions{display:flex;gap:8px;flex-wrap:wrap}.control-modal{position:fixed;inset:0;z-index:1000;background:#102c3b88;display:grid;place-items:center;padding:14px;overflow:auto}.control-dialog-form{width:min(860px,100%);max-height:calc(100vh - 28px);overflow:auto;background:white;border-radius:14px;padding:24px;box-shadow:0 20px 70px #102c3b55}.dialog-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}.dialog-title h2{margin:0}.dialog-title p{margin:5px 0 0;font-size:12px}.dialog-close{border:0;font-size:25px;padding:0 6px;line-height:1;color:var(--muted)}.control-dialog-row{border:1px solid var(--line);border-radius:9px;padding:14px;margin:12px 0;background:#fcfdfc}.control-row-title{font-size:13px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}.control-row-title button{padding:4px 8px;font-size:11px}.control-dialog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.control-dialog-grid .current-check{align-self:end;padding-bottom:9px;font-size:12px}.control-dialog-grid .current-check input{width:auto;min-height:auto;margin-right:6px}.control-result-field{grid-column:span 2}.dialog-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;margin-top:18px}.dialog-actions button{white-space:nowrap}@media(max-width:760px){.control-dialog-form{padding:18px}.control-dialog-grid{grid-template-columns:1fr}.control-result-field{grid-column:auto}.dialog-actions{grid-template-columns:1fr 1fr}.dialog-actions span{display:none}.dialog-actions button:first-child{grid-column:1/-1}}
.control-set-form{border-top:1px solid var(--line);background:#f8fbfa}.control-set-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:620px}.level-draft{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end;padding:18px 0;border-bottom:1px solid var(--line)}.level-draft strong{grid-column:1/-1;font-size:13px}.level-draft button{width:max-content;min-height:42px}.result-completion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 24px 24px}.result-completion label:last-child{grid-column:1/-1}.result-completion input,.result-completion textarea{width:100%}.control-actions button{min-height:42px}.control-set-form input,.control-set-form select{width:100%;min-height:44px}.result-entry-table input,.result-entry-table select{min-height:44px}@media(max-width:600px){.control-set-head,.level-draft,.result-completion{grid-template-columns:1fr}.result-completion label:last-child{grid-column:auto}.level-draft button{width:max-content}}
.manual-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px;max-width:100%}.manual-entry-grid>label{min-width:0}.manual-entry-grid input,.manual-entry-grid select{width:100%;min-height:48px}.result-entry-table{padding:0 24px 20px}.result-entry-table label{min-width:0;width:100%;font-size:13px}.result-entry-table td{padding:18px 20px}.result-entry-table input,.result-entry-table select{display:block;width:100%;max-width:none;min-width:0;min-height:48px;margin-top:7px;text-align:left}.result-entry-table th{padding:14px 20px;text-align:left}.result-completion{padding:4px 24px 26px}.result-completion input,.result-completion textarea{min-height:48px}@media(max-width:600px){.manual-entry-grid{grid-template-columns:1fr!important}.result-entry-table{padding:0 16px 16px}.result-completion{padding:4px 16px 20px}}
.paper{padding:34px 38px}.paper .report-title{text-align:center;margin:25px 0 18px}.paper .report-title h2{margin:0;color:#123f46;font-size:22px}.paper .report-title h3{margin:8px 0 0;font-size:14px}.paper .report-control-card{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border:1px solid #729b9d;background:#f8fbfa;margin:18px 0 20px}.report-control-card>div{padding:11px 14px;border-right:1px solid #b6cecc}.report-control-card>div:last-child{border-right:0}.report-control-card span{display:block;color:#55797b;font-size:8px;letter-spacing:.8px;font-weight:700;margin-bottom:4px}.report-control-card strong{font-size:11px;color:#173c46}.report-control-card .report-control-levels{grid-column:1/-1;border-top:1px solid #b6cecc;border-right:0}.paper .report-main{width:100%;border-collapse:collapse;table-layout:fixed;border:1.5px solid #446467;margin:18px 0}.paper .report-main th,.paper .report-main td{border:1px solid #657b7c!important;padding:8px 5px;text-align:center;vertical-align:middle}.paper .report-main th{background:#d9ecea;color:#173c46;font-size:9px;font-weight:700}.paper .report-main thead tr:first-child th{background:#bfddda}.paper .report-main td:first-child{text-align:left;font-weight:700}.paper .report-main tbody tr:nth-child(even) td:not([class*=status-]){background:#f8fbfa}.paper .report-main .status-pass{background:#dff0e4!important;color:#16713f;font-weight:800}.paper .report-main .status-fail{background:#fbe3df!important;color:#a5271a;font-weight:800}.paper .report-main .status-waiting{background:#f1f0ed!important;color:#687270;font-weight:700}.paper .report-result{margin:20px 0 16px;display:flex;align-items:center;justify-content:flex-end;gap:12px}.paper .report-result span{font-size:9px;font-weight:700;letter-spacing:.8px;color:#55797b}.paper .report-result strong{background:#d9ecea;color:#123f46;font-size:16px;padding:8px 18px;min-width:110px;text-align:center}.paper .report-upper table,.paper .ranges-table{border:1px solid #657b7c}.paper .report-upper th,.paper .report-upper td,.paper .ranges-table th,.paper .ranges-table td{border:1px solid #657b7c!important}.paper .ranges-table td:first-child{font-weight:700}.paper .report-foot{border-top:1px solid #9baead;padding-top:9px}
.riqas-set-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.riqas-set-grid label,.riqas-set-grid input,.riqas-set-grid select{width:100%;min-width:0}.riqas-analyte-list{margin-top:22px}.riqas-analyte-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:18px 0;border-top:1px solid var(--line);align-items:end}.riqas-analyte-row label,.riqas-analyte-row input,.riqas-analyte-row select{width:100%;min-width:0}.riqas-set-footer{display:grid;grid-template-columns:160px repeat(2,minmax(0,1fr));gap:14px;align-items:end;border-top:2px solid var(--teal);margin-top:22px;padding:18px 0}.riqas-set-footer strong{padding-bottom:10px;color:var(--teal)}.riqas-set-form .control-actions{justify-content:flex-end;margin-top:18px}.riqas-set-form .control-actions .primary{min-width:132px}@media(max-width:900px){.riqas-analyte-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.riqas-set-grid,.riqas-analyte-row,.riqas-set-footer{grid-template-columns:1fr}.riqas-set-footer strong{padding:0}}
#riqasSetForm .control-actions{display:flex;justify-content:flex-end;width:100%;margin-top:18px}#riqasSetForm .control-actions .primary{min-width:132px}
.context:has(.lot-context[hidden]){grid-template-columns:repeat(3,minmax(0,1fr))}.context:has(.lot-context[hidden])>label{min-width:0}.context:has(.lot-context[hidden]) select,.context:has(.lot-context[hidden]) input{width:100%;min-height:44px}.context:has(.lot-context[hidden]) .month-picker>div{width:100%}
/* Shared iPad layout: one rhythm for every workspace form, table and toolbar. */
.context{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:end}.context>label{min-width:0}.context select,.context input{width:100%;min-height:44px}.context .month-picker>div{width:100%;height:44px}.context .month-picker input{height:44px;min-width:0}.context .month-picker button{height:44px;min-width:44px}.card-header>div{min-width:0}.card-header>button,.card-header>.actions button{min-height:42px;white-space:nowrap}.grid{align-items:end}.grid>label{min-width:0}.grid>label input,.grid>label select,.grid>label textarea{width:100%;min-height:44px}.card .table-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card .table-wrap table{border-collapse:separate;border-spacing:0}.card .table-wrap th,.card .table-wrap td{border-right:1px solid #e1e8e9;border-bottom:1px solid #e1e8e9}.card .table-wrap th:last-child,.card .table-wrap td:last-child{border-right:0}.card .table-wrap tbody tr:last-child td{border-bottom:0}.card .table-wrap th{background:#f3f8f7;font-weight:700;color:#507076}.card .table-wrap td{vertical-align:middle}.card .table-wrap tbody tr:nth-child(even) td{background:#fbfcfb}.report-toolbar{align-items:center}.report-toolbar button{min-height:42px}@media(max-width:1100px){.context{gap:14px}}@media(max-width:760px){.context{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.context:has(.lot-context[hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}}
.context .month-picker>div{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;height:44px!important;margin-top:5px}.context .month-picker input,.context .month-picker button{height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;padding:0!important;line-height:42px}.context .month-picker input{line-height:normal}.context .month-picker button{width:44px!important;min-width:44px!important}
/* One shared control height across every screen. */
:root{--control-height:44px}button,input:not([type=checkbox]):not([type=radio]),select{height:var(--control-height);min-height:var(--control-height);max-height:var(--control-height)}button{display:inline-flex;align-items:center;justify-content:center}input:not([type=checkbox]):not([type=radio]),select{line-height:normal}input[type=checkbox],input[type=radio]{width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important}.card-header button,.actions button,.control-actions button,.report-toolbar button{height:var(--control-height);min-height:var(--control-height)}td input,td select{height:var(--control-height);min-height:var(--control-height);max-height:var(--control-height)}.month-picker>div,.month-picker>div>*{height:var(--control-height)!important;min-height:var(--control-height)!important;max-height:var(--control-height)!important}
.manual-pager{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.manual-pager button{width:38px;min-width:38px;min-height:38px;padding:0;font-size:20px}.printing-manual .manual-pager{display:none!important}@media print{body.printing-manual{print-color-adjust:exact;-webkit-print-color-adjust:exact}.printing-manual .workspace{margin:0}.printing-manual main{padding:0}.printing-manual .card{break-inside:avoid;box-shadow:none}.printing-manual .table-wrap{overflow:visible}.printing-manual .table-wrap table{width:100%}.printing-manual .lj-wrap svg{min-width:0}.printing-manual .doc-code{display:block;text-align:right}}
.manual-print-sheet{display:none}.manual-print-sheet header{display:flex;align-items:flex-start;gap:18px;border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:14px}.manual-print-sheet header img{width:190px;height:auto;max-height:48px;object-fit:contain;object-position:left}.manual-print-sheet header div{flex:1;text-align:center}.manual-print-sheet h2{font-size:18px;margin:0 0 5px}.manual-print-sheet header p{margin:0;font-size:11px}.manual-print-meta{font-size:11px;line-height:1.8;margin:10px 0 16px}.manual-print-sheet table{width:100%;border-collapse:collapse;font-size:9px}.manual-print-sheet th,.manual-print-sheet td{border:1px solid #111;padding:5px 4px;text-align:center;height:26px}.manual-print-sheet th{background:#eee}.manual-print-sheet footer{text-align:right;font-size:9px;margin-top:16px}.manual-print-note{font-size:10px;margin-top:16px}@media print{body.printing-manual .workspace{display:none!important}body.printing-manual .manual-print-sheet{display:block!important;width:100%;font-family:Tahoma,Arial,sans-serif;color:#111}body.printing-manual .sidebar,body.printing-manual .topbar{display:none!important}.manual-print-sheet.g6pd-sheet table{font-size:8px}.manual-print-sheet.g6pd-sheet th,.manual-print-sheet.g6pd-sheet td{height:23px;padding:3px}.manual-print-sheet.malaria-sheet td{height:48px}}
.riqas-cycle-report{font-size:7px!important}.paper .riqas-cycle-report th,.paper .riqas-cycle-report td{padding:4px 2px!important}.paper .riqas-cycle-report th:first-child,.paper .riqas-cycle-report td:first-child{width:115px}.paper .riqas-cycle-report .riqas-set-row td{background:#f0f5f4;font-weight:700}.paper .riqas-cycle-report .riqas-score-row td{background:#e0f0ed;font-weight:800}.paper .riqas-cycle-chart{border:1px solid #b5ccca;margin-top:18px;padding:12px 18px}.paper .riqas-cycle-chart h3{text-align:center;margin:0 0 8px}.paper .riqas-cycle-chart svg{width:100%;height:auto}.paper .riqas-cycle-chart line{stroke:#d1dedd;stroke-width:1}.paper .riqas-cycle-chart text{font:10px Tahoma,sans-serif;fill:#607472}.paper .riqas-cycle-chart path{fill:none;stroke:#133951;stroke-width:3}.paper .riqas-cycle-chart circle{fill:#e2a300;stroke:#133951;stroke-width:1.5}@media print{.paper .riqas-cycle-report{font-size:6px!important}.paper .riqas-cycle-report th,.paper .riqas-cycle-report td{padding:2px 1px!important}.paper .riqas-cycle-chart{margin-top:10px;padding:8px}.paper .riqas-cycle-chart h3{font-size:12px}}
.paper .range-report-section{margin:22px 0}.paper .range-report-section>h3{margin:0;background:#c9d8d7;color:#111;padding:7px;text-align:center;font-size:14px}.paper .ranges-by-level{margin:0;border-color:#222}.paper .ranges-by-level th,.paper .ranges-by-level td{border-color:#222!important;padding:5px 4px}.paper .ranges-by-level th{background:#f4f4f4;color:#111;font-size:9px}.paper .ranges-by-level thead tr:first-child th{background:#e0e0e0}.paper .ranges-by-level .range-lot,.paper .ranges-by-level .range-expiry{background:#fafafa;font-size:9px}.paper .ranges-by-level td:first-child{width:130px}.paper .ranges-by-level td:first-child small{display:inline;color:#111;font-size:9px;margin-left:6px}@media print{.paper .range-report-section{margin:14px 0}.paper .range-report-section>h3{font-size:12px;padding:5px}.paper .ranges-by-level th,.paper .ranges-by-level td{padding:3px 2px;font-size:8px}.paper .ranges-by-level td:first-child{width:105px}}

/* QualiLab home and device layout */
:root{--cream:#EDE2C0;--gold:#E2A300;--navy:#133951;--teal:#6BAAAE;--red:#AD2B10}
.page-heading{border-bottom:3px solid var(--cream);padding-bottom:16px}.page-heading h1{color:var(--navy)}.page-heading p{font-size:14px;color:#56717b}.quality-hero{display:none}.choice-grid.home-actions,.choice-grid.manual-test-grid,.choice-grid.cbc-grid{gap:14px}.quality-choice{min-height:178px;padding:22px;border-radius:14px;border-top:4px solid var(--teal)}.quality-choice strong{margin-top:18px;font-size:25px;line-height:1.1}.quality-choice small{display:block;min-height:30px;margin-top:8px;font-size:11px;line-height:1.45}.quality-choice p{display:none}.quality-choice b{display:block;margin-top:18px;font-size:12px}.choice-number{top:17px;right:18px}.home-actions .quality-choice:nth-child(1){border-top-color:var(--navy)}.home-actions .quality-choice:nth-child(2){border-top-color:var(--gold)}.home-actions .quality-choice:nth-child(3){border-top-color:var(--red);background:#fffaf2}.manual-test-grid .quality-choice:nth-child(3n+1){border-top-color:var(--navy)}.manual-test-grid .quality-choice:nth-child(3n+2){border-top-color:var(--teal)}.manual-test-grid .quality-choice:nth-child(3n){border-top-color:var(--gold)}.back-link{display:inline-flex!important;align-items:center;gap:7px;background:var(--navy)!important;color:#fff!important;border:1px solid var(--navy)!important;border-radius:9px!important;padding:0 15px!important;height:42px!important;margin:0 0 18px!important;font-weight:700}.back-link:hover{background:#1e566b!important;color:#fff!important;border-color:#1e566b!important}.notice.warn{border-left:4px solid var(--gold)}.notice.error{border-left:4px solid var(--red)}

@media(max-width:760px){
  body{min-width:0;background:#f8f6f1}.sidebar{position:relative;width:100%;height:auto;min-height:0;padding:13px 14px;border-bottom:3px solid var(--teal);display:block}.brand{margin:0;gap:9px;font-size:18px}.brand-icon{width:37px;height:37px;border-radius:10px;font-size:14px}.brand small{display:none}.nav-label,.sidebar-bottom{display:none!important}.sidebar nav{display:flex;gap:4px;overflow-x:auto;margin-top:12px;padding-bottom:1px}.sidebar nav button{flex:0 0 auto;padding:8px 10px;font-size:11px;border-radius:8px}.sidebar nav button span{display:none}.workspace{margin-left:0}.topbar{height:48px;padding:0 14px;font-size:10px}.topbar>span:first-child{display:none}.storage-status{padding:5px 9px;font-size:9px}.account-chip{height:36px!important;min-height:36px!important;padding:4px 9px!important}.account-chip small{display:none}main{padding:18px 14px;max-width:100%}.page-heading{margin-bottom:18px;padding-bottom:12px;align-items:flex-start}.page-heading h1{font-size:25px;margin-bottom:3px}.page-heading p{font-size:11px;line-height:1.5}.eyebrow{font-size:8px;letter-spacing:1.35px;margin-bottom:8px}.version{display:none}.choice-grid.home-actions,.choice-grid.manual-test-grid,.choice-grid.cbc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quality-choice{min-height:142px;padding:15px 13px;border-radius:12px;border-top-width:3px}.quality-choice strong{font-size:20px;margin-top:15px;overflow-wrap:anywhere}.quality-choice small{min-height:32px;font-size:9px;margin-top:6px}.quality-choice b{font-size:10px;margin-top:10px}.choice-number{top:11px;right:12px;font-size:9px}.back-link{height:38px!important;padding:0 12px!important;font-size:11px!important;margin-bottom:14px!important}.context{grid-template-columns:1fr!important;padding:14px;gap:10px}.card{margin:14px 0}.card-header{padding:16px;align-items:flex-start}.card-header h2{font-size:17px}.card-body{padding:16px}.grid,.manual-entry-grid{grid-template-columns:1fr!important;gap:12px!important}.report-toolbar{gap:8px;align-items:stretch;flex-direction:column}.report-toolbar select,.report-toolbar button{width:100%}.table-wrap{margin-left:-16px;margin-right:-16px}.card .table-wrap table{min-width:680px}.manual-test-grid .quality-choice{min-height:142px}.manual-test-grid .quality-choice small{font-size:9px}.manual-pager{justify-content:center;flex-wrap:wrap}.result-completion{grid-template-columns:1fr!important}.account-dialog{max-height:92vh}.paper{min-width:760px}
}

/* Cloudflare Pages authentication */
.cloud-auth{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,rgba(19,57,81,.98),rgba(19,57,81,.9));}
.cloud-auth-card{width:min(100%,420px);padding:40px;border:1px solid rgba(255,255,255,.24);border-radius:24px;background:#fffdf8;box-shadow:0 24px 70px rgba(0,0,0,.3);display:grid;gap:16px;}
.cloud-auth-card .cloud-logo{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 2px;border-radius:18px;background:var(--navy,#133951);color:#91e1d5;font-size:25px;font-weight:800;}
.cloud-auth-card h1,.cloud-auth-card p{text-align:center;margin:0;}.cloud-auth-card h1{font-size:32px;color:var(--navy,#133951)}.cloud-auth-card p{color:#667782;margin-bottom:8px}.cloud-auth-card label{display:grid;gap:7px;font-weight:700;color:#425863}.cloud-auth-card input{width:100%;height:48px;padding:0 14px;border:1px solid #c9d8df;border-radius:10px;font:inherit;box-sizing:border-box;}.cloud-auth-card button{width:100%;height:48px;justify-content:center}.cloud-auth-card small{text-align:center;color:#71828d}.cloud-auth-error{min-height:18px;color:#b23526;font-size:14px;text-align:center}.storage-status.cloud-ok{color:#177b60}.storage-status.cloud-warn{color:#9a6414}

/* Account and role management · shared with Stock Reagent */
.account-chip{margin-left:12px;height:44px!important;min-height:44px!important;padding:6px 13px!important;display:grid;gap:1px;text-align:left;border-radius:10px!important;border-color:#d9e5e6!important}.account-chip strong{font-size:11px;line-height:1.1}.account-chip small{font-size:9px;color:#4a7d80}.account-dialog{width:min(940px,calc(100vw - 32px));border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px #102c3b44}.account-dialog::backdrop{background:#102c3b88}.account-head{display:flex;justify-content:space-between;gap:16px;padding:24px 26px 17px;border-bottom:1px solid var(--line)}.account-head h2{margin:0 0 5px}.account-head p{margin:0;font-size:12px;color:var(--muted)}.dialog-close{border:0;background:transparent;font-size:28px;padding:0;width:36px;height:36px;line-height:1}.account-actions{display:flex;justify-content:flex-end;gap:10px;padding:20px 26px}.role-badge{display:inline-block;margin-top:11px;padding:5px 9px;border-radius:999px;background:#e8f5f1;color:#157062;font-size:10px;font-weight:700}.back-manager{border:0;padding:0;background:none;color:var(--teal);margin-bottom:10px}.manager-loading{padding:35px 26px;color:var(--muted)}.user-manager{padding:0 26px 26px;overflow:auto}.user-manager table{min-width:650px}.user-manager td:first-child small{display:block;color:var(--muted);margin-top:4px}.user-manager select{height:38px!important;min-height:38px!important;width:170px}.user-manager button{height:38px!important;min-height:38px!important;padding:7px 12px}.toggle{display:inline-flex;align-items:center}.toggle input{width:18px!important;height:18px!important;min-height:18px!important}.user-manager th,.user-manager td{border-bottom:1px solid var(--line);padding:12px;text-align:left}.user-manager th{background:#f5f9f8}@media(max-width:760px){.account-chip{margin-left:6px}.topbar>span:first-child{display:none}.account-dialog{width:calc(100vw - 18px)}.account-head,.account-actions,.user-manager{padding-left:16px;padding-right:16px}}

.manager-tabs{display:flex;gap:4px;padding:12px 22px;background:#f0f4f4;border-bottom:1px solid var(--line)}.manager-tabs button{border:0;background:transparent;color:#58717a;font-weight:700}.manager-tabs button.active{background:white;color:var(--navy);box-shadow:0 2px 7px #13395114}.manager-tools{display:flex;gap:10px;padding:18px 24px 8px}.manager-tools input{flex:1}.manager-pane{padding:16px 24px 24px}.user-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid #dbe5e3;border-radius:12px;margin:10px 0;background:#fff}.user-card.inactive{opacity:.62;background:#fff8f5}.user-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--gold);color:#fff;font-weight:800}.user-detail{min-width:0}.user-detail strong{display:block;font-size:14px}.user-detail small{display:block;color:#70818a;margin-top:4px;overflow-wrap:anywhere}.user-detail .role-badge{margin:5px 4px 0 0}.role-badge.me{background:var(--navy);color:#fff}.user-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:410px}.user-actions select{width:145px}.user-actions button{padding:7px 9px;font-size:11px}.manager-note{font-size:11px;color:#70818a}.permission-head,.permission-row{display:grid;grid-template-columns:minmax(220px,1fr) 130px 150px 100px;gap:12px;align-items:center;padding:13px 12px;border-bottom:1px solid #dae5e3}.permission-head{background:#e7efee;color:#527078;font-size:11px;font-weight:800}.permission-row strong,.permission-row small{display:block}.permission-row small{color:#768a90;margin-top:3px}.permission-row label{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.3}.manager-footer{display:flex;justify-content:flex-end;padding-top:18px}.mini-manager{width:min(520px,calc(100vw - 24px))}.add-user-form{display:grid;gap:14px;padding:24px}.add-user-form label{font-weight:700}.add-user-form input,.add-user-form select{margin-top:4px}@media(max-width:760px){.manager-tabs{padding:9px;overflow:auto}.manager-tabs button{flex:0 0 auto;font-size:11px;padding:8px}.manager-tools{padding:12px;flex-direction:column}.manager-pane{padding:10px 12px 18px}.user-card{grid-template-columns:40px minmax(0,1fr);padding:12px;gap:10px}.user-avatar{width:38px;height:38px}.user-actions{grid-column:1/-1;justify-content:stretch;max-width:none}.user-actions select,.user-actions button{flex:1;width:auto}.permission-head,.permission-row{grid-template-columns:minmax(160px,1fr) 1fr 1fr 55px;gap:6px;padding:10px 5px;font-size:9px;overflow-x:auto}.permission-row label{font-size:9px}.add-user-form{padding:16px}}

.admin-nav{width:100%;margin:18px 0 0;padding:11px 12px;background:#214750;color:#dff5ef;border:1px solid #4d777c;text-align:left;font-size:12px;font-weight:700}.admin-nav span{margin-right:9px;color:#EDE2C0}@media(max-width:760px){.admin-nav{display:none!important}}
.manual-save-actions{display:flex;justify-content:flex-end;padding:0 24px 24px}.manual-save-actions .primary{min-width:150px}@media(max-width:760px){.admin-nav:not([hidden]){display:inline-flex!important;width:auto;margin:10px 0 0;padding:8px 11px;font-size:10px;border-radius:8px}.manual-save-actions{padding:0 16px 16px}.manual-save-actions .primary{width:100%}}
@media print{@page{size:A4 landscape;margin:10mm}body.printing-manual .workspace,body.printing-manual .sidebar{display:none!important}body.printing-manual .manual-print-sheet{display:block!important;width:100%!important}}

html,body{max-width:100%;overflow-x:hidden}.mobile-admin-nav{display:none}@media(max-width:760px){.workspace,main,#content,.card,.card-body,.card-header,.control-management,.control-set-form,.control-set-head,.level-draft,.control-actions{min-width:0;max-width:100%}.card{overflow:hidden}.card-header{flex-wrap:wrap}.card-header>*{min-width:0}.control-set-head,.level-draft{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.control-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}.control-actions button{flex:1 1 120px;min-width:0}.manual-save-actions{max-width:100%;overflow:hidden}.admin-nav{display:none!important}.mobile-admin-nav:not([hidden]){display:inline-flex!important;flex:0 0 38px;width:38px;height:38px;min-height:38px;margin-left:6px;padding:0;border-radius:9px;background:var(--navy);color:#fff;border-color:var(--navy);font-size:18px}.account-chip{max-width:calc(100vw - 150px);overflow:hidden}.account-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{gap:6px;justify-content:flex-end}.storage-status{margin-right:auto}}
@media(max-width:760px){.mobile-admin-nav{display:none!important}.admin-nav:not([hidden]){display:inline-flex!important;width:auto!important;margin:10px 0 0!important;padding:9px 12px!important;font-size:11px!important;border-radius:9px!important}.topbar{justify-content:space-between}.account-chip{max-width:calc(100vw - 130px)}}
