.separation-layout{grid-template-columns:270px minmax(560px,1fr) 285px;align-items:start;gap:14px;display:grid}.component-panel,.separation-workspace,.separation-demo>header,.separation-demo>footer{background:#fff;border:1px solid #d7e1ec;border-radius:14px;box-shadow:0 5px 18px #14273b12}.component-panel{gap:12px;padding:16px;display:grid}.component-panel h2{color:#16283f;margin:0;font-size:1.16rem}.component-panel>p{color:#52657a;margin:0;line-height:1.5}.component-kicker{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800;color:#315fce!important}.component-panel label{color:#42576b;gap:5px;font-size:.78rem;font-weight:750;display:grid}.component-panel select,.component-panel textarea,.component-form-grid select{color:#1f3448;background:#fff;border:1px solid #c7d5e3;border-radius:8px;width:100%;padding:9px}.component-panel textarea{resize:vertical;min-height:92px}.separation-workspace{background:linear-gradient(145deg,#f5f8fa,#e8eef3);gap:14px;min-height:720px;padding:16px;display:grid}.component-note,.component-explanation{color:#52657a;background:#f1f5fa;border-radius:9px;padding:10px;font-size:.78rem;line-height:1.5}.component-explanation{gap:5px;display:grid}.component-explanation strong{color:#234d9e}.component-explanation p{margin:0}.component-case-list{gap:5px;display:grid}.component-case-list button{text-align:left;color:#385067;background:#f8fafc;border:1px solid #ccd8e4;border-radius:7px;padding:8px}.component-case-list button.active{color:#244ba8;background:#eef4ff;border-color:#315fce}.component-workflow{color:#52657a;gap:5px;padding-left:20px;font-size:.74rem;line-height:1.45;display:grid}.separation-action-controls{gap:10px;display:grid}.component-checks{flex-wrap:wrap;gap:8px;display:flex}.component-checks label{color:#40566b;background:#fff;border:1px solid #cfdae6;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:700}.component-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.component-form-grid label{color:#42576b;gap:4px;font-size:.74rem;font-weight:750;display:grid}.layer-checks{border:1px solid #d7e1ec;border-radius:9px;gap:7px;padding:10px;display:grid}.layer-checks legend{color:#42576b;padding:0 5px;font-size:.75rem;font-weight:800}.layer-checks label{grid-template-columns:auto 1fr;align-items:center;gap:7px;display:flex}.component-primary,.separation-demo button{color:#fff;background:#315fce;border:1px solid #315fce;border-radius:8px;padding:10px 13px;font-weight:750}.component-feedback{background:#fff8e8;border-left:4px solid #d79b25;border-radius:8px;gap:6px;padding:10px;display:grid}.component-feedback p{color:#6f541c;margin:0;font-size:.77rem;line-height:1.45}.assessment-rubric{gap:5px;display:grid}.assessment-rubric span{color:#315fce;background:#eef4ff;border-radius:6px;padding:6px 8px;font-size:.72rem;font-weight:750}.separation-demo{gap:14px;display:grid}.separation-demo>header,.separation-demo>footer{justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;display:flex}.separation-demo header h2,.separation-demo header p{margin:2px 0}.separation-demo-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.separation-demo footer{justify-content:flex-end}.separation-demo button:not(.primary){color:#385067;background:#fff;border-color:#cbd7e5}.separation-demo button:disabled{opacity:.45}@media (width<=1180px){.separation-layout{grid-template-columns:230px 1fr}.separation-layout>.component-panel:last-child{grid-column:1/-1}.separation-demo-grid{grid-template-columns:1fr}}@media (width<=760px){.separation-layout{grid-template-columns:1fr}.separation-workspace{min-height:0}.component-form-grid{grid-template-columns:1fr}.separation-layout>.component-panel:last-child{grid-column:auto}}.blood-field{background:radial-gradient(circle at 48% 42%,#fffaf8 0,#f7e8e5 62%,#e8d2cf 100%);position:relative;box-shadow:inset 0 0 70px #591d2321,0 14px 35px #18294017}.blood-field svg{background-image:radial-gradient(circle,#82363d09 0 1px,#0000 1.2px);background-size:9px 9px}.blood-field.quality-inadequately-mixed svg{filter:contrast(1.03);transform:translate(-1.5%)}.blood-field.quality-insufficient-volume svg{opacity:.48}.blood-field.quality-clotted svg{filter:saturate(.72)contrast(1.12)}.sample-clot{fill:#5c0f1db3;stroke:#430b14cc;stroke-width:1.2px;filter:drop-shadow(0 3px 3px #3d071147)}.sample-quality-overlay{color:#9f2d28;text-transform:capitalize;background:#fff7f5f0;border:1px solid #f2b8ae;border-radius:999px;padding:.38rem .65rem;font-size:.72rem;font-weight:800;position:absolute;top:.7rem;right:.7rem;box-shadow:0 6px 18px #5a1f231f}.histogram-reference{fill:#1469a714;stroke:#1469a73d;stroke-dasharray:3 3}.cbc-quality-control{color:#334155;gap:.35rem;margin-top:.8rem;font-size:.78rem;font-weight:800;display:grid}.cbc-quality-control select,.cbc-challenge-card select{color:#172033;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;width:100%;padding:.58rem}.cbc-challenge-card{background:linear-gradient(145deg,#f8fbff,#eef4ff);border:1px solid #b9cbea;border-radius:.7rem;gap:.5rem;padding:.8rem;display:grid}.cbc-challenge-card p,.cbc-challenge-card strong{margin:0;font-size:.78rem;line-height:1.4}.cbc-challenge-card strong{color:#64748b}.cbc-challenge-card strong.complete{color:#087f5b}.cbc-analyzer-readout{background:#0d1b26;border:1px solid #aebdcc;border-radius:.65rem;overflow:hidden;box-shadow:0 15px 28px #09172424}.cbc-analyzer-header{color:#d8e8f4;border-bottom:1px solid #294255;grid-template-columns:1fr auto;gap:.18rem .5rem;padding:.68rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.cbc-analyzer-header span{letter-spacing:.08em;font-size:.7rem}.cbc-analyzer-header strong{color:#61d9a4;font-size:.68rem}.cbc-analyzer-header small{color:#8ea8bb;grid-column:1/-1}.cbc-analyzer-readout .live-results-list{background:#f8fafc;padding:.55rem}.live-result{position:relative}.live-result i{color:#64748b;letter-spacing:.03em;text-transform:uppercase;grid-column:1/-1;font-size:.62rem;font-style:normal}@media (prefers-reduced-motion:no-preference){.blood-field .visual-cell{animation:.42s ease-out both cbc-settle}}@keyframes cbc-settle{0%{opacity:0;transform:scale(.85)}to{transform:scale(1)}}
