/* ZETTA native workspaces. Same navigation geometry on both authenticated hosts. */
.wa-root,.wa-topbar,.wa-sidebar,.wa-main{box-sizing:border-box}
.wa-root{--wa-bg:#11161c;--wa-bar:#0b0f14;--wa-side:#0e1319;--wa-text:#eaf0f6;--wa-muted:#a6b3c0;--wa-accent:#4fb8e8;--wa-line:#2c3641;--wa-wash:#0e2530;display:grid;grid-template-columns:224px minmax(0,1fr);grid-template-rows:80px minmax(0,1fr);height:100dvh;min-width:1100px;background:var(--wa-bg);color:var(--wa-text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6}
.wa-topbar{grid-column:1/-1;grid-row:1;display:flex;align-items:stretch;gap:40px;padding:0 32px;background:var(--wa-bar);border-bottom:1px solid var(--wa-line);z-index:30;min-width:0}
.wa-brand{display:flex;align-items:center;width:212px;flex:none;text-decoration:none}
.wa-brand img{display:block;width:170px;height:34px;object-fit:contain}
.wa-tabs{display:flex;align-items:stretch;gap:32px}
.wa-tabs a{display:flex;align-items:center;color:var(--wa-muted);text-decoration:none;white-space:nowrap;font-size:15px;border-bottom:2px solid transparent;padding:0}
.wa-tabs a[aria-current=page]{color:var(--wa-text);border-bottom-color:var(--wa-accent);font-weight:600}
.wa-tabs a:hover{color:var(--wa-accent)}
.wa-utilities{margin-left:auto;display:flex;align-items:center;gap:24px;white-space:nowrap;font-size:13px}
.wa-utilities>a,.wa-account-menu a{color:var(--wa-muted);text-decoration:none;min-height:36px;display:flex;align-items:center}
.wa-account{position:relative}.wa-account summary{cursor:pointer;min-height:40px;display:flex;align-items:center;list-style:none}.wa-account summary::-webkit-details-marker{display:none}
.wa-account-menu{position:absolute;right:0;top:54px;min-width:220px;padding:12px 20px;background:var(--wa-bg);border:1px solid var(--wa-line);border-radius:12px;display:grid;gap:8px;z-index:50}
.wa-account-menu button{background:none;border:0;color:var(--wa-text);text-align:left;min-height:36px;font:inherit;cursor:pointer;padding:0}
.wa-sidebar{grid-column:1;grid-row:2;background:var(--wa-side);padding:32px 16px 24px;border-right:1px solid var(--wa-line);display:flex;flex-direction:column;overflow:auto}
.wa-sidebar h2{font-size:15px;margin:0 12px 20px;font-weight:600;line-height:1.5}.wa-sidebar nav{display:grid;gap:6px}
.wa-sidebar nav>a{display:flex;align-items:center;min-height:42px;padding:9px 12px;color:var(--wa-muted);text-decoration:none;border-radius:6px;font-size:14px}
.wa-sidebar nav>a:hover{background:#161e27;color:var(--wa-text)}.wa-sidebar nav>a[aria-current=page]{color:var(--wa-accent);background:var(--wa-wash);font-weight:550}
.wa-sidebar-foot{margin-top:auto;padding:32px 12px 0;color:var(--wa-muted);font-size:12px}.wa-sidebar-foot p{margin:0 0 8px}.wa-sidebar-foot a{color:var(--wa-muted)}
.wa-locked{padding:9px 12px;color:var(--wa-muted);font-size:14px}.wa-locked small{display:block;font-size:12px;line-height:1.6;margin-top:4px}
.wa-main{grid-row:2;grid-column:2;min-width:0;min-height:0;overflow:auto;background:var(--wa-bg);scrollbar-color:#3a4755 var(--wa-bg)}
.wa-message,.wa-guide,.wa-account-page{padding:36px 40px 56px}.wa-message h1,.wa-guide h1,.wa-account-page h1{font-size:28px;line-height:1.35;margin:0 0 12px;font-weight:600;letter-spacing:-.02em}
.wa-message p,.wa-guide p,.wa-account-page p{color:var(--wa-muted);max-width:70ch;margin:0 0 24px}.wa-message a,.wa-account-page>a{display:inline-flex;align-items:center;min-height:40px;color:var(--wa-accent);text-underline-offset:4px;margin-right:20px}
.wa-guide ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:36px 0;gap:24px}.wa-guide li{border-top:1px solid var(--wa-line);padding-top:24px}.wa-guide h2{font-size:17px;margin:0 0 14px}.wa-guide li p{font-size:14px}
.wa-permission-row{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid var(--wa-line);max-width:840px}.wa-permission-row strong{font-weight:550}.wa-permission-row span{color:var(--wa-muted);max-width:50ch}
.wa-readonly{height:100%;min-height:0;display:flex;flex-direction:column}.wa-readonly-note{padding:12px 32px;margin:0;color:#e0a63c;border-bottom:1px solid var(--wa-line);font-size:13px}.wa-readonly>div{flex:1;min-height:0}
.wa-root :is(a,button,summary):focus-visible{outline:2px solid var(--wa-accent);outline-offset:4px}
.wa-root .w5r,.wa-root .pw,.wa-root .rd{max-width:none}
@media(max-width:1250px){.wa-topbar{gap:24px;padding-inline:24px}.wa-brand{width:192px}.wa-tabs{gap:24px}.wa-tabs a{font-size:14px}.wa-utilities{gap:16px}.wa-root{grid-template-columns:200px minmax(0,1fr)}}

.wa-pending{background:none;border:0;color:var(--wa-accent);font:inherit;cursor:pointer;min-height:40px;padding:0}
.wa-backtrail{padding:12px 32px;border-bottom:1px solid var(--wa-line)}
.wa-backtrail .backtop{margin:0;padding:0;border:0}

.wa-account-brand{display:flex;align-items:center;gap:8px;padding:4px 0 10px;font-weight:600;letter-spacing:.04em;border-bottom:1px solid var(--wa-line)}
.wa-account-brand img{display:block;border-radius:4px}

.wa-sidebar nav .wa-nav-limited{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--wa-muted)}.wa-nav-limited small{flex:none;font-size:11px;line-height:1.4}.wa-sidebar nav .wa-nav-limited:hover{color:var(--wa-text)}

.wa-node-config{padding:28px 32px;max-width:1360px;margin:0 auto}.wa-node-config h1{font-size:25px;margin:0 0 10px;font-weight:600}.wa-node-config header p{font-size:13px;color:var(--wa-muted);line-height:1.7;max-width:76ch}.wa-config-boundary{padding:12px 0;color:var(--wa-muted);font-size:12px;border-bottom:1px solid var(--wa-line)}.wa-config-scope{display:flex;gap:14px;align-items:center;margin:22px 0;font-size:13px}.wa-config-scope select{font:inherit;padding:8px 12px;background:var(--wa-bg);color:var(--wa-text);border:1px solid var(--wa-line);min-width:220px}.wa-config-tabs{display:flex;gap:24px;border-bottom:1px solid var(--wa-line);margin-bottom:22px}.wa-config-tabs button{font:inherit;background:none;color:var(--wa-muted);border:0;border-bottom:2px solid transparent;padding:12px 0;cursor:pointer}.wa-config-tabs button[aria-pressed=true]{color:var(--wa-text);border-bottom-color:var(--wa-accent)}.wa-config-search{display:flex;gap:20px;align-items:center}.wa-config-search .capsearch{flex:1}.wa-config-search>span{white-space:nowrap;color:var(--wa-muted);font-size:12px}.wa-config-assembly{display:grid;gap:16px}.wa-config-notes{margin-top:26px;border-top:1px solid var(--wa-line);padding-top:16px;font-size:12px;color:var(--wa-muted)}.wa-config-notes summary{cursor:pointer}.wa-config-notes p{line-height:1.7;max-width:85ch}

.wa-node-config .card{border-left-width:1px!important}

/* DDE overview: resource evidence first, stage distribution alongside, task drilldown below. */
.dd-dashboard{max-width:1540px;margin:auto;padding:28px 32px 40px;font-size:13px;font-variant-numeric:tabular-nums}
.dd-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.dd-header h1{font-size:26px;line-height:1.35;letter-spacing:-.02em;margin:0 0 8px;font-weight:600}.dd-header p{color:var(--wa-muted);margin:0}.dd-actions{display:flex;gap:12px;flex:none;align-items:center}
.dd-actions a,.dd-actions button{min-height:38px;padding:7px 16px;border-radius:6px;font:inherit;cursor:pointer;text-decoration:none}.dd-refresh{background:transparent;color:var(--wa-text);border:1px solid var(--wa-line)}.dd-refresh:hover{background:var(--wa-wash)}.dd-primary{background:var(--wa-accent);color:var(--wa-bar);border:1px solid var(--wa-accent);font-weight:600}.dd-primary:hover{filter:brightness(1.1)}
.dd-scope{margin:22px 0 0;display:flex;justify-content:space-between;gap:16px;color:var(--wa-muted);font-size:12px;padding-bottom:12px;border-bottom:1px solid var(--wa-line)}.dd-summary{display:flex;padding:18px 0 22px;border-bottom:1px solid var(--wa-line);gap:32px}.dd-summary>div{display:flex;align-items:baseline;gap:12px;flex:1}.dd-summary span{color:var(--wa-muted)}.dd-summary strong{font-size:23px;font-weight:550;white-space:nowrap}
.dd-overview-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:32px;margin:26px 0 32px}.dd-section{min-width:0}.dd-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.dd-section h2{font-size:17px;line-height:1.5;margin:0;font-weight:600}.dd-link{color:var(--wa-accent);text-decoration:none;min-height:30px;display:inline-flex;align-items:center}.dd-link:hover{text-decoration:underline;text-underline-offset:4px}
.dd-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:13px}.dd-table th{font-size:12px;text-align:left;font-weight:400;color:var(--wa-muted);padding:8px 10px;border-bottom:1px solid var(--wa-line);background:var(--wa-side)}.dd-table td{padding:11px 10px;border-bottom:1px solid var(--wa-line);vertical-align:top;overflow-wrap:anywhere}.dd-table small{display:block;font-size:11px;color:var(--wa-muted);margin-top:3px;line-height:1.6}.dd-table strong{font-weight:500}.dd-resource-table th:first-child{width:36%}.dd-resource-table th:last-child{width:30%}.dd-status{font-size:12px}.dd-lab-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 10px 0}.dd-lab-entry strong{font-size:13px;font-weight:500}.dd-lab-entry small{display:block;color:var(--wa-muted);font-size:11px;margin-top:3px}
.dd-stages{list-style:none;margin:0;padding:0}.dd-stages li{display:grid;grid-template-columns:90px minmax(0,1fr) 22px;align-items:center;gap:14px;min-height:39px}.dd-stages strong{text-align:right;font-weight:500}.dd-stage-track{height:6px;background:var(--wa-line);overflow:hidden}.dd-stage-track i{display:block;height:100%;background:var(--wa-accent)}.dd-stage-footer{display:flex;justify-content:space-between;padding-top:12px;margin-top:8px;border-top:1px solid var(--wa-line)}.dd-stage-footer strong{font-weight:500}.dd-notice{color:var(--wa-muted);font-size:12px;line-height:1.65;margin:12px 0}.dd-error{color:#edb76a!important}.dd-task-table th:first-child{width:24%}.dd-task-table th:nth-child(2){width:23%}.dd-task-table th:nth-child(3){width:29%}.dd-task-open{display:block;background:none;border:0;color:var(--wa-accent);font:inherit;padding:0;cursor:pointer;text-align:left;min-height:24px}.dd-task-open:hover{text-decoration:underline;text-underline-offset:4px}.dd-task-table progress{display:block;height:5px;width:100%;margin-top:8px;accent-color:var(--wa-accent);border:0;background:var(--wa-line)}.dd-task-table progress::-webkit-progress-bar{background:var(--wa-line)}.dd-task-table progress::-webkit-progress-value{background:var(--wa-accent)}.dd-task-table progress::-moz-progress-bar{background:var(--wa-accent)}.dd-muted,.dd-footnote{color:var(--wa-muted)}.dd-footnote{font-size:11px;margin:18px 0 0;max-width:95ch}.dd-dashboard ::selection{background:var(--wa-wash);color:var(--wa-text)}

/* Unified workstation panel: equal physical/digital resource hierarchy and actual task bindings. */
.wo-dashboard{padding:24px 28px 36px}.wo-dashboard .dd-scope{margin-top:16px}.wo-dashboard .dd-summary{padding:14px 0 17px}.wo-resource-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin:22px 0 26px}.wo-inventory-count{color:var(--wa-muted);font-size:12px;margin:0 0 10px}.wo-lab-row{display:flex;align-items:center;gap:14px;color:var(--wa-text);text-decoration:none;padding:9px 0;border-bottom:1px solid var(--wa-line);min-height:44px}.wo-lab-row:hover,.wo-compute-row:hover{background:var(--wa-side)}.wo-lab-photo{width:124px;height:76px;object-fit:cover;border-radius:4px;flex:none}.wo-lab-copy{display:grid;gap:3px;min-width:0;flex:1}.wo-lab-copy strong{font-weight:550;font-size:14px}.wo-lab-copy span,.wo-lab-copy small{font-size:11px;color:var(--wa-muted);line-height:1.5}.wo-lab-copy span{font-size:12px}.wo-enter{color:var(--wa-accent);font-size:12px;flex:none}.wo-tencent{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--wa-side);margin-bottom:8px;min-height:64px}.wo-tencent>div{flex:1}.wo-tencent strong{font-size:13px;font-weight:500}.wo-tencent small{display:block;color:var(--wa-muted);font-size:11px;margin-top:3px}.wo-tencent .wo-cloud-model{color:var(--wa-accent);font-weight:650;letter-spacing:-.02em;font-size:17px}.wo-tencent .dd-link{font-size:12px}.wo-compute-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 90px;gap:12px;padding:11px 0;border-bottom:1px solid var(--wa-line);color:var(--wa-text);text-decoration:none}.wo-compute-row strong{font-weight:500;font-size:12px}.wo-compute-row small{display:block;color:var(--wa-muted);font-size:11px;margin-top:3px;overflow-wrap:anywhere}.wo-resource-state{font-size:12px}.wo-gpu-capacity{text-align:right}.wo-tasks .dd-section-head{margin-bottom:5px}.wo-task-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.wo-task-source{font-size:11px;color:var(--wa-muted)}.wo-task-table th:nth-child(1){width:23%}.wo-task-table th:nth-child(2){width:23%}.wo-task-table th:nth-child(3){width:24%}.wo-task-table td{padding:10px}.wo-task-table progress{display:block;height:5px;width:100%;margin-top:6px;accent-color:var(--wa-accent);border:0;background:var(--wa-line)}.wo-task-table progress::-webkit-progress-bar{background:var(--wa-line)}.wo-task-table progress::-webkit-progress-value{background:var(--wa-accent)}.wo-task-table progress::-moz-progress-bar{background:var(--wa-accent)}.wo-task-state{font-size:12px}
.wa-tabs{gap:24px}.wa-topbar{gap:24px}.wa-brand{width:188px}

