:root{--ink:#0a1120;--panel:#111a2e;--panel-2:#0d1526;--line:#22304c;--line-soft:#1a2740;--text:#e7edf6;--muted:#8a98b8;--muted-2:#5e6c8c;--cyan:#4fd9c7;--cyan-dim:#1e4a47;--amber:#f0b550;--amber-dim:#4a3b1c;--red:#e8677a;--red-dim:#4a2230;--green:#6fde8f;--green-dim:#1e4030;--violet:#8b7cf6;--blue:#5b9cf6;--yg:#c9e85a;--uv:#b98bf0;--control-bg:#182238;--control-bg-hover:#1d2a45;--surface-2:#16233c;--surface-hover:#141f38;--surface-active:#152036;--accent-hover:#67e2d1;--on-accent:#04110f;--well-border-loaded:#2a6e67;--font-ui:-apple-system, "Segoe UI", "IBM Plex Sans", Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root[data-theme=light]{--ink:#f5f7f8;--panel:#fff;--panel-2:#eef1f3;--line:#d5dce2;--line-soft:#e4e9ed;--text:#3f4851;--muted:#66727e;--muted-2:#94a0ab;--cyan:#3e6868;--cyan-dim:#dcebe9;--amber:#a8681a;--amber-dim:#f7ebd6;--red:#c2394e;--red-dim:#fbe7ea;--green:#1f8a4c;--green-dim:#e1f3e7;--violet:#6a53d6;--blue:#346191;--yg:#6e8a1e;--uv:#7b4fcb;--control-bg:#edf0f3;--control-bg-hover:#e2e7ec;--surface-2:#eef1f3;--surface-hover:#e9edf0;--surface-active:#e1eaea;--accent-hover:#345454;--on-accent:#fff;--well-border-loaded:#6e9a94}*{box-sizing:border-box}html,body,#root{background:var(--ink);color:var(--text);font-family:var(--font-ui);min-height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased}::selection{background:var(--cyan-dim);color:var(--cyan)}.app{width:97%;max-width:2200px;margin:0 auto;padding:20px 16px 60px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:22px;padding:10px 4px 18px;display:flex}.brand{flex-shrink:0;position:relative}.brand-top-row{align-items:center;gap:10px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--cyan), var(--blue));width:26px;height:26px;font-family:var(--font-mono);color:var(--on-accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.brand-text-line1{letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:5px;font-size:13.5px;display:flex}.brand-text-line1 b{font-weight:650}.brand-subtitle{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:400;position:absolute;top:100%;left:36px}.login-brand{align-items:center;gap:10px;display:flex}.login-brand-text{flex-direction:column;gap:1px;display:flex}.login-brand-text span{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:400}.about-menu{position:relative}.about-menu-trigger{border:1px solid var(--line);width:19px;height:19px;color:var(--muted-2);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.about-menu-trigger:hover,.about-menu-trigger[aria-expanded=true]{background:var(--surface-hover);color:var(--text)}.about-menu-trigger svg{width:13px;height:13px}.about-menu-panel{z-index:40;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:10px;width:320px;padding:14px 16px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 28px #00000038}.about-menu-title{color:var(--text);margin-bottom:2px;font-size:12px;font-weight:650}.about-menu-panel p{color:var(--muted);margin:0 0 8px;font-size:11.5px;line-height:1.5}.about-menu-panel p:last-of-type{margin-bottom:0}.about-menu-author{border-top:1px solid var(--line-soft);font-size:11px;font-family:var(--font-mono);color:var(--muted-2);margin-top:10px;padding-top:10px}.topbar-right{align-items:center;gap:14px;display:flex}.batch-tag{font-family:var(--font-mono);color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:5px 10px;font-size:11.5px}.instrument-select{width:auto;font-family:var(--font-ui);color:var(--text);background:var(--control-bg);border:1px solid var(--line);border-radius:7px;padding:7px 10px;font-size:12px;font-weight:600}.instrument-select:hover{background:var(--control-bg-hover)}.status-pill{border:1px solid var(--line);cursor:pointer;color:var(--green);font-size:12px;font-weight:600;font-family:var(--font-ui);background:0 0;border-radius:20px;align-items:center;gap:7px;padding:6px 12px 6px 9px;display:flex}.status-pill .dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 8px var(--green);border-radius:50%}.status-pill.warn .dot{background:var(--amber);box-shadow:0 0 8px var(--amber)}.status-pill.warn{color:var(--amber)}.status-pill.fail .dot{background:var(--red);box-shadow:0 0 8px var(--red)}.status-pill.fail{color:var(--red)}.status-pill.running .dot{background:var(--blue);box-shadow:0 0 8px var(--blue)}.status-pill.running{color:var(--blue);animation:1.8s ease-in-out infinite status-pill-pulse}@keyframes status-pill-pulse{0%,to{opacity:1}50%{opacity:.4}}.status-pill.warming .dot,.status-pill.polling .dot{background:var(--muted);box-shadow:none}.status-pill.warming,.status-pill.polling{color:var(--muted)}.theme-toggle{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle:hover{background:var(--surface-hover);color:var(--text)}.theme-toggle svg{width:15px;height:15px}.stepper{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;gap:2px;margin-bottom:26px;display:flex;overflow:hidden}.step-btn{text-align:center;border:none;border-right:1px solid var(--line-soft);min-width:0;color:var(--muted-2);cursor:pointer;font-family:var(--font-ui);background:0 0;flex:1;padding:13px 6px;transition:background .15s;position:relative;overflow:hidden}.step-btn:last-child{border-right:none}.step-btn:hover{background:var(--surface-hover)}.step-num{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;margin-bottom:4px;font-size:12px;display:block}.step-label{letter-spacing:0;color:var(--muted);white-space:nowrap;font-size:15px;font-weight:650;display:block}.step-btn.active{background:var(--surface-active)}.step-btn.active .step-num{color:var(--cyan)}.step-btn.active .step-label{color:var(--text)}.step-btn.active:after{content:"";background:var(--cyan);height:2px;position:absolute;bottom:0;left:0;right:0}.step-btn.done .step-num:after{content:" ✓";color:var(--green)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:480px;padding:26px 28px 28px}.panel-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:4px;display:flex}.panel-title{letter-spacing:-.01em;font-size:17px;font-weight:650}.panel-sub{color:var(--muted);margin-top:3px;margin-bottom:22px;font-size:12.5px}.btn{font-family:var(--font-ui);border:1px solid var(--line);background:var(--control-bg);color:var(--text);cursor:pointer;border-radius:7px;padding:8px 14px;font-size:12.5px;font-weight:600}.btn:hover{background:var(--control-bg-hover)}.btn.primary{background:var(--cyan);border-color:var(--cyan);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{background:0 0}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-row{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;margin-top:26px;padding-top:20px;display:flex}.grid-2{grid-template-columns:1.15fr .85fr;gap:24px;display:grid}.grid-2>div{min-width:0}.grid-2.assay-setup-grid{grid-template-columns:.92fr 1.08fr}.step5-layout{grid-template-columns:minmax(260px,320px) 1fr;align-items:start;gap:8px;display:grid}.step5-side,.step5-plots{flex-direction:column;gap:6px;min-height:0;display:flex}.step5-plots-row{grid-template-columns:repeat(3,1fr);justify-content:start;gap:0;display:grid}.card.plot-card-square{border-radius:0;flex-direction:column;min-height:0;padding:5px 6px;display:flex}.plot-card-tools{color:var(--muted-2);justify-content:space-between;align-items:center;margin-bottom:2px;font-size:10px;display:flex}.plot-card-tools .btn.ghost{font-size:11px;padding:1px 6px!important}.gating-tree-card{justify-content:flex-start}.gating-tree{font-family:var(--font-mono);white-space:pre;color:var(--text);flex:1;min-height:0;margin:4px 0 0;padding:6px 4px;font-size:10.5px;line-height:1.55;overflow-x:auto}.gating-tree-note{margin-top:4px;line-height:1.4}.plot-axes-row{flex:1;justify-content:center;align-items:stretch;gap:3px;min-height:0;display:flex}.axis-select-y{writing-mode:vertical-rl;text-align:center;text-align-last:center;cursor:pointer;flex:none;width:16px;transform:rotate(180deg);padding:2px 1px!important;font-size:8.5px!important}.plot-canvas-col{flex-direction:column;flex:1;gap:2px;min-width:0;max-width:34vh;min-height:0;display:flex}.axis-select-x{text-align:center;text-align-last:center;cursor:pointer;width:100%;padding:2px 4px!important;font-size:8.5px!important}.plot-card-square .plot-canvas-wrap{aspect-ratio:1;width:100%;max-width:34vh;min-height:0}.mini-stat-row{color:var(--muted);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:3px 0;font-size:11px;display:flex}.mini-stat-row:last-child{border-bottom:none}.mini-stat-row b{font-family:var(--font-mono);color:var(--text)}.mini-stat-row b.stat-pass{color:var(--green)}.mini-stat-row b.stat-flag{color:var(--amber)}.mini-stat-row b.stat-rerun{color:var(--red)}.step6-layout{grid-template-columns:minmax(260px,320px) 1fr;align-items:start;gap:14px;display:grid}.step6-col-left,.step6-col-right{flex-direction:column;gap:10px;min-width:0;display:flex}.step6-plots{flex-direction:column;min-width:0;display:flex}.sample-list-table th,.sample-list-table td{padding:6px 8px;font-size:11px}.sample-list-table thead tr{background:var(--panel-2);z-index:1;position:sticky;top:0}.sample-list-table td.sample-well{color:var(--muted-2);white-space:nowrap}.card{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:10px;padding:16px 18px}.login-gate{z-index:100;background:var(--ink);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-gate-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:100%;max-width:340px;padding:28px 26px;box-shadow:0 12px 28px #00000038}.feedback-trigger{font-family:var(--font-ui);border:1px solid var(--cyan);color:var(--cyan);cursor:pointer;background:0 0;border-radius:20px;align-items:center;margin-left:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.feedback-trigger:hover{background:var(--cyan-dim)}.feedback-modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.feedback-modal-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:100%;max-width:420px;max-height:90vh;padding:24px 24px 20px;overflow-y:auto;box-shadow:0 16px 40px #00000059}.feedback-floating-panel{z-index:100;background:var(--panel);border:1px solid var(--line);border-radius:12px;width:420px;max-width:calc(100vw - 40px);max-height:90vh;padding:16px 24px 20px;position:fixed;overflow-y:auto;box-shadow:0 16px 40px #00000059}.feedback-panel-header{cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--line-soft);touch-action:none;margin:-4px -24px 16px;padding:4px 24px 12px}.feedback-panel-header:active{cursor:grabbing}.card-title{color:var(--text);margin-bottom:2px;font-size:12px;font-weight:650}.card-note{color:var(--muted-2);font-size:11px}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted-2);text-transform:uppercase;border-bottom:1px solid var(--line);padding:7px 10px;font-size:10px}td{border-bottom:1px solid var(--line-soft);color:var(--text);font-family:var(--font-mono);padding:8px 10px;font-size:11.5px}tr:hover td{background:var(--surface-hover)}.cell-subline{opacity:.8;white-space:nowrap;margin-top:1px;font-size:10px;display:block}.table-group-header{background:var(--panel-2,var(--line-soft));color:var(--muted-2);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);font-size:10.5px;font-weight:650;padding:7px 10px!important}tr:hover .table-group-header{background:var(--panel-2,var(--line-soft))}.chip{font-size:10.5px;font-weight:650;font-family:var(--font-ui);border-radius:20px;align-items:center;gap:5px;padding:3px 8px;display:inline-flex}.chip.pass{background:var(--green-dim);color:var(--green)}.chip.flag{background:var(--amber-dim);color:var(--amber)}.chip.rerun{background:var(--red-dim);color:var(--red)}.chip.pending{background:var(--line-soft);color:var(--muted)}.step1-layout{grid-template-columns:300px 1fr;align-items:start;gap:24px;display:grid}.plate-rack{flex-direction:column;gap:8px;max-height:560px;padding-right:6px;display:flex;overflow-y:auto}.plate-mini{background:var(--panel-2);border:1px solid var(--line-soft);cursor:pointer;border-radius:9px;flex:none;padding:10px 12px}.plate-mini.selected{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}.plate-mini-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.plate-mini-head b{font-size:11.5px}.mini-grid{grid-template-columns:repeat(var(--cols,12), 1fr);gap:1.5px;display:grid}.mini-well{aspect-ratio:1;background:var(--cyan-dim);border-radius:1px}.plate-full{grid-template-columns:22px repeat(var(--cols,12), 1fr);gap:2.5px;max-width:600px;margin-top:6px;display:grid}.well-label{font-family:var(--font-mono);color:var(--muted-2);justify-content:center;align-items:center;font-size:9.5px;display:flex}.well{aspect-ratio:1;background:var(--surface-2);border:1px solid var(--line-soft);cursor:pointer;border-radius:3px;position:relative}.well.loaded{background:var(--cyan-dim);border-color:var(--well-border-loaded)}.well.unused{border:1px dashed var(--line-soft);cursor:default;background:0 0}.well.excluded{border:1px solid var(--red-dim);opacity:.45;background:0 0}.well:hover{outline:1px solid var(--cyan)}.legend{color:var(--muted);gap:16px;margin-top:14px;font-size:11px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:2px;width:9px;height:9px;display:inline-block}.ctrl-well{font-family:var(--font-mono);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.ctrl-well-marker{color:var(--text);text-align:center;white-space:nowrap;font-size:10.5px;font-weight:650;line-height:1.15}.ctrl-well-fluor{color:var(--muted-2);font-size:8px}.ctrl-well.captured{background:var(--cyan-dim);border-color:var(--well-border-loaded)}.ctrl-well.blocked{background:var(--red-dim);border-color:var(--red)}.ctrl-well.capturing{background:var(--amber-dim);border-color:var(--amber)}.ctrl-well.selected{outline:2px solid var(--cyan)}.ctrl-well:disabled{cursor:default;border-style:dashed}.af-legend{font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;gap:6px 12px;margin-top:8px;font-size:10px;display:flex}.af-legend-item{align-items:center;gap:5px;display:inline-flex}.af-legend-item i{border-radius:50%;width:8px;height:8px;display:inline-block}.instrument-status-layout{align-items:flex-start;gap:24px;display:flex}.subtab-col{flex-direction:column;flex-shrink:0;gap:4px;width:190px;display:flex}.instrument-status-layout.status-unavailable{opacity:.4;filter:grayscale();pointer-events:none;-webkit-user-select:none;user-select:none}.instrument-status-content{flex:1;min-width:0}.subtab-vertical{color:var(--muted);font-family:var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;width:100%;padding:9px 12px;font-size:12.5px;font-weight:600;display:flex}.subtab-vertical:hover{background:var(--surface-hover)}.subtab-vertical.active{background:var(--surface-active);color:var(--text);border-color:var(--cyan)}.combo-grid{grid-template-columns:1fr 1fr;align-items:start;gap:36px;display:grid}.sub-detail-lg{color:var(--muted-2);font-size:14.5px;line-height:2;font-family:var(--font-mono)}.sub-detail-lg b{color:var(--text)}.tank-vertical-row{justify-content:center;align-items:flex-end;gap:44px;padding:12px 0 4px;display:flex}.tank-vertical{flex-direction:column;align-items:center;gap:12px;display:flex}.tank-vertical-pct{font-family:var(--font-mono);font-size:26px;font-weight:700}.tank-vertical-pct.ok{color:var(--green)}.tank-vertical-pct.warn{color:var(--amber)}.tank-vertical-pct.fail{color:var(--red)}.tank-vertical-track{background:var(--line-soft);border:1px solid var(--line);border-radius:12px;flex-direction:column;justify-content:flex-end;width:74px;height:260px;display:flex;overflow:hidden}.tank-vertical-fill{width:100%;transition:height .3s,background .3s}.tank-vertical-fill.ok{background:var(--green)}.tank-vertical-fill.warn{background:var(--amber)}.tank-vertical-fill.fail{background:var(--red)}.tank-vertical-label{color:var(--text);font-size:14px;font-weight:650}.sub-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:8px;display:grid}.sub-card{background:var(--panel-2);border:1px solid var(--line-soft);cursor:pointer;border-radius:10px;padding:14px 16px}.sub-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.sub-card-title{font-size:12.5px;font-weight:650}.sub-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:3px}.sub-dot.ok{background:var(--green);box-shadow:0 0 6px var(--green)}.sub-dot.warn{background:var(--amber);box-shadow:0 0 6px var(--amber)}.sub-dot.fail{background:var(--red);box-shadow:0 0 6px var(--red)}.sub-detail{color:var(--muted-2);font-size:10.5px;line-height:1.6;font-family:var(--font-mono)}.laser-row{font-size:10.5px;font-family:var(--font-mono);color:var(--muted);align-items:center;gap:8px;padding:3px 0;display:flex}.laser-swatch{border-radius:50%;flex:none;width:8px;height:8px}.spark-wrap{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:10px;margin-top:14px;padding:16px 18px}svg{display:block}.badge-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.fluor-badge{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line-soft);color:var(--muted);border-radius:6px;align-items:center;gap:6px;padding:5px 9px;font-size:10.5px;display:flex}.fluor-badge .ok{color:var(--green)}.fluor-badge .pending{color:var(--amber)}.field{margin-bottom:16px}.field label{color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.plate-range-list{max-height:420px;padding-right:6px;overflow-y:auto}select,input[type=text],input[type=number],input[type=password],input[type=email],textarea{background:var(--panel-2);border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:7px;padding:9px 11px;font-size:12px}.progress-track{background:var(--line-soft);border-radius:4px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--cyan), var(--blue));border-radius:4px;height:100%}.well-run-grid{grid-template-columns:repeat(var(--cols,12), 1fr);gap:3px;max-width:320px;margin-top:14px;display:grid}.well-run{aspect-ratio:1;background:var(--line-soft);border-radius:2px}.well-run.done{background:var(--cyan-dim)}.well-run.done.flag{background:var(--amber-dim)}.well-run.done.rerun{background:var(--red-dim)}.well-run{place-items:center;display:grid;container-type:inline-size}.well-run.done.flag,.well-run.done.rerun{border:1.5px solid}.well-run.done.flag{border-color:var(--amber);border-style:dashed}.well-run.done.rerun{border-color:var(--red)}.well-run.done.flag:after,.well-run.done.rerun:after{font-size:clamp(7px,70cqw,16px);font-weight:800;line-height:1}.well-run.done.flag:after{content:"!";color:var(--amber)}.well-run.done.rerun:after{content:"✕";color:var(--red)}.well-run-legend{color:var(--muted-2);flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:11px;display:flex}.well-run-legend span{align-items:center;gap:5px;display:inline-flex}.well-run-legend .well-run{aspect-ratio:auto;width:14px;height:14px}.well-run.active{background:var(--cyan);box-shadow:0 0 6px var(--cyan)}.well-run.done:hover{outline:1px solid var(--cyan)}.well-run.viewed{outline:2px solid var(--amber);box-shadow:0 0 6px var(--amber)}.summary-strip{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;display:grid}.summary-box{background:var(--panel-2);border:1px solid var(--line-soft);text-align:center;border-radius:10px;padding:16px}.summary-num{font-family:var(--font-mono);font-size:24px;font-weight:700}.summary-num.green{color:var(--green)}.summary-num.amber{color:var(--amber)}.summary-num.red{color:var(--red)}.summary-lbl{color:var(--muted);letter-spacing:.02em;margin-top:4px;font-size:10.5px}.note-box{border:1px dashed var(--line);color:var(--muted);border-radius:8px;margin-top:16px;padding:12px 14px;font-size:11.5px}.note-box b{color:var(--text)}button{font-family:inherit}.method-tag{background:var(--surface-2);border:1px solid var(--line-soft);cursor:pointer;font-family:var(--font-ui);border-radius:8px;align-items:center;gap:8px;padding:5px 10px;display:flex}.method-tag:hover{border-color:var(--line);background:var(--control-bg-hover)}.method-tag-name{color:var(--text);white-space:nowrap;font-size:11px;font-weight:600}.method-tag-version{font-family:var(--font-mono);color:var(--muted);font-weight:400}.chip.locked{background:var(--line-soft);color:var(--muted);margin-left:6px}.chip.class-ivd{background:var(--cyan-dim);color:var(--cyan)}.chip.class-validated-ldt{background:var(--amber-dim);color:var(--amber)}.chip.class-research{background:var(--line-soft);color:var(--muted)}.locked-value{background:var(--panel-2);border:1px dashed var(--line);color:var(--text);font-family:var(--font-mono);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;font-size:12px;display:flex}.kv-list{margin-top:10px}.kv-row{border-bottom:1px solid var(--line-soft);color:var(--muted);justify-content:space-between;gap:12px;padding:6px 0;font-size:11.5px;display:flex}.kv-row:last-child{border-bottom:none}.kv-row b{color:var(--text);font-family:var(--font-mono);text-align:right;font-size:11px}.rule-tag{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted-2);border:1px solid var(--line-soft);border-radius:4px;margin-left:6px;padding:1px 5px;font-size:9.5px;display:inline-block}.criteria-line{font-family:var(--font-mono);color:var(--muted-2);margin-top:6px;font-size:10.5px}.note-box.blocking{border:1px solid var(--red);background:var(--red-dim);color:var(--text)}.note-box.blocking b{color:var(--red)}.control-banner{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 0;display:flex}.control-take{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.control-take .input{min-width:240px}.control-error{color:var(--red);flex-basis:100%}.blocker{border-top:1px solid var(--line-soft);margin-top:8px;padding-top:8px}.blocker:first-of-type{border-top:none}.blocker-cause{color:var(--text);margin-top:2px;font-size:11.5px}.blocker-action{color:var(--muted);margin-top:3px;font-size:11px}.inline-blocker{border:1px solid var(--red);background:var(--red-dim);min-width:0;color:var(--text);border-radius:8px;flex:auto;align-items:baseline;gap:8px;padding:8px 14px;font-size:11px;display:flex}.inline-blocker b{color:var(--red);flex-shrink:0;font-size:11px}.inline-blocker-list{flex-direction:column;gap:4px;min-width:0;display:flex}.inline-blocker-item{color:var(--text);font-size:11px;line-height:1.4}.link-btn{color:var(--cyan);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;padding:0 0 0 6px;font-size:11px;text-decoration:underline}.step-btn.locked{opacity:.4;cursor:not-allowed}.step-btn.locked:hover{background:0 0}.interlock-row{align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.residual-pass{color:var(--green)}.residual-fail{color:var(--amber)}.card-blocking{border:2px solid var(--red)}.card-caution{border:2px solid var(--amber)}.flag-row{align-items:center;gap:8px;margin-bottom:8px;font-size:11.5px;display:flex}.ack-row{color:var(--muted);align-items:flex-start;gap:8px;margin-top:14px;font-size:11.5px;line-height:1.5;display:flex}.tour-prompt{border:1px solid var(--cyan-dim);border-left:3px solid var(--cyan);background:var(--panel-2);border-radius:8px;align-items:center;gap:10px;margin:0 0 12px;padding:9px 14px;display:flex}.tour-prompt-text{color:var(--muted);flex:auto;font-size:12.5px}.view-toggle{border-bottom:1px solid var(--line-soft);align-items:center;gap:20px;margin:0 0 14px;display:flex}.view-toggle-btn{color:var(--muted);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:4px 2px 8px;font-size:12.5px}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn{align-items:center;gap:7px;display:inline-flex}.view-toggle-num{border:1px solid var(--line);width:17px;height:17px;font-family:var(--font-mono);color:var(--muted-2);border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.view-toggle-btn.active .view-toggle-num{border-color:var(--cyan);background:var(--cyan-dim);color:var(--cyan)}.view-toggle-btn.active{color:var(--cyan);border-bottom-color:var(--cyan);font-weight:650}.lib-layout.compact{border:none;border-radius:0;min-height:0;margin-top:10px}.lib-layout.compact .lib-rail{background:0 0;width:140px;padding:8px 6px}.lib-layout.compact .lib-items-col{max-height:min(640px,72vh)}.lib-layout{border:1px solid var(--line-soft);border-radius:10px;align-items:stretch;gap:0;min-height:520px;margin-top:16px;display:flex;overflow:hidden}.lib-rail{border-right:1px solid var(--line-soft);background:var(--panel-2);flex:none;width:190px;padding:12px 8px}.lib-items-col{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.lib-items-head{border-bottom:1px solid var(--line-soft);flex:none;padding:12px 14px 8px}.lib-items-scroll{flex:auto;padding:4px 0;overflow-y:auto}.lib-group-label{color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em;padding:10px 14px 4px;font-size:10.5px}.lib-item-row{border-left:3px solid #0000;align-items:center;gap:10px;padding:8px 12px 8px 14px;display:flex}.lib-item-row:hover{background:var(--surface-hover)}.lib-item-row.sub{padding-left:36px}.lib-fold{color:var(--muted-2);cursor:pointer;flex:none;align-self:flex-start;width:10px;margin-top:2px;font-size:11px}.lib-item-row:has(>.lib-fold){cursor:pointer}.lib-item-main{flex:auto;min-width:0}.lib-item-name{flex-wrap:wrap;align-items:center;gap:5px;font-size:12.5px;font-weight:500;display:flex}.lib-item-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.lib-item-action{flex:none}.lib-row-btn{white-space:nowrap;padding:4px 10px;font-size:11.5px}.lib-info-btn{border:1px solid var(--muted-2);width:16px;height:16px;color:var(--muted-2);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font:italic 600 10.5px/1 Georgia,Times New Roman,serif;display:inline-flex}.lib-info-btn:hover,.lib-info-btn.open{border-color:var(--cyan);color:var(--cyan)}.lib-info-popover{z-index:1000;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:14px 16px 16px;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #00000059}.lib-info-close{color:var(--muted-2);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1;position:absolute;top:6px;right:8px}.lib-info-close:hover{color:var(--text)}.lib-info-title{padding-right:20px;font-size:14px;font-weight:600}.lib-info-popover .lib-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;padding:10px 12px}.lib-info-validity{align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.lib-info-validity label{color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.lib-info-validity select{padding:3px 6px;font-size:12px}.lib-info-stats{gap:22px;margin-top:12px;display:flex}.lib-info-stats .mono{margin-top:2px;font-size:13px}.lib-meta-grid{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;padding:14px 16px;display:grid}.lib-meta-grid .k{color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.lib-meta-grid .v{margin-top:3px;font-size:12.5px}.run-setup-toolbar{margin-bottom:14px}.run-setup-toolbar-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.run-setup-toolbar-row .field select{min-width:190px}.run-setup-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=1100px){.run-setup-grid{grid-template-columns:1fr}}.container-strip{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.container-chip{border:1px solid var(--line-soft);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 10px;font-size:11px;display:flex}.container-chip span{color:var(--muted)}.container-chip.active{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}.loader-map{max-width:560px}.loader-map.dense{gap:1.5px;max-width:640px}.loader-map .well.unused.editable{cursor:pointer}.well-label.clickable{cursor:pointer;border-radius:3px}.well-label.clickable:hover{background:var(--line-soft);color:var(--text)}.detail-section{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:12px}.detail-section-title{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);align-items:center;margin-bottom:6px;font-size:11px;font-weight:650;display:flex}.event-sequence{margin:0;padding-left:18px;font-size:12px;line-height:1.7}.compact-table th,.compact-table td{padding:4px 6px;font-size:11.5px}.worklist-scroll{max-height:440px;overflow:auto}.worklist-table td,.worklist-table th{white-space:nowrap;padding:5px 8px;font-size:12px}.worklist-table thead th{background:var(--panel);z-index:1;position:sticky;top:0}.worklist-table tbody tr{cursor:pointer}.worklist-table tbody tr:hover td{background:var(--panel-2)}.worklist-table tr.selected td{background:var(--cyan-dim)}.worklist-table tr.excluded td{color:var(--muted-2)}.worklist-table tr.worklist-group td{background:var(--line-soft);cursor:default;font-size:11px;font-weight:650}.worklist-table .mono{font-family:var(--font-mono)}.worklist-seq{color:var(--muted)}.worklist-cell-input{width:100%;min-width:90px;font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 5px}.worklist-cell-input:hover{border-color:var(--line)}.worklist-cell-input:focus{border-color:var(--cyan);background:var(--control-bg);outline:none}.worklist-cell-input.invalid{border-color:var(--red)}.assay-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.worklist-table tr.reorderable{cursor:grab}.worklist-table tr.dragging{opacity:.45}.worklist-table tr.drop-before td{box-shadow:inset 0 2px 0 var(--cyan)}.worklist-table tr.drop-after td{box-shadow:inset 0 -2px 0 var(--cyan)}.worklist-grip{width:18px;padding-left:4px!important;padding-right:0!important}.grip-btn{color:var(--muted-2);cursor:grab;background:0 0;border:none;padding:2px;font-size:13px;line-height:1}.grip-btn:hover,.grip-btn:focus-visible{color:var(--cyan)}.sync-upstream-btn{font-weight:650}.worklist-table tr.worklist-add-row td{background:var(--surface-active);padding-top:6px;padding-bottom:6px}.worklist-table tr.worklist-add-row input,.worklist-table tr.worklist-add-row select{width:100%;min-width:0;padding:3px 6px;font-size:12px}.worklist-table tr.worklist-add-note td{background:var(--surface-active);color:var(--muted-2);padding-top:0;font-size:11px}.history-source{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:8px;margin-bottom:10px;padding:10px 12px;font-size:12px}.history-source-dates{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px;display:flex}.list-section-banner{background:var(--panel-2);border-left:3px solid var(--cyan);color:var(--text);border-radius:7px;justify-content:space-between;align-items:baseline;gap:10px;margin-top:14px;padding:7px 10px;font-size:12px;font-weight:650;display:flex}.list-section-banner .card-note{text-align:right;font-weight:400}.list-section-banner.clickable{cursor:pointer}.grouping-panel{background:var(--panel-2);border-radius:7px;margin-top:10px;padding:8px 10px}.feedback-modal-card.hl7-viewer-card{max-width:1100px}.hl7-viewer-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.hl7-block{margin-top:14px}.hl7-block-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:6px;display:flex}.hl7-message{font-family:var(--font-mono);background:var(--panel-2);border:1px solid var(--line-soft);white-space:pre;border-radius:8px;margin:0;padding:10px 12px;font-size:11.5px;line-height:1.55;overflow-x:auto}.hl7-message b{color:var(--cyan)}.hl7-empty{border:1px dashed var(--line-soft);border-radius:8px;padding:10px 12px}.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}
