.layout{display:block}.console-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 25px;background:#0b1822;border-bottom:1px solid #345362;position:sticky;top:0;z-index:4}.console-header .nav{display:flex;gap:5px}.console-header .nav button{padding:12px 19px}.console-header .nav button.active{box-shadow:inset 0 -2px #6bdeeb}.main{max-width:1750px;padding:24px 28px}.settings-dialog{max-width:1400px;width:94vw;max-height:90vh}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}.setting-card{padding:16px;border:1px solid #345363;background:#0b1c28}.setting-card>.check{margin-bottom:15px;font-size:14px}.setting-card p{margin:12px 0 0;font-size:11px}.plate-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.8fr) minmax(280px,.9fr);gap:15px;align-items:start}.module-list{max-height:190px;overflow:auto;margin:16px 0}.route-list{max-height:190px;overflow:auto}.board{max-height:480px}.instrument-view svg{max-height:430px}.pump-motion{display:flex;align-items:center;gap:20px;background:#0a1a26;border:1px solid #33566c;padding:10px;margin:0 0 18px}.pump-motion svg{width:70%;max-height:150px}.run-focus{padding:18px}.run-focus .badge{margin-bottom:5px}details{margin-top:12px}summary{cursor:pointer;padding:8px;color:#95cbdc}.view-label.bottom{font-size:9px}.form-grid{margin:12px 0}.panel-body>p{margin:8px 0}#dialog .panel-body{padding:12px}.console-header .brand{min-width:150px}.library-item{justify-content:space-between}.stat .value{font-size:22px}.board-wrap{padding:12px}.grid2{align-items:start}.instrument-view{margin:0}.settings-dialog .panel-head{position:sticky;top:-25px;z-index:1}.settings-dialog .panel{border:0}.setting-card label{font-size:11px}
@media(max-width:1250px){.console-header{gap:10px;padding:10px 15px}.console-header .nav button{padding:12px}.plate-split{grid-template-columns:1.4fr 1fr}.plate-split>section:last-child{grid-column:1/-1}.settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.console-header{flex-wrap:wrap}.console-header .nav{order:3;width:100%;justify-content:space-between}.console-header .nav button{padding:9px 12px}.main{padding:18px 12px}.plate-split{grid-template-columns:1fr}.plate-split>section:last-child{grid-column:auto}.settings-grid{grid-template-columns:1fr}.console-header .badge{font-size:8px}.pump-motion{display:block}.pump-motion svg{width:100%}.view-label.bottom{font-size:7px}}
/* October 6: visible controls for both heads and direct plate manipulation. */
.manual-workspace{display:grid;grid-template-columns:minmax(360px,1fr) minmax(580px,1.3fr);gap:16px;align-items:start}.dual-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.head-card{border:1px solid #375265;background:#0c1c28;padding:13px;min-width:0}.head-card.keyboard-head{border-color:#9476c9;box-shadow:inset 0 2px #b597e4}.head-card-title{display:flex;justify-content:space-between;align-items:center;gap:8px}.head-card .stat-row{gap:5px}.head-card .stat{padding:9px 7px}.head-card .stat .value{font-size:19px;letter-spacing:-.5px}.head-card .stat>span{font-size:8px}.head-card .form-grid{gap:9px}.head-card p{font-size:10px;line-height:1.5;margin:12px 0 0}.compact-buttons{gap:6px;margin-top:9px}.compact-buttons button{font-size:11px;padding:9px}.head-card .primary{font-size:11px}.stage-line{display:flex;align-items:end;gap:18px;margin-bottom:10px}.stage-line label{max-width:130px}.plate-split{grid-template-columns:minmax(0,1.3fr) minmax(265px,.7fr)}.plate-split>section:last-child{grid-column:1/-1}.plate-split>section:last-child .dual-controls{grid-template-columns:1fr 1fr}.fluid-port{cursor:crosshair}.slot-target{cursor:copy}.board{touch-action:none;user-select:none;max-height:550px}.board .module{cursor:grab}.board .module:active{cursor:grabbing}.palette{padding:0 0 15px}.palette [draggable]{border-style:dashed}.head-coordinates{display:flex;gap:18px;flex-wrap:wrap;font:11px Consolas,monospace;color:#d3baff;padding:12px 0}.head-coordinates span:last-child{color:#ffc4e6}.module-telemetry{display:grid;gap:10px}.telemetry-item{display:grid;gap:7px;padding:14px;background:#0b1b27;border-left:2px solid #5a9bb3}.telemetry-item span{font:14px Consolas,monospace;color:#ace5ee}.run-focus h2{font-size:20px}.pump-motion svg{min-width:0;width:65%}.run-focus{min-height:300px}.live-head-marker text{paint-order:stroke;stroke:#0c1e2b;stroke-width:.9px;stroke-linejoin:round}.settings-dialog .settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#runtime-board .board{max-height:350px}.dual-controls select{font-size:12px}.head-card .stat small{font-size:9px}.head-card .stat .value:has(small){white-space:nowrap}
@media(min-width:1550px){.plate-split{grid-template-columns:minmax(0,1fr) 300px minmax(560px,1.2fr)}.plate-split>section:last-child{grid-column:auto}.main{max-width:1900px}.plate-split .dual-controls{gap:9px}.head-card .compact-buttons button{padding:8px}}
@media(max-width:1100px){.manual-workspace{grid-template-columns:1fr}.instrument-view svg{max-height:310px}.settings-dialog .settings-grid{grid-template-columns:1fr 1fr}.plate-split{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.dual-controls,.plate-split>section:last-child .dual-controls{grid-template-columns:1fr}.plate-split{grid-template-columns:1fr}.settings-dialog .settings-grid{grid-template-columns:1fr}.head-card .stat .value{font-size:21px}.pump-motion svg{width:100%}.head-card .form-grid{grid-template-columns:1fr 1fr}}

.plate-3d{background:radial-gradient(ellipse at center,#173342,#081824 70%);border:1px solid #2b485b;padding:12px;margin-bottom:16px}.plate-3d svg{display:block;width:100%;max-height:440px}.plate-3d p{margin:4px 0;font-size:11px}[data-feature]{cursor:crosshair}.route-list .library-item{gap:8px}.route-list .library-item span{flex:1}

.cad-circle{cursor:crosshair}.cad-circle:hover>circle{stroke:#7ceaff;stroke-width:.7}.cad-selected>circle{filter:drop-shadow(0 0 .6px #63d7ee)}
.setup-table-wrap{overflow-x:auto}.setup-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.6}.setup-table th{text-align:left;color:#99d4e2;background:#0b202d;padding:12px;border-bottom:1px solid #436373}.setup-table td{padding:13px 12px;vertical-align:top;border-bottom:1px solid #2d4554;min-width:120px}.setup-table small{display:block;color:#8ba9ba}.setup-table td:nth-child(3){max-width:400px}.setup-table td button{margin:0 5px 7px 0}.missing-list{margin:0;padding-left:16px;color:#ffd18d}.setup-warning{color:#ffd18d}.program-error{margin:16px 0;padding:16px;border:1px solid #d98b54;border-left:4px solid #e9a76c;background:#342820}.program-error h3{margin:0 0 10px;color:#ffd7a4;font-size:17px}.program-error small{display:block;margin-top:12px;color:#ddbc9e}#plate-setup{scroll-margin-top:100px;margin-top:20px}#plate-setup>.panel{margin-bottom:18px}
.channel-endpoints{display:grid;gap:10px;margin:15px 0}.endpoint-card{padding:12px;border:1px solid #496777;background:#0a202c;display:grid;gap:8px}.endpoint-card strong{font-size:13px;color:#f8dc9e}.port-drop-target{fill:#fff;stroke:#fff;stroke-width:.8}.fluid-port:hover{fill:#fff;stroke:#ffe4a3;stroke-width:.5}[data-channel-end]{cursor:grab}[data-channel-end]:active{cursor:grabbing}
.network-routes{display:grid;gap:10px;max-height:520px;overflow:auto}.network-routes .telemetry-item span{font:12px/1.6 system-ui;color:#b9dbe6}#network-panel{scroll-margin-top:90px}.network-routes details{margin:0}.network-routes li{color:#ffd18d;font-size:12px}.network-routes .telemetry-item{padding:10px}
.console-header>.row>button{font-family:inherit;font-size:12px;font-weight:650;min-height:36px;padding:9px 13px}
.protocol-workspace{align-items:start}.protocol-workspace>.panel:last-child{position:sticky;top:84px}
.run-step-list{list-style:none;margin:0;padding:0;max-height:560px;overflow:auto}.run-step-list li{display:flex;gap:12px;padding:12px;border-left:3px solid #304b5d;border-bottom:1px solid #243b4a}.run-step-list li.current{border-left-color:#63dfef;background:#194251}.run-step-list li.done{opacity:.65}.run-step-list small{display:block;margin-top:5px;color:#a3c2d3}.step-state{color:#6de3ed;min-width:20px}.pid-scroll{overflow:auto}.pid-scroll svg{min-width:680px;width:100%;max-height:780px}.pid-scroll [role=button]{cursor:pointer;outline:none}.pid-scroll [role=button]:focus>rect{stroke:#fff2a9;stroke-width:3}.pid-shell .callout{max-height:160px;overflow:auto}.module-list{max-height:360px;overflow:auto}
@media(max-width:900px){.protocol-workspace>.panel:last-child{position:static}}
#dialog .pid-scroll svg{width:100%;min-width:0;height:60vh;max-height:none}
#dialog .pid-shell .callout{max-height:90px}
.draft-chat{max-height:280px;overflow:auto;display:grid;gap:10px;margin:14px 0}.chat-message{padding:12px;background:#142e3d;border-left:3px solid #67d7e3}.chat-message.user{background:#1e3048;border-color:#b5a1e8}.chat-message p{white-space:pre-wrap;margin:5px 0}.draft-operation{padding:14px;border:1px solid #35505e;margin:12px 0}.draft-operation h3{margin-top:0}.draft-operation .form-grid{margin-top:12px}

.console-header .brand-logo{display:block;width:150px;height:auto;max-width:100%;object-fit:contain}

.manual-workspace > .board-panel{grid-column:1/-1}.board-panel .board-actions{margin:0 0 14px}.board-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}.board-diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.board-diagnostics{margin-top:12px}.board-diagnostics summary{cursor:pointer;color:#89d5e9}@media(max-width:800px){.board-summary-grid,.board-diagnostic-grid{grid-template-columns:1fr}}
.plate-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.library-card{border:1px solid #31505e;padding:16px;background:#0b1e2a}.library-card svg{width:100%;height:170px;background:#071722}.library-protocol{border-top:1px solid #31505e;margin-top:12px;padding-top:10px}.protocol-metadata{margin-bottom:18px}.protocol-metadata label{margin-bottom:10px}

/* Operate keeps the live card and run controls together. */
.operate-workspace{grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr)}
.compact-run{min-height:0;padding:12px;margin:0 0 8px}.compact-run h2{margin:6px 0}.compact-run p{margin:6px 0}
.run-toolbar{margin-bottom:14px}.protocol-operation{border:1px solid #365364;border-radius:5px;margin-bottom:10px;background:#102331}
.protocol-operation summary{cursor:pointer;padding:13px}.protocol-operation summary small{display:block;color:#9bbbc9;margin-top:6px}
.protocol-operation.current{border-color:#63d5e7}.protocol-operation.done>summary{color:#81c7b9}.protocol-operation .steps{padding:0 10px 10px}.protocol-operation .step{margin-top:6px}.operation-list{max-height:65vh;overflow:auto}
@media(max-width:900px){.operate-workspace{grid-template-columns:1fr}}

.run-title{display:flex;align-items:center;gap:12px}.compact-run .run-title h2{font-size:16px;margin:0}.compact-run .progress{margin:8px 0}.compact-run small{color:#a8c6d2}
