.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--ink:#17231f;--ink-soft:#46544f;--muted:#77827e;--line:#dfe5e1;--line-soft:#ebefec;--canvas:#f3f5f2;--paper:#fff;--green:#17634c;--green-dark:#0f4b39;--green-soft:#e8f2ed;--amber:#bd7725;--amber-soft:#fff3df;--red:#b84545;--red-soft:#fae9e7;--blue:#3d6e87;--blue-soft:#e7f0f4;--shadow:0 16px 42px #152c2314;--radius:8px;--border:var(--line);--text-muted:var(--muted);--green-deep:var(--green-dark);--surface-raised:#fff;--surface-subtle:#f7f9f8;--focus-ring:#2a775e;--danger:#a83232;--danger-strong:#842626;--radius-panel:8px;--radius-control:6px}.qa-plan-builder,.report-workbench,.raw-category-card{background:#fff;border:1px solid #d8e5df;border-radius:18px;padding:22px}.qa-plan-builder{gap:18px;margin:18px 0;display:grid}.qa-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.qa-template-option{background:#f8fbfa;border:1px solid #d6e2dd;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.qa-template-option input{accent-color:#176b52;width:20px;height:20px}.qa-custom-drafts,.qa-add-node,.raw-toolbar{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.qa-custom-drafts>div{border:1px solid #d6e2dd;border-radius:999px;align-items:center;gap:8px;padding:4px 10px;display:flex}.qa-custom-drafts label,.qa-add-node label,.raw-toolbar label{flex:1;gap:6px;min-width:240px;display:grid}.qa-add-node{background:#f3f8f6;border-radius:14px;margin:14px 0;padding:14px}.workflow-gate{background:#fff8e9;border:1px solid #ead8ac;border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;padding:18px;display:flex}.workflow-gate>span{color:#65736d;flex:1;min-width:260px}.success-gate{background:#edf8f3;border-color:#a9d6c3}.report-workbench{gap:18px;margin-top:24px;display:grid}.compact-heading{margin-bottom:0}.experiment-status-band{color:#176b52;background:#edf8f3;border-radius:12px;flex-wrap:wrap;align-items:center;gap:18px;padding:14px 16px;display:flex}.compact-file-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.compact-file-grid a{color:inherit;border:1px solid #d6e2dd;border-radius:12px;gap:4px;padding:12px;text-decoration:none;display:grid}.compact-file-grid span{color:#65736d;font-size:12px}.report-builder-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;display:grid}.report-builder-grid label{gap:6px;display:grid}.report-builder-grid .wide,.report-prefill{grid-column:1/-1}.report-builder-grid textarea{resize:vertical;min-height:110px}.report-prefill{background:#f7faf9;border-radius:12px;flex-wrap:wrap;gap:12px;padding:14px;display:flex}.report-result-card{background:#f3fbf7;border:1px solid #a9d6c3;border-radius:14px;grid-template-columns:1fr auto;align-items:start;gap:14px;padding:18px;display:grid}.report-result-actions{grid-column:1/-1;gap:10px;display:flex}.raw-category-grid{gap:16px;display:grid}.raw-category-card header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.raw-record-row{border-top:1px solid #e5ede9;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.raw-record-row>div:first-child{gap:4px;display:grid}.raw-record-row span{color:#65736d;font-size:12px}.record-lock{background:#fff3d7;border-radius:999px;padding:5px 9px;color:#936b13!important}.record-lock.locked{background:#e7f5ef;color:#176b52!important}.raw-record-actions{align-items:center;gap:8px;display:flex}@media (width<=760px){.qa-template-grid,.report-builder-grid{grid-template-columns:1fr}.report-builder-grid .wide,.report-prefill{grid-column:auto}.raw-record-row{grid-template-columns:1fr}}:root,:root[data-theme=daylight]{--ink:#15213c;--ink-soft:#43506a;--muted:#77839a;--line:#dce6f4;--line-soft:#eaf0f8;--canvas:#f4f8ff;--paper:#ffffffeb;--surface-raised:#fff;--surface-subtle:#f6f9fe;--green:#176a63;--green-dark:#105550;--green-soft:#e6f7f4;--brand:#286df4;--accent:#286df4;--cyan:#15bfc5;--blue:#436fe6;--blue-soft:#eaf1ff;--focus-ring:#3278ff;--shadow:0 18px 48px #294a8517;--panel-shadow:0 12px 34px #2a4b8313;--control-bg:#fff;--header-bg:#fafcffe6;--sidebar-bg:#fafcfff5;--science-grid:#436fe609}:root[data-theme=darklight]{--ink:#e9f3ff;--ink-soft:#aabbd1;--muted:#73879f;--line:#1b3553;--line-soft:#142a43;--canvas:#061426;--paper:#091b30f0;--surface-raised:#0b2038;--surface-subtle:#0a1b30;--green:#2bd4b8;--green-dark:#1ab59e;--green-soft:#0d3a3a;--amber:#f3bd63;--amber-soft:#33250f;--brand:#3aa8ff;--accent:#338dff;--cyan:#21d4dc;--blue:#58a9ff;--blue-soft:#0d2c4b;--focus-ring:#46a8ff;--danger:#ff7474;--danger-strong:#ff9292;--shadow:0 20px 55px #0000004d;--panel-shadow:0 12px 34px #0000003d, inset 0 1px #5eb2ff0a;--control-bg:#0a2038;--header-bg:#061426e6;--sidebar-bg:#051120f7;--science-grid:#389bff0b}html,body{background-color:var(--canvas)}body{background-image:radial-gradient(circle at 88% 5%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 28rem), linear-gradient(var(--science-grid) 1px, transparent 1px), linear-gradient(90deg, var(--science-grid) 1px, transparent 1px);background-size:auto,32px 32px,32px 32px;transition:color .22s,background-color .22s}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--control-bg);border-radius:9px;outline:none;padding:10px 12px;transition:border-color .16s,box-shadow .16s,background .16s}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--muted) 76%, transparent)}input:focus,select:focus,textarea:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus-ring) 14%, transparent)}.app-header{background:var(--header-bg)}.primary-button:hover:not(:disabled){background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 88%, #000), var(--cyan))}.secondary-button:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));color:var(--brand);background:var(--surface-subtle)}.secondary-button.compact{min-height:32px;padding:0 11px;font-size:11px}.content-card,.module-panel,.workspace-main,.side-card,.qa-plan-builder,.report-workbench,.raw-category-card,.modal-card{border-color:var(--line);color:var(--ink);background:var(--paper);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.page-hero,.commission-overview-hero,.commission-hero,.qa-hero,.ingredient-hero{border-color:var(--line);background:radial-gradient(circle at 85% 25%, color-mix(in srgb, var(--cyan) 13%, transparent), transparent 30%), linear-gradient(120deg, var(--paper), color-mix(in srgb, var(--blue-soft) 52%, var(--paper)));box-shadow:var(--panel-shadow);position:relative;overflow:hidden}.page-hero:after,.commission-hero:after{content:"";border:1px solid color-mix(in srgb, var(--brand) 16%, transparent);width:220px;height:220px;box-shadow:inset 0 0 0 32px color-mix(in srgb, var(--brand) 2%, transparent), inset 0 0 0 66px color-mix(in srgb, var(--cyan) 2%, transparent);pointer-events:none;border-radius:50%;position:absolute;top:-70px;right:4%}.eyebrow{color:var(--brand);letter-spacing:.14em}.danger-link{color:var(--danger);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 8px;font-weight:700}.danger-link:hover{color:var(--danger-strong);background:color-mix(in srgb, var(--red-soft) 52%, transparent);border-radius:6px}.commission-kpis div,.recognized-prefill,.trial-checkboxes{background:var(--surface-subtle)}.commission-file-strip article{border-color:var(--line);background:var(--surface-subtle);grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.commission-file-strip article>div:first-child{gap:3px;min-width:0;display:grid}.commission-file-strip article strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-row-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal-card>form,.modal-card.master-data-form,.modal-card.controlled-delete-form{gap:16px;padding:24px;display:grid}.modal-content-head{gap:5px;margin-bottom:4px;display:grid}.modal-content-head h2{margin:0;font-size:24px}.modal-content-head p{color:var(--muted);margin:0;line-height:1.6}.modal-card>label,.master-data-grid label{gap:7px;display:grid}.modal-card label>span{color:var(--ink-soft);font-size:12px;font-weight:700}.master-data-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.master-data-grid label:nth-last-child(-n+2){grid-column:1/-1}.theme-toggle{border:1px solid var(--line);background:var(--surface-subtle);border-radius:11px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.theme-toggle button{min-width:38px;min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:5px;display:flex}.theme-toggle button.active{color:var(--brand);background:var(--surface-raised);box-shadow:0 3px 10px color-mix(in srgb, var(--accent) 12%, transparent)}.theme-toggle small{font-size:9px;font-weight:750}:root[data-theme=darklight] .app-brand .brand-mark,:root[data-theme=darklight] .avatar{box-shadow:0 0 22px color-mix(in srgb, var(--cyan) 28%, transparent)}:root[data-theme=darklight] .tenant-pill{border-color:var(--line);color:var(--cyan);background:var(--surface-subtle)}:root[data-theme=darklight] .feedback-banner.success{color:#77e4d1;background:#0b302f;border-color:#17675d}:root[data-theme=darklight] .feedback-banner.error{color:#ff9aa5;background:#321b2a;border-color:#743d4b}:root[data-theme=darklight] .danger-notice,:root[data-theme=darklight] .assignment-blockers{color:#ffad8e;background:#321f22}@media (width>=1180px){.app-header{border-right:1px solid var(--line);background:var(--sidebar-bg);border-bottom:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:28px;width:236px;height:100dvh;padding:24px 16px;position:fixed;inset:0 auto 0 0}.app-brand{min-height:48px;padding:0 4px}.app-header-actions{flex-direction:column;flex:1;align-items:stretch;gap:12px;min-height:0;display:flex}.app-nav{background:0 0;border:0;gap:6px;padding:0;display:grid}.app-nav a{border:1px solid #0000;border-radius:10px;padding:11px 13px 11px 35px;position:relative}.app-nav a:before{content:"◇";color:var(--brand);position:absolute;left:13px}.app-nav a:hover{border-color:color-mix(in srgb, var(--accent) 20%, var(--line));color:var(--brand);background:color-mix(in srgb, var(--blue-soft) 60%, transparent);box-shadow:inset 3px 0 0 var(--brand)}.theme-toggle{margin-top:auto}.tenant-pill{text-align:center;border-radius:9px}.account-chip{border-top:1px solid var(--line-soft);padding:9px 5px}.text-button{text-align:center}.page-container{width:min(1400px,100% - 296px);margin-left:auto;margin-right:30px;padding-top:34px}}@media (width<=1179px){.app-nav{white-space:nowrap;max-width:56vw;overflow-x:auto}.theme-toggle small{display:none}}@media (width<=760px){.theme-toggle{margin-left:auto}.theme-toggle button{min-width:32px}.app-nav{display:none}.master-data-grid{grid-template-columns:1fr}.master-data-grid label:nth-last-child(-n+2){grid-column:auto}.commission-file-strip article{grid-template-columns:1fr}.file-row-actions{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}.muted{color:var(--muted)}.eyebrow{color:var(--green);letter-spacing:.16em;margin-bottom:8px;font-size:10px;font-weight:800;display:block}.brand-mark{color:#fff;background:var(--green);width:58px;height:58px;font-family:var(--font-ui);border-radius:16px 5px;place-items:center;font-size:28px;font-weight:700;display:grid;box-shadow:0 10px 28px #17634c38}.brand-mark.small{width:38px;height:38px;box-shadow:none;border-radius:11px 4px;font-size:19px}.primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-weight:700;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primary-button{color:#fff;background:var(--green);box-shadow:0 7px 18px #17634c2e}.primary-button:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.secondary-button:hover{background:#f9fbf9;border-color:#b7c4bd}.primary-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.button-plus{font-size:18px;font-weight:400}.login-shell{background:radial-gradient(circle at 12% 14%,#5b94783d,#0000 28%),#132b23;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.login-brand{color:#fff;flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(64px,8vw,120px);display:flex;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:"";border:1px solid #ffffff14;border-radius:50%;position:absolute}.login-brand:before{width:560px;height:560px;bottom:-250px;right:-310px}.login-brand:after{width:370px;height:370px;bottom:-150px;right:-170px}.login-brand .brand-mark{color:var(--green-dark);background:#e7efe9;margin-bottom:34px}.login-brand-copy{max-width:590px}.login-brand-copy .eyebrow{color:#8cc5ae}.login-brand-copy h1{font-family:var(--font-ui);letter-spacing:.04em;margin:0 0 18px;font-size:clamp(48px,6vw,76px);font-weight:600}.login-brand-copy p{color:#ffffffab;max-width:560px;margin:0;font-size:17px;line-height:1.9}.login-flow{color:#ffffffc2;align-items:center;width:min(100%,590px);margin-top:84px;font-size:12px;display:flex}.login-flow i{background:#fff3;flex:1;height:1px;margin:0 12px}.login-panel{background:linear-gradient(#ffffffe6,#fafbf9f5),repeating-linear-gradient(90deg,#0000 0 39px,#edf0ed 40px);place-items:center;min-height:100vh;padding:50px;display:grid}.login-card{border:1px solid var(--line);background:#fffffff5;border-radius:20px;width:min(100%,470px);padding:44px;box-shadow:0 24px 70px #162f261f}.login-card-head{color:var(--ink-soft);letter-spacing:.04em;align-items:center;gap:9px;margin-bottom:34px;font-size:12px;font-weight:700;display:flex}.status-dot{background:#48a278;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #e6f2ec}.login-card h2{font-family:var(--font-ui);margin:0 0 10px;font-size:34px;font-weight:600}.login-card>p{line-height:1.7}.login-form{gap:22px;margin-top:30px;display:grid}.login-quickfills{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.login-quickfill-item{text-align:left;white-space:nowrap;text-overflow:ellipsis;justify-content:center;padding:8px 10px;font-size:12px;line-height:1.3;overflow:hidden}.login-quickfill-item span:last-child{opacity:.85}.login-form label{gap:9px;display:grid}.login-form label>span{color:var(--ink-soft);font-size:13px;font-weight:700}.login-form input{width:100%;min-height:50px;color:var(--ink);background:#fff;border:1px solid #ccd7d1;border-radius:10px;outline:none;padding:0 14px;transition:border-color .16s,box-shadow .16s}.login-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #17634c1c}.login-form .form-error{margin:-8px 0 0}.login-button{justify-content:space-between;width:100%;min-height:52px;margin:4px 0 10px;padding:0 20px}.login-card>.login-button{margin:26px 0 32px}.login-assurances{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);gap:16px;padding:22px 0;display:grid}.login-assurances div{justify-content:space-between;gap:20px;display:flex}.login-assurances strong{color:var(--ink-soft);font-size:12px}.login-assurances span{color:var(--muted);text-align:right;font-size:12px}.login-card .login-note{color:#89928f;margin:20px 0 0;font-size:11px}.app-shell{min-height:100vh}.app-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;justify-content:space-between;align-items:center;height:72px;padding:0 max(28px,50vw - 700px);display:flex;position:sticky;top:0}.app-brand{align-items:center;gap:12px;display:flex}.app-brand>span:last-child{gap:2px;display:grid}.app-brand strong{font-family:var(--font-ui);font-size:18px}.app-brand small{color:var(--muted);font-size:10px}.app-header-actions{align-items:center;gap:14px;display:flex}.tenant-pill{color:var(--green);background:#f7faf8;border:1px solid #cfdcd5;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.account-chip{align-items:center;gap:9px;display:flex}.avatar{color:#fff;background:#557467;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.account-chip>span:last-child{gap:2px;display:grid}.account-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:12px;overflow:hidden}.account-chip small{color:var(--muted);font-size:10px}.text-button{color:var(--muted);padding:8px;font-size:12px}.feedback-banner{border:1px solid;border-radius:8px;margin:18px 0;padding:13px 16px;font-size:13px;font-weight:700}.feedback-banner.success{color:var(--green-dark);background:#edf8f1;border-color:#b8d9c8}.feedback-banner.error{color:#8f3131;background:var(--red-soft);border-color:#e7bdb8}.page-container{width:min(1400px,100% - 56px);margin:0 auto;padding:42px 0 72px}.page-hero{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}.page-hero h1,.project-hero h1{font-family:var(--font-ui);margin:0;font-size:36px;font-weight:600}.page-hero p{color:var(--muted);margin:10px 0 0}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.metric-grid article{border:1px solid var(--line);background:var(--paper);border-radius:12px;min-height:134px;padding:22px;position:relative;overflow:hidden}.metric-grid article:after{content:"";border:12px solid #edf3ef;border-radius:50%;width:70px;height:70px;position:absolute;bottom:-29px;right:-25px}.metric-grid span,.metric-grid small{color:var(--muted);font-size:11px;display:block}.metric-grid strong{font-family:var(--font-ui);margin:8px 0;font-size:32px;font-weight:500;display:block}.content-card,.module-panel,.workspace-main,.side-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 5px 20px #192e2606}.table-toolbar,.section-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;display:flex}.table-toolbar h2,.section-heading h2,.side-card h3{font-family:var(--font-ui);margin:0;font-size:21px;font-weight:600}.table-toolbar p,.section-heading p{color:var(--muted);margin:5px 0 0;font-size:12px}.search-box{border:1px solid var(--line);background:#f9faf9;border-radius:8px;align-items:center;gap:8px;width:290px;min-height:40px;padding:0 12px;display:flex}.search-box span{color:var(--muted);font-size:19px}.search-box input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.equipment-management-summary-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:22px 26px;display:grid;overflow:hidden}.equipment-management-tools{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.equipment-management-tools .primary-button{white-space:nowrap;min-height:40px}.equipment-management-list{padding:4px 0}.equipment-management-details-grid{grid-template-columns:minmax(92px,.55fr) minmax(190px,1.35fr) minmax(140px,1fr) minmax(160px,1.1fr) minmax(104px,.68fr) minmax(88px,.56fr) minmax(116px,.72fr);align-items:start;gap:12px;min-width:0;padding:12px 22px;display:grid;overflow:hidden}.equipment-management-details-head{border-bottom:1px solid var(--line-soft);color:var(--muted);letter-spacing:.04em;background:#f8faf8;font-size:11px;font-weight:700}.equipment-management-field{min-width:0;color:var(--ink-soft);word-break:break-word;font-size:12px;line-height:1.5}.equipment-management-details-grid:not(.equipment-management-details-head){border-bottom:1px solid var(--line-soft)}.equipment-management-details-grid:not(.equipment-management-details-head) .equipment-management-field:first-child{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:650}.equipment-management-details-grid:not(.equipment-management-details-head) .equipment-management-field[data-label]:before{content:attr(data-label);color:var(--muted);margin-bottom:2px;font-weight:700;display:none}.equipment-management-field:first-child,.equipment-management-list .equipment-management-details-grid .equipment-management-field{font-size:12px}.equipment-management-actions{align-items:center;gap:6px;min-height:28px;display:flex}.equipment-edit-button,.equipment-delete-button{min-width:44px;min-height:32px;padding:0 9px}.equipment-management-feedback{margin:12px 26px 0}.equipment-create-form{width:min(620px,100vw - 32px);max-height:min(760px,92dvh);overflow-y:auto}.equipment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.equipment-form-grid label{gap:7px;min-width:0;display:grid}.equipment-form-grid .equipment-form-wide{grid-column:1/-1}.equipment-form-grid input{width:100%;min-width:0}.equipment-management-list .empty-state{min-height:260px;padding-top:50px}@media (width<=720px){.equipment-management-summary-grid{grid-template-columns:1fr}.equipment-management-summary-grid .search-box{width:100%}.equipment-management-tools{grid-template-columns:1fr;width:100%;display:grid}.equipment-management-tools .primary-button{width:100%;min-height:44px}.equipment-management-details-head{display:none}.equipment-management-details-grid{grid-template-columns:1fr;gap:10px;max-width:720px;padding:16px 18px}.equipment-management-details-grid:not(.equipment-management-details-head) .equipment-management-field{border-bottom:1px dashed var(--line-soft);padding-bottom:8px}.equipment-management-details-grid:not(.equipment-management-details-head) .equipment-management-field:last-child{border-bottom:0;padding-bottom:0}.equipment-management-actions,.equipment-edit-button,.equipment-delete-button{width:100%}.equipment-management-actions{grid-template-columns:1fr 1fr;display:grid}.equipment-edit-button,.equipment-delete-button{min-height:44px}.equipment-management-details-grid:not(.equipment-management-details-head) .equipment-management-field[data-label]:before{display:block}.equipment-form-grid{grid-template-columns:1fr}.equipment-form-grid .equipment-form-wide{grid-column:auto}}.project-table-wrap{overflow-x:auto}.project-table{border-collapse:collapse;text-align:left;width:100%}.project-table th{color:var(--muted);letter-spacing:.04em;background:#f8faf8;padding:12px 18px;font-size:10px;font-weight:700}.project-table th:first-child,.project-table td:first-child{padding-left:26px}.project-table td{border-top:1px solid var(--line-soft);color:var(--ink-soft);padding:17px 18px;font-size:12px}.project-table tbody tr{transition:background .14s}.project-table tbody tr:hover{background:#fbfdfb}.project-name{gap:5px;display:grid}.project-name span{color:var(--green);font-family:ui-monospace,monospace;font-size:10px;font-weight:700}.project-name strong{color:var(--ink);font-size:13px}.status-badge{color:var(--ink-soft);white-space:nowrap;background:#edf0ee;border-radius:999px;align-items:center;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.status-draft{color:#695b42;background:#f4f0e7}.status-plan_review,.status-report_review{color:#8b5e22;background:var(--amber-soft)}.status-ready_for_experiment,.status-in_experiment,.status-completed{color:var(--green);background:var(--green-soft)}.row-arrow{border:1px solid var(--line);width:28px;height:28px;color:var(--green);border-radius:7px;place-items:center;font-size:16px;display:grid}.empty-state,.empty-module,.upload-empty{text-align:center;align-content:center;place-items:center;min-height:330px;padding:50px;display:grid}.empty-icon,.empty-module>span{width:54px;height:54px;color:var(--green);background:var(--green-soft);font-family:var(--font-ui);border-radius:50%;place-items:center;margin-bottom:16px;font-size:20px;display:grid}.empty-state h3,.empty-module h3,.upload-empty h3{font-family:var(--font-ui);margin:0 0 8px;font-size:20px}.empty-state p,.empty-module p,.upload-empty p{color:var(--muted);margin:0 0 20px;line-height:1.7}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0d1c178a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:var(--paper);border-radius:16px;width:min(100%,560px);overflow:hidden;box-shadow:0 28px 90px #0919134d}.modal-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;padding:26px 28px 20px;display:flex}.modal-head h2{font-family:var(--font-ui);margin:0;font-size:24px}.icon-button{cursor:pointer;width:34px;height:34px;color:var(--muted);background:#f2f4f2;border:0;border-radius:8px;font-size:20px}.project-form{gap:18px;padding:26px 28px 28px;display:grid}.project-form label{gap:7px;display:grid}.project-form label>span{color:var(--ink-soft);font-size:12px;font-weight:700}.project-form input{border:1px solid var(--line);border-radius:8px;outline:none;min-height:44px;padding:0 13px}.project-form input:focus{border-color:#72a28d;box-shadow:0 0 0 3px #17634c14}.project-form small{color:var(--muted);font-size:10px}.form-info{color:var(--ink-soft);background:#f2f7f4;border-left:3px solid #6c9d88;padding:10px 12px;font-size:11px;line-height:1.65}.form-error{color:var(--red);margin:0;font-size:12px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.breadcrumb{color:var(--muted);gap:8px;margin-bottom:22px;font-size:11px;display:flex}.breadcrumb a{color:var(--green);font-weight:700}.project-hero{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:26px;display:flex}.project-title-line{align-items:center;gap:10px;margin-bottom:12px;display:flex}.project-code{color:var(--green);font-family:ui-monospace,monospace;font-size:11px;font-weight:700}.project-hero p{color:var(--muted);gap:10px;margin:12px 0 0;display:flex}.project-gate{border-left:3px solid var(--amber);background:#f9f5ed;gap:5px;width:310px;padding:12px 16px;display:grid}.project-gate span,.project-gate small{color:var(--muted);font-size:10px}.project-gate strong{font-size:13px}.workspace-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:18px;display:flex;overflow-x:auto}.workspace-tabs button{cursor:pointer;min-height:46px;color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:0 18px;font-size:12px;font-weight:700;position:relative}.workspace-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.workspace-tabs button.active{color:var(--green)}.workspace-tabs button.active:after{background:var(--green)}.workspace-layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px;display:grid}.workspace-overview{gap:18px;min-width:0;display:grid}.workspace-main{overflow:hidden}.section-heading.compact{border-top:1px solid var(--line-soft);margin-top:4px}.stage-track{gap:10px;padding:24px 26px;display:grid}.stage-card{border:1px solid var(--line);border-radius:10px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;padding:13px 16px;display:grid}.stage-card.done{background:#f7fbf9;border-color:#bdd7ca}.stage-card.current{background:#fffaf2;border-color:#dec9a7}.stage-card.locked{opacity:.62}.stage-number{color:#a8b1ad;font-family:var(--font-ui);font-size:22px}.stage-card>div{gap:5px;display:grid}.stage-card small{color:var(--muted);font-size:11px}.stage-state{min-width:58px;color:var(--green);text-align:right;font-size:10px;font-weight:800}.task-list{padding:8px 26px 20px}.task-item{border-bottom:1px solid var(--line-soft);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 0;display:grid}.task-item:last-child{border:0}.task-dot{border-radius:50%;width:7px;height:7px}.task-dot.amber{background:var(--amber)}.task-dot.red{background:var(--red)}.task-dot.blue{background:var(--blue)}.task-item>div{gap:4px;display:grid}.task-item small{color:var(--muted);font-size:10px}.task-item button{cursor:pointer;color:var(--green);background:0 0;border:0;font-size:11px;font-weight:700}.workspace-side{align-content:start;gap:18px;display:grid}.side-card{padding:24px}.health-ring{background:radial-gradient(circle at center, #fff 61%, transparent 62%), conic-gradient(var(--green) var(--progress), #e7ece9 0);border-radius:50%;align-content:center;place-items:center;gap:3px;width:150px;height:150px;margin:24px auto;display:grid}.health-ring strong{font-family:var(--font-ui);font-size:27px}.health-ring span{color:var(--muted);font-size:10px}.health-list{margin:0}.health-list div{border-top:1px solid var(--line-soft);justify-content:space-between;padding:11px 0;display:flex}.health-list dt{color:var(--muted);font-size:11px}.health-list dd{margin:0;font-weight:800}.danger-text{color:var(--red)}.access-card{background:#162c24}.access-card .eyebrow{color:#76b397}.access-card h3{color:#fff}.access-card p{color:#ffffff8c;margin:16px 0 0;font-size:10px;line-height:1.7}.role-tags span{color:#ffffffc7;border:1px solid #ffffff24;border-radius:999px;padding:5px 8px;font-size:9px}.module-panel{min-height:0;overflow:hidden}.module-grid{grid-template-columns:repeat(2,1fr);gap:14px;padding:26px;display:grid}.module-card{border:1px solid var(--line);border-radius:12px;min-height:200px;padding:24px}.module-card>span{color:var(--green);letter-spacing:.14em;font-size:9px;font-weight:800}.module-card h3{font-family:var(--font-ui);margin:22px 0 8px;font-size:21px}.module-card>strong{color:var(--amber);font-size:11px}.module-card p,.module-note{color:var(--muted);font-size:11px;line-height:1.8}.module-note{background:#f6f8f6;border-left:3px solid #b9c9c0;margin:0 26px 26px;padding:10px 14px}.qa-summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;padding:26px 26px 0;display:grid}.qa-summary-grid article{border:1px solid var(--line);border-radius:10px;gap:4px;padding:18px;display:grid}.qa-summary-grid strong{font-family:var(--font-ui);font-size:26px}.qa-summary-grid span{color:var(--muted);font-size:10px}.qa-summary-grid .warning{background:#fffaf2;border-color:#e9d0ab}.record-rule{background:#f4f9f6;border:1px solid #c9d9d1;border-radius:9px;align-items:center;gap:14px;margin:26px;padding:13px 16px;display:flex}.record-rule strong{color:var(--green);font-size:11px}.record-rule span{color:var(--ink-soft);font-size:11px}.upload-message{color:var(--green);background:#f3f9f6;border:1px solid #c5ddcf;border-radius:8px;margin:18px 26px 0;padding:10px 13px;font-size:11px}.upload-message.error{color:var(--red);background:#fff6f5;border-color:#e8c3bf}.file-list{padding:14px 26px 26px}.file-row{border-bottom:1px solid var(--line-soft);grid-template-columns:46px minmax(0,1fr) 150px auto;align-items:center;gap:14px;padding:14px 0;display:grid}.file-type{width:42px;height:46px;color:var(--green);background:var(--green-soft);border-radius:6px;place-items:center;font-size:9px;font-weight:900;display:grid}.file-main{gap:5px;min-width:0;display:grid}.file-main a{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.file-main span,.file-hash span{color:var(--muted);font-size:9px}.file-hash{gap:4px;display:grid}.file-hash code{color:var(--ink-soft);font-size:10px}.file-status{color:var(--green);background:var(--green-soft);border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.upload-empty{cursor:pointer;background:#fbfcfb;border:1px dashed #b9c9c0;border-radius:12px;margin:26px}.upload-empty>div{width:48px;height:48px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;margin-bottom:15px;font-size:24px;display:grid}.upload-empty small{color:#949d99}.plan-module>.section-heading{border-bottom:1px solid var(--line-soft)}.plan-edit-lock-notice{color:var(--muted);background:#f6f8f7;border:1px solid #d9e3de;border-radius:6px;padding:8px 10px;font-size:10px;font-weight:700}@media (width>=761px){.plan-module>.section-heading{padding-right:190px}.plan-module>.section-heading>.primary-button{white-space:nowrap;flex:none}}.plan-builder{border-bottom:1px solid var(--line);background:#fbfcfb;gap:0;display:grid}.builder-step{border-bottom:1px solid var(--line-soft);padding:26px}.step-heading{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.step-heading>span{width:34px;height:34px;color:var(--green);background:var(--green-soft);border-radius:9px;flex:0 0 34px;place-items:center;font-size:10px;font-weight:900;display:grid}.step-heading h3{font-family:var(--font-ui);margin:1px 0 4px;font-size:18px}.step-heading p{color:var(--muted);margin:0;font-size:10px}.experiment-item-toolbar{background:#f4faf6;border:1px solid #cfe2d7;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 16px;display:flex}.experiment-item-toolbar>div{gap:4px;display:grid}.experiment-item-toolbar strong{color:var(--ink);font-size:13px}.experiment-item-toolbar span{color:var(--muted);font-size:10px}.experiment-item-chip-list{background:#fbfefc;border:1px solid #cfe2d7;border-radius:8px;flex-wrap:wrap;gap:8px;min-height:52px;padding:12px;display:flex}.experiment-item-chip{color:#315a47;background:#f2faf5;border:1px solid #c8dfd1;border-radius:6px;align-items:center;gap:4px;max-width:100%;min-height:32px;padding:4px 5px 4px 10px;font-size:11px;font-weight:700;display:inline-flex}.experiment-item-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.experiment-item-chip>button{color:#6f8c7b;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:16px;line-height:1;display:grid}.experiment-item-chip>button:hover,.experiment-item-chip>button:focus-visible{color:#8b3028;background:#ffeae7;outline:none}.experiment-item-picker{background:#fff;border:1px solid #d7e5dc;border-radius:8px;gap:10px;margin-top:10px;padding:13px 14px;display:grid}.experiment-item-picker-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.experiment-item-picker-head>div:first-child{gap:3px;display:grid}.experiment-item-picker strong{color:var(--ink);font-size:12px}.experiment-item-picker>div:first-child span,.experiment-item-picker>p{color:var(--muted);margin:0;font-size:10px}.experiment-item-search{gap:4px;min-width:220px;display:grid}.experiment-item-search>span{color:var(--muted);font-size:9px;font-weight:800}.experiment-item-search input{border:1px solid var(--line);width:100%;height:34px;color:var(--ink);background:var(--paper);font:inherit;border-radius:6px;outline:none;padding:7px 9px;font-size:10px}.experiment-item-search input:focus{border-color:var(--green);box-shadow:0 0 0 3px #17634c14}.experiment-item-catalog{gap:9px;max-height:360px;padding-right:2px;display:grid;overflow:auto}.experiment-item-catalog-group{border-top:1px solid var(--line-soft);gap:7px;padding-top:9px;display:grid}.experiment-item-catalog-group:first-child{border-top:0;padding-top:0}.experiment-item-catalog-group>header{justify-content:space-between;align-items:center;display:flex}.experiment-item-catalog-group>header>div{align-items:baseline;gap:7px;display:flex}.experiment-item-catalog-group>header span{color:var(--muted);font-size:9px}.experiment-item-option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.experiment-item-option{color:#315a47;cursor:pointer;min-width:0;min-height:32px;font:inherit;background:#f7fbf8;border:1px solid #cbded2;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:10px;font-weight:700;display:inline-flex}.experiment-item-option-mark{width:20px;height:20px;color:var(--green);background:#fff;border:1px solid #b9d3c3;border-radius:4px;flex:0 0 20px;place-items:center;font-size:12px;line-height:1;display:grid}.experiment-item-option-copy{text-align:left;gap:2px;min-width:0;display:grid}.experiment-item-option-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.experiment-item-option-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500;overflow:hidden}.experiment-item-option:hover,.experiment-item-option:focus-visible{border-color:var(--green);background:var(--green-soft);outline:none}.experiment-item-option.selected{background:var(--green-soft);border-color:#9fc5b2}.experiment-item-option.selected .experiment-item-option-mark{border-color:var(--green);color:#fff;background:var(--green)}.plan-context-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.plan-context-grid article{background:#fff;border:1px solid #dbe5df;border-radius:8px;gap:5px;min-width:0;padding:13px 14px;display:grid}.plan-context-grid span{color:var(--muted);font-size:9px;font-weight:800}.plan-context-grid strong{overflow-wrap:anywhere;color:var(--ink);font-size:12px}.plan-context-grid small{overflow-wrap:anywhere;color:var(--muted);font-size:9px}.compact-plan-fields{max-width:920px}.plan-readiness-warning{color:#775318;background:#fffaf0;border:1px solid #ead7ad;border-left:4px solid #c99335;border-radius:6px;gap:8px;margin-top:16px;padding:13px 14px;font-size:10px;display:grid}.plan-readiness-warning strong{font-size:11px}.plan-readiness-warning>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.plan-readiness-warning a{color:#775318;flex:none;font-weight:800}.upstream-binding-card{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.upstream-binding-card>header{border-bottom:1px solid var(--line-soft);background:#f7faf8;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.upstream-binding-card>header strong,.upstream-binding-card>header p{display:block}.upstream-binding-card>header strong{color:var(--ink);font-size:13px}.upstream-binding-card>header p{color:var(--muted);margin:5px 0 0;font-size:10px}.binding-ready,.binding-blocked{border-radius:6px;flex:none;padding:6px 9px;font-size:9px;font-weight:900}.binding-ready{color:var(--green);background:var(--green-soft)}.binding-blocked{color:#8a5b12;background:#fff4dc}.upstream-binding-grid{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.upstream-binding-grid>article{min-width:0;padding:18px}.upstream-binding-grid>article+article{border-left:1px solid var(--line-soft)}.upstream-binding-grid>article>span{color:var(--muted);font-size:9px;font-weight:800}.upstream-binding-grid>article>strong{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 14px;font-size:14px;display:block}.upstream-binding-grid dl{gap:7px;margin:0 0 14px;display:grid}.upstream-binding-grid dl div{grid-template-columns:86px minmax(0,1fr);gap:10px;font-size:10px;display:grid}.upstream-binding-grid dt{color:var(--muted)}.upstream-binding-grid dd{color:var(--ink-soft);overflow-wrap:anywhere;margin:0}.upstream-binding-grid a,.upstream-blocker-list a{color:var(--green);font-size:10px;font-weight:800;text-decoration:none}.upstream-blocker-list{background:#fffaf0;border-bottom:1px solid #ead7ad;gap:7px;padding:12px 18px;display:grid}.upstream-blocker-list>div{color:#775318;justify-content:space-between;gap:14px;font-size:10px;display:flex}.upstream-source-trace{padding:16px 18px}.upstream-source-trace>strong{color:var(--ink);font-size:11px}.upstream-source-trace>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.upstream-source-trace span{border:1px solid var(--line-soft);min-width:0;color:var(--muted);overflow-wrap:anywhere;background:#fbfcfb;border-radius:6px;gap:3px;padding:9px 10px;font-size:9px;display:grid}.upstream-source-trace b{color:var(--ink-soft);font-size:10px}.upstream-source-trace p{color:var(--muted);margin:8px 0 0;font-size:10px}.intake-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.intake-group{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.intake-group>header{border-bottom:1px solid var(--line-soft);background:#f7faf8;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.intake-group>header>div{min-width:0}.intake-group>header strong,.intake-group>header p,.intake-group>header small{display:block}.intake-group>header strong{color:var(--ink);font-size:13px}.intake-group>header p{color:var(--ink-soft);margin:5px 0;font-size:10px;line-height:1.6}.intake-group>header small{color:var(--muted);font-size:9px}.intake-group>header button{cursor:pointer;min-width:78px;color:var(--green);background:#fff;border:1px solid #b8d1c4;border-radius:6px;padding:8px 10px;font-size:10px;font-weight:800}.intake-group>header button:disabled{cursor:wait;opacity:.58}.intake-upload-status-list{border-bottom:1px solid var(--line-soft);background:#fbfcfb;gap:6px;padding:10px 12px;display:grid}.intake-upload-status-list>div{border-left:3px solid #9aa7a1;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;padding:5px 8px;font-size:9px;display:grid}.intake-upload-status-list>div.status-succeeded{border-left-color:var(--green)}.intake-upload-status-list>div.status-failed{border-left-color:var(--red)}.intake-upload-status-list strong,.intake-upload-status-list span{overflow-wrap:anywhere}.intake-upload-status-list span{color:var(--muted)}.intake-file-list{gap:10px;padding:12px;display:grid}.intake-empty{min-height:72px;color:var(--muted);border:1px dashed #c8d5ce;border-radius:6px;place-items:center;font-size:10px;display:grid}.intake-card{background:#fff;border:1px solid #d5e3dc;border-radius:8px;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:13px;min-height:130px;padding:16px;display:grid}.intake-card.complete{background:#f7fbf8;border-style:solid;border-color:#bcd7c8}.intake-icon{width:40px;height:40px;color:var(--green);background:var(--green-soft);border-radius:11px;place-items:center;margin-top:1px;font-weight:900;display:grid}.intake-main{min-width:0}.intake-main strong,.intake-main p,.intake-main small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.intake-main strong{margin-bottom:6px;font-size:12px}.intake-main p{color:var(--ink-soft);margin:0 0 5px;font-size:10px}.intake-main small{color:var(--muted);font-size:9px}.recognized-field-list{border-top:1px solid #dce8e1;gap:6px;margin-top:13px;padding-top:11px;display:grid}.recognized-field-list>div{grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);align-items:baseline;gap:10px;display:grid}.recognized-field-list>div>div{gap:4px;min-width:0;display:grid}.recognized-field-list small{color:var(--muted);overflow-wrap:anywhere;white-space:normal;line-height:1.45}.recognition-status{border:1px solid var(--line);width:fit-content;color:var(--muted);border-radius:4px;margin-top:8px;padding:3px 7px;font-size:12px;font-weight:700;display:inline-flex}.recognition-status.status-completed{color:#28613c;border-color:#78a88a}.recognition-status.status-needs_confirmation,.recognition-status.status-failed{color:#7b4d0b;border-color:#c69b58}.recognized-field-list>div span{color:var(--muted);font-size:9px}.intake-main .recognized-field-list>div strong{color:var(--ink);white-space:normal;word-break:break-word;margin:0;font-size:10px;font-weight:800}.intake-main .recognized-field-list>p{color:#8a6c22;white-space:normal;margin:0;font-size:9px;line-height:1.6}.recognition-note{color:var(--green);margin-top:10px;font-size:9px;line-height:1.5}.intake-card>button,.intake-actions button,.intake-actions a{cursor:pointer;color:var(--green);background:0 0;border:0;font-size:10px;font-weight:800}.intake-actions{text-align:right;gap:8px;min-width:66px;display:grid}.intake-actions button:last-child{color:var(--red)}.recognition-conflict-panel{border:1px solid #dfc491;border-left:4px solid var(--amber);background:#fffbf3;border-radius:6px;gap:12px;margin-bottom:18px;padding:14px;display:grid}.recognition-conflict-panel>div>strong{font-size:12px}.recognition-conflict-panel>div>p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.6}.recognition-conflict-panel>section{border-top:1px solid #eadbbf;grid-template-columns:minmax(110px,.35fr) minmax(0,1.65fr);align-items:start;gap:12px;padding-top:12px;display:grid}.recognition-conflict-panel>section>span{color:var(--ink-soft);font-size:10px;font-weight:800}.recognition-conflict-panel>section>div{gap:7px;display:grid}.recognition-conflict-panel button{cursor:pointer;text-align:left;background:#fff;border:1px solid #d9c8a8;border-radius:6px;gap:4px;width:100%;padding:9px 10px;display:grid}.recognition-conflict-panel button.selected{border-color:var(--green);box-shadow:0 0 0 2px #17634c1a}.recognition-conflict-panel button strong{color:var(--ink);overflow-wrap:anywhere;font-size:10px}.recognition-conflict-panel button small{color:var(--muted);overflow-wrap:anywhere;font-size:9px}.plan-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.trial-type-selector{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;margin:0;padding:12px}.trial-type-selector legend{color:var(--ink-soft);padding:0 5px;font-size:10px;font-weight:800}.trial-type-selector>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.trial-type-selector label{border:1px solid var(--line-soft);cursor:pointer;background:#fbfcfb;border-radius:6px;align-items:center;gap:7px;min-height:38px;padding:8px;display:flex}.trial-type-selector input{width:15px;height:15px;accent-color:var(--green);flex:0 0 15px;margin:0}.trial-type-selector label:has(input:checked){background:#f1f8f4;border-color:#9fc5b2}.trial-type-selector label span{color:var(--ink-soft);font-size:10px;font-weight:700}.plan-form-grid label,.sign-modal label{gap:7px;display:grid}.plan-form-grid label>span,.sign-modal label>span{color:var(--ink-soft);font-size:10px;font-weight:800}.plan-form-grid input,.plan-form-grid select,.plan-form-grid textarea,.sign-modal input,.sign-modal textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;outline:none;padding:11px 12px;font-size:11px}.plan-form-grid input,.plan-form-grid select,.sign-modal input{height:42px}.plan-form-grid input:focus,.plan-form-grid select:focus,.plan-form-grid textarea:focus,.sign-modal input:focus,.sign-modal textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #17634c14}.plan-form-grid input[readonly]{cursor:default;color:#53605b;background:#f1f4f2}.plan-form-grid .wide{grid-column:1/-1}.reference-library-panel,.file-upload-meta,.qa-plan-card{border:1px solid var(--border);background:#fbfdfc;border-radius:14px;margin-top:18px;padding:18px}.standard-chip-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.standard-chip-list span{color:#52635d;background:#fff;border:1px solid #d9e8e1;border-radius:10px;padding:10px 12px;font-size:13px}.standard-chip-list b{color:var(--green);margin-bottom:3px;display:block}.file-upload-meta{grid-template-columns:1fr 1fr 2fr;gap:12px;margin-bottom:18px;display:grid}.file-upload-meta label{flex-direction:column;gap:7px;display:flex}.file-upload-meta label span{color:#5d6c67;font-size:12px;font-weight:700}.file-upload-meta input,.file-upload-meta select{background:#fff;border:1px solid #ccd9d4;border-radius:9px;min-height:42px;padding:0 12px}.file-main small{color:#73827d;margin-top:4px;display:block}.file-delete{color:#a43e32;background:#fff7f6;border:1px solid #e5c6c2;border-radius:8px;padding:8px 12px}.qa-plan-meta{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.qa-plan-meta div{flex-direction:column;gap:4px;display:flex}.qa-plan-meta span{color:#71817c;font-size:12px}.qa-checkpoint-list{gap:8px;display:grid}.qa-checkpoint-list article{border-top:1px solid #e1ebe7;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.qa-checkpoint-list article>span{color:var(--green);font-weight:800}.qa-checkpoint-list article div{flex-direction:column;gap:3px;display:flex}.qa-checkpoint-list small,.qa-checkpoint-list em{color:#75847f;font-size:12px;font-style:normal}.qa-workbench{border-top:1px solid var(--line);gap:0;margin-top:22px;display:grid}.qa-workbench .qa-plan-meta{border-bottom:1px solid var(--line);background:#f7faf8;margin:0;padding:22px 26px}.qa-status{color:#315a47;white-space:nowrap;background:#eef6f1;border:1px solid #cbd9d1;border-radius:999px;align-items:center;min-height:28px;padding:5px 10px;font-size:11px;font-style:normal;font-weight:800;display:inline-flex}.qa-status.status-pending_rectification,.qa-status.status-rework_required,.qa-status.status-retest_required{color:#755110;background:#fff8e9;border-color:#e3c383}.qa-status.status-rectification_review,.qa-status.status-rectification_submitted,.qa-status.status-in_progress{color:#24587c;background:#eff7fc;border-color:#adc8df}.qa-status.status-passed,.qa-status.status-completed,.qa-status.status-closed{color:#1d6845;background:#edf8f1;border-color:#a9d0ba}.qa-status.status-failed,.qa-status.status-blocked{color:#8b3028;background:#fff2f0;border-color:#dfb0aa}.qa-timeline{padding:4px 26px 28px}.qa-timeline-node{grid-template-columns:52px minmax(0,1fr);display:grid}.qa-node-marker{grid-template-rows:42px 1fr;justify-items:center;display:grid}.qa-node-marker>span{color:#315a47;background:#f4f9f6;border:1px solid #b9cdc2;border-radius:50%;align-self:end;place-items:center;width:34px;height:34px;font-size:11px;font-weight:900;display:grid}.qa-node-marker>i{background:#cfdbd4;width:1px;height:100%}.qa-timeline-node:last-child .qa-node-marker>i{display:none}.qa-node-passed .qa-node-marker>span{color:#fff;background:#2f7a55;border-color:#61a47f}.qa-node-pending_rectification .qa-node-marker>span,.qa-node-rectification_review .qa-node-marker>span{color:#6f4d10;background:#fff3d8;border-color:#d1a048}.qa-node-content{border-bottom:1px solid var(--line-soft);min-width:0;padding:24px 0 28px 12px}.qa-node-heading,.qa-section-title,.qa-issue-heading,.qa-node-plan-actions,.qa-action-strip{justify-content:space-between;align-items:center;gap:16px;display:flex}.qa-node-heading strong{margin-bottom:5px;font-size:16px;display:block}.qa-node-heading small{color:var(--muted);font-size:11px}.qa-node-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.qa-node-form label,.qa-inspection-actions label,.qa-issue-form label,.qa-review-form label,.qa-rectification-fields label{gap:7px;min-width:0;display:grid}.qa-node-form label>span,.qa-inspection-actions label>span,.qa-issue-form label>span,.qa-review-form label>span,.qa-rectification-fields label>span{color:var(--ink-soft);font-size:11px;font-weight:800}.qa-node-form .wide,.qa-inspection-actions .wide{grid-column:1/-1}.qa-node-form input,.qa-node-form select,.qa-node-form textarea,.qa-inspection-actions input,.qa-inspection-actions select,.qa-inspection-actions textarea,.qa-issue-form textarea,.qa-review-form textarea,.qa-rectification-fields input,.qa-rectification-fields select{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd7d0;border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.5}.qa-node-form textarea,.qa-inspection-actions textarea,.qa-issue-form textarea,.qa-review-form textarea{resize:vertical}.qa-node-form input:disabled,.qa-node-form select:disabled,.qa-node-form textarea:disabled{cursor:default;color:#52625a;opacity:1;background:#f4f6f5}.qa-node-plan-actions{margin-top:14px}.qa-checkbox{min-height:44px;color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.qa-checkbox input{width:18px;height:18px}.qa-action-strip{justify-content:flex-end;margin-top:14px}.qa-action-strip button{min-height:44px}.danger-action{color:#8b3028;background:#fff7f6;border-color:#d7aaa5}.qa-inspection-actions{background:#f7fafc;border-left:3px solid #97b7cc;gap:14px;margin-top:18px;padding:16px;display:grid}.qa-rectification-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.qa-execution-list,.qa-corrective-history{gap:10px;margin-top:18px;display:grid}.qa-execution-list>strong{font-size:12px}.qa-execution-list>div,.qa-corrective-history>div{border-top:1px solid var(--line-soft);grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding-top:10px;display:grid}.qa-execution-list span,.qa-corrective-history span{color:#315a47;font-size:11px;font-weight:800}.qa-execution-list p,.qa-corrective-history p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.6}.qa-execution-list small,.qa-corrective-history small{color:var(--muted);font-size:10px}.qa-rectification,.qa-report-gate,.qa-history-list{border-top:1px solid var(--line);padding:26px}.qa-section-title h3,.qa-report-gate h3{font-family:var(--font-ui);margin:3px 0 0;font-size:20px}.qa-section-title>strong{font-size:12px}.qa-issue{background:#fff;border:1px solid #d7dfda;border-radius:8px;margin-top:16px;padding:18px}.qa-issue.issue-open,.qa-issue.issue-rework_required,.qa-issue.issue-retest_required{border-left:4px solid #c99335}.qa-issue.issue-rectification_submitted{border-left:4px solid #5d8db2}.qa-issue.issue-closed{border-left:4px solid #4b946c}.qa-issue-heading>div{min-width:0}.qa-issue-heading strong,.qa-issue-heading span{display:block}.qa-issue-heading strong{margin-bottom:5px;font-size:14px}.qa-issue-heading>div>span{color:var(--ink-soft);font-size:12px;line-height:1.6}.qa-issue-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 0;display:grid}.qa-issue-meta div{border-top:1px solid var(--line-soft);min-width:0;padding-top:10px}.qa-issue-meta dt{color:var(--muted);font-size:10px}.qa-issue-meta dd{overflow-wrap:anywhere;color:var(--ink);margin:5px 0 0;font-size:12px}.qa-issue-form,.qa-review-form{border-top:1px solid var(--line);gap:12px;margin-top:18px;padding-top:16px;display:grid}.qa-issue-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end}.qa-issue-form button{min-height:44px}.qa-report-gate{background:#f8faf9;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:start;gap:24px;display:grid}.qa-report-gate ul{color:#7a3a31;gap:7px;margin:0;padding-left:18px;font-size:12px;line-height:1.6;display:grid}.qa-report-gate>button{justify-self:end}.qa-history-list{padding-bottom:34px}.qa-history-row{border-bottom:1px solid var(--line-soft);grid-template-columns:170px minmax(0,1fr);gap:18px;padding:14px 0;display:grid}.qa-history-row>span{color:#315a47;font-size:11px;font-weight:900}.qa-history-row strong{font-size:12px}.qa-history-row p{color:var(--ink-soft);margin:6px 0;font-size:12px;line-height:1.6}.qa-history-row small{color:var(--muted);font-size:10px}.qa-empty-band{color:var(--muted);text-align:center;background:#fafcfb;border:1px dashed #c6d3cc;border-radius:8px;margin-top:14px;padding:18px;font-size:12px}.template-warning{color:#80631c;background:#fffaf0;border:1px solid #ead9ad;border-radius:9px;margin-top:16px;padding:11px 13px;font-size:10px;line-height:1.6}.builder-actions{background:#f3f6f4;justify-content:space-between;align-items:center;gap:20px;padding:20px 26px;display:flex}.builder-actions>div{gap:4px;display:grid}.builder-actions strong{font-size:11px}.builder-actions span{color:var(--muted);font-size:9px}.plan-version-card{border:1px solid var(--line);background:#fff;border-radius:14px;margin:26px;box-shadow:0 10px 28px #132b220f}.plan-result-card{border-color:#9ec7b1;scroll-margin-top:88px;box-shadow:0 13px 34px #17634c1a}.plan-generated-banner{color:var(--green);background:#eff8f3;border-bottom:1px solid #cfe4d8;border-radius:14px 14px 0 0;align-items:center;gap:12px;padding:14px 26px;display:flex}.plan-generated-banner>span{color:#fff;background:var(--green);border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.plan-generated-banner>div{gap:3px;display:grid}.plan-generated-banner strong{font-size:11px}.plan-generated-banner small{color:var(--ink-soft);word-break:break-word;font-size:9px}.plan-version-head{justify-content:space-between;align-items:flex-start;gap:18px;padding:24px 26px 16px;display:flex}.plan-version-head span{color:var(--green);letter-spacing:.14em;font-size:9px;font-weight:900}.plan-version-head h3{font-family:var(--font-ui);margin:8px 0 5px;font-size:21px}.plan-version-head p{color:var(--muted);margin:0;font-size:9px}.plan-state{color:var(--amber);background:#fff6df;border-radius:999px;padding:6px 10px;font-size:9px}.plan-state.plan-approved{color:var(--green);background:var(--green-soft)}.plan-state.plan-rejected{color:var(--red);background:#fff0ee}.plan-version-actions{flex-wrap:wrap;gap:9px;padding:0 26px 20px;display:flex}.plan-experiment-summary{border-top:1px solid var(--line-soft);gap:9px;margin:0 26px 20px;padding-top:18px;display:grid}.plan-experiment-summary-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.plan-experiment-summary-head>div{gap:4px;display:grid}.plan-experiment-summary-head small{color:var(--muted);font-size:10px}.plan-experiment-summary-head>.secondary-button{flex:none}.plan-experiment-summary-head strong{color:var(--ink);font-size:12px}.plan-experiment-summary-items{flex-wrap:wrap;gap:7px;display:flex}.plan-experiment-summary-items span{color:#315a47;background:#f6faf7;border:1px solid #d7e5dc;border-radius:6px;padding:7px 9px;font-size:10px}.plan-version-card>.template-warning{margin:0 26px 20px}.approval-track{border-top:1px solid var(--line-soft);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.approval-step{border-right:1px solid var(--line-soft);min-height:138px;padding:18px}.approval-step:last-child{border-right:0}.approval-step>div{align-items:center;gap:9px;display:flex}.approval-step>div span{width:28px;height:28px;color:var(--muted);background:#f0f3f1;border-radius:8px;place-items:center;font-size:9px;font-weight:900;display:grid}.approval-step.approved>div span{color:var(--green);background:var(--green-soft)}.approval-step.rejected>div span{color:var(--red);background:#fff0ee}.approval-step small,.approval-step p{color:var(--muted);margin:12px 0 0;font-size:9px;display:block}.approval-step blockquote{color:var(--ink-soft);margin:9px 0 0;font-size:9px;line-height:1.5}.report-placeholder{grid-template-columns:1fr;padding-top:0}.report-placeholder .module-card{min-height:130px}.sign-modal{gap:17px;padding:30px;display:grid;position:relative}.sign-modal h2,.sign-modal p{margin:0}.sign-modal h2{font-family:var(--font-ui);font-size:24px}.sign-modal>p{color:var(--muted);font-size:10px;line-height:1.7}.modal-close{cursor:pointer;width:32px;height:32px;color:var(--muted);background:#f2f4f2;border:0;border-radius:8px;font-size:20px;position:absolute;top:18px;right:18px}.decision-switch{background:#f1f4f2;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;padding:5px;display:grid}.decision-switch button{cursor:pointer;height:38px;color:var(--ink-soft);background:0 0;border:0;border-radius:7px;font-weight:800}.decision-switch button.active{color:var(--green);background:#fff;box-shadow:0 3px 10px #14302514}.decision-switch button.active.reject{color:var(--red)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.centered-state{text-align:center;align-content:center;place-items:center;gap:16px;min-height:100vh;padding:30px;display:grid}.centered-state h1{font-family:var(--font-ui);margin:8px 0 0}.centered-state p{max-width:480px;color:var(--muted);margin:0 0 10px;line-height:1.8}@media (width<=1050px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.workspace-layout{grid-template-columns:1fr}.workspace-side{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.login-quickfills{grid-template-columns:repeat(2,minmax(0,1fr))}.app-header{height:64px;padding:0 18px}.app-brand small,.tenant-pill,.account-chip>span:last-child{display:none}.page-container{width:min(100% - 28px,1400px);padding-top:28px}.page-hero,.project-hero,.section-heading,.table-toolbar{flex-direction:column;align-items:flex-start}.page-hero .primary-button,.section-heading .primary-button{width:100%}.page-hero h1,.project-hero h1{font-size:29px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-grid article{min-height:120px;padding:18px}.search-box{width:100%}.project-table{min-width:820px}.project-gate{width:100%}.workspace-side,.module-grid,.qa-summary-grid,.intake-grid,.upstream-binding-grid,.plan-context-grid,.approval-track{grid-template-columns:1fr}.upstream-binding-grid>article+article{border-top:1px solid var(--line-soft);border-left:0}.upstream-source-trace>div,.plan-form-grid,.trial-type-selector>div{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-conflict-panel>section{grid-template-columns:1fr}.approval-step{border-right:0;border-bottom:1px solid var(--line-soft)}.builder-actions,.plan-version-head,.experiment-item-toolbar,.plan-experiment-summary-head{flex-direction:column;align-items:stretch}.file-row{grid-template-columns:42px minmax(0,1fr) auto}.file-hash{display:none}.qa-node-form,.qa-rectification-fields,.qa-issue-meta,.qa-issue-form,.qa-report-gate{grid-template-columns:1fr}.qa-issue-form{align-items:stretch}.qa-report-gate>button{justify-self:stretch;width:100%}.intake-upload-status-list>div{grid-template-columns:1fr}.login-panel{padding:24px}.login-card{padding:32px 25px}}@media (width<=460px){.metric-grid{grid-template-columns:1fr}.modal-backdrop{padding:0}.modal-card{border-radius:0;min-height:100vh}.plan-form-grid{grid-template-columns:1fr}.experiment-item-chip-list,.experiment-item-picker{padding:10px}.experiment-item-picker-head{flex-direction:column}.experiment-item-search{width:100%;min-width:0}.experiment-item-option-list{grid-template-columns:1fr}.experiment-item-chip,.experiment-item-option{justify-content:space-between;width:100%}.experiment-item-chip>span{white-space:normal}.plan-readiness-warning>div{flex-direction:column;align-items:flex-start}.upstream-binding-card>header,.upstream-blocker-list>div{flex-direction:column;align-items:stretch}.upstream-source-trace>div{grid-template-columns:1fr}.builder-step,.plan-version-head,.plan-version-actions{padding-left:18px;padding-right:18px}.qa-timeline{padding-left:10px;padding-right:16px}.qa-timeline-node{grid-template-columns:40px minmax(0,1fr)}.qa-node-content{padding-left:6px}.qa-node-heading,.qa-section-title,.qa-issue-heading,.qa-node-plan-actions,.qa-action-strip{flex-direction:column;align-items:stretch}.qa-action-strip button,.qa-node-plan-actions button{width:100%}.qa-rectification,.qa-report-gate,.qa-history-list{padding-left:18px;padding-right:18px}.qa-history-row,.qa-execution-list>div,.qa-corrective-history>div{grid-template-columns:1fr}}.app-nav{border:1px solid var(--line-soft);background:#f7faf8;border-radius:12px;align-items:center;gap:5px;padding:4px;display:flex}.app-nav a{color:var(--text-muted);border-radius:8px;padding:7px 11px;font-size:13px;font-weight:700;text-decoration:none}.laboratory-hero{align-items:flex-end}.laboratory-hero p{max-width:720px}.laboratory-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0;display:grid}.laboratory-card{background:#fff;border:1px solid #dbe6df;border-radius:18px;padding:24px;box-shadow:0 12px 35px #1b48360f}.laboratory-card-head,.laboratory-match-summary,.configuration-section-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.laboratory-card-head>span{color:var(--green-deep);letter-spacing:.12em;font-size:12px;font-weight:800}.laboratory-card-actions{align-items:center;gap:3px;display:flex}.laboratory-card-actions button:disabled,.standard-row-actions button:disabled{cursor:wait;opacity:.55}.laboratory-card h2{margin:10px 0 18px;font-size:24px}.laboratory-counts{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);gap:12px;padding:14px 0;display:flex}.laboratory-counts span{color:var(--text-muted);flex:1;font-size:12px}.laboratory-counts strong{color:var(--ink);font-size:20px;display:block}.laboratory-capabilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.laboratory-capabilities span{color:var(--text-muted);background:#f4f8f5;border-radius:10px;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;font-size:12px;display:grid}.laboratory-capabilities b{color:var(--green-deep);font-size:16px}.laboratory-capabilities small{grid-column:1/-1}.laboratory-card>p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.7}.module-map-card{margin-bottom:40px}.trial-module-columns{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 24px 24px;display:grid}.trial-module-columns article{background:#fbfcfb;border:1px solid #dfe9e3;border-radius:14px;padding:18px}.trial-module-columns span,.trial-module-columns strong{display:block}.trial-module-columns span{color:var(--text-muted);font-size:12px}.trial-module-columns strong{color:var(--green-deep);margin:5px 0 10px;font-size:18px}.trial-module-columns p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.7}.laboratory-editor-backdrop{align-items:flex-start;overflow-y:auto}.laboratory-editor{width:min(1180px,100vw - 40px);max-width:none;margin:24px auto}.laboratory-editor-body{grid-template-columns:minmax(0,1fr) 260px;gap:22px;padding:22px 26px 0;display:grid}.laboratory-editor-main{min-width:0}.laboratory-basic-fields{grid-template-columns:180px minmax(0,1fr);gap:14px;display:grid}.laboratory-basic-fields label{gap:7px;display:grid}.laboratory-basic-fields span{color:var(--text-muted);font-size:12px;font-weight:700}.laboratory-basic-fields input,.configuration-search,.laboratory-preview select{width:100%;color:var(--ink);background:#fff;border:1px solid #ccdcd2;border-radius:9px;padding:11px 12px}.configuration-section{border:1px solid #dce7e0;border-radius:14px;margin-top:18px;padding:18px}.configuration-section h3,.configuration-section p{margin:0}.configuration-section h3{font-size:16px}.configuration-section p{color:var(--text-muted);margin-top:3px;font-size:12px}.configuration-section-head>div:last-child{gap:7px;display:flex}.configuration-section-head button{color:var(--green-deep);cursor:pointer;background:#fff;border:1px solid #ccddd3;border-radius:7px;padding:5px 9px}.configuration-search{margin-top:14px}.module-checkbox-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.module-checkbox-groups>div{background:#f7faf8;border-radius:11px;padding:12px}.module-checkbox-groups>div>strong{color:var(--green-deep);margin-bottom:7px;font-size:13px;display:block}.inventory-check-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:330px;margin-top:12px;padding-right:5px;display:grid;overflow-y:auto}.configuration-check-row{cursor:pointer;border-radius:8px;align-items:flex-start;gap:9px;padding:9px;display:flex}.configuration-check-row:hover{background:#eef5f0}.configuration-check-row input{accent-color:var(--green-deep);margin-top:3px}.configuration-check-row span,.configuration-check-row strong,.configuration-check-row small{min-width:0;display:block}.configuration-check-row strong{font-size:13px}.configuration-check-row small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.laboratory-preview{color:#fff;background:#103d2f;border-radius:16px;height:fit-content;padding:20px;position:sticky;top:20px}.laboratory-preview .eyebrow{color:#9ed1bb}.laboratory-preview h3{margin:8px 0 14px;font-size:20px}.coverage-ring{text-align:center;border:12px solid #ffffff24;border-top-color:#9ed1bb;border-radius:50%;place-items:center;width:150px;height:150px;margin:20px auto;display:grid}.coverage-ring strong,.coverage-ring span{grid-area:1/1}.coverage-ring strong{font-size:32px;transform:translateY(-8px)}.coverage-ring span{color:#c8dfd5;font-size:11px;transform:translateY(18px)}.laboratory-preview dl{gap:7px;display:grid}.laboratory-preview dl div{border-bottom:1px solid #ffffff24;justify-content:space-between;padding:8px 0;display:flex}.laboratory-preview dt{color:#c8dfd5}.laboratory-preview dd{margin:0;font-weight:800}.laboratory-preview p{color:#c8dfd5;font-size:12px;line-height:1.7}.inline-config-link{float:right;color:var(--green-deep);font-size:12px;font-weight:700}.laboratory-match-panel{background:#f3faf6;border:1px solid #bcd9ca;border-radius:14px;margin-top:18px;padding:18px}.laboratory-match-summary span,.laboratory-match-summary strong{display:block}.laboratory-match-summary span{color:var(--text-muted);font-size:11px}.laboratory-match-summary strong{margin-top:3px}.laboratory-match-summary>b{color:var(--green-deep);background:#dcefe4;border-radius:999px;padding:6px 9px;font-size:12px}.laboratory-match-metrics{gap:22px;margin:16px 0;display:flex}.laboratory-match-metrics span{color:var(--text-muted);font-size:12px}.laboratory-match-metrics strong{color:var(--ink);margin-right:4px;font-size:18px}.laboratory-match-assets{flex-wrap:wrap;gap:7px;display:flex}.laboratory-match-assets span{color:var(--text-muted);background:#fff;border:1px solid #d2e5da;border-radius:8px;gap:5px;padding:6px 9px;font-size:11px;display:inline-flex}.laboratory-match-panel>p{color:var(--text-muted);margin:12px 0 0;font-size:12px}@media (width<=900px){.app-nav{display:none}.laboratory-card-grid,.trial-module-columns,.laboratory-editor-body{grid-template-columns:1fr}.laboratory-preview{position:static}}@media (width<=640px){.intake-group>header{flex-direction:column}.intake-group>header button{width:100%}.intake-card{grid-template-columns:34px minmax(0,1fr)}.intake-icon{width:32px;height:32px}.intake-actions{text-align:left;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.trial-type-selector>div,.laboratory-card-grid,.module-checkbox-groups,.inventory-check-list,.laboratory-basic-fields{grid-template-columns:1fr}.laboratory-editor{border-radius:0;width:100%;margin:0}}.page-hero.standard-library-hero{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;align-items:center;margin-bottom:18px;padding-bottom:16px;overflow:visible}.page-hero.standard-library-hero:after{display:none}.standard-library-panel{margin-top:20px}.standard-library-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.standard-library-toolbar input{border:1px solid var(--line);width:min(520px,100%);min-height:42px;color:var(--ink);background:var(--surface-raised);border-radius:8px;padding:0 13px}.standard-library-toolbar input::placeholder{color:var(--muted)}.standard-library-toolbar>span{color:var(--muted);flex:none;font-size:12px}.standard-category-filter{scrollbar-width:none;align-items:center;gap:6px;margin-bottom:14px;padding-bottom:2px;display:flex;overflow-x:auto}.standard-category-filter::-webkit-scrollbar{display:none}.standard-category-filter button{border:1px solid var(--line);min-height:34px;color:var(--ink-soft);background:var(--surface-raised);cursor:pointer;border-radius:7px;flex:none;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.standard-category-filter button:hover{border-color:var(--accent);color:var(--accent)}.standard-category-filter button[data-active=true]{border-color:var(--accent);color:#fff;background:var(--accent)}.standard-category-filter button span{min-width:20px;min-height:20px;color:var(--muted);background:var(--surface-subtle);font-variant-numeric:tabular-nums;border-radius:6px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;display:inline-flex}.standard-category-filter button[data-active=true] span{color:var(--accent);background:#fff}.standard-details-shell{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;max-width:100%;overflow:hidden}.standard-details-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}.standard-column-category{width:13%}.standard-column-identity{width:27%}.standard-column-file{width:25%}.standard-column-time{width:14%}.standard-column-size{width:8%}.standard-column-actions{width:13%}.standard-details-table th,.standard-details-table td{border-bottom:1px solid var(--line-soft);min-width:0;color:var(--ink-soft);text-align:left;vertical-align:middle;overflow-wrap:anywhere;padding:12px 11px;font-size:11px;line-height:1.5}.standard-details-table th{height:42px;color:var(--muted);background:var(--surface-subtle);white-space:nowrap;font-size:10px;font-weight:800}.standard-details-table tbody tr:last-child td{border-bottom:0}.standard-details-row td{background:var(--surface-raised);transition:background-color .16s}.standard-details-row:hover td{background:var(--surface-subtle)}.standard-detail-identity .standard-code,.standard-detail-identity strong{display:block}.standard-detail-identity strong{color:var(--ink);margin-top:3px;font-size:13px;font-weight:750}.standard-category-chip{min-height:25px;color:var(--accent);background:var(--blue-soft);white-space:nowrap;border-radius:6px;align-items:center;padding:0 8px;font-size:10px;font-weight:800;display:inline-flex}.standard-detail-time,.standard-detail-size{font-variant-numeric:tabular-nums}.standard-code{color:var(--accent);font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;font-size:10px;font-weight:800}.standard-filename{overflow-wrap:anywhere}.standard-detail-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.standard-detail-actions .compact-button{white-space:nowrap;min-height:34px;padding:0 10px;font-size:11px}.standard-detail-actions .danger-link{white-space:nowrap;min-height:34px}.standard-mobile-label{display:none}.standard-details-empty{height:140px;color:var(--muted);text-align:center!important}.standard-upload-modal{width:min(100%,620px)}.standard-upload-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px 26px 0;display:grid}.standard-upload-fields label{gap:7px;display:grid}.standard-upload-fields label:nth-child(3),.standard-upload-fields label:nth-child(4){grid-column:1/-1}.standard-upload-fields label>span{color:var(--ink-soft);font-size:12px;font-weight:700}.standard-upload-fields input,.standard-upload-fields select{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #ccd7d1;border-radius:8px;padding:8px 11px}.standard-upload-fields input[type=file]{padding:8px}.standard-upload-fields small{color:var(--muted);font-size:11px}@media (width<=900px){.standard-library-toolbar{flex-direction:column;align-items:stretch;gap:8px}.standard-library-toolbar input{width:100%}.standard-library-toolbar>span{align-self:flex-end}.standard-details-shell{background:0 0;border:0;overflow:visible}.standard-details-table,.standard-details-table tbody{width:100%;display:block}.standard-details-table colgroup{display:none}.standard-details-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.standard-details-row{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity identity""category size""file file""time time""actions actions";width:100%;margin-bottom:10px;display:grid;overflow:hidden}.standard-details-row:last-child{margin-bottom:0}.standard-details-row td{border-bottom:1px solid var(--line-soft);background:0 0;align-items:center;gap:8px;min-height:42px;padding:9px 12px;display:flex}.standard-details-row:hover td{background:0 0}.standard-detail-identity{grid-area:identity;background:var(--surface-subtle)!important;min-height:58px!important;display:block!important}.standard-detail-category{grid-area:category}.standard-detail-file{grid-area:file}.standard-detail-time{grid-area:time}.standard-detail-size{grid-area:size;justify-content:flex-end}.standard-detail-actions{grid-area:actions;justify-content:flex-end;border-bottom:0!important;min-height:54px!important}.standard-mobile-label{color:var(--muted);flex:none;font-size:10px;font-weight:750;display:inline}.standard-details-empty{background:var(--surface-raised);border-radius:8px;width:100%;height:auto;border:1px solid var(--line)!important;padding:40px 16px!important;display:block!important}}@media (width<=760px){.standard-upload-fields{grid-template-columns:1fr}.standard-upload-fields label:nth-child(3),.standard-upload-fields label:nth-child(4){grid-column:auto}}*{letter-spacing:0!important}button,a,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 34%, transparent);outline-offset:2px}.primary-button,.secondary-button,.danger-button{border-radius:var(--radius-control);touch-action:manipulation;min-height:44px}.danger-button{border:1px solid var(--danger);border-radius:var(--radius-control);cursor:pointer;color:#fff;background:var(--danger);justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:800;display:inline-flex}.danger-button:hover:not(:disabled){border-color:var(--danger-strong);background:var(--danger-strong)}.danger-button:disabled{cursor:not-allowed;opacity:.46}.content-card,.module-panel,.workspace-main,.side-card,.login-card,.modal-card,.qa-plan-builder,.report-workbench,.raw-category-card{border-radius:var(--radius-panel)}.metric-grid article,.stage-card,.module-card,.qa-summary-grid article,.laboratory-card,.standard-table-wrap{border-radius:6px}.page-hero h1,.project-hero h1{font-size:34px}.login-brand-copy h1{font-size:58px}.eyebrow{color:var(--green-dark);font-size:11px;font-weight:800}.project-row-actions{align-items:center;gap:6px;min-width:150px;display:flex}.icon-action{border:1px solid var(--line);cursor:pointer;min-width:38px;min-height:36px;color:var(--ink-soft);background:#fff;border-radius:5px;justify-content:center;align-items:center;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.icon-action:hover{color:var(--green-dark);background:#f4f8f6;border-color:#9db6aa}.icon-action.danger{color:var(--danger);background:snow;border-color:#e3c3c0}.modal-backdrop>div{width:min(100%,560px)}.modal-backdrop .modal-card{width:100%;max-height:min(88dvh,820px);overflow-y:auto}.project-form textarea,.project-form select{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;min-height:44px;color:var(--ink);resize:vertical;background:#fff;padding:11px 13px}.project-form input[readonly]{color:var(--muted);background:#f2f4f3}.danger-notice{border:1px solid #dfb8b4;border-left:4px solid var(--danger);color:var(--danger-strong);background:#fff7f6;border-radius:4px;gap:5px;padding:13px 14px;display:grid}.danger-notice span{color:#72504d;font-size:12px;line-height:1.6}.confirmed-plan-summary{border:1px solid #c7d9d0;border-left:4px solid var(--green);background:#f7faf8;border-radius:6px;gap:14px;margin:18px 26px;padding:16px 18px;display:grid}.report-builder-grid .confirmed-plan-summary{grid-column:1/-1;margin:0}.confirmed-plan-summary>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.confirmed-plan-summary>header div{gap:3px;display:grid}.confirmed-plan-summary>header span,.confirmed-plan-summary>header small{color:var(--muted);font-size:10px}.confirmed-plan-summary>header strong{color:var(--ink);font-size:13px}.confirmed-plan-summary dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.confirmed-plan-summary dl div{border-top:1px solid #dfe8e3;gap:5px;min-width:0;padding-top:9px;display:grid}.confirmed-plan-summary dl .wide{grid-column:span 2}.confirmed-plan-summary dl .experiment-items{grid-column:1/-1}.confirmed-plan-summary dl .experiment-items dd{font-weight:600;line-height:1.7}.confirmed-plan-summary dt{color:var(--muted);font-size:10px}.confirmed-plan-summary dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:750}.confirmed-plan-summary.pending{border-left-color:var(--amber);background:#fffaf1}.confirmed-plan-summary.pending p{color:var(--muted);margin:0;font-size:11px}.raw-upload-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 26px 24px;display:grid}.raw-upload-category-card{border:1px solid var(--line);border-top:3px solid var(--blue);background:#fff;border-radius:6px;align-content:start;gap:12px;min-width:0;padding:16px;display:grid}.raw-upload-category-card.category-agreement{border-top-color:var(--green)}.raw-upload-category-card.category-ingredient_info{border-top-color:var(--amber)}.raw-upload-category-card>header{justify-content:space-between;align-items:center;display:flex}.raw-upload-category-card>header span{color:var(--muted);font-family:ui-monospace,monospace;font-size:11px;font-weight:800}.raw-upload-category-card>header strong{color:var(--green-dark);font-size:11px}.raw-upload-category-card h3{font-family:var(--font-ui);margin:0;font-size:18px}.raw-upload-category-card>p{min-height:58px;color:var(--muted);margin:0;font-size:11px;line-height:1.7}.raw-upload-category-card dl{gap:7px;margin:0;display:grid}.raw-upload-category-card dl div{border-top:1px solid var(--line-soft);justify-content:space-between;gap:10px;padding-top:7px;display:flex}.raw-upload-category-card dt,.raw-upload-category-card dd{margin:0;font-size:10px}.raw-upload-category-card dt{color:var(--muted)}.raw-upload-category-card dd{color:var(--ink-soft);text-align:right}.raw-upload-category-card .secondary-button{width:100%;margin-top:2px}.raw-upload-readonly{min-height:44px;color:var(--muted);background:#f3f5f4;place-items:center;font-size:11px;display:grid}.raw-toolbar{margin:16px 26px}.commission-overview-hero,.commission-hero{background:linear-gradient(90deg,#fffffff5,#eef8f4e6),repeating-linear-gradient(90deg,#0000 0 54px,#17634c0a 54px 55px);border:1px solid #cfe2da;border-radius:22px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:28px 32px;display:flex}.commission-hero h1{font:700 32px/1.1 var(--font-ui);margin:8px 0}.commission-kpis{grid-template-columns:repeat(3,90px);gap:8px;display:grid}.commission-kpis div{text-align:center;background:#ffffffd9;border-radius:12px;gap:3px;padding:13px;display:grid}.commission-kpis b{color:var(--green);font:700 24px var(--font-ui)}.commission-kpis span{color:var(--muted);font-size:10px}.commission-details-shell{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;overflow:hidden}.commission-details-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}.commission-column-code{width:14%}.commission-column-client{width:23%}.commission-column-agreement{width:17%}.commission-column-status{width:15%}.commission-column-count{width:7%}.commission-column-actions{width:10%}.commission-details-table th,.commission-details-table td{border-bottom:1px solid var(--line-soft);min-width:0;color:var(--ink-soft);text-align:left;vertical-align:middle;overflow-wrap:anywhere;padding:13px 14px;font-size:12px;line-height:1.45}.commission-details-table th{height:42px;color:var(--muted);background:var(--surface-subtle);white-space:nowrap;padding-top:10px;padding-bottom:10px;font-size:10px;font-weight:750}.commission-details-table tbody tr:last-child td{border-bottom:0}.commission-details-row{cursor:pointer;transition:background-color .16s,box-shadow .16s}.commission-details-row:hover td{background:color-mix(in srgb, var(--blue-soft) 58%, var(--surface-raised))}.commission-detail-code>span,.commission-detail-client>span,.commission-view-link{color:inherit;text-decoration:none}.commission-detail-code>span{color:var(--green);font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;font-size:11px;font-weight:800}.commission-detail-client>span{color:var(--ink);font-weight:750}.commission-detail-agreement{color:var(--muted)}.commission-detail-sample,.commission-detail-assignments,.commission-detail-projects{font-variant-numeric:tabular-nums;text-align:center!important}.commission-detail-sample strong,.commission-detail-assignments strong,.commission-detail-projects strong{color:var(--ink);font-size:13px}.commission-status{border:1px solid var(--line);text-align:center;border-radius:999px;align-items:center;min-height:28px;padding:4px 9px;font-size:10px;font-weight:800;line-height:1.25;display:inline-flex}.commission-status-pending{border-color:color-mix(in srgb, var(--amber) 34%, var(--line));color:color-mix(in srgb, var(--amber) 82%, var(--ink));background:color-mix(in srgb, var(--amber-soft) 72%, var(--surface-raised))}.commission-status-progress{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));color:var(--brand);background:color-mix(in srgb, var(--blue-soft) 74%, var(--surface-raised))}.commission-status-complete{border-color:color-mix(in srgb, var(--green) 34%, var(--line));color:var(--green);background:color-mix(in srgb, var(--green-soft) 72%, var(--surface-raised))}.commission-detail-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.commission-view-link{min-height:32px;color:var(--brand);border-radius:6px;align-items:center;padding:0 8px;font-weight:750;display:inline-flex}.commission-view-link:hover,.commission-view-link:focus-visible{background:color-mix(in srgb, var(--blue-soft) 70%, transparent)}.commission-mobile-label{display:none}.commission-details-empty{height:170px;text-align:center!important}.commission-details-empty strong,.commission-details-empty span{display:block}.commission-details-empty strong{color:var(--ink);font-size:15px}.commission-details-empty span{color:var(--muted);margin-top:6px}.commission-flow{grid-template-columns:repeat(5,1fr);gap:0;margin:18px 0;display:grid}.commission-flow article{background:#fff;border:1px solid #dbe6e1;border-right:0;gap:5px;min-height:106px;padding:15px 19px;display:grid;position:relative}.commission-flow article:first-child{border-radius:14px 0 0 14px}.commission-flow article:last-child{border-right:1px solid #dbe6e1;border-radius:0 14px 14px 0}.commission-flow article:after{content:"";z-index:2;border-top:2px solid #99b3a8;border-right:2px solid #99b3a8;width:9px;height:9px;position:absolute;top:46px;right:-5px;transform:rotate(45deg)}.commission-flow article:last-child:after{display:none}.commission-flow article>span{color:#91a39b;font:700 10px ui-monospace,monospace}.commission-flow article strong{font-size:13px}.commission-flow article small{color:var(--muted);font-size:10px}.commission-flow article.done{box-shadow:inset 0 3px 0 var(--green);background:linear-gradient(155deg,#fff,#ecf7f2)}.commission-flow article.done>span,.commission-flow article.done strong{color:var(--green)}.commission-file-strip{gap:8px;display:grid}.commission-file-strip article{background:#fafcfb;border:1px solid #e0e9e5;border-radius:10px;grid-template-columns:1fr auto auto;gap:12px;padding:12px 14px;display:grid}.commission-file-strip span{color:var(--green);font-size:10px;font-weight:700}.commission-file-strip small{color:var(--muted)}.commission-sample-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.commission-sample-form label{gap:5px;display:grid}.commission-sample-form label>span{color:var(--muted);font-size:10px;font-weight:700}.commission-sample-form .trial-checkboxes{background:#f5f9f7;border-radius:10px;flex-wrap:wrap;grid-column:1/-1;gap:7px;padding:12px;display:flex}.recognized-prefill{background:#f0f8f4;border:1px solid #bcd8cc;border-radius:10px;flex-wrap:wrap;gap:7px;margin:0 0 14px;padding:12px;display:flex}.recognized-prefill strong{width:100%;color:var(--green);font-size:11px}.recognized-prefill span{color:var(--ink-soft);background:#fff;border-radius:7px;padding:5px 8px;font-size:10px}.commission-sample-form .trial-checkboxes label{background:#fff;border-radius:8px;align-items:center;gap:5px;padding:7px 10px;display:flex}.commission-sample-form>button{grid-column:1/-1;justify-self:end}.assignment-matrix{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.assignment-matrix article{background:#fff;border:1px solid #dce8e3;border-radius:14px;padding:16px}.assignment-matrix article header{color:var(--green);justify-content:space-between;font-size:11px;display:flex}.assignment-state{flex-wrap:wrap;gap:6px;display:flex}.assignment-state span{color:var(--green);background:#edf6f2;border-radius:999px;padding:5px 8px;font-size:10px}.assignment-blockers{color:#a34c20;background:#fff4eb;border-radius:8px;gap:4px;margin:10px 0;padding:9px;font-size:10px;display:grid}.qa-hero{background:radial-gradient(circle at 85% 20%,#1c795c29,#0000 28%),linear-gradient(120deg,#fbfdfc 0%,#edf7f3 100%);border:1px solid #cfe2da;border-radius:22px;padding:30px 34px}.qa-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.qa-kpis article{background:#fff;border:1px solid #dce8e3;border-radius:16px;gap:5px;min-height:96px;padding:18px 20px;display:grid;box-shadow:0 8px 24px #113e300d}.qa-kpis b{color:var(--brand);font:700 28px/1.1 var(--font-ui)}.qa-kpis span{color:var(--muted);font-size:12px}.qa-kpis .attention{background:#fffaf5;border-color:#efd5bd}.qa-kpis .attention b{color:#af5a26}.qa-layout{grid-template-columns:minmax(260px,.75fr) minmax(0,2fr);align-items:start;gap:18px;display:grid}.qa-plan-list,.qa-detail{padding:22px}.qa-plan-list>header,.qa-detail>header{margin-bottom:18px}.qa-plan-card{width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce6e1;border-radius:13px;gap:5px;margin:0 0 10px;padding:16px;display:grid;position:relative}.qa-plan-card:hover,.qa-plan-card.selected{border-color:var(--brand);background:#f2f9f6;transform:translateY(-1px)}.qa-plan-card>span{color:var(--brand);letter-spacing:.08em;font:700 10px/1.2 ui-monospace,monospace}.qa-plan-card h3{margin:0;font-size:15px}.qa-plan-card small{color:var(--muted)}.qa-plan-card>b{color:var(--brand);font-size:11px;position:absolute;top:14px;right:14px}.qa-upload{background:#f7fbf9;border:1px dashed #abcbbb;border-radius:13px;align-items:end;gap:12px;margin-bottom:18px;padding:14px;display:flex}.qa-upload label{flex:1;gap:7px;display:grid}.qa-upload label span{color:var(--ink-soft);font-size:12px;font-weight:700}.qa-matrix{gap:10px;display:grid}.qa-matrix article{background:#fff;border:1px solid #dce6e1;border-radius:14px;padding:16px}.qa-matrix article>header{justify-content:space-between;gap:12px;display:flex}.qa-matrix article h3{margin:4px 0;font-size:16px}.qa-matrix article header span,.qa-matrix article small{color:var(--muted);font-size:11px}.qa-matrix article header>b{color:var(--brand);background:#eef7f3;border-radius:999px;align-self:start;padding:5px 9px;font-size:11px}.qa-matrix article header>b[data-status=NONCONFORMING]{color:#b24c20;background:#fff0e8}.qa-matrix article p{background:#faf8f2;border-radius:8px;margin:12px 0 0;padding:10px;font-size:12px}.record-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.record-actions button{color:var(--brand);cursor:pointer;background:#f3faf7;border:1px solid #b7d2c6;border-radius:8px;padding:7px 11px}.record-actions .danger-outline{color:#a64220;background:#fff7f3;border-color:#e3bfae}.qa-create{width:min(920px,100vw - 32px)}.qa-create fieldset{border:1px solid #dce6e1;border-radius:12px;gap:10px;margin:0;padding:14px;display:grid}.qa-create legend{color:var(--ink-soft);padding:0 7px;font-size:12px;font-weight:700}.project-pick-grid{grid-template-columns:repeat(2,1fr);gap:8px;max-height:180px;display:grid;overflow:auto}.project-pick-grid label{background:#f7f9f8;border-radius:8px;align-items:center;gap:8px;padding:9px;display:flex}.project-pick-grid span{font-size:11px;display:grid}.node-editor{grid-template-columns:1fr .7fr 1.2fr auto auto;align-items:center;gap:7px;display:grid}.node-editor>label{align-items:center;gap:4px;font-size:11px;display:flex}.library-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.library-toolbar input{width:min(480px,100%)}.library-toolbar span{color:var(--muted);font-size:12px}.ingredient-details-shell{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;max-width:100%;overflow:hidden}.ingredient-details-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}.ingredient-column-cas{width:13%}.ingredient-column-chinese,.ingredient-column-english{width:15%}.ingredient-column-formula{width:12%}.ingredient-column-weight{width:13%}.ingredient-column-appearance{width:20%}.ingredient-column-actions{width:12%}.ingredient-details-table th,.ingredient-details-table td{border-bottom:1px solid var(--line-soft);min-width:0;color:var(--ink-soft);text-align:left;vertical-align:middle;overflow-wrap:anywhere;padding:12px 10px;font-size:11px;line-height:1.5}.ingredient-details-table th{height:42px;color:var(--muted);background:var(--surface-subtle);white-space:nowrap;font-size:10px;font-weight:800}.ingredient-details-table tbody tr:last-child td{border-bottom:0}.ingredient-details-row td{background:var(--surface-raised);transition:background-color .16s}.ingredient-details-row:hover td{background:var(--surface-subtle)}.ingredient-detail-cas>span:last-child{color:var(--accent);font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;font-size:10px;font-weight:750}.ingredient-detail-chinese>span{color:var(--ink);font-size:13px;font-weight:750}.ingredient-detail-english>span:last-child{color:var(--muted)}.ingredient-detail-formula,.ingredient-detail-weight{font-variant-numeric:tabular-nums}.ingredient-detail-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.ingredient-edit-button{border:1px solid var(--line);min-height:32px;color:var(--ink);background:var(--surface-raised);font:inherit;white-space:nowrap;cursor:pointer;border-radius:7px;padding:0 9px;font-weight:750}.ingredient-edit-button:hover{background:var(--blue-soft)}.ingredient-no-action{color:var(--muted)}.ingredient-mobile-label{display:none}.ingredient-details-empty{height:150px;color:var(--muted);text-align:center!important}@media (width<=900px){.library-toolbar{flex-direction:column;align-items:stretch;margin-bottom:12px}.library-toolbar input{width:100%}.ingredient-details-shell{background:0 0;border:0;overflow:visible}.ingredient-details-table,.ingredient-details-table tbody{width:100%;display:block}.ingredient-details-table colgroup{display:none}.ingredient-details-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ingredient-details-row{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"chinese chinese""english english""cas cas""formula weight""appearance appearance""actions actions";gap:0 14px;width:100%;margin-bottom:10px;display:grid;overflow:hidden}.ingredient-details-row:last-child{margin-bottom:0}.ingredient-details-row td{border-bottom:1px solid var(--line-soft);background:0 0;align-items:center;gap:8px;min-height:42px;padding:9px 12px;display:flex}.ingredient-details-row:hover td{background:0 0}.ingredient-detail-cas{grid-area:cas}.ingredient-detail-chinese{grid-area:chinese;background:var(--surface-subtle)!important;min-height:52px!important}.ingredient-detail-english{grid-area:english}.ingredient-detail-formula{grid-area:formula}.ingredient-detail-weight{grid-area:weight}.ingredient-detail-appearance{grid-area:appearance}.ingredient-detail-actions{grid-area:actions;justify-content:flex-end;border-bottom:0!important;min-height:52px!important}.ingredient-mobile-label{color:var(--muted);flex:none;font-size:10px;font-weight:750;display:inline}.ingredient-detail-english,.ingredient-detail-cas,.ingredient-detail-appearance{grid-column:1/-1}.ingredient-edit-button,.ingredient-detail-actions .danger-link{min-width:44px;min-height:44px}.ingredient-details-empty{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;place-items:center;height:auto;min-height:150px;display:grid}.confirmed-plan-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.raw-upload-category-grid{grid-template-columns:1fr}.raw-upload-category-card>p{min-height:auto}.qa-layout{grid-template-columns:1fr}.assignment-matrix,.commission-sample-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.page-container{width:min(100% - 28px,1400px);padding-top:24px}.page-hero,.project-hero,.table-toolbar,.section-heading{flex-direction:column;align-items:stretch}.page-hero h1,.project-hero h1{font-size:29px}.login-brand-copy h1{font-size:42px}.search-box{width:100%}.app-header{height:64px;padding:0 14px}.tenant-pill,.account-chip>span:last-child{display:none}.confirmed-plan-summary{margin:14px;padding:14px}.confirmed-plan-summary>header{flex-direction:column;gap:4px}.confirmed-plan-summary dl{grid-template-columns:1fr}.confirmed-plan-summary dl .wide{grid-column:auto}.raw-upload-category-grid{grid-template-columns:1fr;margin:16px 14px 20px}.project-row-actions{min-width:0}.modal-backdrop{align-items:end;padding:10px}.modal-backdrop .modal-card{max-height:92dvh}.qa-kpis,.project-pick-grid,.assignment-matrix,.commission-sample-form{grid-template-columns:1fr}.commission-overview-hero,.commission-hero{flex-direction:column;align-items:stretch;padding:20px}.commission-kpis{grid-template-columns:repeat(3,1fr)}.commission-flow{grid-template-columns:1fr}.commission-flow article,.commission-flow article:first-child,.commission-flow article:last-child{border:1px solid #dbe6e1;border-bottom:0;border-radius:0}.commission-flow article:first-child{border-radius:12px 12px 0 0}.commission-flow article:last-child{border-bottom:1px solid #dbe6e1;border-radius:0 0 12px 12px}.commission-flow article:after{top:auto;bottom:-5px;right:50%;transform:rotate(135deg)}.qa-upload{flex-direction:column;align-items:stretch}.node-editor{grid-template-columns:1fr}}@media (width<=900px){.commission-details-shell{background:0 0;border:0;overflow:visible}.commission-details-table,.commission-details-table tbody{width:100%;display:block}.commission-details-table colgroup,.commission-details-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.commission-details-row{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"code code status""client client actions""agreement agreement agreement""sample assignments projects";gap:0 10px;margin-bottom:10px;padding:13px 14px;display:grid}.commission-details-row:last-child{margin-bottom:0}.commission-details-table .commission-details-row td{background:0 0;border:0;padding:5px 0;display:block}.commission-details-row:hover td{background:0 0}.commission-details-row:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--line));background:color-mix(in srgb, var(--blue-soft) 46%, var(--surface-raised))}.commission-detail-code{grid-area:code}.commission-detail-client{grid-area:client}.commission-detail-agreement{grid-area:agreement}.commission-detail-status{grid-area:status;align-self:start;text-align:right!important}.commission-detail-sample{grid-area:sample}.commission-detail-assignments{grid-area:assignments}.commission-detail-projects{grid-area:projects}.commission-detail-actions{grid-area:actions;align-self:center}.commission-detail-code>span{font-size:10px}.commission-detail-client>span{font-size:13px}.commission-detail-agreement{gap:7px;margin-top:5px;border-top:1px solid var(--line-soft)!important;padding-top:10px!important;display:flex!important}.commission-detail-sample,.commission-detail-assignments,.commission-detail-projects{gap:3px;margin-top:3px;border-top:1px solid var(--line-soft)!important;text-align:left!important;padding-top:10px!important;display:grid!important}.commission-mobile-label{color:var(--muted);font-size:9px;font-weight:700;display:inline}.commission-status{white-space:normal;justify-content:center;max-width:100%;min-height:26px;padding:4px 7px}.commission-detail-actions{justify-content:flex-end}.commission-view-link,.commission-detail-actions .danger-link{min-height:32px;padding:0 6px;font-size:10px}.commission-details-empty{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;align-content:center;place-items:center;height:auto;min-height:150px;display:grid;padding:24px!important}}body{color:var(--ink);background-color:var(--canvas);background-image:radial-gradient(circle at 88% 5%, color-mix(in srgb,var(--accent) 10%,transparent),transparent 28rem),linear-gradient(var(--science-grid) 1px,transparent 1px),linear-gradient(90deg,var(--science-grid) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px}.app-header{border-color:var(--line);background:var(--header-bg)}.app-nav{border-color:var(--line-soft);background:var(--surface-subtle)}.app-nav a:hover{color:var(--brand);background:var(--surface-raised)}.content-card,.module-panel,.workspace-main,.side-card,.qa-plan-builder,.report-workbench,.raw-category-card,.modal-card{border-color:var(--line);color:var(--ink);background:var(--paper);box-shadow:var(--panel-shadow)}.page-hero,.commission-overview-hero,.commission-hero,.qa-hero,.ingredient-hero{border-color:var(--line);color:var(--ink);background:radial-gradient(circle at 85% 25%,color-mix(in srgb,var(--cyan) 13%,transparent),transparent 30%),linear-gradient(120deg,var(--paper),color-mix(in srgb,var(--blue-soft) 52%,var(--paper)));box-shadow:var(--panel-shadow)}.metric-grid article,.qa-kpis article,.assignment-matrix article,.qa-plan-card,.qa-matrix article{border-color:var(--line);color:var(--ink);background:linear-gradient(145deg,var(--surface-raised),color-mix(in srgb,var(--surface-subtle) 88%,var(--surface-raised)));box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 7%,transparent)}.commission-flow article{border-color:var(--line);color:var(--ink);background:var(--surface-raised)}.commission-flow article.done{background:linear-gradient(145deg,var(--surface-raised),color-mix(in srgb,var(--green-soft) 68%,var(--surface-raised)));box-shadow:inset 0 3px 0 var(--cyan)}.commission-kpis div,.recognized-prefill,.commission-sample-form .trial-checkboxes,.qa-upload,.project-pick-grid label{background:var(--surface-subtle)}.recognized-prefill span,.commission-sample-form .trial-checkboxes label{background:var(--surface-raised)}.commission-file-strip article{border-color:var(--line);background:var(--surface-subtle)}.primary-button{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--cyan) 62%,var(--accent)));box-shadow:0 9px 24px color-mix(in srgb,var(--accent) 24%,transparent)}.secondary-button{border-color:var(--line);color:var(--ink);background:var(--surface-raised)}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020a18a8}.tenant-pill{border-color:var(--line);color:var(--green);background:var(--surface-subtle)}@media (width>=1180px){.app-header{border-right:1px solid var(--line);background:var(--sidebar-bg);border-bottom:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:28px;width:236px;height:100dvh;padding:24px 16px;position:fixed;inset:0 auto 0 0}.app-brand{min-height:48px;padding:0 4px}.app-header-actions{flex-direction:column;flex:1;align-items:stretch;gap:12px;min-height:0;display:flex}.app-nav{background:0 0;border:0;gap:6px;padding:0;display:grid}.app-nav a{border:1px solid #0000;border-radius:10px;padding:11px 13px 11px 35px;position:relative}.app-nav a:before{content:"◇";color:var(--brand);position:absolute;left:13px}.app-nav a:hover{border-color:color-mix(in srgb,var(--accent) 20%,var(--line));color:var(--brand);background:color-mix(in srgb,var(--blue-soft) 60%,transparent);box-shadow:inset 3px 0 0 var(--brand)}.theme-toggle{margin-top:auto}.tenant-pill{text-align:center;border-radius:9px}.account-chip{border-top:1px solid var(--line-soft);padding:9px 5px}.text-button{text-align:center}.page-container{width:min(1400px,100% - 296px);margin-left:auto;margin-right:30px;padding-top:34px}}@media (width<=1179px){.app-nav{white-space:nowrap;max-width:56vw;overflow-x:auto}.theme-toggle small{display:none}}@media (width<=760px){.app-nav{display:none}.theme-toggle{margin-left:auto}.commission-file-strip article{grid-template-columns:1fr}}.dashboard-page{gap:18px;display:grid}.dashboard-hero{border:1px solid var(--line);background:linear-gradient(125deg,color-mix(in srgb,var(--surface-raised) 96%,var(--accent) 4%),color-mix(in srgb,var(--surface-subtle) 88%,#4f7cff 12%));min-height:170px;box-shadow:var(--shadow);border-radius:22px;justify-content:space-between;align-items:flex-end;padding:32px 34px;display:flex;position:relative;overflow:hidden}.dashboard-hero:after{content:"";background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%,transparent),transparent 68%);pointer-events:none;border-radius:50%;width:280px;height:280px;position:absolute;top:-70px;right:7%}.dashboard-hero h1{letter-spacing:-1.6px;margin:7px 0 8px;font-size:36px}.dashboard-hero p{color:var(--muted)}.hero-actions{z-index:1;align-items:center;gap:10px;display:flex;position:relative}.dashboard-kpis{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.dashboard-kpis article{border:1px solid var(--line);background:var(--surface-raised);min-height:128px;box-shadow:0 8px 24px color-mix(in srgb,var(--brand) 5%,transparent);border-radius:17px;padding:20px;position:relative;overflow:hidden}.dashboard-kpis article:after{content:"";border:14px solid color-mix(in srgb,var(--accent) 9%,transparent);border-radius:50%;width:92px;height:92px;position:absolute;bottom:-36px;right:-18px}.dashboard-kpis span{color:var(--muted);font-size:12px;font-weight:700;display:block}.dashboard-kpis strong{color:var(--brand);margin:9px 0 4px;font-size:32px;line-height:1;display:block}.dashboard-kpis small{color:var(--muted)}.dashboard-grid{grid-template-columns:.85fr 1.35fr 1fr;gap:14px;display:grid}.analytics-card,.master-schedule{border:1px solid var(--line);background:var(--surface-raised);box-shadow:0 10px 30px color-mix(in srgb,var(--brand) 5%,transparent);border-radius:18px;padding:22px}.section-heading.compact{margin-bottom:15px}.section-heading.compact h2{font-size:18px}.section-heading.compact>a{color:var(--accent);font-size:12px}.donut-wrap{justify-content:center;align-items:center;gap:28px;min-height:180px;display:flex}.status-donut{--progress:0%;background:radial-gradient(circle,var(--surface-raised) 0 53%,transparent 54%),conic-gradient(var(--accent) var(--progress),color-mix(in srgb,var(--line) 72%,transparent) 0);border-radius:50%;align-content:center;place-items:center;width:132px;height:132px;display:grid}.status-donut strong{font-size:25px}.status-donut span{color:var(--muted);font-size:11px}.legend-list{gap:12px;display:grid}.legend-list span{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.dot.review{background:#a978ff}.dot.done{background:#31c49b}.todo-list{gap:8px;display:grid}.todo-list a{border:1px solid var(--line);background:var(--surface-subtle);border-radius:12px;grid-template-columns:34px 1fr auto;align-items:center;gap:11px;padding:11px;transition:all .18s;display:grid}.todo-list a:hover{border-color:var(--accent);transform:translateY(-1px)}.todo-list strong,.todo-list small{display:block}.todo-list small{color:var(--muted);margin-top:3px;font-size:10px}.todo-list b{color:var(--accent);font-size:11px}.todo-priority{background:color-mix(in srgb,var(--accent) 13%,transparent);width:32px;height:32px;color:var(--accent);border-radius:9px;place-items:center;font-weight:800;display:grid}.workload-row{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(80px,1fr) minmax(60px,1fr) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.small-avatar{width:30px;height:30px}.workload-row strong,.workload-row small{display:block}.workload-row small{color:var(--muted);font-size:9px}.workload-bar{background:var(--surface-subtle);border-radius:10px;height:5px;overflow:hidden}.workload-bar i{background:linear-gradient(90deg,var(--accent),#4ad9c0);border-radius:10px;height:100%;display:block}.workload-row>b{font-size:11px}.master-schedule{padding:0;overflow:hidden}.master-schedule>.section-heading{padding:23px 25px 15px}.table-scroll{overflow:auto}.master-schedule table{border-collapse:collapse;width:100%;min-width:1080px}.master-schedule th{background:var(--surface-subtle);color:var(--muted);text-align:left;letter-spacing:.4px;padding:11px 14px;font-size:10px}.master-schedule td{border-top:1px solid var(--line);vertical-align:middle;padding:13px 14px;font-size:12px}.master-schedule td strong,.master-schedule td small{display:block}.master-schedule td small{color:var(--muted);margin-top:3px;font-size:10px}.risk-chip,.ok-chip{border-radius:8px;padding:4px 8px;font-size:10px}.risk-chip{color:#d7792d;background:#ff9c451f}.ok-chip{color:#16936f;background:#29c49a1f}.personnel-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.personnel-grid article{border:1px solid var(--line);background:var(--surface-raised);box-shadow:0 8px 24px color-mix(in srgb,var(--brand) 4%,transparent);border-radius:16px;grid-template-columns:46px 1fr auto;align-items:start;gap:13px;padding:20px;display:grid}.personnel-avatar{width:46px;height:46px}.personnel-grid h3{margin:2px 0 3px}.personnel-grid p{color:var(--muted);font-size:11px}.personnel-grid dl{gap:12px;display:flex}.personnel-grid dl div{text-align:center}.personnel-grid dt{color:var(--muted);font-size:9px}.personnel-grid dd{margin:4px 0;font-size:20px;font-weight:800}.role-tags{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.role-tags span{background:var(--surface-subtle);color:var(--accent);border-radius:6px;padding:3px 6px;font-size:9px;font-weight:750}.resource-booking-form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:12px;display:grid}.resource-booking-form label{gap:6px;display:grid}.resource-booking-form label span{color:var(--muted);font-size:10px;font-weight:700}.booking-list{display:grid}.booking-list article{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(220px,1fr) auto auto;align-items:center;gap:14px;padding:14px 2px;display:grid}.booking-icon{background:color-mix(in srgb,var(--accent) 12%,transparent);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;font-weight:800;display:grid}.booking-list strong,.booking-list small{display:block}.booking-list small{color:var(--muted);margin-top:3px;font-size:10px}.booking-list time{color:var(--muted);gap:8px;font-size:11px;display:flex}.booking-list time b{color:var(--accent)}.success-banner{border:1px solid color-mix(in srgb,#24a77f 35%,var(--line));background:color-mix(in srgb,#24a77f 9%,var(--surface-raised));color:#16805f;border-radius:12px;margin:12px 0;padding:13px 16px}.wide-field{grid-column:span 2}.sample-management-panel .commission-sample-form{border:1px solid var(--line);background:var(--surface-subtle);border-radius:14px;gap:16px;padding:18px}@media (width>=1180px){.app-header-actions{padding-right:0}}@media (width<=1100px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.people-card{grid-column:1/-1}.personnel-grid,.resource-booking-form{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.dashboard-hero{flex-direction:column;align-items:flex-start}.dashboard-kpis,.dashboard-grid,.personnel-grid{grid-template-columns:1fr}.people-card{grid-column:auto}.resource-booking-form{grid-template-columns:1fr}.booking-list article{grid-template-columns:38px 1fr}.booking-list time,.booking-list .status-chip{grid-column:2}.wide-field{grid-column:auto}}:root{--app-sidebar-width:268px}.app-header-utility{z-index:80;position:fixed;top:18px;right:28px}.app-header-utility .theme-toggle{margin:0}.app-sidebar-account{align-items:center;gap:14px;display:flex}.app-nav a{white-space:nowrap;min-height:42px;transition:color .16s,border-color .16s,background-color .16s,box-shadow .16s}.app-nav a:hover,.app-nav a:focus-visible{border-color:color-mix(in srgb, var(--accent) 26%, var(--line));color:var(--brand);background:color-mix(in srgb, var(--blue-soft) 66%, var(--surface-raised));box-shadow:inset 3px 0 0 var(--brand)}.resource-booking-panel,.resource-schedule-panel{margin-bottom:20px;overflow:hidden}.resource-booking-form{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:18px 16px;padding:24px;display:grid}.resource-field{gap:8px;min-width:0;display:grid}.resource-field>span{color:var(--ink-soft);font-size:12px;font-weight:750}.resource-field-laboratory{grid-column:span 3}.resource-field-instrument{grid-column:span 5}.resource-field-project,.resource-field-time{grid-column:span 4}.resource-field select,.resource-field input{width:100%;min-width:0;height:44px}.resource-field-instrument select,.resource-field-project select{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resource-form-action{grid-column:span 4;align-items:end;min-width:0;display:flex}.resource-form-action .primary-button{white-space:nowrap;width:100%;min-height:44px}.resource-booking-panel>.form-error{margin:0 24px 24px}.booking-list{padding:8px 24px 24px;display:grid}.booking-list article{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) minmax(250px,auto) auto;align-items:center;gap:16px;min-width:0;padding:20px 0;display:grid}.booking-list article:last-child{border-bottom:0}.booking-icon,.booking-empty-icon{width:40px;height:40px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:10px;place-items:center;font-weight:800;display:grid}.booking-summary{min-width:0}.booking-summary strong,.booking-summary small{display:block}.booking-summary strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.booking-summary small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5}.booking-time{color:var(--ink-soft);font-variant-numeric:tabular-nums;grid-template-columns:minmax(108px,1fr) auto minmax(108px,1fr);align-items:center;gap:10px;font-size:11px;display:grid}.booking-time span{gap:3px;display:grid}.booking-time small{color:var(--muted);font-size:9px;font-weight:750}.booking-time b{color:var(--accent)}.booking-empty{text-align:center;align-content:center;place-items:center;gap:10px;min-height:220px;padding:32px 24px;display:grid}.booking-empty strong{font-family:var(--font-ui);font-size:18px}.booking-empty p{max-width:420px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.booking-empty-icon{border-radius:12px;width:48px;height:48px}@media (width>=1180px){.app-shell{padding-left:var(--app-sidebar-width)}.app-header{width:var(--app-sidebar-width);gap:24px;padding:26px 20px;overflow-y:auto}.app-brand{min-height:52px;padding:0 8px}.app-header-actions{gap:18px}.app-nav{gap:7px}.app-nav a{min-height:44px;padding:12px 16px 12px 40px;line-height:1.4}.app-nav a:before{left:16px}.app-sidebar-account{border-top:1px solid var(--line-soft);flex-direction:column;align-items:stretch;gap:12px;margin-top:auto;padding-top:18px}.tenant-pill{text-align:center;border-radius:9px;width:100%;padding:8px 12px}.account-chip{min-width:0;padding:8px 4px}.account-chip>span:last-child{min-width:0}.text-button{text-align:center;align-content:center;min-height:40px}.page-container{width:min(1400px,100% - 64px);margin-left:auto;margin-right:auto;padding-top:88px}.app-header-utility{top:20px;right:32px}}@media (width<=1179px){.app-header{padding-right:132px}.app-header-actions{flex:1;justify-content:flex-end;gap:10px;min-width:0}.app-nav{flex:1;min-width:0;max-width:none}.app-sidebar-account{flex:none;gap:9px}.app-sidebar-account .tenant-pill{display:none}.app-header-utility{top:17px;right:18px}}@media (width<=1100px){.resource-booking-form{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-field-laboratory,.resource-field-instrument,.resource-field-time{grid-column:span 1}.resource-field-project,.resource-form-action{grid-column:1/-1}}@media (width<=980px){.app-brand small,.app-sidebar-account .account-chip>span:last-child{display:none}.booking-list article{grid-template-columns:42px minmax(0,1fr) auto}.booking-time{grid-column:2/-1}}@media (width<=720px){.app-header{padding-right:112px}.app-header-utility{top:13px;right:14px}.resource-booking-form{grid-template-columns:1fr;gap:16px;padding:20px}.resource-field-laboratory,.resource-field-instrument,.resource-field-project,.resource-field-time,.resource-form-action{grid-column:auto}.resource-booking-panel>.form-error{margin:0 20px 20px}.booking-list{padding:6px 20px 20px}.booking-list article{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:18px 0}.booking-time,.booking-list .status-chip{grid-column:2}.booking-time{grid-template-columns:1fr;gap:7px}.booking-time b{display:none}.booking-list .status-chip{justify-self:start}.booking-empty{min-height:200px;padding:28px 16px}}.project-progress-panel{gap:14px;min-width:0;display:grid}.project-progress-card,.project-experiment-panel{border:1px solid var(--line);background:var(--surface-raised);min-width:0;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 5%, transparent);border-radius:8px}.project-progress-card{gap:14px;padding:17px 18px 16px;display:grid}.project-workflow-handoff{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));background:color-mix(in srgb, var(--blue-soft) 32%, var(--surface-raised));border-radius:8px;grid-template-columns:minmax(150px,.9fr) minmax(180px,1.25fr) minmax(130px,.9fr) auto minmax(130px,.9fr);align-items:stretch;gap:12px;padding:12px 14px;display:grid}.project-workflow-handoff>div{align-content:center;gap:3px;min-width:0;display:grid}.project-workflow-handoff span,.project-workflow-handoff small{color:var(--muted);font-size:10px;line-height:1.35}.project-workflow-handoff strong{overflow-wrap:anywhere;min-width:0;color:var(--ink);font-size:12px;line-height:1.4}.project-workflow-template strong{color:var(--accent)}.project-workflow-current,.project-workflow-owner,.project-workflow-next{border-left:1px solid var(--line);padding-left:12px}.project-workflow-owner strong,.project-workflow-next strong{font-size:13px}.project-workflow-arrow{color:var(--accent);align-self:center;font-size:20px;font-weight:800}.workflow-runtime-card{border:1px solid color-mix(in srgb, var(--green) 28%, var(--line));background:color-mix(in srgb, var(--green-soft) 34%, var(--surface-raised));border-radius:8px;gap:12px;padding:13px 14px;display:grid}.workflow-runtime-head,.workflow-runtime-task,.workflow-runtime-bootstrap{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.workflow-runtime-head>div,.workflow-runtime-bootstrap>div,.workflow-runtime-task-meta{gap:3px;min-width:0;display:grid}.workflow-runtime-head span,.workflow-runtime-bootstrap span,.workflow-runtime-task-meta span,.workflow-runtime-card small{color:var(--muted);font-size:10px;line-height:1.4}.workflow-runtime-head strong,.workflow-runtime-bootstrap strong,.workflow-runtime-task-meta strong{overflow-wrap:anywhere;color:var(--ink);font-size:13px}.workflow-runtime-task{border-top:1px solid var(--line-soft);align-items:stretch;padding-top:12px}.workflow-runtime-task-meta{flex:0 280px;align-content:center}.workflow-runtime-actions,.workflow-runtime-business-handoff{flex:430px;gap:9px;min-width:min(100%,430px);display:grid}.workflow-runtime-business-handoff{border-left:1px solid var(--line);align-content:center;padding-left:14px}.workflow-runtime-business-handoff strong{color:var(--accent);font-size:12px}.workflow-runtime-business-handoff span{color:var(--muted);font-size:10px;line-height:1.5}.workflow-runtime-action-fields{grid-template-columns:minmax(150px,.72fr) minmax(210px,1fr);gap:9px;display:grid}.workflow-runtime-action-fields label{gap:5px;min-width:0;display:grid}.workflow-runtime-action-fields label>span{color:var(--muted);font-size:9px;font-weight:750}.workflow-runtime-action-fields input,.workflow-runtime-action-fields textarea{width:100%;min-width:0;min-height:34px;padding:7px 9px;font-size:11px}.workflow-runtime-button-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workflow-runtime-admin-note{justify-self:end;color:var(--amber)!important}.workflow-runtime-empty{border-top:1px solid var(--line-soft);color:var(--muted);padding-top:11px;font-size:11px}.workflow-runtime-history{border-top:1px solid var(--line-soft);padding-top:9px}.workflow-runtime-history summary{color:var(--ink-soft);cursor:pointer;font-size:10px;font-weight:750}.workflow-runtime-history>div{flex-wrap:wrap;gap:6px;padding-top:8px;display:flex}.workflow-runtime-history span{border:1px solid var(--line-soft);color:var(--muted);background:var(--surface-raised);border-radius:6px;padding:5px 7px;font-size:9px}.workflow-configuration-page{gap:16px;display:grid}.workflow-page-hero{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.workflow-version-summary{border-left:1px solid var(--line);align-content:center;gap:4px;min-width:150px;padding-left:20px;display:grid}.workflow-version-actions{flex-wrap:wrap;gap:8px;display:flex}.workflow-version-summary span,.workflow-version-summary small{color:var(--muted);font-size:10px}.workflow-version-summary strong{color:var(--accent);font-size:30px;line-height:1}.workflow-version-summary .secondary-button{justify-self:start;margin-top:5px}.workflow-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:14px;display:grid}.workflow-template-list,.workflow-editor{border:1px solid var(--line);background:var(--surface-raised);min-width:0;box-shadow:0 8px 24px color-mix(in srgb, var(--ink) 5%, transparent);border-radius:8px}.workflow-template-list{gap:4px;padding:10px;display:grid}.workflow-template-list>header{color:var(--muted);justify-content:space-between;align-items:center;padding:4px 7px 10px;font-size:11px;font-weight:750;display:flex}.workflow-template-list>header strong{color:var(--accent)}.workflow-template-list>button{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;gap:3px;padding:11px 10px;display:grid}.workflow-template-list>button:hover,.workflow-template-list>button.active{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));background:color-mix(in srgb, var(--blue-soft) 45%, var(--surface-raised))}.workflow-template-list>button.active{box-shadow:inset 3px 0 0 var(--accent)}.workflow-template-list>button strong{overflow-wrap:anywhere;font-size:12px}.workflow-template-list>button span{color:var(--muted);font-size:10px}.workflow-binding-summary{border-top:1px solid var(--line-soft);gap:7px;margin-top:10px;padding:13px 7px 4px;display:grid}.workflow-binding-summary h2{margin:0 0 3px;font-size:11px}.workflow-binding-summary div{color:var(--muted);justify-content:space-between;gap:8px;font-size:10px;display:flex}.workflow-binding-summary b{color:var(--accent);font-size:10px}.workflow-editor{gap:14px;padding:16px;display:grid}.workflow-editor-settings{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(170px,.65fr) minmax(240px,1fr);align-items:start;gap:12px;padding-bottom:14px;display:grid}.workflow-editor-settings label,.workflow-editor-settings fieldset{border:0;gap:6px;min-width:0;padding:0;display:grid}.workflow-editor-settings label>span,.workflow-editor-settings legend{color:var(--muted);font-size:10px;font-weight:750}.workflow-editor-settings textarea{min-height:74px}.workflow-editor-settings fieldset{grid-column:1/-1}.workflow-trial-type-options{flex-wrap:wrap;gap:7px 12px;display:flex}.workflow-trial-type-options label,.workflow-node-controls label{min-height:32px;color:var(--ink-soft);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:inline-flex}.workflow-trial-type-options input,.workflow-node-controls input{accent-color:var(--accent)}.workflow-node-editor{gap:10px;display:grid}.workflow-node-editor>header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.workflow-node-editor h2,.workflow-node-editor p{margin:0}.workflow-node-editor h2{font-size:16px}.workflow-node-editor p{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.5}.workflow-node-editor>header>span{color:var(--accent);flex:none;font-size:11px;font-weight:750}.workflow-node-column-head{color:var(--muted);grid-template-columns:minmax(190px,1fr) minmax(130px,.65fr) minmax(150px,.75fr) 150px;gap:12px;padding:0 12px 0 48px;font-size:9px;font-weight:750;display:grid}.workflow-node-column-head span:nth-child(3){grid-column:3}.workflow-node-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.workflow-node-row{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:7px;grid-template-columns:28px minmax(190px,1fr) minmax(130px,.65fr) 20px minmax(150px,.75fr) 150px;align-items:center;gap:9px;min-width:0;padding:9px 11px;display:grid}.workflow-node-sequence{width:26px;height:26px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.workflow-node-name,.workflow-node-owner,.workflow-node-handoff{gap:4px;min-width:0;display:grid}.workflow-node-name>span,.workflow-node-owner>span,.workflow-node-handoff>span{color:var(--muted);font-size:9px}.workflow-node-name input,.workflow-node-owner select,.workflow-node-handoff select{width:100%;min-width:0;min-height:36px;padding:7px 9px;font-size:11px}.workflow-node-name small{overflow-wrap:anywhere;color:var(--muted);font-size:9px}.workflow-handoff-arrow{color:var(--accent);text-align:center;font-size:17px;font-weight:800}.workflow-node-controls{gap:1px;display:grid}.workflow-node-controls label{min-height:28px;font-size:10px}.workflow-editor-footer{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding-top:13px;display:flex}.workflow-editor-footer p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.workflow-editor-footer p.error{color:var(--danger)}.workflow-copy-dialog{gap:14px;width:min(560px,100vw - 32px);display:grid}.workflow-copy-dialog>label,.workflow-copy-dialog>fieldset{border:0;gap:6px;padding:0;display:grid}.workflow-copy-dialog>label>span,.workflow-copy-dialog legend{color:var(--muted);font-size:10px;font-weight:750}@media (width<=980px){.workflow-layout{grid-template-columns:1fr}.workflow-template-list{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-template-list>header,.workflow-binding-summary{grid-column:1/-1}.workflow-node-column-head{display:none}.workflow-node-row{grid-template-columns:28px minmax(0,1fr) minmax(130px,.7fr)}.workflow-node-handoff,.workflow-node-controls{grid-column:2/-1}.workflow-handoff-arrow{display:none}}@media (width<=720px){.project-workflow-handoff,.workflow-runtime-head,.workflow-runtime-task,.workflow-runtime-bootstrap,.workflow-page-hero,.workflow-editor-footer{grid-template-columns:1fr;display:grid}.workflow-runtime-action-fields{grid-template-columns:1fr}.workflow-runtime-business-handoff{border-top:1px solid var(--line);border-left:0;padding-top:10px;padding-left:0}.workflow-runtime-button-row{justify-content:stretch}.workflow-runtime-button-row button{flex:140px}.workflow-runtime-admin-note{justify-self:start}.project-workflow-current,.project-workflow-owner,.project-workflow-next{border-top:1px solid var(--line);border-left:0;padding-top:10px;padding-left:0}.project-workflow-arrow{display:none}.workflow-version-summary{border-top:1px solid var(--line);border-left:0;padding-top:12px;padding-left:0}.workflow-editor-settings,.workflow-template-list{grid-template-columns:1fr}.workflow-node-row{grid-template-columns:28px minmax(0,1fr)}.workflow-node-owner,.workflow-node-handoff,.workflow-node-controls{grid-column:2}}.workflow-editor-mode{border:1px solid var(--line);background:var(--surface-subtle);border-radius:7px;align-items:center;gap:3px;padding:3px;display:inline-flex}.workflow-editor-mode button{min-height:30px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:750;display:inline-flex}.workflow-editor-mode button:hover,.workflow-editor-mode button.active{border-color:var(--line);color:var(--accent);background:var(--surface-raised);box-shadow:0 2px 8px color-mix(in srgb, var(--ink) 7%, transparent)}.workflow-editor-mode button:disabled{opacity:.46;cursor:not-allowed}.workflow-visual-designer{gap:10px;min-width:0;display:grid;position:relative}.workflow-canvas-toolbar{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.workflow-graph-status{min-width:0;color:var(--muted);align-items:center;gap:7px;font-size:10px;line-height:1.4;display:inline-flex}.workflow-graph-status.valid{color:var(--green)}.workflow-graph-status.invalid{color:var(--danger)}.workflow-canvas-actions,.workflow-order-buttons{align-items:center;gap:5px;display:inline-flex}.workflow-canvas-actions .icon-button,.workflow-order-buttons .icon-button{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:var(--surface-raised);place-items:center;display:grid}.workflow-canvas-actions .icon-button:hover:not(:disabled),.workflow-order-buttons .icon-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.workflow-node-library-popover{z-index:12;border:1px solid var(--line);background:var(--surface-raised);width:min(620px,100% - 12px);box-shadow:0 18px 48px color-mix(in srgb, var(--ink) 18%, transparent);border-radius:7px;gap:10px;padding:12px;display:grid;position:absolute;top:42px;right:0}.workflow-node-library-popover>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.workflow-node-library-popover>header strong{color:var(--ink);font-size:12px}.workflow-node-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:380px;display:grid;overflow:auto}.workflow-node-library-grid>button{border:1px solid var(--line);min-width:0;min-height:58px;color:var(--ink-soft);background:var(--surface-subtle);text-align:left;cursor:grab;border-radius:6px;align-content:center;gap:4px;padding:9px 10px;display:grid}.workflow-node-library-grid>button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 50%, var(--line));color:var(--ink);background:color-mix(in srgb, var(--blue-soft) 48%, var(--surface-raised))}.workflow-node-library-grid>button:active:not(:disabled){cursor:grabbing}.workflow-node-library-grid>button.dragging:not(:disabled){border-color:var(--accent);opacity:.72;cursor:grabbing;box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 18%, transparent)}.workflow-node-library-grid>button:disabled{opacity:.42;cursor:not-allowed}.workflow-node-library-grid strong,.workflow-node-library-grid small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workflow-node-library-grid strong{font-size:10px}.workflow-node-library-grid small{color:var(--muted);font-size:9px}.workflow-designer-grid{grid-template-columns:178px minmax(0,1fr) 232px;gap:10px;min-width:0;min-height:660px;display:grid}.workflow-node-palette,.workflow-node-inspector{border:1px solid var(--line);background:var(--surface-subtle);border-radius:7px;min-width:0}.workflow-node-palette{flex-direction:column;display:flex;overflow:hidden}.workflow-node-palette>header,.workflow-node-inspector>header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex}.workflow-node-palette>header span,.workflow-node-inspector>header span{color:var(--muted);font-size:10px;font-weight:750}.workflow-node-palette>header strong,.workflow-node-inspector>header strong{color:var(--accent);font-size:16px;line-height:1}.workflow-node-palette-list{gap:3px;max-height:390px;padding:7px;display:grid;overflow:auto}.workflow-node-palette button{min-width:0;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:23px minmax(0,1fr);align-items:center;gap:7px;padding:8px 7px;display:grid}.workflow-node-palette button:hover,.workflow-node-palette button.active{border-color:color-mix(in srgb, var(--accent) 28%, var(--line));color:var(--ink);background:var(--surface-raised)}.workflow-node-palette button>span:first-child{width:22px;height:22px;color:var(--accent);background:color-mix(in srgb, var(--accent) 11%, transparent);border-radius:50%;place-items:center;font-size:9px;font-weight:800;display:grid}.workflow-node-palette button>span:last-child{gap:2px;min-width:0;display:grid}.workflow-node-palette button strong,.workflow-node-palette button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workflow-node-palette button strong{font-size:10px}.workflow-node-palette button small{color:var(--muted);font-size:9px}.workflow-edge-list{border-top:1px solid var(--line);min-height:0;display:grid}.workflow-edge-list>header{justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 6px;display:flex}.workflow-edge-list>header span{color:var(--muted);font-size:10px;font-weight:750}.workflow-edge-list>header strong{color:var(--accent);font-size:13px}.workflow-edge-list>div{gap:3px;max-height:205px;padding:0 7px 7px;display:grid;overflow:auto}.workflow-edge-list button{color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:1fr;gap:3px;padding:7px;display:grid}.workflow-edge-list button:hover,.workflow-edge-list button.active{border-color:color-mix(in srgb, var(--accent) 28%, var(--line));color:var(--ink);background:var(--surface-raised)}.workflow-edge-list button span,.workflow-edge-list button small{color:var(--muted);font-size:8px}.workflow-edge-list button strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.workflow-canvas{border:1px solid var(--line);background:linear-gradient(color-mix(in srgb, var(--blue-soft) 42%, transparent), transparent 46%), var(--surface-raised);border-radius:7px;min-width:0;min-height:660px;overflow:hidden}.workflow-canvas .react-flow{background:0 0;min-height:660px}.workflow-canvas .react-flow__controls{border:1px solid var(--line);box-shadow:0 5px 16px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:6px;overflow:hidden}.workflow-canvas .react-flow__controls-button{border-bottom-color:var(--line);background:var(--surface-raised);width:28px;height:28px;fill:var(--ink-soft)}.workflow-canvas .react-flow__minimap{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-raised) 92%, transparent);box-shadow:0 5px 16px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:6px;bottom:10px;right:10px;overflow:hidden}.workflow-canvas .react-flow__edge-path{stroke:var(--accent);stroke-width:1.8px}.workflow-canvas .react-flow__edge.selected .react-flow__edge-path{stroke:var(--danger);stroke-width:2.5px}.workflow-canvas .react-flow__connection-path{stroke:var(--cyan);stroke-width:2px}.workflow-canvas-node{border:1px solid var(--line);border-left:3px solid var(--accent);width:188px;min-height:99px;color:var(--ink);background:var(--surface-raised);box-shadow:0 8px 22px color-mix(in srgb, var(--ink) 9%, transparent);border-radius:7px;gap:8px;padding:11px 12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.workflow-node-type-HUMAN_APPROVAL,.workflow-node-type-E_SIGNATURE{border-left-color:var(--amber)}.workflow-node-type-CODEX_RECOGNITION,.workflow-node-type-CODEX_PLAN_GENERATION,.workflow-node-type-CODEX_REPORT_GENERATION{border-left-color:var(--cyan)}.workflow-node-type-EXCLUSIVE_GATEWAY,.workflow-node-type-PARALLEL_SPLIT,.workflow-node-type-PARALLEL_JOIN{border-left-color:var(--green)}.workflow-node-type-DEVIATION_HANDLING,.workflow-node-type-END{border-left-color:var(--danger)}.workflow-canvas-node:hover,.workflow-canvas-node.selected{border-color:color-mix(in srgb, var(--accent) 58%, var(--line));box-shadow:0 11px 28px color-mix(in srgb, var(--accent) 18%, transparent);transform:translateY(-1px)}.workflow-canvas-node .react-flow__handle{border:2px solid var(--surface-raised);background:var(--accent);width:8px;height:8px}.workflow-canvas-node-head{color:var(--muted);align-items:center;gap:6px;font-size:9px;display:flex}.workflow-canvas-node-head span{color:var(--accent);font-weight:850}.workflow-canvas-node-head b{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:750;overflow:hidden}.workflow-canvas-node-head svg{color:var(--amber)}.workflow-canvas-node>strong{min-height:30px;font-size:11px;line-height:1.35}.workflow-canvas-node-owner{color:var(--ink-soft);align-items:center;gap:5px;font-size:10px;display:inline-flex}.workflow-canvas-node-owner svg{color:var(--accent)}.workflow-canvas-node-code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;overflow:hidden}.workflow-node-inspector{align-content:start;gap:13px;display:grid;overflow:hidden auto}.workflow-node-inspector>header>div:first-child{gap:3px;display:grid}.workflow-node-inspector>label{gap:6px;padding:0 12px;display:grid}.workflow-node-inspector>label>span{color:var(--muted);align-items:center;gap:5px;font-size:10px;font-weight:750;display:inline-flex}.workflow-node-inspector input,.workflow-node-inspector select{width:100%;min-width:0;min-height:36px;padding:7px 9px;font-size:11px}.workflow-node-inspector .icon-button.danger{color:var(--danger)}.workflow-node-config{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);gap:9px;padding:10px 12px;display:grid}.workflow-node-config>header{color:var(--ink-soft);font-size:10px;font-weight:800}.workflow-node-config>label{gap:5px;display:grid}.workflow-node-config>label>span{color:var(--muted);font-size:9px;font-weight:700}.workflow-node-config .workflow-node-config-check{grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;min-height:28px;display:grid}.workflow-node-config .workflow-node-config-check input{width:15px;min-height:15px;accent-color:var(--accent);padding:0}.workflow-node-config-lock{color:var(--ink-soft);align-items:flex-start;gap:7px;font-size:9px;line-height:1.45;display:flex}.workflow-node-config-lock svg{color:var(--accent);flex:none}.workflow-main-path-insertion{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);gap:8px;padding:10px 12px;display:grid}.workflow-main-path-insertion>label{gap:6px;display:grid}.workflow-main-path-insertion>label>span{color:var(--muted);font-size:10px;font-weight:750}.workflow-main-path-insertion .secondary-button{justify-content:center;width:100%;display:inline-flex}.workflow-edge-default{min-height:30px;color:var(--ink-soft);align-items:center;grid-template-columns:16px minmax(0,1fr)!important;gap:8px!important;display:flex!important}.workflow-edge-default input{width:15px;min-height:15px;accent-color:var(--accent)}.workflow-inspector-toggles{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);gap:2px;padding:9px 12px;display:grid}.workflow-inspector-toggles label{min-height:28px;color:var(--ink-soft);cursor:pointer;align-items:center;gap:7px;font-size:10px;display:inline-flex}.workflow-inspector-toggles input{width:15px;min-height:15px;accent-color:var(--accent)}.workflow-inspector-toggles svg{color:var(--accent)}.workflow-node-metadata{gap:8px;margin:0;padding:0 12px 13px;display:grid}.workflow-node-metadata div{gap:3px;display:grid}.workflow-node-metadata dt{color:var(--muted);font-size:9px}.workflow-node-metadata dd{overflow-wrap:anywhere;color:var(--ink-soft);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.workflow-inspector-empty{min-height:170px;color:var(--muted);align-content:center;place-items:center;gap:10px;font-size:11px;display:grid}@media (width<=1180px){.workflow-designer-grid{grid-template-columns:158px minmax(0,1fr) 210px}}@media (width<=920px){.workflow-designer-grid{grid-template-columns:1fr 220px;min-height:0}.workflow-node-palette{grid-column:1/-1}.workflow-node-palette-list{max-height:none;display:flex;overflow-x:auto}.workflow-node-palette button{flex:0 0 158px}.workflow-edge-list>div{max-height:none;display:flex;overflow-x:auto}.workflow-edge-list button{flex:0 0 190px}.workflow-canvas,.workflow-canvas .react-flow{min-height:590px}}@media (width<=680px){.workflow-node-editor>header{align-items:start;display:grid}.workflow-editor-mode{justify-self:start}.workflow-node-library-popover{width:auto;position:fixed;top:74px;left:10px;right:10px}.workflow-node-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-designer-grid{grid-template-columns:1fr}.workflow-node-inspector{grid-column:1}.workflow-canvas,.workflow-canvas .react-flow{min-height:540px}.workflow-canvas .react-flow__minimap{display:none}}.project-progress-heading,.project-experiment-heading{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.project-progress-heading h2,.project-progress-heading p,.project-experiment-heading h3,.project-experiment-heading p{margin:0}.project-progress-heading h2,.project-experiment-heading h3{font-size:14px;line-height:1.4}.project-progress-heading p,.project-experiment-heading p{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.55}.project-progress-track{grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;padding:5px 2px 0;display:grid}.project-progress-track-item{min-width:0;position:relative}.project-progress-connector{z-index:0;width:100%;height:1px;position:absolute;top:23px;left:-50%}.project-progress-connector-line{border-top:2px dashed color-mix(in srgb, var(--muted) 58%, var(--line));color:color-mix(in srgb, var(--muted) 70%, var(--line));display:block;position:absolute;inset:0}.project-progress-connector-line:after{content:"";border-top:2px solid;border-right:2px solid;width:7px;height:7px;position:absolute;top:-5px;right:2px;transform:rotate(45deg)}.connector-done .project-progress-connector-line{border-top-style:solid;border-top-color:var(--green);color:var(--green)}.project-progress-stage{z-index:1;width:100%;min-width:0;min-height:116px;color:var(--ink);text-align:center;cursor:pointer;touch-action:manipulation;background:0 0;border:0;align-content:start;justify-items:center;gap:5px;padding:0 5px;display:grid;position:relative}.project-stage-marker{border:2px solid color-mix(in srgb, var(--muted) 30%, var(--line));width:46px;height:46px;color:var(--muted);background:var(--surface-raised);box-shadow:0 0 0 4px var(--surface-raised);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:13px;font-weight:800;transition:box-shadow .16s,transform .16s,border-color .16s;display:grid}.project-progress-stage:hover .project-stage-marker{transform:translateY(-1px)}.project-progress-stage.done .project-stage-marker{border-color:var(--green);color:#fff;background:var(--green)}.project-progress-stage.current .project-stage-marker{border-color:var(--accent);color:#fff;background:var(--accent)}.project-progress-stage.blocked .project-stage-marker{border-color:var(--red);color:#fff;background:var(--red)}.project-progress-stage strong,.project-stage-business,.project-stage-qa{overflow-wrap:anywhere;max-width:100%;display:block}.project-progress-stage strong{margin-top:3px;font-size:12px;line-height:1.35}.project-stage-business{color:var(--muted);font-size:10px;line-height:1.35}.project-progress-stage.current .project-stage-business,.project-progress-stage.is-active .project-stage-business{color:var(--accent);font-weight:700}.project-stage-qa{color:var(--green);font-size:9px;line-height:1.35}.project-progress-stage.future .project-stage-qa{color:var(--muted)}.project-stage-qa.has-issue{color:var(--danger);font-weight:700}.experiment-gate{z-index:3;text-align:center;pointer-events:none;justify-items:center;gap:3px;width:112px;display:grid;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.experiment-gate b{border:1px solid color-mix(in srgb, var(--muted) 30%, var(--line));color:var(--ink-soft);background:var(--surface-raised);box-shadow:0 0 0 4px var(--surface-raised);white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:9px;line-height:1;display:block}.experiment-gate small{max-width:118px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.3;display:block;overflow:hidden}.experiment-gate.gate-state-ready b{border-color:color-mix(in srgb, var(--amber) 48%, var(--line));color:color-mix(in srgb, var(--amber) 84%, var(--ink));background:color-mix(in srgb, var(--amber-soft) 72%, var(--surface-raised))}.experiment-gate.gate-state-started b{border-color:color-mix(in srgb, var(--green) 45%, var(--line));color:var(--green);background:color-mix(in srgb, var(--green-soft) 74%, var(--surface-raised))}.project-progress-summary{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--blue-soft) 48%, var(--surface-subtle));border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;min-width:0;min-height:50px;padding:11px 13px;display:grid}.project-progress-summary>div{align-items:baseline;gap:10px;min-width:0;display:flex}.project-progress-summary strong,.project-progress-summary p,.project-progress-summary>span{margin:0}.project-progress-summary strong{flex:none;font-size:11px}.project-progress-summary p,.project-progress-summary>span{color:var(--ink-soft);font-size:10px;line-height:1.45}.project-progress-summary>span{color:var(--muted);white-space:nowrap;justify-self:end}.project-progress-summary.summary-blocked{border-left-color:var(--red);background:color-mix(in srgb, var(--red-soft) 72%, var(--surface-raised))}.project-progress-summary .primary-button{white-space:nowrap;grid-area:1/2/span 2;min-height:36px;padding:0 13px}.project-experiment-panel{display:grid;overflow:hidden}.project-experiment-heading{border-bottom:1px solid var(--line);padding:15px 17px 13px}.project-experiment-summary{color:var(--muted);white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;gap:5px 12px;font-size:10px;display:flex}.project-experiment-summary span{align-items:baseline;gap:3px;display:inline-flex}.project-experiment-summary b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px}.project-experiment-summary .has-issue,.project-experiment-summary .has-issue b{color:var(--danger)}.project-experiment-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.project-experiment-metrics span{border:1px solid var(--line-soft);min-width:0;color:var(--muted);background:var(--surface-subtle);text-align:center;border-radius:7px;gap:2px;padding:8px 10px;font-size:9px;display:grid}.project-experiment-metrics strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px}.experiment-list{min-width:0;display:grid}.experiment-bulk-upload{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--accent) 3%, var(--surface-raised));gap:10px;padding:13px 16px 14px;display:grid}.experiment-bulk-upload-heading,.experiment-bulk-results>header,.experiment-bulk-results>footer{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.experiment-bulk-upload-heading h4,.experiment-bulk-upload-heading p,.experiment-bulk-results h5{margin:0}.experiment-bulk-upload-heading h4{color:var(--ink);font-size:12px}.experiment-bulk-upload-heading p{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.5}.experiment-bulk-upload-heading>span,.experiment-bulk-results>header>span,.experiment-bulk-results>footer>span{color:var(--muted);flex:none;font-size:10px}.experiment-bulk-dropzone{border:1px dashed color-mix(in srgb, var(--accent) 46%, var(--line));min-height:58px;color:var(--ink);background:var(--surface-raised);cursor:pointer;border-radius:6px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;transition:border-color .16s,background-color .16s;display:grid}.experiment-bulk-dropzone:hover,.experiment-bulk-dropzone:focus-within,.experiment-bulk-dropzone.is-dragging{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface-raised))}.experiment-bulk-dropzone.is-uploading{cursor:wait;opacity:.72}.experiment-bulk-dropzone>span{width:28px;height:28px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:50%;place-items:center;font-size:17px;font-weight:700;display:grid}.experiment-bulk-dropzone strong{overflow-wrap:anywhere;min-width:0;font-size:11px}.experiment-bulk-dropzone small{color:var(--muted);font-size:9px}.experiment-bulk-results{gap:8px;padding-top:2px;display:grid}.experiment-bulk-results h5{color:var(--ink);font-size:11px}.experiment-bulk-results>header>div{min-width:0}.bulk-ai-meta{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.45;display:block}.experiment-bulk-result-list{border-top:1px solid var(--line);display:grid}.experiment-bulk-result-row{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.25fr) 112px;align-items:center;gap:10px;min-width:0;padding:8px 0;display:grid}.bulk-file-copy{gap:3px;min-width:0;display:grid}.bulk-file-copy>strong,.bulk-file-copy>small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bulk-file-copy>strong{color:var(--ink);font-size:10px}.bulk-file-copy>small{color:var(--muted);font-size:9px}.experiment-bulk-result-row select{width:100%;min-width:0;min-height:38px;padding-block:7px;font-size:10px}.bulk-match-state{color:var(--muted);white-space:nowrap;justify-self:end;font-size:9px;font-weight:700}.bulk-match-state.match-auto,.bulk-match-state.match-codex{color:var(--green)}.bulk-match-state.match-manual{color:var(--accent)}.bulk-match-state.match-unmatched{color:var(--amber)}.experiment-bulk-results>footer{align-items:center}.experiment-bulk-results .primary-button{min-height:38px;padding-inline:14px;font-size:10px}.experiment-table-head,.experiment-unit-row-trigger{grid-template-columns:minmax(150px,1.35fr) minmax(82px,.62fr) minmax(180px,1.2fr) minmax(92px,.68fr) minmax(82px,.58fr) 24px;align-items:center;gap:10px;min-width:0;display:grid}.experiment-table-head{border-bottom:1px solid var(--line);min-height:38px;color:var(--muted);background:var(--surface-subtle);padding:0 16px;font-size:10px}.experiment-unit-row{border-bottom:1px solid var(--line-soft);background:var(--surface-raised);min-width:0}.experiment-unit-row:last-child{border-bottom:0}.experiment-unit-row-trigger{width:100%;min-height:62px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:10px 16px}.experiment-unit-row-trigger:hover{background:color-mix(in srgb, var(--blue-soft) 38%, transparent)}.experiment-main,.experiment-unit-row-trigger>span,.experiment-progress-cell{min-width:0}.experiment-main strong,.experiment-main small{display:block}.experiment-main strong{overflow-wrap:anywhere;font-size:11px;line-height:1.4}.experiment-main small{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:9px}.experiment-operator{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.experiment-progress-cell{align-items:center;gap:9px;display:flex}.experiment-progress-bars{flex:auto;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;min-width:0;display:grid}.experiment-progress-bar{background:color-mix(in srgb, var(--muted) 24%, var(--line-soft));border-radius:2px;height:7px;display:block}.experiment-progress-bar.bar-done{background:var(--green)}.experiment-progress-bar.bar-current{background:var(--accent)}.experiment-progress-bar.bar-blocked{background:var(--amber)}.experiment-progress-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:9px}.experiment-qa-state,.experiment-business-state{font-size:10px;line-height:1.35}.experiment-qa-state{color:var(--muted)}.experiment-qa-state.qa-passed{color:var(--green)}.experiment-qa-state.qa-pending{color:var(--accent)}.experiment-qa-state.qa-issue{color:var(--danger);font-weight:700}.experiment-business-state{color:var(--ink);font-weight:700}.experiment-business-state.business-completed{color:var(--green)}.experiment-business-state.business-in_progress,.experiment-business-state.business-qa_review{color:var(--accent)}.experiment-business-state.business-rectification{color:var(--danger)}.experiment-row-chevron{border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);justify-self:center;width:8px;height:8px;transition:transform .16s;transform:rotate(45deg)translate(-1px,-1px)}.experiment-unit-row.is-open .experiment-row-chevron{transform:rotate(225deg)translate(-1px,-1px)}.experiment-unit-detail{border-top:1px solid var(--line);background:var(--surface-subtle);gap:13px;padding:14px 16px 16px;display:grid}.experiment-basic-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.experiment-basic-grid>div{border-bottom:1px solid var(--line);min-width:0;padding:0 14px 9px 0}.experiment-basic-grid span,.experiment-basic-grid strong{display:block}.experiment-basic-grid span{color:var(--muted);font-size:9px}.experiment-basic-grid strong{overflow-wrap:anywhere;margin-top:4px;font-size:11px;line-height:1.45}.experiment-detail-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.experiment-detail-step{border-top:3px solid color-mix(in srgb, var(--muted) 22%, var(--line));text-align:center;gap:3px;min-width:0;padding:8px 5px 0;display:grid}.experiment-detail-step span{color:var(--ink-soft);font-size:9px;line-height:1.35}.experiment-detail-step strong{color:var(--muted);font-size:8px;line-height:1.35}.experiment-detail-step.step-done{border-top-color:var(--green)}.experiment-detail-step.step-done strong{color:var(--green)}.experiment-detail-step.step-current{border-top-color:var(--accent)}.experiment-detail-step.step-current strong{color:var(--accent)}.experiment-detail-step.step-blocked{border-top-color:var(--amber)}.experiment-detail-step.step-blocked strong{color:color-mix(in srgb, var(--amber) 84%, var(--ink))}.experiment-unit-data{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:10px;padding:13px 0;display:grid}.experiment-unit-data-dropzone{border:1px dashed color-mix(in srgb, var(--accent) 48%, var(--line));min-height:116px;color:var(--ink);background:color-mix(in srgb, var(--accent) 4%, var(--surface-raised));cursor:pointer;text-align:center;border-radius:6px;align-content:center;place-items:center;gap:5px;padding:18px;transition:border-color .16s,background-color .16s;display:grid}.experiment-unit-data-dropzone:hover,.experiment-unit-data-dropzone:focus-within,.experiment-unit-data-dropzone.is-dragging{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--surface-raised))}.experiment-unit-data-dropzone.is-uploading{cursor:wait;opacity:.72}.experiment-unit-data-dropzone-icon{width:30px;height:30px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:50%;place-items:center;font-size:18px;font-weight:700;display:grid}.experiment-unit-data-dropzone strong{font-size:12px}.experiment-unit-data-dropzone small{color:var(--muted);font-size:10px;line-height:1.5}.unit-data-file-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.unit-data-file-list a{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--surface-raised);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:flex}.unit-data-file-list a:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--line))}.unit-data-file-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.unit-data-file-list span{color:var(--muted);flex:none;font-size:9px}.experiment-unit-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.experiment-unit-form label{gap:6px;display:grid}.experiment-unit-form label>span{color:var(--ink-soft);font-size:10px;font-weight:700}.experiment-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.experiment-issues{gap:8px;display:grid}.experiment-issues h4{margin:0;font-size:12px}.experiment-issues>p{color:var(--muted);margin:0;font-size:11px}.experiment-issues ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.experiment-issues li{border:1px solid color-mix(in srgb, var(--red) 32%, var(--line));background:color-mix(in srgb, var(--red-soft) 48%, var(--surface-raised));border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 12px;display:grid}.experiment-issues li strong,.experiment-issues li small{overflow-wrap:anywhere;min-width:0}.experiment-issues li small{color:var(--muted);grid-column:1;font-size:9px}.experiment-list-legend{min-height:37px;color:var(--muted);background:var(--surface-subtle);flex-wrap:wrap;align-items:center;gap:7px 16px;padding:7px 16px;font-size:9px;display:flex}.experiment-list-legend span{align-items:center;gap:6px;display:inline-flex}.experiment-list-legend i{background:var(--line);border-radius:2px;width:16px;height:4px;display:block}.experiment-list-legend .legend-done{background:var(--green)}.experiment-list-legend .legend-current{background:var(--accent)}.experiment-list-legend .legend-issue{background:var(--red)}.experiment-list-legend .legend-blocked{background:var(--amber)}.project-progress-stage:focus-visible,.experiment-unit-row-trigger:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 38%, transparent);outline-offset:2px}@media (width<=1100px){.project-progress-card{padding-inline:14px}.experiment-table-head,.experiment-unit-row-trigger{grid-template-columns:minmax(132px,1.2fr) minmax(72px,.55fr) minmax(145px,1.05fr) minmax(82px,.62fr) minmax(74px,.55fr) 20px;gap:8px}}@media (width<=760px){.project-progress-card{padding:15px 13px}.project-progress-track{grid-template-columns:1fr;gap:0;padding:2px 0 0}.project-progress-track-item{grid-template-columns:42px minmax(0,1fr);align-items:start;min-height:72px;display:grid}.project-progress-connector{width:2px;height:48px;top:-24px;left:20px}.project-progress-connector-line{border-top:0;border-left:2px dashed color-mix(in srgb, var(--muted) 58%, var(--line))}.connector-done .project-progress-connector-line{border-left-style:solid;border-left-color:var(--green)}.project-progress-connector-line:after{inset:auto auto 1px -5px;transform:rotate(135deg)}.project-progress-stage{text-align:left;grid-column:1/-1;grid-template-columns:42px minmax(0,1fr) auto;place-items:center start;gap:3px 10px;min-height:72px;padding:5px 2px}.project-stage-marker{grid-row:1/span 3;width:40px;height:40px}.project-progress-stage strong,.project-stage-business,.project-stage-qa{grid-column:2}.project-progress-stage strong{margin-top:0}.experiment-gate{justify-items:start;width:122px;top:12px;left:15px;transform:translate(0)}.experiment-gate small{display:none}.project-progress-summary{grid-template-columns:1fr;gap:7px}.project-progress-summary>div{gap:3px;display:grid}.project-progress-summary>span{white-space:normal;justify-self:start}.project-progress-summary .primary-button{grid-area:auto/1;width:100%}.project-experiment-heading{display:grid}.project-experiment-summary{white-space:normal;justify-content:flex-start}.experiment-bulk-upload{padding-inline:13px}.experiment-bulk-upload-heading,.experiment-bulk-results>footer{flex-direction:column;align-items:stretch}.experiment-bulk-upload-heading>span{align-self:flex-start}.experiment-bulk-dropzone{grid-template-columns:28px minmax(0,1fr)}.experiment-bulk-dropzone small{grid-column:2}.experiment-bulk-result-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.bulk-file-copy{grid-column:1}.experiment-bulk-result-row select{grid-area:2/1/auto/-1;font-size:16px}.bulk-match-state{grid-area:1/2}.experiment-bulk-results .primary-button{width:100%;min-height:44px}.experiment-table-head{display:none}.experiment-unit-row-trigger{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 34px 12px 13px;position:relative}.experiment-main{grid-column:1}.experiment-operator{grid-column:2;justify-self:end}.experiment-progress-cell{grid-column:1/-1}.experiment-qa-state{grid-column:1}.experiment-business-state{grid-column:2;justify-self:end}.experiment-row-chevron{position:absolute;top:26px;right:14px}.experiment-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0}.experiment-basic-grid>div:nth-child(odd){padding-left:0}.experiment-detail-steps{grid-template-columns:1fr;gap:7px}.experiment-detail-step{border-top:0;border-left:3px solid color-mix(in srgb, var(--muted) 22%, var(--line));text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:7px 0 0 9px}.experiment-detail-step.step-done{border-left-color:var(--green)}.experiment-detail-step.step-current{border-left-color:var(--accent)}.experiment-detail-step.step-blocked{border-left-color:var(--amber)}.unit-data-file-list{grid-template-columns:1fr}.experiment-unit-data-dropzone{min-height:104px;padding:16px 12px}.experiment-unit-form{grid-template-columns:1fr}.experiment-actions{grid-column:1}.experiment-actions .secondary-button{flex:140px}.experiment-issues li{grid-template-columns:1fr}.experiment-issues li small,.experiment-issues li .text-button{grid-column:1}}@media (prefers-reduced-motion:reduce){.project-stage-marker,.experiment-unit-row-trigger,.experiment-row-chevron{transition:none}}.project-overview-window{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;overflow:hidden}.project-overview-topbar,.project-overview-summary{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.project-overview-topbar{border-bottom:1px solid var(--line);min-height:46px;padding:9px 18px}.project-overview-path{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.project-overview-path a{color:inherit}.project-overview-path a:hover{color:var(--green)}.project-overview-path span+span,.project-overview-path a+span{margin-left:7px}.project-overview-path span:nth-child(2),.project-overview-path span:nth-child(4){color:var(--line)}.project-overview-badges{flex:none;align-items:center;gap:7px;display:flex}.project-overview-badge{min-height:28px;color:var(--accent);background:color-mix(in srgb, var(--blue-soft) 78%, var(--surface-raised));white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.project-overview-badge.has-issue{color:var(--danger);background:color-mix(in srgb, var(--red-soft) 82%, var(--surface-raised))}.project-overview-badge.is-clear{color:var(--green);background:color-mix(in srgb, var(--green-soft) 78%, var(--surface-raised))}.project-overview-summary{align-items:flex-start;padding:17px 20px 18px}.project-overview-copy{min-width:0}.project-overview-code{color:var(--green);font-size:11px;font-weight:700}.project-overview-copy h1{letter-spacing:0;margin:5px 0 0;font-family:inherit;font-size:16px;font-weight:700;line-height:1.45}.project-overview-copy p{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.5}.project-overview-metrics{flex:none;align-items:center;gap:22px;display:flex}.project-overview-metrics span{color:var(--muted);text-align:right;white-space:nowrap;gap:2px;font-size:10px;display:grid}.project-overview-metrics strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.project-overview-window+.workspace-tabs{margin-top:12px}.project-progress-panel{gap:14px}.project-progress-card,.project-experiment-panel{box-shadow:none}.project-progress-card{gap:0;padding:0;overflow:hidden}.project-progress-heading{padding:14px 17px 12px}.project-progress-content{padding:10px 18px 16px}.project-progress-flow-grid{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 104px minmax(0,1.08fr) 28px minmax(0,1fr) 28px minmax(0,1fr);align-items:start;min-width:0;display:grid}.project-progress-stage{gap:7px;min-height:116px;padding:0}.project-stage-marker{width:38px;height:38px;box-shadow:none;border-width:2px;font-size:12px}.project-progress-stage.is-active .project-stage-marker{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.project-progress-stage strong{margin-top:0;font-size:12px;font-weight:700}.project-stage-business,.project-stage-qa{font-size:10px}.project-progress-link{height:38px;display:block;position:relative}.project-progress-link:before{border-top:2px solid var(--line);content:"";position:absolute;top:18px;left:0;right:0}.project-progress-link:after{border-top:2px solid var(--line);border-right:2px solid var(--line);content:"";width:7px;height:7px;position:absolute;top:14px;right:1px;transform:rotate(45deg)}.project-progress-link[data-state=done]:before{border-top-color:var(--green)}.project-progress-link[data-state=done]:after{border-color:var(--green)}.project-progress-link[data-state=future]:before{border-top-style:dashed;border-top-color:var(--muted)}.project-progress-link[data-state=future]:after{border-color:var(--muted)}.experiment-gate.project-progress-gate{cursor:pointer;width:auto;min-width:0;color:var(--ink);font:inherit;text-align:center;pointer-events:auto;background:0 0;border:0;justify-items:center;gap:5px;padding:0;display:grid;position:static;transform:none}.experiment-gate-line{grid-template-columns:minmax(8px,1fr) auto minmax(8px,1fr);align-items:center;gap:5px;width:100%;height:38px;display:grid}.experiment-gate-line:before,.experiment-gate-line:after{border-top:2px solid var(--green);content:""}.experiment-gate.project-progress-gate b{border:1px solid var(--green);min-height:30px;color:var(--green);background:color-mix(in srgb, var(--green-soft) 76%, var(--surface-raised));box-shadow:none;white-space:nowrap;border-radius:999px;align-items:center;padding:0 9px;font-size:10px;display:inline-flex}.experiment-gate.project-progress-gate small{max-width:104px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.35;display:block;overflow:hidden}.experiment-gate.project-progress-gate.gate-state-blocked .experiment-gate-line:before,.experiment-gate.project-progress-gate.gate-state-blocked .experiment-gate-line:after{border-top-style:dashed;border-top-color:var(--muted)}.experiment-gate.project-progress-gate.gate-state-blocked b{border-color:var(--line);color:var(--muted);background:var(--surface-raised)}.experiment-gate.project-progress-gate[aria-pressed=true] b{box-shadow:0 0 0 4px color-mix(in srgb, var(--green) 18%, transparent)}.project-progress-summary{border-left-width:4px;border-radius:5px;grid-template-columns:minmax(0,1fr) auto auto;min-height:48px;margin-top:16px;padding:9px 11px}.project-progress-summary>div{gap:10px}.project-progress-summary strong{white-space:nowrap;font-size:10px}.project-progress-summary p,.project-progress-summary>span{font-size:10px}.project-progress-summary.summary-done{border-left-color:var(--green);background:color-mix(in srgb, var(--green-soft) 68%, var(--surface-raised))}.project-progress-summary .primary-button{grid-area:1/3;min-height:32px;padding:0 12px}.project-experiment-panel{border-color:color-mix(in srgb, var(--accent) 54%, var(--line));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 9%, transparent)}.project-experiment-heading{padding:14px 17px 12px}.project-experiment-summary{gap:6px 12px}.experiment-table-head,.experiment-unit-row-trigger{grid-template-columns:minmax(150px,1.2fr) 88px minmax(145px,1.15fr) minmax(88px,.72fr) 74px 18px;gap:12px}.experiment-table-head{min-height:36px}.experiment-unit-row-trigger{min-height:62px;padding:9px 16px}.experiment-unit-row.is-open{background:var(--surface-subtle)}.experiment-unit-row.status-rectification{background:color-mix(in srgb, var(--red-soft) 55%, var(--surface-raised))}.experiment-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.experiment-progress-bar.bar-issue{background:var(--red)}.experiment-detail-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.experiment-detail-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.experiment-basic-grid{gap:10px}.experiment-basic-grid>div{border-bottom:0;padding:0}.experiment-basic-grid>div+div{padding-left:0}.experiment-management-toggle{border:1px solid var(--line);cursor:pointer;min-height:30px;color:var(--ink-soft);background:var(--surface-raised);white-space:nowrap;border-radius:6px;padding:0 10px;font-size:10px;font-weight:700}.experiment-management-toggle:hover,.experiment-management-toggle[aria-expanded=true]{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--accent)}.experiment-confirm-action{border:1px solid var(--accent);cursor:pointer;color:#fff;background:var(--accent);white-space:nowrap;border-radius:6px;min-height:30px;padding:0 12px;font-size:10px;font-weight:700}.experiment-confirm-action:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 84%, #000);background:color-mix(in srgb, var(--accent) 88%, #000)}.experiment-confirm-action:disabled{cursor:not-allowed;opacity:.58}.experiment-detail-step{text-align:left}.experiment-detail-step.step-blocked{color:var(--amber)}.experiment-rectification-summary{border-left:3px solid var(--red);color:var(--ink);background:color-mix(in srgb, var(--red-soft) 72%, var(--surface-raised));border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;font-size:10px;display:grid}.experiment-rectification-summary>span{color:var(--danger);white-space:nowrap;font-weight:700}.experiment-rectification-summary strong{overflow-wrap:anywhere;min-width:0;font-size:10px}.experiment-management-panel{border-top:1px solid var(--line);gap:13px;padding-top:13px;display:grid}.project-progress-stage:focus-visible,.project-progress-link:focus-visible,.experiment-gate.project-progress-gate:focus-visible,.experiment-confirm-action:focus-visible,.experiment-management-toggle:focus-visible,.experiment-unit-row-trigger:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 38%, transparent);outline-offset:2px}@media (width<=900px){.project-overview-summary{gap:22px}.project-overview-metrics{gap:14px}.project-progress-flow-grid{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 92px minmax(0,1.08fr) 22px minmax(0,1fr) 22px minmax(0,1fr)}.experiment-table-head,.experiment-unit-row-trigger{grid-template-columns:minmax(132px,1.2fr) 76px minmax(128px,1fr) minmax(78px,.64fr) 68px 16px;gap:8px}}@media (width<=620px){.project-overview-topbar,.project-overview-summary,.project-progress-heading,.project-experiment-heading{flex-direction:column;align-items:flex-start}.project-overview-badges{flex-wrap:wrap}.project-overview-metrics{width:100%}.project-overview-metrics span{text-align:left;flex:1 1 0}.project-progress-content{padding-left:14px;padding-right:14px}.project-progress-flow-grid{grid-template-columns:1fr}.project-progress-stage{text-align:left;grid-template-columns:38px minmax(0,1fr);place-items:center start;gap:3px 12px;min-height:72px;display:grid}.project-stage-marker{grid-area:1/1/4}.project-progress-stage strong,.project-stage-business,.project-stage-qa{grid-column:2}.project-progress-link{width:38px;height:22px}.project-progress-link:before{border-top:0;border-left:2px solid var(--line);height:22px;inset:0 auto 0 18px}.project-progress-link:after{top:12px;left:15px;right:auto;transform:rotate(135deg)}.project-progress-link[data-state=done]:before{border-left-color:var(--green)}.project-progress-link[data-state=future]:before{border-top:0;border-left-style:dashed;border-left-color:var(--muted)}.experiment-gate.project-progress-gate{text-align:left;grid-template-columns:38px minmax(0,1fr);justify-items:start;gap:2px 12px;min-height:80px}.experiment-gate-line{grid-area:1/1/3;grid-template-rows:minmax(7px,1fr) auto minmax(7px,1fr);grid-template-columns:1fr;gap:4px;width:38px;height:80px}.experiment-gate-line:before,.experiment-gate-line:after{border-top:0;border-left:2px solid var(--green);justify-self:center;width:0;height:100%}.experiment-gate.project-progress-gate.gate-state-blocked .experiment-gate-line:before,.experiment-gate.project-progress-gate.gate-state-blocked .experiment-gate-line:after{border-top:0;border-left-style:dashed;border-left-color:var(--muted)}.experiment-gate.project-progress-gate small{grid-area:2/2;align-self:start;max-width:none}.project-progress-summary{grid-template-columns:1fr;gap:5px}.project-progress-summary>div{gap:4px;display:grid}.project-progress-summary>span{white-space:normal;justify-self:start}.project-progress-summary .primary-button{grid-area:auto/1;width:100%}.project-experiment-summary{white-space:normal;justify-content:flex-start}.experiment-table-head{display:none}.experiment-unit-row-trigger{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;min-height:92px;padding:11px 34px 11px 13px;position:relative}.experiment-main{grid-column:1}.experiment-operator{grid-column:2;justify-self:end}.experiment-progress-cell{grid-column:1/3}.experiment-qa-state{grid-column:1}.experiment-business-state{grid-column:2;justify-self:end}.experiment-row-chevron{position:absolute;top:26px;right:14px}.experiment-detail-head{grid-template-columns:1fr}.experiment-detail-actions{flex-wrap:wrap;justify-content:flex-start;justify-self:stretch}.experiment-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.experiment-detail-steps{grid-template-columns:1fr;gap:7px}.experiment-detail-step{border-top:0;border-left:3px solid color-mix(in srgb, var(--muted) 22%, var(--line));grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:7px 0 0 9px}.experiment-detail-step.step-done{border-left-color:var(--green)}.experiment-detail-step.step-current{border-left-color:var(--accent)}.experiment-detail-step.step-blocked{border-left-color:var(--amber)}.experiment-rectification-summary{grid-template-columns:auto minmax(0,1fr)}.experiment-rectification-summary .text-button{grid-column:2;justify-self:start}}@media (width<=420px){.project-overview-topbar,.project-overview-summary{padding-left:14px;padding-right:14px}.project-overview-copy h1{font-size:15px}.project-overview-metrics{gap:8px}.project-overview-metrics strong{font-size:12px}.experiment-basic-grid{grid-template-columns:1fr}}:root{--font-ui:"Microsoft YaHei", "微软雅黑", "PingFang SC", "Source Han Sans SC", "Noto Sans CJK SC", "Noto Sans SC", Arial, sans-serif}html,body,button,input,select,textarea,table,dialog{letter-spacing:0;font-family:Microsoft YaHei,微软雅黑,PingFang SC,Source Han Sans SC,Noto Sans CJK SC,Noto Sans SC,Arial,sans-serif}body{font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}input,select,textarea{min-height:44px}label>span{color:var(--ink-soft);margin-bottom:7px;font-size:12px;font-weight:700;line-height:1.45;display:block}.module-panel,.content-card{padding:24px}.commission-sample-form,.resource-booking-form,.master-data-form,.standard-upload-fields{gap:18px 16px}.commission-sample-form{padding:24px}.commission-sample-group{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;grid-column:1/-1;min-width:0;margin:0;padding:18px}.commission-sample-group legend{color:var(--ink-soft);padding:0 8px;font-size:13px;font-weight:700}.commission-sample-group-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px;display:grid}.commission-sample-group-grid>*{min-width:0}.personnel-page-hero{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.personnel-hero-actions{flex:none;align-items:center;display:flex}.personnel-create-button{min-height:42px}.personnel-role-stack{gap:28px;display:grid}.personnel-role-section{border-top:1px solid var(--line);min-width:0;padding-top:22px}.personnel-role-section:first-child{border-top:0;padding-top:0}.personnel-role-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px;display:flex}.personnel-role-heading{align-items:center;gap:14px;min-width:0;display:flex}.personnel-role-mark{color:#fff;background:var(--brand);border-radius:8px;flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:13px;font-weight:800;display:grid}.personnel-role-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.personnel-role-title h2{margin:0;font-size:20px;line-height:1.35}.personnel-role-title span,.personnel-role-chip{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));width:fit-content;color:var(--accent);background:color-mix(in srgb, var(--blue-soft) 52%, var(--surface-raised));border-radius:6px;font-size:10px;font-weight:750}.personnel-role-title span{padding:3px 7px}.personnel-role-heading p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.55}.personnel-role-kpis{flex:none;gap:24px;margin:0;display:flex}.personnel-role-kpis div{text-align:right;min-width:64px}.personnel-role-kpis dt,.personnel-person-workload dt{color:var(--muted);font-size:10px;font-weight:650}.personnel-role-kpis dd{color:var(--brand);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:22px;font-weight:800}.personnel-role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.personnel-person-card{border:1px solid var(--line);background:var(--surface-raised);min-width:0;box-shadow:0 6px 18px color-mix(in srgb, var(--brand) 4%, transparent);border-radius:8px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;display:grid}.personnel-person-main{min-width:0}.personnel-person-main h3{overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.45}.personnel-person-main p{overflow-wrap:anywhere;color:var(--muted);margin:3px 0 7px;font-size:10px;line-height:1.45}.personnel-role-chip{max-width:100%;padding:3px 6px;line-height:1.35;display:inline-flex}.personnel-card-actions{align-items:center;min-height:32px;margin-top:8px;display:flex}.personnel-card-action-wrap{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.personnel-state{border:1px solid var(--line);min-height:24px;color:var(--ink-soft);background:var(--surface-subtle);border-radius:6px;align-items:center;padding:3px 7px;font-size:10px;font-weight:750;display:inline-flex}.personnel-state-busy{border-color:color-mix(in srgb, var(--warning) 24%, var(--line));color:var(--warning-strong);background:color-mix(in srgb, var(--yellow-soft) 54%, var(--surface-raised))}.personnel-state-login{border-color:color-mix(in srgb, var(--accent) 18%, var(--line));color:var(--accent);background:color-mix(in srgb, var(--blue-soft) 52%, var(--surface-raised))}.personnel-deactivate-button{min-height:32px}.personnel-card-error{color:var(--danger);flex-basis:100%;font-size:10px;line-height:1.45}.personnel-create-form{gap:16px;width:min(460px,100vw - 32px);padding:24px;display:grid}.personnel-create-form>label{gap:7px;display:grid}.personnel-create-form>label>span{color:var(--ink-soft);font-size:12px;font-weight:700}.personnel-create-form input,.personnel-create-form select{min-height:44px}.personnel-person-workload{grid-template-columns:repeat(2,46px);gap:8px;margin:0;display:grid}.personnel-person-workload div{text-align:center}.personnel-person-workload dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:20px;font-weight:800}.personnel-empty{border:1px dashed var(--line);color:var(--muted);background:var(--surface-subtle);text-align:center;border-radius:8px;padding:28px}@media (width<=1100px){.personnel-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.personnel-page-hero{flex-direction:column;align-items:stretch}.personnel-hero-actions,.personnel-create-button{width:100%}.personnel-create-button,.personnel-deactivate-button{min-height:44px}.personnel-role-stack{gap:24px}.personnel-role-header{flex-direction:column;align-items:flex-start;gap:12px}.personnel-role-kpis{justify-content:flex-start;width:100%}.personnel-role-kpis div{text-align:left}.personnel-role-grid{grid-template-columns:1fr}.personnel-person-card{grid-template-columns:42px minmax(0,1fr) auto;padding:14px}.personnel-create-form{width:min(100%,100vw - 24px);padding:20px}.personnel-person-workload{grid-template-columns:repeat(2,40px)}}.laboratory-editor{width:min(1120px,100vw - 40px)}.laboratory-editor-body,.master-data-form,.standard-upload-fields{padding:24px}.personnel-grid article{padding:22px}.table-scroll,.sample-table-scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}table{line-height:1.5}table thead th{z-index:2;background:var(--surface-subtle);position:sticky;top:0}.sample-page,.sample-detail-page,.sample-tab-stack{gap:18px;display:grid}.sample-page-hero{background:var(--surface-raised);border-radius:8px;min-height:0;padding:24px 28px}.sample-page-hero h1{margin:4px 0 6px;font-size:26px;line-height:1.3}.sample-page-hero p{color:var(--muted);margin:0}.sample-stat-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.sample-stat-grid article{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;min-width:0;padding:16px}.sample-stat-grid span,.sample-stat-grid strong{display:block}.sample-stat-grid span{color:var(--muted);font-size:12px;font-weight:700}.sample-stat-grid strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:8px;font-size:25px;line-height:1}.sample-filter-panel,.sample-ledger-panel,.sample-mini-panel,.sample-tab-panel{border-radius:8px;overflow:hidden}.sample-filter-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:18px 16px;display:grid}.sample-filter-grid label,.sample-action-form label,.sample-attachment-form label{min-width:0}.sample-filter-grid input,.sample-filter-grid select,.sample-action-form input,.sample-action-form select,.sample-attachment-form input,.sample-attachment-form select{width:100%;min-width:0}.sample-filter-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.sample-entry-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.sample-entry-actions .primary-button,.sample-entry-actions .secondary-button{min-width:132px}.sample-records-panel{overflow:hidden}.sample-details-shell{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;max-width:100%;overflow:hidden}.sample-details-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%}.sample-details-table .sample-column-number{width:12%}.sample-details-table .sample-column-name{width:18%}.sample-details-table .sample-column-commission{width:17%}.sample-details-table .sample-column-protocol{width:16%}.sample-details-table .sample-column-status{width:10%}.sample-details-table .sample-column-count{width:8%}.sample-details-table .sample-column-project{width:10%}.sample-details-table .sample-column-actions{width:9%}.sample-details-table th,.sample-details-table td{overflow-wrap:anywhere;text-align:left;vertical-align:middle;min-width:0;padding:12px 10px}.sample-details-table th{border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:10px;font-weight:800}.sample-details-row{cursor:pointer}.sample-details-row td{border-bottom:1px solid var(--line);color:var(--ink-soft);background:var(--surface-raised);font-size:11px;transition:background-color .16s}.sample-details-row:last-child td{border-bottom:0}.sample-details-row:hover td{background:var(--surface-subtle)}.sample-record-number,.sample-record-assignments{font-variant-numeric:tabular-nums}.sample-record-number>span,.sample-record-name>span{color:var(--ink);font-weight:800}.sample-record-name>span,.sample-record-commission>span:last-child,.sample-record-protocol>span:last-child,.sample-record-projects>span:last-child{overflow-wrap:anywhere;min-width:0;display:block}.sample-record-status-pill{border:1px solid var(--line);max-width:100%;min-height:28px;color:var(--ink);text-align:center;border-radius:6px;align-items:center;padding:4px 8px;font-size:11px;font-weight:800;line-height:1.35;display:inline-flex}.sample-record-status-pending{border-color:color-mix(in srgb, var(--amber) 38%, var(--line));color:var(--ink);background:color-mix(in srgb, var(--amber) 8%, var(--surface-raised))}.sample-record-status-progress{border-color:color-mix(in srgb, var(--accent) 38%, var(--line));color:var(--ink);background:color-mix(in srgb, var(--accent) 8%, var(--surface-raised))}.sample-record-status-complete{border-color:color-mix(in srgb, var(--green) 38%, var(--line));color:var(--ink);background:color-mix(in srgb, var(--green) 8%, var(--surface-raised))}.sample-record-status-error{border-color:color-mix(in srgb, var(--danger) 38%, var(--line));color:var(--ink);background:color-mix(in srgb, var(--danger) 8%, var(--surface-raised))}.sample-record-actions{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.sample-record-link{border:1px solid var(--line);cursor:pointer;min-height:30px;color:var(--accent);background:var(--surface-raised);font:inherit;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:4px 8px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.sample-record-link:hover,.sample-record-link:focus-visible{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--surface-raised))}.sample-record-actions .danger-link{white-space:nowrap;min-height:30px;padding:4px 2px}.sample-record-mobile-label{display:none}.sample-details-empty{text-align:center;padding:28px 18px}.sample-details-empty strong,.sample-details-empty span{display:block}.sample-details-empty strong{color:var(--ink);font-size:14px}.sample-details-empty span{color:var(--muted);margin-top:5px;font-size:11px}.trial-assignment-queue{margin-bottom:20px}.trial-assignment-queue .project-table{min-width:980px}.trial-management-hero p{max-width:760px}.trial-task-panel{overflow:hidden}.trial-task-toolbar{gap:18px}.trial-task-toolbar>div:first-child{min-width:260px}.trial-task-toolbar .search-box{width:min(360px,100%)}.trial-task-filters{border:1px solid var(--line);background:var(--surface-subtle);border-radius:7px;align-items:center;gap:3px;min-height:38px;margin:0 24px 16px;padding:3px;display:inline-flex}.trial-task-action-error{margin:0 24px 16px}.trial-task-filters button{cursor:pointer;min-height:30px;color:var(--muted);font:inherit;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:5px 12px;font-size:11px;font-weight:800;display:inline-flex}.trial-task-filters button span{min-width:19px;color:var(--ink-soft);background:color-mix(in srgb, var(--line) 72%, transparent);border-radius:999px;padding:2px 5px;font-size:9px;line-height:1.2}.trial-task-filters button:hover,.trial-task-filters button:focus-visible{color:var(--accent)}.trial-task-filters button.active{color:var(--surface-raised);background:var(--accent);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 22%, transparent)}.trial-task-filters button.active span{color:var(--surface-raised);background:color-mix(in srgb, var(--surface-raised) 22%, transparent)}.trial-task-table-wrap{border-top:1px solid var(--line);width:100%;overflow-x:auto}.trial-task-table{border-collapse:collapse;table-layout:fixed;width:100%}.trial-task-table th{border-bottom:1px solid var(--line);color:var(--ink-soft);background:var(--surface-subtle);text-align:left;padding:11px 12px;font-size:10px;font-weight:800}.trial-task-table th:first-child{width:16%}.trial-task-table th:nth-child(2){width:10%}.trial-task-table th:nth-child(3){width:16%}.trial-task-table th:nth-child(4){width:25%}.trial-task-table th:nth-child(5),.trial-task-table th:nth-child(6),.trial-task-table th:nth-child(7){width:11%}.trial-task-table td{border-bottom:1px solid var(--line-soft);color:var(--ink);vertical-align:top;padding:14px 12px;font-size:11px;line-height:1.5}.trial-task-table tbody tr:hover td{background:color-mix(in srgb, var(--accent) 3%, var(--surface-raised))}.trial-task-sample,.trial-task-commission,.trial-task-laboratory{min-width:0}.trial-task-sample,.trial-task-commission{gap:4px;display:grid}.trial-task-sample{align-content:start}.trial-task-sample a,.trial-task-commission a{width:fit-content;color:var(--accent);font-weight:850}.trial-task-sample strong,.trial-task-commission span{overflow-wrap:anywhere}.trial-task-sample strong{color:var(--ink);font-size:12px}.trial-task-sample-status{width:fit-content;margin-top:2px}.trial-task-commission span,.trial-task-laboratory small{color:var(--muted);font-size:10px}.trial-type-label{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));min-height:28px;color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface-raised));border-radius:5px;align-items:center;padding:4px 8px;font-weight:800;display:inline-flex}.trial-task-personnel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;display:grid}.trial-task-personnel-grid>span{grid-template-columns:auto minmax(0,1fr);gap:5px;min-width:0;display:grid}.trial-task-personnel-grid b{color:var(--ink-soft);word-break:keep-all;font-size:9px}.trial-task-personnel-grid em{min-width:0;color:var(--ink);line-break:strict;word-break:keep-all;font-size:10px;font-style:normal}.assignment-decision{width:fit-content;color:var(--muted);grid-column:2;font-size:8px;font-weight:800}.decision-accepted{color:var(--green)}.decision-rejected{color:var(--danger)}.trial-task-laboratory{gap:3px;display:grid}.unassigned-value,.read-only-label{color:var(--muted)!important}.trial-task-project-code{overflow-wrap:anywhere;color:var(--muted);margin-top:5px;font-size:9px;display:block}.trial-task-actions{flex-wrap:wrap;align-items:flex-start;gap:6px;min-width:0;display:flex}.trial-task-actions .compact{white-space:nowrap;min-height:30px;padding:5px 8px;font-size:10px;line-height:1}.assignment-locked{border:1px solid var(--line);min-height:30px;color:var(--muted);background:var(--surface-subtle);border-radius:5px;align-items:center;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.trial-assignment-modal{width:min(760px,100vw - 28px)}.trial-acceptance-modal{width:min(520px,100vw - 28px)}.trial-acceptance-form{gap:16px;padding:22px 24px 24px;display:grid}.trial-acceptance-form>label{color:var(--ink-soft);gap:7px;font-size:11px;font-weight:800;display:grid}.trial-acceptance-form textarea{resize:vertical;min-height:104px}.trial-admin-override-notice{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--line));color:var(--ink-soft);background:color-mix(in srgb, var(--accent) 6%, var(--surface-raised));border-radius:6px;gap:5px;padding:12px 14px;display:grid}.trial-admin-override-notice strong{color:var(--ink);font-size:12px}.trial-admin-override-notice span{font-size:11px;line-height:1.6}.trial-acceptance-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.trial-acceptance-options button{border:1px solid var(--line);min-height:42px;color:var(--ink-soft);background:var(--surface-raised);border-radius:6px;font-weight:800}.trial-acceptance-options button.active{border-color:color-mix(in srgb, var(--accent) 54%, var(--line));color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface-raised))}.trial-assignment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px 24px 24px;display:grid}.trial-assignment-form>label{gap:6px;min-width:0;display:grid}.assignment-context-line{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;align-content:center;gap:4px;min-height:42px;padding:7px 11px;display:grid}.assignment-context-line span{color:var(--ink-soft);font-size:9px;font-weight:800}.assignment-context-line strong{color:var(--ink);font-size:11px}.trial-assignment-form>label>span,.experimenter-checklist legend{color:var(--ink-soft);font-size:11px;font-weight:800}.trial-assignment-form select{width:100%;min-height:42px}.experimenter-checklist{border:1px solid var(--line);border-radius:7px;grid-column:1/-1;min-width:0;margin:0;padding:12px}.experimenter-checklist legend{padding:0 5px}.experimenter-checklist>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.experimenter-checklist label{border:1px solid var(--line-soft);background:var(--surface-subtle);border-radius:6px;align-items:center;gap:8px;min-width:0;min-height:38px;padding:7px 9px;display:flex}.experimenter-checklist input{flex:0 0 16px;width:16px;height:16px}.experimenter-checklist label span{overflow-wrap:anywhere;min-width:0}.trial-assignment-form .form-error,.trial-assignment-form .modal-actions{grid-column:1/-1}.status-appointment_pending{border-color:color-mix(in srgb, var(--amber) 34%, var(--line));color:var(--amber);background:color-mix(in srgb, var(--amber) 8%, var(--surface-raised))}.compact-empty-state{min-height:150px}.sample-upload-progress,.sample-intake-queue{border-radius:8px}.sample-upload-status-list,.sample-intake-list{gap:8px;display:grid}.sample-upload-status-list>div{border:1px solid var(--line);background:var(--surface-subtle);border-radius:6px;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) 96px;align-items:center;gap:14px;min-height:52px;padding:10px 12px;display:grid}.sample-upload-status-list span{color:var(--muted);font-size:11px}.sample-upload-status-list b{color:var(--ink-soft);text-align:right;font-size:10px}.sample-upload-status-list [data-status=COMPLETED] b{color:var(--green)}.sample-upload-status-list [data-status=FAILED] b{color:var(--danger)}.sample-intake-list{grid-template-columns:repeat(3,minmax(0,1fr))}.sample-intake-list button,.sample-intake-list>a{border:1px solid var(--line);cursor:pointer;min-width:0;min-height:86px;color:var(--ink);background:var(--surface-subtle);text-align:left;border-radius:8px;gap:5px;padding:14px;display:grid}.sample-intake-list button:hover,.sample-intake-list button:focus-visible,.sample-intake-list>a:hover,.sample-intake-list>a:focus-visible{border-color:var(--accent)}.sample-intake-list span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.sample-intake-list strong,.sample-intake-list small{color:var(--muted);font-size:10px}.sample-workspace-backdrop{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040c1694;justify-content:flex-end;display:flex;position:fixed;inset:0}.sample-workspace-drawer{overscroll-behavior:contain;border-left:1px solid var(--line);width:min(980px,100vw - 72px);height:100dvh;color:var(--ink);background:var(--paper);padding:24px;overflow-y:auto;box-shadow:-18px 0 54px #020a1833}.sample-workspace-drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:0 44px 20px 0;display:flex;position:relative}.sample-workspace-drawer>header h2{margin:5px 0;font-size:24px}.sample-workspace-drawer>header p{color:var(--muted);margin:0}.sample-workspace-section-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px;display:flex}.sample-workspace-section-heading h3,.sample-workspace-section-heading p{margin:0}.sample-workspace-section-heading p{color:var(--muted);margin-top:5px;font-size:11px}.sample-intake-files,.sample-master-confirm-form{margin-top:20px}.sample-upload-zone{border:1px dashed color-mix(in srgb, var(--accent) 58%, var(--line));cursor:pointer;background:var(--surface-subtle);border-radius:7px;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:16px 18px;transition:border-color .15s,background .15s;display:flex}.sample-upload-zone:hover,.sample-upload-zone:focus-visible,.sample-upload-zone.is-dragging{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface-raised));outline:none}.sample-upload-zone.is-disabled{cursor:not-allowed;opacity:.62}.sample-upload-zone>div{gap:5px;min-width:0;display:grid}.sample-upload-zone strong{color:var(--ink);font-size:13px}.sample-upload-zone span{overflow-wrap:anywhere;color:var(--muted);font-size:10px}.sample-intake-files article{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:14px;padding:12px 0;display:grid}.sample-intake-files article>div:first-child{gap:4px;min-width:0;display:grid}.sample-intake-files article strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sample-intake-files article span{color:var(--muted);font-size:10px}.sample-intake-files article>b{color:var(--green);white-space:nowrap;font-size:10px}.sample-intake-files article>div:last-child{justify-content:flex-end;align-items:center;gap:8px;display:flex}.sample-confirmation-badge,.assignment-gate{border:1px solid color-mix(in srgb, var(--amber) 44%, var(--line));min-height:30px;color:var(--amber);background:color-mix(in srgb, var(--amber) 8%, var(--surface-raised));white-space:nowrap;border-radius:6px;align-items:center;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.assignment-gate-ready{border-color:color-mix(in srgb, var(--green) 42%, var(--line));color:var(--green);background:color-mix(in srgb, var(--green) 8%, var(--surface-raised))}.sample-recognition-errors{border:1px solid color-mix(in srgb, var(--danger) 34%, var(--line));border-left:4px solid var(--danger);color:var(--danger-strong);background:color-mix(in srgb, var(--danger) 7%, var(--surface-raised));border-radius:6px;gap:8px;margin:0 0 18px;padding:12px 14px;display:grid}.sample-recognition-errors>strong{font-size:12px}.sample-recognition-errors p{border-top:1px solid color-mix(in srgb, var(--danger) 18%, var(--line));grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr);gap:10px;margin:0;padding-top:8px;display:grid}.sample-recognition-errors b,.sample-recognition-errors span,.sample-recognition-errors small{overflow-wrap:anywhere;font-size:10px}.sample-recognition-errors span,.sample-recognition-errors small{color:var(--muted)}.sample-master-confirm-form{gap:18px;display:grid}.sample-fields-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:18px;padding-top:18px;display:flex}.sample-fields-heading>div{gap:5px;min-width:0;display:grid}.sample-fields-heading h3,.sample-fields-heading p{margin:0}.sample-fields-heading h3{font-size:15px}.sample-fields-heading p,.sample-fields-heading>span{color:var(--muted);font-size:10px}.sample-fields-heading>span{flex:none;font-weight:700}.sample-commission-link{gap:7px;width:min(520px,100%);display:grid}.sample-commission-link>span{color:var(--ink-soft);font-size:12px;font-weight:700}.sample-commission-link small{color:var(--muted);font-size:10px}.sample-commission-link select{width:100%}.sample-commission-refresh-error{border:1px solid color-mix(in srgb, var(--red) 34%, var(--line));width:min(520px,100%);color:var(--red);background:color-mix(in srgb, var(--red) 5%, var(--surface-raised));border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:11px;display:flex}.sample-commission-refresh-error span{overflow-wrap:anywhere;min-width:0}.sample-commission-refresh-error .secondary-button{flex:none}.sample-master-fieldsets{grid-column:1/-1;gap:16px;display:grid}.commission-sample-form>.sample-master-fieldsets{grid-column:1/-1}.sample-master-fieldsets-intake .commission-sample-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sample-master-fieldsets-intake .commission-sample-group-grid>label{min-width:0}.sample-master-fieldsets-intake .commission-sample-group-grid>label>input,.sample-master-fieldsets-intake .commission-sample-group-grid>label>select,.sample-master-fieldsets-intake .commission-sample-group-grid>label>textarea{width:100%;min-width:0}.sample-master-fieldsets .trial-checkboxes{flex-wrap:wrap;gap:8px;display:flex}.sample-master-fieldsets .trial-checkboxes label{border:1px solid var(--line);background:var(--surface-raised);border-radius:6px;align-items:center;gap:7px;min-height:42px;padding:0 10px;display:flex}.sample-master-fieldsets .trial-checkboxes input{min-height:0}.sample-master-fieldsets .trial-checkboxes span{margin:0;display:inline}.sample-option-choice{align-items:center;min-width:0;display:flex}.sample-option-other-choice{flex:360px;gap:8px}.sample-option-other-choice>label{flex:none}.sample-option-other-input{flex:220px;min-width:160px}.sample-option-choice label:has(input:disabled){color:var(--muted);background:var(--surface-subtle)}.sample-master-confirm-form footer,.sample-confirm-footer{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.sample-master-confirm-form footer span,.sample-confirm-footer span{color:var(--muted);font-size:11px}.legacy-filing-readonly{border-top:1px solid var(--line);grid-column:1/-1;gap:12px;padding-top:20px;display:grid}.legacy-filing-readonly h3,.legacy-filing-readonly p{margin:0}.legacy-filing-readonly p{color:var(--muted);margin-top:4px;font-size:11px}.commission-sample-summary{grid-column:1/-1;gap:8px;display:grid}.commission-sample-summary article{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.commission-sample-summary article>div{gap:4px;min-width:0;display:grid}.commission-sample-summary article span{overflow-wrap:anywhere;color:var(--muted);font-size:11px}.commission-sample-summary article b{color:var(--green);font-size:10px}.commission-sample-binding-panel{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;gap:14px;padding:22px;display:grid}.commission-sample-binding-groups,.commission-sample-binding-group,.commission-sample-binding-candidate{gap:12px;display:grid}.commission-sample-binding-group{border-top:1px solid var(--line);padding-top:14px}.commission-sample-binding-group>header{justify-content:space-between;gap:12px;display:flex}.commission-sample-binding-compare{grid-template-columns:1fr 1fr;gap:12px;display:grid}.commission-sample-binding-compare>section{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;padding:14px}.commission-sample-binding-compare header{justify-content:space-between;display:flex}.commission-sample-binding-compare dl{grid-template-columns:1fr 1fr;gap:8px;display:grid}.commission-sample-binding-compare dt{color:var(--muted);font-size:9px}.commission-sample-binding-compare dd{overflow-wrap:anywhere;margin:2px 0;font-size:11px}.binding-evidence-panel{grid-template-columns:120px 1fr 1fr;gap:8px;display:grid}.binding-evidence-panel span{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;padding:10px;font-size:10px}.binding-evidence-panel b{margin-top:4px;display:block}.binding-decision,.binding-withdraw-row{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.binding-decision textarea,.binding-withdraw-row textarea{min-height:64px}.binding-withdraw-row{border-top:1px solid var(--line);grid-template-columns:1fr 1fr auto;padding-top:12px}.binding-withdraw-row div{display:grid}.binding-blocker{border:1px solid color-mix(in srgb,var(--orange) 40%,var(--line));background:color-mix(in srgb,var(--orange) 8%,var(--surface-raised));border-radius:8px;padding:10px;font-size:11px}.binding-revision-chip{color:var(--accent);font-weight:700}.assignment-gate-blocked{border:1px dashed var(--line);min-height:112px;color:var(--ink-soft);background:var(--surface-subtle);text-align:center;border-radius:8px;place-content:center;gap:7px;display:grid}.assignment-gate-blocked span{color:var(--muted);font-size:11px}.agreement-confirmed-band{border:1px solid color-mix(in srgb, var(--green) 34%, var(--line));color:var(--green);background:color-mix(in srgb, var(--green) 7%, var(--surface-raised));border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:13px 15px;display:flex}.agreement-confirmed-band>div{gap:4px;min-width:0;display:grid}.agreement-confirmed-band span,.agreement-confirmed-band small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.agreement-confirm-form{border-top:1px solid var(--line);grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(160px,1fr)) auto;align-items:end;gap:12px;margin-top:14px;padding-top:14px;display:grid}.agreement-confirm-form label{min-width:0}.agreement-confirm-form input,.agreement-confirm-form select{width:100%}.agreement-confirm-form .primary-button{white-space:nowrap;min-height:44px}.agreement-structured-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.agreement-source-files,.agreement-sample-preview,.agreement-human-confirm,.agreement-structured-form>.primary-button{grid-column:1/-1}.agreement-source-files{border-left:3px solid var(--green);background:var(--surface-subtle);gap:4px;padding:10px 12px;display:grid}.agreement-source-files span{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.agreement-preview-summary{gap:12px;margin-top:14px;display:grid}.agreement-preview-overview,.agreement-preview-samples{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.agreement-preview-overview>div,.agreement-preview-samples>article{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;min-width:0;padding:14px}.agreement-preview-overview>div{align-content:start;gap:5px;display:grid}.agreement-preview-overview>div>span,.agreement-preview-samples header span{color:var(--muted);font-size:10px;font-weight:700}.agreement-preview-overview strong,.agreement-preview-samples header strong{overflow-wrap:anywhere;font-size:13px}.agreement-preview-overview>div>small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.agreement-preview-samples{grid-template-columns:repeat(2,minmax(0,1fr))}.agreement-preview-samples article{gap:12px;display:grid}.agreement-preview-samples header{gap:4px;display:grid}.agreement-preview-samples dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.agreement-preview-samples dl div{min-width:0}.agreement-preview-samples dt{color:var(--muted);font-size:9px}.agreement-preview-samples dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:11px}.agreement-field-editor{align-content:start;gap:6px;display:grid}.agreement-field-editor>span{margin:0}.agreement-sample-preview{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:16px;display:grid}.agreement-sample-preview legend{color:var(--ink-soft);padding:0 7px;font-size:12px;font-weight:700}.agreement-trial-editor{grid-column:1/-1}.agreement-trial-editor>span{color:var(--ink-soft);margin-bottom:7px;font-size:12px;font-weight:700;display:block}.agreement-trial-editor small{color:var(--muted);margin-top:7px;font-size:9px;display:block}.agreement-human-confirm{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;align-items:flex-start;gap:9px;padding:12px;display:flex}.agreement-human-confirm input{flex:0 0 16px;width:16px;height:16px;min-height:16px;margin-top:2px}.agreement-human-confirm span{margin:0}.assignment-form{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;padding:14px 0;display:grid}.assignment-form label{min-width:0}.assignment-form select{width:100%}.assignment-form .assignment-experimenters select{min-height:104px}.assignment-form>button{grid-column:1/-1;justify-self:end}.sample-panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.sample-mini-panel{min-height:238px;padding:20px}.sample-mini-panel h2{margin:0 0 14px;font-size:16px}.sample-line-list,.sample-distribution{gap:8px;display:grid}.sample-line{border-bottom:1px solid var(--line-soft);gap:3px;min-height:52px;padding:10px 0;display:grid}.sample-line strong{overflow-wrap:anywhere;font-size:12px}.sample-line span{color:var(--muted);font-size:11px}.sample-distribution div{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding:9px 0;display:flex}.sample-distribution span{overflow-wrap:anywhere;min-width:0}.sample-distribution strong{font-variant-numeric:tabular-nums}.sample-empty,.sample-empty-state{min-height:126px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:5px;display:grid}.sample-empty strong{color:var(--ink-soft);font-size:13px}.sample-empty span{font-size:11px}.sample-table-scroll{border:1px solid var(--line);border-radius:6px}.sample-table-scroll table{border-collapse:collapse;width:100%;min-width:1180px}.sample-table-scroll thead{z-index:3;position:sticky;top:0}.sample-table-scroll th,.sample-table-scroll td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px;font-size:12px}.sample-table-scroll th{color:var(--ink-soft);white-space:nowrap;font-size:11px}.sample-table-scroll td{overflow-wrap:anywhere;max-width:240px}.sample-status{border:1px solid var(--line);min-height:26px;color:var(--ink-soft);background:var(--surface-subtle);white-space:nowrap;border-radius:6px;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.sample-status-frozen{border-color:color-mix(in srgb, var(--danger) 38%, var(--line));color:var(--danger);background:color-mix(in srgb, var(--red-soft) 70%, var(--surface-raised))}.sample-status-in_stock,.sample-status-in_test{border-color:color-mix(in srgb, var(--green) 34%, var(--line));color:var(--green)}.sample-ledger-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.sample-detail-title{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.sample-detail-title>div{min-width:0}.sample-withdrawn-band{border:1px solid color-mix(in srgb, var(--danger) 34%, var(--line));color:var(--danger);background:color-mix(in srgb, var(--red-soft) 55%, var(--surface-raised));border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;display:grid}.sample-withdrawn-band span,.sample-withdrawn-band small{color:var(--muted);overflow-wrap:anywhere}.sample-delete-policy{border-left:3px solid var(--danger);background:color-mix(in srgb, var(--red-soft) 45%, var(--surface-raised));gap:4px;padding:10px 12px;display:grid}.sample-delete-policy span,.sample-delete-policy small{color:var(--muted);overflow-wrap:anywhere}.sample-detail-header{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;grid-template-columns:minmax(240px,1fr) minmax(620px,1.8fr);align-items:center;gap:24px;padding:22px 24px;display:grid}.sample-detail-header h1{margin:0;font-size:22px;line-height:1.35}.sample-detail-header p{color:var(--green);margin:6px 0 0;font-size:12px;font-weight:700}.sample-detail-header dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:0;display:grid}.sample-detail-header dl div{min-width:0}.sample-detail-header dt{color:var(--muted);font-size:10px;font-weight:700}.sample-detail-header dd{overflow-wrap:anywhere;min-width:0;margin:4px 0 0;font-size:12px;font-weight:700}.sample-tabs{border-bottom:1px solid var(--line);scrollbar-width:thin;gap:4px;display:flex;overflow-x:auto}.sample-tabs button{cursor:pointer;min-height:42px;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:0 12px;font-size:12px;font-weight:700}.sample-tabs button.active,.sample-tabs button:focus-visible{border-bottom-color:var(--accent);color:var(--accent)}.sample-tab-panel{min-height:420px}.sample-tab-panel:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 28%, transparent);outline-offset:2px}.sample-detail-content{gap:16px;display:grid}.sample-core-panel,.sample-relations-panel{gap:18px;display:grid}.sample-lifecycle-panel{gap:16px;display:grid}.sample-detail-section-head{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.sample-detail-section-head>div{min-width:0}.sample-detail-section-head h2{margin:0;font-size:18px}.sample-detail-section-head p{color:var(--muted);margin:5px 0 0;font-size:12px}.sample-relation-summary{border-block:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.sample-relation-summary>div{border-right:1px solid var(--line);min-width:0;padding:14px 16px}.sample-relation-summary>div:last-child{border-right:0}.sample-relation-summary dt{color:var(--muted);font-size:10px;font-weight:700}.sample-relation-summary dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:12px;font-weight:700}.sample-related-trials{border:1px solid var(--line);border-radius:6px;overflow-x:auto}.sample-related-trials table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:760px}.sample-related-trials th,.sample-related-trials td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;overflow-wrap:anywhere;padding:12px 14px;font-size:12px}.sample-related-trials th{color:var(--muted);background:var(--surface-subtle);font-size:10px}.sample-related-trials tbody tr:last-child td{border-bottom:0}.sample-related-trials-empty{color:var(--muted);text-align:center!important}.sample-definition-grid{border:1px solid var(--line);background:var(--line);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.sample-definition-grid div{background:var(--surface-raised);min-width:0;padding:14px}.sample-definition-grid dt{color:var(--muted);font-size:10px;font-weight:700}.sample-definition-grid dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:12px}.sample-action-form{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 16px;padding:20px;display:grid}.sample-action-form>h3{grid-column:1/-1;margin:0;font-size:16px}.sample-action-form>label:not(.sample-checkbox){grid-column:span 2}.sample-action-form .wide{grid-column:span 3}.sample-checkbox{border:1px solid var(--line);background:var(--surface-raised);cursor:pointer;border-radius:6px;grid-column:1/-1;justify-self:start;align-items:center;gap:10px;width:fit-content;min-height:44px;padding:8px 12px;display:flex}.sample-checkbox input{width:18px;height:18px;min-height:0;accent-color:var(--accent);flex:0 0 18px;margin:0}.sample-checkbox span{color:var(--ink);margin:0;font-size:12px;font-weight:700}.sample-action-footer{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;padding-top:4px;display:flex}.sample-action-footer>span{color:var(--muted);margin-right:auto;font-size:11px}.sample-state-actions{flex-wrap:wrap;gap:10px;display:flex}.sample-attachment-form{border:1px solid var(--line);background:var(--surface-subtle);border-radius:8px;grid-template-columns:minmax(240px,1.4fr) minmax(160px,.7fr) minmax(220px,1fr) auto;align-items:end;gap:16px;padding:20px;display:grid}.sample-attachment-list{display:grid}.sample-attachment-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:14px 0;display:flex}.sample-attachment-list article>div:first-child{gap:4px;min-width:0;display:grid}.sample-attachment-list article strong{overflow-wrap:anywhere}.sample-attachment-list article span{color:var(--muted);font-size:11px}.sample-attachment-list article>div:last-child{flex:none;align-items:center;gap:10px;display:flex}@media (width>=1180px) and (height<=900px){.app-header{padding-top:18px;padding-bottom:18px;overflow-y:auto}.app-brand{min-height:46px}.app-nav{min-height:0;overflow-y:auto}.app-nav a{min-height:40px;padding-top:9px;padding-bottom:9px}.app-sidebar-account{background:var(--sidebar-bg);position:sticky;bottom:0}}@media (width<=1100px){.sample-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sample-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-detail-header{grid-template-columns:1fr}.sample-relation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-relation-summary>div:nth-child(2){border-right:0}.sample-relation-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.sample-attachment-form,.sample-intake-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.agreement-confirm-form{grid-template-columns:repeat(2,minmax(0,1fr))}.agreement-preview-overview,.agreement-preview-samples{grid-template-columns:1fr}.agreement-confirm-form .primary-button{width:100%}.commission-sample-group-grid,.sample-filter-grid,.sample-definition-grid,.sample-action-form{grid-template-columns:repeat(2,minmax(0,1fr))}.sample-action-form>label:not(.sample-checkbox){grid-column:auto}.sample-action-form .wide,.sample-checkbox{grid-column:1/-1}.sample-upload-status-list>div,.sample-recognition-errors p{grid-template-columns:minmax(0,1fr) auto}.sample-upload-status-list>div span{grid-column:1/-1}}@media (width<=900px){.trial-task-toolbar{flex-direction:column;align-items:stretch}.trial-task-toolbar .search-box{width:100%}.trial-task-filters{width:calc(100% - 32px);margin:0 16px 14px}.trial-task-filters button{flex:1 1 0}.trial-task-table-wrap{border-top:0;padding:0 14px 14px;overflow:visible}.trial-task-table,.trial-task-table tbody{width:100%;min-width:0;display:block}.trial-task-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.trial-task-row{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"sample trial""commission commission""personnel personnel""laboratory status""actions actions";width:100%;margin-bottom:10px;display:grid;overflow:hidden}.trial-task-row:last-child{margin-bottom:0}.trial-task-table td{border-bottom:1px solid var(--line);background:0 0;min-width:0;min-height:48px;padding:10px 12px;display:flex}.trial-task-table tbody tr:hover td{background:0 0}.trial-task-table td[data-label]:before{color:var(--ink-soft);content:attr(data-label);margin-bottom:4px;font-size:9px;font-weight:800;display:block}.trial-task-table td.trial-task-sample,.trial-task-table td.trial-task-commission{display:grid}.trial-task-sample{grid-area:sample}.trial-task-type{flex-direction:column;grid-area:trial;align-items:flex-start}.trial-task-commission{grid-area:commission}.trial-task-personnel{grid-area:personnel}.trial-task-personnel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trial-task-laboratory-cell{grid-area:laboratory}.trial-task-status{grid-area:status}.trial-task-laboratory-cell,.trial-task-status{flex-direction:column;align-items:flex-start}.trial-task-status{border-left:1px solid var(--line)}.trial-task-actions{grid-area:actions;justify-content:flex-end;align-items:center;min-width:0;border-bottom:0!important}}@media (width<=640px){.trial-management-hero{padding-bottom:18px}.trial-task-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.trial-task-filters button{min-width:0;padding-inline:7px}.trial-task-row{grid-template-columns:1fr;grid-template-areas:"sample""trial""commission""personnel""laboratory""status""actions"}.trial-task-status{border-left:0}.trial-task-personnel-grid{grid-template-columns:1fr}.trial-task-actions .compact,.trial-task-actions .assignment-locked,.trial-task-actions .read-only-label{min-height:44px}.trial-assignment-form{grid-template-columns:1fr;padding:18px}.trial-acceptance-form{padding:18px}.trial-acceptance-options{grid-template-columns:1fr}.experimenter-checklist{grid-column:auto}.experimenter-checklist>div{grid-template-columns:1fr}.trial-assignment-form .form-error,.trial-assignment-form .modal-actions{grid-column:auto}.sample-details-shell{background:0 0;border:0;overflow:visible}.sample-details-table,.sample-details-table tbody{width:100%;display:block}.sample-details-table colgroup{display:none}.sample-details-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sample-details-row{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"number status""name actions""commission commission""protocol protocol""assignments projects";gap:0 16px;width:100%;margin-bottom:10px;display:grid;overflow:hidden}.sample-details-row:last-child{margin-bottom:0}.sample-details-row td{border-bottom:1px solid var(--line);background:0 0;align-items:center;min-height:42px;padding:9px 12px;display:flex}.sample-details-row:hover td{background:0 0}.sample-record-number{grid-area:number}.sample-record-name{grid-area:name}.sample-record-commission{grid-area:commission}.sample-record-protocol{grid-area:protocol}.sample-record-status{grid-area:status;justify-content:flex-end}.sample-record-assignments{grid-area:assignments}.sample-record-projects{grid-area:projects}.sample-record-actions{grid-area:actions;justify-content:flex-end}.sample-record-link,.sample-record-actions .danger-link{min-width:44px;min-height:44px}.sample-record-number,.sample-record-status{background:var(--surface-subtle)}.sample-record-name,.sample-record-actions{min-height:50px}.sample-record-name>span{font-size:13px;line-height:1.5}.sample-record-commission,.sample-record-protocol,.sample-record-assignments,.sample-record-projects{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px}.sample-record-assignments,.sample-record-projects{border-bottom:0!important}.sample-record-projects{border-left:1px solid var(--line)}.sample-record-mobile-label{color:var(--ink-soft);font-size:10px;font-weight:800;display:block}.sample-details-empty-row{display:block}.sample-details-empty{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;width:100%;display:block}.commission-sample-binding-compare,.binding-evidence-panel,.binding-decision,.binding-withdraw-row,.agreement-confirm-form,.agreement-sample-preview,.agreement-preview-samples dl{grid-template-columns:1fr}.agreement-confirmed-band{flex-direction:column;align-items:flex-start}.module-panel,.content-card,.commission-sample-form,.resource-booking-form,.laboratory-editor-body,.master-data-form,.standard-upload-fields{padding:18px}.sample-stat-grid,.sample-panel-grid,.commission-sample-group-grid,.sample-filter-grid,.sample-definition-grid,.sample-action-form,.sample-detail-header dl,.sample-attachment-form{grid-template-columns:1fr}.sample-action-form .wide,.sample-checkbox{grid-column:auto}.sample-master-fieldsets-intake .commission-sample-group-grid{grid-template-columns:1fr}.sample-entry-actions,.sample-commission-refresh-error,.sample-master-confirm-form footer,.sample-confirm-footer,.sample-option-other-choice{flex-direction:column;align-items:stretch;width:100%}.sample-option-other-input,.sample-entry-actions .primary-button,.sample-entry-actions .secondary-button,.sample-master-confirm-form footer .primary-button,.sample-confirm-footer .primary-button{width:100%}.sample-details-row{gap:0 10px}.sample-details-row td{padding-left:10px;padding-right:10px}.sample-record-actions{gap:4px}.sample-intake-list,.assignment-form{grid-template-columns:1fr}.sample-workspace-drawer{width:100vw;padding:18px 18px calc(24px + env(safe-area-inset-bottom))}.sample-workspace-section-heading{flex-direction:column;align-items:stretch}.sample-workspace-section-heading .secondary-button{width:100%}.sample-intake-files article,.commission-sample-summary article{grid-template-columns:1fr;align-items:flex-start}.sample-intake-files article>div:last-child{flex-wrap:wrap;justify-content:flex-start}.sample-upload-status-list>div,.sample-recognition-errors p{grid-template-columns:1fr}.sample-upload-status-list>div span{grid-column:auto}.sample-upload-zone,.sample-fields-heading{flex-direction:column;align-items:stretch}.sample-upload-zone .secondary-button{width:100%}.sample-filter-actions,.sample-action-footer{flex-direction:column;align-items:stretch}.sample-filter-actions .primary-button,.sample-filter-actions .secondary-button,.sample-action-footer .primary-button{width:100%}.sample-detail-header{padding:18px}.sample-detail-section-head{flex-direction:column;align-items:stretch}.sample-detail-section-head .secondary-button{width:100%}.sample-relation-summary{grid-template-columns:1fr}.sample-relation-summary>div,.sample-relation-summary>div:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.sample-relation-summary>div:last-child{border-bottom:0}.sample-related-trials{border:0;overflow:visible}.sample-related-trials table,.sample-related-trials tbody{width:100%;min-width:0;display:block}.sample-related-trials thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.sample-related-trials tr{border:1px solid var(--line);border-radius:6px;margin-bottom:10px;display:grid;overflow:hidden}.sample-related-trials td{border-bottom:1px solid var(--line);grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px;padding:11px 12px;display:grid}.sample-related-trials td:before{color:var(--muted);content:attr(data-label);font-size:10px;font-weight:700}.sample-related-trials tr:last-child,.sample-related-trials tr:last-child td{margin-bottom:0}.sample-withdrawn-band{grid-template-columns:1fr}.sample-attachment-list article{flex-direction:column;align-items:flex-start}}.commission-create-backdrop{z-index:1200;background:color-mix(in srgb, var(--ink) 34%, transparent);justify-content:flex-end;display:flex;position:fixed;inset:0}.commission-create-drawer{border-left:1px solid var(--line);background:var(--surface-raised);width:min(540px,100vw);height:100dvh;box-shadow:-18px 0 48px color-mix(in srgb, var(--ink) 18%, transparent);overflow-y:auto}.commission-create-drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 28px 20px;display:flex}.commission-create-drawer>header h2{margin:5px 0 6px;font-size:24px}.commission-create-drawer>header p{color:var(--muted);margin:0}.commission-create-drawer .icon-button{width:36px;min-width:36px;height:36px;padding:0;font-size:24px;line-height:1}.commission-create-form{flex-direction:column;gap:16px;min-height:calc(100dvh - 121px);padding:24px 28px 28px;display:flex}.commission-file-drop{border:1px dashed color-mix(in srgb, var(--accent) 48%, var(--line));background:var(--surface-subtle);text-align:center;border-radius:8px;place-content:center;gap:7px;min-height:158px;padding:22px;display:grid}.commission-file-drop:hover,.commission-file-drop:focus-within{border-color:var(--accent);background:color-mix(in srgb, var(--blue-soft) 58%, var(--surface-raised))}.commission-file-drop>span{color:var(--ink);font-size:13px;font-weight:800}.commission-file-picker{justify-self:center;min-width:120px}.commission-file-drop>small{color:var(--muted)}.commission-file-drop>em{overflow-wrap:anywhere;color:var(--ink-soft);font-size:11px;font-style:normal}.commission-create-result{border:1px solid var(--line);border-radius:8px;gap:7px;padding:14px 16px;display:grid}.commission-create-result.error{border-color:color-mix(in srgb, var(--red) 36%, var(--line));background:color-mix(in srgb, var(--red-soft) 66%, var(--surface-raised));color:color-mix(in srgb, var(--red) 84%, var(--ink))}.commission-create-result.success{border-color:color-mix(in srgb, var(--green) 34%, var(--line));background:color-mix(in srgb, var(--green-soft) 68%, var(--surface-raised))}.commission-create-result a:not(.primary-button){color:var(--brand);font-weight:800}.commission-create-result .primary-button{width:fit-content;margin-top:4px}.commission-create-form>footer{justify-content:flex-end;gap:10px;margin-top:auto;padding-top:8px;display:flex}.commission-detail-core{border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;gap:20px;margin:18px 0;padding:22px 24px;display:grid}.commission-detail-core-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.commission-detail-core-heading h1{color:var(--ink);margin:8px 0 4px;font:800 26px/1.2 ui-monospace,monospace}.commission-detail-core-heading p{color:var(--ink-soft);margin:0;font-weight:700}.commission-core-facts{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;display:grid}.commission-core-facts>div{min-width:0;padding:15px 16px 0 0}.commission-core-facts dt{color:var(--muted);font-size:10px;font-weight:800}.commission-core-facts dd{overflow-wrap:anywhere;color:var(--ink);margin:5px 0 0;font-size:13px;font-weight:750}.commission-agreement-panel,.commission-sample-files-panel,.commission-agreement-panel .commission-file-strip article,.commission-sample-files-panel .commission-file-strip article{border-radius:8px}.agreement-intake-workspace{gap:0;padding-bottom:0;display:grid}.agreement-intake-heading{border-bottom:1px solid var(--line)}.agreement-flow-steps{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0 26px;list-style:none;display:grid}.agreement-flow-steps li{min-width:0;color:var(--muted);align-items:center;gap:10px;padding:16px 12px;display:flex}.agreement-flow-steps li+li{border-left:1px solid var(--line-soft)}.agreement-flow-steps li>span{border:1px solid var(--line);background:var(--surface-subtle);border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid}.agreement-flow-steps li>div{gap:2px;min-width:0;display:grid}.agreement-flow-steps strong,.agreement-flow-steps small{overflow-wrap:anywhere}.agreement-flow-steps strong{color:var(--ink-soft);font-size:12px}.agreement-flow-steps small{font-size:10px}.agreement-flow-steps li.current>span{border-color:var(--accent);color:#fff;background:var(--accent)}.agreement-flow-steps li.done>span{border-color:color-mix(in srgb, var(--green) 40%, var(--line));color:var(--green);background:var(--green-soft)}.agreement-upload-zone{border:1px dashed color-mix(in srgb, var(--accent) 48%, var(--line));background:var(--surface-subtle);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:22px 26px 12px;padding:20px;transition:border-color .18s,background-color .18s;display:grid}.agreement-upload-zone.is-dragging,.agreement-upload-zone:focus-within{border-color:var(--accent);background:color-mix(in srgb, var(--blue-soft) 64%, var(--surface-raised))}.agreement-upload-zone>div{gap:5px;min-width:0;display:grid}.agreement-upload-zone strong{color:var(--ink);font-size:14px}.agreement-upload-zone span{color:var(--muted);font-size:11px;line-height:1.6}.agreement-file-picker{min-width:132px}.agreement-file-empty{color:var(--muted);margin:0 26px 20px;font-size:11px}.agreement-file-list,.agreement-confirmed-band{margin:0 26px 22px}.agreement-nine-field-form{border-top:1px solid var(--line);background:var(--surface-raised);gap:0;display:grid}.agreement-result-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 26px 18px;display:flex}.agreement-result-heading h3{color:var(--ink);margin:4px 0 5px;font-size:18px}.agreement-result-heading p,.agreement-result-heading>small{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.agreement-result-heading>small{overflow-wrap:anywhere;text-align:right;max-width:46%}.agreement-field-group{border:0;border-bottom:1px solid var(--line-soft);min-width:0;margin:0;padding:22px 26px 24px}.agreement-field-group legend{gap:3px;width:100%;padding:0 0 15px;display:grid}.agreement-field-group legend strong{color:var(--ink);font-size:14px}.agreement-field-group legend span{color:var(--muted);font-size:10px}.agreement-field-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.agreement-field-editor{gap:7px;min-width:0;display:grid}.agreement-field-editor.is-wide{grid-column:span 2}.agreement-field-editor>span{color:var(--ink-soft);font-size:11px;font-weight:800}.agreement-field-editor>span b{color:var(--red);margin-left:3px}.agreement-field-editor input,.agreement-field-editor textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--surface-raised);font:inherit;resize:vertical;border-radius:6px;padding:10px 11px;line-height:1.5}.agreement-field-editor input:focus,.agreement-field-editor textarea:focus{border-color:var(--accent);outline:3px solid color-mix(in srgb, var(--accent) 16%, transparent);outline-offset:1px}.agreement-trial-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.agreement-trial-option{border:1px solid var(--line);min-width:0;min-height:46px;color:var(--ink-soft);background:var(--surface-raised);cursor:pointer;touch-action:manipulation;border-radius:6px;align-items:center;gap:9px;padding:10px 12px;transition:border-color .16s,background-color .16s,color .16s;display:flex}.agreement-trial-option:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--line))}.agreement-trial-option:focus-within{border-color:var(--accent);outline:3px solid color-mix(in srgb, var(--accent) 16%, transparent);outline-offset:1px}.agreement-trial-option:has(input:checked){border-color:color-mix(in srgb, var(--green) 58%, var(--line));color:var(--green);background:var(--green-soft)}.agreement-trial-option input{width:18px;height:18px;min-height:18px;accent-color:var(--green);border:0;flex:0 0 18px;margin:0;padding:0}.agreement-trial-option input:focus{outline:0}.agreement-trial-option span{overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:800}.agreement-confirm-footer{background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:24px;padding:20px 26px 24px;display:flex}.agreement-human-confirm{color:var(--ink-soft);align-items:flex-start;gap:10px;font-size:11px;line-height:1.6;display:flex}.agreement-human-confirm input{width:18px;height:18px;accent-color:var(--accent);flex:0 0 18px;margin-top:1px}.agreement-confirm-footer .primary-button{min-width:212px}@media (width<=760px){.commission-create-drawer{border-left:0;width:100vw}.commission-create-drawer>header,.commission-create-form{padding-left:18px;padding-right:18px}.commission-create-form>footer,.commission-detail-core-heading{flex-direction:column;align-items:stretch}.commission-create-form>footer .primary-button,.commission-create-form>footer .secondary-button,.commission-sample-handoff{width:100%}.commission-core-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.agreement-intake-heading,.agreement-result-heading,.agreement-confirm-footer{flex-direction:column;align-items:stretch}.agreement-flow-steps{grid-template-columns:1fr;padding:0 18px}.agreement-flow-steps li+li{border-top:1px solid var(--line-soft);border-left:0}.agreement-upload-zone{grid-template-columns:1fr;margin-left:18px;margin-right:18px;padding:18px}.agreement-file-picker,.agreement-confirm-footer .primary-button{width:100%}.agreement-file-empty,.agreement-file-list,.agreement-confirmed-band{margin-left:18px;margin-right:18px}.agreement-result-heading,.agreement-field-group,.agreement-confirm-footer{padding-left:18px;padding-right:18px}.agreement-result-heading>small{text-align:left;max-width:none}.agreement-field-grid{grid-template-columns:1fr}.agreement-field-editor.is-wide{grid-column:auto}}@media (width<=480px){.commission-core-facts,.commission-file-strip article{grid-template-columns:1fr}.commission-file-strip .file-row-actions{flex-wrap:wrap;justify-content:flex-start}}.mobile-navigation{display:none}.mobile-navigation-open .app-header-utility{z-index:10}.mobile-menu-button,.mobile-navigation-close{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--ink);background:var(--surface-raised);cursor:pointer;touch-action:manipulation;border-radius:8px;place-items:center;display:grid}.mobile-menu-button{font-size:22px}.mobile-navigation-close{font-size:26px;line-height:1}.mobile-menu-button:hover,.mobile-menu-button:focus-visible,.mobile-navigation-close:hover,.mobile-navigation-close:focus-visible{border-color:var(--accent);color:var(--brand);outline:3px solid color-mix(in srgb, var(--accent) 18%, transparent);outline-offset:2px}.mobile-navigation-layer{z-index:1000;position:fixed;inset:0}.mobile-navigation-backdrop{background:color-mix(in srgb, var(--ink) 42%, transparent);border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.mobile-navigation-drawer{border-left:1px solid var(--line);width:min(88vw,340px);height:100dvh;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) 18px;background:var(--sidebar-bg);box-shadow:-18px 0 48px color-mix(in srgb, var(--ink) 24%, transparent);overscroll-behavior:contain;flex-direction:column;animation:.2s ease-out mobile-navigation-enter;display:flex;position:absolute;top:0;right:0;overflow-y:auto}.mobile-navigation-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.mobile-navigation-header>div,.mobile-navigation-account .account-chip>span:last-child{gap:3px;min-width:0;display:grid}.mobile-navigation-header strong{font-family:var(--font-ui);font-size:18px}.mobile-navigation-header small,.mobile-navigation-account small{overflow-wrap:anywhere;color:var(--muted);font-size:11px}.mobile-navigation-links{gap:6px;padding:16px 0;display:grid}.mobile-navigation-links a{min-height:46px;color:var(--ink-soft);touch-action:manipulation;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:10px 13px;font-size:14px;font-weight:750;display:flex}.mobile-navigation-links a>span{color:var(--brand)}.mobile-navigation-links a:hover,.mobile-navigation-links a:focus-visible,.mobile-navigation-links a[aria-current=page]{border-color:color-mix(in srgb, var(--accent) 26%, var(--line));color:var(--brand);background:color-mix(in srgb, var(--blue-soft) 66%, var(--surface-raised));box-shadow:inset 3px 0 0 var(--brand);outline:none}.mobile-navigation-account{border-top:1px solid var(--line-soft);gap:12px;margin-top:auto;padding-top:16px;display:grid}.mobile-navigation-account .tenant-pill{text-align:center;border-radius:8px;width:100%;padding:8px 12px}.mobile-navigation-account .account-chip{min-width:0;padding:4px}.mobile-navigation-account .text-button{border:1px solid var(--line);text-align:center;border-radius:8px;align-content:center;min-height:44px}@keyframes mobile-navigation-enter{0%{opacity:.92;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.mobile-navigation-drawer{animation:none}}@media (width<=760px){.app-header{justify-content:flex-start;gap:12px;padding-left:18px}.app-brand,.app-brand>span:last-child{min-width:0}.app-brand strong{white-space:nowrap}.mobile-navigation{margin-left:auto;display:block}.app-nav,.app-sidebar-account,.app-header-actions{display:none}}