.wo-dashboard{padding-top:20px}.wo-dashboard .dd-header h1{font-size:24px;margin-bottom:4px}.wo-dashboard .dd-header p{font-size:12px;line-height:1.5}.wo-dashboard .dd-scope{margin-top:12px;padding-bottom:8px}.wo-dashboard .dd-summary{padding:11px 0 14px}.wo-resource-grid{margin:18px 0 22px}.wo-resource-grid .dd-section-head{margin-bottom:8px}.wo-inventory-count{margin-bottom:8px}.wo-lab-secondary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.wo-lab-secondary .wo-lab-row{gap:8px;min-height:50px}.wo-lab-secondary .wo-lab-copy small{display:none}.wo-tencent{min-height:50px;padding:8px 10px;margin-bottom:6px}.wo-compute-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 76px;padding:8px 0;line-height:1.4}.wo-compute-row strong,.wo-compute-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.wo-compute-row>div{min-width:0}.wo-compute-row small{font-size:10px}.wo-gpu-capacity small{white-space:normal}

/* Physical inventory uses actual supplied imagery and only actual registry records. */
.pw-directory{margin-top:24px}.pw-directory-count{font-size:13px;color:var(--wa-muted)}.pw-labs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.pw-lab{display:block;text-decoration:none;background:var(--wa-side);color:var(--wa-text);font:inherit;border:1px solid var(--wa-line);padding:0 0 18px;text-align:left;cursor:pointer;border-radius:8px;overflow:hidden}.pw-lab:hover{border-color:var(--wa-accent)}.pw-lab>img,.pw-lab-empty{display:block;width:100%;height:160px;object-fit:cover}.pw-lab-empty{display:flex;align-items:center;justify-content:center;color:var(--wa-muted);background:var(--wa-bar)}.pw-lab-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 16px 8px}.pw-lab h2{font-size:17px;margin:0;font-weight:600}.pw-lab-title>span,.pw-lab small{font-size:11px;color:var(--wa-muted)}.pw-lab>p,.pw-lab>small{display:block;margin:6px 16px}.pw-selectors{display:flex;gap:22px;margin:24px 0}.pw-selectors label{display:flex;gap:12px;align-items:center}.pw-selectors select{background:var(--wa-side);border:1px solid var(--wa-line);color:var(--wa-text);font:inherit;padding:7px 12px;min-width:160px}.pw-live-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:28px}.pw-scene img{display:block;width:100%;height:auto;max-height:430px;object-fit:cover;border-radius:6px}.pw-scene p,.pw-telemetry p,.pw-records p{color:var(--wa-muted);font-size:12px;line-height:1.6}.pw-telemetry h2,.pw-records h2{font-size:18px;margin:0 0 16px;font-weight:600}.pw-telemetry dl{margin:0}.pw-telemetry dl>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--wa-line)}.pw-telemetry dt{color:var(--wa-muted)}.pw-telemetry dd{margin:0}.pw-records{margin-top:30px}.pw-records>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pw-records figure{margin:0}.pw-records img{width:100%;height:auto;display:block}.pw-records figcaption{font-size:12px;color:var(--wa-muted);padding-top:8px}.pw-empty-image{display:grid;place-content:center;min-height:300px;background:var(--wa-side)}.pw-empty-image h2{font-size:18px}.pw-message{padding:32px 0}.pw-message h2{font-size:18px}.pw-message p{color:var(--wa-muted)}
.wo-resource-grid{margin-bottom:10px}.wo-task-toolbar{margin-bottom:8px}
.wo-dashboard .dd-summary{gap:24px}
.wo-status-filter{display:flex;align-items:baseline;justify-content:flex-start;gap:12px;flex:1;min-width:0;padding:0 0 8px;border:0;border-bottom:2px solid transparent;background:none;color:var(--wa-text);font:inherit;text-align:left;cursor:pointer}
.wo-status-filter:hover:not(:disabled){border-bottom-color:var(--wa-line)}
.wo-status-filter[aria-pressed=true]{border-bottom-color:var(--wa-accent)}
.wo-status-filter[aria-pressed=true] span{color:var(--wa-accent)}
.wo-status-filter:disabled{cursor:default;opacity:.65}
.wo-status-filter:focus-visible,.wo-filter-reset:focus-visible,.wo-task-results:focus-visible{outline:2px solid var(--wa-accent);outline-offset:4px}
.wo-filter-reset{background:none;border:0;padding:0;font:inherit;font-size:12px;cursor:pointer}
.wo-task-selection{font-size:12px;font-weight:550}

