.ui-label{font-size:10.5px;font-weight:600;line-height:1;letter-spacing:.11em;text-transform:uppercase;color:var(--text-subtle)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius-btn);font-size:13px;cursor:pointer}.ui-btn--primary{background:var(--color-primary);color:#fff;border:none;padding:9px 16px;font-weight:600}.ui-btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.ui-btn--primary:disabled{background:var(--button-disabled);cursor:not-allowed}.ui-btn--secondary{background:transparent;border:1px solid var(--border);color:var(--color-ink);padding:9px 14px}.ui-btn--secondary:hover:not(:disabled){background:var(--muted)}.ui-btn--secondary:disabled{color:var(--text-disabled);cursor:not-allowed}.ui-btn--danger{background:var(--color-danger);color:#fff;border:none;padding:9px 16px;font-weight:600}.ui-btn--danger:hover:not(:disabled){background:var(--color-danger-text)}.ui-btn--danger:disabled{background:var(--button-disabled);cursor:not-allowed}.ui-btn--ghost{background:transparent;border:none;color:inherit}.ui-btn--block{display:flex;width:100%;justify-content:flex-start;text-align:left;gap:9px;background:var(--surface);border:1px solid var(--border);color:var(--color-ink);font-size:12.5px;font-weight:500;padding:9px 11px;transition:all .15s ease}.ui-btn--block:hover:not(:disabled){border-color:var(--selected-border);background:var(--selected-bg-soft);color:var(--color-primary)}.ui-btn--block:disabled{color:var(--text-subtle);cursor:not-allowed}.ui-btn--block.ui-btn--block-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.ui-btn--block.ui-btn--block-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.ui-btn--block.ui-btn--block-primary:disabled{background:var(--button-disabled);border-color:var(--button-disabled);color:#fff}.ui-icon-btn,.viewer3d-tool-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:5px;color:var(--color-ink);cursor:pointer;transition:background .15s ease,color .15s ease}.ui-icon-btn:hover:not(:disabled),.viewer3d-tool-btn:hover:not(:disabled){background:var(--selected-bg);color:var(--color-primary)}.ui-icon-btn.active,.viewer3d-tool-btn.active{background:var(--color-primary);color:#fff}.ui-icon-btn:disabled,.viewer3d-tool-btn:disabled{color:var(--text-disabled);background:transparent;cursor:not-allowed}.ui-icon-btn[data-tooltip]:after,.viewer3d-tool-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:0;background:#23262b;color:#e8eaed;font-size:11px;font-weight:400;line-height:1.2;padding:4px 8px;border-radius:var(--radius-xs);white-space:nowrap;box-shadow:0 2px 8px #00000040;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:40}.ui-icon-btn[data-tooltip]:hover:after,.viewer3d-tool-btn[data-tooltip]:hover:after{opacity:1;transition-delay:.45s}.ui-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.ui-dialog{background:var(--surface);border-radius:var(--radius-dialog);padding:24px 26px;width:100%;max-width:420px;box-shadow:var(--shadow-dialog)}.ui-dialog--wide{max-width:520px}.ui-dialog h2{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--color-ink)}.ui-dialog-text{margin:0;font-size:13.5px;color:var(--text-muted);line-height:1.55}.ui-dialog-text strong{color:var(--color-ink);font-weight:600}.ui-dialog-summary{margin:16px 0 0;padding:12px 14px;background:var(--surface-inset);border-radius:var(--radius-row);display:flex;flex-direction:column;gap:6px}.ui-dialog-summary-row{display:flex;gap:12px;font-size:12.5px}.ui-dialog-summary-row>dt{width:88px;flex:none;margin:0;color:var(--text-subtle);font-weight:400}.ui-dialog-summary-row>dd{margin:0;min-width:0}.ui-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.ui-dialog-status{margin-top:10px}.ui-message{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border:1px solid transparent;border-radius:var(--radius-row);font-size:12.5px;line-height:1.5}.ui-message-icon{display:inline-flex;flex:none;margin-top:1px;font-size:15px;line-height:1}.ui-message-body{min-width:0}.ui-message-title{margin:0 0 2px;font-weight:600}.ui-message-text,.ui-message-text p{margin:0}.ui-message--error{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}.ui-message--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-soft)}.ui-message--info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.ui-message--success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.ui-message--inline{padding:0;border:none;background:none;gap:6px;font-size:11.5px;line-height:1.45}.ui-message--inline .ui-message-icon{font-size:13px;margin-top:2px}.ui-message--inline.ui-message--info,.ui-message--inline.ui-message--success{color:var(--text-muted)}.stage-message{margin:1rem}.stage-message--center{margin:auto;max-width:32rem}.ui-signoff-notice{margin:0;font-size:11.5px;color:var(--text-muted);line-height:1.45}.ui-dropdown{position:relative;display:inline-flex}.ui-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:168px;display:flex;flex-direction:column;gap:1px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-menu);box-shadow:var(--shadow-menu);padding:5px;z-index:50}.ui-dropdown-menu--right{left:auto;right:0}.ui-dropdown-menu--up{top:auto;bottom:calc(100% + 6px)}.ui-dropdown-menu--portal{position:fixed;top:auto;bottom:auto;left:auto;right:auto}.ui-dropdown-title{padding:6px 9px 4px;font-size:10.5px;font-weight:600;line-height:1;letter-spacing:.11em;text-transform:uppercase;color:var(--text-faint)}.ui-dropdown-item{display:flex;align-items:center;gap:8px;background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;font-size:12.5px;color:var(--color-ink);padding:7px 9px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.ui-dropdown-item:hover:not(:disabled){background:var(--selected-bg);color:var(--color-primary)}.ui-dropdown-item.active{color:var(--color-primary);font-weight:600}.ui-dropdown-item:disabled{color:var(--text-disabled);cursor:not-allowed}.ui-dropdown-item--danger{color:var(--color-danger)}.ui-dropdown-item--danger:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}.ui-dropdown-item--stacked{flex-direction:column;align-items:flex-start;gap:2px;padding:8px 9px;white-space:normal}.ui-dropdown-item-label{font-size:12.5px;color:var(--color-ink)}.ui-dropdown-item-hint{font-size:11px;color:var(--text-subtle)}.ui-popover{border-radius:var(--radius);box-shadow:var(--shadow-popover);padding:14px 16px}.ui-spinner{animation:ui-spin 1s linear infinite}@keyframes ui-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.ui-empty-state-icon{display:inline-flex;color:var(--text-disabled)}.ui-empty-state-title,.ui-empty-state-hint{margin:0}.ui-empty-state--plain{display:block;text-align:left;margin:8px 2px;font-size:11.5px;color:var(--text-subtle);line-height:1.5}.ui-badge{display:inline-block;white-space:nowrap}.ui-badge--neutral{background:var(--muted);color:var(--text-muted)}.ui-badge--primary{background:var(--badge-fill);color:var(--color-primary)}.ui-badge--warning{background:var(--color-warning-bg-strong);color:var(--color-warning)}.ui-badge--danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.ui-count-badge{font-size:11px;font-weight:400;padding:2px 7px;border-radius:999px;flex-shrink:0}.ui-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius-sm);font-size:12px;padding:5px 9px;white-space:nowrap}button.ui-chip{cursor:pointer}.ui-chip--active{border-color:var(--selected-border);background:var(--selected-bg-soft);color:var(--color-primary);font-weight:600}.ui-segmented{display:flex;gap:6px}.ui-segmented-option{flex:1;text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-btn);padding:7px 4px;font-size:12px;font-weight:400;color:var(--text-muted);cursor:pointer}.ui-segmented-option--active{border-color:var(--color-primary);background:var(--selected-bg);color:var(--color-primary);font-weight:500}.ui-segmented-option:disabled{color:var(--text-disabled);cursor:not-allowed}.ui-stepper{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-sm);height:24px;overflow:hidden}.ui-stepper-btn{width:22px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;padding:0}.ui-stepper-btn:hover:not(:disabled){background:var(--selected-bg);color:var(--color-primary)}.ui-stepper-btn:disabled{color:var(--text-disabled);cursor:not-allowed}.ui-stepper-value{min-width:54px;padding:0 4px;border-left:1px solid var(--divider-soft);border-right:1px solid var(--divider-soft);display:flex;align-items:center;justify-content:center;font-size:11.5px;color:var(--color-ink)}input[type=range].ui-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--divider-soft);outline:none;cursor:pointer}input[type=range].ui-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:11px;height:11px;border-radius:50%;background:var(--surface);border:1.5px solid var(--color-primary);cursor:pointer}input[type=range].ui-slider::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:var(--surface);border:1.5px solid var(--color-primary);cursor:pointer}input[type=range].ui-slider::-moz-range-track{height:4px;border-radius:2px;background:var(--divider-soft)}.ui-status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-btn);font-size:12px;padding:5px 10px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);white-space:nowrap}button.ui-status-pill{cursor:pointer}.ui-status-pill-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--text-disabled)}.ui-status-pill--success{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success)}.ui-status-pill--success .ui-status-pill-dot{background:var(--color-success)}.ui-status-pill--warning{border-color:var(--color-warning-border-strong);background:var(--color-warning-bg);color:var(--color-warning)}.ui-status-pill--warning .ui-status-pill-dot{background:var(--color-accent)}.ui-status-pill--error{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger-text)}.ui-status-pill--error .ui-status-pill-dot{background:var(--color-danger-text)}.ui-panel{flex:none;background:var(--surface);display:flex;flex-direction:column;min-height:0;position:relative}.ui-panel--left{width:288px;border-right:1px solid var(--border-structural)}.ui-panel--right{width:300px;border-left:1px solid var(--border-structural)}.ui-panel-header{flex:none;display:flex;align-items:center;gap:8px;padding:12px 14px 10px;position:relative}.ui-panel-collapse{margin-left:auto;width:26px;height:26px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-subtle);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex:none}.ui-panel-collapse:hover{background:var(--muted);color:var(--text-muted)}.ui-panel-body{flex:1;min-height:0;overflow-y:auto;padding:0 10px 10px;display:flex;flex-direction:column;gap:2px}.ui-panel-footer{flex:none;border-top:1px solid var(--divider);padding:12px 12px 14px;display:flex;flex-direction:column;gap:6px;position:relative}.ui-panel-note{flex:none;border-top:1px solid var(--divider);padding:12px 14px;font-size:11.5px;color:var(--text-subtle);line-height:1.5}.ui-panel-rail{width:46px;flex:none;background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0}.ui-panel-rail--left{border-right:1px solid var(--border-structural)}.ui-panel-rail--right{border-left:1px solid var(--border-structural)}.ui-panel-rail-btn{width:30px;height:30px;border:none;background:var(--selected-bg);border-radius:var(--radius-btn);color:var(--color-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.ui-section-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:8px;width:100%;background:var(--surface);border:none;border-bottom:1px solid var(--divider-faint);cursor:pointer;text-align:left;font-size:10.5px;font-weight:600;line-height:1;letter-spacing:.11em;text-transform:uppercase;color:var(--text-subtle);padding:6px 4px 7px;margin-bottom:3px}.ui-section-head--gap{padding-top:14px}.ui-section-chevron{width:0;height:0;flex:none;border-left:4.5px solid var(--text-faint);border-top:3.5px solid transparent;border-bottom:3.5px solid transparent;margin-right:1px;transform:rotate(0);transition:transform .12s ease}.ui-section-chevron--open{transform:rotate(90deg)}.ui-section-count{font-size:11.5px;color:var(--text-hairline);font-weight:400;letter-spacing:0;text-transform:none}.ui-section-action{margin-left:auto;display:inline-flex;align-items:center;border:none;background:transparent;border-radius:5px;padding:2px 6px;font-size:11px;font-weight:500;letter-spacing:0;color:var(--text-faint);cursor:pointer}.ui-section-action:hover{color:var(--text-muted)}.ui-section-action--plus{font-size:16px;font-family:var(--font-sans);line-height:1;color:var(--text-subtle);padding:0 2px;letter-spacing:0}.ui-section-body{display:flex;flex-direction:column;gap:1px}.ui-save-indicator{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text-muted)}.ui-save-indicator-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--color-success)}.ui-save-indicator-dot--failed{background:var(--color-danger-text)}.ui-save-indicator-dot--muted{background:var(--text-disabled)}.ui-save-indicator-spinner{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--color-warning-border-strong);border-top-color:var(--color-accent);animation:ui-spin .7s linear infinite;flex:none}.ui-save-indicator-retry{border:1px solid var(--color-danger-border);background:var(--surface);border-radius:5px;color:var(--color-danger-text);font-size:11px;padding:2px 7px;margin-left:2px;cursor:pointer}.ui-transfer-toast{position:fixed;right:18px;bottom:18px;width:326px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-popover);padding:14px 16px;z-index:var(--z-toast)}.ui-transfer-toast-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.ui-transfer-toast-title{font-size:13px;font-weight:600}.ui-transfer-toast-close{margin-left:auto;border:none;background:transparent;color:var(--text-subtle);line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center}.ui-transfer-toast-file{font-size:12px;color:var(--text-subtle);margin-bottom:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-transfer-toast-track{height:4px;border-radius:2px;background:var(--divider-soft);overflow:hidden}.ui-transfer-toast-bar{height:100%;border-radius:2px;background:var(--color-accent);transition:width .3s ease}.ui-transfer-toast-bar--running{width:40%;animation:ui-transfer-indeterminate 1.2s ease-in-out infinite}.ui-transfer-toast-bar--done{width:100%;background:var(--color-success)}.ui-transfer-toast-bar--error{width:100%;background:var(--color-danger-text)}@keyframes ui-transfer-indeterminate{0%{margin-left:-40%}to{margin-left:100%}}.ui-transfer-toast-state{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:11.5px;color:var(--text-muted)}.ui-transfer-toast-dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--color-accent)}.ui-transfer-toast-dot--done{background:var(--color-success)}.ui-transfer-toast-dot--error{background:var(--color-danger-text)}.ui-transfer-toast-size{margin-left:auto}.ui-field-label{font-size:11px;color:var(--text-subtle);margin-bottom:4px}.ui-input{width:100%;border:1px solid var(--border);border-radius:var(--radius-btn);padding:8px 10px;font:inherit;font-size:13px;color:var(--color-ink);background:var(--surface)}.ui-input:focus{outline:none;border-color:var(--selected-border)}.ui-field-hint{font-size:11.5px;color:var(--text-subtle);margin-top:5px;line-height:1.45}.error-boundary-detail{margin-top:.75rem;font-size:12.5px;opacity:.75;word-break:break-word}.error-boundary-actions{display:flex;gap:.5rem;margin-top:1rem}.ui-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:400 12.5px/1.2 var(--font-sans);color:var(--color-ink);background-color:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a97a3' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;border:1px solid var(--border);border-radius:6px;padding:6px 26px 6px 9px;cursor:pointer}.ui-select:focus-visible,.ui-number:focus-visible{border-color:var(--color-primary);outline:none}.ui-select:disabled,.ui-number:disabled{color:var(--text-disabled);background-color:var(--surface-inset);cursor:default}.ui-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:14px;height:14px;flex:none;margin:0;border:1px solid var(--border);border-radius:4px;background:var(--surface);cursor:pointer;display:grid;place-content:center}.ui-checkbox:after{content:"";width:8px;height:4px;border:1.5px solid #fff;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg);opacity:0}.ui-checkbox:checked{background:var(--color-primary);border-color:var(--color-primary)}.ui-checkbox:checked:after{opacity:1}.ui-checkbox:focus-visible{outline:2px solid var(--selected-border);outline-offset:1px}.ui-number{font:400 12.5px/1.2 var(--font-sans);color:var(--color-ink);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 8px;-moz-appearance:textfield}.ui-number::-webkit-outer-spin-button,.ui-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media(forced-colors:active){.ui-checkbox{border-color:CanvasText}.ui-checkbox:checked{background:Highlight;border-color:Highlight}.ui-checkbox:after{border-color:HighlightText}.ui-select{border-color:CanvasText}}.app-top-bar{flex:none;height:52px;display:flex;align-items:center;gap:14px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border-structural)}.app-top-bar-brand{display:flex;align-items:center;gap:9px;flex:none}.app-top-bar-mark{width:22px;height:22px;border-radius:var(--radius-sm);background:var(--color-primary);display:flex;align-items:center;justify-content:center}.app-top-bar-mark-inner{width:8px;height:8px;border-radius:2px;background:var(--color-secondary);display:block}.app-top-bar-product{font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:var(--color-primary)}.app-top-bar-divider{width:1px;height:22px;background:var(--border-structural);flex:none}.app-top-bar-context{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px}.app-top-bar-case-label{color:var(--text-muted);white-space:nowrap}.app-top-bar-case-link{border:none;background:transparent;padding:0;font-size:12.5px;color:var(--color-primary);cursor:pointer;text-decoration:underline;text-decoration-color:#14537047;text-underline-offset:3px}.app-top-bar-case-link:hover{color:var(--color-primary-dark)}.app-top-bar-slash{color:var(--text-disabled)}.app-top-bar-workflow{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-top-bar-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none;position:relative}.case-details-button{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-btn);font-size:12.5px;padding:7px 11px;cursor:pointer;background:transparent;border:1px solid var(--border);color:var(--color-ink)}.case-details-button:hover{background:var(--muted)}.case-details-button.active{background:var(--selected-bg);border-color:var(--selected-border);color:var(--color-primary)}.ui-dropdown-menu.case-details-panel{width:320px;z-index:var(--z-stage-panel)}.case-details-head{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.case-details-title{font-size:13.5px;font-weight:600}.case-details-id{font-size:12.5px;color:var(--color-primary)}.case-details-close{margin-left:auto;border:none;background:transparent;color:var(--text-subtle);line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center}.case-details-rows{margin:0;display:flex;flex-direction:column;gap:7px}.case-details-row{display:flex;justify-content:space-between;gap:12px;font-size:12.5px}.case-details-row dt{color:var(--text-subtle);font-weight:400}.case-details-row dd{margin:0;text-align:right;min-width:0}.case-details-notes{border-top:1px solid var(--divider);margin-top:12px;padding-top:10px;display:flex;flex-direction:column;gap:10px}.case-details-note-label{font-size:11px;color:var(--text-subtle);margin-bottom:3px}.case-details-note-text{font-size:12.5px;line-height:1.5}.loading-screen{display:flex;flex-direction:column;height:100vh;width:100%;background:var(--color-bg)}.loading-screen-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.loading-screen-body .ui-spinner{color:var(--color-primary)}.loading-screen-message{margin:0;font-size:.9rem;color:var(--text-muted)}.signin{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;box-sizing:border-box;padding:32px;background:radial-gradient(900px 500px at 50% -10%,rgba(62,162,177,.14),transparent 60%),var(--color-background)}.signin-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;width:100%;max-width:392px;padding:40px 36px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-panel)}.signin-mark{width:56px;height:56px;border-radius:var(--radius-card);background:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:8px}.signin-mark-inner{width:20px;height:20px;border-radius:5px;background:var(--color-secondary);display:block}.signin-wordmark{display:flex;align-items:baseline;gap:7px;margin:0;font-size:21px;font-weight:600;letter-spacing:-.01em}.signin-brand{color:var(--color-primary)}.signin-product{color:var(--color-ink);font-weight:400}.signin-tagline{margin:0 0 20px;font-size:13px;color:var(--text-muted)}.signin-button{width:100%;justify-content:center;border-radius:var(--radius-row);font-size:14px;padding:12px 16px}.signin-error{justify-content:center;margin-top:10px}.signin-footer{margin:12px 0 0;font-size:11.5px;color:var(--text-subtle)}.workflow-list-container{flex:1;min-height:0;overflow-y:auto;background:var(--color-bg)}.workflow-list-inner{max-width:1080px;margin:0 auto;padding:28px 24px 40px;display:flex;flex-direction:column;gap:24px}.workflow-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 0;color:var(--text-muted)}.workflow-error{margin:0}.workflow-section-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.workflow-section-header h2{margin:0;font-size:14px;font-weight:600;color:var(--color-ink)}.workflow-count{font-size:12px;color:var(--text-subtle)}.workflow-section-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.workflow-sort-note{font-size:12px;color:var(--text-subtle)}.workflow-empty{background:var(--surface);border:1px solid var(--border-structural);border-radius:var(--radius);padding:48px 24px;gap:4px;color:var(--text-muted)}.workflow-empty .ui-empty-state-title{font-weight:600;color:var(--color-ink)}.workflow-empty .ui-empty-state-hint{font-size:12.5px}.workflow-list-card{background:var(--surface);border:1px solid var(--border-structural);border-radius:var(--radius);overflow:visible}.workflow-row{display:flex;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--divider);cursor:pointer;position:relative}.workflow-row:last-child{border-bottom:none}.workflow-row:hover{background:var(--surface-inset-soft)}.workflow-row-dot{width:8px;height:8px;border-radius:50%;flex:none}.workflow-row-dot--complete{background:var(--color-success)}.workflow-row-dot--progress{background:var(--color-accent)}.workflow-row-dot--idle{background:var(--text-disabled)}.workflow-row-main{flex:1;min-width:0}.workflow-row-name{font-size:14px;font-weight:600;margin-bottom:3px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-row-meta{font-size:12px;color:var(--text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-row-progress{flex:none;display:flex;align-items:center;gap:5px;width:120px}.workflow-progress-segment{height:3px;flex:1;border-radius:2px;background:var(--border-structural)}.workflow-progress-segment.done{background:var(--color-primary)}.workflow-row-count{font-size:11.5px;color:var(--text-subtle);width:34px;text-align:right;flex:none}.ui-icon-btn.workflow-row-menu-button{width:24px;height:24px;border-radius:var(--radius-sm);color:var(--text-subtle)}.ui-icon-btn.workflow-row-menu-button:hover:not(:disabled),.ui-icon-btn.workflow-row-menu-button.active{background:var(--selected-bg);color:var(--color-primary)}.ui-dropdown-menu.workflow-row-menu{width:168px}.workflow-row-chevron{color:var(--text-disabled);flex:none}.input-workflow-name{margin-top:2px}.case-header{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px}.case-header-main{flex:1;min-width:260px}.case-header-label{margin-bottom:8px}.case-header-title{margin:0 0 6px;font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--color-ink)}.case-header-surgery{font-size:13px;color:var(--text-muted)}.case-header-stats{display:flex;gap:28px;flex-wrap:wrap}.case-header-stat{display:flex;flex-direction:column;gap:3px}.case-header-stat-label{font-size:11px;color:var(--text-subtle)}.case-header-stat-value{font-size:14px;font-weight:500;color:var(--color-ink)}.case-notes-card{background:var(--surface);border:1px solid var(--border-structural);border-radius:var(--radius);padding:14px 18px;display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-muted);line-height:1.5}.case-notes-card>svg{flex:none;margin-top:2px;color:var(--text-subtle)}.about-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:24px;background:var(--scrim)}.about-dialog{display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:488px;max-height:100%;background:var(--surface);border-radius:var(--radius-dialog);box-shadow:var(--shadow-dialog);color:var(--color-primary)}.about-body{flex:1;min-height:0;overflow-y:auto;padding:22px 24px 24px}.about-title{margin:0 0 22px;font-size:19px;font-weight:600;letter-spacing:-.01em;color:inherit}.about-product{margin:0 0 22px;font-size:14.5px;font-weight:600;line-height:1.45}.about-grid{display:grid;grid-template-columns:64px 1fr;column-gap:18px;row-gap:20px;align-items:center;margin:0;font-size:13.5px;line-height:1.5}.about-grid dt{display:flex;justify-content:flex-start}.about-grid dd{margin:0}.about-sym{flex:none;display:block}.about-sym>svg{display:block;width:auto;height:auto}.about-sym--manufacturer>svg{height:28px}.about-sym--ifu>svg{height:28px}.about-sym--udi>svg{height:40px}.about-sym--md>svg{height:25px}.about-sym--ce>svg{height:30px}.about-sym--eu-rep>svg{width:72px}.about-sym--rx>svg{width:54px}.about-code{font-variant-numeric:tabular-nums;letter-spacing:.01em}.about-ce{display:flex;align-items:center;gap:12px}.about-research{border:1.6px solid currentColor;border-radius:var(--radius-sm);padding:14px 16px 16px}.about-research-headline{margin:0 0 8px;font-size:13.5px;font-weight:700;line-height:1.4;color:inherit}.about-research-body{margin:0;font-size:13.5px;line-height:1.5}.about-research-manufacturer{margin:14px 0 0;font-size:13.5px;line-height:1.5}.about-legal{margin:24px 0 0;font-size:13.5px;line-height:1.5}.about-dialog a{color:currentColor;text-decoration:underline;text-underline-offset:2px}.about-footer{flex:none;display:flex;justify-content:flex-end;padding:14px 20px;background:var(--surface-inset);border-top:1px solid var(--border-structural)}.user-menu-avatar{width:30px;height:30px;border-radius:50%;background:var(--selected-bg);color:var(--color-primary);border:none;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;cursor:pointer;padding:0}.user-menu-avatar:hover{background:var(--badge-fill)}.ui-dropdown-menu.user-menu-panel{width:216px;border-radius:var(--radius);box-shadow:var(--shadow-popover);padding:12px 14px;z-index:var(--z-menu)}.user-menu-name{margin:0;font-size:13px;font-weight:600;color:var(--color-ink)}.user-menu-email{margin:2px 0 0;font-size:11.5px;color:var(--text-subtle);overflow:hidden;text-overflow:ellipsis}.user-menu-footer{border-top:1px solid var(--divider);margin-top:10px;padding-top:8px;display:flex;flex-direction:column;align-items:stretch}.user-menu-action{width:100%;text-align:left;border:none;background:transparent;font-size:12.5px;color:var(--color-ink);padding:6px 4px;border-radius:var(--radius-sm);cursor:pointer}.user-menu-action:hover{background:var(--selected-bg);color:var(--color-primary)}.app{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.app-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.app-content>*{flex:1;min-height:0;overflow:hidden}.container{padding:8px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:0 6px 20px #13181a0f}.fullpage-state{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem;box-sizing:border-box}.fullpage-state .ui-message{max-width:30rem}.scan-series-list{display:flex;flex-direction:column;gap:2px}.scan-series-row{display:flex;align-items:flex-start;gap:8px;padding:9px;border-radius:var(--radius-row);border:1px solid transparent;cursor:pointer}.scan-series-row:hover{background:var(--surface-inset)}.scan-series-row.selected{background:var(--selected-bg);border-color:var(--selected-border)}.scan-series-dot{width:8px;height:8px;border-radius:50%;background:var(--text-disabled);flex:none;margin-top:5px}.scan-series-dot--selected{background:var(--color-primary)}.scan-series-main{flex:1;min-width:0}.scan-series-name{display:block;font-size:13px;font-weight:500;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-series-row.selected .scan-series-name{font-weight:600;color:var(--color-primary)}.scan-series-meta{display:block;font-size:11.5px;color:var(--text-subtle);margin-top:2px}.scan-series-row.selected .scan-series-meta{color:var(--text-muted)}.scan-series-used{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--color-success);margin-top:5px}.scan-series-loading{display:flex;align-items:center;gap:8px;padding:12px 4px;font-size:12.5px;color:var(--text-muted)}.scan-series-error{margin:4px}.scan-series-empty{padding:32px 12px;gap:8px;color:var(--text-muted)}.scan-series-empty .ui-empty-state-title{font-size:13px;font-weight:600;color:var(--color-ink)}.scan-series-empty .ui-empty-state-hint{font-size:11.5px;color:var(--text-subtle)}.layoutGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));position:relative;flex-grow:1;width:100%;height:100%;box-sizing:border-box;gap:10px;min-height:0;min-width:0;overflow:hidden}.grid-view{box-sizing:border-box;display:flex;flex-direction:column;position:relative;overflow:hidden;min-height:0;min-width:0}.grid-view>div{width:100%;height:100%;min-height:0}.view{border-radius:var(--radius);border:1px solid var(--border-structural);background:var(--surface);box-sizing:border-box;grid-column:span 1;grid-row:span 1;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.view-overlay{display:flex;justify-content:space-between;align-items:center;position:absolute;top:0;left:0;right:0;padding:8px 10px 6px;z-index:10;pointer-events:none}.view-overlay>*{pointer-events:auto}.view-overlay-title{font-size:11px;font-weight:600;line-height:1;letter-spacing:.11em;text-transform:uppercase;color:var(--text-subtle)}.ui-icon-btn.view-overlay-reset{width:22px;height:22px;border-radius:5px;color:var(--text-subtle)}.ui-icon-btn.view-overlay-reset:hover:not(:disabled){background:var(--muted);color:var(--text-muted)}.view-3d-building{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:240px;padding:18px 22px;border-radius:var(--radius-dialog);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-popover);color:var(--color-ink);font-size:12.5px;font-weight:500;pointer-events:none}.view-3d-building-header{display:flex;align-items:center;gap:10px}.view-3d-building .ui-spinner{width:20px;height:20px;color:var(--color-secondary);flex:none}.view-3d-building-title{font-size:13.5px;font-weight:600;color:var(--color-primary)}.view-3d-building-count{font-size:11.5px;color:var(--text-muted)}.view-3d-progress{position:relative;width:100%;height:4px;border-radius:999px;background:var(--divider-soft);overflow:hidden}.view-3d-progress-fill{height:100%;width:0;border-radius:inherit;background:var(--color-secondary);transition:width .25s ease}.view-3d-progress--indeterminate .view-3d-progress-fill{width:40%;transition:none;animation:view-3d-progress-slide 1.1s ease-in-out infinite}@keyframes view-3d-progress-slide{0%{transform:translate(-110%)}to{transform:translate(275%)}}.slice-view{width:100%;height:100%;border-radius:var(--radius);background:var(--slice-bg);border:1px solid var(--slice-bg);position:relative;overflow:hidden}.slice-view-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.slice-view-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:8px 10px 14px;z-index:10;background:linear-gradient(to bottom,#0c1013c7,#0c101300);pointer-events:none}.slice-view-header>*{pointer-events:auto}.slice-view-name{font-size:11px;font-weight:600;line-height:1;letter-spacing:.11em;text-transform:uppercase;color:var(--text-subtle);pointer-events:none}.slice-view-refining{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--color-secondary);pointer-events:none}.slice-view-refining-dot{width:6px;height:6px;border-radius:50%;background:var(--color-secondary)}.slice-view-counter{margin-left:auto;font-size:11.5px;line-height:1;color:#cfd8dd;pointer-events:none}.slice-view-counter-max{color:#6f7d85}.ui-icon-btn.slice-view-reset{width:22px;height:22px;border-radius:5px;color:#9aa7ae}.ui-icon-btn.slice-view-reset:hover:not(:disabled){background:#ffffff14;color:#cfd8dd}.slice-view-meta{position:absolute;bottom:36px;font-size:11.5px;color:#8b98a0;text-shadow:0 1px 2px rgba(0,0,0,.65);pointer-events:none;z-index:10}.slice-view-meta--left{left:10px}.slice-view-meta--right{right:10px}.slice-view-footer{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:14px 10px 8px;z-index:10;background:linear-gradient(to top,#0c1013c7,#0c101300)}.ui-icon-btn.slice-view-step{width:18px;height:18px;border-radius:4px;color:#9aa7ae}.ui-icon-btn.slice-view-step:hover:not(:disabled){background:#ffffff14;color:#cfd8dd}input[type=range].slice-scrub{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;min-width:0;height:3px;border-radius:2px;outline:none;cursor:pointer;background:#ffffff29}input[type=range].slice-scrub::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--color-secondary);box-shadow:0 1px 3px #00000059;cursor:grab}input[type=range].slice-scrub::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--color-secondary);box-shadow:0 1px 3px #00000059;cursor:grab}.loading-overlay-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column;min-height:0;min-width:0}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#f5f8f999;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-overlay-content{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-dialog);box-shadow:var(--shadow-popover)}.loading-spinner{color:var(--color-primary);animation:ui-spin 1s linear infinite}.loading-message{color:var(--text-muted);font-size:13px;font-weight:500;text-align:center;max-width:220px}.slice-viewer-grid{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:0;align-items:center;justify-content:center}.slice-viewer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted)}.slice-viewer-loading .ui-spinner{color:var(--color-primary)}.slice-viewer-loading span{font-size:13px}.slice-viewer-empty{gap:12px;color:var(--text-muted);padding:2rem}.slice-viewer-empty .ui-empty-state-title{font-size:15px;font-weight:600;color:var(--color-ink)}.slice-viewer-empty .ui-empty-state-hint{font-size:12.5px;color:var(--text-muted);max-width:300px}.series-info-panel{width:100%;height:100%;min-height:0;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-structural);display:flex;flex-direction:column;overflow:hidden}.series-info-head{flex:none;display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--divider)}.series-info-copy{margin-left:auto;border:none;background:transparent;font-size:11.5px;color:var(--color-primary);cursor:pointer;padding:0}.series-info-copy:hover{color:var(--color-primary-dark)}.series-info-body{flex:1;min-height:0;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:16px}.series-info-section-title{font-size:11px;color:var(--text-subtle);margin-bottom:7px}.series-info-rows{display:flex;flex-direction:column;gap:6px}.series-info-row{display:flex;gap:12px;font-size:12.5px}.series-info-label{width:114px;flex:none;color:var(--text-subtle)}.series-info-value{min-width:0;color:var(--color-ink)}.series-info-none{color:var(--text-faint)}.series-info-uid{display:block;min-width:0;font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-layout-container{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden;background:var(--color-bg)}.stage-readonly-banner{flex:none;display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 14px;background:var(--color-info-bg);border-bottom:1px solid var(--color-info-border);font-size:12.5px;color:var(--color-info)}.stage-readonly-banner strong{font-weight:600}.stage-layout-body{flex:1;min-height:0;display:flex;background:var(--color-background)}.stage-layout-center{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;padding:10px;gap:10px;overflow-y:auto}.stage-viewport-fill{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.stage-viewport-panel{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;border-radius:var(--radius);border:1px solid var(--border-structural);background:var(--surface);overflow:hidden}.stage-viewport-save{position:absolute;bottom:16px;left:14px;z-index:var(--z-viewer-chrome)}.stage-layout-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--color-background)}.stage-band{flex:none;display:flex;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--border-structural)}.stage-band-segments{flex:1;min-width:0;display:flex}.stage-band-segment{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:9px;padding:9px 14px;border-bottom:2px solid transparent;cursor:default;color:var(--color-ink)}.stage-band-segment--clickable{cursor:pointer}.stage-band-segment--clickable:hover{background:var(--selected-bg-soft)}.stage-band-segment--active{background:#f7fbfc;border-bottom-color:var(--color-primary)}.stage-band-segment--upcoming{color:var(--text-faint)}.stage-band-segment--started{color:var(--color-ink)}.stage-band-badge{width:22px;height:22px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:500}.stage-band-badge--done{background:var(--color-success);color:#fff}.stage-band-badge--active{background:var(--color-primary);color:#fff}.stage-band-badge--upcoming{background:var(--muted);color:var(--text-faint)}.stage-band-badge--started{background:var(--surface);border:1.5px solid var(--selected-border);color:var(--color-primary)}.stage-band-text{display:flex;flex-direction:column;min-width:0}.stage-band-title{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-band-state{font-size:10.5px;color:var(--text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-band-cta{flex:0 0 232px;width:232px;min-width:0;display:flex;align-items:center;gap:9px;padding:9px 14px;border-left:1px solid var(--divider);border-bottom:2px solid var(--color-primary);background:var(--selected-bg-soft);cursor:pointer}.stage-band-cta:hover:not(.stage-band-cta--blocked){background:var(--selected-bg)}.stage-band-cta--blocked{background:#fafbfb;cursor:not-allowed;border-bottom-color:transparent}.stage-band-cta-dot{width:22px;height:22px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff}.stage-band-cta--blocked .stage-band-cta-dot{background:var(--muted);color:var(--text-faint)}.stage-band-cta-title{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-primary)}.stage-band-cta--blocked .stage-band-cta-title{color:var(--text-faint)}.ui-dialog.mask-import-dialog{max-width:520px}.ui-btn.mask-import-add{border:1px dashed var(--stage-border);padding:8px 12px;margin-top:12px;width:100%;transition:all .15s ease}.ui-btn.mask-import-add:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--stage-hover-bg)}.mask-import-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto}.mask-import-list li{display:flex;align-items:center;gap:8px;background:var(--muted);border:1px solid var(--border);border-radius:6px;padding:6px 10px}.mask-import-name{flex:1;min-width:0;font-size:.78rem;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mask-import-label{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--text-muted);flex-shrink:0}.mask-import-label input{width:52px;padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:.78rem}.ui-icon-btn.mask-import-remove{width:24px;height:24px;border-radius:4px;color:var(--color-danger);flex-shrink:0}.ui-icon-btn.mask-import-remove:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}.ui-icon-btn.mask-import-remove:disabled{color:var(--color-danger)}.mask-import-coords{display:flex;flex-direction:column;gap:4px;margin:12px 0 0;font-size:.72rem;color:var(--text-muted)}.mask-import-coords select{padding:5px 6px;border:1px solid var(--border);border-radius:4px;font-size:.78rem;background:var(--surface);color:var(--text-primary)}.mask-import-hint{line-height:1.4}.mask-import-error{margin:10px 0 0}.mask-import-warning{margin:12px 0 0}.object-list{flex:1 1 auto;min-height:0;overflow-y:auto;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.object-row{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid transparent;border-radius:var(--radius-row);background:transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease;position:relative}.object-row:hover{background:var(--surface-inset)}.object-row.selected,.object-row.active{background:var(--selected-bg);border-color:var(--selected-border)}.object-row.hidden .object-row-name{color:var(--text-faint)}.object-row-swatch{width:9px;height:9px;border-radius:3px;flex-shrink:0}.object-row-swatch--round{border-radius:50%}.object-row.hidden .object-row-swatch{opacity:.3}.object-row-name{flex:1 1 auto;font-size:13px;font-weight:500;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.object-row.selected .object-row-name,.object-row.active .object-row-name{color:var(--color-primary);font-weight:600}.object-row-saving-spinner{flex-shrink:0;width:10px;height:10px;border:2px solid rgba(20,83,112,.2);border-top-color:var(--color-primary);border-radius:50%;animation:ui-spin .7s linear infinite}.object-row-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.ui-icon-btn.object-row-icon-btn{width:20px;height:20px;padding:0;border-radius:5px;color:var(--text-muted);transition:all .15s ease}.ui-icon-btn.object-row-icon-btn:hover:not(:disabled){background:var(--badge-fill);color:var(--color-primary)}.ui-icon-btn.object-row-icon-btn.active{background:var(--badge-fill);color:var(--color-primary)}.ui-icon-btn.object-row-icon-btn:disabled{color:var(--text-disabled)}.object-row-rename-input{flex:1 1 auto;min-width:0;font-size:13px;font-family:inherit;padding:2px 6px;border:1px solid var(--color-primary);border-radius:var(--radius-xs);outline:none}.ui-dropdown-menu.object-row-menu-panel{width:186px;z-index:20}.object-row-text{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;gap:1px}.object-row-text .object-row-name{flex:0 0 auto}.object-row-subtitle{font-size:11.5px;color:var(--text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.object-row.hidden .object-row-subtitle{color:var(--text-faint)}.object-row[draggable=true]:active{opacity:.6}.fragment-tree .object-row{padding-left:24px}.fragment-group-head{display:flex;align-items:center;gap:8px;padding:7px 9px;margin-top:4px;border-radius:7px;border:1px solid var(--border-group-head);background:var(--surface-group-head);cursor:pointer;width:100%;text-align:left}.fragment-group-head:first-child{margin-top:0}.fragment-group-head:hover{background:var(--surface-group-head-hover)}.fragment-group-head--drag-over{background:var(--selected-bg);border:1px dashed var(--selected-border)}.fragment-group-head--unassigned{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.fragment-group-swatch{width:9px;height:9px;border-radius:3px;flex:none;background:var(--text-subtle)}.fragment-group-name{flex:1;min-width:0;font:600 10.5px/1.3 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-ink)}.fragment-group-head--hidden .fragment-group-name{color:var(--text-faint)}.fragment-group-head--unassigned .fragment-group-name{color:var(--color-warning)}.fragment-group-count{font-size:11px;color:var(--text-subtle);flex:none;width:15px;text-align:center}.fragment-group-remove{border:none;background:transparent;color:var(--text-subtle);font-size:14px;line-height:1;padding:0;cursor:pointer;flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:5px}.fragment-group-remove:hover{background:var(--color-danger-bg);color:var(--color-danger)}.fragment-group-empty{padding:5px 10px 7px 30px;font-size:11.5px;color:var(--text-faint)}.fragment-row-badge{font-size:10px;font-weight:500;letter-spacing:.04em;color:var(--color-primary);background:var(--badge-fill);border-radius:var(--radius-xs);padding:2px 5px;flex:none}.ui-icon-btn.fragment-pin{width:20px;height:20px;color:var(--text-disabled)}.ui-icon-btn.fragment-pin:hover:not(:disabled){background:var(--badge-fill);color:var(--color-primary)}.ui-icon-btn.fragment-pin.active{background:transparent;color:var(--color-primary)}.fragment-add-group{margin-bottom:8px;width:100%;border:1px dashed var(--border-dashed);background:var(--surface);border-radius:var(--radius-row);color:var(--text-muted);font-size:12px;padding:8px 10px;cursor:pointer;text-align:center}.fragment-add-group:hover,.fragment-add-group--open{border-color:var(--selected-border);background:var(--selected-bg-soft);color:var(--color-primary)}.fragment-anatomy-picker{margin:-4px 0 8px;border:1px solid var(--border-structural);border-radius:var(--radius-row);background:var(--surface);box-shadow:var(--shadow-raised);padding:5px}.fragment-anatomy-picker-title{padding:6px 7px 5px;font-size:10px;font-weight:500;letter-spacing:.06em;color:var(--text-faint)}.fragment-anatomy-option{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;padding:7px 8px;border-radius:var(--radius-sm);font-size:12.5px;color:var(--color-ink);cursor:pointer;text-align:left}.fragment-anatomy-option:hover:not(:disabled){background:var(--selected-bg-soft);color:var(--color-primary)}.fragment-anatomy-option:disabled{color:var(--text-faint);cursor:default}.fragment-anatomy-option-name{flex:1;min-width:0}.fragment-anatomy-option-used{font-size:11px;color:var(--text-hairline)}.fragment-selection-bar{display:flex;flex-direction:column;gap:6px}.fragment-selection-bar-head{display:flex;align-items:center;gap:8px}.fragment-selection-clear{margin-left:auto;border:none;background:transparent;color:var(--text-subtle);font-size:11.5px;cursor:pointer;padding:0}.fragment-selection-targets{display:flex;flex-wrap:wrap;gap:5px}.fragment-selection-target{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-btn);font-size:11.5px;color:var(--color-ink);padding:5px 9px;cursor:pointer}.fragment-selection-target:hover{border-color:var(--selected-border);background:var(--selected-bg-soft);color:var(--color-primary)}.fragment-selection-target--unassign{border-color:var(--color-warning-border-strong);background:var(--color-warning-bg);color:var(--color-warning-deep)}.mask-footer-row{display:flex;gap:6px;position:relative}.mask-footer-row .ui-dropdown{flex:1;min-width:0}.ui-btn.mask-footer-half{flex:1;min-width:0;justify-content:center;text-align:center;font-size:12px;font-weight:400;color:var(--text-muted);padding:8px 6px}.ui-btn.mask-footer-half.active{background:var(--selected-bg);border-color:var(--selected-border);color:var(--color-primary)}.ui-dropdown-menu.mask-download-menu{width:236px}.fragment-groups-hint{margin:0 4px 8px;font-size:11.5px;color:var(--text-subtle);line-height:1.45}.viewer3d{position:relative;flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.viewer3d-canvas{position:relative;flex:1;min-height:0;min-width:0;overflow:hidden}.viewer3d-canvas canvas{display:block;outline:none}.viewer3d-toolbar{position:absolute;top:10px;left:10px;display:flex;gap:4px;background:#fffffff0;border:1px solid var(--border);border-radius:8px;padding:4px;box-shadow:var(--shadow-raised)}.viewer3d-tool-group{display:inline-flex;align-items:stretch;background:var(--muted);border-radius:5px}.viewer3d-tool-group>*+*{border-left:1px solid var(--border)}.viewer3d-tool-group>.viewer3d-tool-btn:not(:first-child),.viewer3d-tool-group>:not(:first-child) .viewer3d-tool-btn{border-top-left-radius:0;border-bottom-left-radius:0}.viewer3d-tool-group>.viewer3d-tool-btn:not(:last-child),.viewer3d-tool-group>:not(:last-child) .viewer3d-tool-btn{border-top-right-radius:0;border-bottom-right-radius:0}.viewer3d-tool-dropdown{position:relative;display:inline-flex}.viewer3d-tool-dropdown>.viewer3d-tool-btn{width:auto;padding:0 5px 0 6px;gap:3px}.viewer3d-dropdown-caret{width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid currentColor;opacity:.75}.viewer3d-toolbar-divider{width:1px;align-self:stretch;margin:3px 2px;background:var(--border)}.viewer3d-navcube{position:absolute;z-index:5;touch-action:none}.viewer3d-navcube-calibrate{position:absolute;display:flex;background:#fffffff0;border:1px solid var(--border);border-radius:8px;padding:2px;box-shadow:var(--shadow-raised)}.viewer3d-navcube-calibrate .viewer3d-tool-btn[data-tooltip]:after{top:auto;bottom:calc(100% + 10px);left:auto;right:0}.ui-dropdown-menu.viewer3d-navcube-menu{bottom:calc(100% + 8px);right:-2px;min-width:190px}.viewer3d-roll-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;overflow:visible;opacity:0;transition:opacity .18s ease;z-index:4;color:var(--color-primary)}.viewer3d-roll-ring--visible{opacity:.16}.viewer3d-roll-ring--active{opacity:.42}.viewer3d-roll-ring-circle{fill:none;stroke:currentColor;stroke-width:.4;stroke-dasharray:3 4;opacity:.8}.viewer3d-roll-ring-arrow{fill:none;stroke:currentColor;stroke-width:.5;stroke-linecap:round;stroke-linejoin:round}.viewer3d-error.ui-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-viewer-chrome);max-width:80%}.viewer3d-fit-message{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#1e1e1ed9;border-radius:6px;color:#f2f2f2;padding:6px 14px;font-size:.78rem;pointer-events:none;white-space:nowrap}.viewer3d-measure-toolbar{top:50%;left:10px;transform:translateY(-50%);flex-direction:column}.viewer3d-measure-toolbar .viewer3d-tool-btn[data-tooltip]:after{top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.viewer3d-measure-tag{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.5px solid var(--color-primary);border-radius:6px;padding:2px 8px;font-size:.74rem;color:#22313d;white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;z-index:6;box-shadow:0 1px 5px #00000038}.viewer3d-measure-tag.dragging{cursor:grabbing}.viewer3d-measure-tag.selected{border-color:#c25c00;box-shadow:0 1px 7px #c25c0066}.viewer3d-measure-tag.draft{border-style:dashed;cursor:default}.viewer3d-measure-tag-name{font-weight:600;color:var(--color-primary)}.viewer3d-measure-tag.selected .viewer3d-measure-tag-name{color:#c25c00}.viewer3d-measure-tag-value{font-variant-numeric:tabular-nums;font-weight:600}.viewer3d-measure-leaders{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:visible}.viewer3d-measure-leader{stroke:var(--color-primary);stroke-width:1.2;stroke-dasharray:2 4;stroke-linecap:round;opacity:.85}.viewer3d-measure-leader.selected{stroke:#c25c00}.viewer3d-settings-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#14202b40;z-index:60}.viewer3d-settings-panel{width:min(440px,calc(100% - 48px));max-height:calc(100% - 48px);overflow-y:auto;overscroll-behavior:none;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-panel);padding:14px 16px;font-size:.8rem;color:var(--color-ink)}.viewer3d-settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.viewer3d-settings-header h3{margin:0;font-weight:600;font-size:.95rem;color:var(--color-primary)}.viewer3d-settings-panel h4{margin:14px 0 6px;font-weight:600;font-size:.8rem;color:var(--color-primary)}.viewer3d-settings-row{display:flex;align-items:center;gap:8px;padding:3px 0}.viewer3d-settings-label{flex:1;min-width:0}.viewer3d-settings-binding{min-width:96px;text-align:center;border:1px solid var(--border);background:var(--muted);border-radius:5px;padding:3px 8px;font-size:.74rem;font-family:inherit;font-variant-numeric:tabular-nums;cursor:pointer}.viewer3d-settings-binding.capturing{border-color:var(--color-primary);background:var(--stage-hover-bg);color:var(--color-primary)}.viewer3d-settings-conflict{color:#b3261e;font-size:.7rem;font-weight:600;text-transform:uppercase}.viewer3d-settings-reset{border:none;background:none;color:var(--color-primary);font-size:.72rem;cursor:pointer;padding:2px 4px}.viewer3d-settings-reset:disabled{color:var(--text-subtle);cursor:default}.viewer3d-settings-note{margin:6px 0 0;font-size:.72rem;color:var(--text-muted)}.viewer3d-settings-footer{display:flex;justify-content:flex-end;margin-top:12px}.viewer3d-settings-reset-all{border:1px solid var(--border);background:transparent;border-radius:6px;padding:4px 12px;font-size:.74rem;cursor:pointer}.viewer3d-settings-reset-all:hover{background:var(--stage-hover-bg)}.viewer3d-settings-capture-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;cursor:crosshair}.viewer3d-settings-row.fixed .viewer3d-settings-label{color:var(--text-subtle)}.viewer3d-settings-fixed-trigger{min-width:96px;text-align:center;border:1px dashed var(--border);border-radius:5px;padding:3px 8px;font-size:.74rem;color:var(--text-subtle)}.scene-tabs{display:flex;gap:2px}.scene-tab{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;padding:6px 8px;border-radius:var(--radius-sm);font-size:10.5px;font-weight:500;letter-spacing:.1em;color:var(--text-subtle);cursor:pointer}.scene-tab:hover{background:var(--muted)}.scene-tab.active{background:var(--selected-bg);color:var(--color-primary)}.scene-tab-count{font-size:10px;opacity:.7;letter-spacing:0}.reduction-viewer-placeholder{flex:1;min-height:100%}.template-swatch{width:9px;height:9px;border-radius:3px;border:1.5px dashed var(--text-subtle);flex:none;background:transparent}.object-row.hidden .template-swatch{opacity:.35}.template-control-card{list-style:none;margin:5px 0 2px;padding:10px 11px;border:1px solid var(--border-structural);border-radius:var(--radius-row);background:var(--surface-inset-soft);display:flex;flex-direction:column;gap:9px}.template-control-row{display:flex;align-items:center;gap:8px}.template-control-label{flex:1;font-size:11.5px;color:var(--text-subtle)}.template-control-value{font-size:11.5px;color:var(--text-muted);flex:none;width:34px;text-align:right}.template-opacity-slider{width:74px;flex:none}.template-control-row--actions{gap:6px}.ui-chip.template-control-chip{height:25px;padding:0 8px;font-size:11.5px}.template-control-reset{margin-left:auto;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);color:var(--text-muted);font-size:11.5px;height:25px;padding:0 9px;cursor:pointer}.template-control-reset:hover{background:var(--muted)}.measurement-kind-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;background:var(--badge-fill);color:var(--color-primary);flex-shrink:0}.reduction-export-anchor{display:flex;width:100%}.reduction-export-anchor>.ui-btn{flex:1}.ui-btn.reduction-export-open{background:var(--selected-bg);border-color:var(--selected-border);color:var(--color-primary)}.ui-dropdown-menu.reduction-export-menu{width:250px;z-index:20}.config-center,.config-viewer-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;position:relative}.config-viewer-placeholder{flex:1;min-height:100%}.object-row-swatch.config-screw-swatch{background:var(--text-subtle)}.config-sidebar-error{margin-top:8px}.config-placeholder-banner.ui-message{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:var(--z-viewer-chrome);max-width:min(80%,560px);box-shadow:var(--shadow-raised)}.config-placement-hint{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#fffffff0;border:1px solid var(--border);border-radius:var(--radius-row);box-shadow:var(--shadow-raised);padding:7px 12px;z-index:var(--z-viewer-chrome);font-size:12.5px;color:var(--color-ink);white-space:nowrap}.config-placement-step{font-size:11px;color:var(--color-primary);background:var(--badge-fill);border-radius:var(--radius-xs);padding:2px 6px}.config-placement-draft{font-size:11px;font-weight:600;color:var(--color-warning-deep);background:var(--color-warning-bg-strong);border-radius:var(--radius-xs);padding:2px 6px;text-transform:uppercase;letter-spacing:.04em}.config-placement-cancel{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);color:var(--text-muted);font-size:11.5px;padding:3px 8px;cursor:pointer}.config-placement-cancel:hover{background:var(--muted)}.config-hole-strip-slot{flex:none;min-height:42px;display:flex;align-items:center;background:var(--surface);border:1px solid var(--border-structural);border-radius:var(--radius);padding:0 12px}.config-hole-strip-empty{font-size:11.5px;color:var(--text-faint)}.config-hole-strip{display:flex;align-items:center;gap:10px;width:100%;min-width:0}.config-hole-strip-label{font-size:11.5px;color:var(--text-subtle);white-space:nowrap;flex:none;max-width:180px;overflow:hidden;text-overflow:ellipsis}.config-hole-scroll{position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0}.config-hole-strip-dots{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;padding:4px 0}.config-hole-fade{position:absolute;top:0;bottom:0;width:36px;pointer-events:none;z-index:1}.config-hole-fade--left{left:0;background:linear-gradient(to right,var(--surface) 35%,transparent)}.config-hole-fade--right{right:0;background:linear-gradient(to left,var(--surface) 35%,transparent)}.config-hole-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;z-index:2}.config-hole-scroll-btn:hover{background:var(--muted);color:var(--color-ink)}.config-hole-scroll-btn--left{left:0}.config-hole-scroll-btn--right{right:0}.config-hole-dot{width:24px;height:24px;border-radius:50%;background:var(--surface);border:1.5px solid var(--text-disabled);color:var(--text-subtle);font-size:11px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;flex:none;cursor:pointer;padding:0}.config-hole-dot.filled{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.config-hole-dot.warning{background:var(--surface);border-color:var(--color-accent);color:var(--color-warning)}.config-hole-dot.selected{box-shadow:0 0 0 2px var(--selected-border)}.config-hole-strip-count{font-size:11.5px;color:var(--text-muted);margin-left:2px;white-space:nowrap;flex:none}.config-hole-strip-divider{width:1px;height:20px;background:var(--divider-soft);margin:0 2px;flex:none}.config-hole-fill-btn{border-radius:var(--radius-sm);font-size:11.5px;font-weight:600;padding:5px 10px;cursor:pointer;white-space:nowrap;background:var(--surface);border:1px solid var(--color-primary);color:var(--color-primary);flex:none}.config-hole-fill-btn:hover,.config-hole-fill-btn.active{background:var(--color-primary);color:#fff}.config-screw-picker{position:absolute;width:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-popover);padding:14px 16px;z-index:30;display:flex;flex-direction:column;gap:8px}.config-screw-picker-header{display:flex;align-items:baseline;gap:8px}.config-screw-picker-header h4{margin:0;font-size:13.5px;font-weight:600;color:var(--color-ink)}.ui-icon-btn.config-screw-picker-close{margin-left:auto;width:22px;height:22px;color:var(--text-subtle)}.config-screw-picker-subtitle{font-size:11.5px;color:var(--text-subtle);margin:-4px 0 2px}.config-screw-picker-warning,.config-screw-picker-empty{font-size:11.5px;line-height:1.5;color:var(--color-warning-soft);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-row);padding:8px 10px}.config-screw-picker-label{display:block;font-size:11px;color:var(--text-subtle);margin-bottom:-4px}.config-screw-picker select{width:100%;border:1px solid var(--border);border-radius:var(--radius-btn);padding:7px 10px;font:inherit;font-size:12.5px;color:var(--color-ink);background:var(--surface)}.config-screw-picker-hint{font-size:11.5px;color:var(--text-muted)}.config-screw-picker-error{font-size:11.5px;color:var(--color-danger-text)}.config-screw-picker-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.config-fill-subtitle{margin:-6px 0 12px;font-size:11.5px;color:var(--text-subtle)}.config-fill-select{font-size:12.5px;margin-bottom:10px}.config-fill-length{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.config-fill-radio{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--color-ink);cursor:pointer}.config-fill-fixed{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-muted)}.config-fill-fixed input{width:64px;border:1px solid var(--border);border-radius:5px;padding:3px 7px;font-size:11.5px;color:var(--color-ink)}.config-fill-replace{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);cursor:pointer}.config-fill-notice{margin:-2px 0 10px}.ui-panel-body.config-library-body{padding:0 12px 12px;gap:8px}.config-library-controls{flex:none;display:flex;flex-direction:column;gap:8px;padding-bottom:2px}.config-library-search{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius-row);padding:0 10px;background:var(--surface-inset);color:var(--text-subtle)}.config-library-search input{flex:1;min-width:0;border:none;background:transparent;padding:8px 0;font:inherit;font-size:12.5px;color:var(--color-ink);outline:none}.config-library-search input::placeholder{color:var(--text-subtle)}.config-library-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;position:relative}.ui-dropdown-menu.config-library-filter-menu{width:212px;max-height:230px;overflow-y:auto;z-index:40}.config-library-clear{border:none;background:transparent;color:var(--text-subtle);font-size:11.5px;cursor:pointer;padding:5px 2px}.config-library-clear:hover{color:var(--text-muted)}.config-library-approved-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);cursor:pointer;flex:none;padding-top:4px}.config-library-tabs{flex:none;display:flex;gap:2px;border-bottom:1px solid var(--divider-soft)}.config-library-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-size:12px;font-weight:600;color:var(--text-subtle);padding:7px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.config-library-tab:hover{color:var(--text-muted)}.config-library-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.config-library-card.config-screw-card{display:flex;align-items:center;gap:10px;cursor:default}.config-library-card.config-screw-card .config-library-card-text{flex:1}.config-library-card.config-screw-card:hover{border-color:var(--border-structural)}.config-library-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.config-library-card{border:1px solid var(--border-structural);border-radius:var(--radius);padding:10px;cursor:pointer;background:var(--surface)}.config-library-card:hover{border-color:var(--text-disabled)}.config-library-card.open{border-color:var(--selected-border);background:#fbfdfe}.config-library-card-top{display:flex;gap:11px;align-items:center}.config-library-thumb{width:48px;height:48px;flex:none;border-radius:var(--radius-row);background:var(--muted);display:flex;align-items:center;justify-content:center;overflow:hidden}.config-library-thumb img{width:100%;height:100%;object-fit:contain}.config-library-thumb-placeholder{width:18px;height:30px;border-radius:5px;background:var(--text-disabled);display:block}.config-library-card-text{min-width:0}.config-library-card-title{font-size:12.5px;font-weight:600;color:var(--color-ink)}.config-library-card-system{font-size:11px;color:var(--text-subtle);margin-top:2px}.config-library-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.config-library-chip{font-size:10.5px;color:var(--text-muted);background:var(--muted);border-radius:var(--radius-xs);padding:2px 6px}.config-library-chip.approved{background:var(--color-success-bg);color:var(--color-success)}.config-library-chip.non-approved{background:var(--color-warning-bg-strong);color:var(--color-warning)}.config-library-versions{margin-top:10px;border-top:1px solid var(--divider-soft);padding-top:8px;display:flex;flex-direction:column;gap:7px;cursor:default}.config-library-version{display:flex;align-items:center;gap:8px}.config-library-version-main{flex:1;min-width:0}.config-library-version-spec{display:block;font-size:11.5px;color:var(--text-muted)}.config-library-draft{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--color-warning-deep);margin-top:2px}.config-library-draft-dot{width:5px;height:5px;border-radius:50%;background:var(--color-accent);flex:none}.ui-btn.config-library-add{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-sm);font-size:11.5px;font-weight:600;padding:4px 11px;flex:none}.ui-btn.config-library-add:hover:not(:disabled){background:var(--selected-bg)}.ui-btn.config-library-add.non-approved{border-color:var(--color-warning-border-strong);color:var(--color-warning-deep)}.ui-btn.config-library-add.non-approved:hover:not(:disabled){background:var(--color-warning-bg)}.config-library-no-versions{font-size:11.5px;color:var(--text-subtle)}.config-library-loading{display:flex;justify-content:center;padding:8px 0;color:var(--color-primary)}.config-library-unavailable{margin:8px 2px}.plan-center{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.plan-bar{flex:none;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border-structural);border-radius:var(--radius);padding:8px 12px;position:relative}.plan-bar-divider{width:1px;height:20px;background:var(--divider-soft);flex:none}.plan-bar-btn{display:inline-flex;align-items:center;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-btn);color:var(--color-ink);font-size:12px;padding:5px 10px;cursor:pointer;flex:none}.plan-bar-btn:hover,.plan-bar-btn.active{border-color:var(--selected-border);background:var(--selected-bg-soft);color:var(--color-primary)}.plan-views-chips{display:inline-flex;gap:3px;margin-left:6px}.plan-views-chip{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:var(--radius-xs);background:var(--muted);color:var(--text-muted);font-size:10px;font-weight:500}.plan-views-chip--missing{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.plan-bar-check{display:inline-flex;align-items:center;gap:7px;font-size:12px;cursor:pointer;flex:none}.plan-release-nonclinical{color:var(--color-warning);font-weight:600}.plan-report-badge-note{color:var(--color-warning);font-weight:600;font-size:12.5px;margin:4px 0 8px}.plan-bar-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}.ui-dropdown-menu.plan-views-panel{width:300px;padding:12px;z-index:40}.plan-views-popover{display:flex;flex-direction:column;gap:9px}.plan-views-note{margin:0;font-size:11.5px;color:var(--text-subtle);line-height:1.5}.plan-views-slot{border:1px solid var(--divider-soft);border-radius:var(--radius-menu);padding:10px 11px;display:flex;flex-direction:column;gap:6px}.plan-views-slot--missing{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.plan-views-slot-row{display:flex;align-items:center;gap:8px}.plan-views-name{flex:1;min-width:0;padding:6px 8px;font-size:12.5px}.plan-views-short{width:42px;padding:6px 8px;font-size:12px;text-align:center}.plan-views-direction{font-size:11px;color:var(--text-subtle);flex:none;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-views-direction--missing{color:var(--color-danger-text)}.plan-views-preset{font-size:12.5px;padding:7px 26px 7px 9px}.plan-views-preset--missing{border-style:dashed;border-color:var(--color-danger-border);color:var(--color-danger-text)}.plan-views-slot-actions{display:flex;align-items:center;gap:8px}.plan-views-slot-actions .plan-views-preset{flex:1;min-width:0}.plan-views-capture{flex:none;font-size:12px;padding:7px 10px;white-space:nowrap}.plan-views-capture-error{margin:0;font-size:11.5px;color:var(--color-danger-text)}.plan-step-band{flex:1 1 0;min-height:340px;display:flex;flex-direction:column;gap:8px;background:var(--plan-band-bg);border:1px solid var(--plan-band-border);border-radius:var(--radius-dialog);padding:8px;position:relative}.plan-step-band-head{display:flex;align-items:baseline;gap:9px;padding:2px 4px 0}.plan-step-band-label{font-size:10.5px;font-weight:500;line-height:1;letter-spacing:.1em;color:#4d7f92}.plan-step-band-title{font-size:12.5px;font-weight:600;color:#1c4a5e}.plan-step-cards{flex:none;display:flex;align-items:stretch;gap:6px;min-width:0}.plan-step-cards-scroll{flex:1 1 auto;min-width:0;display:flex;align-items:stretch;gap:6px;overflow-x:auto;padding-bottom:2px}.plan-step-card{flex:0 0 186px;min-width:0;display:flex;flex-direction:column;gap:2px;padding:8px 9px 9px;border-radius:var(--radius-row);cursor:pointer;background:var(--surface);border:1px solid var(--divider-soft)}.plan-step-card--active{background:var(--selected-bg-soft);border-color:var(--selected-border)}.plan-step-card--drag-over{box-shadow:inset 0 0 0 1px #9ec7d8}.plan-step-card-top{display:flex;align-items:center;gap:6px}.plan-step-badge{width:19px;height:19px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:500;background:var(--muted);color:var(--text-subtle)}.plan-step-badge--active{background:var(--color-primary);color:#fff}.plan-step-fixed{margin-left:auto;color:var(--text-disabled);display:flex;flex:none}.plan-step-tools{margin-left:auto;display:flex;align-items:center;gap:2px;flex:none}.plan-step-handle{display:inline-flex;align-items:center;color:var(--text-disabled);cursor:grab;font-size:12px}.plan-step-remove{border:none;background:transparent;color:var(--text-subtle);padding:0 1px;cursor:pointer;display:flex;align-items:center}.plan-step-remove:hover{color:var(--color-danger)}.plan-step-label{font-size:12.5px;font-weight:600;padding-top:4px;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-step-input{width:100%;border:1px solid transparent;background:transparent;border-radius:var(--radius-sm);padding:3px 5px;margin:1px 0 0 -5px;font:inherit;font-size:12.5px;font-weight:600;color:var(--color-ink)}.plan-step-input--active{border-color:var(--plan-band-border);background:var(--surface)}.plan-step-input:focus{outline:none;border-color:var(--selected-border);background:var(--surface)}.plan-step-sub{font-size:11px;color:var(--text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-step-cards>.ui-dropdown.plan-add-step-anchor{flex:none;display:flex;align-items:stretch;padding-bottom:2px}.plan-add-step{flex:1 1 auto;border:1px dashed var(--border-dashed-soft);background:var(--surface);border-radius:var(--radius-row);color:var(--color-primary);font-size:12px;padding:0 13px;cursor:pointer;white-space:nowrap}.plan-add-step:hover,.plan-add-step.active{border-color:var(--selected-border);background:var(--selected-bg-soft)}.ui-dropdown-menu.plan-add-step-menu{width:308px}.plan-add-step-name{display:flex;align-items:center;gap:7px}.plan-add-step-tag{font-size:10.5px;color:var(--color-warning);background:var(--color-warning-bg-strong);border-radius:var(--radius-xs);padding:2px 6px}.plan-preview{flex:1 1 0;min-height:180px;border-radius:var(--radius);background:var(--surface);border:1px solid #dbe6ec;position:relative;display:flex;flex-direction:column;overflow:hidden}.plan-preview-chip{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:7px;background:#fffffff0;border:1px solid var(--border);border-radius:var(--radius-row);padding:5px 9px;box-shadow:var(--shadow-raised);z-index:var(--z-viewer-chrome);font-size:11.5px;color:var(--text-muted)}.plan-preview-warning{position:absolute;top:44px;left:10px;max-width:340px;background:var(--color-warning-bg-strong);border:1px solid var(--color-warning-border-strong);border-radius:var(--radius-row);padding:6px 9px;box-shadow:var(--shadow-raised);z-index:var(--z-viewer-chrome);font-size:11.5px;line-height:1.45;color:var(--color-warning-deep)}.plan-preview-viewpoints{position:absolute;top:10px;right:10px;display:flex;gap:4px;z-index:var(--z-viewer-chrome)}.plan-viewpoint-btn{min-width:30px;height:26px;padding:0 7px;border:1px solid var(--border);border-radius:var(--radius-btn);background:#fffffff0;box-shadow:var(--shadow-raised);font-size:11px;font-weight:500;color:var(--color-primary);cursor:pointer}.plan-viewpoint-btn:hover:not(:disabled){background:var(--selected-bg);border-color:var(--selected-border)}.plan-viewpoint-btn:disabled{color:var(--text-disabled);border-style:dashed;cursor:default}.plan-preview-placeholder{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-faint);text-align:center;padding:20px}.plan-preview-caption{position:absolute;bottom:14px;left:50%;transform:translate(-50%);background:#fffffff0;border:1px solid var(--border);border-radius:var(--radius-row);box-shadow:var(--shadow-raised);padding:5px 10px;font-size:11.5px;color:var(--text-muted);z-index:var(--z-viewer-chrome);max-width:min(80%,560px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-validation{flex:none;position:sticky;bottom:0;z-index:1;max-height:216px;overflow-y:auto;background:var(--surface);border:1px solid var(--border-structural);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.plan-validation-head{display:flex;align-items:center;gap:9px}.plan-validation-title{font-size:13px;font-weight:600}.plan-validation-note{font-size:11.5px;color:var(--text-subtle)}.plan-validation-item{display:flex;gap:10px;align-items:flex-start;border-radius:var(--radius-row);padding:9px 11px}.plan-validation-item--error{border:1px solid var(--color-danger-border);background:var(--color-danger-bg)}.plan-validation-item--warning{border:1px solid var(--color-warning-border);background:var(--color-warning-bg)}.plan-validation-code{font-size:10px;font-weight:500;border-radius:var(--radius-xs);padding:3px 5px;flex:none}.plan-validation-item--error .plan-validation-code{color:var(--color-danger-text);background:#f7e4e1}.plan-validation-item--warning .plan-validation-code{color:var(--color-warning);background:#f7eddb}.plan-validation-body{min-width:0}.plan-validation-item-title{display:block;font-size:12.5px;font-weight:500;color:var(--color-ink)}.plan-validation-explanation{display:block;font-size:11.5px;margin-top:2px;line-height:1.45}.plan-validation-item--error .plan-validation-explanation{color:#7c5b57}.plan-validation-item--warning .plan-validation-explanation{color:var(--color-warning-soft)}.plan-validation-none{font-size:12px;color:var(--color-success)}.plan-validation-passing{border-top:1px solid var(--divider);padding-top:8px;font-size:11.5px;color:var(--text-faint);line-height:1.6}.plan-structure{display:flex;flex-direction:column;gap:1px}.plan-structure-hint{display:flex;align-items:flex-start;gap:7px;padding:0 4px 8px;font-size:11.5px;color:var(--text-subtle);line-height:1.45}.plan-structure-hint>svg{flex:none;margin-top:2px;color:var(--text-faint)}.plan-category{display:flex;flex-direction:column;gap:1px}.plan-category-head{cursor:pointer;border-radius:var(--radius-row);border:1px solid transparent;margin-bottom:1px}.plan-category-head:hover{background:var(--surface-inset)}.plan-category-head--selected,.plan-category-head--selected:hover{background:var(--selected-bg-soft);border-color:var(--selected-border);color:var(--color-primary)}.plan-category-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-category-role{font-size:9.5px;letter-spacing:.05em;text-transform:none;color:var(--text-muted);background:var(--muted);border:1px solid transparent;border-radius:var(--radius-xs);padding:2px 5px;flex:none;cursor:pointer}.plan-category-role:hover,.plan-category-role:focus-visible{background:var(--selected-bg);border-color:var(--selected-border);color:var(--color-primary);outline:none}.plan-category-role--selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.plan-group-head.fragment-group-head{padding-top:7px;padding-bottom:6px}.plan-group-head--selected,.plan-group-head--selected:hover{background:var(--selected-bg);border-color:var(--selected-border)}.plan-structure .object-row{padding-left:24px}.plan-tree-empty{padding:4px 10px 8px 22px;font-size:11.5px;color:var(--text-faint)}.ui-panel.plan-inspector-panel{width:308px}.plan-inspector-headname{font-size:11.5px;color:var(--text-faint);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-inspector{display:flex;flex-direction:column;gap:16px;padding:4px}.plan-inspector-empty{margin:8px 4px;font-size:11.5px;color:var(--text-subtle);line-height:1.5}.plan-inspector-label{margin-bottom:7px;display:block}.plan-colour-block{display:flex;align-items:center;gap:11px;border:1px solid var(--divider-soft);border-radius:var(--radius-row);padding:10px 11px}.plan-colour-swatch{width:34px;height:34px;border-radius:var(--radius-btn);flex:none}.plan-colour-text{min-width:0}.plan-colour-title{display:block;font-size:12.5px;font-weight:500}.plan-colour-hex{display:block;font-size:11.5px;color:var(--text-subtle);margin-top:2px}.plan-colour-band-label{min-width:0;font-size:11.5px;color:var(--text-muted);line-height:1.45}.plan-check{display:flex;align-items:center;gap:9px;margin-top:11px;font-size:12.5px;cursor:pointer}.plan-inspector-rows{display:flex;flex-direction:column;gap:7px}.plan-inspector-row{display:flex;justify-content:space-between;gap:12px;font-size:12.5px}.plan-inspector-row>span:first-child{color:var(--text-subtle)}.plan-inspector-appears{font-size:12.5px;line-height:1.5}.plan-role-select{margin-top:7px;font-size:12.5px}.plan-attenuation-warning{border:1px solid var(--color-warning-border);background:var(--color-warning-bg);border-radius:var(--radius-row);padding:9px 11px;font-size:11.5px;color:var(--color-warning-soft);line-height:1.5;margin-top:8px}.plan-metallic-note{margin:0}.ui-dialog.plan-release-dialog{max-width:452px}.plan-release-meta{margin:0 0 14px;font-size:12.5px;color:var(--text-muted)}.plan-release-url{font-size:12px;color:var(--color-primary);background:#f3f8fa;border:1px solid #dfeaef;border-radius:var(--radius-row);padding:10px 12px;word-break:break-all;margin-bottom:10px}.plan-release-warning{border:1px solid var(--color-warning-border);background:var(--color-warning-bg);border-radius:var(--radius-row);padding:10px 12px;font-size:12px;color:var(--color-warning-soft);line-height:1.5;margin-top:12px}.plan-release-warning-link{border:none;background:transparent;color:var(--color-warning);font-size:12px;text-decoration:underline;padding:0;cursor:pointer}.plan-release-progress{display:flex;flex-direction:column;gap:10px;margin:4px 0 6px}.plan-release-step{display:flex;align-items:center;gap:9px;font-size:12.5px}.plan-release-step--running .ui-save-indicator-spinner{width:16px;height:16px}.plan-release-bundle{font-size:11px;text-align:right;word-break:break-all}.ui-panel-footer .ui-dropdown{display:block}.ui-btn.plan-report-trigger{width:100%;justify-content:space-between;text-align:left;font-size:12px;font-weight:400;color:var(--text-muted);padding:8px 6px}.ui-btn.plan-report-trigger.active{background:var(--selected-bg);border-color:var(--selected-border);color:var(--color-primary)}.ui-dropdown-menu.plan-report-menu{width:236px}.env-badge{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:var(--z-env-badge);pointer-events:none;padding:4px 14px 5px;border-radius:0 0 var(--radius-sm) var(--radius-sm);font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;line-height:1.3}.env-badge--local{background:var(--background-color-env-local);color:var(--text-color-env-on-dark)}.env-badge--dev{background:var(--background-color-env-dev);color:var(--text-color-env-on-light)}.env-badge--test{background:var(--background-color-env-test);color:var(--text-color-env-on-dark)}.env-badge--research{background:var(--background-color-env-research);color:var(--text-color-env-on-light)}.env-badge-context{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@font-face{font-family:Geist Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/Geist-Variable-Bj2R_7yk.woff2) format("woff2")}@font-face{font-family:Geist Fallback;src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:101.7%;ascent-override:98.8%;descent-override:29%;line-gap-override:0%}:root{--font-sans: "Geist Sans", "Geist Fallback", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--color-ink: #433b4b;--text-muted: #5d6f7d;--text-subtle: #8a97a3;--text-faint: #a9b3ba;--text-hairline: #c0c7cc;--text-disabled: #c7cdd2;--color-primary: #145370;--color-primary-dark: #0f3d52;--color-secondary: #3ea2b1;--selected-bg: #e8f4f8;--selected-bg-soft: #f2f9fb;--selected-border: #bcd9e5;--badge-fill: #d9ecf4;--color-success: #1f7a4d;--color-success-bg: #f4faf6;--color-success-border: #cfe3d8;--color-accent: #f59303;--color-warning: #a86c05;--color-warning-soft: #7d6640;--color-warning-deep: #8a5a00;--color-warning-bg: #fffaf2;--color-warning-bg-strong: #fdf4e3;--color-warning-border: #f0e6d0;--color-warning-border-strong: #ecdcb9;--color-danger: #c33;--color-danger-text: #a3352f;--color-danger-bg: #fdf6f5;--color-danger-border: #f0dcd9;--color-info: #2a5d8f;--color-info-bg: #eef4fb;--color-info-border: #d7e4f2;--color-bg: #f4f4f4;--color-background: #f5f8f9;--surface: #ffffff;--surface-inset: #f7f8f9;--surface-inset-soft: #fbfcfc;--muted: #f1f3f4;--slice-bg: #12171a;--slice-stripe-a: #0c1013;--slice-stripe-b: #141a1e;--plan-band-bg: #eaf3f7;--plan-band-border: #cfe0e8;--surface-group-head: #eef1f3;--surface-group-head-hover: #e6eaed;--border-group-head: #e4e8ea;--border-structural: #e6e8ea;--border: #e0e0e0;--divider: #f0f1f2;--divider-soft: #eceff1;--divider-faint: #f4f5f6;--border-dashed: #d6dde1;--border-dashed-soft: #d3d8db;--color-highlight: #ffc000;--color-light: #b8f5f5;--button-bg: #f0f0f0;--button-text: #333;--button-disabled: #c7cdd2;--stage-border: #e6e8ea;--stage-hover-bg: #e8f4f8;--radius-xs: 4px;--radius-sm: 6px;--radius-btn: 7px;--radius-row: 8px;--radius-menu: 9px;--radius: 10px;--radius-dialog: 12px;--radius-card: 14px;--shadow-menu: 0 10px 28px rgba(20, 40, 55, .16);--shadow-popover: 0 12px 34px rgba(20, 40, 55, .18);--shadow-dialog: 0 20px 60px rgba(0, 0, 0, .22);--shadow-raised: 0 1px 4px rgba(0, 0, 0, .08);--shadow-panel: 0 12px 40px rgba(20, 83, 112, .08);--scrim: rgba(30, 38, 44, .42);--z-viewer-chrome: 8;--z-loading: 100;--z-stage-panel: 200;--z-menu: 300;--z-toast: 450;--z-dialog: 1000;--z-env-badge: 2000;--background-color-env-local: #550A79;--background-color-env-dev: #E19708;--background-color-env-test: #34780A;--background-color-env-research: #29ABE2;--text-color-env-on-dark: #ffffff;--text-color-env-on-light: #1a1a1a;--app-bar-height: 52px}html,body,#root{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}html{box-sizing:border-box;font-synthesis:none;font-variant-numeric:tabular-nums}*,*:before,*:after{box-sizing:inherit}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-ink)}button,input,select,textarea{font-family:inherit}a{color:var(--color-primary)}a:hover{color:var(--color-primary-dark)}*{scrollbar-width:thin;scrollbar-color:var(--text-disabled) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--text-disabled);border-radius:8px}*::-webkit-scrollbar-thumb:hover{background:var(--text-subtle)}*::-webkit-scrollbar-corner{background:transparent}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.auth-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:#0078d4;border-radius:50%;animation:ui-spin 1s linear infinite}.auth-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;text-align:center;padding:2rem}.auth-error .ui-message{max-width:30rem;text-align:left}.auth-error button{padding:.5rem 1rem;background:#0078d4;color:#fff;border:none;border-radius:4px;cursor:pointer}.user-profile,.user-profile-compact{display:flex;align-items:center;gap:.5rem}.user-avatar{width:28px;height:28px;background:#0078d4;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.user-info{display:flex;flex-direction:column;font-size:.75rem}.user-name{font-weight:500}.user-email{opacity:.7}.logout-btn{padding:6px 12px;font-size:.8rem;font-weight:500;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:transform .08s ease}.logout-btn:hover{transform:translateY(-1px)}