.pw-lab:focus-visible{outline:2px solid var(--wa-accent);outline-offset:4px}
/* Task → resource binding: registration and live heartbeat remain distinct. */
.wo-location-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.wo-location-filters button{border:1px solid var(--wa-line);border-radius:4px;background:none;color:var(--wa-muted);padding:5px 9px;font:inherit;font-size:11px;cursor:pointer}
.wo-location-filters button:hover{color:var(--wa-text);background:var(--wa-side)}
.wo-location-filters button[aria-pressed=true]{color:var(--wa-accent);border-color:var(--wa-accent);background:var(--wa-wash)}
.wo-location-filters button:focus-visible,.wo-resource-filter-link:focus-visible,.wo-trace-open:focus-visible{outline:2px solid var(--wa-accent);outline-offset:3px}
.wo-task-table th:nth-child(1){width:20%}.wo-task-table th:nth-child(2){width:29%}.wo-task-table th:nth-child(3){width:35%}.wo-task-table th:last-child{width:16%}
.wo-task-table td{padding:10px 8px}.wo-placement{display:flex;align-items:center;gap:12px}.wo-placement+.wo-placement{margin-top:8px}.wo-placement>div{min-width:0}
.wo-connection{display:block;width:20px;height:1px;position:relative;background:var(--wa-line);flex:none}.wo-connection::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--wa-muted);border-right:1px solid var(--wa-muted);transform:rotate(45deg)}
.wo-placement .wo-placement-kind{margin:0 0 2px}.wo-resource-filter-link{display:block;border:0;padding:0;background:none;color:var(--wa-accent);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}.wo-resource-filter-link:hover{text-decoration:underline;text-underline-offset:4px}.wo-placement .wo-live-binding{color:var(--wa-accent)}
.wo-task-progress-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px}.wo-task-progress-title>span:last-child{font-size:11px;color:var(--wa-muted)}
.wo-trace-open{border:1px solid var(--wa-line);border-radius:4px;background:none;color:var(--wa-accent);padding:7px 9px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.wo-trace-open:hover{background:var(--wa-wash);border-color:var(--wa-accent)}
.wo-task-table .wo-run-id{font-size:10px;font-variant-numeric:tabular-nums}.wo-dashboard .wo-lab-photo{width:104px;height:64px}.wo-dashboard .wo-lab-secondary .wo-lab-row{min-height:42px}
/* Resource directory → resource context → shared task progress/history. */
.rd-trail{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:var(--wa-muted);margin:0 0 16px}
.rd-trail a,.rd-workstations a{color:var(--wa-accent);text-decoration:none}.rd-trail a:hover,.rd-workstations a:hover{text-decoration:underline;text-underline-offset:4px}.rd-trail span{color:var(--wa-text)}
.rd-trail a:focus-visible,.rd-workstations a:focus-visible,.rd-name:focus-visible,.rd-cloud-pending:focus-visible{outline:2px solid var(--wa-accent);outline-offset:4px}
.rd-workstations{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px;font-size:12px}
.rd-name{color:inherit;text-decoration:none}.rd-name:hover{color:var(--wa-accent);text-decoration:underline;text-underline-offset:4px}
.rd-cloud-pending{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:12px 16px;margin-bottom:16px;border:1px solid var(--wa-line);border-radius:6px;color:var(--wa-text);text-decoration:none;font-size:13px}.rd-cloud-pending span{font-size:12px;color:var(--wa-muted)}.rd-cloud-pending span:last-child{margin-left:auto;color:var(--wa-accent)}.rd-cloud-pending:hover{background:var(--wa-side)}
.rd-detail .cr-head{margin-bottom:20px}.rd-compute-body>.wo-tasks{margin-top:24px}.rd-unknown{padding:16px 0;color:var(--wa-muted);font-size:13px}.rd-unknown strong,.rd-unknown h2{color:var(--wa-text);font-size:16px;font-weight:600}.rd-unknown p{margin:6px 0;line-height:1.6}.rd-unknown .dd-link{display:inline-block;margin-top:6px}
#physical-workstations .wo-tasks{margin-top:24px}.wo-tencent{color:var(--wa-text);text-decoration:none}.wo-tencent:hover{background:var(--wa-wash)}.wo-tencent:focus-visible{outline:2px solid var(--wa-accent);outline-offset:3px}.wo-resource-filter-link{text-decoration:none}
.rd-detail .cr-head h1{font-size:24px;font-weight:600}.pw-telemetry .wo-tasks{margin-top:20px}.pw-telemetry .rd-unknown{padding:0}.rd-metadata{margin-top:20px;font-size:12px;color:var(--wa-muted)}.rd-metadata summary{cursor:pointer}.rd-metadata summary:focus-visible{outline:2px solid var(--wa-accent);outline-offset:3px}
/* Laboratory operations console: state → resource/task linkage → progress → cost. */
.oc-console,.op-planning{padding:24px 28px 32px;max-width:1600px;margin:0 auto;color:var(--wa-text)}
.oc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}.oc-header h1{font-size:25px;font-weight:600;line-height:1.3;margin:0 0 6px}.oc-header p{margin:0;color:var(--wa-muted);font-size:12px}.oc-actions{display:flex;gap:10px;align-items:center}
.oc-planning-link,.oc-refresh,.oc-trace{display:inline-block;border:1px solid var(--wa-line);border-radius:5px;padding:7px 11px;color:var(--wa-accent);background:none;text-decoration:none;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.oc-refresh{color:var(--wa-text)}.oc-planning-link:hover,.oc-refresh:hover,.oc-trace:hover{background:var(--wa-wash);border-color:var(--wa-accent)}
.oc-panels{display:flex;gap:28px;border-bottom:1px solid var(--wa-line)}.oc-panels a{padding:9px 0 11px;color:var(--wa-muted);text-decoration:none;font-size:14px;border-bottom:2px solid transparent}.oc-panels a[aria-current=page]{color:var(--wa-text);border-bottom-color:var(--wa-accent);font-weight:600}.oc-panels a:hover{color:var(--wa-accent)}
.oc-status-strip{display:flex;align-items:stretch;gap:20px;padding:14px 0;border-bottom:1px solid var(--wa-line)}.oc-status-strip>button{display:flex;gap:10px;align-items:baseline;padding:0;min-width:0;flex:1;border:0;background:none;color:var(--wa-text);font:inherit;text-align:left}.oc-status-strip>button{cursor:pointer}.oc-status-strip>button:disabled{cursor:default;opacity:.65}.oc-status-strip span{font-size:12px;color:var(--wa-muted)}.oc-status-strip strong{font-size:22px;font-weight:550;font-variant-numeric:tabular-nums}
.oc-scope{display:flex;justify-content:space-between;gap:16px;margin:10px 0 18px;color:var(--wa-muted);font-size:10px}.oc-operating-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px}.oc-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.oc-section-title h2,.oc-section-title h3,.op-projects h2{margin:0;font-size:17px;font-weight:600}.oc-link{color:var(--wa-accent);text-decoration:none;font-size:12px}.oc-link:hover,.oc-more:hover{text-decoration:underline;text-underline-offset:4px}.oc-source{margin:6px 0 10px;color:var(--wa-muted);font-size:11px;line-height:1.5}.oc-error{font-size:12px;color:#edb76a;margin:8px 0}.oc-unknown{color:var(--wa-muted);font-size:12px}
.oc-resource-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.oc-resource-table th{text-align:left;color:var(--wa-muted);font-weight:400;font-size:11px;padding:7px 8px;border-bottom:1px solid var(--wa-line);background:var(--wa-side)}.oc-resource-table td{padding:10px 8px;border-bottom:1px solid var(--wa-line);vertical-align:top;overflow-wrap:anywhere}.oc-resource-table th:first-child{width:29%}.oc-resource-table th:nth-child(2){width:28%}.oc-resource-table small{display:block;color:var(--wa-muted);font-size:10px;line-height:1.5;margin-top:3px}.oc-state{font-size:12px}.oc-task-chips{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:5px}.oc-task-chips button{background:none;border:0;padding:0;color:var(--wa-accent);font:inherit;font-size:11px;cursor:pointer;text-align:left}.oc-task-chips button:hover{text-decoration:underline}.oc-more{font-size:10px;color:var(--wa-accent);text-decoration:none}
.oc-scene select{font:inherit;font-size:11px;padding:4px 6px;background:var(--wa-side);color:var(--wa-text);border:1px solid var(--wa-line);max-width:140px}.oc-scene>img{width:100%;height:170px;object-fit:cover;display:block;border-radius:5px}.oc-scene-empty{height:170px;display:grid;place-content:center;background:var(--wa-side);color:var(--wa-muted);font-size:12px}.oc-signal-list{display:flex;gap:20px;margin-top:10px}.oc-signal-list>div{display:flex;gap:8px;font-size:11px;align-items:baseline}.oc-signal-list span,.oc-scene-caption small{color:var(--wa-muted)}.oc-signal-list strong{font-size:11px;font-weight:500}.oc-scene-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:7px}.oc-scene-caption small{font-size:10px}.oc-scene-caption a{font-size:10px}
.oc-task-progress{margin-top:20px}.oc-progress-list{border-top:1px solid var(--wa-line)}.oc-progress-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,1.2fr) minmax(160px,1.3fr) auto;gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid var(--wa-line)}.oc-progress-row small{display:block;color:var(--wa-muted);font-size:10px;line-height:1.5}.oc-task-name{display:block;padding:0;border:0;background:none;color:var(--wa-accent);font:inherit;font-size:13px;cursor:pointer;text-align:left}.oc-task-name:hover{text-decoration:underline}.oc-run-id{font-variant-numeric:tabular-nums}.oc-progress-process strong{font-size:12px;font-weight:500}.oc-node-track{display:flex;gap:3px;height:5px;margin:6px 0 4px}.oc-node-track span{flex:1;background:var(--wa-line);min-width:4px}.oc-node-track span[data-state=completed]{background:var(--wa-accent)}.oc-node-track span[data-state=failed]{background:#edb76a}.oc-progress-next{min-width:0}.oc-trace{font-size:11px;padding:6px 9px}.oc-footnote{font-size:10px;line-height:1.5;color:var(--wa-muted);margin:16px 0 0}.oc-schedule-note{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;padding:12px 0 20px;font-size:12px}.oc-schedule-note span{color:var(--wa-muted)}.oc-schedule-note a{margin-left:auto;color:var(--wa-accent)}.oc-console .wo-tasks{margin:0}.oc-project-context{padding:12px 0;color:var(--wa-muted);font-size:13px}
.oc-console a:focus-visible,.oc-console button:focus-visible,.oc-console select:focus-visible,.op-planning button:focus-visible,.op-planning a:focus-visible,.op-planning select:focus-visible{outline:2px solid var(--wa-accent);outline-offset:3px}.oc-console ::selection,.op-planning ::selection{background:var(--wa-wash);color:var(--wa-text)}
/* Connected scheduling surface: instrument → capability → dispatch → trace. */
.op-planning .oc-header{margin-bottom:10px}
.op-assumption{font-size:11px;color:var(--wa-muted);margin:0 0 14px;line-height:1.6}
.op-linkage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:12px 0;margin:0 0 16px;border-top:1px solid var(--wa-line);border-bottom:1px solid var(--wa-line)}
.op-linkage li{position:relative;min-width:0;padding:0 22px}
.op-linkage li:first-child{padding-left:0}
.op-linkage li:last-child{padding-right:0}
.op-linkage li+li:before{content:"";position:absolute;left:0;top:26px;width:7px;height:7px;border-top:1px solid var(--wa-accent);border-right:1px solid var(--wa-accent);transform:rotate(45deg)}
.op-linkage-label{display:block;color:var(--wa-muted);font-size:11px;margin-bottom:5px}
.op-linkage strong,.op-linkage code{display:block;font-size:14px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}
.op-linkage code{font-size:12px;color:var(--wa-accent)}
.op-linkage small{display:block;font-size:10px;color:var(--wa-muted);margin-top:4px;line-height:1.5}
.op-linkage li[data-phase=running] strong{color:var(--wa-accent)}
.op-request-id{font-variant-numeric:tabular-nums}
.op-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.op-controls button,.op-projects button,.op-controls select{background:var(--wa-side);border:1px solid var(--wa-line);color:var(--wa-text);border-radius:4px;padding:6px 9px;font:inherit;font-size:12px;cursor:pointer}
.op-mode{display:flex;gap:4px}
.op-mode button[aria-pressed=true],.op-projects button[aria-pressed=true]{border-color:var(--wa-accent);color:var(--wa-accent);background:var(--wa-wash)}
.op-controls label{font-size:12px;display:flex;gap:8px;align-items:center}
.op-clock{margin-left:auto;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
.op-grid{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(240px,1fr);gap:24px}
.op-axis,.op-lane{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px}
.op-axis{font-size:10px;color:var(--wa-muted);padding:7px 0}
.op-axis>div{display:flex;justify-content:space-between}
.op-timeline>.oc-section-title .oc-source{margin:0}
.op-playhead{position:absolute;top:-5px;bottom:-5px;border-left:1px solid var(--wa-accent);pointer-events:none;z-index:1}
.op-lane{box-sizing:border-box;min-height:42px;border-top:1px solid var(--wa-line);padding:2px 0;align-items:center}
.op-lane[data-selected="1"]{background:var(--wa-wash)}
.op-resource{display:block;text-align:left;background:none;border:0;padding:2px 0;color:var(--wa-text);cursor:pointer;width:100%;min-width:0;font:inherit}
.op-resource strong,.op-resource code{display:block;overflow-wrap:anywhere}
.op-resource strong{font-size:11px;font-weight:550}
.op-resource code{font-size:10px;color:var(--wa-muted);line-height:1.6}
.op-resource:hover strong{color:var(--wa-accent)}
.op-resource:disabled{cursor:default;color:var(--wa-muted)}
.op-track{height:25px;position:relative;background:var(--wa-side)}
.op-job{position:absolute;top:0;height:100%;overflow:hidden;border:1px solid var(--wa-accent);border-radius:3px;background:var(--wa-wash);color:var(--wa-text);font-size:10px;padding:0;cursor:pointer}
.op-job[data-project=P-002]{border-color:#edb76a;background:#3a3025}
.op-job[data-project=P-003]{border-color:#b4a0df;background:#2d283a}
.op-job[data-phase=done]{opacity:.65}
.op-job[data-selected="1"]{outline:1px solid var(--wa-text);outline-offset:2px}
.op-projects>button{display:flex;width:100%;justify-content:space-between;gap:8px;align-items:center;text-align:left;margin:6px 0;padding:6px 8px}
.op-projects>button span{font-size:11px}
.op-projects>button small{white-space:nowrap;font-size:10px;color:var(--wa-muted);font-variant-numeric:tabular-nums}
.op-projects>button[data-project=P-002]{--project-tone:#edb76a}
.op-projects>button[data-project=P-003]{--project-tone:#b4a0df}
.op-projects>button:before{content:"";width:5px;height:5px;flex:none;background:var(--project-tone,var(--wa-accent));border-radius:50%}
.op-projects .oc-section-title{margin-top:18px}
.op-projects h3{font-size:13px}
.op-project-flow{list-style:none;padding:0;margin:0}
.op-project-flow li{position:relative;padding-left:12px}
.op-project-flow li:before{content:"";position:absolute;top:12px;left:1px;width:4px;height:4px;border:1px solid var(--wa-muted);border-radius:50%;background:var(--wa-bg)}
.op-project-flow li:not(:last-child):after{content:"";position:absolute;left:3px;top:18px;bottom:-12px;border-left:1px solid var(--wa-line)}
.op-project-flow li[data-phase=done]:before,.op-project-flow li[data-phase=running]:before{background:var(--wa-accent);border-color:var(--wa-accent)}
.op-project-flow button{display:grid;grid-template-columns:1fr auto;gap:2px 5px;border:0;border-bottom:1px solid var(--wa-line);border-radius:0;padding:5px 6px;background:none;text-align:left;width:100%}
.op-project-flow button[aria-pressed=true]{border-color:var(--wa-line);box-shadow:inset 0 0 0 1px var(--wa-accent)}
.op-project-flow strong{font-size:11px;font-weight:500}
.op-project-flow span,.op-project-flow small{font-size:10px;color:var(--wa-muted)}
.op-project-flow small{grid-column:1/-1;font-variant-numeric:tabular-nums}
.op-project-flow li[data-phase=running] strong{color:var(--wa-accent)}



.op-event-section{margin-top:24px}
.op-event-chain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:10px 0;border-top:1px solid var(--wa-line)}
.op-event-chain li{padding:12px 0;display:flex;align-items:center;gap:10px}
.op-event-chain li:before{content:"";height:5px;width:5px;border-radius:50%;border:1px solid var(--wa-muted)}
.op-event-chain li[data-phase=done]:before,.op-event-chain li[data-phase=running]:before{background:var(--wa-accent);border-color:var(--wa-accent)}
.op-event-chain strong{font-size:12px;font-weight:500}
.op-event-chain span{font-size:11px;color:var(--wa-muted)}
.op-event-chain li[data-phase=running] strong{color:var(--wa-accent)}
.op-contract{font-size:11px;color:var(--wa-muted);margin:4px 0 20px}
.op-contract summary{cursor:pointer}
.op-contract p{max-width:72ch;line-height:1.7}
.op-contract summary:focus-visible{outline:2px solid var(--wa-accent);outline-offset:3px}







.oc-resource-board,.oc-node-progress,.oc-progress-identity,.op-timeline{min-width:0}
.oc-header{margin-bottom:12px}.oc-scope{margin-bottom:12px}.oc-resource-table td{padding:7px 8px}.oc-scene>img,.oc-scene-empty{height:154px}.oc-task-progress{margin-top:14px}.oc-progress-row{padding:8px 0}

/* A real source photo is context; scenario instruments are never inferred from it. */
.op-context-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;margin-bottom:18px;align-items:start}
.op-instrument-context{min-width:0}
.op-instrument-context .op-linkage{margin:0 0 10px;padding:10px 0;grid-template-columns:1.1fr 1.2fr 1.15fr 1fr}
.op-instrument-context .op-linkage li{padding:0 14px}
.op-instrument-context .op-linkage li:first-child{padding-left:0}
.op-instrument-context .op-linkage li:last-child{padding-right:0}
.op-instrument-context .op-linkage strong{font-size:12px}
.op-instrument-context .op-linkage code{font-size:11px}
.op-laboratory .oc-section-title{margin-bottom:6px}
.op-laboratory h2{font-size:14px}
.op-laboratory select{max-width:120px;background:var(--wa-side);border:1px solid var(--wa-line);border-radius:4px;color:var(--wa-text);font:inherit;font-size:11px;padding:4px}
.op-laboratory img{display:block;width:100%;height:136px;object-fit:cover;border-radius:4px}
.op-photo-empty{height:136px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:var(--wa-side);font-size:12px;color:var(--wa-muted)}
.op-photo-empty button{border:1px solid var(--wa-line);border-radius:4px;color:var(--wa-accent);background:none;padding:5px 8px;font:inherit;cursor:pointer}
.op-photo-caption{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:5px;font-size:10px;line-height:1.5;color:var(--wa-muted)}
.op-photo-caption small{font-size:10px}
.op-photo-caption a{color:var(--wa-accent);text-underline-offset:3px}
.op-instrument-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}
.op-instrument-facts dt{font-size:10px;color:var(--wa-muted)}
.op-instrument-facts dd{margin:2px 0 0;font-size:12px}
.op-associated-tasks{display:flex;align-items:start;gap:14px;border-top:1px solid var(--wa-line);padding-top:10px}
.op-associated-tasks>div:first-child{flex:none}
.op-associated-tasks strong{display:block;font-size:11px;font-weight:500}
.op-associated-tasks small{display:block;color:var(--wa-muted);font-size:10px}
.op-task-links{display:flex;flex-wrap:wrap;gap:5px}
.op-task-links button{border:1px solid var(--wa-line);border-radius:4px;background:none;color:var(--wa-text);padding:4px 6px;font:inherit;font-size:10px;cursor:pointer}
.op-task-links button[aria-pressed=true]{background:var(--wa-wash);border-color:var(--wa-accent);color:var(--wa-accent)}
/* Authenticated laboratory presentation: source evidence and interface architecture. */
.ls-page{padding:24px 28px 32px;max-width:1600px;margin:0 auto;color:var(--wa-text)}
.ls-links{display:flex;gap:16px;align-items:center;font-size:12px}
.ls-links a,.ls-resource>a{color:var(--wa-accent);text-decoration:none}
.ls-links a:hover,.ls-resource>a:hover{text-decoration:underline;text-underline-offset:4px}
.ls-selectors{display:flex;gap:20px;align-items:center;margin:0 0 16px}
.ls-selectors label{display:flex;gap:8px;align-items:center;font-size:12px}
.ls-selectors select{font:inherit;background:var(--wa-side);border:1px solid var(--wa-line);color:var(--wa-text);border-radius:4px;padding:5px 8px}
.ls-source{font-size:11px;line-height:1.6;color:var(--wa-muted);margin:8px 0}
.ls-selectors>.ls-source{margin-left:auto}
.ls-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:28px}
.ls-scene,.ls-resource{min-width:0}
.ls-scene>img{display:block;width:100%;height:250px;object-fit:cover;border-radius:4px}
.ls-image-empty{height:250px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:var(--wa-side);color:var(--wa-muted);font-size:13px}
.ls-photo-caption{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;margin:8px 0;font-size:12px}
.ls-photo-caption small{font-size:10px;color:var(--wa-muted)}
.ls-media,.ls-tool-tabs{display:flex;flex-wrap:wrap;gap:6px}
.ls-page button{font:inherit;font-size:11px;color:var(--wa-text);background:none;border:1px solid var(--wa-line);border-radius:4px;padding:6px 9px;cursor:pointer}
.ls-page button[aria-pressed=true]{border-color:var(--wa-accent);background:var(--wa-wash);color:var(--wa-accent)}
.ls-page button:hover{border-color:var(--wa-accent)}
.ls-page :is(button,a,select,summary):focus-visible{outline:2px solid var(--wa-accent);outline-offset:3px}
.ls-page ::selection{background:var(--wa-wash);color:var(--wa-text)}
.ls-resource h2{margin:0;font-size:21px;font-weight:550}
.ls-resource-note{margin:6px 0 10px;color:var(--wa-muted);font-size:12px}
.ls-resource dl{margin:0 0 14px;border-top:1px solid var(--wa-line)}
.ls-resource dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--wa-line);font-size:12px}
.ls-resource dt{color:var(--wa-muted)}
.ls-resource dd{margin:0;text-align:right}
.ls-resource>a{font-size:12px}
.ls-architecture{margin-top:26px}
.ls-architecture h2,.ls-execution h2{font-size:17px;font-weight:550;margin:0}
.ls-tools{display:flex;gap:24px;align-items:center;margin-top:16px}
.ls-tool-detail{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px;font-size:12px}
.ls-tool-detail strong{font-weight:550}
.ls-tool-detail span,.ls-tool-detail small{color:var(--wa-muted);font-size:11px}
.ls-standard-notes{margin-top:16px;font-size:12px;color:var(--wa-muted)}
.ls-standard-notes summary{cursor:pointer}
.ls-standard-notes p{max-width:72ch;line-height:1.7}
.ls-execution{margin-top:26px;border-top:1px solid var(--wa-line);padding-top:18px}
.ls-record-states{display:flex;gap:40px;margin-top:14px}
.ls-record-states>div{display:flex;gap:16px;align-items:baseline}
.ls-record-states span{font-size:12px;color:var(--wa-muted)}
.ls-record-states strong{font-size:14px;font-weight:500}
.ls-unavailable{padding:30px 0}
.ls-unavailable h2{font-size:18px}
.ls-unavailable a{color:var(--wa-accent)}
/* Instrument-first catalogue; MHS/MCP occupy two roles inside one interface layer. */
.ic-interface-map{display:grid;grid-template-columns:minmax(140px,1fr) minmax(340px,2.2fr) minmax(170px,1.2fr);gap:28px;align-items:center;padding:14px 0;margin:24px 0 0;border-top:1px solid var(--wa-line);border-bottom:1px solid var(--wa-line)}
.ic-interface-map>div{position:relative;min-width:0}
.ic-interface-map>div+div:before{content:"";position:absolute;left:-20px;top:50%;width:7px;height:7px;border-top:1px solid var(--wa-accent);border-right:1px solid var(--wa-accent);transform:rotate(45deg)}
.ic-map-agent>span,.ic-map-device>span,.ic-interface-map small{display:block;font-size:10px;color:var(--wa-muted)}
.ic-map-agent>strong,.ic-map-device>strong{display:block;font-size:18px;font-weight:550;margin:4px 0;overflow-wrap:anywhere}
.ic-map-adapters h2{margin:0 0 8px;font-size:13px;font-weight:550}
.ic-interface-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ic-interface-options>div{display:flex;gap:10px;align-items:baseline;border-top:1px solid var(--wa-line);padding-top:6px}
.ic-interface-options strong{font-size:15px;font-weight:550;color:var(--wa-accent)}
.ic-interface-options span{font-size:11px;color:var(--wa-muted);line-height:1.5}
.ic-map-adapters>small{margin-top:8px}
.ic-instrument-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:28px}
.ic-catalog,.ic-instrument-detail{min-width:0}
.ic-catalog h2,.ic-instrument-detail h2{margin:0 0 10px;font-size:19px;font-weight:550}
.ic-groups{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}
.ic-groups button{padding:4px 6px;font-size:10px}
/* Instrument art is illustrative; photographs remain in their source-bound disclosure. */
.ic-instrument-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 12px}
.ic-instrument-list>a{display:block;min-width:0;border-bottom:1px solid var(--wa-line);color:var(--wa-text);text-decoration:none;padding-bottom:10px}
.ic-art{position:relative;aspect-ratio:1;background:var(--wa-surface);overflow:hidden}
.ic-art img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s ease-out}
.ic-art-fallback{display:none}
.ic-art-unavailable{display:grid;place-items:center}
.ic-art-unavailable .ic-art-fallback{display:block;color:var(--wa-muted);font-size:11px}
.ic-art img[hidden]{display:none}
.ic-tile-label{padding-top:9px}
.ic-instrument-list strong{display:block;font-size:12px;font-weight:550;line-height:1.5}
.ic-instrument-list .ic-tile-label>span{display:block;margin-top:3px;font-size:10px;color:var(--wa-muted)}
.ic-instrument-list>a[aria-current=true]{border-bottom-color:var(--wa-accent);color:var(--wa-accent)}
.ic-instrument-list>a[aria-current=true] .ic-art{outline:1px solid var(--wa-accent);outline-offset:-1px}
.ic-instrument-list>a:hover img{transform:scale(1.04)}
.ic-instrument-list>a:hover{color:var(--wa-accent)}
.ic-detail-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ic-detail-heading>span{font-size:10px;color:var(--wa-muted)}
.ic-art-large{height:120px;aspect-ratio:auto;margin-bottom:12px}
.ic-art-large img{object-fit:contain}
.ic-asset-disclosure{font-size:11px;color:var(--wa-muted);margin:12px 0}
.ic-asset-disclosure summary{cursor:pointer}
.ic-asset-disclosure .ic-asset-facts{margin:10px 0 0}
.ic-trace-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:12px 0 0}
.ic-trace-flow li{position:relative;border-top:1px dashed var(--wa-line);padding-top:8px}
.ic-trace-flow li+li:before{content:"";position:absolute;left:-10px;top:16px;width:5px;height:5px;border-top:1px solid var(--wa-muted);border-right:1px solid var(--wa-muted);transform:rotate(45deg)}
.ic-trace-flow span,.ic-trace-flow strong{display:block;font-size:11px;font-weight:400}
.ic-trace-flow span{color:var(--wa-muted);margin-bottom:5px}
@media(prefers-reduced-motion:reduce){.ic-art img{transition:none}.ic-instrument-list>a:hover img{transform:none}}
.ic-purpose{font-size:12px;line-height:1.6;color:var(--wa-muted);margin:0 0 12px}
.ic-asset-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:0 0 14px;padding:12px 0;border-top:1px solid var(--wa-line);border-bottom:1px solid var(--wa-line)}
.ic-asset-facts dt{font-size:10px;color:var(--wa-muted)}
.ic-asset-facts dd{font-size:12px;margin:3px 0 0}
.ic-device-capabilities{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--wa-muted);margin-bottom:14px}
.ic-device-capabilities span{border-bottom:1px solid var(--wa-line);padding-bottom:3px}
.ic-device-profile{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;align-items:center;margin-bottom:16px}
.ic-device-profile .ic-art-large{height:92px;margin:0}
.ic-device-profile .ic-purpose{margin-bottom:8px}
.ic-device-profile .ic-device-capabilities{margin:0;gap:6px}
.ic-flow-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ic-flow-heading h3{font-size:13px;font-weight:550;margin:0}
.ic-flow-heading>span{font-size:10px;color:var(--wa-muted)}
.ic-execution-flow{list-style:none;margin:12px 0;padding:0}
.ic-execution-flow li{position:relative;padding-bottom:8px}
.ic-execution-flow li:not(:last-child):after{content:"";position:absolute;left:21px;bottom:0;height:8px;border-left:1px solid var(--wa-accent)}
.ic-execution-flow button{display:flex;align-items:center;gap:12px;width:100%;padding:6px 10px;text-align:left;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--wa-text)}
.ic-execution-flow button:hover{background:var(--wa-side)}
.ic-execution-flow button[aria-pressed=true]{background:var(--wa-wash);border-color:var(--wa-accent)}
.ic-step-number{display:grid;place-items:center;flex:0 0 22px;height:22px;border:1px solid var(--wa-line);border-radius:50%;font-size:11px;font-variant-numeric:tabular-nums;color:var(--wa-muted)}
.ic-execution-flow button[aria-pressed=true] .ic-step-number{border-color:var(--wa-accent);color:var(--wa-accent)}
.ic-step-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex:1;min-width:0}
.ic-step-label strong{font-size:12px;font-weight:550;white-space:nowrap}
.ic-step-label small{font-size:10px;color:var(--wa-muted)}
.ic-flow-contract{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--wa-line);border-bottom:1px solid var(--wa-line)}
.ic-flow-contract div>span{display:block;font-size:10px;color:var(--wa-muted);margin-bottom:4px}
.ic-flow-contract strong{font-size:11px;font-weight:400}
.ic-contract-arrow{color:var(--wa-accent)}
.ic-actual-records{margin-top:16px;padding-top:12px;border-top:1px solid var(--wa-line)}
.ic-actual-records h3{margin:0;font-size:13px;font-weight:550}
.ic-actual-records p{margin:6px 0 0;font-size:11px;line-height:1.6;color:var(--wa-muted)}
.ic-name-source{font-size:11px;color:var(--wa-muted);margin-top:12px}
.ic-name-source summary,.ls-site-records>summary{cursor:pointer}
.ls-site-records{margin-top:24px;border-top:1px solid var(--wa-line);padding-top:16px}
.ls-site-records>summary{font-size:14px;font-weight:550}
.ls-site-records>.ls-hero{margin-top:16px}

/* An evidence photograph at the center; catalogue nodes are conceptual, not asset locations. */
.ic-lab-map{grid-template-columns:110px minmax(0,1fr) 110px;grid-template-rows:repeat(3,120px);gap:14px 18px}
.ic-lab-map>a{position:relative;padding-bottom:6px;display:flex;flex-direction:column;align-items:center}
.ic-lab-map .ic-art{width:100%;height:80px;aspect-ratio:auto}
.ic-lab-map .ic-tile-label{padding-top:4px;text-align:center}
.ic-lab-map .ic-tile-label>span{margin-top:0;font-size:9px}
.ic-lab-map #ic-instrument-peptide-synthesizer{grid-area:1/1}
.ic-lab-map #ic-instrument-hplc{grid-area:2/1}
.ic-lab-map #ic-instrument-lc-ms{grid-area:3/1}
.ic-lab-map #ic-instrument-sequencer{grid-area:1/3}
.ic-lab-map #ic-instrument-plate-reader{grid-area:2/3}
.ic-lab-map #ic-instrument-spr{grid-area:3/3}
.ic-lab-map #ic-instrument-bli{grid-area:3/2;justify-self:center;width:110px}
.ic-lab-map>a:before{content:"";position:absolute;top:50%;height:1px;width:18px;background:var(--wa-line)}
.ic-lab-map>a:nth-of-type(-n+3):before{right:-18px}
.ic-lab-map>a:nth-of-type(n+4):before{left:-18px}
.ic-lab-map>#ic-instrument-bli:before{width:1px;height:14px;top:-14px;left:50%}
.ic-lab-environment{grid-area:1/2/3/3;position:relative;margin:0;min-width:0;overflow:hidden;background:var(--wa-side);display:flex;flex-direction:column}
.ic-lab-environment>img{width:100%;height:calc(100% - 44px);object-fit:cover;display:block}
.ic-lab-environment>img[hidden]{display:none}
.ic-lab-environment figcaption{height:44px;padding:6px 10px;box-sizing:border-box;background:var(--wa-wash)}
.ic-lab-environment figcaption strong,.ic-lab-environment figcaption span{display:block;font-size:11px;font-weight:400}
.ic-lab-environment figcaption span{font-size:10px;color:var(--wa-muted);margin-top:2px}
.ic-environment-fallback{display:none}
.ic-environment-unavailable .ic-environment-fallback{display:grid;place-items:center;flex:1;font-size:12px;color:var(--wa-muted)}
/* Physical laboratory leads the operations board; compute supports below. */
.oc-lab-board{border-top:1px solid var(--wa-line);padding-top:18px}
.oc-lab-board>.oc-section-title{margin-bottom:14px}
.oc-lab-board select{font:inherit;font-size:12px;color:var(--wa-text);background:var(--wa-side);border:1px solid var(--wa-line);border-radius:4px;padding:6px 10px}
.oc-lab-board-body{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.3fr);gap:28px}
.oc-lab-site,.oc-experiment-chain{min-width:0}
.oc-lab-site>img{display:block;width:100%;height:240px;object-fit:cover}
.oc-lab-image-empty{height:240px;display:grid;place-items:center;background:var(--wa-side);color:var(--wa-muted)}
.oc-lab-photo-caption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0}
.oc-lab-photo-caption strong{font-size:14px;font-weight:550}
.oc-lab-photo-caption span{font-size:10px;color:var(--wa-muted)}
.oc-lab-workstations{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:10px;border-top:1px solid var(--wa-line);font-size:11px}
.oc-lab-workstations>span{color:var(--wa-muted)}
.oc-experiment-chain h3{font-size:14px;font-weight:550;margin:0}
.oc-experiment-chain .oc-section-title{margin-bottom:16px}
.oc-experiment-chain .oc-section-title a{font-size:11px}
.oc-experiment-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;margin:0 0 16px;padding:0}
.oc-experiment-stages li{position:relative}
.oc-experiment-stages li+li:before{content:"";position:absolute;left:-14px;top:22px;width:14px;border-top:1px solid var(--wa-line)}
.oc-experiment-stages button{display:flex;gap:8px;align-items:center;width:100%;padding:10px 8px;background:var(--wa-side);color:var(--wa-text);border:1px solid var(--wa-line);border-radius:4px;font:inherit;cursor:pointer}
.oc-experiment-stages button[aria-pressed=true]{background:var(--wa-wash);border-color:var(--wa-accent);color:var(--wa-accent)}
.oc-experiment-stages button:hover{border-color:var(--wa-accent)}
.oc-experiment-stages button span{font-size:10px;font-variant-numeric:tabular-nums;color:var(--wa-muted)}
.oc-experiment-stages button strong{font-size:12px;font-weight:550}
.oc-stage-instruments{display:flex;gap:10px;min-height:134px;padding:0 0 8px}
.oc-stage-instruments>button{display:flex;align-items:center;gap:14px;flex:0 0 auto;max-width:100%;text-decoration:none;color:var(--wa-text);padding:4px 12px 4px 0}
.oc-stage-instruments>button:hover strong{color:var(--wa-accent)}
.oc-stage-instruments img{width:96px;height:96px;object-fit:contain;background:var(--wa-side)}
.oc-stage-instruments strong,.oc-stage-instruments small{display:block}
.oc-stage-instruments strong{font-size:14px;font-weight:550;margin-bottom:8px}
.oc-stage-instruments small{font-size:11px;color:var(--wa-muted);max-width:26ch}
.oc-experiment-return{display:grid;grid-template-columns:1fr auto;gap:6px 12px;border-top:1px solid var(--wa-line);padding-top:14px}
.oc-experiment-return strong{font-size:13px;font-weight:550}
.oc-experiment-return span{grid-row:2;font-size:11px;color:var(--wa-muted)}
.oc-experiment-return a{grid-column:2;grid-row:1/3;align-self:center;font-size:11px}
.oc-lab-runtime{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px;padding:14px 0;border-top:1px solid var(--wa-line);border-bottom:1px solid var(--wa-line)}
.oc-lab-runtime>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.oc-lab-runtime span{color:var(--wa-muted)}
.oc-lab-runtime strong{font-weight:500}
.oc-compute-support{margin-top:24px;border-top:1px solid var(--wa-line);padding-top:16px}
.oc-compute-support h2{font-size:15px}
.oc-compute-support .oc-section-title{margin-bottom:8px}
.oc-compute-summary{display:flex;gap:24px}
.oc-compute-summary button{display:flex;align-items:baseline;gap:8px;font:inherit;font-size:12px;padding:2px 0;border:0;background:none;color:var(--wa-muted);cursor:pointer}
.oc-compute-summary strong{font-size:16px;color:var(--wa-text);font-weight:500;font-variant-numeric:tabular-nums}
.oc-compute-summary button:hover span{color:var(--wa-accent)}
.oc-compute-disclosure{font-size:12px;margin-top:12px}
.oc-compute-disclosure>summary{cursor:pointer;color:var(--wa-accent)}
.oc-compute-disclosure .oc-resource-board{margin-top:16px}

.oc-stage-multiple{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.oc-stage-multiple>button{display:block;min-width:0;padding:4px 0}
.oc-stage-multiple img{width:64px;height:64px;max-width:100%}
.oc-stage-multiple strong{font-size:11px;margin:8px 0 0}
.oc-stage-multiple small{display:none}

.oc-stage-instruments>button{font:inherit;background:none;border:1px solid transparent;cursor:pointer;text-align:left}
.oc-stage-instruments>button[aria-pressed=true]{border-color:var(--wa-accent);background:var(--wa-wash)}
.oc-instrument-task{border-top:1px solid var(--wa-line);padding-top:10px}
.oc-instrument-task .oc-section-title{margin-bottom:8px}
.oc-instrument-task dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 8px}
.oc-instrument-task dt,.oc-instrument-task small{font-size:10px;color:var(--wa-muted)}
.oc-instrument-task dd{font-size:12px;margin:4px 0 0}
.dp-flow{margin:20px 0;border-top:1px solid var(--wa-line);padding-top:16px}
.dp-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:16px}
.dp-heading h2{font-size:15px;font-weight:550;margin:0}
.dp-heading a{font-size:13px;color:var(--wa-accent);text-decoration:none}
.dp-flow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}
.dp-flow li{position:relative;min-width:0}
.dp-flow li+li:before{content:"";position:absolute;left:-17px;top:28px;width:6px;height:6px;border-top:1px solid var(--wa-accent);border-right:1px solid var(--wa-accent);transform:rotate(45deg)}
.dp-flow li a{display:block;text-decoration:none;color:var(--wa-text);padding:10px 0;border-top:1px solid var(--wa-line)}
.dp-flow li a:hover strong{color:var(--wa-accent)}
.dp-flow li span,.dp-flow li strong,.dp-flow li small{display:block}
.dp-flow li span{font-size:11px;color:var(--wa-muted)}
.dp-flow li strong{font-size:13px;font-weight:550;margin:8px 0}
.dp-flow li small,.dp-flow>p{font-size:10px;color:var(--wa-muted)}
.dp-flow>p{margin:12px 0 0}
.dp-fleet-records{margin-top:28px;font-size:13px}
.dp-fleet-records>summary{cursor:pointer;color:var(--wa-accent);padding:12px 0;border-top:1px solid var(--wa-line)}
.le-config{margin-top:24px;border-top:1px solid var(--wa-line);padding-top:16px}
.le-config h3{font-size:15px;margin:12px 0}
.le-config label{display:flex;flex-direction:column;gap:6px;font-size:12px;margin-bottom:12px}
.le-config input,.le-config select{font:inherit;padding:8px;border:1px solid var(--wa-line);background:var(--wa-side);color:var(--wa-text);border-radius:4px;min-width:0}
.le-config-heading{display:flex;align-items:center;justify-content:space-between}
.le-equipment{margin:10px 0;border-top:1px solid var(--wa-line);padding:12px 0}
.le-equipment summary{cursor:pointer;font-size:13px}
.le-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-top:16px}
.le-inventory{margin:16px 0}
.le-inventory article{padding:12px 0;border-bottom:1px solid var(--wa-line)}
.le-inventory article>span,.le-inventory article>small{display:block;color:var(--wa-muted);font-size:12px;margin-top:4px}
.le-source-link{display:inline-block;margin:8px 20px 16px 0;color:var(--wa-accent)}
.le-readiness{display:flex;gap:12px;align-items:center;font-size:11px;color:var(--wa-muted);margin-top:12px}
.le-readiness progress{width:88px;height:5px;accent-color:var(--wa-accent)}
.le-readiness a{margin-left:auto}
.le-connection-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:12px 0 0}
.le-connection-flow li{border-top:1px solid var(--wa-line);padding-top:8px}
.le-connection-flow span,.le-connection-flow strong{display:block;font-size:10px;font-weight:400}
.le-connection-flow span{color:var(--wa-muted);margin-bottom:4px}
.lr-manager .ld-button-primary{background:var(--wa-accent);color:var(--wa-side);border-color:var(--wa-accent)}
.lr-manager .ld-button-primary:disabled{opacity:.55}
