@octaviaflow/core 3.0.6 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-base);line-height:var(--ods-line-height-base);color:var(--ods-text-primary);background:var(--ods-surface-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,pre,.font-mono{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums}::selection{background:var(--ods-accent-soft);color:var(--ods-text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background:var(--ods-border-strong);border-radius:var(--ods-radius-1)}::-webkit-scrollbar-thumb:hover{background:var(--ods-text-tertiary)}.ods-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--ods-space-2);border:1px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-weight:500;line-height:1;letter-spacing:0;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));user-select:none;white-space:nowrap;outline:none;text-decoration:none}.ods-btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-btn:active:not(:disabled):not([aria-disabled=true]){transform:scale(0.985)}.ods-btn:disabled,.ods-btn[aria-disabled=true]{cursor:not-allowed;color:var(--ods-text-disabled);background:var(--ods-surface-muted);border-color:var(--ods-border-default);pointer-events:none}.ods-btn__content{display:inline-flex;align-items:center;gap:var(--ods-space-2);transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ods-btn__icon svg{display:block;width:1em;height:1em}.ods-btn__label{display:inline-block}.ods-btn__icon--spinner svg{animation:ods-btn-spin .8s linear infinite}.ods-btn--primary{--btn-color: #FFFFFF;background:var(--ods-accent);color:var(--btn-color);border-color:var(--ods-accent)}.ods-btn--primary:hover:not(:disabled){background:var(--ods-accent-hover);border-color:var(--ods-accent-hover)}.ods-btn--primary:active:not(:disabled){background:var(--ods-accent-press);border-color:var(--ods-accent-press)}.ods-btn--secondary{--btn-color: var(--ods-text-primary);background:var(--ods-surface-canvas);color:var(--btn-color);border-color:var(--ods-border-strong)}.ods-btn--secondary:hover:not(:disabled){background:var(--ods-surface-muted)}.ods-btn--secondary:active:not(:disabled){background:var(--ods-surface-sunken)}.ods-btn--ghost{--btn-color: var(--ods-accent);background:rgba(0,0,0,0);color:var(--btn-color);border-color:rgba(0,0,0,0)}.ods-btn--ghost:hover:not(:disabled){background:var(--ods-accent-soft)}.ods-btn--ghost:active:not(:disabled){background:var(--ods-accent-border)}.ods-btn--danger{--btn-color: #FFFFFF;background:var(--ods-status-failed);color:var(--btn-color);border-color:var(--ods-status-failed)}.ods-btn--danger:hover:not(:disabled){background:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-fg)}.ods-btn--icon{--btn-color: var(--ods-text-tertiary);background:rgba(0,0,0,0);color:var(--btn-color);aspect-ratio:1/1;border-color:rgba(0,0,0,0)}.ods-btn--icon:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-btn__content,.ods-btn__label,.ods-btn__icon,.ods-btn__spinner{color:var(--btn-color)}.ods-btn--sm{height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2);font-size:var(--ods-font-size-sm)}.ods-btn--sm .ods-btn__icon svg{width:12px;height:12px}.ods-btn--sm.ods-btn--icon{width:var(--ods-layout-control-height-sm);padding:0}.ods-btn--md{height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);font-size:var(--ods-font-size-md)}.ods-btn--md .ods-btn__icon svg{width:14px;height:14px}.ods-btn--md.ods-btn--icon{width:var(--ods-layout-control-height);padding:0}.ods-btn--lg{height:var(--ods-layout-control-height-lg);padding:0 var(--ods-space-4);font-size:var(--ods-font-size-md)}.ods-btn--lg .ods-btn__icon svg{width:16px;height:16px}.ods-btn--lg.ods-btn--icon{width:var(--ods-layout-control-height-lg);padding:0}.ods-btn--full{width:100%}@keyframes ods-btn-spin{to{transform:rotate(360deg)}}.ods-input{display:flex;flex-direction:column;width:100%;font-family:var(--ods-font-family-sans)}.ods-input__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body);display:block;margin-bottom:var(--ods-space-1);line-height:var(--ods-line-height-snug)}.ods-input__wrapper{position:relative;display:flex;align-items:center;width:100%}.ods-input__field{width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);line-height:1;color:var(--ods-text-primary);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);outline:none;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),box-shadow var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-input__field[type=search]::-webkit-search-decoration,.ods-input__field[type=search]::-webkit-search-cancel-button,.ods-input__field[type=search]::-webkit-search-results-button,.ods-input__field[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.ods-input__field[type=number]::-webkit-inner-spin-button,.ods-input__field[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ods-input__field:hover{border-color:var(--ods-text-tertiary)}.ods-input__field:focus,.ods-input__field:focus-visible{border-color:var(--ods-border-focus);box-shadow:var(--ods-focus-ring)}.ods-input__field::placeholder{color:var(--ods-text-disabled)}.ods-input__field:disabled{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed;border-color:var(--ods-border-default)}.ods-input--error .ods-input__field{border-color:var(--ods-status-failed)}.ods-input--error .ods-input__field:focus,.ods-input--error .ods-input__field:focus-visible{box-shadow:var(--ods-focus-ring-error)}.ods-input__error-message{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg);margin-top:var(--ods-space-1);line-height:var(--ods-line-height-snug)}.ods-input__helper{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin-top:var(--ods-space-1);line-height:var(--ods-line-height-snug)}.ods-input__icon--left,.ods-input__icon--right{position:absolute;top:50%;transform:translateY(-50%);color:var(--ods-text-tertiary);display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.ods-input__icon--left svg,.ods-input__icon--right svg{width:14px;height:14px;display:block}.ods-input__icon--left{left:var(--ods-space-2)}.ods-input__icon--right{right:var(--ods-space-2)}.ods-input__right{position:absolute;top:50%;right:5px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:4px}.ods-input__field--with-left-icon{padding-left:30px}.ods-input__field--with-right-icon{padding-right:30px}.ods-input__field--with-right-actions{padding-right:60px}.ods-input__clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-input__clear:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-input__clear:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}@media(prefers-reduced-motion: no-preference){.ods-input__clear{animation:ods-input-clear-in var(--ods-duration-fast, 120ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.2, 0.64, 1))}}@keyframes ods-input-clear-in{from{opacity:0;transform:scale(0.6)}to{opacity:1;transform:scale(1)}}.ods-input__kbd{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:24px;padding:0 6px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:0 1px 0 var(--ods-border-default);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:600;color:var(--ods-text-body);letter-spacing:var(--ods-tracking-mono);pointer-events:none;user-select:none}.ods-input--search .ods-input__field{background:var(--ods-surface-subtle);border-color:var(--ods-border-default)}.ods-input--search .ods-input__field:hover:not(:disabled){background:var(--ods-surface-canvas);border-color:var(--ods-border-strong)}.ods-input--search .ods-input__field:focus,.ods-input--search .ods-input__field:focus-visible{background:var(--ods-surface-canvas);border-color:var(--ods-border-focus)}.ods-input--search .ods-input__icon--left{color:var(--ods-text-body)}.ods-input--search .ods-input__kbd{background:var(--ods-surface-subtle);box-shadow:none}.ods-input--sm .ods-input__field{height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2);font-size:var(--ods-font-size-sm)}.ods-input--sm .ods-input__field--with-left-icon{padding-left:24px}.ods-input--sm .ods-input__field--with-right-icon{padding-right:24px}.ods-input--sm .ods-input__field--with-right-actions{padding-right:52px}.ods-input--sm .ods-input__icon--left svg,.ods-input--sm .ods-input__icon--right svg{width:12px;height:12px}.ods-input--sm .ods-input__kbd{height:16px;min-width:22px;font-size:9px}.ods-input--lg .ods-input__field{height:var(--ods-layout-control-height-lg);padding:0 var(--ods-space-4);font-size:var(--ods-font-size-md)}.ods-input--lg .ods-input__field--with-left-icon{padding-left:38px}.ods-input--lg .ods-input__field--with-right-icon{padding-right:38px}.ods-input--lg .ods-input__field--with-right-actions{padding-right:72px}.ods-input--lg .ods-input__icon--left{left:14px}.ods-input--lg .ods-input__right{right:8px;gap:6px}.ods-input--lg .ods-input__icon--left svg,.ods-input--lg .ods-input__icon--right svg{width:16px;height:16px}.ods-input--lg .ods-input__clear{width:22px;height:22px}.ods-input--lg .ods-input__kbd{height:20px;min-width:28px;font-size:11px}.ods-input--disabled{opacity:1;pointer-events:none}.ods-textarea{display:flex;flex-direction:column;width:100%;font-family:var(--ods-font-family-sans)}.ods-textarea__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body);display:block;margin-bottom:var(--ods-space-1)}.ods-textarea__wrapper{position:relative;width:100%}.ods-textarea__field{width:100%;min-height:64px;padding:var(--ods-space-2) var(--ods-space-3);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);line-height:var(--ods-line-height-base);color:var(--ods-text-primary);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);outline:none;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));resize:vertical}.ods-textarea__field:hover{border-color:var(--ods-text-tertiary)}.ods-textarea__field:focus,.ods-textarea__field:focus-visible{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-textarea__field::placeholder{color:var(--ods-text-disabled)}.ods-textarea__field:disabled{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed}.ods-textarea__field--no-resize{resize:none}.ods-textarea__count{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);text-align:right;margin-top:var(--ods-space-1);user-select:none}.ods-textarea--error .ods-textarea__field{border-color:var(--ods-status-failed)}.ods-textarea--error .ods-textarea__field:focus,.ods-textarea--error .ods-textarea__field:focus-visible{outline-color:var(--ods-status-failed)}.ods-textarea__error-message{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg);margin-top:var(--ods-space-1)}.ods-textarea--disabled{pointer-events:none}.ods-textarea--sm .ods-textarea__field{padding:var(--ods-space-1) var(--ods-space-2);font-size:var(--ods-font-size-sm)}.ods-textarea--lg .ods-textarea__field{padding:var(--ods-space-3) var(--ods-space-4);font-size:var(--ods-font-size-md)}@keyframes ods-spin{to{transform:rotate(360deg)}}.ods-spinner{display:inline-block;animation:ods-spin .9s linear infinite;color:currentColor}.ods-spinner__circle{stroke:currentColor}.ods-spinner--sm{width:14px;height:14px}.ods-spinner--md{width:20px;height:20px}.ods-spinner--lg{width:28px;height:28px}.ods-spinner--xl{width:40px;height:40px}.ods-spinner--primary{color:var(--ods-accent)}.ods-checkbox{display:inline-flex;align-items:center;gap:var(--ods-space-2);cursor:pointer;user-select:none;position:relative;font-family:var(--ods-font-family-sans)}.ods-checkbox--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-checkbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.ods-checkbox__box{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));flex-shrink:0}.ods-checkbox__input:focus-visible+.ods-checkbox__box{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-checkbox__box--checked,.ods-checkbox__box--indeterminate{background:var(--ods-accent);border-color:var(--ods-accent)}.ods-checkbox__checkmark{width:10px;height:10px;color:var(--ods-surface-canvas)}.ods-checkbox__checkmark path{stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-checkbox__checkmark--checked path{stroke-dashoffset:0}.ods-checkbox__dash{width:10px;height:10px;color:var(--ods-surface-canvas)}.ods-checkbox__label{font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);line-height:var(--ods-line-height-snug)}.ods-checkbox--sm{gap:var(--ods-space-1)}.ods-checkbox--sm .ods-checkbox__box{width:12px;height:12px}.ods-checkbox--sm .ods-checkbox__checkmark,.ods-checkbox--sm .ods-checkbox__dash{width:8px;height:8px}.ods-checkbox--sm .ods-checkbox__label{font-size:var(--ods-font-size-sm)}.ods-radio-group{display:flex;flex-direction:column;gap:var(--ods-space-2);font-family:var(--ods-font-family-sans)}.ods-radio-group__label{font-family:inherit;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body);margin-bottom:var(--ods-space-1)}.ods-radio-group__items{display:flex;flex-direction:column;gap:var(--ods-space-2)}.ods-radio-group--horizontal .ods-radio-group__items{flex-direction:row;gap:var(--ods-space-4)}.ods-radio-group--disabled{opacity:.5;pointer-events:none}.ods-radio{display:inline-flex;align-items:center;gap:var(--ods-space-2);cursor:pointer;user-select:none;position:relative;font-family:var(--ods-font-family-sans)}.ods-radio--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-radio__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.ods-radio__circle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));flex-shrink:0}.ods-radio__input:focus-visible+.ods-radio__circle{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-radio--selected .ods-radio__circle{border-color:var(--ods-accent)}.ods-radio__dot{width:6px;height:6px;border-radius:var(--ods-radius-pill);background:var(--ods-accent);transform:scale(0);transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-radio__dot--visible{transform:scale(1)}.ods-radio__label{font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);line-height:var(--ods-line-height-snug)}.ods-switch{display:inline-flex;align-items:center;gap:var(--ods-space-2);cursor:pointer;user-select:none;position:relative;font-family:var(--ods-font-family-sans)}.ods-switch--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-switch__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.ods-switch__track{position:relative;display:flex;align-items:center;width:36px;height:22px;border-radius:var(--ods-radius-pill);background:var(--ods-border-strong);transition:background-color var(--ods-duration-base, 180ms) var(--ods-ease-out, ease-out);flex-shrink:0;padding:2px;will-change:background-color}.ods-switch__input:focus-visible+.ods-switch__track{outline:2px solid var(--ods-border-focus);outline-offset:2px}.ods-switch__track--on{background:var(--ods-accent)}.ods-switch__thumb{width:18px;height:18px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);box-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform var(--ods-duration-base, 180ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.2, 0.64, 1));transform:translateX(0);will-change:transform}.ods-switch__track--on .ods-switch__thumb{transform:translateX(14px)}.ods-switch__label{font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);line-height:var(--ods-line-height-snug)}.ods-switch--sm .ods-switch__track{width:28px;height:16px;padding:2px}.ods-switch--sm .ods-switch__thumb{width:12px;height:12px}.ods-switch--sm .ods-switch__track--on .ods-switch__thumb{transform:translateX(12px)}.ods-switch--sm .ods-switch__label{font-size:var(--ods-font-size-sm)}.ods-badge{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:22px;padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1;letter-spacing:0;white-space:nowrap;border:1px solid rgba(0,0,0,0)}.ods-badge--success{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-badge--warning{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-badge--error{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd)}.ods-badge--info{background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd)}.ods-badge--neutral{background:var(--ods-status-idle-bg);color:var(--ods-status-idle-fg);border-color:var(--ods-status-idle-bd)}.ods-badge--outlined{background:var(--ods-surface-canvas)}.ods-badge__dot{width:6px;height:6px;border-radius:var(--ods-radius-pill);background:currentColor;flex-shrink:0}.ods-badge__text{display:inline-block}.ods-badge__close{width:12px;height:12px;cursor:pointer;opacity:.6;border:none;background:rgba(0,0,0,0);color:currentColor;padding:0;display:inline-flex;align-items:center;justify-content:center}.ods-badge__close:hover{opacity:1}.ods-badge--sm{height:18px;font-size:10px;padding:0 var(--ods-space-1)}.ods-avatar{position:relative;display:inline-flex;flex-shrink:0;font-family:var(--ods-font-family-sans)}.ods-avatar--xs{width:20px;height:20px;font-size:9px}.ods-avatar--sm{width:24px;height:24px;font-size:10px}.ods-avatar--md{width:28px;height:28px;font-size:11px}.ods-avatar--lg{width:36px;height:36px;font-size:13px}.ods-avatar--xl{width:48px;height:48px;font-size:16px}.ods-avatar__inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:var(--ods-radius-pill);overflow:hidden;background:var(--ods-accent-soft)}.ods-avatar__image{width:100%;height:100%;object-fit:cover}.ods-avatar__initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:inherit;font-weight:600;color:var(--ods-accent);background:var(--ods-accent-soft);text-transform:uppercase;line-height:1}.ods-avatar__status{position:absolute;bottom:0;right:0;width:28%;height:28%;min-width:8px;min-height:8px;border-radius:var(--ods-radius-pill);border:2px solid var(--ods-surface-canvas);box-sizing:content-box}.ods-avatar__status--online{background:var(--ods-status-success)}.ods-avatar__status--offline{background:var(--ods-status-idle)}.ods-avatar__status--busy{background:var(--ods-status-failed)}.ods-avatar__status--away{background:var(--ods-status-pending)}.ods-avatar-stack{display:inline-flex;align-items:center}.ods-avatar-stack>.ods-avatar{margin-left:-8px}.ods-avatar-stack>.ods-avatar>.ods-avatar__inner{box-shadow:0 0 0 2px var(--ods-surface-canvas)}.ods-avatar-stack>.ods-avatar:first-child{margin-left:0}.ods-avatar-stack>.ods-avatar:nth-child(1){z-index:6}.ods-avatar-stack>.ods-avatar:nth-child(2){z-index:5}.ods-avatar-stack>.ods-avatar:nth-child(3){z-index:4}.ods-avatar-stack>.ods-avatar:nth-child(4){z-index:3}.ods-avatar-stack>.ods-avatar:nth-child(5){z-index:2}.ods-avatar-stack>.ods-avatar:nth-child(6){z-index:1}.ods-avatar-stack__overflow>.ods-avatar__inner{background:var(--ods-surface-muted)}.ods-avatar-stack__overflow .ods-avatar__initials{background:var(--ods-surface-muted);color:var(--ods-text-body);font-size:10px}.ods-tooltip{position:relative;background:var(--ods-text-primary);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;line-height:var(--ods-line-height-snug);padding:var(--ods-space-1) var(--ods-space-2);border-radius:var(--ods-radius-1);max-width:240px;word-wrap:break-word;pointer-events:none}.ods-tooltip__arrow{position:absolute;width:6px;height:6px;background:var(--ods-text-primary);transform:rotate(45deg);pointer-events:none;z-index:-1}.ods-tooltip[data-position=top] .ods-tooltip__arrow{bottom:-3px;left:50%;margin-left:-3px}.ods-tooltip[data-position=bottom] .ods-tooltip__arrow{top:-3px;left:50%;margin-left:-3px}.ods-tooltip[data-position=left] .ods-tooltip__arrow{right:-3px;top:50%;margin-top:-3px}.ods-tooltip[data-position=right] .ods-tooltip__arrow{left:-3px;top:50%;margin-top:-3px}.ods-select{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);font-family:var(--ods-font-family-sans)}.ods-select--disabled{opacity:.5;pointer-events:none}.ods-select__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body);margin-bottom:2px}.ods-select__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);color:var(--ods-text-primary);font-family:inherit;font-size:var(--ods-font-size-base);cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-select__trigger:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-select__trigger:hover:not([disabled]):not([aria-disabled=true]){border-color:var(--ods-text-tertiary)}.ods-select__trigger--open{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-select__value{display:flex;align-items:center;gap:var(--ods-space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.ods-select__value-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.ods-select__placeholder{color:var(--ods-text-disabled)}.ods-select__chevron{flex-shrink:0;color:var(--ods-text-tertiary);transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-select__chevron--open{transform:rotate(180deg);color:var(--ods-text-primary)}.ods-select__dropdown{z-index:500;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);max-height:240px;overflow-y:auto;padding:var(--ods-space-1)}.ods-select__dropdown::-webkit-scrollbar{width:6px;height:6px}.ods-select__dropdown::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.ods-select__dropdown::-webkit-scrollbar-thumb{background:var(--ods-border-strong);border-radius:var(--ods-radius-1)}.ods-select__dropdown::-webkit-scrollbar-thumb:hover{background:var(--ods-text-tertiary)}.ods-select__search-wrap{padding:var(--ods-space-1) var(--ods-space-1) 0;margin-bottom:var(--ods-space-1)}.ods-select__search{width:100%;height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-sm);font-family:inherit;color:var(--ods-text-primary);outline:none;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-select__search::placeholder{color:var(--ods-text-disabled)}.ods-select__search:focus{border-color:var(--ods-border-focus)}.ods-select__options{list-style:none;margin:0;padding:0}.ods-select__option{display:flex;align-items:center;gap:var(--ods-space-2);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));user-select:none}.ods-select__option:hover{background:var(--ods-surface-muted)}.ods-select__option--highlighted{background:var(--ods-surface-muted)}.ods-select__option--selected{background:var(--ods-accent-soft);font-weight:500;color:var(--ods-accent)}.ods-select__option--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-select__option-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.ods-select__option-text{display:flex;flex-direction:column;flex:1;min-width:0}.ods-select__option-label{font-size:var(--ods-font-size-base);color:var(--ods-text-primary)}.ods-select__option-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin-top:1px}.ods-select__check{display:flex;align-items:center;flex-shrink:0;color:var(--ods-accent);margin-left:auto}.ods-select__empty{padding:var(--ods-space-3) var(--ods-space-4);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-select--error .ods-select__trigger{border-color:var(--ods-status-failed)}.ods-select--error .ods-select__trigger--open{outline-color:var(--ods-status-failed)}.ods-select__error{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg);margin-top:2px}.ods-select--sm .ods-select__trigger{height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2);font-size:var(--ods-font-size-sm)}.ods-select--md .ods-select__trigger{height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);font-size:var(--ods-font-size-base)}.ods-select--lg .ods-select__trigger{height:var(--ods-layout-control-height-lg);padding:0 var(--ods-space-4);font-size:var(--ods-font-size-md)}.ods-multiselect{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);font-family:var(--ods-font-family-sans)}.ods-multiselect--disabled{opacity:.5;pointer-events:none}.ods-multiselect__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body);margin-bottom:2px}.ods-multiselect__input-wrap{position:relative;display:flex;align-items:center;gap:var(--ods-space-1);min-height:var(--ods-layout-control-height);padding:2px var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-multiselect__input-wrap:hover{border-color:var(--ods-text-tertiary)}.ods-multiselect__input-wrap--open{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-multiselect__tags{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;flex-wrap:nowrap;gap:var(--ods-space-1);overflow:hidden}.ods-multiselect__measure{position:absolute;visibility:hidden;pointer-events:none;white-space:nowrap;display:flex;gap:var(--ods-space-1);height:0;overflow:hidden}.ods-multiselect__placeholder{font-size:var(--ods-font-size-base);color:var(--ods-text-disabled);padding:0 2px}.ods-multiselect__tag{display:inline-flex;align-items:center;gap:var(--ods-space-1);padding:2px var(--ods-space-1) 2px var(--ods-space-2);background:var(--ods-accent-soft);color:var(--ods-accent);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1.2;white-space:nowrap;max-width:200px}.ods-multiselect__tag>span:first-child+span,.ods-multiselect__tag>span:only-child{overflow:hidden;text-overflow:ellipsis}.ods-multiselect__tag--overflow{background:var(--ods-surface-muted);color:var(--ods-text-body);padding:2px var(--ods-space-2);cursor:help}.ods-multiselect__tag-icon{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex-shrink:0}.ods-multiselect__tag-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:0;background:rgba(0,0,0,0);color:currentColor;opacity:.7;cursor:pointer;border-radius:var(--ods-radius-1);flex-shrink:0;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-multiselect__tag-remove:hover{opacity:1;background:var(--ods-accent-border)}.ods-multiselect__tag-remove-spacer{width:14px;height:14px;display:inline-block}.ods-multiselect__chevron{flex-shrink:0;color:var(--ods-text-tertiary);transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-multiselect__chevron--open{transform:rotate(180deg);color:var(--ods-text-primary)}.ods-multiselect__clear{border:0;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);cursor:pointer;padding:2px var(--ods-space-1);border-radius:var(--ods-radius-1);flex-shrink:0}.ods-multiselect__clear:hover{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg)}.ods-multiselect__dropdown{z-index:500;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);max-height:280px;display:flex;flex-direction:column;overflow:hidden}.ods-multiselect__search{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-2) var(--ods-space-3);color:var(--ods-text-tertiary);border-bottom:1px solid var(--ods-border-default);flex-shrink:0}.ods-multiselect__search-input{flex:1 1 auto;min-width:0;border:0;outline:none;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary)}.ods-multiselect__search-input::placeholder{color:var(--ods-text-disabled)}.ods-multiselect__search-input:focus,.ods-multiselect__search-input:focus-visible{outline:none;box-shadow:none;border:0}.ods-multiselect__list{flex:1 1 auto;overflow-y:auto;padding:var(--ods-space-1)}.ods-multiselect__option{display:flex;align-items:center;gap:var(--ods-space-2);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);cursor:pointer;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-multiselect__option:hover{background:var(--ods-surface-muted)}.ods-multiselect__option--highlighted{background:var(--ods-surface-muted)}.ods-multiselect__option-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--ods-accent)}.ods-multiselect__option-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.ods-multiselect__option-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-multiselect__empty{padding:var(--ods-space-3);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-multiselect--error .ods-multiselect__input-wrap{border-color:var(--ods-status-failed)}.ods-multiselect__error{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg);margin-top:2px}.ods-multiselect--sm .ods-multiselect__input-wrap{min-height:var(--ods-layout-control-height-sm);padding:1px var(--ods-space-1)}.ods-multiselect--sm .ods-multiselect__tag{font-size:10px;padding:1px var(--ods-space-1)}.ods-multiselect--md .ods-multiselect__input-wrap{min-height:var(--ods-layout-control-height)}.ods-card{position:relative;background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-family:var(--ods-font-family-sans);border-radius:var(--ods-radius-2);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-card:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-card--default{background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default)}.ods-card--glass{background:var(--ods-surface-subtle);border:1px solid var(--ods-border-default)}.ods-card--elevated{background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);box-shadow:var(--ods-shadow-pop)}.ods-card--outlined{background:rgba(0,0,0,0);border:1px solid var(--ods-border-default)}.ods-card--selected{background:var(--ods-accent-soft);border:1px solid var(--ods-accent-border)}.ods-card--hoverable:hover{background:var(--ods-surface-subtle);border-color:var(--ods-border-strong);transform:translateY(-1px)}.ods-card--clickable{cursor:pointer;user-select:none}.ods-card--clickable:active{transform:translateY(0)}.ods-card--pad-none{padding:0}.ods-card--pad-sm{padding:var(--ods-space-3)}.ods-card--pad-md{padding:var(--ods-space-4)}.ods-card--pad-lg{padding:var(--ods-space-5)}.ods-card--pad-xl{padding:var(--ods-space-6)}.ods-card--radius-sm,.ods-card--radius-md{border-radius:var(--ods-radius-1)}.ods-card--radius-lg,.ods-card--radius-xl,.ods-card--radius-2xl{border-radius:var(--ods-radius-2)}.ods-dialog{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:var(--ods-space-4);background:rgba(10,10,10,.45)}.ods-dialog__card{position:relative;display:flex;flex-direction:column;max-height:90vh;overflow-y:auto;border-radius:var(--ods-radius-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary);transform:scale(1);opacity:1;transition:transform var(--ods-duration-slow, 240ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),opacity var(--ods-duration-slow, 240ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-dialog__card--entering{transform:scale(0.98);opacity:0}.ods-dialog__card--sm{width:100%;max-width:360px}.ods-dialog__card--md{width:100%;max-width:480px}.ods-dialog__card--lg{width:100%;max-width:720px}.ods-dialog__card--xl{width:100%;max-width:960px}.ods-dialog__card--full{width:100%;max-width:calc(100vw - 96px);height:calc(100vh - 96px);max-height:calc(100vh - 96px)}.ods-dialog__header{display:flex;flex-direction:column;gap:var(--ods-space-1);padding:var(--ods-space-5) var(--ods-space-5) 0}.ods-dialog__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-dialog__description{margin:0;font-size:var(--ods-font-size-base);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-dialog__close{position:absolute;top:var(--ods-space-3);right:var(--ods-space-3);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-dialog__close:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-dialog__close:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-dialog__body{flex:1;padding:var(--ods-space-4) var(--ods-space-5);overflow-y:auto;font-size:var(--ods-font-size-base);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding:var(--ods-space-3) var(--ods-space-5);border-top:1px solid var(--ods-border-default)}.ods-sidebar{display:flex;flex-direction:column;background:var(--ods-surface-subtle);border-right:1px solid var(--ods-border-default);border-radius:0;font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-base);color:var(--ods-text-body);overflow:visible;transition:width var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));position:relative}.ods-sidebar--rail{width:var(--ods-layout-sidebar-width-collapsed);align-items:center;padding:var(--ods-space-2) 0;gap:var(--ods-space-2)}.ods-sidebar--expanded{width:var(--ods-layout-sidebar-width)}.ods-sidebar--auto{overflow:visible}.ods-sidebar__overlay{position:absolute;top:0;left:0;width:var(--ods-layout-sidebar-width);height:100%;display:flex;flex-direction:column;background:var(--ods-surface-canvas);border-right:1px solid var(--ods-border-default);border-top:1px solid var(--ods-border-default);border-bottom:1px solid var(--ods-border-default);border-radius:0 var(--ods-radius-2) var(--ods-radius-2) 0;box-shadow:var(--ods-shadow-pop);z-index:1000;animation:ods-sidebar-overlay-in var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}@keyframes ods-sidebar-overlay-in{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}.ods-sidebar__logo-rail{width:32px;height:32px;border-radius:var(--ods-radius-1);display:flex;align-items:center;justify-content:center;background:var(--ods-accent);color:#fff;font-size:var(--ods-font-size-md);font-weight:600;margin-bottom:var(--ods-space-2);flex-shrink:0}.ods-sidebar__nav-rail,.ods-sidebar__footer-rail{display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-1);width:100%;overflow:visible}.ods-sidebar__footer-rail{position:relative;padding-top:var(--ods-space-2)}.ods-sidebar__footer-rail::before{content:"";position:absolute;top:0;left:var(--ods-space-2);right:var(--ods-space-2);height:1px;background:var(--ods-border-default)}.ods-sidebar__spacer{flex:1 1 auto}.ods-sidebar__rail-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;overflow:visible}.ods-sidebar__rail-item{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;text-decoration:none;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__rail-item:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-sidebar__rail-item:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-sidebar__rail-item--active{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-sidebar__rail-item--active::before{content:"";position:absolute;left:-8px;top:4px;bottom:4px;width:2px;border-radius:0 var(--ods-radius-1) var(--ods-radius-1) 0;background:var(--ods-accent)}.ods-sidebar__rail-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.ods-sidebar__rail-tooltip{position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);display:inline-flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);border-radius:var(--ods-radius-1);background:var(--ods-text-primary);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-xs);font-weight:500;white-space:nowrap;box-shadow:var(--ods-shadow-pop);z-index:1500;pointer-events:none;animation:ods-sidebar-tip-in 80ms var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}@keyframes ods-sidebar-tip-in{from{opacity:0;transform:translate(-2px, -50%)}to{opacity:1;transform:translate(0, -50%)}}.ods-sidebar__rail-tooltip-label{color:inherit}.ods-sidebar__rail-flyout{position:absolute;top:0;left:calc(100% + 8px);min-width:200px;max-width:260px;padding:var(--ods-space-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-2);box-shadow:var(--ods-shadow-pop);z-index:1500;font-family:var(--ods-font-family-sans);animation:ods-sidebar-flyout-in 120ms var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__rail-flyout::before{content:"";position:absolute;top:0;bottom:0;left:-10px;width:10px;background:rgba(0,0,0,0)}@keyframes ods-sidebar-flyout-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.ods-sidebar__rail-flyout-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2) var(--ods-space-2);border-bottom:1px solid var(--ods-border-default);margin-bottom:var(--ods-space-1)}.ods-sidebar__rail-flyout-title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-sidebar__rail-flyout-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.ods-sidebar__rail-flyout-item{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-row-height);padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-body);font-family:inherit;font-size:var(--ods-font-size-base);font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__rail-flyout-item:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-sidebar__rail-flyout-item:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-sidebar__rail-flyout-item--active{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:600}.ods-sidebar__rail-flyout-item--active .ods-sidebar__rail-flyout-icon{color:var(--ods-accent)}.ods-sidebar__rail-flyout-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--ods-text-tertiary)}.ods-sidebar__rail-flyout-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-sidebar__rail-flyout-tag{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-accent);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-size:9px;font-weight:700;letter-spacing:var(--ods-tracking-mono);flex-shrink:0}.ods-sidebar__rail-flyout-badge{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:10px;font-weight:600;flex-shrink:0}.ods-sidebar__rail-item--parent.ods-sidebar__rail-item--active::after{content:"";position:absolute;right:3px;bottom:3px;width:4px;height:4px;border-radius:var(--ods-radius-pill);background:var(--ods-accent)}.ods-sidebar__rail-kbd{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:hsla(0,0%,100%,.12);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:500}.ods-sidebar__expand-rail{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;border:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__expand-rail:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary);border-color:var(--ods-border-strong)}.ods-sidebar__user-rail{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--ods-radius-pill);cursor:pointer;margin-top:var(--ods-space-1);background:var(--ods-accent);color:#fff;font-size:var(--ods-font-size-sm);font-weight:600;overflow:hidden}.ods-sidebar__header{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-3);border-bottom:1px solid var(--ods-border-default);flex-shrink:0}.ods-sidebar__logo{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ods-radius-1);background:var(--ods-accent);color:#fff;font-size:var(--ods-font-size-md);font-weight:600;flex-shrink:0}.ods-sidebar__brand{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.ods-sidebar__brand-name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-sidebar__brand-sub{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-tight)}.ods-sidebar__collapse,.ods-sidebar__pin{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__collapse:hover,.ods-sidebar__pin:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-sidebar__pin--pinned{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-sidebar__body{flex:1 1 auto;display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-2);overflow-y:auto;overflow-x:hidden}.ods-sidebar__section{display:flex;flex-direction:column;gap:1px}.ods-sidebar__section-label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);padding:var(--ods-space-1) var(--ods-space-2)}.ods-sidebar__item{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-row-height);padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-body);font-family:inherit;font-size:var(--ods-font-size-base);font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__item:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-sidebar__item--active{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:600}.ods-sidebar__item--active .ods-sidebar__icon{color:var(--ods-accent)}.ods-sidebar__item--open{color:var(--ods-text-primary)}.ods-sidebar__item--l2{height:28px;font-size:var(--ods-font-size-sm)}.ods-sidebar__item--l3{height:28px;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-sidebar__chevron{flex-shrink:0;color:var(--ods-text-tertiary);transition:transform var(--ods-duration-base, 180ms) var(--ods-ease-out, ease-out)}.ods-sidebar__chevron--open{transform:rotate(90deg);color:var(--ods-accent)}.ods-sidebar__subtree{display:flex;flex-direction:column;gap:1px;margin-top:1px;padding:1px 0 var(--ods-space-1) var(--ods-space-2);margin-left:var(--ods-space-3);border-left:1px solid var(--ods-border-default)}.ods-sidebar__subtree--l2{border-left-color:var(--ods-border-strong)}.ods-sidebar__subtree--l3{border-left-color:var(--ods-accent-border);margin-left:var(--ods-space-2)}.ods-sidebar__icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--ods-text-tertiary)}.ods-sidebar__label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-sidebar__badge{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:600;flex-shrink:0}.ods-sidebar__tag{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-accent);color:#fff;font-family:var(--ods-font-family-mono);font-size:9px;font-weight:700;letter-spacing:var(--ods-tracking-mono);flex-shrink:0}.ods-sidebar__footer{border-top:1px solid var(--ods-border-default);display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-2)}.ods-sidebar__footer-list{display:flex;flex-direction:column;gap:1px}.ods-sidebar__user-card{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;padding:var(--ods-space-2);border:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);cursor:pointer;font-family:inherit;text-align:left;color:var(--ods-text-body);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__user-card:hover{background:var(--ods-surface-subtle);border-color:var(--ods-border-strong)}.ods-sidebar__user-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ods-radius-pill);flex-shrink:0;overflow:hidden;background:var(--ods-accent);color:#fff;font-size:var(--ods-font-size-sm);font-weight:600}.ods-sidebar__user-avatar img{width:100%;height:100%;object-fit:cover}.ods-sidebar__user-info{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.ods-sidebar__user-name{font-size:var(--ods-font-size-sm);font-weight:600;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-sidebar__user-email{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-topbar{position:sticky;top:0;z-index:800;display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-4);height:var(--ods-layout-topbar-height);padding:0 var(--ods-space-4);background:var(--ods-surface-canvas);border-bottom:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-topbar__left{display:flex;align-items:center;gap:var(--ods-space-4);min-width:0}.ods-topbar__title{margin:0;font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-topbar__breadcrumbs ol{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:0}.ods-topbar__crumb{display:flex;align-items:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-topbar__crumb a{color:var(--ods-text-body);text-decoration:none;transition:color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-topbar__crumb a:hover{color:var(--ods-text-primary)}.ods-topbar__crumb [aria-current=page]{color:var(--ods-text-primary);font-weight:500}.ods-topbar__separator{margin:0 var(--ods-space-2);color:var(--ods-text-tertiary);font-size:var(--ods-font-size-xs)}.ods-topbar__center{display:flex;align-items:center;flex:1;justify-content:center}.ods-topbar__right{display:flex;align-items:center;gap:var(--ods-space-2);margin-left:auto}.ods-topbar__search{position:relative;display:flex;align-items:center}.ods-topbar__search-icon{position:absolute;left:var(--ods-space-2);color:var(--ods-text-tertiary);pointer-events:none}.ods-topbar__search-input{width:280px;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3) 0 28px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-topbar__search-input::placeholder{color:var(--ods-text-disabled)}.ods-topbar__search-input:focus{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-topbar__actions{display:flex;align-items:center;gap:var(--ods-space-1)}.ods-tabs{display:flex;flex-direction:column;width:100%;font-family:var(--ods-font-family-sans);color:var(--ods-text-body)}.ods-tabs--vertical{flex-direction:row}.ods-tabs__list{display:flex;position:relative;gap:0}.ods-tabs--horizontal .ods-tabs__list{flex-direction:row;border-bottom:1px solid var(--ods-border-default)}.ods-tabs--vertical .ods-tabs__list{flex-direction:column;border-right:1px solid var(--ods-border-default);min-width:160px}.ods-tabs__tab{position:relative;display:flex;align-items:center;gap:var(--ods-space-2);padding:0 var(--ods-space-3);height:var(--ods-layout-row-height);font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-tertiary);cursor:pointer;user-select:none;white-space:nowrap;border:none;background:none;transition:color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));outline:none}.ods-tabs__tab:hover:not(.ods-tabs__tab--disabled){color:var(--ods-text-primary);background:var(--ods-surface-muted)}.ods-tabs__tab:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-tabs__tab--selected{color:var(--ods-accent);font-weight:600}.ods-tabs__tab--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-tabs__icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.ods-tabs__indicator{position:absolute;transition:all var(--ods-duration-base, 180ms) var(--ods-ease-out, ease-out)}.ods-tabs--horizontal .ods-tabs__indicator{bottom:-1px;left:0;right:0;height:2px;background:var(--ods-accent)}.ods-tabs--vertical .ods-tabs__indicator{right:-1px;top:0;bottom:0;width:2px;background:var(--ods-accent)}.ods-tabs__panel{padding:var(--ods-space-4) 0;font-size:var(--ods-font-size-base);color:var(--ods-text-primary)}.ods-tabs--vertical .ods-tabs__panel{padding:0 var(--ods-space-4);flex:1}.ods-tabs__panel:focus{outline:none}.ods-breadcrumb{display:inline-flex;align-items:center;font-family:var(--ods-font-family-sans)}.ods-breadcrumb__list{display:inline-flex;align-items:center;list-style:none;margin:0;padding:0;gap:var(--ods-space-1);font-size:var(--ods-font-size-sm)}.ods-breadcrumb__item{display:flex;align-items:center;font-size:var(--ods-font-size-sm);line-height:1}.ods-breadcrumb__separator{display:flex;align-items:center;color:var(--ods-text-tertiary);font-size:var(--ods-font-size-xs);flex-shrink:0;margin:0 var(--ods-space-1)}.ods-breadcrumb__link{display:inline-flex;align-items:center;gap:var(--ods-space-1);color:var(--ods-text-tertiary);text-decoration:none;transition:color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));white-space:nowrap}.ods-breadcrumb__link:hover:not(.ods-breadcrumb__link--current){color:var(--ods-accent)}.ods-breadcrumb__link:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:2px;border-radius:var(--ods-radius-1)}.ods-breadcrumb__link--current{color:var(--ods-text-primary);font-weight:500;cursor:default}.ods-breadcrumb__icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.ods-dropdown__trigger{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:rgba(0,0,0,0);cursor:pointer}.ods-dropdown__trigger:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:2px;border-radius:var(--ods-radius-1)}.ods-dropdown{position:fixed;list-style:none;margin:0;padding:var(--ods-space-1);min-width:180px;border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);box-shadow:var(--ods-shadow-pop);z-index:500;outline:none;font-family:var(--ods-font-family-sans)}.ods-dropdown:focus{outline:none}.ods-dropdown__item{display:flex;align-items:center;gap:var(--ods-space-2);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));outline:none;user-select:none}.ods-dropdown__item:hover,.ods-dropdown__item:focus,.ods-dropdown__item[data-focused=true]{background:var(--ods-surface-muted)}.ods-dropdown__item--danger{color:var(--ods-status-failed-fg)}.ods-dropdown__item--danger:hover,.ods-dropdown__item--danger:focus{background:var(--ods-status-failed-bg)}.ods-dropdown__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-dropdown__icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;color:var(--ods-text-tertiary)}.ods-dropdown__separator{height:1px;margin:var(--ods-space-1) 0;background:var(--ods-border-default);list-style:none}.ods-slideout__backdrop{position:fixed;inset:0;z-index:600;background:rgba(10,10,10,.35)}.ods-slideout__panel{position:fixed;top:0;right:0;bottom:0;z-index:601;display:flex;flex-direction:column;width:320px;max-width:100vw;padding:var(--ods-space-4);background:var(--ods-surface-canvas);border-left:1px solid var(--ods-border-default);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);outline:none;will-change:transform}.ods-slideout__panel--right{right:0}.ods-slideout__panel--left{left:0;right:auto;border-left:none;border-right:1px solid var(--ods-border-default)}.ods-slideout__header{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);flex-shrink:0;padding-bottom:var(--ods-space-3);border-bottom:1px solid var(--ods-border-default);margin-bottom:var(--ods-space-3)}.ods-slideout__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-slideout__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;padding:0;border:1px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-slideout__close:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-slideout__close:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-slideout__body{flex:1;overflow-y:auto;margin-top:var(--ods-space-3)}.ods-slideout__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding-top:var(--ods-space-3);border-top:1px solid var(--ods-border-default);flex-shrink:0}.ods-table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);background:var(--ods-surface-canvas)}.ods-table{width:100%;border-collapse:collapse;font-size:var(--ods-font-size-sm);line-height:1;color:var(--ods-text-primary)}.ods-table__header{background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default)}.ods-table__header th{height:var(--ods-layout-row-height);padding:0 var(--ods-space-3);text-align:left;font-family:var(--ods-font-family-mono);font-weight:600;font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);white-space:nowrap;user-select:none;position:sticky;top:0;z-index:1}.ods-table__header-content{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-table__cell--sortable{cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-table__cell--sortable:hover{background:var(--ods-surface-muted)}.ods-table__sort-icon{display:inline-flex;align-items:center;font-size:10px;opacity:.5;transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-table__sort-icon--active{opacity:1;color:var(--ods-accent)}.ods-table__sort-icon--desc{transform:rotate(180deg)}.ods-table__row{border-bottom:1px solid var(--ods-border-soft);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-table__row:hover{background:var(--ods-surface-subtle)}.ods-table__row:last-child{border-bottom:none}.ods-table__row--selected{background:var(--ods-accent-soft) !important}.ods-table__row--expanded{background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-soft)}.ods-table__cell{height:var(--ods-layout-row-height);padding:0 var(--ods-space-3);color:var(--ods-text-primary);font-size:var(--ods-font-size-sm);vertical-align:middle;white-space:nowrap}.ods-table__cell--numeric,.ods-table__cell--id,.ods-table__cell--duration,.ods-table__cell--cost{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;text-align:right}.ods-table__cell--checkbox{width:36px;padding:0 var(--ods-space-2);text-align:center}.ods-table__cell--checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--ods-accent)}.ods-table__cell--expand{width:36px;padding:0;text-align:center}.ods-table__expand-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;border-radius:var(--ods-radius-1);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-table__expand-btn:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-table__expand-btn--open{transform:rotate(90deg)}.ods-table__expanded-cell{padding:var(--ods-space-4) var(--ods-space-5);background:var(--ods-surface-subtle)}.ods-table__empty{padding:var(--ods-space-7) var(--ods-space-4);text-align:center;color:var(--ods-text-tertiary);font-size:var(--ods-font-size-sm)}.ods-table__loading{padding:0;position:relative;height:2px}.ods-table__loading-bar{position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg, transparent 0%, var(--ods-accent) 50%, transparent 100%);background-size:200% 100%;animation:ods-table-loading 1.5s ease-in-out infinite}@keyframes ods-table-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.ods-datatable{--dt-row-h: var(--ods-layout-row-height);--dt-cell-pad: var(--ods-space-3);--dt-font: var(--ods-font-size-sm);display:flex;flex-direction:column;width:100%;border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary);overflow:hidden}.ods-datatable--compact{--dt-row-h: 24px;--dt-cell-pad: var(--ods-space-2);--dt-font: var(--ods-font-size-xs)}.ods-datatable--comfortable{--dt-row-h: var(--ods-layout-row-height-comfort);--dt-cell-pad: var(--ods-space-4);--dt-font: var(--ods-font-size-base)}.ods-datatable__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);padding:var(--ods-space-2) var(--ods-space-3);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default);min-height:44px}.ods-datatable__title-block{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.ods-datatable__title{display:inline-flex;align-items:center;gap:var(--ods-space-2);margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-datatable__count{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary);padding:2px var(--ods-space-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-datatable__description{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-snug)}.ods-datatable__toolbar-actions{display:inline-flex;align-items:center;gap:var(--ods-space-2);flex-shrink:0}.ods-datatable__toolbar-custom{display:inline-flex;align-items:center;gap:var(--ods-space-2);margin-left:var(--ods-space-1)}.ods-datatable__search{position:relative;display:inline-flex;align-items:center}.ods-datatable__search-icon{position:absolute;left:var(--ods-space-2);display:inline-flex;color:var(--ods-text-tertiary);pointer-events:none}.ods-datatable__search-input{width:220px;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3) 0 26px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);outline:none;transition:border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__search-input::placeholder{color:var(--ods-text-disabled)}.ods-datatable__search-input:focus{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-datatable__search-clear{position:absolute;right:var(--ods-space-1);display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer}.ods-datatable__search-clear:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__filter{position:relative;display:inline-flex}.ods-datatable__filter-trigger{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2) 0 var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);color:var(--ods-text-body);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm);font-weight:500;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__filter-trigger:hover{background:var(--ods-surface-muted)}.ods-datatable__filter-trigger--active{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-datatable__filter-trigger[aria-expanded=true]{background:var(--ods-surface-muted);border-color:var(--ods-text-tertiary)}.ods-datatable__filter-icon{display:inline-flex;color:var(--ods-text-tertiary)}.ods-datatable__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--ods-layout-control-height);height:var(--ods-layout-control-height);padding:0;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__icon-btn:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__icon-btn[aria-expanded=true]{background:var(--ods-surface-muted);border-color:var(--ods-text-tertiary)}.ods-datatable__menu{position:absolute;top:calc(100% + var(--ods-space-1));left:0;z-index:50;list-style:none;margin:0;padding:var(--ods-space-1);min-width:180px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);animation:ods-datatable-menu-in 120ms var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__menu--align-end{left:auto;right:0}@keyframes ods-datatable-menu-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ods-datatable__menu-item{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);text-align:left;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__menu-item:hover{background:var(--ods-surface-muted)}.ods-datatable__menu-item--active{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:600}.ods-datatable__menu-item--danger{color:var(--ods-status-failed-fg)}.ods-datatable__menu-item--danger:hover{background:var(--ods-status-failed-bg)}.ods-datatable__menu-item--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ods-datatable__menu-item-icon{display:inline-flex;width:14px;height:14px;color:var(--ods-text-tertiary);flex-shrink:0}.ods-datatable__menu-checkbox{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__menu-checkbox:hover{background:var(--ods-surface-muted)}.ods-datatable__menu-checkbox input{width:14px;height:14px;accent-color:var(--ods-accent)}.ods-datatable__bulk-summary{display:inline-flex;align-items:center;gap:var(--ods-space-2);font-size:var(--ods-font-size-sm);color:var(--ods-text-primary)}.ods-datatable__bulk-count{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 var(--ods-space-1);background:var(--ods-accent);color:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:10px;font-weight:600}.ods-datatable__bulk-clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer}.ods-datatable__bulk-clear:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__bulk-actions{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-datatable__bulk-action{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__bulk-action:hover{background:var(--ods-surface-muted)}.ods-datatable__bulk-action--danger{color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd)}.ods-datatable__bulk-action--danger:hover{background:var(--ods-status-failed-bg);border-color:var(--ods-status-failed)}.ods-datatable__bulk-action-icon{display:inline-flex;width:14px;height:14px}.ods-datatable__scroll{flex:1 1 auto;overflow-x:auto;overflow-y:auto;max-height:100%}.ods-datatable__table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--dt-font);color:var(--ods-text-primary);line-height:1}.ods-datatable__thead{background:var(--ods-surface-subtle)}.ods-datatable__th{position:sticky;top:0;z-index:1;height:var(--ods-layout-row-height);padding:0 var(--dt-cell-pad);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default);text-align:left;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);white-space:nowrap;user-select:none}.ods-datatable__th--sortable{cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__th--sortable:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__th--numeric,.ods-datatable__th--align-right{text-align:right}.ods-datatable__th--align-center{text-align:center}.ods-datatable__th--checkbox{width:40px;padding:0 var(--ods-space-2);text-align:center}.ods-datatable__th--expand{width:32px;padding:0;text-align:center}.ods-datatable__th--actions{width:40px;padding:0;text-align:center}.ods-datatable__th-content{display:inline-flex;align-items:center;gap:var(--ods-space-1);line-height:1}.ods-datatable__th-label{line-height:1}.ods-datatable__sort-icon{display:inline-flex;align-items:center;color:var(--ods-text-tertiary);transition:color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__th--sortable[aria-sort] .ods-datatable__sort-icon{color:var(--ods-accent)}.ods-datatable__tbody .ods-datatable__row{transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__tbody .ods-datatable__row:hover{background:var(--ods-surface-subtle)}.ods-datatable__row--selected{background:var(--ods-accent-soft) !important}.ods-datatable__row--selected:hover{background:var(--ods-accent-soft) !important}.ods-datatable__row--clickable{cursor:pointer}.ods-datatable__td{height:var(--dt-row-h);padding:0 var(--dt-cell-pad);border-bottom:1px solid var(--ods-border-soft);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.ods-datatable__td--numeric,.ods-datatable__td--align-right{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;text-align:right}.ods-datatable__td--align-center{text-align:center}.ods-datatable__td--checkbox{width:40px;padding:0 var(--ods-space-2);text-align:center}.ods-datatable__td--checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--ods-accent)}.ods-datatable__td--expand{width:32px;padding:0;text-align:center}.ods-datatable__td--actions{width:40px;padding:0;text-align:center}.ods-datatable__expand-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__expand-btn:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__expand-btn--open{transform:rotate(90deg);color:var(--ods-accent)}.ods-datatable__row-expanded{background:var(--ods-surface-subtle)}.ods-datatable__td-expanded{padding:var(--ods-space-3) var(--ods-space-5);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-soft)}.ods-datatable__row-actions{position:relative;display:inline-flex}.ods-datatable__row-actions-trigger{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer}.ods-datatable__row-actions-trigger:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__row-actions-trigger[aria-expanded=true]{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__empty{padding:var(--ods-space-7) var(--ods-space-5);text-align:center}.ods-datatable__empty-title{font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary);margin-bottom:var(--ods-space-1)}.ods-datatable__empty-desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);margin-bottom:var(--ods-space-3)}.ods-datatable__empty-action{display:inline-flex;justify-content:center}.ods-datatable__loading{position:relative;padding:0;height:2px}.ods-datatable__loading-bar{position:absolute;inset:0 0 0 0;background:linear-gradient(90deg, transparent 0%, var(--ods-accent) 50%, transparent 100%);background-size:200% 100%;animation:ods-datatable-loading 1.4s ease-in-out infinite}@keyframes ods-datatable-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.ods-datatable__error{padding:var(--ods-space-5);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-status-failed-fg);background:var(--ods-status-failed-bg)}.ods-datatable__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);padding:var(--ods-space-2) var(--ods-space-3);border-top:1px solid var(--ods-border-default);background:var(--ods-surface-subtle);font-size:var(--ods-font-size-sm);color:var(--ods-text-body)}.ods-datatable__footer-summary{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-datatable__footer-range,.ods-datatable__footer-total{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-weight:500;color:var(--ods-text-primary)}.ods-datatable__footer-pagesize{display:inline-flex;align-items:center;gap:var(--ods-space-2);color:var(--ods-text-tertiary)}.ods-datatable__pagesize-select{height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);cursor:pointer}.ods-datatable__pagesize-select:focus{outline:2px solid var(--ods-border-focus);outline-offset:1px;border-color:var(--ods-border-focus)}.ods-datatable__footer-nav{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-datatable__page-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--ods-layout-control-height-sm);height:var(--ods-layout-control-height-sm);padding:0;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__page-btn:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__page-btn:disabled{opacity:.4;cursor:not-allowed}.ods-datatable__page-pos{display:inline-flex;align-items:center;gap:2px;padding:0 var(--ods-space-2);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;color:var(--ods-text-body);font-weight:500}.ods-datatable__page-sep{color:var(--ods-text-tertiary)}.ods-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ods-space-9) var(--ods-space-4);text-align:center;font-family:var(--ods-font-family-sans)}.ods-empty-state__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:var(--ods-space-3);color:var(--ods-text-disabled)}.ods-empty-state__icon svg{width:32px;height:32px}.ods-empty-state__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-empty-state__description{margin:var(--ods-space-1) 0 0;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-base);max-width:360px}.ods-empty-state__action{margin-top:var(--ods-space-4)}@keyframes ods-skeleton-pulse{0%,100%{opacity:1}50%{opacity:.55}}.ods-skeleton{display:block;background:var(--ods-surface-muted);animation:ods-skeleton-pulse 1200ms ease-in-out infinite;border-radius:var(--ods-radius-1);overflow:hidden;position:relative}.ods-skeleton--text{height:12px;width:100%;margin-bottom:var(--ods-space-2)}.ods-skeleton--text:last-child{width:75%}.ods-skeleton--circular{width:28px;height:28px;border-radius:var(--ods-radius-pill)}.ods-skeleton--rectangular{width:100%;height:96px;border-radius:var(--ods-radius-1)}.ods-skeleton__group{display:flex;flex-direction:column;gap:var(--ods-space-2);width:100%}.ods-toast-stack{position:fixed;z-index:9999;padding:var(--ods-space-4);max-width:100vw;pointer-events:none}.ods-toast-stack>*{pointer-events:auto}.ods-toast-stack--top-left{top:0;left:0}.ods-toast-stack--top-center{top:0;left:50%;transform:translateX(-50%)}.ods-toast-stack--top-right{top:0;right:0}.ods-toast-stack--bottom-left{bottom:0;left:0}.ods-toast-stack--bottom-center{bottom:0;left:50%;transform:translateX(-50%)}.ods-toast-stack--bottom-right{bottom:0;right:0}.ods-toast-stack--expanded{pointer-events:auto}.ods-toast-stack__scroll{position:relative;display:flex;flex-direction:column-reverse;gap:0;width:380px;max-width:calc(100vw - 32px)}.ods-toast-stack__scroll>.ods-toast{position:absolute;left:0;right:0;width:100%}.ods-toast-stack--bottom-left .ods-toast-stack__scroll>.ods-toast,.ods-toast-stack--bottom-center .ods-toast-stack__scroll>.ods-toast,.ods-toast-stack--bottom-right .ods-toast-stack__scroll>.ods-toast{bottom:0}.ods-toast-stack--top-left .ods-toast-stack__scroll>.ods-toast,.ods-toast-stack--top-center .ods-toast-stack__scroll>.ods-toast,.ods-toast-stack--top-right .ods-toast-stack__scroll>.ods-toast{top:0}.ods-toast-stack__scroll{min-height:60px}.ods-toast-stack__scroll--expanded{position:relative;display:flex;gap:8px;max-height:70vh;overflow-y:auto;padding:var(--ods-space-1);min-height:0}.ods-toast-stack__scroll--expanded>.ods-toast{position:relative;left:auto;right:auto;top:auto;bottom:auto}.ods-toast{position:relative;display:flex;align-items:center;gap:var(--ods-space-3);padding:14px var(--ods-space-4);min-width:380px;max-width:480px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary);will-change:transform,opacity;cursor:default;user-select:none}.ods-toast--stacked{cursor:pointer}.ods-toast--success{border-left:2px solid var(--ods-status-success)}.ods-toast--info,.ods-toast--running{border-left:2px solid var(--ods-accent)}.ods-toast--warning{border-left:2px solid var(--ods-status-pending)}.ods-toast--error,.ods-toast--failed{border-left:2px solid var(--ods-status-failed)}.ods-toast__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;margin-top:1px;align-self:flex-start}.ods-toast__body{flex:1 1 auto;min-width:0}.ods-toast__title{font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);line-height:1.35;margin-bottom:3px}.ods-toast__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:1.5}.ods-toast__action{flex-shrink:0;align-self:center;display:flex;align-items:center}.ods-toast__action>button{height:auto;padding:4px var(--ods-space-2);border:1px solid var(--ods-accent-border);background:var(--ods-accent-soft);color:var(--ods-accent);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm);font-weight:500;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-toast__action>button:hover{background:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-toast__close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-disabled);cursor:pointer;flex-shrink:0;align-self:flex-start;margin-top:-2px;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-toast__close:hover{background:var(--ods-surface-subtle);color:var(--ods-text-primary)}.ods-toast__close:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-toast-stack__collapse{align-self:flex-end;margin-top:var(--ods-space-1);padding:0 var(--ods-space-2);height:20px;border:1px solid var(--ods-border-strong);background:var(--ods-surface-canvas);color:var(--ods-text-body);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:500;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-toast-stack__collapse:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-condition-builder{display:flex;flex-direction:column;gap:0;font-family:var(--ods-font-family-sans)}.ods-condition-builder__join{display:flex;align-items:center;justify-content:flex-start;padding:var(--ods-space-1) 0;padding-left:var(--ods-space-4)}.ods-condition-builder__join-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-accent);background:var(--ods-accent-soft);border:1px solid var(--ods-accent-border);border-radius:var(--ods-radius-1);cursor:default}.ods-condition-builder__join-btn--clickable{cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-condition-builder__join-btn--clickable:hover{background:var(--ods-accent-border)}.ods-condition-row{display:flex;align-items:center;gap:var(--ods-space-2);margin-bottom:var(--ods-space-2)}.ods-condition-row__value{flex:1 1 0;min-width:0;height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);margin:0;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-family:inherit;font-size:var(--ods-font-size-sm);line-height:1;outline:none;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-condition-row__value:hover{border-color:var(--ods-text-tertiary)}.ods-condition-row__value:focus,.ods-condition-row__value:focus-visible{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-condition-row__value::placeholder{color:var(--ods-text-disabled)}.ods-condition-row__remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));flex-shrink:0}.ods-condition-row__remove:hover{background:var(--ods-status-failed-bg);color:var(--ods-status-failed)}.ods-condition-builder__actions{padding-top:var(--ods-space-2)}.ods-condition-builder__add{display:inline-flex;align-items:center;gap:var(--ods-space-1);padding:var(--ods-space-1) var(--ods-space-2);border:1px dashed var(--ods-border-strong);border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-body);font-family:inherit;font-size:var(--ods-font-size-sm);cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-condition-builder__add:hover{border-color:var(--ods-accent);color:var(--ods-accent);background:var(--ods-accent-soft)}.ods-condition-group{margin-left:var(--ods-space-2);padding-left:var(--ods-space-3);border-left:2px solid var(--ods-accent-border)}.ods-cb-dd{position:relative;display:inline-flex;flex-shrink:0}.ods-cb-dd__trigger{display:inline-flex;align-items:center;gap:var(--ods-space-1);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-size:var(--ods-font-size-sm);font-weight:500;font-family:inherit;cursor:pointer;text-align:left;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-cb-dd__trigger:hover{border-color:var(--ods-text-tertiary)}.ods-cb-dd__trigger:focus-visible,.ods-cb-dd__trigger--open{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-cb-dd__icon,.ods-cb-dd__symbol{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ods-cb-dd__icon{width:12px;height:12px;color:var(--ods-accent)}.ods-cb-dd__symbol{font-weight:700;color:var(--ods-accent);min-width:12px;font-family:var(--ods-font-family-mono)}.ods-cb-dd__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-cb-dd__label--placeholder{color:var(--ods-text-disabled);font-weight:400}.ods-cb-dd__chev{color:var(--ods-text-tertiary);flex-shrink:0}.ods-cb-dd__panel{position:absolute;top:calc(100% + var(--ods-space-1));left:0;z-index:50;min-width:100%;max-width:280px;display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);overflow:hidden}.ods-cb-dd__search{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);border-bottom:1px solid var(--ods-border-default);color:var(--ods-text-tertiary)}.ods-cb-dd__search input{flex:1 1 auto;min-width:0;border:0;outline:none;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary)}.ods-cb-dd__search input::placeholder{color:var(--ods-text-disabled)}.ods-cb-dd__list{list-style:none;margin:0;padding:var(--ods-space-1);max-height:240px;overflow-y:auto}.ods-cb-dd__opt{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;padding:var(--ods-space-1) var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-sm);font-family:inherit;color:var(--ods-text-primary);cursor:pointer;text-align:left;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-cb-dd__opt--active{background:var(--ods-surface-muted)}.ods-cb-dd__opt--selected{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:600}.ods-cb-dd__opt-icon{display:inline-flex;width:12px;height:12px;color:var(--ods-accent);flex-shrink:0}.ods-cb-dd__opt-symbol{font-family:var(--ods-font-family-mono);font-weight:700;color:var(--ods-accent);min-width:12px}.ods-cb-dd__opt-text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.ods-cb-dd__opt-label{line-height:1.3}.ods-cb-dd__opt-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);line-height:1.3}.ods-cb-dd__opt-check{color:var(--ods-accent);flex-shrink:0}.ods-cb-dd__empty{list-style:none;padding:var(--ods-space-3);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);text-align:center}.ods-data-mapper{--dm-row-h: var(--ods-layout-row-height);--dm-side-w: 280px;display:flex;flex-direction:column;font-family:var(--ods-font-family-sans);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);color:var(--ods-text-primary);min-height:480px;overflow:hidden}.ods-data-mapper__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);padding:var(--ods-space-3) var(--ods-space-4);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default);flex-shrink:0}.ods-data-mapper__toolbar-left,.ods-data-mapper__toolbar-right{display:inline-flex;align-items:center;gap:var(--ods-space-3)}.ods-data-mapper__icon-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--ods-radius-1);background:var(--ods-accent);color:var(--ods-surface-canvas);flex-shrink:0}.ods-data-mapper__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-data-mapper__stats{display:inline-flex;align-items:center;gap:var(--ods-space-2);padding-left:var(--ods-space-3);border-left:1px solid var(--ods-border-default)}.ods-data-mapper__stat{display:inline-flex;align-items:baseline;gap:4px;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-data-mapper__stat--warn{color:var(--ods-status-pending-fg)}.ods-data-mapper__stat-value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-base);font-weight:600;color:var(--ods-text-primary)}.ods-data-mapper__stat--warn .ods-data-mapper__stat-value{color:var(--ods-status-pending-fg)}.ods-data-mapper__stat-label{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-data-mapper__stat-sep{color:var(--ods-text-disabled);user-select:none}.ods-data-mapper__action{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-body);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm);font-weight:500;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__action svg{color:var(--ods-text-tertiary)}.ods-data-mapper__action:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-data-mapper__action:hover:not(:disabled) svg{color:var(--ods-text-primary)}.ods-data-mapper__action:disabled{opacity:.4;cursor:not-allowed}.ods-data-mapper__action--ghost{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.ods-data-mapper__action--ghost:hover:not(:disabled){background:var(--ods-surface-muted);border-color:var(--ods-border-default)}.ods-data-mapper__action--primary{background:var(--ods-accent);color:var(--ods-surface-canvas);border-color:var(--ods-accent)}.ods-data-mapper__action--primary svg{color:currentColor}.ods-data-mapper__action--primary:hover:not(:disabled){background:var(--ods-accent-hover);border-color:var(--ods-accent-hover);color:var(--ods-surface-canvas)}.ods-data-mapper__subtoolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);padding:var(--ods-space-2) var(--ods-space-4);border-bottom:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);flex-shrink:0}.ods-data-mapper__search{position:relative;display:inline-flex;align-items:center;width:280px}.ods-data-mapper__search>svg{position:absolute;left:var(--ods-space-2);color:var(--ods-text-tertiary);pointer-events:none}.ods-data-mapper__search input{flex:1 1 auto;width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3) 0 28px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);outline:none;transition:border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__search input::placeholder{color:var(--ods-text-disabled)}.ods-data-mapper__search input:focus{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-data-mapper__display{display:inline-flex;align-items:center;padding:1px;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-data-mapper__display-btn{height:22px;padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__display-btn:hover{color:var(--ods-text-primary)}.ods-data-mapper__display-btn--active{background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-weight:600;box-shadow:0 0 0 1px var(--ods-border-default)}.ods-data-mapper__body{display:flex;flex:1 1 auto;min-height:0}.ods-data-mapper__grid{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;overflow:auto;background:var(--ods-surface-canvas)}.ods-data-mapper__grid-head{display:grid;grid-template-columns:minmax(280px, 1fr) minmax(320px, 1.4fr);position:sticky;top:0;z-index:3;background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default)}.ods-data-mapper__grid-head-cell{height:var(--dm-row-h);display:inline-flex;align-items:center;padding:0 var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-data-mapper__grid-head-cell+.ods-data-mapper__grid-head-cell{border-left:1px solid var(--ods-border-default)}.ods-data-mapper__row{display:grid;grid-template-columns:minmax(280px, 1fr) minmax(320px, 1.4fr);border-bottom:1px solid var(--ods-border-soft);background:var(--ods-surface-canvas);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),box-shadow var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__row:hover{background:var(--ods-surface-subtle)}.ods-data-mapper__row--selected{background:var(--ods-accent-soft)}.ods-data-mapper__row--selected:hover{background:var(--ods-accent-soft)}.ods-data-mapper__row--mapped:not(.ods-data-mapper__row--selected){background:var(--ods-surface-canvas)}.ods-data-mapper__row--mapped:not(.ods-data-mapper__row--selected) .ods-data-mapper__cell--target{border-left:2px solid var(--ods-accent)}.ods-data-mapper__row--drop-target{background:var(--ods-accent-soft) !important;box-shadow:inset 0 0 0 2px var(--ods-accent);transition-duration:0ms}.ods-data-mapper__row--drop-target .ods-data-mapper__expr-empty{color:var(--ods-accent);font-style:normal;font-weight:600}.ods-data-mapper__guides{display:inline-flex;align-items:stretch;align-self:stretch;flex-shrink:0}.ods-data-mapper__guide{display:inline-block;width:16px;align-self:stretch;border-left:1px solid var(--ods-border-soft);margin-right:-1px}.ods-data-mapper__guide--last{position:relative}.ods-data-mapper__guide--last::before{content:"";position:absolute;top:50%;left:0;width:8px;height:1px;background:var(--ods-border-soft)}.ods-data-mapper__sidebar .ods-data-mapper__guide{width:12px}.ods-data-mapper__cell{display:flex;align-items:center;gap:var(--ods-space-2);min-height:var(--dm-row-h);padding:0 var(--ods-space-3);font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);cursor:default}.ods-data-mapper__cell+.ods-data-mapper__cell{border-left:1px solid var(--ods-border-soft)}.ods-data-mapper__cell--target{cursor:pointer}.ods-data-mapper__cell--expr{cursor:pointer;padding:var(--ods-space-1) var(--ods-space-3)}.ods-data-mapper__cell--expr-editing{padding:var(--ods-space-2) var(--ods-space-3);align-items:stretch}.ods-data-mapper__caret{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;flex-shrink:0;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__caret:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-data-mapper__caret-spacer{display:inline-block;width:14px;flex-shrink:0}.ods-data-mapper__field-meta{display:inline-flex;align-items:baseline;gap:var(--ods-space-2);flex:1 1 auto;min-width:0;overflow:hidden}.ods-data-mapper__field-label{display:inline-flex;align-items:center;font-weight:500;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ods-data-mapper__field-req{color:var(--ods-status-failed);margin-left:2px;font-weight:600}.ods-data-mapper__field-api{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);letter-spacing:0;white-space:nowrap}.ods-data-mapper__field-api::before{content:"·";margin-right:4px;color:var(--ods-text-disabled)}.ods-data-mapper__type{flex-shrink:0;display:inline-flex;align-items:center;height:18px;padding:0 var(--ods-space-1);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:500;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;border:1px solid var(--ods-border-default);background:var(--ods-surface-muted);color:var(--ods-text-body)}.ods-data-mapper__type--string{background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd)}.ods-data-mapper__type--integer{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-data-mapper__type--datetime{background:var(--ods-node-transform-bg);color:var(--ods-node-transform-fg);border-color:var(--ods-node-transform-bd)}.ods-data-mapper__type--boolean{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-data-mapper__type--object{background:var(--ods-node-io-bg);color:var(--ods-node-io-fg);border-color:var(--ods-node-io-bd)}.ods-data-mapper__foreach{display:inline-flex;align-items:center;gap:var(--ods-space-1);margin-left:auto;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);cursor:pointer;flex-shrink:0}.ods-data-mapper__foreach input{width:12px;height:12px;accent-color:var(--ods-accent);cursor:pointer}.ods-data-mapper__expr-render{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:100%;min-width:0;line-height:1.4;padding:4px 0}.ods-data-mapper__expr-text{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-body);white-space:pre-wrap;word-break:break-word}.ods-data-mapper__expr-chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 var(--ods-space-1) 0 6px;border-radius:var(--ods-radius-1);border:1px solid var(--ods-accent-border);background:var(--ods-accent-soft);color:var(--ods-accent);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:600;line-height:1;max-width:200px;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__expr-chip--variable{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-data-mapper__expr-chip--function{background:var(--ods-node-transform-bg);color:var(--ods-node-transform-fg);border-color:var(--ods-node-transform-bd);font-family:var(--ods-font-family-mono);font-weight:500}.ods-data-mapper__expr-chip--integer{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-data-mapper__expr-chip--datetime{background:var(--ods-node-transform-bg);color:var(--ods-node-transform-fg);border-color:var(--ods-node-transform-bd)}.ods-data-mapper__expr-chip--boolean{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-data-mapper__expr-chip--object{background:var(--ods-node-io-bg);color:var(--ods-node-io-fg);border-color:var(--ods-node-io-bd)}.ods-data-mapper__expr-chip-glyph{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--ods-font-family-mono);font-size:9px;font-weight:700;opacity:.7;letter-spacing:0}.ods-data-mapper__expr-chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ods-data-mapper__expr-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:2px;margin-right:-3px;padding:0;border:0;background:rgba(0,0,0,0);color:currentColor;border-radius:var(--ods-radius-1);opacity:.55;cursor:pointer;transition:opacity var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__expr-chip-remove:hover{opacity:1;background:rgba(0,0,0,.08)}.ods-data-mapper__expr-empty{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-disabled);font-style:italic}.ods-data-mapper__expr-group{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-data-mapper__editor{display:flex;align-items:stretch;gap:var(--ods-space-1);width:100%;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-focus);border-radius:var(--ods-radius-1);box-shadow:0 0 0 2px var(--ods-accent-border)}.ods-data-mapper__editor-input{flex:1 1 auto;min-width:0;min-height:26px;padding:4px var(--ods-space-2);border:0;background:rgba(0,0,0,0);outline:none;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary);line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;cursor:text}.ods-data-mapper__editor-input--empty::before{content:attr(data-placeholder);color:var(--ods-text-disabled);font-style:italic;pointer-events:none;user-select:none;font-family:var(--ods-font-family-sans)}.ods-data-mapper__editor-input .ods-data-mapper__expr-chip{margin:0 2px;vertical-align:baseline;user-select:none;cursor:default;line-height:18px}.ods-data-mapper__editor-actions{display:inline-flex;align-items:center;gap:1px;padding:2px;border-left:1px solid var(--ods-border-soft)}.ods-data-mapper__editor-fx,.ods-data-mapper__editor-clear{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__editor-fx:hover,.ods-data-mapper__editor-clear:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-data-mapper__editor-clear:hover{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg)}.ods-data-mapper__empty{padding:var(--ods-space-7) var(--ods-space-4);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-data-mapper__sidebar{display:flex;flex-direction:column;width:var(--dm-side-w);flex-shrink:0;border-left:1px solid var(--ods-border-default);background:var(--ods-surface-subtle);position:relative}.ods-data-mapper__sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-1);padding:var(--ods-space-1) var(--ods-space-1) var(--ods-space-1) var(--ods-space-3);border-bottom:1px solid var(--ods-border-default);flex-shrink:0;background:var(--ods-surface-subtle)}.ods-data-mapper__sidebar-tabs{display:inline-flex;align-items:center;gap:1px;padding:1px;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-data-mapper__sidebar-tab{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__sidebar-tab:hover{color:var(--ods-text-primary)}.ods-data-mapper__sidebar-tab--active{background:var(--ods-surface-canvas);color:var(--ods-accent);font-weight:600;box-shadow:0 0 0 1px var(--ods-border-default)}.ods-data-mapper__sidebar-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer}.ods-data-mapper__sidebar-close:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-data-mapper__sidebar-search{position:relative;display:flex;align-items:center;padding:var(--ods-space-1) var(--ods-space-2);border-bottom:1px solid var(--ods-border-default);background:var(--ods-surface-subtle);color:var(--ods-text-tertiary);flex-shrink:0}.ods-data-mapper__sidebar-search>svg{position:absolute;left:calc(var(--ods-space-2) + var(--ods-space-1));pointer-events:none}.ods-data-mapper__sidebar-search input{flex:1 1 auto;width:100%;height:24px;padding:0 var(--ods-space-1) 0 24px;border:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);outline:none}.ods-data-mapper__sidebar-search input::placeholder{color:var(--ods-text-disabled)}.ods-data-mapper__sidebar-search input:focus{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-data-mapper__sidebar-list{flex:1 1 auto;overflow-y:auto;padding:var(--ods-space-1) 0}.ods-data-mapper__sidebar-empty{padding:var(--ods-space-5) var(--ods-space-3);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-data-mapper__sidebar-item{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:28px;padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);text-align:left;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__sidebar-item:hover:not(:disabled){background:var(--ods-surface-muted)}.ods-data-mapper__sidebar-item:disabled{color:var(--ods-text-disabled);cursor:not-allowed}.ods-data-mapper__sidebar-item--draggable{cursor:grab}.ods-data-mapper__sidebar-item--draggable:active{cursor:grabbing}.ods-data-mapper__sidebar-item--draggable:hover{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-data-mapper__sidebar-item--draggable:hover .ods-data-mapper__sidebar-grip{color:var(--ods-accent)}.ods-data-mapper__sidebar-grip{display:inline-flex;align-items:center;justify-content:center;width:12px;height:14px;color:var(--ods-text-disabled);flex-shrink:0;transition:color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__sidebar-caret{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;color:var(--ods-text-tertiary);flex-shrink:0}.ods-data-mapper__sidebar-caret-spacer{display:inline-block;width:12px;flex-shrink:0}.ods-data-mapper__sidebar-item-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-data-mapper__sidebar-group+.ods-data-mapper__sidebar-group{margin-top:var(--ods-space-2)}.ods-data-mapper__sidebar-group-label{padding:var(--ods-space-1) var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-data-mapper__sidebar-fn{display:flex;align-items:flex-start;gap:var(--ods-space-2);width:100%;min-height:32px;padding:var(--ods-space-1) var(--ods-space-3);border:0;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);text-align:left;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__sidebar-fn:hover:not(:disabled){background:var(--ods-surface-muted)}.ods-data-mapper__sidebar-fn:disabled{color:var(--ods-text-disabled);cursor:not-allowed}.ods-data-mapper__sidebar-fn>svg{color:var(--ods-accent);flex-shrink:0;margin-top:4px}.ods-data-mapper__sidebar-fn-text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.ods-data-mapper__sidebar-fn-name{font-family:var(--ods-font-family-mono);font-weight:500;color:var(--ods-text-primary)}.ods-data-mapper__sidebar-fn-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-snug)}.ods-data-mapper__sidebar-hint{padding:var(--ods-space-2) var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary);background:var(--ods-surface-muted);border-top:1px solid var(--ods-border-default);flex-shrink:0}.ods-data-mapper__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);padding:var(--ods-space-3) var(--ods-space-4);border-top:1px solid var(--ods-border-default);background:var(--ods-surface-subtle);flex-shrink:0}.ods-data-mapper__footer-status{display:inline-flex;align-items:center;gap:var(--ods-space-2);font-size:var(--ods-font-size-sm);min-width:0}.ods-data-mapper__footer-ok{display:inline-flex;align-items:center;gap:var(--ods-space-1);color:var(--ods-status-success-fg);font-weight:500}.ods-data-mapper__footer-ok>svg{color:var(--ods-status-success);flex-shrink:0}.ods-data-mapper__footer-warn{display:inline-flex;align-items:center;gap:var(--ods-space-1);color:var(--ods-status-pending-fg);font-weight:500}.ods-data-mapper__footer-warn-dot{display:inline-block;width:6px;height:6px;border-radius:var(--ods-radius-pill);background:var(--ods-status-pending);flex-shrink:0}.ods-data-mapper__footer-muted{color:var(--ods-text-tertiary);font-style:italic}.ods-data-mapper__footer-actions{display:inline-flex;align-items:center;gap:var(--ods-space-2);flex-shrink:0}.ods-data-mapper__footer-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;margin-left:var(--ods-space-1);background:hsla(0,0%,100%,.18);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:10px;font-weight:700;color:inherit}.ods-flow-canvas{position:relative;width:100%;height:100%;background:var(--ods-surface-dag-canvas);cursor:grab;touch-action:none;transition:outline var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));transform:translateZ(0);will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;image-rendering:crisp-edges;-webkit-transform:translateZ(0)}.ods-flow-canvas--panning{cursor:grabbing}.ods-flow-canvas--space-panning{cursor:grab}.ods-flow-canvas--space-panning .ods-flow-node{cursor:grab}.ods-flow-canvas [data-canvas-overlay]{cursor:default}[data-dragging=true][data-over-canvas=true] .ods-flow-canvas{outline:2px solid var(--ods-status-success);outline-offset:-2px}[data-dragging=true][data-over-canvas=false] .ods-flow-canvas{outline:2px solid var(--ods-status-failed);outline-offset:-2px}.ods-flow-canvas__grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(to right, var(--ods-border-soft) 1px, transparent 1px),linear-gradient(to bottom, var(--ods-border-soft) 1px, transparent 1px);background-size:20px 20px;background-position:0 0;pointer-events:none;will-change:background-position,background-size;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}.ods-flow-canvas__viewport{position:absolute;inset:0;overflow:hidden}.ods-flow-canvas__content{position:absolute;top:0;left:0;width:100%;height:100%;will-change:transform;cursor:inherit;transform-origin:0 0;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;image-rendering:crisp-edges;transform:translateZ(0)}.ods-flow-canvas__toolbar{position:absolute;top:var(--ods-space-3);left:var(--ods-space-3);display:flex;flex-direction:column;align-items:center;gap:0;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);z-index:10;overflow:hidden}.ods-flow-canvas__toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));position:relative}.ods-flow-canvas__toolbar-btn:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-flow-canvas__toolbar-btn:active{background:var(--ods-surface-sunken)}.ods-flow-canvas__toolbar-btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-2px}.ods-flow-canvas__toolbar-btn svg{flex-shrink:0}.ods-flow-canvas__toolbar-divider{width:20px;height:1px;background:var(--ods-border-default);margin:var(--ods-space-1) 0}.ods-flow-canvas__toolbar-btn-wrapper{position:relative}.ods-flow-canvas__toolbar-btn-wrapper::after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:var(--ods-space-1) var(--ods-space-2);background:var(--ods-text-primary);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;white-space:nowrap;border-radius:var(--ods-radius-1);opacity:0;pointer-events:none;transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));z-index:1000}.ods-flow-canvas__toolbar-btn-wrapper:hover::after{opacity:1}.ods-flow-canvas__toolbar-btn-wrapper--pulse .ods-flow-canvas__toolbar-btn{animation:lockPulse .6s ease-out}@keyframes lockPulse{0%{background:rgba(0,0,0,0);box-shadow:0 0 0 0 var(--ods-status-failed-bd)}50%{background:var(--ods-status-failed-bg);box-shadow:0 0 0 6px rgba(0,0,0,0)}100%{background:rgba(0,0,0,0);box-shadow:0 0 0 0 rgba(0,0,0,0)}}.ods-flow-canvas__toolbar-zoom{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--ods-text-tertiary);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums;font-size:var(--ods-font-size-xs);font-weight:500}.ods-flow-canvas__empty{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-3);text-align:center;color:var(--ods-text-tertiary);pointer-events:none;font-family:var(--ods-font-family-sans)}.ods-flow-canvas__empty svg{color:var(--ods-text-disabled)}.ods-flow-canvas__empty h3{font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);margin:0}.ods-flow-canvas__empty p{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);margin:0}.ods-flow-canvas__drag-preview{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-3);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);cursor:grabbing;pointer-events:none;font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary)}.ods-flow-canvas__drag-preview-icon{display:flex;align-items:center;justify-content:center;color:var(--ods-text-primary)}.ods-flow-node{position:absolute;width:220px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-2);cursor:grab;user-select:none;box-shadow:none;font-family:var(--ods-font-family-sans);color:var(--ods-text-primary);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),box-shadow var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;image-rendering:crisp-edges;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform;perspective:1000px;-webkit-perspective:1000px}.ods-flow-node:hover{border-color:var(--ods-border-strong)}.ods-flow-node--dragging{opacity:.85;cursor:grabbing;box-shadow:var(--ods-shadow-pop)}.ods-flow-node--config-open{border-color:var(--ods-border-focus);background:var(--ods-accent-soft)}.ods-flow-node__status{position:absolute;top:var(--ods-spacing-03);right:var(--ods-spacing-03);display:flex;align-items:center;justify-content:center;padding:2px 4px;border-radius:2px;color:var(--ods-color-support-warning)}.ods-flow-node__status svg{flex-shrink:0}.ods-flow-node__status--valid{color:var(--ods-color-support-success)}.ods-flow-node__status--warning{color:var(--ods-color-support-warning)}.ods-flow-node__status--error{color:var(--ods-color-support-error)}.ods-flow-node__status--unconfigured{color:var(--ods-color-text-secondary)}.ods-flow-node__header{position:absolute;top:-18px;left:0;display:flex;align-items:center;justify-content:space-between;width:155px;height:18px;padding:0 var(--ods-spacing-03);background:var(--ods-color-support-success);cursor:grab;color:var(--ods-color-text-on-color);font:var(--ods-font-label_01);font-weight:600}.ods-flow-node__header:active{cursor:grabbing}.ods-flow-node__header-left{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.ods-flow-node__header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.ods-flow-node__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--ods-color-text-on-color)}.ods-flow-node__icon svg{width:12px;height:12px;shape-rendering:crispEdges;vector-effect:non-scaling-stroke;image-rendering:crisp-edges;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ods-flow-node__title{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.ods-flow-node__label{font:var(--ods-font-label_01);font-weight:600;color:var(--ods-color-text-on-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;line-height:1}.ods-flow-node__action-btn{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--ods-color-text-on-color);cursor:pointer;transition:all .15s ease;opacity:.8}.ods-flow-node__action-btn:hover{opacity:1;transform:scale(1.1)}.ods-flow-node__action-btn:active{transform:scale(0.95)}.ods-flow-node__action-btn svg{width:14px;height:14px}.ods-flow-node__delete-btn{position:absolute;bottom:var(--ods-spacing-03);right:var(--ods-spacing-03);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--ods-color-icon-secondary);cursor:pointer;transition:all .15s ease;opacity:.6;z-index:2}.ods-flow-node__delete-btn:hover{opacity:1;color:var(--ods-color-support-error);transform:scale(1.1)}.ods-flow-node__delete-btn:active{transform:scale(0.95)}.ods-flow-node__delete-btn svg{width:16px;height:16px}.ods-flow-node__badge{display:none}.ods-flow-node__actions{display:none}.ods-flow-node__body{position:relative;padding:var(--ods-spacing-05);min-height:108px;display:flex;flex-direction:column;gap:var(--ods-spacing-04);overflow:hidden}.ods-flow-node__content{display:flex;align-items:flex-start;gap:var(--ods-spacing-04);margin-bottom:var(--ods-spacing-04)}.ods-flow-node__content-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--ods-color-background-secondary);border-radius:50%;color:var(--ods-color-text-primary)}.ods-flow-node__content-icon svg{shape-rendering:crispEdges;vector-effect:non-scaling-stroke;image-rendering:crisp-edges;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ods-flow-node__content-text{flex:1;min-width:0}.ods-flow-node__content-title{font:var(--ods-font-heading_compact_01);font-weight:600;color:var(--ods-color-text-primary);margin-bottom:4px}.ods-flow-node__content-subtitle{font:var(--ods-font-label_01);color:var(--ods-color-text-secondary);margin-bottom:4px}.ods-flow-node__content-info{font:var(--ods-font-label_01);color:var(--ods-color-text-primary);display:flex;align-items:center;gap:4px}.ods-flow-node__content-info svg{width:14px;height:14px}.ods-flow-node__description{font:var(--ods-font-body_compact_01);color:var(--ods-color-text-secondary);font-size:12px;line-height:1.4}.ods-flow-node__validation{display:flex;align-items:center;gap:var(--ods-spacing-02);padding:var(--ods-spacing-03);background:var(--ods-color-support-warning) -inverse;color:var(--ods-color-text-primary);border-radius:2px;font:var(--ods-font-label_01)}.ods-flow-node__validation svg{flex-shrink:0;fill:var(--ods-color-support-warning)}.ods-flow-node__ports{position:absolute;display:flex;justify-content:center;align-items:center;gap:var(--ods-spacing-03)}.ods-flow-node__ports--input{left:50%;top:-8px;transform:translateX(-50%)}.ods-flow-node__ports--output{left:50%;bottom:-8px;transform:translateX(-50%)}.ods-flow-node__ports--branching{gap:var(--ods-spacing-06);bottom:-10px}.ods-flow-node__port-label{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-family:var(--ods-font-family-mono);font-size:9px;font-weight:600;letter-spacing:var(--ods-tracking-mono);white-space:nowrap;color:var(--ods-text-tertiary);pointer-events:none;margin-bottom:2px;text-transform:uppercase}.ods-flow-node__port{position:relative;width:16px;height:16px;cursor:crosshair}.ods-flow-node__port--labeled{display:flex;flex-direction:column;align-items:center;width:auto;min-width:16px}.ods-flow-node__port--connecting .ods-flow-node__port-dot{background:var(--ods-status-success);border-color:var(--ods-status-success);transform:scale(1.3);box-shadow:0 0 0 3px var(--ods-status-success-bd);animation:pulse 1s ease-in-out infinite}.ods-flow-node__port--connectable .ods-flow-node__port-dot{background:var(--ods-status-success);border-color:var(--ods-status-success);transform:scale(1.3);box-shadow:0 0 0 3px var(--ods-status-success-bd);animation:pulse 1s ease-in-out infinite}.ods-flow-node__port--invalid{cursor:not-allowed}.ods-flow-node__port--invalid .ods-flow-node__port-dot{background:var(--ods-status-failed);border-color:var(--ods-status-failed);transform:scale(1.2);box-shadow:0 0 0 3px var(--ods-status-failed-bd)}@keyframes pulse{0%,100%{transform:scale(1.3)}50%{transform:scale(1.5)}}.ods-flow-node__port-dot{width:12px;height:12px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);transition:all .2s ease;box-shadow:none;margin:2px}.ods-flow-node__port:hover .ods-flow-node__port-dot{background:#161a21;border-color:#6f7785;box-shadow:0 0 0 2px rgba(15,98,254,.35)}.ods-flow-node__port--connected .ods-flow-node__port-dot{background:#0f1118;border-color:#8ab6ff}.ods-flow-node__ports--input .ods-flow-node__port-dot{background:#0f1118;border-color:#3b4049;box-shadow:none}.ods-flow-node__ports--output .ods-flow-node__port-dot{background:#0f1118;border-color:#3b4049;box-shadow:none}.ods-flow-node__port--edge-selected .ods-flow-node__port-dot{border-color:var(--ods-accent);box-shadow:0 0 0 2px var(--ods-accent-border);animation:port-pulse 1.2s ease-in-out infinite}@keyframes port-pulse{0%{box-shadow:0 0 0 2px var(--ods-accent-border)}50%{box-shadow:0 0 0 6px var(--ods-accent-soft)}100%{box-shadow:0 0 0 2px var(--ods-accent-border)}}.ods-flow-node__running-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--ods-surface-canvas);opacity:.9;border-radius:var(--ods-radius-2);color:var(--ods-accent)}.ods-flow-node__running-overlay svg{animation:rotate 1s linear infinite}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.ods-flow-edge{cursor:pointer;shape-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ods-flow-edge__hitbox{cursor:pointer}.ods-flow-edge__path{transition:stroke-width var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));vector-effect:non-scaling-stroke;stroke:var(--ods-border-strong);stroke-width:1}.ods-flow-edge__path--selected{stroke:var(--ods-accent) !important;stroke-width:2 !important}.ods-flow-edge__path--active{stroke:var(--ods-accent);stroke-width:1.5}.ods-flow-edge__arrow{vector-effect:non-scaling-stroke;fill:var(--ods-border-strong);transition:fill var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-flow-edge__handle{fill:var(--ods-surface-canvas);stroke:var(--ods-border-strong);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),stroke var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-flow-edge__handle:hover{fill:var(--ods-accent-soft);stroke:var(--ods-accent)}.ods-flow-edge__label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:500;letter-spacing:var(--ods-tracking-mono);fill:var(--ods-text-tertiary);pointer-events:none;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ods-flow-edge__delete{cursor:pointer;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-flow-edge__delete:hover{transform:scale(1.1)}.ods-flow-edge__delete:active{transform:scale(0.95)}.ods-flow-edge__delete-bg{fill:var(--ods-surface-canvas);stroke:var(--ods-border-default);stroke-width:1;transition:fill var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-flow-edge__delete:hover .ods-flow-edge__delete-bg{fill:var(--ods-status-failed);stroke:var(--ods-status-failed)}.ods-flow-edge__delete-icon{pointer-events:none;user-select:none;fill:var(--ods-text-tertiary)}.ods-flow-edge__delete:hover .ods-flow-edge__delete-icon{fill:var(--ods-surface-canvas)}.ods-flow-minimap{position:absolute;bottom:var(--ods-space-3);right:var(--ods-space-3);width:140px;height:90px;border-radius:var(--ods-radius-1);overflow:hidden;cursor:pointer;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);box-shadow:var(--ods-shadow-pop)}.ods-flow-minimap svg{display:block;width:100%;height:100%}.ods-flow-minimap__node{opacity:.9;rx:1;ry:1;fill:var(--ods-border-strong)}.ods-flow-minimap__edge{stroke:var(--ods-border-default);stroke-width:.5}.ods-flow-minimap__viewport{fill:var(--ods-accent-soft);stroke:var(--ods-accent);stroke-width:1}.ods-flow-toolbar{position:absolute;display:inline-flex;align-items:center;gap:1px;padding:2px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);z-index:50;overflow:visible}.ods-flow-toolbar--left{top:var(--ods-space-3);left:var(--ods-space-3);flex-direction:column}.ods-flow-toolbar--right{top:var(--ods-space-3);right:var(--ods-space-3);flex-direction:column}.ods-flow-toolbar--top{top:var(--ods-space-3);left:50%;transform:translateX(-50%);flex-direction:row}.ods-flow-toolbar--bottom{bottom:var(--ods-space-3);left:50%;transform:translateX(-50%);flex-direction:row}.ods-flow-toolbar__btn-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.ods-flow-toolbar__btn-wrapper[data-tooltip]::after{content:attr(data-tooltip);position:absolute;background:var(--ods-text-primary);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);padding:var(--ods-space-1) var(--ods-space-2);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-xs);font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));z-index:9999;will-change:opacity}.ods-flow-toolbar__btn-wrapper[data-tooltip]::before{content:"";position:absolute;border:4px solid rgba(0,0,0,0);opacity:0;pointer-events:none;transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));z-index:9999}.ods-flow-toolbar__btn-wrapper[data-tooltip]:hover::after,.ods-flow-toolbar__btn-wrapper[data-tooltip]:hover::before{opacity:1}.ods-flow-toolbar--left .ods-flow-toolbar__btn-wrapper[data-tooltip]::after{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.ods-flow-toolbar--left .ods-flow-toolbar__btn-wrapper[data-tooltip]::before{left:calc(100% + 2px);top:50%;transform:translateY(-50%);border-right-color:var(--ods-text-primary)}.ods-flow-toolbar--right .ods-flow-toolbar__btn-wrapper[data-tooltip]::after{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.ods-flow-toolbar--right .ods-flow-toolbar__btn-wrapper[data-tooltip]::before{right:calc(100% + 2px);top:50%;transform:translateY(-50%);border-left-color:var(--ods-text-primary)}.ods-flow-toolbar--top .ods-flow-toolbar__btn-wrapper[data-tooltip]::after{top:calc(100% + 8px);left:50%;transform:translateX(-50%)}.ods-flow-toolbar--top .ods-flow-toolbar__btn-wrapper[data-tooltip]::before{top:calc(100% + 2px);left:50%;transform:translateX(-50%);border-bottom-color:var(--ods-text-primary)}.ods-flow-toolbar--bottom .ods-flow-toolbar__btn-wrapper[data-tooltip]::after{bottom:calc(100% + 8px);left:50%;transform:translateX(-50%)}.ods-flow-toolbar--bottom .ods-flow-toolbar__btn-wrapper[data-tooltip]::before{bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);border-top-color:var(--ods-text-primary)}.ods-flow-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;width:var(--ods-layout-control-height);height:var(--ods-layout-control-height);padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-flow-toolbar__btn:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-flow-toolbar__btn:active:not(:disabled){background:var(--ods-surface-sunken)}.ods-flow-toolbar__btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-flow-toolbar__btn:disabled{opacity:.4;cursor:not-allowed}.ods-flow-toolbar__btn--active{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-flow-toolbar__btn--active:hover{background:var(--ods-accent-border)}.ods-flow-toolbar__btn--danger:hover{background:var(--ods-status-failed-bg);color:var(--ods-status-failed)}.ods-flow-toolbar__btn-icon{display:inline-flex;align-items:center;justify-content:center}.ods-flow-toolbar__btn-icon svg{display:block}.ods-flow-toolbar__divider{background:var(--ods-border-default);align-self:stretch}.ods-flow-toolbar--top .ods-flow-toolbar__divider,.ods-flow-toolbar--bottom .ods-flow-toolbar__divider{width:1px;height:auto;margin:var(--ods-space-1) 2px}.ods-flow-toolbar--left .ods-flow-toolbar__divider,.ods-flow-toolbar--right .ods-flow-toolbar__divider{width:auto;height:1px;margin:2px var(--ods-space-1)}.ods-flow-toolbar__zoom{display:inline-flex;align-items:center;gap:2px}.ods-flow-toolbar--left .ods-flow-toolbar__zoom,.ods-flow-toolbar--right .ods-flow-toolbar__zoom{flex-direction:column}.ods-flow-toolbar__zoom-label{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:22px;padding:0 var(--ods-space-1);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:500;font-variant-numeric:tabular-nums lining-nums;user-select:none}.ods-workflow-editor{position:relative;display:flex;font-family:var(--ods-font-family-sans);background:rgba(0,0,0,0)}.ods-workflow-editor__drawer{flex-shrink:0;height:100%;border-right:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);overflow:hidden;display:flex;flex-direction:column}.ods-workflow-editor__canvas-wrapper{position:relative;flex:1;min-width:0;height:100%}.ods-workflow-editor__minimap{position:absolute;right:var(--ods-space-3);bottom:var(--ods-space-3);z-index:40}.ods-workflow-editor__console{position:absolute;left:var(--ods-space-3);right:var(--ods-space-3);bottom:var(--ods-space-3);z-index:45;pointer-events:auto}.ods-action-drawer{position:absolute;top:0;left:0;width:224px;height:100%;display:flex;flex-direction:column;z-index:10;background:var(--ods-surface-subtle);border-right:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-action-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:var(--ods-space-2) var(--ods-space-3);height:var(--ods-layout-topbar-height);border-bottom:1px solid var(--ods-border-default)}.ods-action-drawer__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-action-drawer__toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-action-drawer__toggle:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-action-drawer__toggle:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-action-drawer__search{padding:var(--ods-space-2) var(--ods-space-3)}.ods-action-drawer__input{width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);background:var(--ods-surface-canvas);outline:none;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-action-drawer__input::placeholder{color:var(--ods-text-disabled)}.ods-action-drawer__input:focus{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-action-drawer__list{flex:1;overflow-y:auto;padding:0 var(--ods-space-2) var(--ods-space-2)}.ods-action-drawer__group{margin-bottom:var(--ods-space-2)}.ods-action-drawer__category{padding:var(--ods-space-1) var(--ods-space-1);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary)}.ods-action-drawer__item{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);border-radius:var(--ods-radius-1);cursor:grab;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-action-drawer__item:hover{background:var(--ods-surface-muted)}.ods-action-drawer__item:active{cursor:grabbing;background:var(--ods-accent-soft)}.ods-action-drawer__item:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-action-drawer__item-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-action-drawer__item-icon svg{width:14px;height:14px}.ods-action-drawer__item-info{flex:1;min-width:0}.ods-action-drawer__item-label{font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-action-drawer__item-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-action-drawer__empty{padding:var(--ods-space-6) var(--ods-space-4);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-config-panel{position:absolute;top:0;right:0;width:320px;height:100%;display:flex;flex-direction:column;z-index:20;background:var(--ods-surface-canvas);border-left:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary)}.ods-config-panel__header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--ods-space-4);height:var(--ods-layout-topbar-height);border-bottom:1px solid var(--ods-border-default)}.ods-config-panel__header-left{display:flex;align-items:center;gap:var(--ods-space-2);min-width:0}.ods-config-panel__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-config-panel__icon svg{width:14px;height:14px}.ods-config-panel__title{font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-md);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-config-panel__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-config-panel__close:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-config-panel__close:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-config-panel__body{flex:1;overflow-y:auto;padding:var(--ods-space-4)}.ods-config-panel__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding:var(--ods-space-3) var(--ods-space-4);border-top:1px solid var(--ods-border-default)}.ods-config-panel__btn{height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-md);font-weight:500;cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-config-panel__btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-config-panel__btn--cancel{background:var(--ods-surface-canvas);color:var(--ods-text-primary);border-color:var(--ods-border-strong)}.ods-config-panel__btn--cancel:hover{background:var(--ods-surface-muted)}.ods-config-panel__btn--save{background:var(--ods-accent);color:var(--ods-surface-canvas);border-color:var(--ods-accent)}.ods-config-panel__btn--save:hover{background:var(--ods-accent-hover);border-color:var(--ods-accent-hover)}@keyframes ods-console-pulse{0%,100%{opacity:1}50%{opacity:.4}}.ods-console{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-console__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);height:var(--ods-layout-row-height);padding:0 var(--ods-space-3);cursor:pointer;border-bottom:1px solid var(--ods-border-default);background:var(--ods-surface-subtle)}.ods-console__toggle{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-console__toggle:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-console__label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-primary);display:flex;align-items:center;gap:var(--ods-space-2)}.ods-console__status{display:inline-flex;align-items:center;gap:var(--ods-space-1);padding:0 var(--ods-space-2);height:18px;border-radius:var(--ods-radius-1);background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1;border:1px solid var(--ods-status-running-bd)}.ods-console__status-dot{width:6px;height:6px;border-radius:var(--ods-radius-pill);background-color:var(--ods-status-running);animation:ods-console-pulse 1.2s ease-in-out infinite;flex-shrink:0}.ods-console__status-text{white-space:nowrap}.ods-console__count{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin-left:auto}.ods-console__actions{display:flex;align-items:center;gap:1px}.ods-console__action{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-console__action:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-console__action:active{background:var(--ods-surface-sunken)}.ods-console__action:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-console__action svg{display:block}.ods-console__action--stop{background:var(--ods-status-failed);color:var(--ods-surface-canvas)}.ods-console__action--stop:hover{background:var(--ods-status-failed-fg);color:var(--ods-surface-canvas)}.ods-console__action-separator{display:inline-block;width:1px;height:14px;margin:0 var(--ods-space-1);background:var(--ods-border-default)}.ods-console__logs{flex:1;overflow-y:auto;padding:var(--ods-space-2) var(--ods-space-3);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);line-height:1.6;color:var(--ods-text-body)}.ods-console__empty{padding:var(--ods-space-4);text-align:center;color:var(--ods-text-tertiary);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm)}.ods-console__line{display:flex;gap:var(--ods-space-2);padding:1px var(--ods-space-3);color:var(--ods-text-body);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-console__line:hover{background:var(--ods-surface-muted)}.ods-console__line--error{background:var(--ods-status-failed-bg)}.ods-console__line--warn{background:var(--ods-status-pending-bg)}.ods-console__timestamp{color:var(--ods-text-tertiary);white-space:nowrap;min-width:64px}.ods-console__level{font-weight:600;white-space:nowrap;min-width:48px;text-transform:uppercase}.ods-console__level--info{color:var(--ods-status-running-fg)}.ods-console__level--warn{color:var(--ods-status-pending-fg)}.ods-console__level--error{color:var(--ods-status-failed-fg)}.ods-console__level--debug{color:var(--ods-text-tertiary)}.ods-console__level--success{color:var(--ods-status-success-fg)}.ods-console__message{flex:1;word-break:break-all;color:var(--ods-text-primary)}.ods-banner{display:flex;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-3) var(--ods-space-4);border-radius:var(--ods-radius-1);border:1px solid rgba(0,0,0,0);width:100%;font-family:var(--ods-font-family-sans)}.ods-banner__icon{display:inline-flex;flex-shrink:0;width:18px;height:18px;align-items:center;justify-content:center}.ods-banner__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.ods-banner__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-banner__description{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-snug)}.ods-banner__action{flex-shrink:0}.ods-banner__dismiss{flex-shrink:0;width:22px;height:22px;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-banner__dismiss:hover{background:rgba(0,0,0,.06);color:var(--ods-text-primary)}.ods-banner--info{background:var(--ods-status-running-bg);border-color:var(--ods-status-running-bd)}.ods-banner--info .ods-banner__icon{color:var(--ods-status-running-fg)}.ods-banner--success{background:var(--ods-status-success-bg);border-color:var(--ods-status-success-bd)}.ods-banner--success .ods-banner__icon{color:var(--ods-status-success-fg)}.ods-banner--warning{background:var(--ods-status-pending-bg);border-color:var(--ods-status-pending-bd)}.ods-banner--warning .ods-banner__icon{color:var(--ods-status-pending-fg)}.ods-banner--error{background:var(--ods-status-failed-bg);border-color:var(--ods-status-failed-bd)}.ods-banner--error .ods-banner__icon{color:var(--ods-status-failed-fg)}.ods-banner--promo{background:var(--ods-accent-soft);border-color:var(--ods-accent-border)}.ods-banner--promo .ods-banner__icon{color:var(--ods-accent)}.ods-stat{display:flex;flex-direction:column;gap:var(--ods-space-1);padding:var(--ods-space-4);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-stat:hover{border-color:var(--ods-border-strong)}.ods-stat__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2)}.ods-stat__label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary);text-transform:uppercase}.ods-stat__icon{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-stat__value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-2xl);font-weight:500;color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-stat__delta{display:inline-flex;align-items:center;gap:var(--ods-space-1);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:500}.ods-stat__delta--up{color:var(--ods-status-success-fg)}.ods-stat__delta--down{color:var(--ods-status-failed-fg)}.ods-stat__delta--neutral{color:var(--ods-text-tertiary)}.ods-stat__delta-arrow{font-size:10px}.ods-stat__delta-suffix{font-weight:400;color:var(--ods-text-tertiary);font-size:var(--ods-font-size-xs)}.ods-stat--sm{padding:var(--ods-space-3)}.ods-stat--sm .ods-stat__value{font-size:var(--ods-font-size-xl)}.ods-stat--lg{padding:var(--ods-space-5)}.ods-stat--lg .ods-stat__value{font-size:var(--ods-font-size-3xl)}.ods-chip{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:22px;padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1;color:var(--ods-text-body);white-space:nowrap;user-select:none;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-chip--avatar{padding-left:var(--ods-space-1)}.ods-chip__avatar{display:inline-flex;width:16px;height:16px;border-radius:var(--ods-radius-pill);overflow:hidden;align-items:center;justify-content:center;background:var(--ods-accent-soft);color:var(--ods-accent);font-size:9px;font-weight:700;flex-shrink:0}.ods-chip__icon{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center;color:currentColor;flex-shrink:0}.ods-chip__label{line-height:1}.ods-chip__remove{display:inline-flex;width:12px;height:12px;border:0;background:rgba(0,0,0,0);color:currentColor;opacity:.6;cursor:pointer;align-items:center;justify-content:center;padding:0;transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-chip__remove:hover{opacity:1}.ods-chip--interactive{cursor:pointer}.ods-chip--interactive:hover{background:var(--ods-surface-muted);border-color:var(--ods-border-strong)}.ods-chip--disabled{opacity:.5;cursor:not-allowed}.ods-chip--primary{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-chip--success{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-chip--warning{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-chip--error{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd)}.ods-chip--sm{height:18px;font-size:10px;padding:0 var(--ods-space-1);gap:4px}.ods-chip--sm .ods-chip__avatar{width:14px;height:14px;font-size:8px}.ods-chip--sm .ods-chip__icon,.ods-chip--sm .ods-chip__remove{width:10px;height:10px}.ods-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-bottom-width:2px;color:var(--ods-text-body);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1;letter-spacing:var(--ods-tracking-mono);white-space:nowrap}.ods-kbd--sm{min-width:14px;padding:0 4px;font-size:10px}.ods-kbd-group{display:inline-flex;align-items:center;gap:4px}.ods-kbd-group__item{display:inline-flex;align-items:center;gap:4px}.ods-kbd-group__sep{color:var(--ods-text-tertiary);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500}.ods-callout{display:flex;align-items:flex-start;gap:var(--ods-space-3);padding:var(--ods-space-3) var(--ods-space-4);border-radius:var(--ods-radius-1);border-left:3px solid;background:var(--ods-surface-subtle);font-family:var(--ods-font-family-sans)}.ods-callout__icon{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;color:currentColor;flex-shrink:0;margin-top:2px}.ods-callout__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--ods-space-1)}.ods-callout__title{font-size:var(--ods-font-size-base);font-weight:600;color:var(--ods-text-primary)}.ods-callout__content{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-callout--tip{background:var(--ods-status-pending-bg);border-left-color:var(--ods-status-pending)}.ods-callout--tip .ods-callout__icon{color:var(--ods-status-pending-fg)}.ods-callout--info{background:var(--ods-status-running-bg);border-left-color:var(--ods-status-running)}.ods-callout--info .ods-callout__icon{color:var(--ods-status-running-fg)}.ods-callout--warning{background:var(--ods-status-pending-bg);border-left-color:var(--ods-status-pending)}.ods-callout--warning .ods-callout__icon{color:var(--ods-status-pending-fg)}.ods-callout--danger{background:var(--ods-status-failed-bg);border-left-color:var(--ods-status-failed)}.ods-callout--danger .ods-callout__icon{color:var(--ods-status-failed-fg)}.ods-callout--success{background:var(--ods-status-success-bg);border-left-color:var(--ods-status-success)}.ods-callout--success .ods-callout__icon{color:var(--ods-status-success-fg)}.ods-quote{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-4) var(--ods-space-4) var(--ods-space-4) var(--ods-space-5);border-left:3px solid var(--ods-accent);border-radius:var(--ods-radius-1);background:var(--ods-surface-subtle);font-family:var(--ods-font-family-sans);margin:0}.ods-quote__mark{position:absolute;top:var(--ods-space-1);left:var(--ods-space-3);font-size:var(--ods-font-size-2xl);font-family:var(--ods-font-family-serif);color:var(--ods-accent-border);line-height:1;pointer-events:none}.ods-quote__text{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-md);line-height:var(--ods-line-height-base);color:var(--ods-text-primary);font-style:italic}.ods-quote__footer{display:flex;align-items:center;gap:var(--ods-space-1);font-size:var(--ods-font-size-sm);color:var(--ods-text-body)}.ods-quote__author{font-family:var(--ods-font-family-sans);font-weight:600;font-style:normal;color:var(--ods-text-primary)}.ods-quote__attribution{color:var(--ods-text-tertiary)}.ods-quote--muted{background:var(--ods-surface-muted);border-left-color:var(--ods-text-tertiary)}.ods-quote--muted .ods-quote__mark{color:var(--ods-border-strong)}.ods-quote--primary{background:var(--ods-accent-soft);border-left-color:var(--ods-accent)}.ods-quote--sm{padding:var(--ods-space-3) var(--ods-space-3) var(--ods-space-3) var(--ods-space-4)}.ods-quote--sm .ods-quote__text{font-size:var(--ods-font-size-sm)}.ods-quote--sm .ods-quote__mark{font-size:var(--ods-font-size-xl);top:2px}.ods-quote--lg{padding:var(--ods-space-6) var(--ods-space-6) var(--ods-space-6) var(--ods-space-7)}.ods-quote--lg .ods-quote__text{font-size:var(--ods-font-size-lg);line-height:var(--ods-line-height-base)}.ods-quote--lg .ods-quote__mark{font-size:var(--ods-font-size-3xl);top:var(--ods-space-1);left:var(--ods-space-4)}.ods-icon-card{display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-4);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-icon-card__icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-icon-card__body{display:flex;flex-direction:column;gap:var(--ods-space-1)}.ods-icon-card__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-icon-card__description{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-icon-card__action{margin-top:var(--ods-space-1)}.ods-icon-card--interactive{cursor:pointer}.ods-icon-card--interactive:hover{border-color:var(--ods-border-strong);background:var(--ods-surface-subtle)}.ods-icon-card--primary .ods-icon-card__icon{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-icon-card--success .ods-icon-card__icon{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg)}.ods-icon-card--warning .ods-icon-card__icon{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg)}.ods-icon-card--error .ods-icon-card__icon{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg)}.ods-dl{margin:0;padding:0;border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans);overflow:hidden}.ods-dl__row{display:flex;align-items:flex-start;padding:var(--ods-space-2) var(--ods-space-3);gap:var(--ods-space-3)}.ods-dl__label{margin:0;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);flex-shrink:0;min-width:100px}.ods-dl__value{margin:0;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary);line-height:var(--ods-line-height-snug);flex:1 1 auto;min-width:0}.ods-dl--stacked .ods-dl__row{flex-direction:column;align-items:stretch;gap:var(--ods-space-1)}.ods-dl--divided .ods-dl__row+.ods-dl__row{border-top:1px solid var(--ods-border-soft)}.ods-dl--sm .ods-dl__row{padding:var(--ods-space-1) var(--ods-space-2)}.ods-dl--sm .ods-dl__label,.ods-dl--sm .ods-dl__value{font-size:var(--ods-font-size-xs)}.ods-ribbon{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:22px;padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);white-space:nowrap;border:1px solid rgba(0,0,0,0)}.ods-ribbon__icon{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center}.ods-ribbon__label{text-transform:uppercase}.ods-ribbon--primary{background:var(--ods-accent);border-color:var(--ods-accent)}.ods-ribbon--success{background:var(--ods-status-success);border-color:var(--ods-status-success)}.ods-ribbon--warning{background:var(--ods-status-pending);border-color:var(--ods-status-pending)}.ods-ribbon--error{background:var(--ods-status-failed);border-color:var(--ods-status-failed)}.ods-ribbon--neutral{background:var(--ods-text-tertiary);border-color:var(--ods-text-tertiary)}.ods-ribbon--sm{height:18px;padding:0 var(--ods-space-1);font-size:10px;gap:4px}.ods-ribbon--sm .ods-ribbon__icon{width:10px;height:10px}.ods-link-btn{display:inline-flex;align-items:center;gap:var(--ods-space-1);font-family:var(--ods-font-family-sans);font-weight:500;text-decoration:none;cursor:pointer;transition:color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));outline:none}.ods-link-btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:2px;border-radius:var(--ods-radius-1)}.ods-link-btn__icon{display:inline-flex;align-items:center;justify-content:center;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-link-btn__label{line-height:1.2}.ods-link-btn:hover .ods-link-btn__icon--right{transform:translateX(2px)}.ods-link-btn:hover .ods-link-btn__icon--left{transform:translateX(-2px)}.ods-link-btn--underline:hover .ods-link-btn__label{text-decoration:underline}.ods-link-btn--primary{color:var(--ods-accent)}.ods-link-btn--primary:hover{color:var(--ods-accent-hover)}.ods-link-btn--neutral{color:var(--ods-text-body)}.ods-link-btn--neutral:hover{color:var(--ods-text-primary)}.ods-link-btn--danger{color:var(--ods-status-failed-fg)}.ods-link-btn--danger:hover{color:var(--ods-status-failed)}.ods-link-btn--sm{font-size:var(--ods-font-size-sm)}.ods-link-btn--sm .ods-link-btn__icon{width:12px;height:12px}.ods-link-btn--md{font-size:var(--ods-font-size-md)}.ods-link-btn--md .ods-link-btn__icon{width:14px;height:14px}.ods-link-btn--lg{font-size:var(--ods-font-size-lg)}.ods-link-btn--lg .ods-link-btn__icon{width:16px;height:16px}.ods-toggle{display:inline-flex;padding:1px;gap:1px;border-radius:var(--ods-radius-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-toggle--full{display:flex;width:100%}.ods-toggle__opt{display:inline-flex;align-items:center;justify-content:center;gap:var(--ods-space-1);height:26px;padding:0 var(--ods-space-3);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-tertiary);cursor:pointer;flex:1 1 auto;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-toggle__opt:hover:not(.ods-toggle__opt--active):not(:disabled){color:var(--ods-text-primary)}.ods-toggle__opt:disabled{opacity:.5;cursor:not-allowed}.ods-toggle__opt--active{background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-weight:600}.ods-toggle__icon{display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center}.ods-toggle--sm .ods-toggle__opt{height:22px;padding:0 var(--ods-space-2);font-size:var(--ods-font-size-sm)}.ods-toggle--lg .ods-toggle__opt{height:34px;padding:0 var(--ods-space-4);font-size:var(--ods-font-size-md)}.ods-num{display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-num__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-num__field{display:flex;height:var(--ods-layout-control-height);align-items:stretch;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);overflow:hidden;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-num__field:focus-within{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-num__step{width:28px;display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--ods-surface-muted);color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-num__step:hover:not(:disabled){background:var(--ods-surface-sunken);color:var(--ods-text-primary)}.ods-num__step:disabled{opacity:.4;cursor:not-allowed}.ods-num__step--dec{border-right:1px solid var(--ods-border-default)}.ods-num__step--inc{border-left:1px solid var(--ods-border-default)}.ods-num__prefix,.ods-num__suffix{display:inline-flex;align-items:center;padding:0 var(--ods-space-2);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);background:rgba(0,0,0,0)}.ods-num__input{flex:1 1 auto;min-width:0;padding:0 var(--ods-space-3);border:0;background:rgba(0,0,0,0);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);text-align:center;outline:none}.ods-num__input::-webkit-outer-spin-button,.ods-num__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ods-num__input[type=number]{-moz-appearance:textfield}.ods-num__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-num__hint--error{color:var(--ods-status-failed-fg)}.ods-num--error .ods-num__field{border-color:var(--ods-status-failed)}.ods-num--disabled .ods-num__field{background:var(--ods-surface-muted);opacity:1}.ods-num--disabled .ods-num__field .ods-num__input{color:var(--ods-text-disabled)}.ods-num--sm .ods-num__field{height:var(--ods-layout-control-height-sm)}.ods-num--sm .ods-num__step{width:24px}.ods-num--sm .ods-num__input{font-size:var(--ods-font-size-sm)}.ods-num--lg .ods-num__field{height:var(--ods-layout-control-height-lg)}.ods-num--lg .ods-num__step{width:36px}.ods-num--lg .ods-num__input{font-size:var(--ods-font-size-md)}.ods-otp{display:flex;flex-direction:column;gap:var(--ods-space-2);font-family:var(--ods-font-family-sans)}.ods-otp__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-otp__row{display:inline-flex;gap:var(--ods-space-2)}.ods-otp__cell{width:36px;height:40px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);text-align:center;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xl);font-weight:500;color:var(--ods-text-primary);background:var(--ods-surface-canvas);outline:none;caret-color:var(--ods-accent);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-otp__cell:focus{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-otp__cell--filled{border-color:var(--ods-accent-border)}.ods-otp__hint{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg)}.ods-otp--disabled .ods-otp__cell{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed}.ods-otp--error .ods-otp__cell{border-color:var(--ods-status-failed)}.ods-pwd{display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-pwd__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-pwd__field{display:flex;height:var(--ods-layout-control-height);align-items:center;gap:var(--ods-space-2);padding:0 var(--ods-space-3);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-pwd__field:focus-within{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-pwd__icon{display:inline-flex;width:14px;height:14px;color:var(--ods-text-tertiary);flex-shrink:0}.ods-pwd__input{flex:1 1 auto;min-width:0;border:0;outline:none;background:rgba(0,0,0,0);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);font-family:inherit;letter-spacing:1px}.ods-pwd__input:placeholder-shown{letter-spacing:normal}.ods-pwd__toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;flex-shrink:0;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-pwd__toggle:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-pwd__toggle:disabled{opacity:.4;cursor:not-allowed}.ods-pwd__strength{display:flex;align-items:center;gap:var(--ods-space-2);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-pwd__meter{flex:1 1 auto;height:4px;border-radius:var(--ods-radius-pill);background:var(--ods-border-default);overflow:hidden}.ods-pwd__bar{display:block;height:100%;border-radius:var(--ods-radius-pill);transition:width var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-pwd__bar--0{width:10%;background:var(--ods-status-failed)}.ods-pwd__bar--1{width:30%;background:var(--ods-status-pending)}.ods-pwd__bar--2{width:55%;background:var(--ods-status-pending)}.ods-pwd__bar--3{width:80%;background:var(--ods-status-success)}.ods-pwd__bar--4{width:100%;background:var(--ods-status-success)}.ods-pwd__strength-label{font-weight:600;white-space:nowrap}.ods-pwd__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-pwd__hint--error{color:var(--ods-status-failed-fg)}.ods-pwd--error .ods-pwd__field{border-color:var(--ods-status-failed)}.ods-pwd--disabled .ods-pwd__field{background:var(--ods-surface-muted)}.ods-pwd--sm .ods-pwd__field{height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2)}.ods-pwd--lg .ods-pwd__field{height:var(--ods-layout-control-height-lg);padding:0 var(--ods-space-4)}.ods-pwd--lg .ods-pwd__field .ods-pwd__input{font-size:var(--ods-font-size-md)}.ods-rating{display:inline-flex;align-items:center;gap:2px;color:var(--ods-border-strong);font-family:var(--ods-font-family-sans)}.ods-rating__item{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:rgba(0,0,0,0);cursor:default;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));color:inherit}.ods-rating__item--filled{color:var(--ods-status-pending)}.ods-rating__half{position:absolute;top:0;height:100%;width:50%;z-index:1}.ods-rating__half--left{left:0}.ods-rating__half--right{right:0}.ods-rating__label{margin-left:var(--ods-space-2);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary)}.ods-rating--interactive .ods-rating__item{cursor:pointer}.ods-rating--interactive .ods-rating__item:hover{transform:scale(1.1)}.ods-rating--readonly .ods-rating__half,.ods-rating--disabled .ods-rating__half{pointer-events:none}.ods-rating--disabled{opacity:.5}.ods-rating--sm svg{width:14px;height:14px}.ods-rating--md svg{width:18px;height:18px}.ods-rating--lg svg{width:24px;height:24px}.ods-slider{display:flex;flex-direction:column;gap:var(--ods-space-2);width:100%;font-family:var(--ods-font-family-sans)}.ods-slider__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3)}.ods-slider__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-slider__value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-accent)}.ods-slider__track{position:relative;height:4px;border-radius:var(--ods-radius-pill);background:var(--ods-border-default)}.ods-slider__fill{position:absolute;top:0;left:0;height:100%;border-radius:var(--ods-radius-pill);background:var(--ods-accent);pointer-events:none;will-change:width}.ods-slider__input{position:absolute;inset:-8px 0;width:100%;height:20px;margin:0;padding:0;background:rgba(0,0,0,0);-webkit-appearance:none;appearance:none;cursor:pointer;opacity:1}.ods-slider__input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);border:2px solid var(--ods-accent);cursor:grab;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));will-change:transform}.ods-slider__input::-moz-range-thumb{width:14px;height:14px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);border:2px solid var(--ods-accent);cursor:grab;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-slider__input:hover::-webkit-slider-thumb{transform:scale(1.12)}.ods-slider__input:active::-webkit-slider-thumb,.ods-slider__input:focus-visible::-webkit-slider-thumb{transform:scale(1.12);cursor:grabbing}.ods-slider__input:focus,.ods-slider__input:focus-visible{outline:none}.ods-slider__input::-moz-focus-outer{border:0}.ods-slider__input:disabled{cursor:not-allowed}.ods-slider--sm .ods-slider__track{height:3px}.ods-slider--lg .ods-slider__track{height:6px}.ods-slider--success .ods-slider__fill{background:var(--ods-status-success)}.ods-slider--success .ods-slider__input::-webkit-slider-thumb{border-color:var(--ods-status-success)}.ods-slider--success .ods-slider__input::-moz-range-thumb{border-color:var(--ods-status-success)}.ods-slider--success .ods-slider__value{color:var(--ods-status-success-fg)}.ods-slider--warning .ods-slider__fill{background:var(--ods-status-pending)}.ods-slider--warning .ods-slider__input::-webkit-slider-thumb{border-color:var(--ods-status-pending)}.ods-slider--warning .ods-slider__input::-moz-range-thumb{border-color:var(--ods-status-pending)}.ods-slider--warning .ods-slider__value{color:var(--ods-status-pending-fg)}.ods-slider--error .ods-slider__fill{background:var(--ods-status-failed)}.ods-slider--error .ods-slider__input::-webkit-slider-thumb{border-color:var(--ods-status-failed)}.ods-slider--error .ods-slider__input::-moz-range-thumb{border-color:var(--ods-status-failed)}.ods-slider--error .ods-slider__value{color:var(--ods-status-failed-fg)}.ods-slider--disabled{opacity:.5}.ods-slider--disabled .ods-slider__input{cursor:not-allowed}.ods-range-slider{display:flex;flex-direction:column;gap:var(--ods-space-2);width:100%;font-family:var(--ods-font-family-sans)}.ods-range-slider__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3)}.ods-range-slider__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-range-slider__value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-accent)}.ods-range-slider__track{position:relative;height:4px;border-radius:var(--ods-radius-pill);background:var(--ods-border-default)}.ods-range-slider__fill{position:absolute;top:0;height:100%;border-radius:var(--ods-radius-pill);background:var(--ods-accent);pointer-events:none;transition:left var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),right var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-range-slider__input{position:absolute;inset:-8px 0;width:100%;height:20px;margin:0;padding:0;background:rgba(0,0,0,0);-webkit-appearance:none;appearance:none;pointer-events:none}.ods-range-slider__input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);border:2px solid var(--ods-accent);cursor:grab;pointer-events:auto;transition:transform var(--ods-duration-instant, 80ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.4, 0.64, 1)),box-shadow var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));will-change:transform}.ods-range-slider__input::-moz-range-thumb{width:14px;height:14px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);border:2px solid var(--ods-accent);cursor:grab;pointer-events:auto;transition:transform var(--ods-duration-instant, 80ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.4, 0.64, 1)),box-shadow var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-range-slider__input:hover::-webkit-slider-thumb,.ods-range-slider__input:hover::-moz-range-thumb{transform:scale(1.12)}.ods-range-slider__input:active::-webkit-slider-thumb,.ods-range-slider__input:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.18)}.ods-range-slider__input:focus,.ods-range-slider__input:focus-visible{outline:none}.ods-range-slider__input:focus::-webkit-slider-thumb,.ods-range-slider__input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-range-slider__input:focus::-moz-range-thumb,.ods-range-slider__input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-range-slider__input:disabled::-webkit-slider-thumb,.ods-range-slider__input:disabled::-moz-range-thumb{cursor:not-allowed}.ods-range-slider--sm .ods-range-slider__track{height:3px}.ods-range-slider--lg .ods-range-slider__track{height:6px}.ods-range-slider--disabled{opacity:.55}.ods-range-slider--disabled .ods-range-slider__input{pointer-events:none}.ods-tags{display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-tags__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-tags__field{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ods-space-1);min-height:var(--ods-layout-control-height);padding:2px var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));cursor:text}.ods-tags__field:focus-within{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-tags__chip{display:inline-flex;align-items:center;gap:var(--ods-space-1);padding:2px var(--ods-space-2);background:var(--ods-accent-soft);color:var(--ods-accent);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1.2}.ods-tags__chip-text{line-height:1.2}.ods-tags__chip-x{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;padding:0;border:0;background:rgba(0,0,0,0);color:currentColor;opacity:.7;cursor:pointer;border-radius:var(--ods-radius-1)}.ods-tags__chip-x:hover:not(:disabled){opacity:1;background:var(--ods-accent-border)}.ods-tags__chip-x:disabled{opacity:.4;cursor:not-allowed}.ods-tags__input{flex:1 1 100px;min-width:80px;border:0;outline:none;background:rgba(0,0,0,0);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);font-family:inherit}.ods-tags__input::placeholder{color:var(--ods-text-disabled)}.ods-tags__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-tags__hint--error{color:var(--ods-status-failed-fg)}.ods-tags--error .ods-tags__field{border-color:var(--ods-status-failed)}.ods-tags--disabled .ods-tags__field{background:var(--ods-surface-muted)}.ods-tags--sm .ods-tags__field{min-height:var(--ods-layout-control-height-sm);padding:1px var(--ods-space-1)}.ods-tags--sm .ods-tags__chip{font-size:10px;padding:1px var(--ods-space-1)}.ods-tags--sm .ods-tags__input{font-size:var(--ods-font-size-sm)}.ods-tags--lg .ods-tags__field{min-height:var(--ods-layout-control-height-lg);padding:var(--ods-space-1) var(--ods-space-3)}.ods-tags--lg .ods-tags__chip{font-size:var(--ods-font-size-sm);padding:2px var(--ods-space-2)}.ods-tags--lg .ods-tags__input{font-size:var(--ods-font-size-md)}.ods-color{display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-color__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-color__field{display:flex;align-items:center;gap:var(--ods-space-2);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-color__field:focus-within{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-color__swatch{width:20px;height:20px;border-radius:var(--ods-radius-1);border:1px solid var(--ods-border-default);flex-shrink:0}.ods-color__hex{flex:1 1 auto;min-width:0;border:0;outline:none;background:rgba(0,0,0,0);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-color__pick{position:relative;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ods-radius-1);background:var(--ods-surface-muted);color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));overflow:hidden}.ods-color__pick:hover{background:var(--ods-surface-sunken)}.ods-color__pick input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;cursor:pointer}.ods-color__swatches{display:flex;gap:var(--ods-space-1);align-items:center}.ods-color__sw{width:20px;height:20px;border-radius:var(--ods-radius-1);border:1px solid var(--ods-border-default);cursor:pointer;padding:0;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-color__sw:hover:not(:disabled){transform:scale(1.1)}.ods-color__sw--active{box-shadow:0 0 0 2px var(--ods-surface-canvas),0 0 0 3px var(--ods-accent);border-color:rgba(0,0,0,0)}.ods-color__sw:disabled{cursor:not-allowed}.ods-color--disabled .ods-color__field{background:var(--ods-surface-muted);color:var(--ods-text-disabled)}.ods-color--sm .ods-color__field{height:var(--ods-layout-control-height-sm)}.ods-color--sm .ods-color__swatch,.ods-color--sm .ods-color__pick,.ods-color--sm .ods-color__sw{width:16px;height:16px}.ods-color--lg .ods-color__field{height:var(--ods-layout-control-height-lg)}.ods-color--lg .ods-color__swatch,.ods-color--lg .ods-color__pick,.ods-color--lg .ods-color__sw{width:24px;height:24px}.ods-phone{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-phone__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-phone__field{position:relative;display:flex;align-items:stretch;height:var(--ods-layout-control-height);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);overflow:visible;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-phone__field:focus-within{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-phone__country{display:inline-flex;align-items:center;gap:var(--ods-space-1);padding:0 var(--ods-space-2);border:0;border-right:1px solid var(--ods-border-default);background:rgba(0,0,0,0);cursor:pointer;font-family:inherit;color:var(--ods-text-primary);font-size:var(--ods-font-size-base);font-weight:500;border-radius:var(--ods-radius-1) 0 0 var(--ods-radius-1);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-phone__country:hover:not(:disabled){background:var(--ods-surface-muted)}.ods-phone__country:disabled{cursor:not-allowed}.ods-phone__flag{font-size:var(--ods-font-size-md);line-height:1}.ods-phone__dial{font-family:var(--ods-font-family-mono);font-weight:500}.ods-phone__input{flex:1 1 auto;min-width:0;padding:0 var(--ods-space-3);border:0;outline:none;background:rgba(0,0,0,0);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-base);color:var(--ods-text-primary)}.ods-phone__input::placeholder{color:var(--ods-text-disabled)}.ods-phone__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:50;margin:0;padding:var(--ods-space-1);list-style:none;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);min-width:240px;max-height:240px;overflow-y:auto}.ods-phone__menu-item{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);cursor:pointer;text-align:left;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-phone__menu-item:hover{background:var(--ods-surface-muted)}.ods-phone__menu-item--active{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:500}.ods-phone__menu-name{flex:1 1 auto;min-width:0}.ods-phone__menu-dial{color:var(--ods-text-tertiary);font-family:var(--ods-font-family-mono);font-weight:500;font-variant-numeric:tabular-nums}.ods-phone__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-phone__hint--error{color:var(--ods-status-failed-fg)}.ods-phone--error .ods-phone__field{border-color:var(--ods-status-failed)}.ods-phone--disabled .ods-phone__field{background:var(--ods-surface-muted)}.ods-phone--sm .ods-phone__field{height:var(--ods-layout-control-height-sm)}.ods-phone--sm .ods-phone__country{font-size:var(--ods-font-size-sm)}.ods-phone--sm .ods-phone__input{font-size:var(--ods-font-size-sm)}.ods-phone--lg .ods-phone__field{height:var(--ods-layout-control-height-lg)}.ods-phone--lg .ods-phone__input{font-size:var(--ods-font-size-md)}.ods-calendar{display:inline-block;width:280px;padding:var(--ods-space-3);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary)}.ods-calendar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--ods-space-2)}.ods-calendar__title{font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-md);font-weight:500;color:var(--ods-text-primary)}.ods-calendar__nav{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-calendar__nav:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-calendar__dow{display:grid;grid-template-columns:repeat(7, 1fr);margin-bottom:var(--ods-space-1)}.ods-calendar__dow-cell{text-align:center;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary);padding:4px 0;text-transform:uppercase}.ods-calendar__grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:0}.ods-calendar__cell{height:32px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-primary);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-calendar__cell:hover:not(:disabled):not(.ods-calendar__cell--selected){background:var(--ods-surface-muted)}.ods-calendar__cell--outside{color:var(--ods-text-disabled)}.ods-calendar__cell--today{font-weight:700;color:var(--ods-accent)}.ods-calendar__cell--selected,.ods-calendar__cell--start,.ods-calendar__cell--end{background:var(--ods-accent);color:var(--ods-surface-canvas);font-weight:700}.ods-calendar__cell--inrange{background:var(--ods-accent-soft);color:var(--ods-accent);border-radius:0}.ods-calendar__cell--start{border-radius:var(--ods-radius-1) 0 0 var(--ods-radius-1)}.ods-calendar__cell--end{border-radius:0 var(--ods-radius-1) var(--ods-radius-1) 0}.ods-calendar__cell--start.ods-calendar__cell--end{border-radius:var(--ods-radius-1)}.ods-calendar__cell--disabled{opacity:.4;cursor:not-allowed}.ods-datepicker{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-datepicker__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-datepicker__trigger{display:inline-flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-family:inherit;font-size:var(--ods-font-size-base);text-align:left;cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datepicker__trigger:hover{border-color:var(--ods-text-tertiary)}.ods-datepicker__trigger:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-datepicker__trigger>svg:first-child{color:var(--ods-text-tertiary);flex-shrink:0}.ods-datepicker__value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}.ods-datepicker__value--placeholder{color:var(--ods-text-disabled)}.ods-datepicker__chev{color:var(--ods-text-tertiary);flex-shrink:0}.ods-datepicker__popover{position:absolute;top:calc(100% + var(--ods-space-1));left:0;z-index:50;box-shadow:var(--ods-shadow-pop);border-radius:var(--ods-radius-1)}.ods-datepicker__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-datepicker__hint--error{color:var(--ods-status-failed-fg)}.ods-datepicker--error .ods-datepicker__trigger{border-color:var(--ods-status-failed)}.ods-datepicker--disabled .ods-datepicker__trigger{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed}.ods-datepicker--sm .ods-datepicker__trigger{height:var(--ods-layout-control-height-sm);font-size:var(--ods-font-size-sm)}.ods-datepicker--lg .ods-datepicker__trigger{height:var(--ods-layout-control-height-lg);font-size:var(--ods-font-size-md)}.ods-timepicker{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-timepicker__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-timepicker__trigger{display:inline-flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-family:inherit;font-size:var(--ods-font-size-base);text-align:left;cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-timepicker__trigger>svg:first-child{color:var(--ods-text-tertiary);flex-shrink:0}.ods-timepicker__trigger:hover{border-color:var(--ods-text-tertiary)}.ods-timepicker__trigger:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-timepicker__value{flex:1 1 auto;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-weight:500;letter-spacing:var(--ods-tracking-mono)}.ods-timepicker__chev{color:var(--ods-text-tertiary);flex-shrink:0}.ods-timepicker__popover{position:absolute;top:calc(100% + var(--ods-space-1));left:0;z-index:50;width:280px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);overflow:hidden}.ods-timepicker__head{display:flex;align-items:center;justify-content:space-between;padding:var(--ods-space-2) var(--ods-space-3);border-bottom:1px solid var(--ods-border-default)}.ods-timepicker__display{display:inline-flex;align-items:center;gap:0;font-family:var(--ods-font-family-mono)}.ods-timepicker__seg{border:0;background:rgba(0,0,0,0);padding:2px var(--ods-space-1);border-radius:var(--ods-radius-1);font-family:inherit;font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xl);font-weight:600;color:var(--ods-text-primary);cursor:text;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-timepicker__seg:hover{background:var(--ods-surface-muted)}.ods-timepicker__seg--active,.ods-timepicker__seg:focus-visible{outline:none;background:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-timepicker__display-sep{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xl);font-weight:600;color:var(--ods-text-disabled);padding:0 1px}.ods-timepicker__period{display:inline-flex;padding:1px;gap:0;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-timepicker__period-btn{padding:2px var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-timepicker__period-btn--active{background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-weight:600}.ods-timepicker__body{display:flex;align-items:center;justify-content:center;gap:var(--ods-space-4);padding:var(--ods-space-3)}.ods-timepicker__col{display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-1)}.ods-timepicker__col-lbl{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-timepicker__col-val{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-2xl);font-weight:500;color:var(--ods-accent);line-height:1;min-width:40px;text-align:center}.ods-timepicker__step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:20px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-timepicker__step:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-timepicker__sep{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-2xl);font-weight:500;color:var(--ods-text-disabled);line-height:1}.ods-timepicker__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-timepicker__hint--error{color:var(--ods-status-failed-fg)}.ods-timepicker--error .ods-timepicker__trigger{border-color:var(--ods-status-failed)}.ods-timepicker--disabled .ods-timepicker__trigger{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed}.ods-timepicker--sm .ods-timepicker__trigger{height:var(--ods-layout-control-height-sm);font-size:var(--ods-font-size-sm)}.ods-timepicker--lg .ods-timepicker__trigger{height:var(--ods-layout-control-height-lg);font-size:var(--ods-font-size-md)}.ods-tzpicker{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-tzpicker__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-tzpicker__trigger{display:inline-flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-family:inherit;text-align:left;cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-tzpicker__trigger>svg:first-child{color:var(--ods-text-tertiary);flex-shrink:0}.ods-tzpicker__trigger:hover{border-color:var(--ods-text-tertiary)}.ods-tzpicker__trigger:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-tzpicker__info{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:var(--ods-space-2);overflow:hidden}.ods-tzpicker__name{flex:0 1 auto;min-width:0;font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-tzpicker__name--placeholder{color:var(--ods-text-disabled);font-weight:400}.ods-tzpicker__meta{flex:0 0 auto;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);white-space:nowrap}.ods-tzpicker__chev{color:var(--ods-text-tertiary);flex-shrink:0}.ods-tzpicker__popover{position:absolute;top:calc(100% + var(--ods-space-1));left:0;z-index:50;width:100%;min-width:320px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);overflow:hidden}.ods-tzpicker__search{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-2) var(--ods-space-3);border-bottom:1px solid var(--ods-border-default);color:var(--ods-text-tertiary)}.ods-tzpicker__search input{flex:1 1 auto;min-width:0;border:none;outline:none;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);box-shadow:none}.ods-tzpicker__search input::placeholder{color:var(--ods-text-disabled)}.ods-tzpicker__search input:focus,.ods-tzpicker__search input:focus-visible{outline:none;box-shadow:none;border:none}.ods-tzpicker__list{list-style:none;margin:0;padding:var(--ods-space-1);max-height:240px;overflow-y:auto}.ods-tzpicker__opt{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;padding:var(--ods-space-1) var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:inherit;color:var(--ods-text-primary);cursor:pointer;text-align:left;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-tzpicker__opt:hover{background:var(--ods-surface-muted)}.ods-tzpicker__opt--selected{background:var(--ods-accent-soft)}.ods-tzpicker__opt--selected .ods-tzpicker__opt-name,.ods-tzpicker__opt--selected .ods-tzpicker__opt-off{color:var(--ods-accent);font-weight:600}.ods-tzpicker__opt-text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.ods-tzpicker__opt-name{font-size:var(--ods-font-size-base);font-weight:500}.ods-tzpicker__opt-iana{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-tzpicker__opt-off{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-body);flex-shrink:0}.ods-tzpicker__opt-check{color:var(--ods-accent);flex-shrink:0}.ods-tzpicker__empty{list-style:none;padding:var(--ods-space-3);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);text-align:center}.ods-tzpicker__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-tzpicker__hint--error{color:var(--ods-status-failed-fg)}.ods-tzpicker--error .ods-tzpicker__trigger{border-color:var(--ods-status-failed)}.ods-tzpicker--disabled .ods-tzpicker__trigger{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed}.ods-tzpicker--sm .ods-tzpicker__trigger{height:var(--ods-layout-control-height-sm)}.ods-tzpicker--lg .ods-tzpicker__trigger{height:var(--ods-layout-control-height-lg)}.ods-page-header{display:flex;align-items:center;gap:var(--ods-space-5);padding:var(--ods-space-5) var(--ods-space-6);background:var(--ods-surface-canvas);border-bottom:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-page-header__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--ods-space-1)}.ods-page-header__crumbs{display:flex;align-items:center;gap:var(--ods-space-1);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);margin-bottom:2px}.ods-page-header__crumb{display:inline-flex;align-items:center;gap:var(--ods-space-1);color:inherit}.ods-page-header__crumb a,.ods-page-header__crumb button{color:inherit;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font:inherit}.ods-page-header__crumb a:hover,.ods-page-header__crumb button:hover{color:var(--ods-text-primary)}.ods-page-header__crumb:last-child a,.ods-page-header__crumb:last-child button,.ods-page-header__crumb:last-child>span{color:var(--ods-text-primary);font-weight:600}.ods-page-header__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-2xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-page-header__description{margin:0;font-size:var(--ods-font-size-base);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-page-header__meta{display:flex;align-items:center;gap:var(--ods-space-3);margin-top:var(--ods-space-1);flex-wrap:wrap}.ods-page-header__actions{display:flex;align-items:center;gap:var(--ods-space-2);flex-shrink:0}.ods-settings-row{display:flex;gap:var(--ods-space-3);width:100%;padding:var(--ods-space-3) var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-settings-row--center{align-items:center}.ods-settings-row--start{align-items:flex-start}.ods-settings-row__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent);flex-shrink:0}.ods-settings-row__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--ods-space-1)}.ods-settings-row__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-settings-row__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-snug)}.ods-settings-row__control{flex-shrink:0;display:flex;align-items:center}.ods-form-section{display:flex;flex-direction:column;gap:var(--ods-space-4);padding:var(--ods-space-4) var(--ods-space-5);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-form-section__head{display:flex;flex-direction:column;gap:var(--ods-space-1)}.ods-form-section__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary);letter-spacing:var(--ods-tracking-tight)}.ods-form-section__desc{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-form-section__body{display:flex;flex-direction:column;gap:var(--ods-space-3)}.ods-form-section__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding-top:var(--ods-space-3)}.ods-form-section--divided .ods-form-section__head{padding-bottom:var(--ods-space-3);border-bottom:1px solid var(--ods-border-default)}.ods-form-section--divided .ods-form-section__footer{border-top:1px solid var(--ods-border-default)}.ods-toolbar{display:inline-flex;align-items:center;gap:1px;padding:2px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-toolbar__btn{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-body);font-family:inherit;font-size:var(--ods-font-size-base);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-toolbar__btn:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-toolbar__btn:disabled{opacity:.4;cursor:not-allowed}.ods-toolbar__btn--active{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:600}.ods-toolbar__btn-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.ods-toolbar__btn-label{line-height:1}.ods-toolbar__divider{width:1px;height:16px;background:var(--ods-border-default);margin:0 2px}.ods-toolbar__spacer{flex:1 1 auto}.ods-drawer{display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-2);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);overflow:hidden}.ods-drawer__head{display:flex;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-4) var(--ods-space-5);border-bottom:1px solid var(--ods-border-default)}.ods-drawer__titles{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.ods-drawer__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-drawer__subtitle{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-drawer__close:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-drawer__body{flex:1 1 auto;overflow-y:auto;padding:var(--ods-space-5);color:var(--ods-text-primary);line-height:var(--ods-line-height-base)}.ods-drawer__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding:var(--ods-space-3) var(--ods-space-5);border-top:1px solid var(--ods-border-default)}.ods-user-card{display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-5);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);text-align:center}.ods-user-card__avatar{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--ods-radius-pill);background:var(--ods-accent);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-lg);font-weight:600;overflow:hidden}.ods-user-card__avatar img{width:100%;height:100%;object-fit:cover}.ods-user-card__name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-user-card__role{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);margin-top:-4px}.ods-user-card__stats{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);width:100%;padding-top:var(--ods-space-3);border-top:1px solid var(--ods-border-default);margin-top:var(--ods-space-1)}.ods-user-card__stat{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;gap:1px}.ods-user-card__stat-value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary)}.ods-user-card__stat-label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-user-card__action{width:100%}.ods-product-card{display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-product-card__image{width:100%;height:120px;border-radius:var(--ods-radius-1);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--ods-surface-subtle);color:var(--ods-text-tertiary)}.ods-product-card__tag{align-self:flex-start;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-product-card__name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-product-card__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-product-card__footer{display:flex;align-items:center;justify-content:space-between}.ods-product-card__price-group{display:flex;align-items:baseline;gap:var(--ods-space-1)}.ods-product-card__price{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary)}.ods-product-card__strike{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);text-decoration:line-through}.ods-product-card__action{display:flex;align-items:center}.ods-blog-card{display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);overflow:hidden;font-family:var(--ods-font-family-sans);text-decoration:none;color:inherit;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-blog-card__cover{width:100%;height:140px;background:var(--ods-surface-subtle);display:flex;align-items:center;justify-content:center;color:var(--ods-text-tertiary)}.ods-blog-card__body{display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-4)}.ods-blog-card__meta{display:flex;align-items:center;gap:var(--ods-space-2)}.ods-blog-card__category{padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-blog-card__date{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-blog-card__title{font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-blog-card__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-blog-card--interactive{cursor:pointer}.ods-blog-card--interactive:hover{border-color:var(--ods-border-strong);background:var(--ods-surface-subtle)}.ods-testimonial{display:flex;flex-direction:column;gap:var(--ods-space-4);padding:var(--ods-space-5);background:var(--ods-surface-subtle);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);margin:0}.ods-testimonial__quote{color:var(--ods-accent-border)}.ods-testimonial__text{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);color:var(--ods-text-primary);line-height:var(--ods-line-height-base);font-style:italic}.ods-testimonial__rating{display:flex;gap:2px}.ods-testimonial__star{color:var(--ods-border-strong);font-size:var(--ods-font-size-md);line-height:1}.ods-testimonial__star--on{color:var(--ods-status-pending)}.ods-testimonial__author{display:flex;align-items:center;gap:var(--ods-space-3)}.ods-testimonial__avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ods-radius-pill);background:var(--ods-accent);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-base);font-weight:600;flex-shrink:0;overflow:hidden}.ods-testimonial__avatar img{width:100%;height:100%;object-fit:cover}.ods-testimonial__author-info{display:flex;flex-direction:column;gap:1px}.ods-testimonial__author-name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-testimonial__author-role{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-feature-card{display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-5);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-feature-card__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-feature-card__title{font-size:var(--ods-font-size-lg);font-weight:600;color:var(--ods-text-primary)}.ods-feature-card__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-feature-card__link{display:inline-flex;align-items:center;gap:var(--ods-space-1);align-self:flex-start;margin-top:var(--ods-space-1);border:0;padding:0;background:rgba(0,0,0,0);color:var(--ods-accent);font-family:inherit;font-size:var(--ods-font-size-md);font-weight:500;text-decoration:none;cursor:pointer;transition:color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-feature-card__link svg{transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-feature-card__link:hover{color:var(--ods-accent-hover)}.ods-feature-card__link:hover svg{transform:translateX(2px)}.ods-feature-card--success .ods-feature-card__icon{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg)}.ods-feature-card--warning .ods-feature-card__icon{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg)}.ods-feature-card--error .ods-feature-card__icon{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg)}.ods-feature-card--default .ods-feature-card__icon{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-pricing{display:flex;flex-direction:column;gap:var(--ods-space-4);padding:var(--ods-space-6);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-2);font-family:var(--ods-font-family-sans)}.ods-pricing--highlighted{border-color:var(--ods-accent);background:var(--ods-accent-soft)}.ods-pricing__head{display:flex;flex-direction:column;gap:var(--ods-space-2)}.ods-pricing__badge{align-self:flex-start;padding:1px var(--ods-space-2);border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-pricing__name{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary)}.ods-pricing__desc{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-pricing__price{display:flex;align-items:baseline;gap:var(--ods-space-1)}.ods-pricing__amount{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-3xl);font-weight:500;color:var(--ods-text-primary);line-height:1}.ods-pricing__period{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-pricing__sep{border:0;border-top:1px solid var(--ods-border-default);margin:0}.ods-pricing__features{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--ods-space-2)}.ods-pricing__feature{display:flex;align-items:center;gap:var(--ods-space-2);font-size:var(--ods-font-size-base);color:var(--ods-text-primary)}.ods-pricing__cta{display:flex;flex-direction:column}.ods-choice-card{display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-4);width:100%;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);text-align:left;cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-choice-card:hover:not(.ods-choice-card--disabled){border-color:var(--ods-border-strong);background:var(--ods-surface-subtle)}.ods-choice-card--selected{border-color:var(--ods-accent);background:var(--ods-accent-soft)}.ods-choice-card--disabled{opacity:.5;cursor:not-allowed}.ods-choice-card__head{display:flex;align-items:flex-start;justify-content:space-between}.ods-choice-card__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ods-radius-1);background:var(--ods-surface-muted);color:var(--ods-text-body)}.ods-choice-card--selected .ods-choice-card__icon{background:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-choice-card__check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--ods-radius-pill);border:1px solid var(--ods-border-strong);color:rgba(0,0,0,0);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-choice-card__check--on{background:var(--ods-accent);border-color:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-choice-card__badge{align-self:flex-start;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-choice-card__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-choice-card__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-kanban-card{display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-3);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-left:3px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-kanban-card--interactive{cursor:pointer}.ods-kanban-card--interactive:hover{background:var(--ods-surface-subtle);border-left-color:var(--ods-accent)}.ods-kanban-card--low{border-left-color:var(--ods-status-success)}.ods-kanban-card--medium{border-left-color:var(--ods-status-pending)}.ods-kanban-card--high{border-left-color:var(--ods-status-failed)}.ods-kanban-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2)}.ods-kanban-card__tag{padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-kanban-card__more{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer}.ods-kanban-card__more:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-kanban-card__title{font-size:var(--ods-font-size-base);font-weight:600;color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-kanban-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2)}.ods-kanban-card__meta{display:flex;align-items:center;gap:var(--ods-space-2)}.ods-kanban-card__date,.ods-kanban-card__comments{display:inline-flex;align-items:center;gap:4px;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-kanban-card__assignee{width:20px;height:20px;border-radius:var(--ods-radius-pill);overflow:hidden;background:var(--ods-accent);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-xs);font-weight:600;display:inline-flex;align-items:center;justify-content:center}.ods-timeline{list-style:none;margin:0;padding:var(--ods-space-1);display:flex;flex-direction:column;font-family:var(--ods-font-family-sans)}.ods-timeline__item{display:flex;gap:var(--ods-space-3);width:100%}.ods-timeline__rail{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0}.ods-timeline__dot{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;border-radius:var(--ods-radius-pill);color:var(--ods-surface-canvas)}.ods-timeline__dot--default{background:var(--ods-accent);box-shadow:0 0 0 2px var(--ods-accent-soft)}.ods-timeline__dot--success{background:var(--ods-status-success);box-shadow:0 0 0 2px var(--ods-status-success-bg)}.ods-timeline__dot--warning{background:var(--ods-status-pending);box-shadow:0 0 0 2px var(--ods-status-pending-bg)}.ods-timeline__dot--error{background:var(--ods-status-failed);box-shadow:0 0 0 2px var(--ods-status-failed-bg)}.ods-timeline__dot--muted{background:var(--ods-text-tertiary);box-shadow:0 0 0 2px var(--ods-surface-muted)}.ods-timeline__dot>svg,.ods-timeline__dot>*{width:6px;height:6px}.ods-timeline__line{flex:1 1 auto;width:1px;background:var(--ods-border-default);min-height:24px}.ods-timeline__body{display:flex;flex-direction:column;gap:2px;padding:0 0 var(--ods-space-4);flex:1 1 auto;min-width:0}.ods-timeline .ods-timeline__item:last-child .ods-timeline__body{padding-bottom:0}.ods-timeline__title{font-size:var(--ods-font-size-base);font-weight:600;color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-timeline__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-snug)}.ods-timeline__meta{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-timeline--sm .ods-timeline__title{font-size:var(--ods-font-size-sm)}.ods-timeline--sm .ods-timeline__desc,.ods-timeline--sm .ods-timeline__meta{font-size:var(--ods-font-size-xs)}.ods-timeline--sm .ods-timeline__dot{width:8px;height:8px}.ods-chat{display:flex;align-items:flex-start;gap:var(--ods-space-2);width:100%;font-family:var(--ods-font-family-sans)}.ods-chat__avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ods-radius-pill);flex-shrink:0;color:var(--ods-surface-canvas);font-size:var(--ods-font-size-sm);font-weight:600;overflow:hidden}.ods-chat__avatar img{width:100%;height:100%;object-fit:cover}.ods-chat__bubble{display:flex;flex-direction:column;gap:var(--ods-space-1);max-width:85%;padding:var(--ods-space-2) var(--ods-space-3);border-radius:var(--ods-radius-2)}.ods-chat__body{font-size:var(--ods-font-size-base);line-height:var(--ods-line-height-base)}.ods-chat__meta{display:flex;align-items:center;gap:var(--ods-space-1);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);line-height:1}.ods-chat__author{font-weight:600}.ods-chat__time{opacity:.7}.ods-chat--user{flex-direction:row-reverse}.ods-chat--user .ods-chat__avatar{background:var(--ods-accent)}.ods-chat--user .ods-chat__bubble{background:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-chat--user .ods-chat__meta{justify-content:flex-end;color:hsla(0,0%,100%,.85)}.ods-chat--bot .ods-chat__avatar{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-chat--bot .ods-chat__bubble{background:var(--ods-surface-subtle);color:var(--ods-text-primary);border:1px solid var(--ods-border-default)}.ods-chat--bot .ods-chat__meta{color:var(--ods-text-tertiary)}.ods-chat--system .ods-chat__avatar{background:var(--ods-surface-muted);color:var(--ods-text-tertiary)}.ods-chat--system .ods-chat__bubble{background:var(--ods-surface-canvas);color:var(--ods-text-body);border:1px dashed var(--ods-border-default)}.ods-chat--system .ods-chat__meta{color:var(--ods-text-tertiary)}.ods-progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--ods-font-family-sans);color:var(--ods-accent)}.ods-progress-ring__svg{display:block}.ods-progress-ring__track{stroke:var(--ods-border-default)}.ods-progress-ring__fill{stroke:currentColor;transition:stroke-dashoffset var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));will-change:stroke-dashoffset}.ods-progress-ring__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.ods-progress-ring__value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-md);font-weight:500;color:var(--ods-text-primary)}.ods-progress-ring--indeterminate .ods-progress-ring__svg{animation:ods-progress-ring-spin 900ms linear infinite}@keyframes ods-progress-ring-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.ods-popover__anchor{display:inline-flex;align-items:center;cursor:pointer}.ods-popover{min-width:200px;max-width:320px;padding:var(--ods-space-3) var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);line-height:var(--ods-line-height-base)}.ods-popover__arrow{position:absolute;width:10px;height:10px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);transform:rotate(45deg);pointer-events:none;z-index:-1}.ods-popover[data-placement=top] .ods-popover__arrow{bottom:-6px;left:50%;margin-left:-5px;border-top:none;border-left:none}.ods-popover[data-placement=bottom] .ods-popover__arrow{top:-6px;left:50%;margin-left:-5px;border-bottom:none;border-right:none}.ods-popover[data-placement=left] .ods-popover__arrow{right:-6px;top:50%;margin-top:-5px;border-left:none;border-bottom:none}.ods-popover[data-placement=right] .ods-popover__arrow{left:-6px;top:50%;margin-top:-5px;border-right:none;border-top:none}.ods-hover-card__anchor{display:inline-flex;align-items:center}.ods-hover-card{min-width:240px;max-width:320px;padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);line-height:var(--ods-line-height-base)}.ods-sheet__backdrop{position:fixed;inset:0;z-index:900;background:rgba(10,10,10,.45)}.ods-sheet{position:fixed;z-index:901;display:flex;flex-direction:column;background:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);will-change:transform;outline:none;box-shadow:var(--ods-shadow-pop);border:1px solid var(--ods-border-default)}.ods-sheet--bottom{left:0;right:0;bottom:0;border-radius:var(--ods-radius-2) var(--ods-radius-2) 0 0;max-height:100vh}.ods-sheet--top{left:0;right:0;top:0;border-radius:0 0 var(--ods-radius-2) var(--ods-radius-2);max-height:100vh}.ods-sheet--left{top:0;bottom:0;left:0;border-radius:0 var(--ods-radius-2) var(--ods-radius-2) 0;max-width:100vw}.ods-sheet--right{top:0;bottom:0;right:0;border-radius:var(--ods-radius-2) 0 0 var(--ods-radius-2);max-width:100vw}.ods-sheet__handle{width:36px;height:3px;background:var(--ods-border-strong);border-radius:var(--ods-radius-pill);margin:var(--ods-space-2) auto 0;flex-shrink:0}.ods-sheet__head{display:flex;flex-direction:column;gap:var(--ods-space-1);padding:var(--ods-space-4) var(--ods-space-5) var(--ods-space-3);border-bottom:1px solid var(--ods-border-default);flex-shrink:0}.ods-sheet__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;color:var(--ods-text-primary);letter-spacing:var(--ods-tracking-tight);line-height:var(--ods-line-height-tight)}.ods-sheet__desc{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-sheet__body{flex:1 1 auto;overflow-y:auto;padding:var(--ods-space-4) var(--ods-space-5)}.ods-sheet__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding:var(--ods-space-3) var(--ods-space-5);border-top:1px solid var(--ods-border-default);flex-shrink:0}.ods-bar-chart{display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-bar-chart__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3)}.ods-bar-chart__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-bar-chart__total{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary)}.ods-bar-chart__bars{display:flex;align-items:flex-end;gap:var(--ods-space-2)}.ods-bar-chart__col{flex:1 1 auto;display:flex;align-items:flex-end;height:100%}.ods-bar-chart__bar{width:100%;background:var(--ods-accent);transition:height var(--ods-duration-base, 180ms) var(--ods-ease-out, ease-out)}.ods-bar-chart__labels{display:flex;gap:var(--ods-space-2)}.ods-bar-chart__label{flex:1 1 auto;text-align:center;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-bar-chart__label--hi{color:var(--ods-accent);font-weight:600}.ods-line-chart{display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);color:var(--ods-accent)}.ods-line-chart__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3)}.ods-line-chart__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-line-chart__total{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary)}.ods-line-chart__svg{width:100%;display:block}.ods-donut{display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-donut__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);align-self:flex-start}.ods-donut__ring{position:relative;display:inline-block}.ods-donut__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:none}.ods-donut__value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xl);font-weight:500;color:var(--ods-text-primary)}.ods-donut__small{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-donut__legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%}.ods-donut__legend-item{display:flex;align-items:center;gap:var(--ods-space-2);font-size:var(--ods-font-size-sm);color:var(--ods-text-primary)}.ods-donut__dot{width:8px;height:8px;border-radius:var(--ods-radius-1);flex-shrink:0}.ods-donut__legend-label{flex:1 1 auto}.ods-donut__legend-pct{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-weight:500;color:var(--ods-text-body)}.ods-sparkline{display:inline-block;vertical-align:middle;color:var(--ods-accent)}.ods-sparkline path{transition:stroke var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-auth-card{display:flex;flex-direction:column;gap:var(--ods-space-4);width:400px;max-width:100%;padding:var(--ods-space-7);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-2);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans)}.ods-auth-card__logo{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--ods-radius-1);background:var(--ods-accent);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-lg);font-weight:600}.ods-auth-card__head{display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-1);text-align:center}.ods-auth-card__title-row{display:flex;align-items:center;justify-content:center;gap:var(--ods-space-2);flex-wrap:wrap}.ods-auth-card__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-2xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight);text-align:center}.ods-auth-card__scope{display:inline-flex;align-items:center}.ods-auth-card__desc{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base);text-align:center}.ods-auth-card__body{display:flex;flex-direction:column;gap:var(--ods-space-3)}.ods-auth-card__divider{display:block;width:100%}.ods-auth-card__footer{display:flex;align-items:center;justify-content:center;gap:var(--ods-space-1);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-auth-divider{display:flex;align-items:center;gap:var(--ods-space-3);width:100%}.ods-auth-divider__line{flex:1 1 0;min-width:0;height:1px;background:var(--ods-border-default)}.ods-auth-divider__label{flex:0 0 auto;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;color:var(--ods-text-tertiary);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;padding:0 var(--ods-space-1)}.ods-auth-section{display:flex;flex-direction:column;gap:var(--ods-space-2)}.ods-auth-section__head{display:flex;flex-direction:column;gap:1px}.ods-auth-section__label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-body);text-transform:uppercase}.ods-auth-section__desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-snug)}.ods-auth-section__body{display:flex;flex-direction:column;gap:var(--ods-space-2)}.ods-auth-section+.ods-auth-section{margin-top:var(--ods-space-1);padding-top:var(--ods-space-3);border-top:1px solid var(--ods-border-default)}.ods-auth-tabs{display:flex;flex-direction:column;gap:var(--ods-space-3)}.ods-auth-tabs__list{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1px;padding:1px;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-auth-tabs__tab{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:var(--ods-space-2) var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);cursor:pointer;text-align:left;font-family:inherit;color:var(--ods-text-body);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-auth-tabs__tab:hover{color:var(--ods-text-primary)}.ods-auth-tabs__tab--active{background:var(--ods-surface-canvas);color:var(--ods-text-primary)}.ods-auth-tabs__icon{display:inline-flex;align-items:center;margin-bottom:1px;color:var(--ods-accent)}.ods-auth-tabs__label{font-size:var(--ods-font-size-base);font-weight:600}.ods-auth-tabs__desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-snug)}.ods-auth-tabs__panel{display:flex;flex-direction:column;gap:var(--ods-space-3)}.ods-auth-badge{display:inline-flex;align-items:center;padding:1px var(--ods-space-2);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;border:1px solid rgba(0,0,0,0)}.ods-auth-badge--neutral{background:var(--ods-surface-muted);color:var(--ods-text-body);border-color:var(--ods-border-default)}.ods-auth-badge--org{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-auth-badge--personal{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-auth-badge--developer{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-social-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ods-space-2);height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);background:var(--ods-surface-canvas);color:var(--ods-text-primary);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-md);font-weight:500;cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-social-btn:hover{background:var(--ods-surface-muted);border-color:var(--ods-text-tertiary)}.ods-social-btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-social-btn:disabled{opacity:.5;cursor:not-allowed}.ods-social-btn--full{width:100%}.ods-social-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.ods-social-btn--github,.ods-social-btn--apple,.ods-social-btn--twitter{background:var(--ods-text-primary);border-color:var(--ods-text-primary);color:var(--ods-surface-canvas)}.ods-social-btn--github:hover,.ods-social-btn--apple:hover,.ods-social-btn--twitter:hover{background:#000;border-color:#000}.ods-social-btn--sm{height:var(--ods-layout-control-height-sm);font-size:var(--ods-font-size-sm);padding:0 var(--ods-space-2)}.ods-social-btn--lg{height:var(--ods-layout-control-height-lg);font-size:var(--ods-font-size-md);padding:0 var(--ods-space-4)}.ods-resizable{display:flex;width:100%;height:100%;min-height:0;position:relative}.ods-resizable--horizontal{flex-direction:row}.ods-resizable--vertical{flex-direction:column}.ods-resizable--dragging{cursor:col-resize;user-select:none}.ods-resizable--dragging .ods-resizable__handle{background:var(--ods-accent)}.ods-resizable--vertical.ods-resizable--dragging{cursor:row-resize}.ods-resizable__panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.ods-resizable__panel--first{flex:0 0 auto}.ods-resizable__panel--second{flex:1 1 auto}.ods-resizable__handle{position:relative;flex-shrink:0;background:var(--ods-border-default);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));outline:none;z-index:1}.ods-resizable--horizontal .ods-resizable__handle{width:1px;cursor:col-resize}.ods-resizable--horizontal .ods-resizable__handle::before{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px}.ods-resizable--vertical .ods-resizable__handle{height:1px;cursor:row-resize}.ods-resizable--vertical .ods-resizable__handle::before{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-4px}.ods-resizable__handle:hover{background:var(--ods-accent)}.ods-resizable__handle:focus-visible{background:var(--ods-accent);outline:2px solid var(--ods-border-focus);outline-offset:2px}.ods-resizable__grip{position:absolute;background:var(--ods-text-tertiary);border-radius:var(--ods-radius-pill);opacity:0;transition:opacity var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-resizable--horizontal .ods-resizable__grip{top:50%;left:50%;width:2px;height:24px;transform:translate(-50%, -50%)}.ods-resizable--vertical .ods-resizable__grip{left:50%;top:50%;width:24px;height:2px;transform:translate(-50%, -50%)}.ods-resizable__handle:hover .ods-resizable__grip,.ods-resizable--dragging .ods-resizable__handle .ods-resizable__grip{opacity:1;background:var(--ods-surface-canvas)}.ods-resizable-panel{position:relative;flex-shrink:0;min-width:0;height:100%}.ods-resizable-panel__content{height:100%;overflow:auto}.ods-resizable-panel__handle{position:absolute;top:0;right:-2px;bottom:0;width:4px;cursor:col-resize;background:rgba(0,0,0,0);outline:none;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-resizable-panel__handle:hover{background:var(--ods-accent)}.ods-resizable-panel__handle:focus-visible{background:var(--ods-accent);outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-resizable-panel__grip{display:none}.ods-prompt-input{position:relative;display:flex;flex-direction:column;width:100%;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-2);font-family:var(--ods-font-family-sans);transition:border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),box-shadow var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-prompt-input:focus-within{border-color:var(--ods-border-focus);box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-prompt-input--running{border-color:var(--ods-accent)}.ods-prompt-input--error{border-color:var(--ods-status-failed)}.ods-prompt-input--disabled{opacity:.6;pointer-events:none}.ods-prompt-input--drag-over{border-color:var(--ods-accent);box-shadow:0 0 0 3px var(--ods-accent-border);background:var(--ods-accent-soft)}.ods-prompt-input__drop-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ods-space-1);background:var(--ods-accent-soft);border:2px dashed var(--ods-accent);border-radius:inherit;color:var(--ods-accent);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;pointer-events:none}.ods-prompt-input__attachments{display:flex;flex-wrap:wrap;gap:var(--ods-space-1);padding:var(--ods-space-2) var(--ods-space-3) 0}.ods-prompt-input__chip{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:22px;padding:0 var(--ods-space-1) 0 var(--ods-space-2);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);color:var(--ods-text-body);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);max-width:220px}.ods-prompt-input__chip-glyph{display:inline-flex;align-items:center;color:var(--ods-text-tertiary);flex-shrink:0}.ods-prompt-input__chip-thumb{width:14px;height:14px;border-radius:var(--ods-radius-1);object-fit:cover}.ods-prompt-input__chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--ods-text-primary)}.ods-prompt-input__chip-size{color:var(--ods-text-tertiary);flex-shrink:0}.ods-prompt-input__chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;flex-shrink:0}.ods-prompt-input__chip-remove:hover{background:rgba(0,0,0,.06);color:var(--ods-text-primary)}.ods-prompt-input__field{position:relative;display:flex;flex-direction:column}.ods-prompt-input__textarea{width:100%;min-height:28px;padding:var(--ods-space-3) var(--ods-space-3) var(--ods-space-1);border:0;background:rgba(0,0,0,0);outline:none;font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-md);line-height:1.5;color:var(--ods-text-primary);resize:none}.ods-prompt-input__textarea::placeholder{color:var(--ods-text-disabled)}.ods-prompt-input__suggestions{list-style:none;margin:0;padding:var(--ods-space-1);position:absolute;bottom:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);z-index:50}.ods-prompt-input__suggestion{display:flex;align-items:flex-start;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-prompt-input__suggestion:hover,.ods-prompt-input__suggestion--active{background:var(--ods-surface-muted)}.ods-prompt-input__suggestion-icon{display:inline-flex;width:14px;height:14px;margin-top:2px;color:var(--ods-accent);flex-shrink:0}.ods-prompt-input__suggestion-text{display:flex;flex-direction:column;gap:1px;min-width:0}.ods-prompt-input__suggestion-label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary)}.ods-prompt-input__suggestion-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-prompt-input__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2) var(--ods-space-1) var(--ods-space-3);border-top:1px solid var(--ods-border-soft)}.ods-prompt-input__toolbar-left,.ods-prompt-input__toolbar-right{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-prompt-input__count{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);letter-spacing:var(--ods-tracking-mono);margin-right:var(--ods-space-1)}.ods-prompt-input__count--over{color:var(--ods-status-failed-fg);font-weight:600}.ods-prompt-input__send{display:inline-flex;align-items:center;justify-content:center;gap:var(--ods-space-1);height:var(--ods-layout-control-height);min-width:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border:1px solid var(--ods-accent);background:var(--ods-accent);color:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-prompt-input__send:hover:not(:disabled){background:var(--ods-accent-hover);border-color:var(--ods-accent-hover)}.ods-prompt-input__send--disabled,.ods-prompt-input__send:disabled{background:var(--ods-surface-muted);border-color:var(--ods-border-default);color:var(--ods-text-disabled);cursor:not-allowed}.ods-prompt-input__send--stop{background:var(--ods-status-failed);border-color:var(--ods-status-failed);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-prompt-input__send--stop:hover{background:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-fg)}.ods-prompt-input__quick-actions{display:flex;flex-wrap:wrap;gap:var(--ods-space-1);padding:var(--ods-space-1) var(--ods-space-2) var(--ods-space-2);border-top:1px solid var(--ods-border-soft)}.ods-prompt-input__quick-action{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-pill);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-prompt-input__quick-action:hover{background:var(--ods-accent-soft);border-color:var(--ods-accent-border);color:var(--ods-accent)}.ods-prompt-input__quick-action:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-prompt-input__quick-action-icon{display:inline-flex;width:12px;height:12px;color:var(--ods-text-tertiary)}.ods-prompt-input__quick-action:hover .ods-prompt-input__quick-action-icon{color:var(--ods-accent)}.ods-prompt-input__hint{padding:var(--ods-space-1) var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary)}.ods-sortable{display:flex;width:100%;position:relative}.ods-sortable--vertical{flex-direction:column}.ods-sortable--horizontal{flex-direction:row}.ods-sortable--disabled{opacity:.6;pointer-events:none}.ods-sortable--dragging .ods-sortable__item:not(.ods-sortable__item--dragging){transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sortable__item{position:relative;transition:opacity var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sortable__item--dragging{opacity:.45;cursor:grabbing}.ods-sortable__item--kb-active{outline:2px solid var(--ods-accent);outline-offset:1px;border-radius:var(--ods-radius-1)}.ods-sortable__indicator{position:absolute;background:var(--ods-accent);opacity:0;pointer-events:none;transition:opacity var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));z-index:2}.ods-sortable--vertical .ods-sortable__indicator{left:0;right:0;height:2px}.ods-sortable--vertical .ods-sortable__indicator::before,.ods-sortable--vertical .ods-sortable__indicator::after{content:"";position:absolute;top:-2px;width:6px;height:6px;border:2px solid var(--ods-accent);background:var(--ods-surface-canvas);border-radius:var(--ods-radius-pill)}.ods-sortable--vertical .ods-sortable__indicator::before{left:-3px}.ods-sortable--vertical .ods-sortable__indicator::after{right:-3px}.ods-sortable--vertical .ods-sortable__indicator--before{top:-1px}.ods-sortable--vertical .ods-sortable__indicator--after{bottom:-1px}.ods-sortable--horizontal .ods-sortable__indicator{top:0;bottom:0;width:2px}.ods-sortable--horizontal .ods-sortable__indicator::before,.ods-sortable--horizontal .ods-sortable__indicator::after{content:"";position:absolute;left:-2px;width:6px;height:6px;border:2px solid var(--ods-accent);background:var(--ods-surface-canvas);border-radius:var(--ods-radius-pill)}.ods-sortable--horizontal .ods-sortable__indicator::before{top:-3px}.ods-sortable--horizontal .ods-sortable__indicator::after{bottom:-3px}.ods-sortable--horizontal .ods-sortable__indicator--before{left:-1px}.ods-sortable--horizontal .ods-sortable__indicator--after{right:-1px}.ods-sortable__item--drop-before .ods-sortable__indicator--before{opacity:1}.ods-sortable__item--drop-after .ods-sortable__indicator--after{opacity:1}.ods-sortable-handle{display:inline-flex;align-items:center;justify-content:center;width:14px;height:18px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-disabled);cursor:grab;flex-shrink:0;border-radius:var(--ods-radius-1);transition:color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sortable-handle:hover{color:var(--ods-accent)}.ods-sortable-handle:active{cursor:grabbing}.ods-sortable-handle:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px;color:var(--ods-accent)}.ods-sortable__item--kb-active .ods-sortable-handle{color:var(--ods-accent);background:var(--ods-accent-soft)}.ods-sortable__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.ods-code-editor{display:flex;flex-direction:column;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);overflow:hidden}.ods-code-editor--readonly{background:var(--ods-surface-subtle)}.ods-code-editor:focus-within{border-color:var(--ods-border-focus);box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-code-editor__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-code-editor__toolbar-left,.ods-code-editor__toolbar-right{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-code-editor__toolbar-left{gap:var(--ods-space-2)}.ods-code-editor__lang{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);background:var(--ods-surface-muted);color:var(--ods-text-body);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-code-editor__lines{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-code-editor__status{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-code-editor__btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-code-editor__btn:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-code-editor__btn:disabled{opacity:.4;cursor:not-allowed}.ods-code-editor__btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-code-editor__btn--active{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-code-editor__btn--success{color:var(--ods-status-success-fg);background:var(--ods-status-success-bg);border-color:var(--ods-status-success-bd)}.ods-code-editor__find{display:flex;align-items:center;gap:var(--ods-space-1);padding:var(--ods-space-1) var(--ods-space-2);background:var(--ods-surface-canvas);border-bottom:1px solid var(--ods-border-default);color:var(--ods-text-tertiary)}.ods-code-editor__find-input{flex:1 1 auto;min-width:0;height:22px;padding:0 var(--ods-space-2);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);outline:none;transition:border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-code-editor__find-input:focus{border-color:var(--ods-border-focus)}.ods-code-editor__find-input::placeholder{color:var(--ods-text-disabled)}.ods-code-editor__find-count{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);min-width:56px;text-align:center}.ods-code-editor__body{display:flex;flex:1 1 auto;min-height:0;overflow:hidden;background:var(--ods-surface-canvas);position:relative}.ods-code-editor__gutter{flex-shrink:0;display:flex;flex-direction:column;padding:var(--ods-space-2) 0;background:var(--ods-surface-subtle);border-right:1px solid var(--ods-border-default);overflow:hidden;user-select:none;pointer-events:none;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-disabled);min-width:36px}.ods-code-editor__line-no{display:inline-block;width:100%;padding:0 var(--ods-space-2);text-align:right;line-height:20px}.ods-code-editor__line-no--active{color:var(--ods-accent);font-weight:600}.ods-code-editor__textarea{flex:1 1 auto;border:0;outline:none;padding:var(--ods-space-2) var(--ods-space-3);background:rgba(0,0,0,0);resize:none;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);line-height:20px;color:var(--ods-text-primary);white-space:pre;overflow:auto;tab-size:2}.ods-code-editor__textarea::placeholder{color:var(--ods-text-disabled);font-style:italic}.ods-code-editor--sql .ods-code-editor__textarea{caret-color:var(--ods-accent)}.ods-code-editor--wrap .ods-code-editor__textarea{white-space:pre-wrap;word-break:break-word;overflow-x:hidden}.ods-code-editor__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:4px var(--ods-space-2);background:var(--ods-surface-subtle);border-top:1px solid var(--ods-border-soft);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);letter-spacing:var(--ods-tracking-mono)}.ods-code-editor__pos{font-variant-numeric:tabular-nums lining-nums}.ods-code-editor__shortcut-hint{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.ods-code-editor__sep{color:var(--ods-text-disabled);margin:0 2px}.ods-code-editor__kbd{display:inline-flex;align-items:center;justify-content:center;height:16px;min-width:18px;padding:0 4px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:600;color:var(--ods-text-body);margin-right:2px}.ods-monaco{display:flex;flex-direction:column;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);overflow:hidden}.ods-monaco--readonly{background:var(--ods-surface-subtle)}.ods-monaco:focus-within{border-color:var(--ods-border-focus);box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-monaco__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-monaco__toolbar-left,.ods-monaco__toolbar-right{display:inline-flex;align-items:center;gap:var(--ods-space-1);min-width:0}.ods-monaco__toolbar-left{gap:var(--ods-space-2)}.ods-monaco__lang{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);background:var(--ods-surface-muted);color:var(--ods-text-body);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);flex-shrink:0}.ods-monaco__lines{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-monaco__status{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-monaco__btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-monaco__btn:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-monaco__btn:disabled{opacity:.4;cursor:not-allowed}.ods-monaco__btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-monaco__btn--active{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-monaco__btn--success{color:var(--ods-status-success-fg);background:var(--ods-status-success-bg);border-color:var(--ods-status-success-bd)}.ods-monaco__body{display:flex;flex:1 1 auto;min-height:0;position:relative}.ods-monaco__body>section,.ods-monaco__body>div{flex:1 1 auto;min-width:0}.ods-monaco__loading{display:flex;align-items:center;justify-content:center;gap:var(--ods-space-2);height:100%;padding:var(--ods-space-4);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);letter-spacing:var(--ods-tracking-mono)}.ods-monaco__loading-spin{display:inline-flex;color:var(--ods-accent);animation:ods-monaco-spin .9s linear infinite}@keyframes ods-monaco-spin{to{transform:rotate(360deg)}}.ods-monaco__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:4px var(--ods-space-2);background:var(--ods-surface-subtle);border-top:1px solid var(--ods-border-soft);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);letter-spacing:var(--ods-tracking-mono)}.ods-monaco__pos{font-variant-numeric:tabular-nums lining-nums}.ods-monaco__shortcut-hint{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.ods-monaco__sep{color:var(--ods-text-disabled);margin:0 2px}.ods-monaco__kbd{display:inline-flex;align-items:center;justify-content:center;height:16px;min-width:18px;padding:0 4px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:600;color:var(--ods-text-body);margin-right:2px}.ods-monaco-diff{display:flex;flex-direction:column;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);overflow:hidden}.ods-monaco-diff:focus-within{border-color:var(--ods-border-focus);box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-monaco-diff__labels{display:inline-flex;align-items:center;gap:var(--ods-space-2);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary)}.ods-monaco-diff__label{padding:1px var(--ods-space-1);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-monaco-diff__label--orig{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd)}.ods-monaco-diff__label--mod{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-monaco-diff__arrow{color:var(--ods-text-disabled)}.ods-json-viewer{display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);overflow:hidden;font-family:var(--ods-font-family-mono)}.ods-json-viewer__head{display:flex;align-items:center;gap:var(--ods-space-2);justify-content:space-between;padding:var(--ods-space-1) var(--ods-space-3);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default)}.ods-json-viewer__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-json-viewer__status{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-json-viewer__body{padding:var(--ods-space-1) 0;overflow:auto;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);line-height:20px}.ods-json-viewer__row{display:flex;align-items:center;gap:4px;padding:0 var(--ods-space-3);white-space:nowrap}.ods-json-viewer__row--container{cursor:pointer}.ods-json-viewer__row--container:hover{background:var(--ods-surface-subtle)}.ods-json-viewer__row--close{padding-left:var(--ods-space-3)}.ods-json-viewer__caret{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;border-radius:var(--ods-radius-1);flex-shrink:0;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-json-viewer__caret:hover{color:var(--ods-text-primary);background:var(--ods-surface-muted)}.ods-json-viewer__caret--open{transform:rotate(90deg);color:var(--ods-accent)}.ods-json-viewer__caret-spacer{display:inline-block;width:12px;flex-shrink:0}.ods-json-viewer__key{color:var(--ods-text-primary);font-weight:500}.ods-json-viewer__key--index{color:var(--ods-text-tertiary)}.ods-json-viewer__colon{color:var(--ods-text-tertiary)}.ods-json-viewer__comma{color:var(--ods-text-tertiary)}.ods-json-viewer__bracket{color:var(--ods-text-body);font-weight:500}.ods-json-viewer__preview{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin:0 4px}.ods-json-viewer__value{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums lining-nums}.ods-json-viewer__value--string{color:var(--ods-status-success-fg)}.ods-json-viewer__value--number{color:var(--ods-status-running-fg)}.ods-json-viewer__value--boolean{color:var(--ods-status-pending-fg)}.ods-json-viewer__value--null{color:var(--ods-text-disabled)}.ods-json-viewer__copy{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;opacity:0;transition:opacity var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-json-viewer__row:hover .ods-json-viewer__copy{opacity:1}.ods-json-viewer__copy:hover{color:var(--ods-text-primary);background:var(--ods-surface-muted)}.ods-xml-viewer{display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);overflow:hidden;font-family:var(--ods-font-family-mono)}.ods-xml-viewer__head{display:flex;align-items:center;gap:var(--ods-space-2);justify-content:space-between;padding:var(--ods-space-1) var(--ods-space-3);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default)}.ods-xml-viewer__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-xml-viewer__status{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-xml-viewer__status--error{color:var(--ods-status-failed-fg)}.ods-xml-viewer__body{padding:var(--ods-space-1) 0;overflow:auto;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);line-height:20px}.ods-xml-viewer__raw{margin:0;padding:var(--ods-space-2) var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);color:var(--ods-text-body);white-space:pre-wrap;word-break:break-word}.ods-xml-viewer__row{display:flex;align-items:center;gap:4px;padding:0 var(--ods-space-3);white-space:nowrap;min-width:0}.ods-xml-viewer__row--element{cursor:pointer}.ods-xml-viewer__row--element:hover{background:var(--ods-surface-subtle)}.ods-xml-viewer__caret{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;border-radius:var(--ods-radius-1);flex-shrink:0;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-xml-viewer__caret:hover{color:var(--ods-text-primary);background:var(--ods-surface-muted)}.ods-xml-viewer__caret--open{transform:rotate(90deg);color:var(--ods-accent)}.ods-xml-viewer__caret-spacer{display:inline-block;width:12px;flex-shrink:0}.ods-xml-viewer__bracket{color:var(--ods-text-disabled);font-weight:500}.ods-xml-viewer__tag{color:var(--ods-status-failed-fg);font-weight:600}.ods-xml-viewer__attr{display:inline-flex;align-items:center;margin-left:var(--ods-space-1)}.ods-xml-viewer__attr-name{color:var(--ods-status-pending-fg);font-weight:500}.ods-xml-viewer__attr-eq{color:var(--ods-text-disabled)}.ods-xml-viewer__attr-value{color:var(--ods-status-success-fg)}.ods-xml-viewer__preview{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin:0 4px}.ods-xml-viewer__text{color:var(--ods-text-body);white-space:pre-wrap;word-break:break-word}.ods-xml-viewer__comment{color:var(--ods-text-tertiary);font-style:italic;white-space:pre-wrap}.ods-xml-viewer__cdata{color:var(--ods-status-running-fg);white-space:pre-wrap;word-break:break-word}.ods-xml-viewer__pi{color:var(--ods-status-pending-fg);font-style:italic}.ods-yaml-viewer{display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);overflow:hidden;font-family:var(--ods-font-family-mono)}.ods-yaml-viewer__head{display:flex;align-items:center;gap:var(--ods-space-2);justify-content:space-between;padding:var(--ods-space-1) var(--ods-space-3);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default)}.ods-yaml-viewer__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-yaml-viewer__status{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-yaml-viewer__body{padding:var(--ods-space-1) 0;overflow:auto;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);line-height:20px}.ods-yaml-viewer__line{display:flex;align-items:center;gap:0;padding:0 var(--ods-space-2) 0 0;min-height:20px;white-space:nowrap;position:relative}.ods-yaml-viewer__line--key:hover,.ods-yaml-viewer__line--sequence:hover{background:var(--ods-surface-subtle)}.ods-yaml-viewer__line--collapsed .ods-yaml-viewer__value{opacity:.6}.ods-yaml-viewer__line-no{flex-shrink:0;width:36px;padding:0 var(--ods-space-2) 0 0;text-align:right;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-disabled);user-select:none;border-right:1px solid var(--ods-border-soft);margin-right:var(--ods-space-2)}.ods-yaml-viewer__indent{display:inline-block;flex-shrink:0}.ods-yaml-viewer__caret{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;border-radius:var(--ods-radius-1);flex-shrink:0;margin-right:4px;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-yaml-viewer__caret:hover{color:var(--ods-text-primary);background:var(--ods-surface-muted)}.ods-yaml-viewer__caret--open{transform:rotate(90deg);color:var(--ods-accent)}.ods-yaml-viewer__caret-spacer{display:inline-block;width:12px;margin-right:4px;flex-shrink:0}.ods-yaml-viewer__key{color:var(--ods-text-primary);font-weight:500}.ods-yaml-viewer__colon{color:var(--ods-text-disabled)}.ods-yaml-viewer__dash{color:var(--ods-accent);font-weight:600}.ods-yaml-viewer__value{font-variant-numeric:tabular-nums lining-nums}.ods-yaml-viewer__value--string{color:var(--ods-status-success-fg)}.ods-yaml-viewer__value--number{color:var(--ods-status-running-fg)}.ods-yaml-viewer__value--boolean{color:var(--ods-status-pending-fg)}.ods-yaml-viewer__value--null{color:var(--ods-text-disabled)}.ods-yaml-viewer__comment{color:var(--ods-text-tertiary);font-style:italic}.ods-yaml-viewer__preview{color:var(--ods-text-tertiary);font-style:italic}.ods-file-dropzone-wrap{display:flex;flex-direction:column;gap:var(--ods-space-2);width:100%}.ods-file-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ods-space-2);padding:var(--ods-space-7) var(--ods-space-4);background:var(--ods-surface-canvas);border:1px dashed var(--ods-border-strong);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary);cursor:pointer;transition:border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),padding var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.2, 0.64, 1));text-align:center;user-select:none;outline:none}.ods-file-dropzone--compact{padding:var(--ods-space-4) var(--ods-space-3)}.ods-file-dropzone--has-files{padding:var(--ods-space-4) var(--ods-space-3)}.ods-file-dropzone:focus-visible{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:2px}.ods-file-dropzone:hover:not(.ods-file-dropzone--disabled):not(.ods-file-dropzone--over){background:var(--ods-surface-subtle);border-color:var(--ods-text-tertiary)}.ods-file-dropzone--over{background:var(--ods-accent-soft);border-color:var(--ods-accent);border-style:solid;transform:scale(1.01)}.ods-file-dropzone--error{border-color:var(--ods-status-failed);background:var(--ods-status-failed-bg)}.ods-file-dropzone--disabled{opacity:.55;cursor:not-allowed}.ods-file-dropzone__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.ods-file-dropzone__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--ods-radius-pill);background:var(--ods-accent-soft);color:var(--ods-accent);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-file-dropzone--over .ods-file-dropzone__icon{background:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-file-dropzone--error .ods-file-dropzone__icon{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg)}.ods-file-dropzone--compact .ods-file-dropzone__icon{width:28px;height:28px}.ods-file-dropzone--has-files .ods-file-dropzone__icon{width:28px;height:28px}.ods-file-dropzone__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-file-dropzone--compact .ods-file-dropzone__title{font-size:var(--ods-font-size-base)}.ods-file-dropzone--has-files .ods-file-dropzone__title{font-size:var(--ods-font-size-base)}.ods-file-dropzone__hint{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-file-dropzone__cta-row{display:inline-flex;align-items:center;gap:var(--ods-space-2);margin-top:var(--ods-space-1)}.ods-file-dropzone__cta{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-accent)}.ods-file-dropzone__kbd-hint{display:inline-flex;align-items:center;gap:4px;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-file-dropzone__kbd{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:22px;padding:0 4px;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:600;color:var(--ods-text-body)}.ods-file-dropzone__error{margin-top:var(--ods-space-1);font-size:var(--ods-font-size-sm);color:var(--ods-status-failed-fg)}.ods-file-dropzone__list-wrap{display:flex;flex-direction:column;border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);overflow:hidden}.ods-file-dropzone__list-head{display:flex;align-items:center;justify-content:space-between;padding:var(--ods-space-1) var(--ods-space-3);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-soft);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono)}.ods-file-dropzone__list-title{font-weight:600;color:var(--ods-text-primary);text-transform:uppercase}.ods-file-dropzone__list-status{color:var(--ods-text-tertiary);font-variant-numeric:tabular-nums lining-nums}.ods-file-dropzone__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ods-file-dropzone__item{display:flex;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-2) var(--ods-space-3);border-bottom:1px solid var(--ods-border-soft);background:var(--ods-surface-canvas);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-file-dropzone__item:last-child{border-bottom:0}.ods-file-dropzone__item:hover{background:var(--ods-surface-subtle)}.ods-file-dropzone__item--error{background:var(--ods-status-failed-bg)}.ods-file-dropzone__item--done .ods-file-dropzone__item-name{color:var(--ods-text-body)}.ods-file-dropzone__item-thumb{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);overflow:hidden}.ods-file-dropzone__item-thumb img{width:100%;height:100%;object-fit:cover}.ods-file-dropzone__item-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.ods-file-dropzone__item-head{display:flex;align-items:baseline;gap:var(--ods-space-2);min-width:0}.ods-file-dropzone__item-name{flex:1 1 auto;min-width:0;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-file-dropzone__item-size{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);flex-shrink:0}.ods-file-dropzone__item-error{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg)}.ods-file-dropzone__progress{position:relative;width:100%;height:3px;background:var(--ods-surface-muted);border-radius:var(--ods-radius-pill);overflow:hidden;margin-top:2px}.ods-file-dropzone__progress-fill{position:absolute;inset:0 auto 0 0;background:var(--ods-accent);transition:width var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-file-dropzone__item-actions{display:inline-flex;align-items:center;gap:var(--ods-space-1);flex-shrink:0}.ods-file-dropzone__item-status{display:inline-flex;align-items:center;gap:4px;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono)}.ods-file-dropzone__item-status--uploading{color:var(--ods-accent)}.ods-file-dropzone__item-status--done{width:18px;height:18px;justify-content:center;background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-radius:var(--ods-radius-pill)}.ods-file-dropzone__item-status--error{width:18px;height:18px;justify-content:center;color:var(--ods-status-failed-fg)}.ods-file-dropzone__spin{display:inline-flex;animation:ods-fd-spin .9s linear infinite}@keyframes ods-fd-spin{to{transform:rotate(360deg)}}.ods-file-dropzone__item-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-file-dropzone__item-btn:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-file-dropzone__item-btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-agent-card{display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-agent-card--interactive{cursor:pointer}.ods-agent-card--interactive:hover{background:var(--ods-surface-subtle);border-color:var(--ods-border-strong)}.ods-agent-card--interactive:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-agent-card__head{display:flex;align-items:center;gap:var(--ods-space-3)}.ods-agent-card__avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--ods-radius-1);background:var(--ods-accent);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-md);font-weight:600;flex-shrink:0}.ods-agent-card__id{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.ods-agent-card__name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-agent-card__role{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-agent-card__status{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:22px;padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);border:1px solid rgba(0,0,0,0);font-size:var(--ods-font-size-xs);font-weight:500;white-space:nowrap;flex-shrink:0}.ods-agent-card__status--idle{background:var(--ods-status-idle-bg);color:var(--ods-status-idle-fg);border-color:var(--ods-status-idle-bd)}.ods-agent-card__status--running{background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd)}.ods-agent-card__status--failed{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd)}.ods-agent-card__status--paused{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-agent-card__status--draft{background:var(--ods-surface-muted);color:var(--ods-text-body);border-color:var(--ods-border-default)}.ods-agent-card__status-dot{width:6px;height:6px;border-radius:var(--ods-radius-pill);background:currentColor;flex-shrink:0}.ods-agent-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ods-space-2);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-agent-card__model,.ods-agent-card__tools{display:inline-flex;align-items:center;gap:4px;padding:1px var(--ods-space-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);color:var(--ods-text-body);letter-spacing:var(--ods-tracking-mono)}.ods-agent-card__model>svg,.ods-agent-card__tools>svg{color:var(--ods-text-tertiary);flex-shrink:0}.ods-agent-card__model>span,.ods-agent-card__tools>span{font-variant-numeric:tabular-nums lining-nums;font-weight:600;color:var(--ods-text-primary)}.ods-agent-card__stats,.ods-agent-card__actions{display:flex;align-items:center;gap:var(--ods-space-2);padding-top:var(--ods-space-2);border-top:1px solid var(--ods-border-soft)}.ods-tool-card{display:flex;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-3) var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-tool-card--compact{padding:var(--ods-space-2) var(--ods-space-3)}.ods-tool-card--interactive{cursor:pointer}.ods-tool-card--interactive:hover{background:var(--ods-surface-subtle);border-color:var(--ods-border-strong)}.ods-tool-card--enabled{border-color:var(--ods-accent-border)}.ods-tool-card--enabled .ods-tool-card__icon{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-tool-card--disabled{opacity:.55;pointer-events:none}.ods-tool-card__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--ods-radius-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);color:var(--ods-text-body)}.ods-tool-card__icon--search{background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd)}.ods-tool-card__icon--database{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-tool-card__icon--web{background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd)}.ods-tool-card__icon--code{background:var(--ods-node-transform-bg);color:var(--ods-node-transform-fg);border-color:var(--ods-node-transform-bd)}.ods-tool-card__icon--file{background:var(--ods-status-idle-bg);color:var(--ods-status-idle-fg);border-color:var(--ods-status-idle-bd)}.ods-tool-card__icon--api{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-tool-card__icon--ai{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-tool-card__icon--custom{background:var(--ods-node-io-bg);color:var(--ods-node-io-fg);border-color:var(--ods-node-io-bd)}.ods-tool-card__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.ods-tool-card__head{display:flex;align-items:center;gap:var(--ods-space-1);min-width:0}.ods-tool-card__name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-tool-card__new{display:inline-flex;align-items:center;height:16px;padding:0 var(--ods-space-1);background:var(--ods-accent);color:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:9px;font-weight:700;letter-spacing:var(--ods-tracking-mono)}.ods-tool-card__badge{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-tool-card__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ods-tool-card__switch{display:inline-flex;align-items:center;width:32px;height:18px;padding:1px;border:0;background:var(--ods-border-strong);border-radius:var(--ods-radius-pill);cursor:pointer;flex-shrink:0;transition:background-color var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-tool-card__switch--on{background:var(--ods-accent)}.ods-tool-card__switch:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:2px}.ods-tool-card__switch-thumb{width:14px;height:14px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);box-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform var(--ods-duration-base, 180ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.2, 0.64, 1))}.ods-tool-card__switch--on .ods-tool-card__switch-thumb{transform:translateX(14px)}.ods-trace-step{display:flex;align-items:stretch;gap:var(--ods-space-3);font-family:var(--ods-font-family-sans)}.ods-trace-step--last .ods-trace-step__body{padding-bottom:0}.ods-trace-step__rail{position:relative;display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0}.ods-trace-step__icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--ods-radius-1);border:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);color:var(--ods-text-body);flex-shrink:0;z-index:1;margin-top:6px}.ods-trace-step__line{flex:1 1 auto;width:1px;background:var(--ods-border-default);min-height:16px}.ods-trace-step--thought .ods-trace-step__icon{color:var(--ods-text-body)}.ods-trace-step--tool .ods-trace-step__icon{color:var(--ods-accent);border-color:var(--ods-accent-border);background:var(--ods-accent-soft)}.ods-trace-step--input .ods-trace-step__icon{color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd);background:var(--ods-status-running-bg)}.ods-trace-step--output .ods-trace-step__icon{color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd);background:var(--ods-status-success-bg)}.ods-trace-step--error .ods-trace-step__icon{color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd);background:var(--ods-status-failed-bg)}.ods-trace-step--status-running .ods-trace-step__icon{border-color:var(--ods-accent);color:var(--ods-accent);background:var(--ods-accent-soft)}.ods-trace-step__spin{animation:ods-trace-spin .9s linear infinite}@keyframes ods-trace-spin{to{transform:rotate(360deg)}}.ods-trace-step__body{flex:1 1 auto;min-width:0;padding:0 0 var(--ods-space-3)}.ods-trace-step__head{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;padding:4px 0;border:0;background:rgba(0,0,0,0);text-align:left;cursor:pointer;color:inherit;font-family:inherit}.ods-trace-step__head:disabled{cursor:default}.ods-trace-step__head:hover:not(:disabled) .ods-trace-step__title{color:var(--ods-accent)}.ods-trace-step__index{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 var(--ods-space-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:600;color:var(--ods-text-tertiary);flex-shrink:0}.ods-trace-step__title{flex:1 1 auto;min-width:0;font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-trace-step__tool{display:inline-flex;align-items:center;gap:4px;padding:1px var(--ods-space-1);background:var(--ods-accent-soft);color:var(--ods-accent);border:1px solid var(--ods-accent-border);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:500;flex-shrink:0}.ods-trace-step__meta{display:inline-flex;align-items:center;gap:var(--ods-space-2);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);flex-shrink:0}.ods-trace-step__tokens>span{font-weight:600;color:var(--ods-text-body)}.ods-trace-step__duration{color:var(--ods-text-body);font-weight:500}.ods-trace-step__chev{color:var(--ods-text-tertiary);flex-shrink:0;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-trace-step__chev--open{transform:rotate(180deg);color:var(--ods-accent)}.ods-trace-step__content{margin-top:var(--ods-space-2);padding:var(--ods-space-2) var(--ods-space-3);background:var(--ods-surface-subtle);border:1px solid var(--ods-border-soft);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:1.5}
|
|
1
|
+
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-base);line-height:var(--ods-line-height-base);color:var(--ods-text-primary);background:var(--ods-surface-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,pre,.font-mono{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums}::selection{background:var(--ods-accent-soft);color:var(--ods-text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background:var(--ods-border-strong);border-radius:var(--ods-radius-1)}::-webkit-scrollbar-thumb:hover{background:var(--ods-text-tertiary)}.ods-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--ods-space-2);border:1px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-weight:500;line-height:1;letter-spacing:0;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));user-select:none;white-space:nowrap;outline:none;text-decoration:none}.ods-btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-btn:active:not(:disabled):not([aria-disabled=true]){transform:scale(0.985)}.ods-btn:disabled,.ods-btn[aria-disabled=true]{--btn-color: var(--ods-text-tertiary);cursor:not-allowed;color:var(--btn-color);background:var(--ods-surface-muted);border-color:var(--ods-border-default);pointer-events:none;opacity:.85}.ods-btn__content{display:inline-flex;align-items:center;gap:var(--ods-space-2);transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ods-btn__icon svg{display:block;width:1em;height:1em}.ods-btn__label{display:inline-block}.ods-btn__icon--spinner svg{animation:ods-btn-spin .8s linear infinite}.ods-btn--primary{--btn-color: #FFFFFF;background:var(--ods-accent);color:var(--btn-color);border-color:var(--ods-accent)}.ods-btn--primary:hover:not(:disabled){background:var(--ods-accent-hover);border-color:var(--ods-accent-hover)}.ods-btn--primary:active:not(:disabled){background:var(--ods-accent-press);border-color:var(--ods-accent-press)}.ods-btn--secondary{--btn-color: var(--ods-text-primary);background:var(--ods-surface-canvas);color:var(--btn-color);border-color:var(--ods-border-strong)}.ods-btn--secondary:hover:not(:disabled){background:var(--ods-surface-muted)}.ods-btn--secondary:active:not(:disabled){background:var(--ods-surface-sunken)}.ods-btn--ghost{--btn-color: var(--ods-text-primary);background:rgba(0,0,0,0);color:var(--btn-color);border-color:rgba(0,0,0,0)}.ods-btn--ghost:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-btn--ghost:active:not(:disabled){background:var(--ods-surface-sunken)}.ods-btn--danger{--btn-color: #FFFFFF;background:var(--ods-status-failed);color:var(--btn-color);border-color:var(--ods-status-failed)}.ods-btn--danger:hover:not(:disabled){background:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-fg)}.ods-btn--icon{--btn-color: var(--ods-text-body);background:rgba(0,0,0,0);color:var(--btn-color);aspect-ratio:1/1;border-color:rgba(0,0,0,0)}.ods-btn--icon:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-btn--icon:active:not(:disabled){background:var(--ods-surface-sunken)}.ods-btn__content,.ods-btn__label,.ods-btn__icon,.ods-btn__spinner{color:var(--btn-color)}.ods-btn--sm{height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2);font-size:var(--ods-font-size-sm)}.ods-btn--sm .ods-btn__icon svg{width:12px;height:12px}.ods-btn--sm.ods-btn--icon{width:var(--ods-layout-control-height-sm);padding:0}.ods-btn--md{height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);font-size:var(--ods-font-size-md)}.ods-btn--md .ods-btn__icon svg{width:14px;height:14px}.ods-btn--md.ods-btn--icon{width:var(--ods-layout-control-height);padding:0}.ods-btn--lg{height:var(--ods-layout-control-height-lg);padding:0 var(--ods-space-4);font-size:var(--ods-font-size-md)}.ods-btn--lg .ods-btn__icon svg{width:16px;height:16px}.ods-btn--lg.ods-btn--icon{width:var(--ods-layout-control-height-lg);padding:0}.ods-btn--full{width:100%}@keyframes ods-btn-spin{to{transform:rotate(360deg)}}.ods-input{display:flex;flex-direction:column;width:100%;font-family:var(--ods-font-family-sans)}.ods-input__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body);display:block;margin-bottom:var(--ods-space-1);line-height:var(--ods-line-height-snug)}.ods-input__wrapper{position:relative;display:flex;align-items:center;width:100%}.ods-input__field{width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);line-height:1;color:var(--ods-text-primary);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);outline:none;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),box-shadow var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-input__field[type=search]::-webkit-search-decoration,.ods-input__field[type=search]::-webkit-search-cancel-button,.ods-input__field[type=search]::-webkit-search-results-button,.ods-input__field[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}.ods-input__field[type=number]::-webkit-inner-spin-button,.ods-input__field[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ods-input__field:hover{border-color:var(--ods-text-tertiary)}.ods-input__field:focus,.ods-input__field:focus-visible{border-color:var(--ods-border-focus);box-shadow:var(--ods-focus-ring)}.ods-input__field::placeholder{color:var(--ods-text-disabled)}.ods-input__field:disabled{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed;border-color:var(--ods-border-default)}.ods-input--error .ods-input__field{border-color:var(--ods-status-failed)}.ods-input--error .ods-input__field:focus,.ods-input--error .ods-input__field:focus-visible{box-shadow:var(--ods-focus-ring-error)}.ods-input__error-message{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg);margin-top:var(--ods-space-1);line-height:var(--ods-line-height-snug)}.ods-input__helper{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin-top:var(--ods-space-1);line-height:var(--ods-line-height-snug)}.ods-input__icon--left,.ods-input__icon--right{position:absolute;top:50%;transform:translateY(-50%);color:var(--ods-text-tertiary);display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.ods-input__icon--left svg,.ods-input__icon--right svg{width:14px;height:14px;display:block}.ods-input__icon--left{left:var(--ods-space-2)}.ods-input__icon--right{right:var(--ods-space-2)}.ods-input__right{position:absolute;top:50%;right:5px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:4px}.ods-input__field--with-left-icon{padding-left:30px}.ods-input__field--with-right-icon{padding-right:30px}.ods-input__field--with-right-actions{padding-right:60px}.ods-input__clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-input__clear:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-input__clear:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}@media(prefers-reduced-motion: no-preference){.ods-input__clear{animation:ods-input-clear-in var(--ods-duration-fast, 120ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.2, 0.64, 1))}}@keyframes ods-input-clear-in{from{opacity:0;transform:scale(0.6)}to{opacity:1;transform:scale(1)}}.ods-input__kbd{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:24px;padding:0 6px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:0 1px 0 var(--ods-border-default);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:600;color:var(--ods-text-body);letter-spacing:var(--ods-tracking-mono);pointer-events:none;user-select:none}.ods-input--search .ods-input__field{background:var(--ods-surface-subtle);border-color:var(--ods-border-default)}.ods-input--search .ods-input__field:hover:not(:disabled){background:var(--ods-surface-canvas);border-color:var(--ods-border-strong)}.ods-input--search .ods-input__field:focus,.ods-input--search .ods-input__field:focus-visible{background:var(--ods-surface-canvas);border-color:var(--ods-border-focus)}.ods-input--search .ods-input__icon--left{color:var(--ods-text-body)}.ods-input--search .ods-input__kbd{background:var(--ods-surface-subtle);box-shadow:none}.ods-input--sm .ods-input__field{height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2);font-size:var(--ods-font-size-sm)}.ods-input--sm .ods-input__field--with-left-icon{padding-left:24px}.ods-input--sm .ods-input__field--with-right-icon{padding-right:24px}.ods-input--sm .ods-input__field--with-right-actions{padding-right:52px}.ods-input--sm .ods-input__icon--left svg,.ods-input--sm .ods-input__icon--right svg{width:12px;height:12px}.ods-input--sm .ods-input__kbd{height:16px;min-width:22px;font-size:9px}.ods-input--lg .ods-input__field{height:var(--ods-layout-control-height-lg);padding:0 var(--ods-space-4);font-size:var(--ods-font-size-md)}.ods-input--lg .ods-input__field--with-left-icon{padding-left:38px}.ods-input--lg .ods-input__field--with-right-icon{padding-right:38px}.ods-input--lg .ods-input__field--with-right-actions{padding-right:72px}.ods-input--lg .ods-input__icon--left{left:14px}.ods-input--lg .ods-input__right{right:8px;gap:6px}.ods-input--lg .ods-input__icon--left svg,.ods-input--lg .ods-input__icon--right svg{width:16px;height:16px}.ods-input--lg .ods-input__clear{width:22px;height:22px}.ods-input--lg .ods-input__kbd{height:20px;min-width:28px;font-size:11px}.ods-input--disabled{opacity:1;pointer-events:none}.ods-textarea{display:flex;flex-direction:column;width:100%;font-family:var(--ods-font-family-sans)}.ods-textarea__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body);display:block;margin-bottom:var(--ods-space-1)}.ods-textarea__wrapper{position:relative;width:100%}.ods-textarea__field{width:100%;min-height:64px;padding:var(--ods-space-2) var(--ods-space-3);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);line-height:var(--ods-line-height-base);color:var(--ods-text-primary);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);outline:none;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));resize:vertical}.ods-textarea__field:hover{border-color:var(--ods-text-tertiary)}.ods-textarea__field:focus,.ods-textarea__field:focus-visible{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-textarea__field::placeholder{color:var(--ods-text-disabled)}.ods-textarea__field:disabled{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed}.ods-textarea__field--no-resize{resize:none}.ods-textarea__count{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);text-align:right;margin-top:var(--ods-space-1);user-select:none}.ods-textarea--error .ods-textarea__field{border-color:var(--ods-status-failed)}.ods-textarea--error .ods-textarea__field:focus,.ods-textarea--error .ods-textarea__field:focus-visible{outline-color:var(--ods-status-failed)}.ods-textarea__error-message{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg);margin-top:var(--ods-space-1)}.ods-textarea--disabled{pointer-events:none}.ods-textarea--sm .ods-textarea__field{padding:var(--ods-space-1) var(--ods-space-2);font-size:var(--ods-font-size-sm)}.ods-textarea--lg .ods-textarea__field{padding:var(--ods-space-3) var(--ods-space-4);font-size:var(--ods-font-size-md)}@keyframes ods-spin{to{transform:rotate(360deg)}}.ods-spinner{display:inline-block;animation:ods-spin .9s linear infinite;color:currentColor}.ods-spinner__circle{stroke:currentColor}.ods-spinner--sm{width:14px;height:14px}.ods-spinner--md{width:20px;height:20px}.ods-spinner--lg{width:28px;height:28px}.ods-spinner--xl{width:40px;height:40px}.ods-spinner--primary{color:var(--ods-accent)}.ods-checkbox{display:inline-flex;align-items:center;gap:var(--ods-space-2);cursor:pointer;user-select:none;position:relative;font-family:var(--ods-font-family-sans)}.ods-checkbox--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-checkbox__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.ods-checkbox__box{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));flex-shrink:0}.ods-checkbox__input:focus-visible+.ods-checkbox__box{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-checkbox__box--checked,.ods-checkbox__box--indeterminate{background:var(--ods-accent);border-color:var(--ods-accent)}.ods-checkbox__checkmark{width:10px;height:10px;color:var(--ods-surface-canvas)}.ods-checkbox__checkmark path{stroke-dasharray:16;stroke-dashoffset:16;transition:stroke-dashoffset var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-checkbox__checkmark--checked path{stroke-dashoffset:0}.ods-checkbox__dash{width:10px;height:10px;color:var(--ods-surface-canvas)}.ods-checkbox__label{font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);line-height:var(--ods-line-height-snug)}.ods-checkbox--sm{gap:var(--ods-space-1)}.ods-checkbox--sm .ods-checkbox__box{width:12px;height:12px}.ods-checkbox--sm .ods-checkbox__checkmark,.ods-checkbox--sm .ods-checkbox__dash{width:8px;height:8px}.ods-checkbox--sm .ods-checkbox__label{font-size:var(--ods-font-size-sm)}.ods-radio-group{display:flex;flex-direction:column;gap:var(--ods-space-2);font-family:var(--ods-font-family-sans)}.ods-radio-group__label{font-family:inherit;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body);margin-bottom:var(--ods-space-1)}.ods-radio-group__items{display:flex;flex-direction:column;gap:var(--ods-space-2)}.ods-radio-group--horizontal .ods-radio-group__items{flex-direction:row;gap:var(--ods-space-4)}.ods-radio-group--disabled{opacity:.5;pointer-events:none}.ods-radio{display:inline-flex;align-items:center;gap:var(--ods-space-2);cursor:pointer;user-select:none;position:relative;font-family:var(--ods-font-family-sans)}.ods-radio--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-radio__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.ods-radio__circle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));flex-shrink:0}.ods-radio__input:focus-visible+.ods-radio__circle{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-radio--selected .ods-radio__circle{border-color:var(--ods-accent)}.ods-radio__dot{width:6px;height:6px;border-radius:var(--ods-radius-pill);background:var(--ods-accent);transform:scale(0);transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-radio__dot--visible{transform:scale(1)}.ods-radio__label{font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);line-height:var(--ods-line-height-snug)}.ods-switch{display:inline-flex;align-items:center;gap:var(--ods-space-2);cursor:pointer;user-select:none;position:relative;font-family:var(--ods-font-family-sans)}.ods-switch--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-switch__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.ods-switch__track{position:relative;display:flex;align-items:center;width:36px;height:22px;border-radius:var(--ods-radius-pill);background:var(--ods-border-strong);transition:background-color var(--ods-duration-base, 180ms) var(--ods-ease-out, ease-out);flex-shrink:0;padding:2px;will-change:background-color}.ods-switch__input:focus-visible+.ods-switch__track{outline:2px solid var(--ods-border-focus);outline-offset:2px}.ods-switch__track--on{background:var(--ods-accent)}.ods-switch__thumb{width:18px;height:18px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);box-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform var(--ods-duration-base, 180ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.2, 0.64, 1));transform:translateX(0);will-change:transform}.ods-switch__track--on .ods-switch__thumb{transform:translateX(14px)}.ods-switch__label{font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);line-height:var(--ods-line-height-snug)}.ods-switch--sm .ods-switch__track{width:28px;height:16px;padding:2px}.ods-switch--sm .ods-switch__thumb{width:12px;height:12px}.ods-switch--sm .ods-switch__track--on .ods-switch__thumb{transform:translateX(12px)}.ods-switch--sm .ods-switch__label{font-size:var(--ods-font-size-sm)}.ods-badge{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:22px;padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1;letter-spacing:0;white-space:nowrap;border:1px solid rgba(0,0,0,0)}.ods-badge--success{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-badge--warning{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-badge--error{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd)}.ods-badge--info{background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd)}.ods-badge--neutral{background:var(--ods-status-idle-bg);color:var(--ods-status-idle-fg);border-color:var(--ods-status-idle-bd)}.ods-badge--outlined{background:var(--ods-surface-canvas)}.ods-badge__dot{width:6px;height:6px;border-radius:var(--ods-radius-pill);background:currentColor;flex-shrink:0}.ods-badge__text{display:inline-block}.ods-badge__close{width:12px;height:12px;cursor:pointer;opacity:.6;border:none;background:rgba(0,0,0,0);color:currentColor;padding:0;display:inline-flex;align-items:center;justify-content:center}.ods-badge__close:hover{opacity:1}.ods-badge--sm{height:18px;font-size:10px;padding:0 var(--ods-space-1)}.ods-avatar{position:relative;display:inline-flex;flex-shrink:0;font-family:var(--ods-font-family-sans)}.ods-avatar--xs{width:20px;height:20px;font-size:9px}.ods-avatar--sm{width:24px;height:24px;font-size:10px}.ods-avatar--md{width:28px;height:28px;font-size:11px}.ods-avatar--lg{width:36px;height:36px;font-size:13px}.ods-avatar--xl{width:48px;height:48px;font-size:16px}.ods-avatar__inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:var(--ods-radius-pill);overflow:hidden;background:var(--ods-accent-soft)}.ods-avatar__image{width:100%;height:100%;object-fit:cover}.ods-avatar__initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:inherit;font-weight:600;color:var(--ods-accent);background:var(--ods-accent-soft);text-transform:uppercase;line-height:1}.ods-avatar__status{position:absolute;bottom:0;right:0;width:28%;height:28%;min-width:8px;min-height:8px;border-radius:var(--ods-radius-pill);border:2px solid var(--ods-surface-canvas);box-sizing:content-box}.ods-avatar__status--online{background:var(--ods-status-success)}.ods-avatar__status--offline{background:var(--ods-status-idle)}.ods-avatar__status--busy{background:var(--ods-status-failed)}.ods-avatar__status--away{background:var(--ods-status-pending)}.ods-avatar-stack{display:inline-flex;align-items:center}.ods-avatar-stack>.ods-avatar{margin-left:-8px}.ods-avatar-stack>.ods-avatar>.ods-avatar__inner{box-shadow:0 0 0 2px var(--ods-surface-canvas)}.ods-avatar-stack>.ods-avatar:first-child{margin-left:0}.ods-avatar-stack>.ods-avatar:nth-child(1){z-index:6}.ods-avatar-stack>.ods-avatar:nth-child(2){z-index:5}.ods-avatar-stack>.ods-avatar:nth-child(3){z-index:4}.ods-avatar-stack>.ods-avatar:nth-child(4){z-index:3}.ods-avatar-stack>.ods-avatar:nth-child(5){z-index:2}.ods-avatar-stack>.ods-avatar:nth-child(6){z-index:1}.ods-avatar-stack__overflow>.ods-avatar__inner{background:var(--ods-surface-muted)}.ods-avatar-stack__overflow .ods-avatar__initials{background:var(--ods-surface-muted);color:var(--ods-text-body);font-size:10px}.ods-tooltip{position:relative;background:var(--ods-text-primary);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;line-height:var(--ods-line-height-snug);padding:var(--ods-space-1) var(--ods-space-2);border-radius:var(--ods-radius-1);max-width:240px;word-wrap:break-word;pointer-events:none}.ods-tooltip__arrow{position:absolute;width:6px;height:6px;background:var(--ods-text-primary);transform:rotate(45deg);pointer-events:none;z-index:-1}.ods-tooltip[data-position=top] .ods-tooltip__arrow{bottom:-3px;left:50%;margin-left:-3px}.ods-tooltip[data-position=bottom] .ods-tooltip__arrow{top:-3px;left:50%;margin-left:-3px}.ods-tooltip[data-position=left] .ods-tooltip__arrow{right:-3px;top:50%;margin-top:-3px}.ods-tooltip[data-position=right] .ods-tooltip__arrow{left:-3px;top:50%;margin-top:-3px}.ods-select{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);font-family:var(--ods-font-family-sans)}.ods-select--disabled{opacity:.5;pointer-events:none}.ods-select__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body);margin-bottom:2px}.ods-select__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);color:var(--ods-text-primary);font-family:inherit;font-size:var(--ods-font-size-base);cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-select__trigger:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-select__trigger:hover:not([disabled]):not([aria-disabled=true]){border-color:var(--ods-text-tertiary)}.ods-select__trigger--open{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-select__value{display:flex;align-items:center;gap:var(--ods-space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.ods-select__value-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.ods-select__placeholder{color:var(--ods-text-disabled)}.ods-select__chevron{flex-shrink:0;color:var(--ods-text-tertiary);transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-select__chevron--open{transform:rotate(180deg);color:var(--ods-text-primary)}.ods-select__dropdown{z-index:500;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);max-height:240px;overflow-y:auto;padding:var(--ods-space-1)}.ods-select__dropdown::-webkit-scrollbar{width:6px;height:6px}.ods-select__dropdown::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.ods-select__dropdown::-webkit-scrollbar-thumb{background:var(--ods-border-strong);border-radius:var(--ods-radius-1)}.ods-select__dropdown::-webkit-scrollbar-thumb:hover{background:var(--ods-text-tertiary)}.ods-select__search-wrap{padding:var(--ods-space-1) var(--ods-space-1) 0;margin-bottom:var(--ods-space-1)}.ods-select__search{width:100%;height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-sm);font-family:inherit;color:var(--ods-text-primary);outline:none;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-select__search::placeholder{color:var(--ods-text-disabled)}.ods-select__search:focus{border-color:var(--ods-border-focus)}.ods-select__options{list-style:none;margin:0;padding:0}.ods-select__option{display:flex;align-items:center;gap:var(--ods-space-2);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));user-select:none}.ods-select__option:hover{background:var(--ods-surface-muted)}.ods-select__option--highlighted{background:var(--ods-surface-muted)}.ods-select__option--selected{background:var(--ods-accent-soft);font-weight:500;color:var(--ods-accent)}.ods-select__option--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-select__option-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.ods-select__option-text{display:flex;flex-direction:column;flex:1;min-width:0}.ods-select__option-label{font-size:var(--ods-font-size-base);color:var(--ods-text-primary)}.ods-select__option-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin-top:1px}.ods-select__check{display:flex;align-items:center;flex-shrink:0;color:var(--ods-accent);margin-left:auto}.ods-select__empty{padding:var(--ods-space-3) var(--ods-space-4);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-select--error .ods-select__trigger{border-color:var(--ods-status-failed)}.ods-select--error .ods-select__trigger--open{outline-color:var(--ods-status-failed)}.ods-select__error{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg);margin-top:2px}.ods-select--sm .ods-select__trigger{height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2);font-size:var(--ods-font-size-sm)}.ods-select--md .ods-select__trigger{height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);font-size:var(--ods-font-size-base)}.ods-select--lg .ods-select__trigger{height:var(--ods-layout-control-height-lg);padding:0 var(--ods-space-4);font-size:var(--ods-font-size-md)}.ods-multiselect{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);font-family:var(--ods-font-family-sans)}.ods-multiselect--disabled{opacity:.5;pointer-events:none}.ods-multiselect__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body);margin-bottom:2px}.ods-multiselect__input-wrap{position:relative;display:flex;align-items:center;gap:var(--ods-space-1);min-height:var(--ods-layout-control-height);padding:2px var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-multiselect__input-wrap:hover{border-color:var(--ods-text-tertiary)}.ods-multiselect__input-wrap--open{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-multiselect__tags{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;flex-wrap:nowrap;gap:var(--ods-space-1);overflow:hidden}.ods-multiselect__measure{position:absolute;visibility:hidden;pointer-events:none;white-space:nowrap;display:flex;gap:var(--ods-space-1);height:0;overflow:hidden}.ods-multiselect__placeholder{font-size:var(--ods-font-size-base);color:var(--ods-text-disabled);padding:0 2px}.ods-multiselect__tag{display:inline-flex;align-items:center;gap:var(--ods-space-1);padding:2px var(--ods-space-1) 2px var(--ods-space-2);background:var(--ods-accent-soft);color:var(--ods-accent);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1.2;white-space:nowrap;max-width:200px}.ods-multiselect__tag>span:first-child+span,.ods-multiselect__tag>span:only-child{overflow:hidden;text-overflow:ellipsis}.ods-multiselect__tag--overflow{background:var(--ods-surface-muted);color:var(--ods-text-body);padding:2px var(--ods-space-2);cursor:help}.ods-multiselect__tag-icon{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex-shrink:0}.ods-multiselect__tag-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:0;background:rgba(0,0,0,0);color:currentColor;opacity:.7;cursor:pointer;border-radius:var(--ods-radius-1);flex-shrink:0;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-multiselect__tag-remove:hover{opacity:1;background:var(--ods-accent-border)}.ods-multiselect__tag-remove-spacer{width:14px;height:14px;display:inline-block}.ods-multiselect__chevron{flex-shrink:0;color:var(--ods-text-tertiary);transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-multiselect__chevron--open{transform:rotate(180deg);color:var(--ods-text-primary)}.ods-multiselect__clear{border:0;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);cursor:pointer;padding:2px var(--ods-space-1);border-radius:var(--ods-radius-1);flex-shrink:0}.ods-multiselect__clear:hover{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg)}.ods-multiselect__dropdown{z-index:500;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);max-height:280px;display:flex;flex-direction:column;overflow:hidden}.ods-multiselect__search{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-2) var(--ods-space-3);color:var(--ods-text-tertiary);border-bottom:1px solid var(--ods-border-default);flex-shrink:0}.ods-multiselect__search-input{flex:1 1 auto;min-width:0;border:0;outline:none;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary)}.ods-multiselect__search-input::placeholder{color:var(--ods-text-disabled)}.ods-multiselect__search-input:focus,.ods-multiselect__search-input:focus-visible{outline:none;box-shadow:none;border:0}.ods-multiselect__list{flex:1 1 auto;overflow-y:auto;padding:var(--ods-space-1)}.ods-multiselect__option{display:flex;align-items:center;gap:var(--ods-space-2);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);cursor:pointer;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-multiselect__option:hover{background:var(--ods-surface-muted)}.ods-multiselect__option--highlighted{background:var(--ods-surface-muted)}.ods-multiselect__option-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--ods-accent)}.ods-multiselect__option-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.ods-multiselect__option-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-multiselect__empty{padding:var(--ods-space-3);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-multiselect--error .ods-multiselect__input-wrap{border-color:var(--ods-status-failed)}.ods-multiselect__error{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg);margin-top:2px}.ods-multiselect--sm .ods-multiselect__input-wrap{min-height:var(--ods-layout-control-height-sm);padding:1px var(--ods-space-1)}.ods-multiselect--sm .ods-multiselect__tag{font-size:10px;padding:1px var(--ods-space-1)}.ods-multiselect--md .ods-multiselect__input-wrap{min-height:var(--ods-layout-control-height)}.ods-card{position:relative;background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-family:var(--ods-font-family-sans);border-radius:var(--ods-radius-2);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-card:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-card--default{background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default)}.ods-card--glass{background:var(--ods-surface-subtle);border:1px solid var(--ods-border-default)}.ods-card--elevated{background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);box-shadow:var(--ods-shadow-pop)}.ods-card--outlined{background:rgba(0,0,0,0);border:1px solid var(--ods-border-default)}.ods-card--selected{background:var(--ods-accent-soft);border:1px solid var(--ods-accent-border)}.ods-card--hoverable:hover{background:var(--ods-surface-subtle);border-color:var(--ods-border-strong);transform:translateY(-1px)}.ods-card--clickable{cursor:pointer;user-select:none}.ods-card--clickable:active{transform:translateY(0)}.ods-card--pad-none{padding:0}.ods-card--pad-sm{padding:var(--ods-space-3)}.ods-card--pad-md{padding:var(--ods-space-4)}.ods-card--pad-lg{padding:var(--ods-space-5)}.ods-card--pad-xl{padding:var(--ods-space-6)}.ods-card--radius-sm,.ods-card--radius-md{border-radius:var(--ods-radius-1)}.ods-card--radius-lg,.ods-card--radius-xl,.ods-card--radius-2xl{border-radius:var(--ods-radius-2)}.ods-dialog{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:var(--ods-space-4);background:rgba(10,10,10,.45)}.ods-dialog__card{position:relative;display:flex;flex-direction:column;max-height:90vh;overflow-y:auto;border-radius:var(--ods-radius-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary);transform:scale(1);opacity:1;transition:transform var(--ods-duration-slow, 240ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),opacity var(--ods-duration-slow, 240ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-dialog__card--entering{transform:scale(0.98);opacity:0}.ods-dialog__card--sm{width:100%;max-width:360px}.ods-dialog__card--md{width:100%;max-width:480px}.ods-dialog__card--lg{width:100%;max-width:720px}.ods-dialog__card--xl{width:100%;max-width:960px}.ods-dialog__card--full{width:100%;max-width:calc(100vw - 96px);height:calc(100vh - 96px);max-height:calc(100vh - 96px)}.ods-dialog__header{display:flex;flex-direction:column;gap:var(--ods-space-1);padding:var(--ods-space-5) var(--ods-space-5) 0}.ods-dialog__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-dialog__description{margin:0;font-size:var(--ods-font-size-base);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-dialog__close{position:absolute;top:var(--ods-space-3);right:var(--ods-space-3);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-dialog__close:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-dialog__close:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-dialog__body{flex:1;padding:var(--ods-space-4) var(--ods-space-5);overflow-y:auto;font-size:var(--ods-font-size-base);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding:var(--ods-space-3) var(--ods-space-5);border-top:1px solid var(--ods-border-default)}.ods-sidebar{display:flex;flex-direction:column;background:var(--ods-surface-subtle);border-right:1px solid var(--ods-border-default);border-radius:0;font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-base);color:var(--ods-text-body);overflow:visible;transition:width var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));position:relative}.ods-sidebar--rail{width:var(--ods-layout-sidebar-width-collapsed);align-items:center;padding:var(--ods-space-2) 0;gap:var(--ods-space-2)}.ods-sidebar--expanded{width:var(--ods-layout-sidebar-width)}.ods-sidebar--auto{overflow:visible}.ods-sidebar__overlay{position:absolute;top:0;left:0;width:var(--ods-layout-sidebar-width);height:100%;display:flex;flex-direction:column;background:var(--ods-surface-canvas);border-right:1px solid var(--ods-border-default);border-top:1px solid var(--ods-border-default);border-bottom:1px solid var(--ods-border-default);border-radius:0 var(--ods-radius-2) var(--ods-radius-2) 0;box-shadow:var(--ods-shadow-pop);z-index:1000;animation:ods-sidebar-overlay-in var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}@keyframes ods-sidebar-overlay-in{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}.ods-sidebar__logo-rail{width:32px;height:32px;border-radius:var(--ods-radius-1);display:flex;align-items:center;justify-content:center;background:var(--ods-accent);color:#fff;font-size:var(--ods-font-size-md);font-weight:600;margin-bottom:var(--ods-space-2);flex-shrink:0}.ods-sidebar__nav-rail,.ods-sidebar__footer-rail{display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-1);width:100%;overflow:visible}.ods-sidebar__footer-rail{position:relative;padding-top:var(--ods-space-2)}.ods-sidebar__footer-rail::before{content:"";position:absolute;top:0;left:var(--ods-space-2);right:var(--ods-space-2);height:1px;background:var(--ods-border-default)}.ods-sidebar__spacer{flex:1 1 auto}.ods-sidebar__rail-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;overflow:visible}.ods-sidebar__rail-item{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;text-decoration:none;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__rail-item:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-sidebar__rail-item:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-sidebar__rail-item--active{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-sidebar__rail-item--active::before{content:"";position:absolute;left:-8px;top:4px;bottom:4px;width:2px;border-radius:0 var(--ods-radius-1) var(--ods-radius-1) 0;background:var(--ods-accent)}.ods-sidebar__rail-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.ods-sidebar__rail-tooltip{position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);display:inline-flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);border-radius:var(--ods-radius-1);background:var(--ods-text-primary);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-xs);font-weight:500;white-space:nowrap;box-shadow:var(--ods-shadow-pop);z-index:1500;pointer-events:none;animation:ods-sidebar-tip-in 80ms var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}@keyframes ods-sidebar-tip-in{from{opacity:0;transform:translate(-2px, -50%)}to{opacity:1;transform:translate(0, -50%)}}.ods-sidebar__rail-tooltip-label{color:inherit}.ods-sidebar__rail-flyout{position:absolute;top:0;left:calc(100% + 8px);min-width:200px;max-width:260px;padding:var(--ods-space-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-2);box-shadow:var(--ods-shadow-pop);z-index:1500;font-family:var(--ods-font-family-sans);animation:ods-sidebar-flyout-in 120ms var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__rail-flyout::before{content:"";position:absolute;top:0;bottom:0;left:-10px;width:10px;background:rgba(0,0,0,0)}@keyframes ods-sidebar-flyout-in{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}.ods-sidebar__rail-flyout-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2) var(--ods-space-2);border-bottom:1px solid var(--ods-border-default);margin-bottom:var(--ods-space-1)}.ods-sidebar__rail-flyout-title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-sidebar__rail-flyout-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.ods-sidebar__rail-flyout-item{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-row-height);padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-body);font-family:inherit;font-size:var(--ods-font-size-base);font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__rail-flyout-item:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-sidebar__rail-flyout-item:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-sidebar__rail-flyout-item--active{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:600}.ods-sidebar__rail-flyout-item--active .ods-sidebar__rail-flyout-icon{color:var(--ods-accent)}.ods-sidebar__rail-flyout-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--ods-text-tertiary)}.ods-sidebar__rail-flyout-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-sidebar__rail-flyout-tag{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-accent);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-size:9px;font-weight:700;letter-spacing:var(--ods-tracking-mono);flex-shrink:0}.ods-sidebar__rail-flyout-badge{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:10px;font-weight:600;flex-shrink:0}.ods-sidebar__rail-item--parent.ods-sidebar__rail-item--active::after{content:"";position:absolute;right:3px;bottom:3px;width:4px;height:4px;border-radius:var(--ods-radius-pill);background:var(--ods-accent)}.ods-sidebar__rail-kbd{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:hsla(0,0%,100%,.12);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:500}.ods-sidebar__expand-rail{display:inline-flex;align-items:center;justify-content:center;width:28px;height:24px;padding:0;border:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__expand-rail:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary);border-color:var(--ods-border-strong)}.ods-sidebar__user-rail{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--ods-radius-pill);cursor:pointer;margin-top:var(--ods-space-1);background:var(--ods-accent);color:#fff;font-size:var(--ods-font-size-sm);font-weight:600;overflow:hidden}.ods-sidebar__header{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-3);border-bottom:1px solid var(--ods-border-default);flex-shrink:0}.ods-sidebar__logo{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ods-radius-1);background:var(--ods-accent);color:#fff;font-size:var(--ods-font-size-md);font-weight:600;flex-shrink:0}.ods-sidebar__brand{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.ods-sidebar__brand-name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-sidebar__brand-sub{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-tight)}.ods-sidebar__collapse,.ods-sidebar__pin{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__collapse:hover,.ods-sidebar__pin:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-sidebar__pin--pinned{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-sidebar__body{flex:1 1 auto;display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-2);overflow-y:auto;overflow-x:hidden}.ods-sidebar__section{display:flex;flex-direction:column;gap:1px}.ods-sidebar__section-label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);padding:var(--ods-space-1) var(--ods-space-2)}.ods-sidebar__item{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-row-height);padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-body);font-family:inherit;font-size:var(--ods-font-size-base);font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__item:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-sidebar__item--active{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:600}.ods-sidebar__item--active .ods-sidebar__icon{color:var(--ods-accent)}.ods-sidebar__item--open{color:var(--ods-text-primary)}.ods-sidebar__item--l2{height:28px;font-size:var(--ods-font-size-sm)}.ods-sidebar__item--l3{height:28px;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-sidebar__chevron{flex-shrink:0;color:var(--ods-text-tertiary);transition:transform var(--ods-duration-base, 180ms) var(--ods-ease-out, ease-out)}.ods-sidebar__chevron--open{transform:rotate(90deg);color:var(--ods-accent)}.ods-sidebar__subtree{display:flex;flex-direction:column;gap:1px;margin-top:1px;padding:1px 0 var(--ods-space-1) var(--ods-space-2);margin-left:var(--ods-space-3);border-left:1px solid var(--ods-border-default)}.ods-sidebar__subtree--l2{border-left-color:var(--ods-border-strong)}.ods-sidebar__subtree--l3{border-left-color:var(--ods-accent-border);margin-left:var(--ods-space-2)}.ods-sidebar__icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--ods-text-tertiary)}.ods-sidebar__label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-sidebar__badge{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:600;flex-shrink:0}.ods-sidebar__tag{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-accent);color:#fff;font-family:var(--ods-font-family-mono);font-size:9px;font-weight:700;letter-spacing:var(--ods-tracking-mono);flex-shrink:0}.ods-sidebar__footer{border-top:1px solid var(--ods-border-default);display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-2)}.ods-sidebar__footer-list{display:flex;flex-direction:column;gap:1px}.ods-sidebar__user-card{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;padding:var(--ods-space-2);border:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);cursor:pointer;font-family:inherit;text-align:left;color:var(--ods-text-body);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sidebar__user-card:hover{background:var(--ods-surface-subtle);border-color:var(--ods-border-strong)}.ods-sidebar__user-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ods-radius-pill);flex-shrink:0;overflow:hidden;background:var(--ods-accent);color:#fff;font-size:var(--ods-font-size-sm);font-weight:600}.ods-sidebar__user-avatar img{width:100%;height:100%;object-fit:cover}.ods-sidebar__user-info{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.ods-sidebar__user-name{font-size:var(--ods-font-size-sm);font-weight:600;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-sidebar__user-email{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-topbar{position:sticky;top:0;z-index:800;display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-4);height:var(--ods-layout-topbar-height);padding:0 var(--ods-space-4);background:var(--ods-surface-canvas);border-bottom:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-topbar__left{display:flex;align-items:center;gap:var(--ods-space-4);min-width:0}.ods-topbar__title{margin:0;font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-topbar__breadcrumbs ol{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:0}.ods-topbar__crumb{display:flex;align-items:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-topbar__crumb a{color:var(--ods-text-body);text-decoration:none;transition:color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-topbar__crumb a:hover{color:var(--ods-text-primary)}.ods-topbar__crumb [aria-current=page]{color:var(--ods-text-primary);font-weight:500}.ods-topbar__separator{margin:0 var(--ods-space-2);color:var(--ods-text-tertiary);font-size:var(--ods-font-size-xs)}.ods-topbar__center{display:flex;align-items:center;flex:1;justify-content:center}.ods-topbar__right{display:flex;align-items:center;gap:var(--ods-space-2);margin-left:auto}.ods-topbar__search{position:relative;display:flex;align-items:center}.ods-topbar__search-icon{position:absolute;left:var(--ods-space-2);color:var(--ods-text-tertiary);pointer-events:none}.ods-topbar__search-input{width:280px;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3) 0 28px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-topbar__search-input::placeholder{color:var(--ods-text-disabled)}.ods-topbar__search-input:focus{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-topbar__actions{display:flex;align-items:center;gap:var(--ods-space-1)}.ods-tabs{display:flex;flex-direction:column;width:100%;font-family:var(--ods-font-family-sans);color:var(--ods-text-body)}.ods-tabs--vertical{flex-direction:row}.ods-tabs__list{display:flex;position:relative;gap:0}.ods-tabs--horizontal .ods-tabs__list{flex-direction:row;border-bottom:1px solid var(--ods-border-default)}.ods-tabs--vertical .ods-tabs__list{flex-direction:column;border-right:1px solid var(--ods-border-default);min-width:160px}.ods-tabs__tab{position:relative;display:flex;align-items:center;gap:var(--ods-space-2);padding:0 var(--ods-space-3);height:var(--ods-layout-row-height);font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-tertiary);cursor:pointer;user-select:none;white-space:nowrap;border:none;background:none;transition:color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));outline:none}.ods-tabs__tab:hover:not(.ods-tabs__tab--disabled){color:var(--ods-text-primary);background:var(--ods-surface-muted)}.ods-tabs__tab:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-tabs__tab--selected{color:var(--ods-accent);font-weight:600}.ods-tabs__tab--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-tabs__icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.ods-tabs__indicator{position:absolute;transition:all var(--ods-duration-base, 180ms) var(--ods-ease-out, ease-out)}.ods-tabs--horizontal .ods-tabs__indicator{bottom:-1px;left:0;right:0;height:2px;background:var(--ods-accent)}.ods-tabs--vertical .ods-tabs__indicator{right:-1px;top:0;bottom:0;width:2px;background:var(--ods-accent)}.ods-tabs__panel{padding:var(--ods-space-4) 0;font-size:var(--ods-font-size-base);color:var(--ods-text-primary)}.ods-tabs--vertical .ods-tabs__panel{padding:0 var(--ods-space-4);flex:1}.ods-tabs__panel:focus{outline:none}.ods-breadcrumb{display:inline-flex;align-items:center;font-family:var(--ods-font-family-sans)}.ods-breadcrumb__list{display:inline-flex;align-items:center;list-style:none;margin:0;padding:0;gap:var(--ods-space-1);font-size:var(--ods-font-size-sm)}.ods-breadcrumb__item{display:flex;align-items:center;font-size:var(--ods-font-size-sm);line-height:1}.ods-breadcrumb__separator{display:flex;align-items:center;color:var(--ods-text-tertiary);font-size:var(--ods-font-size-xs);flex-shrink:0;margin:0 var(--ods-space-1)}.ods-breadcrumb__link{display:inline-flex;align-items:center;gap:var(--ods-space-1);color:var(--ods-text-tertiary);text-decoration:none;transition:color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));white-space:nowrap}.ods-breadcrumb__link:hover:not(.ods-breadcrumb__link--current){color:var(--ods-accent)}.ods-breadcrumb__link:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:2px;border-radius:var(--ods-radius-1)}.ods-breadcrumb__link--current{color:var(--ods-text-primary);font-weight:500;cursor:default}.ods-breadcrumb__icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.ods-dropdown__trigger{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:rgba(0,0,0,0);cursor:pointer}.ods-dropdown__trigger:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:2px;border-radius:var(--ods-radius-1)}.ods-dropdown{position:fixed;list-style:none;margin:0;padding:var(--ods-space-1);min-width:180px;border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);box-shadow:var(--ods-shadow-pop);z-index:500;outline:none;font-family:var(--ods-font-family-sans)}.ods-dropdown:focus{outline:none}.ods-dropdown__item{display:flex;align-items:center;gap:var(--ods-space-2);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));outline:none;user-select:none}.ods-dropdown__item:hover,.ods-dropdown__item:focus,.ods-dropdown__item[data-focused=true]{background:var(--ods-surface-muted)}.ods-dropdown__item--danger{color:var(--ods-status-failed-fg)}.ods-dropdown__item--danger:hover,.ods-dropdown__item--danger:focus{background:var(--ods-status-failed-bg)}.ods-dropdown__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ods-dropdown__icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;color:var(--ods-text-tertiary)}.ods-dropdown__separator{height:1px;margin:var(--ods-space-1) 0;background:var(--ods-border-default);list-style:none}.ods-slideout__backdrop{position:fixed;inset:0;z-index:600;background:rgba(10,10,10,.35)}.ods-slideout__panel{position:fixed;top:0;right:0;bottom:0;z-index:601;display:flex;flex-direction:column;width:320px;max-width:100vw;padding:var(--ods-space-4);background:var(--ods-surface-canvas);border-left:1px solid var(--ods-border-default);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);outline:none;will-change:transform}.ods-slideout__panel--right{right:0}.ods-slideout__panel--left{left:0;right:auto;border-left:none;border-right:1px solid var(--ods-border-default)}.ods-slideout__header{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);flex-shrink:0;padding-bottom:var(--ods-space-3);border-bottom:1px solid var(--ods-border-default);margin-bottom:var(--ods-space-3)}.ods-slideout__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-slideout__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;padding:0;border:1px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-slideout__close:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-slideout__close:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-slideout__body{flex:1;overflow-y:auto;margin-top:var(--ods-space-3)}.ods-slideout__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding-top:var(--ods-space-3);border-top:1px solid var(--ods-border-default);flex-shrink:0}.ods-table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);background:var(--ods-surface-canvas)}.ods-table{width:100%;border-collapse:collapse;font-size:var(--ods-font-size-sm);line-height:1;color:var(--ods-text-primary)}.ods-table__header{background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default)}.ods-table__header th{height:var(--ods-layout-row-height);padding:0 var(--ods-space-3);text-align:left;font-family:var(--ods-font-family-mono);font-weight:600;font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);white-space:nowrap;user-select:none;position:sticky;top:0;z-index:1}.ods-table__header-content{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-table__cell--sortable{cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-table__cell--sortable:hover{background:var(--ods-surface-muted)}.ods-table__sort-icon{display:inline-flex;align-items:center;font-size:10px;opacity:.5;transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-table__sort-icon--active{opacity:1;color:var(--ods-accent)}.ods-table__sort-icon--desc{transform:rotate(180deg)}.ods-table__row{border-bottom:1px solid var(--ods-border-soft);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-table__row:hover{background:var(--ods-surface-subtle)}.ods-table__row:last-child{border-bottom:none}.ods-table__row--selected{background:var(--ods-accent-soft) !important}.ods-table__row--expanded{background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-soft)}.ods-table__cell{height:var(--ods-layout-row-height);padding:0 var(--ods-space-3);color:var(--ods-text-primary);font-size:var(--ods-font-size-sm);vertical-align:middle;white-space:nowrap}.ods-table__cell--numeric,.ods-table__cell--id,.ods-table__cell--duration,.ods-table__cell--cost{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;text-align:right}.ods-table__cell--checkbox{width:36px;padding:0 var(--ods-space-2);text-align:center}.ods-table__cell--checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--ods-accent)}.ods-table__cell--expand{width:36px;padding:0;text-align:center}.ods-table__expand-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;border-radius:var(--ods-radius-1);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-table__expand-btn:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-table__expand-btn--open{transform:rotate(90deg)}.ods-table__expanded-cell{padding:var(--ods-space-4) var(--ods-space-5);background:var(--ods-surface-subtle)}.ods-table__empty{padding:var(--ods-space-7) var(--ods-space-4);text-align:center;color:var(--ods-text-tertiary);font-size:var(--ods-font-size-sm)}.ods-table__loading{padding:0;position:relative;height:2px}.ods-table__loading-bar{position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg, transparent 0%, var(--ods-accent) 50%, transparent 100%);background-size:200% 100%;animation:ods-table-loading 1.5s ease-in-out infinite}@keyframes ods-table-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.ods-datatable{--dt-row-h: var(--ods-layout-row-height);--dt-cell-pad: var(--ods-space-3);--dt-font: var(--ods-font-size-sm);display:flex;flex-direction:column;width:100%;border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary);overflow:hidden}.ods-datatable--compact{--dt-row-h: 24px;--dt-cell-pad: var(--ods-space-2);--dt-font: var(--ods-font-size-xs)}.ods-datatable--comfortable{--dt-row-h: var(--ods-layout-row-height-comfort);--dt-cell-pad: var(--ods-space-4);--dt-font: var(--ods-font-size-base)}.ods-datatable__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);padding:var(--ods-space-2) var(--ods-space-3);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default);min-height:44px}.ods-datatable__title-block{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.ods-datatable__title{display:inline-flex;align-items:center;gap:var(--ods-space-2);margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-datatable__count{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary);padding:2px var(--ods-space-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-datatable__description{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-snug)}.ods-datatable__toolbar-actions{display:inline-flex;align-items:center;gap:var(--ods-space-2);flex-shrink:0}.ods-datatable__toolbar-custom{display:inline-flex;align-items:center;gap:var(--ods-space-2);margin-left:var(--ods-space-1)}.ods-datatable__search{position:relative;display:inline-flex;align-items:center}.ods-datatable__search-icon{position:absolute;left:var(--ods-space-2);display:inline-flex;color:var(--ods-text-tertiary);pointer-events:none}.ods-datatable__search-input{width:220px;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3) 0 26px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);outline:none;transition:border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__search-input::placeholder{color:var(--ods-text-disabled)}.ods-datatable__search-input:focus{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-datatable__search-clear{position:absolute;right:var(--ods-space-1);display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer}.ods-datatable__search-clear:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__filter{position:relative;display:inline-flex}.ods-datatable__filter-trigger{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2) 0 var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);color:var(--ods-text-body);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm);font-weight:500;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__filter-trigger:hover{background:var(--ods-surface-muted)}.ods-datatable__filter-trigger--active{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-datatable__filter-trigger[aria-expanded=true]{background:var(--ods-surface-muted);border-color:var(--ods-text-tertiary)}.ods-datatable__filter-icon{display:inline-flex;color:var(--ods-text-tertiary)}.ods-datatable__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--ods-layout-control-height);height:var(--ods-layout-control-height);padding:0;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__icon-btn:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__icon-btn[aria-expanded=true]{background:var(--ods-surface-muted);border-color:var(--ods-text-tertiary)}.ods-datatable__menu{position:absolute;top:calc(100% + var(--ods-space-1));left:0;z-index:50;list-style:none;margin:0;padding:var(--ods-space-1);min-width:180px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);animation:ods-datatable-menu-in 120ms var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__menu--align-end{left:auto;right:0}@keyframes ods-datatable-menu-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ods-datatable__menu-item{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);text-align:left;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__menu-item:hover{background:var(--ods-surface-muted)}.ods-datatable__menu-item--active{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:600}.ods-datatable__menu-item--danger{color:var(--ods-status-failed-fg)}.ods-datatable__menu-item--danger:hover{background:var(--ods-status-failed-bg)}.ods-datatable__menu-item--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.ods-datatable__menu-item-icon{display:inline-flex;width:14px;height:14px;color:var(--ods-text-tertiary);flex-shrink:0}.ods-datatable__menu-checkbox{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__menu-checkbox:hover{background:var(--ods-surface-muted)}.ods-datatable__menu-checkbox input{width:14px;height:14px;accent-color:var(--ods-accent)}.ods-datatable__bulk-summary{display:inline-flex;align-items:center;gap:var(--ods-space-2);font-size:var(--ods-font-size-sm);color:var(--ods-text-primary)}.ods-datatable__bulk-count{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 var(--ods-space-1);background:var(--ods-accent);color:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:10px;font-weight:600}.ods-datatable__bulk-clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer}.ods-datatable__bulk-clear:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__bulk-actions{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-datatable__bulk-action{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__bulk-action:hover{background:var(--ods-surface-muted)}.ods-datatable__bulk-action--danger{color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd)}.ods-datatable__bulk-action--danger:hover{background:var(--ods-status-failed-bg);border-color:var(--ods-status-failed)}.ods-datatable__bulk-action-icon{display:inline-flex;width:14px;height:14px}.ods-datatable__scroll{flex:1 1 auto;overflow-x:auto;overflow-y:auto;max-height:100%}.ods-datatable__table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--dt-font);color:var(--ods-text-primary);line-height:1}.ods-datatable__thead{background:var(--ods-surface-subtle)}.ods-datatable__th{position:sticky;top:0;z-index:1;height:var(--ods-layout-row-height);padding:0 var(--dt-cell-pad);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default);text-align:left;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);white-space:nowrap;user-select:none}.ods-datatable__th--sortable{cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__th--sortable:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__th--numeric,.ods-datatable__th--align-right{text-align:right}.ods-datatable__th--align-center{text-align:center}.ods-datatable__th--checkbox{width:40px;padding:0 var(--ods-space-2);text-align:center}.ods-datatable__th--expand{width:32px;padding:0;text-align:center}.ods-datatable__th--actions{width:40px;padding:0;text-align:center}.ods-datatable__th-content{display:inline-flex;align-items:center;gap:var(--ods-space-1);line-height:1}.ods-datatable__th-label{line-height:1}.ods-datatable__sort-icon{display:inline-flex;align-items:center;color:var(--ods-text-tertiary);transition:color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__th--sortable[aria-sort] .ods-datatable__sort-icon{color:var(--ods-accent)}.ods-datatable__tbody .ods-datatable__row{transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__tbody .ods-datatable__row:hover{background:var(--ods-surface-subtle)}.ods-datatable__row--selected{background:var(--ods-accent-soft) !important}.ods-datatable__row--selected:hover{background:var(--ods-accent-soft) !important}.ods-datatable__row--clickable{cursor:pointer}.ods-datatable__td{height:var(--dt-row-h);padding:0 var(--dt-cell-pad);border-bottom:1px solid var(--ods-border-soft);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.ods-datatable__td--numeric,.ods-datatable__td--align-right{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;text-align:right}.ods-datatable__td--align-center{text-align:center}.ods-datatable__td--checkbox{width:40px;padding:0 var(--ods-space-2);text-align:center}.ods-datatable__td--checkbox input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--ods-accent)}.ods-datatable__td--expand{width:32px;padding:0;text-align:center}.ods-datatable__td--actions{width:40px;padding:0;text-align:center}.ods-datatable__expand-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__expand-btn:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__expand-btn--open{transform:rotate(90deg);color:var(--ods-accent)}.ods-datatable__row-expanded{background:var(--ods-surface-subtle)}.ods-datatable__td-expanded{padding:var(--ods-space-3) var(--ods-space-5);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-soft)}.ods-datatable__row-actions{position:relative;display:inline-flex}.ods-datatable__row-actions-trigger{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer}.ods-datatable__row-actions-trigger:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__row-actions-trigger[aria-expanded=true]{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__empty{padding:var(--ods-space-7) var(--ods-space-5);text-align:center}.ods-datatable__empty-title{font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary);margin-bottom:var(--ods-space-1)}.ods-datatable__empty-desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);margin-bottom:var(--ods-space-3)}.ods-datatable__empty-action{display:inline-flex;justify-content:center}.ods-datatable__loading{position:relative;padding:0;height:2px}.ods-datatable__loading-bar{position:absolute;inset:0 0 0 0;background:linear-gradient(90deg, transparent 0%, var(--ods-accent) 50%, transparent 100%);background-size:200% 100%;animation:ods-datatable-loading 1.4s ease-in-out infinite}@keyframes ods-datatable-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.ods-datatable__error{padding:var(--ods-space-5);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-status-failed-fg);background:var(--ods-status-failed-bg)}.ods-datatable__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);padding:var(--ods-space-2) var(--ods-space-3);border-top:1px solid var(--ods-border-default);background:var(--ods-surface-subtle);font-size:var(--ods-font-size-sm);color:var(--ods-text-body)}.ods-datatable__footer-summary{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-datatable__footer-range,.ods-datatable__footer-total{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-weight:500;color:var(--ods-text-primary)}.ods-datatable__footer-pagesize{display:inline-flex;align-items:center;gap:var(--ods-space-2);color:var(--ods-text-tertiary)}.ods-datatable__pagesize-select{height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);cursor:pointer}.ods-datatable__pagesize-select:focus{outline:2px solid var(--ods-border-focus);outline-offset:1px;border-color:var(--ods-border-focus)}.ods-datatable__footer-nav{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-datatable__page-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--ods-layout-control-height-sm);height:var(--ods-layout-control-height-sm);padding:0;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datatable__page-btn:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-datatable__page-btn:disabled{opacity:.4;cursor:not-allowed}.ods-datatable__page-pos{display:inline-flex;align-items:center;gap:2px;padding:0 var(--ods-space-2);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;color:var(--ods-text-body);font-weight:500}.ods-datatable__page-sep{color:var(--ods-text-tertiary)}.ods-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ods-space-9) var(--ods-space-4);text-align:center;font-family:var(--ods-font-family-sans)}.ods-empty-state__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:var(--ods-space-3);color:var(--ods-text-disabled)}.ods-empty-state__icon svg{width:32px;height:32px}.ods-empty-state__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-empty-state__description{margin:var(--ods-space-1) 0 0;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-base);max-width:360px}.ods-empty-state__action{margin-top:var(--ods-space-4)}@keyframes ods-skeleton-pulse{0%,100%{opacity:1}50%{opacity:.55}}.ods-skeleton{display:block;background:var(--ods-surface-muted);animation:ods-skeleton-pulse 1200ms ease-in-out infinite;border-radius:var(--ods-radius-1);overflow:hidden;position:relative}.ods-skeleton--text{height:12px;width:100%;margin-bottom:var(--ods-space-2)}.ods-skeleton--text:last-child{width:75%}.ods-skeleton--circular{width:28px;height:28px;border-radius:var(--ods-radius-pill)}.ods-skeleton--rectangular{width:100%;height:96px;border-radius:var(--ods-radius-1)}.ods-skeleton__group{display:flex;flex-direction:column;gap:var(--ods-space-2);width:100%}.ods-toast-stack{position:fixed;z-index:9999;padding:var(--ods-space-4);max-width:100vw;pointer-events:none}.ods-toast-stack>*{pointer-events:auto}.ods-toast-stack--top-left{top:0;left:0}.ods-toast-stack--top-center{top:0;left:50%;transform:translateX(-50%)}.ods-toast-stack--top-right{top:0;right:0}.ods-toast-stack--bottom-left{bottom:0;left:0}.ods-toast-stack--bottom-center{bottom:0;left:50%;transform:translateX(-50%)}.ods-toast-stack--bottom-right{bottom:0;right:0}.ods-toast-stack--expanded{pointer-events:auto}.ods-toast-stack__scroll{position:relative;display:flex;flex-direction:column-reverse;gap:0;width:380px;max-width:calc(100vw - 32px)}.ods-toast-stack__scroll>.ods-toast{position:absolute;left:0;right:0;width:100%}.ods-toast-stack--bottom-left .ods-toast-stack__scroll>.ods-toast,.ods-toast-stack--bottom-center .ods-toast-stack__scroll>.ods-toast,.ods-toast-stack--bottom-right .ods-toast-stack__scroll>.ods-toast{bottom:0}.ods-toast-stack--top-left .ods-toast-stack__scroll>.ods-toast,.ods-toast-stack--top-center .ods-toast-stack__scroll>.ods-toast,.ods-toast-stack--top-right .ods-toast-stack__scroll>.ods-toast{top:0}.ods-toast-stack__scroll{min-height:60px}.ods-toast-stack__scroll--expanded{position:relative;display:flex;gap:8px;max-height:70vh;overflow-y:auto;padding:var(--ods-space-1);min-height:0}.ods-toast-stack__scroll--expanded>.ods-toast{position:relative;left:auto;right:auto;top:auto;bottom:auto}.ods-toast{position:relative;display:flex;align-items:center;gap:var(--ods-space-3);padding:14px var(--ods-space-4);min-width:380px;max-width:480px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary);will-change:transform,opacity;cursor:default;user-select:none}.ods-toast--stacked{cursor:pointer}.ods-toast--success{border-left:2px solid var(--ods-status-success)}.ods-toast--info,.ods-toast--running{border-left:2px solid var(--ods-accent)}.ods-toast--warning{border-left:2px solid var(--ods-status-pending)}.ods-toast--error,.ods-toast--failed{border-left:2px solid var(--ods-status-failed)}.ods-toast__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;margin-top:1px;align-self:flex-start}.ods-toast__body{flex:1 1 auto;min-width:0}.ods-toast__title{font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);line-height:1.35;margin-bottom:3px}.ods-toast__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:1.5}.ods-toast__action{flex-shrink:0;align-self:center;display:flex;align-items:center}.ods-toast__action>button{height:auto;padding:4px var(--ods-space-2);border:1px solid var(--ods-accent-border);background:var(--ods-accent-soft);color:var(--ods-accent);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm);font-weight:500;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-toast__action>button:hover{background:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-toast__close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-disabled);cursor:pointer;flex-shrink:0;align-self:flex-start;margin-top:-2px;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-toast__close:hover{background:var(--ods-surface-subtle);color:var(--ods-text-primary)}.ods-toast__close:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-toast-stack__collapse{align-self:flex-end;margin-top:var(--ods-space-1);padding:0 var(--ods-space-2);height:20px;border:1px solid var(--ods-border-strong);background:var(--ods-surface-canvas);color:var(--ods-text-body);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:500;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-toast-stack__collapse:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-condition-builder{display:flex;flex-direction:column;gap:0;font-family:var(--ods-font-family-sans)}.ods-condition-builder__join{display:flex;align-items:center;justify-content:flex-start;padding:var(--ods-space-1) 0;padding-left:var(--ods-space-4)}.ods-condition-builder__join-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-accent);background:var(--ods-accent-soft);border:1px solid var(--ods-accent-border);border-radius:var(--ods-radius-1);cursor:default}.ods-condition-builder__join-btn--clickable{cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-condition-builder__join-btn--clickable:hover{background:var(--ods-accent-border)}.ods-condition-row{display:flex;align-items:center;gap:var(--ods-space-2);margin-bottom:var(--ods-space-2)}.ods-condition-row__value{flex:1 1 0;min-width:0;height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);margin:0;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-family:inherit;font-size:var(--ods-font-size-sm);line-height:1;outline:none;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-condition-row__value:hover{border-color:var(--ods-text-tertiary)}.ods-condition-row__value:focus,.ods-condition-row__value:focus-visible{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-condition-row__value::placeholder{color:var(--ods-text-disabled)}.ods-condition-row__remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));flex-shrink:0}.ods-condition-row__remove:hover{background:var(--ods-status-failed-bg);color:var(--ods-status-failed)}.ods-condition-builder__actions{padding-top:var(--ods-space-2)}.ods-condition-builder__add{display:inline-flex;align-items:center;gap:var(--ods-space-1);padding:var(--ods-space-1) var(--ods-space-2);border:1px dashed var(--ods-border-strong);border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-body);font-family:inherit;font-size:var(--ods-font-size-sm);cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-condition-builder__add:hover{border-color:var(--ods-accent);color:var(--ods-accent);background:var(--ods-accent-soft)}.ods-condition-group{margin-left:var(--ods-space-2);padding-left:var(--ods-space-3);border-left:2px solid var(--ods-accent-border)}.ods-cb-dd{position:relative;display:inline-flex;flex-shrink:0}.ods-cb-dd__trigger{display:inline-flex;align-items:center;gap:var(--ods-space-1);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-size:var(--ods-font-size-sm);font-weight:500;font-family:inherit;cursor:pointer;text-align:left;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-cb-dd__trigger:hover{border-color:var(--ods-text-tertiary)}.ods-cb-dd__trigger:focus-visible,.ods-cb-dd__trigger--open{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-cb-dd__icon,.ods-cb-dd__symbol{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ods-cb-dd__icon{width:12px;height:12px;color:var(--ods-accent)}.ods-cb-dd__symbol{font-weight:700;color:var(--ods-accent);min-width:12px;font-family:var(--ods-font-family-mono)}.ods-cb-dd__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-cb-dd__label--placeholder{color:var(--ods-text-disabled);font-weight:400}.ods-cb-dd__chev{color:var(--ods-text-tertiary);flex-shrink:0}.ods-cb-dd__panel{position:absolute;top:calc(100% + var(--ods-space-1));left:0;z-index:50;min-width:100%;max-width:280px;display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);overflow:hidden}.ods-cb-dd__search{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);border-bottom:1px solid var(--ods-border-default);color:var(--ods-text-tertiary)}.ods-cb-dd__search input{flex:1 1 auto;min-width:0;border:0;outline:none;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary)}.ods-cb-dd__search input::placeholder{color:var(--ods-text-disabled)}.ods-cb-dd__list{list-style:none;margin:0;padding:var(--ods-space-1);max-height:240px;overflow-y:auto}.ods-cb-dd__opt{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;padding:var(--ods-space-1) var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-sm);font-family:inherit;color:var(--ods-text-primary);cursor:pointer;text-align:left;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-cb-dd__opt--active{background:var(--ods-surface-muted)}.ods-cb-dd__opt--selected{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:600}.ods-cb-dd__opt-icon{display:inline-flex;width:12px;height:12px;color:var(--ods-accent);flex-shrink:0}.ods-cb-dd__opt-symbol{font-family:var(--ods-font-family-mono);font-weight:700;color:var(--ods-accent);min-width:12px}.ods-cb-dd__opt-text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.ods-cb-dd__opt-label{line-height:1.3}.ods-cb-dd__opt-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);line-height:1.3}.ods-cb-dd__opt-check{color:var(--ods-accent);flex-shrink:0}.ods-cb-dd__empty{list-style:none;padding:var(--ods-space-3);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);text-align:center}.ods-data-mapper{--dm-row-h: var(--ods-layout-row-height);--dm-side-w: 280px;display:flex;flex-direction:column;font-family:var(--ods-font-family-sans);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);color:var(--ods-text-primary);min-height:480px;overflow:hidden}.ods-data-mapper__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);padding:var(--ods-space-3) var(--ods-space-4);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default);flex-shrink:0}.ods-data-mapper__toolbar-left,.ods-data-mapper__toolbar-right{display:inline-flex;align-items:center;gap:var(--ods-space-3)}.ods-data-mapper__icon-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--ods-radius-1);background:var(--ods-accent);color:var(--ods-surface-canvas);flex-shrink:0}.ods-data-mapper__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-data-mapper__stats{display:inline-flex;align-items:center;gap:var(--ods-space-2);padding-left:var(--ods-space-3);border-left:1px solid var(--ods-border-default)}.ods-data-mapper__stat{display:inline-flex;align-items:baseline;gap:4px;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-data-mapper__stat--warn{color:var(--ods-status-pending-fg)}.ods-data-mapper__stat-value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-base);font-weight:600;color:var(--ods-text-primary)}.ods-data-mapper__stat--warn .ods-data-mapper__stat-value{color:var(--ods-status-pending-fg)}.ods-data-mapper__stat-label{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-data-mapper__stat-sep{color:var(--ods-text-disabled);user-select:none}.ods-data-mapper__action{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-body);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm);font-weight:500;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__action svg{color:var(--ods-text-tertiary)}.ods-data-mapper__action:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-data-mapper__action:hover:not(:disabled) svg{color:var(--ods-text-primary)}.ods-data-mapper__action:disabled{opacity:.4;cursor:not-allowed}.ods-data-mapper__action--ghost{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.ods-data-mapper__action--ghost:hover:not(:disabled){background:var(--ods-surface-muted);border-color:var(--ods-border-default)}.ods-data-mapper__action--primary{background:var(--ods-accent);color:var(--ods-surface-canvas);border-color:var(--ods-accent)}.ods-data-mapper__action--primary svg{color:currentColor}.ods-data-mapper__action--primary:hover:not(:disabled){background:var(--ods-accent-hover);border-color:var(--ods-accent-hover);color:var(--ods-surface-canvas)}.ods-data-mapper__subtoolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);padding:var(--ods-space-2) var(--ods-space-4);border-bottom:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);flex-shrink:0}.ods-data-mapper__search{position:relative;display:inline-flex;align-items:center;width:280px}.ods-data-mapper__search>svg{position:absolute;left:var(--ods-space-2);color:var(--ods-text-tertiary);pointer-events:none}.ods-data-mapper__search input{flex:1 1 auto;width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3) 0 28px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);outline:none;transition:border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__search input::placeholder{color:var(--ods-text-disabled)}.ods-data-mapper__search input:focus{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-data-mapper__display{display:inline-flex;align-items:center;padding:1px;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-data-mapper__display-btn{height:22px;padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__display-btn:hover{color:var(--ods-text-primary)}.ods-data-mapper__display-btn--active{background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-weight:600;box-shadow:0 0 0 1px var(--ods-border-default)}.ods-data-mapper__body{display:flex;flex:1 1 auto;min-height:0}.ods-data-mapper__grid{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;overflow:auto;background:var(--ods-surface-canvas)}.ods-data-mapper__grid-head{display:grid;grid-template-columns:minmax(280px, 1fr) minmax(320px, 1.4fr);position:sticky;top:0;z-index:3;background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default)}.ods-data-mapper__grid-head-cell{height:var(--dm-row-h);display:inline-flex;align-items:center;padding:0 var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-data-mapper__grid-head-cell+.ods-data-mapper__grid-head-cell{border-left:1px solid var(--ods-border-default)}.ods-data-mapper__row{display:grid;grid-template-columns:minmax(280px, 1fr) minmax(320px, 1.4fr);border-bottom:1px solid var(--ods-border-soft);background:var(--ods-surface-canvas);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),box-shadow var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__row:hover{background:var(--ods-surface-subtle)}.ods-data-mapper__row--selected{background:var(--ods-accent-soft)}.ods-data-mapper__row--selected:hover{background:var(--ods-accent-soft)}.ods-data-mapper__row--mapped:not(.ods-data-mapper__row--selected){background:var(--ods-surface-canvas)}.ods-data-mapper__row--mapped:not(.ods-data-mapper__row--selected) .ods-data-mapper__cell--target{border-left:2px solid var(--ods-accent)}.ods-data-mapper__row--drop-target{background:var(--ods-accent-soft) !important;box-shadow:inset 0 0 0 2px var(--ods-accent);transition-duration:0ms}.ods-data-mapper__row--drop-target .ods-data-mapper__expr-empty{color:var(--ods-accent);font-style:normal;font-weight:600}.ods-data-mapper__guides{display:inline-flex;align-items:stretch;align-self:stretch;flex-shrink:0}.ods-data-mapper__guide{display:inline-block;width:16px;align-self:stretch;border-left:1px solid var(--ods-border-soft);margin-right:-1px}.ods-data-mapper__guide--last{position:relative}.ods-data-mapper__guide--last::before{content:"";position:absolute;top:50%;left:0;width:8px;height:1px;background:var(--ods-border-soft)}.ods-data-mapper__sidebar .ods-data-mapper__guide{width:12px}.ods-data-mapper__cell{display:flex;align-items:center;gap:var(--ods-space-2);min-height:var(--dm-row-h);padding:0 var(--ods-space-3);font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);cursor:default}.ods-data-mapper__cell+.ods-data-mapper__cell{border-left:1px solid var(--ods-border-soft)}.ods-data-mapper__cell--target{cursor:pointer}.ods-data-mapper__cell--expr{cursor:pointer;padding:var(--ods-space-1) var(--ods-space-3)}.ods-data-mapper__cell--expr-editing{padding:var(--ods-space-2) var(--ods-space-3);align-items:stretch}.ods-data-mapper__caret{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;flex-shrink:0;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__caret:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-data-mapper__caret-spacer{display:inline-block;width:14px;flex-shrink:0}.ods-data-mapper__field-meta{display:inline-flex;align-items:baseline;gap:var(--ods-space-2);flex:1 1 auto;min-width:0;overflow:hidden}.ods-data-mapper__field-label{display:inline-flex;align-items:center;font-weight:500;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ods-data-mapper__field-req{color:var(--ods-status-failed);margin-left:2px;font-weight:600}.ods-data-mapper__field-api{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);letter-spacing:0;white-space:nowrap}.ods-data-mapper__field-api::before{content:"·";margin-right:4px;color:var(--ods-text-disabled)}.ods-data-mapper__type{flex-shrink:0;display:inline-flex;align-items:center;height:18px;padding:0 var(--ods-space-1);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:500;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;border:1px solid var(--ods-border-default);background:var(--ods-surface-muted);color:var(--ods-text-body)}.ods-data-mapper__type--string{background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd)}.ods-data-mapper__type--integer{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-data-mapper__type--datetime{background:var(--ods-node-transform-bg);color:var(--ods-node-transform-fg);border-color:var(--ods-node-transform-bd)}.ods-data-mapper__type--boolean{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-data-mapper__type--object{background:var(--ods-node-io-bg);color:var(--ods-node-io-fg);border-color:var(--ods-node-io-bd)}.ods-data-mapper__foreach{display:inline-flex;align-items:center;gap:var(--ods-space-1);margin-left:auto;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);cursor:pointer;flex-shrink:0}.ods-data-mapper__foreach input{width:12px;height:12px;accent-color:var(--ods-accent);cursor:pointer}.ods-data-mapper__expr-render{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:100%;min-width:0;line-height:1.4;padding:4px 0}.ods-data-mapper__expr-text{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-body);white-space:pre-wrap;word-break:break-word}.ods-data-mapper__expr-chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 var(--ods-space-1) 0 6px;border-radius:var(--ods-radius-1);border:1px solid var(--ods-accent-border);background:var(--ods-accent-soft);color:var(--ods-accent);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:600;line-height:1;max-width:200px;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__expr-chip--variable{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-data-mapper__expr-chip--function{background:var(--ods-node-transform-bg);color:var(--ods-node-transform-fg);border-color:var(--ods-node-transform-bd);font-family:var(--ods-font-family-mono);font-weight:500}.ods-data-mapper__expr-chip--integer{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-data-mapper__expr-chip--datetime{background:var(--ods-node-transform-bg);color:var(--ods-node-transform-fg);border-color:var(--ods-node-transform-bd)}.ods-data-mapper__expr-chip--boolean{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-data-mapper__expr-chip--object{background:var(--ods-node-io-bg);color:var(--ods-node-io-fg);border-color:var(--ods-node-io-bd)}.ods-data-mapper__expr-chip-glyph{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--ods-font-family-mono);font-size:9px;font-weight:700;opacity:.7;letter-spacing:0}.ods-data-mapper__expr-chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ods-data-mapper__expr-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:2px;margin-right:-3px;padding:0;border:0;background:rgba(0,0,0,0);color:currentColor;border-radius:var(--ods-radius-1);opacity:.55;cursor:pointer;transition:opacity var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__expr-chip-remove:hover{opacity:1;background:rgba(0,0,0,.08)}.ods-data-mapper__expr-empty{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-disabled);font-style:italic}.ods-data-mapper__expr-group{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-data-mapper__editor{display:flex;align-items:stretch;gap:var(--ods-space-1);width:100%;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-focus);border-radius:var(--ods-radius-1);box-shadow:0 0 0 2px var(--ods-accent-border)}.ods-data-mapper__editor-input{flex:1 1 auto;min-width:0;min-height:26px;padding:4px var(--ods-space-2);border:0;background:rgba(0,0,0,0);outline:none;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary);line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;cursor:text}.ods-data-mapper__editor-input--empty::before{content:attr(data-placeholder);color:var(--ods-text-disabled);font-style:italic;pointer-events:none;user-select:none;font-family:var(--ods-font-family-sans)}.ods-data-mapper__editor-input .ods-data-mapper__expr-chip{margin:0 2px;vertical-align:baseline;user-select:none;cursor:default;line-height:18px}.ods-data-mapper__editor-actions{display:inline-flex;align-items:center;gap:1px;padding:2px;border-left:1px solid var(--ods-border-soft)}.ods-data-mapper__editor-fx,.ods-data-mapper__editor-clear{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__editor-fx:hover,.ods-data-mapper__editor-clear:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-data-mapper__editor-clear:hover{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg)}.ods-data-mapper__empty{padding:var(--ods-space-7) var(--ods-space-4);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-data-mapper__sidebar{display:flex;flex-direction:column;width:var(--dm-side-w);flex-shrink:0;border-left:1px solid var(--ods-border-default);background:var(--ods-surface-subtle);position:relative}.ods-data-mapper__sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-1);padding:var(--ods-space-1) var(--ods-space-1) var(--ods-space-1) var(--ods-space-3);border-bottom:1px solid var(--ods-border-default);flex-shrink:0;background:var(--ods-surface-subtle)}.ods-data-mapper__sidebar-tabs{display:inline-flex;align-items:center;gap:1px;padding:1px;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-data-mapper__sidebar-tab{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__sidebar-tab:hover{color:var(--ods-text-primary)}.ods-data-mapper__sidebar-tab--active{background:var(--ods-surface-canvas);color:var(--ods-accent);font-weight:600;box-shadow:0 0 0 1px var(--ods-border-default)}.ods-data-mapper__sidebar-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer}.ods-data-mapper__sidebar-close:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-data-mapper__sidebar-search{position:relative;display:flex;align-items:center;padding:var(--ods-space-1) var(--ods-space-2);border-bottom:1px solid var(--ods-border-default);background:var(--ods-surface-subtle);color:var(--ods-text-tertiary);flex-shrink:0}.ods-data-mapper__sidebar-search>svg{position:absolute;left:calc(var(--ods-space-2) + var(--ods-space-1));pointer-events:none}.ods-data-mapper__sidebar-search input{flex:1 1 auto;width:100%;height:24px;padding:0 var(--ods-space-1) 0 24px;border:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);outline:none}.ods-data-mapper__sidebar-search input::placeholder{color:var(--ods-text-disabled)}.ods-data-mapper__sidebar-search input:focus{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-data-mapper__sidebar-list{flex:1 1 auto;overflow-y:auto;padding:var(--ods-space-1) 0}.ods-data-mapper__sidebar-empty{padding:var(--ods-space-5) var(--ods-space-3);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-data-mapper__sidebar-item{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:28px;padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);text-align:left;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__sidebar-item:hover:not(:disabled){background:var(--ods-surface-muted)}.ods-data-mapper__sidebar-item:disabled{color:var(--ods-text-disabled);cursor:not-allowed}.ods-data-mapper__sidebar-item--draggable{cursor:grab}.ods-data-mapper__sidebar-item--draggable:active{cursor:grabbing}.ods-data-mapper__sidebar-item--draggable:hover{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-data-mapper__sidebar-item--draggable:hover .ods-data-mapper__sidebar-grip{color:var(--ods-accent)}.ods-data-mapper__sidebar-grip{display:inline-flex;align-items:center;justify-content:center;width:12px;height:14px;color:var(--ods-text-disabled);flex-shrink:0;transition:color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__sidebar-caret{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;color:var(--ods-text-tertiary);flex-shrink:0}.ods-data-mapper__sidebar-caret-spacer{display:inline-block;width:12px;flex-shrink:0}.ods-data-mapper__sidebar-item-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-data-mapper__sidebar-group+.ods-data-mapper__sidebar-group{margin-top:var(--ods-space-2)}.ods-data-mapper__sidebar-group-label{padding:var(--ods-space-1) var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-data-mapper__sidebar-fn{display:flex;align-items:flex-start;gap:var(--ods-space-2);width:100%;min-height:32px;padding:var(--ods-space-1) var(--ods-space-3);border:0;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);text-align:left;cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-data-mapper__sidebar-fn:hover:not(:disabled){background:var(--ods-surface-muted)}.ods-data-mapper__sidebar-fn:disabled{color:var(--ods-text-disabled);cursor:not-allowed}.ods-data-mapper__sidebar-fn>svg{color:var(--ods-accent);flex-shrink:0;margin-top:4px}.ods-data-mapper__sidebar-fn-text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.ods-data-mapper__sidebar-fn-name{font-family:var(--ods-font-family-mono);font-weight:500;color:var(--ods-text-primary)}.ods-data-mapper__sidebar-fn-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-snug)}.ods-data-mapper__sidebar-hint{padding:var(--ods-space-2) var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary);background:var(--ods-surface-muted);border-top:1px solid var(--ods-border-default);flex-shrink:0}.ods-data-mapper__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);padding:var(--ods-space-3) var(--ods-space-4);border-top:1px solid var(--ods-border-default);background:var(--ods-surface-subtle);flex-shrink:0}.ods-data-mapper__footer-status{display:inline-flex;align-items:center;gap:var(--ods-space-2);font-size:var(--ods-font-size-sm);min-width:0}.ods-data-mapper__footer-ok{display:inline-flex;align-items:center;gap:var(--ods-space-1);color:var(--ods-status-success-fg);font-weight:500}.ods-data-mapper__footer-ok>svg{color:var(--ods-status-success);flex-shrink:0}.ods-data-mapper__footer-warn{display:inline-flex;align-items:center;gap:var(--ods-space-1);color:var(--ods-status-pending-fg);font-weight:500}.ods-data-mapper__footer-warn-dot{display:inline-block;width:6px;height:6px;border-radius:var(--ods-radius-pill);background:var(--ods-status-pending);flex-shrink:0}.ods-data-mapper__footer-muted{color:var(--ods-text-tertiary);font-style:italic}.ods-data-mapper__footer-actions{display:inline-flex;align-items:center;gap:var(--ods-space-2);flex-shrink:0}.ods-data-mapper__footer-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;margin-left:var(--ods-space-1);background:hsla(0,0%,100%,.18);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:10px;font-weight:700;color:inherit}.ods-flow-canvas{position:relative;width:100%;height:100%;background:var(--ods-surface-dag-canvas);cursor:grab;touch-action:none;transition:outline var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));transform:translateZ(0);will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;image-rendering:crisp-edges;-webkit-transform:translateZ(0)}.ods-flow-canvas--panning{cursor:grabbing}.ods-flow-canvas--space-panning{cursor:grab}.ods-flow-canvas--space-panning .ods-flow-node{cursor:grab}.ods-flow-canvas [data-canvas-overlay]{cursor:default}[data-dragging=true][data-over-canvas=true] .ods-flow-canvas{outline:2px solid var(--ods-status-success);outline-offset:-2px}[data-dragging=true][data-over-canvas=false] .ods-flow-canvas{outline:2px solid var(--ods-status-failed);outline-offset:-2px}.ods-flow-canvas__grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(to right, var(--ods-border-soft) 1px, transparent 1px),linear-gradient(to bottom, var(--ods-border-soft) 1px, transparent 1px);background-size:20px 20px;background-position:0 0;pointer-events:none;will-change:background-position,background-size;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}.ods-flow-canvas__viewport{position:absolute;inset:0;overflow:hidden}.ods-flow-canvas__content{position:absolute;top:0;left:0;width:100%;height:100%;will-change:transform;cursor:inherit;transform-origin:0 0;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;image-rendering:crisp-edges;transform:translateZ(0)}.ods-flow-canvas__toolbar{position:absolute;top:var(--ods-space-3);left:var(--ods-space-3);display:flex;flex-direction:column;align-items:center;gap:0;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);z-index:10;overflow:hidden}.ods-flow-canvas__toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));position:relative}.ods-flow-canvas__toolbar-btn:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-flow-canvas__toolbar-btn:active{background:var(--ods-surface-sunken)}.ods-flow-canvas__toolbar-btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-2px}.ods-flow-canvas__toolbar-btn svg{flex-shrink:0}.ods-flow-canvas__toolbar-divider{width:20px;height:1px;background:var(--ods-border-default);margin:var(--ods-space-1) 0}.ods-flow-canvas__toolbar-btn-wrapper{position:relative}.ods-flow-canvas__toolbar-btn-wrapper::after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:var(--ods-space-1) var(--ods-space-2);background:var(--ods-text-primary);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;white-space:nowrap;border-radius:var(--ods-radius-1);opacity:0;pointer-events:none;transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));z-index:1000}.ods-flow-canvas__toolbar-btn-wrapper:hover::after{opacity:1}.ods-flow-canvas__toolbar-btn-wrapper--pulse .ods-flow-canvas__toolbar-btn{animation:lockPulse .6s ease-out}@keyframes lockPulse{0%{background:rgba(0,0,0,0);box-shadow:0 0 0 0 var(--ods-status-failed-bd)}50%{background:var(--ods-status-failed-bg);box-shadow:0 0 0 6px rgba(0,0,0,0)}100%{background:rgba(0,0,0,0);box-shadow:0 0 0 0 rgba(0,0,0,0)}}.ods-flow-canvas__toolbar-zoom{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--ods-text-tertiary);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums;font-size:var(--ods-font-size-xs);font-weight:500}.ods-flow-canvas__empty{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-3);text-align:center;color:var(--ods-text-tertiary);pointer-events:none;font-family:var(--ods-font-family-sans)}.ods-flow-canvas__empty svg{color:var(--ods-text-disabled)}.ods-flow-canvas__empty h3{font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);margin:0}.ods-flow-canvas__empty p{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);margin:0}.ods-flow-canvas__drag-preview{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-3);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);cursor:grabbing;pointer-events:none;font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary)}.ods-flow-canvas__drag-preview-icon{display:flex;align-items:center;justify-content:center;color:var(--ods-text-primary)}.ods-flow-node{position:absolute;width:220px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-2);cursor:grab;user-select:none;box-shadow:none;font-family:var(--ods-font-family-sans);color:var(--ods-text-primary);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),box-shadow var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision;image-rendering:crisp-edges;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform;perspective:1000px;-webkit-perspective:1000px}.ods-flow-node:hover{border-color:var(--ods-border-strong)}.ods-flow-node--dragging{opacity:.85;cursor:grabbing;box-shadow:var(--ods-shadow-pop)}.ods-flow-node--config-open{border-color:var(--ods-border-focus);background:var(--ods-accent-soft)}.ods-flow-node__status{position:absolute;top:var(--ods-spacing-03);right:var(--ods-spacing-03);display:flex;align-items:center;justify-content:center;padding:2px 4px;border-radius:2px;color:var(--ods-color-support-warning)}.ods-flow-node__status svg{flex-shrink:0}.ods-flow-node__status--valid{color:var(--ods-color-support-success)}.ods-flow-node__status--warning{color:var(--ods-color-support-warning)}.ods-flow-node__status--error{color:var(--ods-color-support-error)}.ods-flow-node__status--unconfigured{color:var(--ods-color-text-secondary)}.ods-flow-node__header{position:absolute;top:-18px;left:0;display:flex;align-items:center;justify-content:space-between;width:155px;height:18px;padding:0 var(--ods-spacing-03);background:var(--ods-color-support-success);cursor:grab;color:var(--ods-color-text-on-color);font:var(--ods-font-label_01);font-weight:600}.ods-flow-node__header:active{cursor:grabbing}.ods-flow-node__header-left{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.ods-flow-node__header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.ods-flow-node__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--ods-color-text-on-color)}.ods-flow-node__icon svg{width:12px;height:12px;shape-rendering:crispEdges;vector-effect:non-scaling-stroke;image-rendering:crisp-edges;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ods-flow-node__title{flex:1;min-width:0;display:flex;align-items:center;gap:4px}.ods-flow-node__label{font:var(--ods-font-label_01);font-weight:600;color:var(--ods-color-text-on-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;line-height:1}.ods-flow-node__action-btn{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--ods-color-text-on-color);cursor:pointer;transition:all .15s ease;opacity:.8}.ods-flow-node__action-btn:hover{opacity:1;transform:scale(1.1)}.ods-flow-node__action-btn:active{transform:scale(0.95)}.ods-flow-node__action-btn svg{width:14px;height:14px}.ods-flow-node__delete-btn{position:absolute;bottom:var(--ods-spacing-03);right:var(--ods-spacing-03);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:rgba(0,0,0,0);border:none;color:var(--ods-color-icon-secondary);cursor:pointer;transition:all .15s ease;opacity:.6;z-index:2}.ods-flow-node__delete-btn:hover{opacity:1;color:var(--ods-color-support-error);transform:scale(1.1)}.ods-flow-node__delete-btn:active{transform:scale(0.95)}.ods-flow-node__delete-btn svg{width:16px;height:16px}.ods-flow-node__badge{display:none}.ods-flow-node__actions{display:none}.ods-flow-node__body{position:relative;padding:var(--ods-spacing-05);min-height:108px;display:flex;flex-direction:column;gap:var(--ods-spacing-04);overflow:hidden}.ods-flow-node__content{display:flex;align-items:flex-start;gap:var(--ods-spacing-04);margin-bottom:var(--ods-spacing-04)}.ods-flow-node__content-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--ods-color-background-secondary);border-radius:50%;color:var(--ods-color-text-primary)}.ods-flow-node__content-icon svg{shape-rendering:crispEdges;vector-effect:non-scaling-stroke;image-rendering:crisp-edges;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ods-flow-node__content-text{flex:1;min-width:0}.ods-flow-node__content-title{font:var(--ods-font-heading_compact_01);font-weight:600;color:var(--ods-color-text-primary);margin-bottom:4px}.ods-flow-node__content-subtitle{font:var(--ods-font-label_01);color:var(--ods-color-text-secondary);margin-bottom:4px}.ods-flow-node__content-info{font:var(--ods-font-label_01);color:var(--ods-color-text-primary);display:flex;align-items:center;gap:4px}.ods-flow-node__content-info svg{width:14px;height:14px}.ods-flow-node__description{font:var(--ods-font-body_compact_01);color:var(--ods-color-text-secondary);font-size:12px;line-height:1.4}.ods-flow-node__validation{display:flex;align-items:center;gap:var(--ods-spacing-02);padding:var(--ods-spacing-03);background:var(--ods-color-support-warning) -inverse;color:var(--ods-color-text-primary);border-radius:2px;font:var(--ods-font-label_01)}.ods-flow-node__validation svg{flex-shrink:0;fill:var(--ods-color-support-warning)}.ods-flow-node__ports{position:absolute;display:flex;justify-content:center;align-items:center;gap:var(--ods-spacing-03)}.ods-flow-node__ports--input{left:50%;top:-8px;transform:translateX(-50%)}.ods-flow-node__ports--output{left:50%;bottom:-8px;transform:translateX(-50%)}.ods-flow-node__ports--branching{gap:var(--ods-spacing-06);bottom:-10px}.ods-flow-node__port-label{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-family:var(--ods-font-family-mono);font-size:9px;font-weight:600;letter-spacing:var(--ods-tracking-mono);white-space:nowrap;color:var(--ods-text-tertiary);pointer-events:none;margin-bottom:2px;text-transform:uppercase}.ods-flow-node__port{position:relative;width:16px;height:16px;cursor:crosshair}.ods-flow-node__port--labeled{display:flex;flex-direction:column;align-items:center;width:auto;min-width:16px}.ods-flow-node__port--connecting .ods-flow-node__port-dot{background:var(--ods-status-success);border-color:var(--ods-status-success);transform:scale(1.3);box-shadow:0 0 0 3px var(--ods-status-success-bd);animation:pulse 1s ease-in-out infinite}.ods-flow-node__port--connectable .ods-flow-node__port-dot{background:var(--ods-status-success);border-color:var(--ods-status-success);transform:scale(1.3);box-shadow:0 0 0 3px var(--ods-status-success-bd);animation:pulse 1s ease-in-out infinite}.ods-flow-node__port--invalid{cursor:not-allowed}.ods-flow-node__port--invalid .ods-flow-node__port-dot{background:var(--ods-status-failed);border-color:var(--ods-status-failed);transform:scale(1.2);box-shadow:0 0 0 3px var(--ods-status-failed-bd)}@keyframes pulse{0%,100%{transform:scale(1.3)}50%{transform:scale(1.5)}}.ods-flow-node__port-dot{width:12px;height:12px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);transition:all .2s ease;box-shadow:none;margin:2px}.ods-flow-node__port:hover .ods-flow-node__port-dot{background:#161a21;border-color:#6f7785;box-shadow:0 0 0 2px rgba(15,98,254,.35)}.ods-flow-node__port--connected .ods-flow-node__port-dot{background:#0f1118;border-color:#8ab6ff}.ods-flow-node__ports--input .ods-flow-node__port-dot{background:#0f1118;border-color:#3b4049;box-shadow:none}.ods-flow-node__ports--output .ods-flow-node__port-dot{background:#0f1118;border-color:#3b4049;box-shadow:none}.ods-flow-node__port--edge-selected .ods-flow-node__port-dot{border-color:var(--ods-accent);box-shadow:0 0 0 2px var(--ods-accent-border);animation:port-pulse 1.2s ease-in-out infinite}@keyframes port-pulse{0%{box-shadow:0 0 0 2px var(--ods-accent-border)}50%{box-shadow:0 0 0 6px var(--ods-accent-soft)}100%{box-shadow:0 0 0 2px var(--ods-accent-border)}}.ods-flow-node__running-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--ods-surface-canvas);opacity:.9;border-radius:var(--ods-radius-2);color:var(--ods-accent)}.ods-flow-node__running-overlay svg{animation:rotate 1s linear infinite}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.ods-flow-edge{cursor:pointer;shape-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ods-flow-edge__hitbox{cursor:pointer}.ods-flow-edge__path{transition:stroke-width var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));vector-effect:non-scaling-stroke;stroke:var(--ods-border-strong);stroke-width:1}.ods-flow-edge__path--selected{stroke:var(--ods-accent) !important;stroke-width:2 !important}.ods-flow-edge__path--active{stroke:var(--ods-accent);stroke-width:1.5}.ods-flow-edge__arrow{vector-effect:non-scaling-stroke;fill:var(--ods-border-strong);transition:fill var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-flow-edge__handle{fill:var(--ods-surface-canvas);stroke:var(--ods-border-strong);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),stroke var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-flow-edge__handle:hover{fill:var(--ods-accent-soft);stroke:var(--ods-accent)}.ods-flow-edge__label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:500;letter-spacing:var(--ods-tracking-mono);fill:var(--ods-text-tertiary);pointer-events:none;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ods-flow-edge__delete{cursor:pointer;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-flow-edge__delete:hover{transform:scale(1.1)}.ods-flow-edge__delete:active{transform:scale(0.95)}.ods-flow-edge__delete-bg{fill:var(--ods-surface-canvas);stroke:var(--ods-border-default);stroke-width:1;transition:fill var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-flow-edge__delete:hover .ods-flow-edge__delete-bg{fill:var(--ods-status-failed);stroke:var(--ods-status-failed)}.ods-flow-edge__delete-icon{pointer-events:none;user-select:none;fill:var(--ods-text-tertiary)}.ods-flow-edge__delete:hover .ods-flow-edge__delete-icon{fill:var(--ods-surface-canvas)}.ods-flow-minimap{position:absolute;bottom:var(--ods-space-3);right:var(--ods-space-3);width:140px;height:90px;border-radius:var(--ods-radius-1);overflow:hidden;cursor:pointer;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);box-shadow:var(--ods-shadow-pop)}.ods-flow-minimap svg{display:block;width:100%;height:100%}.ods-flow-minimap__node{opacity:.9;rx:1;ry:1;fill:var(--ods-border-strong)}.ods-flow-minimap__edge{stroke:var(--ods-border-default);stroke-width:.5}.ods-flow-minimap__viewport{fill:var(--ods-accent-soft);stroke:var(--ods-accent);stroke-width:1}.ods-flow-toolbar{position:absolute;display:inline-flex;align-items:center;gap:1px;padding:2px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);z-index:50;overflow:visible}.ods-flow-toolbar--left{top:var(--ods-space-3);left:var(--ods-space-3);flex-direction:column}.ods-flow-toolbar--right{top:var(--ods-space-3);right:var(--ods-space-3);flex-direction:column}.ods-flow-toolbar--top{top:var(--ods-space-3);left:50%;transform:translateX(-50%);flex-direction:row}.ods-flow-toolbar--bottom{bottom:var(--ods-space-3);left:50%;transform:translateX(-50%);flex-direction:row}.ods-flow-toolbar__btn-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.ods-flow-toolbar__btn-wrapper[data-tooltip]::after{content:attr(data-tooltip);position:absolute;background:var(--ods-text-primary);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);padding:var(--ods-space-1) var(--ods-space-2);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-xs);font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));z-index:9999;will-change:opacity}.ods-flow-toolbar__btn-wrapper[data-tooltip]::before{content:"";position:absolute;border:4px solid rgba(0,0,0,0);opacity:0;pointer-events:none;transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));z-index:9999}.ods-flow-toolbar__btn-wrapper[data-tooltip]:hover::after,.ods-flow-toolbar__btn-wrapper[data-tooltip]:hover::before{opacity:1}.ods-flow-toolbar--left .ods-flow-toolbar__btn-wrapper[data-tooltip]::after{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.ods-flow-toolbar--left .ods-flow-toolbar__btn-wrapper[data-tooltip]::before{left:calc(100% + 2px);top:50%;transform:translateY(-50%);border-right-color:var(--ods-text-primary)}.ods-flow-toolbar--right .ods-flow-toolbar__btn-wrapper[data-tooltip]::after{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.ods-flow-toolbar--right .ods-flow-toolbar__btn-wrapper[data-tooltip]::before{right:calc(100% + 2px);top:50%;transform:translateY(-50%);border-left-color:var(--ods-text-primary)}.ods-flow-toolbar--top .ods-flow-toolbar__btn-wrapper[data-tooltip]::after{top:calc(100% + 8px);left:50%;transform:translateX(-50%)}.ods-flow-toolbar--top .ods-flow-toolbar__btn-wrapper[data-tooltip]::before{top:calc(100% + 2px);left:50%;transform:translateX(-50%);border-bottom-color:var(--ods-text-primary)}.ods-flow-toolbar--bottom .ods-flow-toolbar__btn-wrapper[data-tooltip]::after{bottom:calc(100% + 8px);left:50%;transform:translateX(-50%)}.ods-flow-toolbar--bottom .ods-flow-toolbar__btn-wrapper[data-tooltip]::before{bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);border-top-color:var(--ods-text-primary)}.ods-flow-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;width:var(--ods-layout-control-height);height:var(--ods-layout-control-height);padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-flow-toolbar__btn:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-flow-toolbar__btn:active:not(:disabled){background:var(--ods-surface-sunken)}.ods-flow-toolbar__btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-flow-toolbar__btn:disabled{opacity:.4;cursor:not-allowed}.ods-flow-toolbar__btn--active{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-flow-toolbar__btn--active:hover{background:var(--ods-accent-border)}.ods-flow-toolbar__btn--danger:hover{background:var(--ods-status-failed-bg);color:var(--ods-status-failed)}.ods-flow-toolbar__btn-icon{display:inline-flex;align-items:center;justify-content:center}.ods-flow-toolbar__btn-icon svg{display:block}.ods-flow-toolbar__divider{background:var(--ods-border-default);align-self:stretch}.ods-flow-toolbar--top .ods-flow-toolbar__divider,.ods-flow-toolbar--bottom .ods-flow-toolbar__divider{width:1px;height:auto;margin:var(--ods-space-1) 2px}.ods-flow-toolbar--left .ods-flow-toolbar__divider,.ods-flow-toolbar--right .ods-flow-toolbar__divider{width:auto;height:1px;margin:2px var(--ods-space-1)}.ods-flow-toolbar__zoom{display:inline-flex;align-items:center;gap:2px}.ods-flow-toolbar--left .ods-flow-toolbar__zoom,.ods-flow-toolbar--right .ods-flow-toolbar__zoom{flex-direction:column}.ods-flow-toolbar__zoom-label{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:22px;padding:0 var(--ods-space-1);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:500;font-variant-numeric:tabular-nums lining-nums;user-select:none}.ods-workflow-editor{position:relative;display:flex;font-family:var(--ods-font-family-sans);background:rgba(0,0,0,0)}.ods-workflow-editor__drawer{flex-shrink:0;height:100%;border-right:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);overflow:hidden;display:flex;flex-direction:column}.ods-workflow-editor__canvas-wrapper{position:relative;flex:1;min-width:0;height:100%}.ods-workflow-editor__minimap{position:absolute;right:var(--ods-space-3);bottom:var(--ods-space-3);z-index:40}.ods-workflow-editor__console{position:absolute;left:var(--ods-space-3);right:var(--ods-space-3);bottom:var(--ods-space-3);z-index:45;pointer-events:auto}.ods-action-drawer{position:absolute;top:0;left:0;width:224px;height:100%;display:flex;flex-direction:column;z-index:10;background:var(--ods-surface-subtle);border-right:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-action-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:var(--ods-space-2) var(--ods-space-3);height:var(--ods-layout-topbar-height);border-bottom:1px solid var(--ods-border-default)}.ods-action-drawer__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-action-drawer__toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-action-drawer__toggle:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-action-drawer__toggle:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-action-drawer__search{padding:var(--ods-space-2) var(--ods-space-3)}.ods-action-drawer__input{width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);background:var(--ods-surface-canvas);outline:none;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-action-drawer__input::placeholder{color:var(--ods-text-disabled)}.ods-action-drawer__input:focus{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-action-drawer__list{flex:1;overflow-y:auto;padding:0 var(--ods-space-2) var(--ods-space-2)}.ods-action-drawer__group{margin-bottom:var(--ods-space-2)}.ods-action-drawer__category{padding:var(--ods-space-1) var(--ods-space-1);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary)}.ods-action-drawer__item{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);border-radius:var(--ods-radius-1);cursor:grab;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-action-drawer__item:hover{background:var(--ods-surface-muted)}.ods-action-drawer__item:active{cursor:grabbing;background:var(--ods-accent-soft)}.ods-action-drawer__item:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-action-drawer__item-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-action-drawer__item-icon svg{width:14px;height:14px}.ods-action-drawer__item-info{flex:1;min-width:0}.ods-action-drawer__item-label{font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-action-drawer__item-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-action-drawer__empty{padding:var(--ods-space-6) var(--ods-space-4);text-align:center;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-config-panel{position:absolute;top:0;right:0;width:320px;height:100%;display:flex;flex-direction:column;z-index:20;background:var(--ods-surface-canvas);border-left:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary)}.ods-config-panel__header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--ods-space-4);height:var(--ods-layout-topbar-height);border-bottom:1px solid var(--ods-border-default)}.ods-config-panel__header-left{display:flex;align-items:center;gap:var(--ods-space-2);min-width:0}.ods-config-panel__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-config-panel__icon svg{width:14px;height:14px}.ods-config-panel__title{font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-md);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ods-config-panel__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-config-panel__close:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-config-panel__close:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-config-panel__body{flex:1;overflow-y:auto;padding:var(--ods-space-4)}.ods-config-panel__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding:var(--ods-space-3) var(--ods-space-4);border-top:1px solid var(--ods-border-default)}.ods-config-panel__btn{height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-md);font-weight:500;cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-config-panel__btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-config-panel__btn--cancel{background:var(--ods-surface-canvas);color:var(--ods-text-primary);border-color:var(--ods-border-strong)}.ods-config-panel__btn--cancel:hover{background:var(--ods-surface-muted)}.ods-config-panel__btn--save{background:var(--ods-accent);color:var(--ods-surface-canvas);border-color:var(--ods-accent)}.ods-config-panel__btn--save:hover{background:var(--ods-accent-hover);border-color:var(--ods-accent-hover)}@keyframes ods-console-pulse{0%,100%{opacity:1}50%{opacity:.4}}.ods-console{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-console__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);height:var(--ods-layout-row-height);padding:0 var(--ods-space-3);cursor:pointer;border-bottom:1px solid var(--ods-border-default);background:var(--ods-surface-subtle)}.ods-console__toggle{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-console__toggle:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-console__label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-primary);display:flex;align-items:center;gap:var(--ods-space-2)}.ods-console__status{display:inline-flex;align-items:center;gap:var(--ods-space-1);padding:0 var(--ods-space-2);height:18px;border-radius:var(--ods-radius-1);background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1;border:1px solid var(--ods-status-running-bd)}.ods-console__status-dot{width:6px;height:6px;border-radius:var(--ods-radius-pill);background-color:var(--ods-status-running);animation:ods-console-pulse 1.2s ease-in-out infinite;flex-shrink:0}.ods-console__status-text{white-space:nowrap}.ods-console__count{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin-left:auto}.ods-console__actions{display:flex;align-items:center;gap:1px}.ods-console__action{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--ods-radius-1);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-console__action:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-console__action:active{background:var(--ods-surface-sunken)}.ods-console__action:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-console__action svg{display:block}.ods-console__action--stop{background:var(--ods-status-failed);color:var(--ods-surface-canvas)}.ods-console__action--stop:hover{background:var(--ods-status-failed-fg);color:var(--ods-surface-canvas)}.ods-console__action-separator{display:inline-block;width:1px;height:14px;margin:0 var(--ods-space-1);background:var(--ods-border-default)}.ods-console__logs{flex:1;overflow-y:auto;padding:var(--ods-space-2) var(--ods-space-3);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);line-height:1.6;color:var(--ods-text-body)}.ods-console__empty{padding:var(--ods-space-4);text-align:center;color:var(--ods-text-tertiary);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-sm)}.ods-console__line{display:flex;gap:var(--ods-space-2);padding:1px var(--ods-space-3);color:var(--ods-text-body);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-console__line:hover{background:var(--ods-surface-muted)}.ods-console__line--error{background:var(--ods-status-failed-bg)}.ods-console__line--warn{background:var(--ods-status-pending-bg)}.ods-console__timestamp{color:var(--ods-text-tertiary);white-space:nowrap;min-width:64px}.ods-console__level{font-weight:600;white-space:nowrap;min-width:48px;text-transform:uppercase}.ods-console__level--info{color:var(--ods-status-running-fg)}.ods-console__level--warn{color:var(--ods-status-pending-fg)}.ods-console__level--error{color:var(--ods-status-failed-fg)}.ods-console__level--debug{color:var(--ods-text-tertiary)}.ods-console__level--success{color:var(--ods-status-success-fg)}.ods-console__message{flex:1;word-break:break-all;color:var(--ods-text-primary)}.ods-banner{display:flex;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-3) var(--ods-space-4);border-radius:var(--ods-radius-1);border:1px solid rgba(0,0,0,0);width:100%;font-family:var(--ods-font-family-sans)}.ods-banner__icon{display:inline-flex;flex-shrink:0;width:18px;height:18px;align-items:center;justify-content:center}.ods-banner__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.ods-banner__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-banner__description{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-snug)}.ods-banner__action{flex-shrink:0}.ods-banner__dismiss{flex-shrink:0;width:22px;height:22px;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-banner__dismiss:hover{background:rgba(0,0,0,.06);color:var(--ods-text-primary)}.ods-banner--info{background:var(--ods-status-running-bg);border-color:var(--ods-status-running-bd)}.ods-banner--info .ods-banner__icon{color:var(--ods-status-running-fg)}.ods-banner--success{background:var(--ods-status-success-bg);border-color:var(--ods-status-success-bd)}.ods-banner--success .ods-banner__icon{color:var(--ods-status-success-fg)}.ods-banner--warning{background:var(--ods-status-pending-bg);border-color:var(--ods-status-pending-bd)}.ods-banner--warning .ods-banner__icon{color:var(--ods-status-pending-fg)}.ods-banner--error{background:var(--ods-status-failed-bg);border-color:var(--ods-status-failed-bd)}.ods-banner--error .ods-banner__icon{color:var(--ods-status-failed-fg)}.ods-banner--promo{background:var(--ods-accent-soft);border-color:var(--ods-accent-border)}.ods-banner--promo .ods-banner__icon{color:var(--ods-accent)}.ods-stat{display:flex;flex-direction:column;gap:var(--ods-space-1);padding:var(--ods-space-4);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-stat:hover{border-color:var(--ods-border-strong)}.ods-stat__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2)}.ods-stat__label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary);text-transform:uppercase}.ods-stat__icon{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-stat__value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-2xl);font-weight:500;color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-stat__delta{display:inline-flex;align-items:center;gap:var(--ods-space-1);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:500}.ods-stat__delta--up{color:var(--ods-status-success-fg)}.ods-stat__delta--down{color:var(--ods-status-failed-fg)}.ods-stat__delta--neutral{color:var(--ods-text-tertiary)}.ods-stat__delta-arrow{font-size:10px}.ods-stat__delta-suffix{font-weight:400;color:var(--ods-text-tertiary);font-size:var(--ods-font-size-xs)}.ods-stat--sm{padding:var(--ods-space-3)}.ods-stat--sm .ods-stat__value{font-size:var(--ods-font-size-xl)}.ods-stat--lg{padding:var(--ods-space-5)}.ods-stat--lg .ods-stat__value{font-size:var(--ods-font-size-3xl)}.ods-chip{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:22px;padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1;color:var(--ods-text-body);white-space:nowrap;user-select:none;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-chip--avatar{padding-left:var(--ods-space-1)}.ods-chip__avatar{display:inline-flex;width:16px;height:16px;border-radius:var(--ods-radius-pill);overflow:hidden;align-items:center;justify-content:center;background:var(--ods-accent-soft);color:var(--ods-accent);font-size:9px;font-weight:700;flex-shrink:0}.ods-chip__icon{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center;color:currentColor;flex-shrink:0}.ods-chip__label{line-height:1}.ods-chip__remove{display:inline-flex;width:12px;height:12px;border:0;background:rgba(0,0,0,0);color:currentColor;opacity:.6;cursor:pointer;align-items:center;justify-content:center;padding:0;transition:opacity var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-chip__remove:hover{opacity:1}.ods-chip--interactive{cursor:pointer}.ods-chip--interactive:hover{background:var(--ods-surface-muted);border-color:var(--ods-border-strong)}.ods-chip--disabled{opacity:.5;cursor:not-allowed}.ods-chip--primary{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-chip--success{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-chip--warning{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-chip--error{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd)}.ods-chip--sm{height:18px;font-size:10px;padding:0 var(--ods-space-1);gap:4px}.ods-chip--sm .ods-chip__avatar{width:14px;height:14px;font-size:8px}.ods-chip--sm .ods-chip__icon,.ods-chip--sm .ods-chip__remove{width:10px;height:10px}.ods-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-bottom-width:2px;color:var(--ods-text-body);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1;letter-spacing:var(--ods-tracking-mono);white-space:nowrap}.ods-kbd--sm{min-width:14px;padding:0 4px;font-size:10px}.ods-kbd-group{display:inline-flex;align-items:center;gap:4px}.ods-kbd-group__item{display:inline-flex;align-items:center;gap:4px}.ods-kbd-group__sep{color:var(--ods-text-tertiary);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500}.ods-callout{display:flex;align-items:flex-start;gap:var(--ods-space-3);padding:var(--ods-space-3) var(--ods-space-4);border-radius:var(--ods-radius-1);border-left:3px solid;background:var(--ods-surface-subtle);font-family:var(--ods-font-family-sans)}.ods-callout__icon{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;color:currentColor;flex-shrink:0;margin-top:2px}.ods-callout__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--ods-space-1)}.ods-callout__title{font-size:var(--ods-font-size-base);font-weight:600;color:var(--ods-text-primary)}.ods-callout__content{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-callout--tip{background:var(--ods-status-pending-bg);border-left-color:var(--ods-status-pending)}.ods-callout--tip .ods-callout__icon{color:var(--ods-status-pending-fg)}.ods-callout--info{background:var(--ods-status-running-bg);border-left-color:var(--ods-status-running)}.ods-callout--info .ods-callout__icon{color:var(--ods-status-running-fg)}.ods-callout--warning{background:var(--ods-status-pending-bg);border-left-color:var(--ods-status-pending)}.ods-callout--warning .ods-callout__icon{color:var(--ods-status-pending-fg)}.ods-callout--danger{background:var(--ods-status-failed-bg);border-left-color:var(--ods-status-failed)}.ods-callout--danger .ods-callout__icon{color:var(--ods-status-failed-fg)}.ods-callout--success{background:var(--ods-status-success-bg);border-left-color:var(--ods-status-success)}.ods-callout--success .ods-callout__icon{color:var(--ods-status-success-fg)}.ods-quote{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-4) var(--ods-space-4) var(--ods-space-4) var(--ods-space-5);border-left:3px solid var(--ods-accent);border-radius:var(--ods-radius-1);background:var(--ods-surface-subtle);font-family:var(--ods-font-family-sans);margin:0}.ods-quote__mark{position:absolute;top:var(--ods-space-1);left:var(--ods-space-3);font-size:var(--ods-font-size-2xl);font-family:var(--ods-font-family-serif);color:var(--ods-accent-border);line-height:1;pointer-events:none}.ods-quote__text{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-md);line-height:var(--ods-line-height-base);color:var(--ods-text-primary);font-style:italic}.ods-quote__footer{display:flex;align-items:center;gap:var(--ods-space-1);font-size:var(--ods-font-size-sm);color:var(--ods-text-body)}.ods-quote__author{font-family:var(--ods-font-family-sans);font-weight:600;font-style:normal;color:var(--ods-text-primary)}.ods-quote__attribution{color:var(--ods-text-tertiary)}.ods-quote--muted{background:var(--ods-surface-muted);border-left-color:var(--ods-text-tertiary)}.ods-quote--muted .ods-quote__mark{color:var(--ods-border-strong)}.ods-quote--primary{background:var(--ods-accent-soft);border-left-color:var(--ods-accent)}.ods-quote--sm{padding:var(--ods-space-3) var(--ods-space-3) var(--ods-space-3) var(--ods-space-4)}.ods-quote--sm .ods-quote__text{font-size:var(--ods-font-size-sm)}.ods-quote--sm .ods-quote__mark{font-size:var(--ods-font-size-xl);top:2px}.ods-quote--lg{padding:var(--ods-space-6) var(--ods-space-6) var(--ods-space-6) var(--ods-space-7)}.ods-quote--lg .ods-quote__text{font-size:var(--ods-font-size-lg);line-height:var(--ods-line-height-base)}.ods-quote--lg .ods-quote__mark{font-size:var(--ods-font-size-3xl);top:var(--ods-space-1);left:var(--ods-space-4)}.ods-icon-card{display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-4);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-icon-card__icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-icon-card__body{display:flex;flex-direction:column;gap:var(--ods-space-1)}.ods-icon-card__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-icon-card__description{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-icon-card__action{margin-top:var(--ods-space-1)}.ods-icon-card--interactive{cursor:pointer}.ods-icon-card--interactive:hover{border-color:var(--ods-border-strong);background:var(--ods-surface-subtle)}.ods-icon-card--primary .ods-icon-card__icon{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-icon-card--success .ods-icon-card__icon{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg)}.ods-icon-card--warning .ods-icon-card__icon{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg)}.ods-icon-card--error .ods-icon-card__icon{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg)}.ods-dl{margin:0;padding:0;border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans);overflow:hidden}.ods-dl__row{display:flex;align-items:flex-start;padding:var(--ods-space-2) var(--ods-space-3);gap:var(--ods-space-3)}.ods-dl__label{margin:0;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);flex-shrink:0;min-width:100px}.ods-dl__value{margin:0;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary);line-height:var(--ods-line-height-snug);flex:1 1 auto;min-width:0}.ods-dl--stacked .ods-dl__row{flex-direction:column;align-items:stretch;gap:var(--ods-space-1)}.ods-dl--divided .ods-dl__row+.ods-dl__row{border-top:1px solid var(--ods-border-soft)}.ods-dl--sm .ods-dl__row{padding:var(--ods-space-1) var(--ods-space-2)}.ods-dl--sm .ods-dl__label,.ods-dl--sm .ods-dl__value{font-size:var(--ods-font-size-xs)}.ods-ribbon{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:22px;padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);white-space:nowrap;border:1px solid rgba(0,0,0,0)}.ods-ribbon__icon{display:inline-flex;width:12px;height:12px;align-items:center;justify-content:center}.ods-ribbon__label{text-transform:uppercase}.ods-ribbon--primary{background:var(--ods-accent);border-color:var(--ods-accent)}.ods-ribbon--success{background:var(--ods-status-success);border-color:var(--ods-status-success)}.ods-ribbon--warning{background:var(--ods-status-pending);border-color:var(--ods-status-pending)}.ods-ribbon--error{background:var(--ods-status-failed);border-color:var(--ods-status-failed)}.ods-ribbon--neutral{background:var(--ods-text-tertiary);border-color:var(--ods-text-tertiary)}.ods-ribbon--sm{height:18px;padding:0 var(--ods-space-1);font-size:10px;gap:4px}.ods-ribbon--sm .ods-ribbon__icon{width:10px;height:10px}.ods-link-btn{display:inline-flex;align-items:center;gap:var(--ods-space-1);font-family:var(--ods-font-family-sans);font-weight:500;text-decoration:none;cursor:pointer;transition:color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));outline:none}.ods-link-btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:2px;border-radius:var(--ods-radius-1)}.ods-link-btn__icon{display:inline-flex;align-items:center;justify-content:center;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-link-btn__label{line-height:1.2}.ods-link-btn:hover .ods-link-btn__icon--right{transform:translateX(2px)}.ods-link-btn:hover .ods-link-btn__icon--left{transform:translateX(-2px)}.ods-link-btn--underline:hover .ods-link-btn__label{text-decoration:underline}.ods-link-btn--primary{color:var(--ods-accent)}.ods-link-btn--primary:hover{color:var(--ods-accent-hover)}.ods-link-btn--neutral{color:var(--ods-text-body)}.ods-link-btn--neutral:hover{color:var(--ods-text-primary)}.ods-link-btn--danger{color:var(--ods-status-failed-fg)}.ods-link-btn--danger:hover{color:var(--ods-status-failed)}.ods-link-btn--sm{font-size:var(--ods-font-size-sm)}.ods-link-btn--sm .ods-link-btn__icon{width:12px;height:12px}.ods-link-btn--md{font-size:var(--ods-font-size-md)}.ods-link-btn--md .ods-link-btn__icon{width:14px;height:14px}.ods-link-btn--lg{font-size:var(--ods-font-size-lg)}.ods-link-btn--lg .ods-link-btn__icon{width:16px;height:16px}.ods-toggle{display:inline-flex;padding:1px;gap:1px;border-radius:var(--ods-radius-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-toggle--full{display:flex;width:100%}.ods-toggle__opt{display:inline-flex;align-items:center;justify-content:center;gap:var(--ods-space-1);height:26px;padding:0 var(--ods-space-3);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-tertiary);cursor:pointer;flex:1 1 auto;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-toggle__opt:hover:not(.ods-toggle__opt--active):not(:disabled){color:var(--ods-text-primary)}.ods-toggle__opt:disabled{opacity:.5;cursor:not-allowed}.ods-toggle__opt--active{background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-weight:600}.ods-toggle__icon{display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center}.ods-toggle--sm .ods-toggle__opt{height:22px;padding:0 var(--ods-space-2);font-size:var(--ods-font-size-sm)}.ods-toggle--lg .ods-toggle__opt{height:34px;padding:0 var(--ods-space-4);font-size:var(--ods-font-size-md)}.ods-num{display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-num__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-num__field{display:flex;height:var(--ods-layout-control-height);align-items:stretch;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);overflow:hidden;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-num__field:focus-within{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-num__step{width:28px;display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--ods-surface-muted);color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-num__step:hover:not(:disabled){background:var(--ods-surface-sunken);color:var(--ods-text-primary)}.ods-num__step:disabled{opacity:.4;cursor:not-allowed}.ods-num__step--dec{border-right:1px solid var(--ods-border-default)}.ods-num__step--inc{border-left:1px solid var(--ods-border-default)}.ods-num__prefix,.ods-num__suffix{display:inline-flex;align-items:center;padding:0 var(--ods-space-2);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);background:rgba(0,0,0,0)}.ods-num__input{flex:1 1 auto;min-width:0;padding:0 var(--ods-space-3);border:0;background:rgba(0,0,0,0);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);text-align:center;outline:none}.ods-num__input::-webkit-outer-spin-button,.ods-num__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ods-num__input[type=number]{-moz-appearance:textfield}.ods-num__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-num__hint--error{color:var(--ods-status-failed-fg)}.ods-num--error .ods-num__field{border-color:var(--ods-status-failed)}.ods-num--disabled .ods-num__field{background:var(--ods-surface-muted);opacity:1}.ods-num--disabled .ods-num__field .ods-num__input{color:var(--ods-text-disabled)}.ods-num--sm .ods-num__field{height:var(--ods-layout-control-height-sm)}.ods-num--sm .ods-num__step{width:24px}.ods-num--sm .ods-num__input{font-size:var(--ods-font-size-sm)}.ods-num--lg .ods-num__field{height:var(--ods-layout-control-height-lg)}.ods-num--lg .ods-num__step{width:36px}.ods-num--lg .ods-num__input{font-size:var(--ods-font-size-md)}.ods-otp{display:flex;flex-direction:column;gap:var(--ods-space-2);font-family:var(--ods-font-family-sans)}.ods-otp__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-otp__row{display:inline-flex;gap:var(--ods-space-2)}.ods-otp__cell{width:36px;height:40px;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);text-align:center;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xl);font-weight:500;color:var(--ods-text-primary);background:var(--ods-surface-canvas);outline:none;caret-color:var(--ods-accent);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-otp__cell:focus{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-otp__cell--filled{border-color:var(--ods-accent-border)}.ods-otp__hint{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg)}.ods-otp--disabled .ods-otp__cell{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed}.ods-otp--error .ods-otp__cell{border-color:var(--ods-status-failed)}.ods-pwd{display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-pwd__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-pwd__field{display:flex;height:var(--ods-layout-control-height);align-items:center;gap:var(--ods-space-2);padding:0 var(--ods-space-3);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-pwd__field:focus-within{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-pwd__icon{display:inline-flex;width:14px;height:14px;color:var(--ods-text-tertiary);flex-shrink:0}.ods-pwd__input{flex:1 1 auto;min-width:0;border:0;outline:none;background:rgba(0,0,0,0);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);font-family:inherit;letter-spacing:1px}.ods-pwd__input:placeholder-shown{letter-spacing:normal}.ods-pwd__toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;flex-shrink:0;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-pwd__toggle:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-pwd__toggle:disabled{opacity:.4;cursor:not-allowed}.ods-pwd__strength{display:flex;align-items:center;gap:var(--ods-space-2);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-pwd__meter{flex:1 1 auto;height:4px;border-radius:var(--ods-radius-pill);background:var(--ods-border-default);overflow:hidden}.ods-pwd__bar{display:block;height:100%;border-radius:var(--ods-radius-pill);transition:width var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-pwd__bar--0{width:10%;background:var(--ods-status-failed)}.ods-pwd__bar--1{width:30%;background:var(--ods-status-pending)}.ods-pwd__bar--2{width:55%;background:var(--ods-status-pending)}.ods-pwd__bar--3{width:80%;background:var(--ods-status-success)}.ods-pwd__bar--4{width:100%;background:var(--ods-status-success)}.ods-pwd__strength-label{font-weight:600;white-space:nowrap}.ods-pwd__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-pwd__hint--error{color:var(--ods-status-failed-fg)}.ods-pwd--error .ods-pwd__field{border-color:var(--ods-status-failed)}.ods-pwd--disabled .ods-pwd__field{background:var(--ods-surface-muted)}.ods-pwd--sm .ods-pwd__field{height:var(--ods-layout-control-height-sm);padding:0 var(--ods-space-2)}.ods-pwd--lg .ods-pwd__field{height:var(--ods-layout-control-height-lg);padding:0 var(--ods-space-4)}.ods-pwd--lg .ods-pwd__field .ods-pwd__input{font-size:var(--ods-font-size-md)}.ods-rating{display:inline-flex;align-items:center;gap:2px;color:var(--ods-border-strong);font-family:var(--ods-font-family-sans)}.ods-rating__item{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:rgba(0,0,0,0);cursor:default;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));color:inherit}.ods-rating__item--filled{color:var(--ods-status-pending)}.ods-rating__half{position:absolute;top:0;height:100%;width:50%;z-index:1}.ods-rating__half--left{left:0}.ods-rating__half--right{right:0}.ods-rating__label{margin-left:var(--ods-space-2);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary)}.ods-rating--interactive .ods-rating__item{cursor:pointer}.ods-rating--interactive .ods-rating__item:hover{transform:scale(1.1)}.ods-rating--readonly .ods-rating__half,.ods-rating--disabled .ods-rating__half{pointer-events:none}.ods-rating--disabled{opacity:.5}.ods-rating--sm svg{width:14px;height:14px}.ods-rating--md svg{width:18px;height:18px}.ods-rating--lg svg{width:24px;height:24px}.ods-slider{display:flex;flex-direction:column;gap:var(--ods-space-2);width:100%;font-family:var(--ods-font-family-sans)}.ods-slider__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3)}.ods-slider__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-slider__value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-accent)}.ods-slider__track{position:relative;height:4px;border-radius:var(--ods-radius-pill);background:var(--ods-border-default)}.ods-slider__fill{position:absolute;top:0;left:0;height:100%;border-radius:var(--ods-radius-pill);background:var(--ods-accent);pointer-events:none;will-change:width}.ods-slider__input{position:absolute;inset:-8px 0;width:100%;height:20px;margin:0;padding:0;background:rgba(0,0,0,0);-webkit-appearance:none;appearance:none;cursor:pointer;opacity:1}.ods-slider__input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);border:2px solid var(--ods-accent);cursor:grab;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));will-change:transform}.ods-slider__input::-moz-range-thumb{width:14px;height:14px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);border:2px solid var(--ods-accent);cursor:grab;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-slider__input:hover::-webkit-slider-thumb{transform:scale(1.12)}.ods-slider__input:active::-webkit-slider-thumb,.ods-slider__input:focus-visible::-webkit-slider-thumb{transform:scale(1.12);cursor:grabbing}.ods-slider__input:focus,.ods-slider__input:focus-visible{outline:none}.ods-slider__input::-moz-focus-outer{border:0}.ods-slider__input:disabled{cursor:not-allowed}.ods-slider--sm .ods-slider__track{height:3px}.ods-slider--lg .ods-slider__track{height:6px}.ods-slider--success .ods-slider__fill{background:var(--ods-status-success)}.ods-slider--success .ods-slider__input::-webkit-slider-thumb{border-color:var(--ods-status-success)}.ods-slider--success .ods-slider__input::-moz-range-thumb{border-color:var(--ods-status-success)}.ods-slider--success .ods-slider__value{color:var(--ods-status-success-fg)}.ods-slider--warning .ods-slider__fill{background:var(--ods-status-pending)}.ods-slider--warning .ods-slider__input::-webkit-slider-thumb{border-color:var(--ods-status-pending)}.ods-slider--warning .ods-slider__input::-moz-range-thumb{border-color:var(--ods-status-pending)}.ods-slider--warning .ods-slider__value{color:var(--ods-status-pending-fg)}.ods-slider--error .ods-slider__fill{background:var(--ods-status-failed)}.ods-slider--error .ods-slider__input::-webkit-slider-thumb{border-color:var(--ods-status-failed)}.ods-slider--error .ods-slider__input::-moz-range-thumb{border-color:var(--ods-status-failed)}.ods-slider--error .ods-slider__value{color:var(--ods-status-failed-fg)}.ods-slider--disabled{opacity:.5}.ods-slider--disabled .ods-slider__input{cursor:not-allowed}.ods-range-slider{display:flex;flex-direction:column;gap:var(--ods-space-2);width:100%;font-family:var(--ods-font-family-sans)}.ods-range-slider__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3)}.ods-range-slider__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-range-slider__value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-accent)}.ods-range-slider__track{position:relative;height:4px;border-radius:var(--ods-radius-pill);background:var(--ods-border-default)}.ods-range-slider__fill{position:absolute;top:0;height:100%;border-radius:var(--ods-radius-pill);background:var(--ods-accent);pointer-events:none;transition:left var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),right var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-range-slider__input{position:absolute;inset:-8px 0;width:100%;height:20px;margin:0;padding:0;background:rgba(0,0,0,0);-webkit-appearance:none;appearance:none;pointer-events:none}.ods-range-slider__input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);border:2px solid var(--ods-accent);cursor:grab;pointer-events:auto;transition:transform var(--ods-duration-instant, 80ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.4, 0.64, 1)),box-shadow var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));will-change:transform}.ods-range-slider__input::-moz-range-thumb{width:14px;height:14px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);border:2px solid var(--ods-accent);cursor:grab;pointer-events:auto;transition:transform var(--ods-duration-instant, 80ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.4, 0.64, 1)),box-shadow var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-range-slider__input:hover::-webkit-slider-thumb,.ods-range-slider__input:hover::-moz-range-thumb{transform:scale(1.12)}.ods-range-slider__input:active::-webkit-slider-thumb,.ods-range-slider__input:active::-moz-range-thumb{cursor:grabbing;transform:scale(1.18)}.ods-range-slider__input:focus,.ods-range-slider__input:focus-visible{outline:none}.ods-range-slider__input:focus::-webkit-slider-thumb,.ods-range-slider__input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-range-slider__input:focus::-moz-range-thumb,.ods-range-slider__input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-range-slider__input:disabled::-webkit-slider-thumb,.ods-range-slider__input:disabled::-moz-range-thumb{cursor:not-allowed}.ods-range-slider--sm .ods-range-slider__track{height:3px}.ods-range-slider--lg .ods-range-slider__track{height:6px}.ods-range-slider--disabled{opacity:.55}.ods-range-slider--disabled .ods-range-slider__input{pointer-events:none}.ods-tags{display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-tags__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-tags__field{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ods-space-1);min-height:var(--ods-layout-control-height);padding:2px var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));cursor:text}.ods-tags__field:focus-within{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-tags__chip{display:inline-flex;align-items:center;gap:var(--ods-space-1);padding:2px var(--ods-space-2);background:var(--ods-accent-soft);color:var(--ods-accent);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-xs);font-weight:500;line-height:1.2}.ods-tags__chip-text{line-height:1.2}.ods-tags__chip-x{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;padding:0;border:0;background:rgba(0,0,0,0);color:currentColor;opacity:.7;cursor:pointer;border-radius:var(--ods-radius-1)}.ods-tags__chip-x:hover:not(:disabled){opacity:1;background:var(--ods-accent-border)}.ods-tags__chip-x:disabled{opacity:.4;cursor:not-allowed}.ods-tags__input{flex:1 1 100px;min-width:80px;border:0;outline:none;background:rgba(0,0,0,0);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);font-family:inherit}.ods-tags__input::placeholder{color:var(--ods-text-disabled)}.ods-tags__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-tags__hint--error{color:var(--ods-status-failed-fg)}.ods-tags--error .ods-tags__field{border-color:var(--ods-status-failed)}.ods-tags--disabled .ods-tags__field{background:var(--ods-surface-muted)}.ods-tags--sm .ods-tags__field{min-height:var(--ods-layout-control-height-sm);padding:1px var(--ods-space-1)}.ods-tags--sm .ods-tags__chip{font-size:10px;padding:1px var(--ods-space-1)}.ods-tags--sm .ods-tags__input{font-size:var(--ods-font-size-sm)}.ods-tags--lg .ods-tags__field{min-height:var(--ods-layout-control-height-lg);padding:var(--ods-space-1) var(--ods-space-3)}.ods-tags--lg .ods-tags__chip{font-size:var(--ods-font-size-sm);padding:2px var(--ods-space-2)}.ods-tags--lg .ods-tags__input{font-size:var(--ods-font-size-md)}.ods-color{display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-color__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-color__field{display:flex;align-items:center;gap:var(--ods-space-2);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-color__field:focus-within{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-color__swatch{width:20px;height:20px;border-radius:var(--ods-radius-1);border:1px solid var(--ods-border-default);flex-shrink:0}.ods-color__hex{flex:1 1 auto;min-width:0;border:0;outline:none;background:rgba(0,0,0,0);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-color__pick{position:relative;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ods-radius-1);background:var(--ods-surface-muted);color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));overflow:hidden}.ods-color__pick:hover{background:var(--ods-surface-sunken)}.ods-color__pick input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;cursor:pointer}.ods-color__swatches{display:flex;gap:var(--ods-space-1);align-items:center}.ods-color__sw{width:20px;height:20px;border-radius:var(--ods-radius-1);border:1px solid var(--ods-border-default);cursor:pointer;padding:0;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-color__sw:hover:not(:disabled){transform:scale(1.1)}.ods-color__sw--active{box-shadow:0 0 0 2px var(--ods-surface-canvas),0 0 0 3px var(--ods-accent);border-color:rgba(0,0,0,0)}.ods-color__sw:disabled{cursor:not-allowed}.ods-color--disabled .ods-color__field{background:var(--ods-surface-muted);color:var(--ods-text-disabled)}.ods-color--sm .ods-color__field{height:var(--ods-layout-control-height-sm)}.ods-color--sm .ods-color__swatch,.ods-color--sm .ods-color__pick,.ods-color--sm .ods-color__sw{width:16px;height:16px}.ods-color--lg .ods-color__field{height:var(--ods-layout-control-height-lg)}.ods-color--lg .ods-color__swatch,.ods-color--lg .ods-color__pick,.ods-color--lg .ods-color__sw{width:24px;height:24px}.ods-phone{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-phone__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-phone__field{position:relative;display:flex;align-items:stretch;height:var(--ods-layout-control-height);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);overflow:visible;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-phone__field:focus-within{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:-1px}.ods-phone__country{display:inline-flex;align-items:center;gap:var(--ods-space-1);padding:0 var(--ods-space-2);border:0;border-right:1px solid var(--ods-border-default);background:rgba(0,0,0,0);cursor:pointer;font-family:inherit;color:var(--ods-text-primary);font-size:var(--ods-font-size-base);font-weight:500;border-radius:var(--ods-radius-1) 0 0 var(--ods-radius-1);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-phone__country:hover:not(:disabled){background:var(--ods-surface-muted)}.ods-phone__country:disabled{cursor:not-allowed}.ods-phone__flag{font-size:var(--ods-font-size-md);line-height:1}.ods-phone__dial{font-family:var(--ods-font-family-mono);font-weight:500}.ods-phone__input{flex:1 1 auto;min-width:0;padding:0 var(--ods-space-3);border:0;outline:none;background:rgba(0,0,0,0);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-base);color:var(--ods-text-primary)}.ods-phone__input::placeholder{color:var(--ods-text-disabled)}.ods-phone__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:50;margin:0;padding:var(--ods-space-1);list-style:none;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);min-width:240px;max-height:240px;overflow-y:auto}.ods-phone__menu-item{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);cursor:pointer;text-align:left;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-phone__menu-item:hover{background:var(--ods-surface-muted)}.ods-phone__menu-item--active{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:500}.ods-phone__menu-name{flex:1 1 auto;min-width:0}.ods-phone__menu-dial{color:var(--ods-text-tertiary);font-family:var(--ods-font-family-mono);font-weight:500;font-variant-numeric:tabular-nums}.ods-phone__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-phone__hint--error{color:var(--ods-status-failed-fg)}.ods-phone--error .ods-phone__field{border-color:var(--ods-status-failed)}.ods-phone--disabled .ods-phone__field{background:var(--ods-surface-muted)}.ods-phone--sm .ods-phone__field{height:var(--ods-layout-control-height-sm)}.ods-phone--sm .ods-phone__country{font-size:var(--ods-font-size-sm)}.ods-phone--sm .ods-phone__input{font-size:var(--ods-font-size-sm)}.ods-phone--lg .ods-phone__field{height:var(--ods-layout-control-height-lg)}.ods-phone--lg .ods-phone__input{font-size:var(--ods-font-size-md)}.ods-calendar{display:inline-block;width:280px;padding:var(--ods-space-3);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary)}.ods-calendar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--ods-space-2)}.ods-calendar__title{font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-md);font-weight:500;color:var(--ods-text-primary)}.ods-calendar__nav{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-calendar__nav:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-calendar__dow{display:grid;grid-template-columns:repeat(7, 1fr);margin-bottom:var(--ods-space-1)}.ods-calendar__dow-cell{text-align:center;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary);padding:4px 0;text-transform:uppercase}.ods-calendar__grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:0}.ods-calendar__cell{height:32px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-primary);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-calendar__cell:hover:not(:disabled):not(.ods-calendar__cell--selected){background:var(--ods-surface-muted)}.ods-calendar__cell--outside{color:var(--ods-text-disabled)}.ods-calendar__cell--today{font-weight:700;color:var(--ods-accent)}.ods-calendar__cell--selected,.ods-calendar__cell--start,.ods-calendar__cell--end{background:var(--ods-accent);color:var(--ods-surface-canvas);font-weight:700}.ods-calendar__cell--inrange{background:var(--ods-accent-soft);color:var(--ods-accent);border-radius:0}.ods-calendar__cell--start{border-radius:var(--ods-radius-1) 0 0 var(--ods-radius-1)}.ods-calendar__cell--end{border-radius:0 var(--ods-radius-1) var(--ods-radius-1) 0}.ods-calendar__cell--start.ods-calendar__cell--end{border-radius:var(--ods-radius-1)}.ods-calendar__cell--disabled{opacity:.4;cursor:not-allowed}.ods-datepicker{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-datepicker__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-datepicker__trigger{display:inline-flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-family:inherit;font-size:var(--ods-font-size-base);text-align:left;cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-datepicker__trigger:hover{border-color:var(--ods-text-tertiary)}.ods-datepicker__trigger:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-datepicker__trigger>svg:first-child{color:var(--ods-text-tertiary);flex-shrink:0}.ods-datepicker__value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}.ods-datepicker__value--placeholder{color:var(--ods-text-disabled)}.ods-datepicker__chev{color:var(--ods-text-tertiary);flex-shrink:0}.ods-datepicker__popover{position:absolute;top:calc(100% + var(--ods-space-1));left:0;z-index:50;box-shadow:var(--ods-shadow-pop);border-radius:var(--ods-radius-1)}.ods-datepicker__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-datepicker__hint--error{color:var(--ods-status-failed-fg)}.ods-datepicker--error .ods-datepicker__trigger{border-color:var(--ods-status-failed)}.ods-datepicker--disabled .ods-datepicker__trigger{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed}.ods-datepicker--sm .ods-datepicker__trigger{height:var(--ods-layout-control-height-sm);font-size:var(--ods-font-size-sm)}.ods-datepicker--lg .ods-datepicker__trigger{height:var(--ods-layout-control-height-lg);font-size:var(--ods-font-size-md)}.ods-timepicker{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-timepicker__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-timepicker__trigger{display:inline-flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-family:inherit;font-size:var(--ods-font-size-base);text-align:left;cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-timepicker__trigger>svg:first-child{color:var(--ods-text-tertiary);flex-shrink:0}.ods-timepicker__trigger:hover{border-color:var(--ods-text-tertiary)}.ods-timepicker__trigger:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-timepicker__value{flex:1 1 auto;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-weight:500;letter-spacing:var(--ods-tracking-mono)}.ods-timepicker__chev{color:var(--ods-text-tertiary);flex-shrink:0}.ods-timepicker__popover{position:absolute;top:calc(100% + var(--ods-space-1));left:0;z-index:50;width:280px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);overflow:hidden}.ods-timepicker__head{display:flex;align-items:center;justify-content:space-between;padding:var(--ods-space-2) var(--ods-space-3);border-bottom:1px solid var(--ods-border-default)}.ods-timepicker__display{display:inline-flex;align-items:center;gap:0;font-family:var(--ods-font-family-mono)}.ods-timepicker__seg{border:0;background:rgba(0,0,0,0);padding:2px var(--ods-space-1);border-radius:var(--ods-radius-1);font-family:inherit;font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xl);font-weight:600;color:var(--ods-text-primary);cursor:text;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-timepicker__seg:hover{background:var(--ods-surface-muted)}.ods-timepicker__seg--active,.ods-timepicker__seg:focus-visible{outline:none;background:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-timepicker__display-sep{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xl);font-weight:600;color:var(--ods-text-disabled);padding:0 1px}.ods-timepicker__period{display:inline-flex;padding:1px;gap:0;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-timepicker__period-btn{padding:2px var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:inherit;font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-timepicker__period-btn--active{background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-weight:600}.ods-timepicker__body{display:flex;align-items:center;justify-content:center;gap:var(--ods-space-4);padding:var(--ods-space-3)}.ods-timepicker__col{display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-1)}.ods-timepicker__col-lbl{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-timepicker__col-val{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-2xl);font-weight:500;color:var(--ods-accent);line-height:1;min-width:40px;text-align:center}.ods-timepicker__step{display:inline-flex;align-items:center;justify-content:center;width:24px;height:20px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-timepicker__step:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-timepicker__sep{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-2xl);font-weight:500;color:var(--ods-text-disabled);line-height:1}.ods-timepicker__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-timepicker__hint--error{color:var(--ods-status-failed-fg)}.ods-timepicker--error .ods-timepicker__trigger{border-color:var(--ods-status-failed)}.ods-timepicker--disabled .ods-timepicker__trigger{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed}.ods-timepicker--sm .ods-timepicker__trigger{height:var(--ods-layout-control-height-sm);font-size:var(--ods-font-size-sm)}.ods-timepicker--lg .ods-timepicker__trigger{height:var(--ods-layout-control-height-lg);font-size:var(--ods-font-size-md)}.ods-tzpicker{position:relative;display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%;font-family:var(--ods-font-family-sans)}.ods-tzpicker__label{font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-body)}.ods-tzpicker__trigger{display:inline-flex;align-items:center;gap:var(--ods-space-2);width:100%;height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);color:var(--ods-text-primary);font-family:inherit;text-align:left;cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-tzpicker__trigger>svg:first-child{color:var(--ods-text-tertiary);flex-shrink:0}.ods-tzpicker__trigger:hover{border-color:var(--ods-text-tertiary)}.ods-tzpicker__trigger:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:-1px;border-color:var(--ods-border-focus)}.ods-tzpicker__info{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:var(--ods-space-2);overflow:hidden}.ods-tzpicker__name{flex:0 1 auto;min-width:0;font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-tzpicker__name--placeholder{color:var(--ods-text-disabled);font-weight:400}.ods-tzpicker__meta{flex:0 0 auto;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);white-space:nowrap}.ods-tzpicker__chev{color:var(--ods-text-tertiary);flex-shrink:0}.ods-tzpicker__popover{position:absolute;top:calc(100% + var(--ods-space-1));left:0;z-index:50;width:100%;min-width:320px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);overflow:hidden}.ods-tzpicker__search{display:flex;align-items:center;gap:var(--ods-space-2);padding:var(--ods-space-2) var(--ods-space-3);border-bottom:1px solid var(--ods-border-default);color:var(--ods-text-tertiary)}.ods-tzpicker__search input{flex:1 1 auto;min-width:0;border:none;outline:none;background:rgba(0,0,0,0);font-family:inherit;font-size:var(--ods-font-size-base);color:var(--ods-text-primary);box-shadow:none}.ods-tzpicker__search input::placeholder{color:var(--ods-text-disabled)}.ods-tzpicker__search input:focus,.ods-tzpicker__search input:focus-visible{outline:none;box-shadow:none;border:none}.ods-tzpicker__list{list-style:none;margin:0;padding:var(--ods-space-1);max-height:240px;overflow-y:auto}.ods-tzpicker__opt{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;padding:var(--ods-space-1) var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:inherit;color:var(--ods-text-primary);cursor:pointer;text-align:left;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-tzpicker__opt:hover{background:var(--ods-surface-muted)}.ods-tzpicker__opt--selected{background:var(--ods-accent-soft)}.ods-tzpicker__opt--selected .ods-tzpicker__opt-name,.ods-tzpicker__opt--selected .ods-tzpicker__opt-off{color:var(--ods-accent);font-weight:600}.ods-tzpicker__opt-text{display:flex;flex-direction:column;gap:1px;flex:1 1 auto;min-width:0}.ods-tzpicker__opt-name{font-size:var(--ods-font-size-base);font-weight:500}.ods-tzpicker__opt-iana{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-tzpicker__opt-off{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-body);flex-shrink:0}.ods-tzpicker__opt-check{color:var(--ods-accent);flex-shrink:0}.ods-tzpicker__empty{list-style:none;padding:var(--ods-space-3);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);text-align:center}.ods-tzpicker__hint{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-tzpicker__hint--error{color:var(--ods-status-failed-fg)}.ods-tzpicker--error .ods-tzpicker__trigger{border-color:var(--ods-status-failed)}.ods-tzpicker--disabled .ods-tzpicker__trigger{background:var(--ods-surface-muted);color:var(--ods-text-disabled);cursor:not-allowed}.ods-tzpicker--sm .ods-tzpicker__trigger{height:var(--ods-layout-control-height-sm)}.ods-tzpicker--lg .ods-tzpicker__trigger{height:var(--ods-layout-control-height-lg)}.ods-page-header{display:flex;align-items:center;gap:var(--ods-space-5);padding:var(--ods-space-5) var(--ods-space-6);background:var(--ods-surface-canvas);border-bottom:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-page-header__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--ods-space-1)}.ods-page-header__crumbs{display:flex;align-items:center;gap:var(--ods-space-1);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);margin-bottom:2px}.ods-page-header__crumb{display:inline-flex;align-items:center;gap:var(--ods-space-1);color:inherit}.ods-page-header__crumb a,.ods-page-header__crumb button{color:inherit;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font:inherit}.ods-page-header__crumb a:hover,.ods-page-header__crumb button:hover{color:var(--ods-text-primary)}.ods-page-header__crumb:last-child a,.ods-page-header__crumb:last-child button,.ods-page-header__crumb:last-child>span{color:var(--ods-text-primary);font-weight:600}.ods-page-header__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-2xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-page-header__description{margin:0;font-size:var(--ods-font-size-base);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-page-header__meta{display:flex;align-items:center;gap:var(--ods-space-3);margin-top:var(--ods-space-1);flex-wrap:wrap}.ods-page-header__actions{display:flex;align-items:center;gap:var(--ods-space-2);flex-shrink:0}.ods-settings-row{display:flex;gap:var(--ods-space-3);width:100%;padding:var(--ods-space-3) var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-settings-row--center{align-items:center}.ods-settings-row--start{align-items:flex-start}.ods-settings-row__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent);flex-shrink:0}.ods-settings-row__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--ods-space-1)}.ods-settings-row__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-settings-row__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-snug)}.ods-settings-row__control{flex-shrink:0;display:flex;align-items:center}.ods-form-section{display:flex;flex-direction:column;gap:var(--ods-space-4);padding:var(--ods-space-4) var(--ods-space-5);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-form-section__head{display:flex;flex-direction:column;gap:var(--ods-space-1)}.ods-form-section__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary);letter-spacing:var(--ods-tracking-tight)}.ods-form-section__desc{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-form-section__body{display:flex;flex-direction:column;gap:var(--ods-space-3)}.ods-form-section__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding-top:var(--ods-space-3)}.ods-form-section--divided .ods-form-section__head{padding-bottom:var(--ods-space-3);border-bottom:1px solid var(--ods-border-default)}.ods-form-section--divided .ods-form-section__footer{border-top:1px solid var(--ods-border-default)}.ods-toolbar{display:inline-flex;align-items:center;gap:1px;padding:2px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-toolbar__btn{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-body);font-family:inherit;font-size:var(--ods-font-size-base);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-toolbar__btn:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-toolbar__btn:disabled{opacity:.4;cursor:not-allowed}.ods-toolbar__btn--active{background:var(--ods-accent-soft);color:var(--ods-accent);font-weight:600}.ods-toolbar__btn-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.ods-toolbar__btn-label{line-height:1}.ods-toolbar__divider{width:1px;height:16px;background:var(--ods-border-default);margin:0 2px}.ods-toolbar__spacer{flex:1 1 auto}.ods-drawer{display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-2);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);overflow:hidden}.ods-drawer__head{display:flex;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-4) var(--ods-space-5);border-bottom:1px solid var(--ods-border-default)}.ods-drawer__titles{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.ods-drawer__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-drawer__subtitle{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-drawer__close:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-drawer__body{flex:1 1 auto;overflow-y:auto;padding:var(--ods-space-5);color:var(--ods-text-primary);line-height:var(--ods-line-height-base)}.ods-drawer__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding:var(--ods-space-3) var(--ods-space-5);border-top:1px solid var(--ods-border-default)}.ods-user-card{display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-5);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);text-align:center}.ods-user-card__avatar{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--ods-radius-pill);background:var(--ods-accent);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-lg);font-weight:600;overflow:hidden}.ods-user-card__avatar img{width:100%;height:100%;object-fit:cover}.ods-user-card__name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-user-card__role{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);margin-top:-4px}.ods-user-card__stats{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3);width:100%;padding-top:var(--ods-space-3);border-top:1px solid var(--ods-border-default);margin-top:var(--ods-space-1)}.ods-user-card__stat{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;gap:1px}.ods-user-card__stat-value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary)}.ods-user-card__stat-label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-user-card__action{width:100%}.ods-product-card{display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-product-card__image{width:100%;height:120px;border-radius:var(--ods-radius-1);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--ods-surface-subtle);color:var(--ods-text-tertiary)}.ods-product-card__tag{align-self:flex-start;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-product-card__name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-product-card__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-product-card__footer{display:flex;align-items:center;justify-content:space-between}.ods-product-card__price-group{display:flex;align-items:baseline;gap:var(--ods-space-1)}.ods-product-card__price{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary)}.ods-product-card__strike{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);text-decoration:line-through}.ods-product-card__action{display:flex;align-items:center}.ods-blog-card{display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);overflow:hidden;font-family:var(--ods-font-family-sans);text-decoration:none;color:inherit;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-blog-card__cover{width:100%;height:140px;background:var(--ods-surface-subtle);display:flex;align-items:center;justify-content:center;color:var(--ods-text-tertiary)}.ods-blog-card__body{display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-4)}.ods-blog-card__meta{display:flex;align-items:center;gap:var(--ods-space-2)}.ods-blog-card__category{padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-blog-card__date{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-blog-card__title{font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-blog-card__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-blog-card--interactive{cursor:pointer}.ods-blog-card--interactive:hover{border-color:var(--ods-border-strong);background:var(--ods-surface-subtle)}.ods-testimonial{display:flex;flex-direction:column;gap:var(--ods-space-4);padding:var(--ods-space-5);background:var(--ods-surface-subtle);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);margin:0}.ods-testimonial__quote{color:var(--ods-accent-border)}.ods-testimonial__text{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-lg);color:var(--ods-text-primary);line-height:var(--ods-line-height-base);font-style:italic}.ods-testimonial__rating{display:flex;gap:2px}.ods-testimonial__star{color:var(--ods-border-strong);font-size:var(--ods-font-size-md);line-height:1}.ods-testimonial__star--on{color:var(--ods-status-pending)}.ods-testimonial__author{display:flex;align-items:center;gap:var(--ods-space-3)}.ods-testimonial__avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ods-radius-pill);background:var(--ods-accent);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-base);font-weight:600;flex-shrink:0;overflow:hidden}.ods-testimonial__avatar img{width:100%;height:100%;object-fit:cover}.ods-testimonial__author-info{display:flex;flex-direction:column;gap:1px}.ods-testimonial__author-name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-testimonial__author-role{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-feature-card{display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-5);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-feature-card__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-feature-card__title{font-size:var(--ods-font-size-lg);font-weight:600;color:var(--ods-text-primary)}.ods-feature-card__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-feature-card__link{display:inline-flex;align-items:center;gap:var(--ods-space-1);align-self:flex-start;margin-top:var(--ods-space-1);border:0;padding:0;background:rgba(0,0,0,0);color:var(--ods-accent);font-family:inherit;font-size:var(--ods-font-size-md);font-weight:500;text-decoration:none;cursor:pointer;transition:color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-feature-card__link svg{transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-feature-card__link:hover{color:var(--ods-accent-hover)}.ods-feature-card__link:hover svg{transform:translateX(2px)}.ods-feature-card--success .ods-feature-card__icon{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg)}.ods-feature-card--warning .ods-feature-card__icon{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg)}.ods-feature-card--error .ods-feature-card__icon{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg)}.ods-feature-card--default .ods-feature-card__icon{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-pricing{display:flex;flex-direction:column;gap:var(--ods-space-4);padding:var(--ods-space-6);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-2);font-family:var(--ods-font-family-sans)}.ods-pricing--highlighted{border-color:var(--ods-accent);background:var(--ods-accent-soft)}.ods-pricing__head{display:flex;flex-direction:column;gap:var(--ods-space-2)}.ods-pricing__badge{align-self:flex-start;padding:1px var(--ods-space-2);border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-pricing__name{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary)}.ods-pricing__desc{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-pricing__price{display:flex;align-items:baseline;gap:var(--ods-space-1)}.ods-pricing__amount{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-3xl);font-weight:500;color:var(--ods-text-primary);line-height:1}.ods-pricing__period{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-pricing__sep{border:0;border-top:1px solid var(--ods-border-default);margin:0}.ods-pricing__features{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--ods-space-2)}.ods-pricing__feature{display:flex;align-items:center;gap:var(--ods-space-2);font-size:var(--ods-font-size-base);color:var(--ods-text-primary)}.ods-pricing__cta{display:flex;flex-direction:column}.ods-choice-card{display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-4);width:100%;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);text-align:left;cursor:pointer;transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-choice-card:hover:not(.ods-choice-card--disabled){border-color:var(--ods-border-strong);background:var(--ods-surface-subtle)}.ods-choice-card--selected{border-color:var(--ods-accent);background:var(--ods-accent-soft)}.ods-choice-card--disabled{opacity:.5;cursor:not-allowed}.ods-choice-card__head{display:flex;align-items:flex-start;justify-content:space-between}.ods-choice-card__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ods-radius-1);background:var(--ods-surface-muted);color:var(--ods-text-body)}.ods-choice-card--selected .ods-choice-card__icon{background:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-choice-card__check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--ods-radius-pill);border:1px solid var(--ods-border-strong);color:rgba(0,0,0,0);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-choice-card__check--on{background:var(--ods-accent);border-color:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-choice-card__badge{align-self:flex-start;padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-choice-card__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-choice-card__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-kanban-card{display:flex;flex-direction:column;gap:var(--ods-space-2);padding:var(--ods-space-3);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-left:3px solid rgba(0,0,0,0);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);transition:border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-kanban-card--interactive{cursor:pointer}.ods-kanban-card--interactive:hover{background:var(--ods-surface-subtle);border-left-color:var(--ods-accent)}.ods-kanban-card--low{border-left-color:var(--ods-status-success)}.ods-kanban-card--medium{border-left-color:var(--ods-status-pending)}.ods-kanban-card--high{border-left-color:var(--ods-status-failed)}.ods-kanban-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2)}.ods-kanban-card__tag{padding:1px var(--ods-space-1);border-radius:var(--ods-radius-1);background:var(--ods-accent-soft);color:var(--ods-accent);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-kanban-card__more{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);cursor:pointer}.ods-kanban-card__more:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-kanban-card__title{font-size:var(--ods-font-size-base);font-weight:600;color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-kanban-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2)}.ods-kanban-card__meta{display:flex;align-items:center;gap:var(--ods-space-2)}.ods-kanban-card__date,.ods-kanban-card__comments{display:inline-flex;align-items:center;gap:4px;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-kanban-card__assignee{width:20px;height:20px;border-radius:var(--ods-radius-pill);overflow:hidden;background:var(--ods-accent);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-xs);font-weight:600;display:inline-flex;align-items:center;justify-content:center}.ods-timeline{list-style:none;margin:0;padding:var(--ods-space-1);display:flex;flex-direction:column;font-family:var(--ods-font-family-sans)}.ods-timeline__item{display:flex;gap:var(--ods-space-3);width:100%}.ods-timeline__rail{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0}.ods-timeline__dot{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;border-radius:var(--ods-radius-pill);color:var(--ods-surface-canvas)}.ods-timeline__dot--default{background:var(--ods-accent);box-shadow:0 0 0 2px var(--ods-accent-soft)}.ods-timeline__dot--success{background:var(--ods-status-success);box-shadow:0 0 0 2px var(--ods-status-success-bg)}.ods-timeline__dot--warning{background:var(--ods-status-pending);box-shadow:0 0 0 2px var(--ods-status-pending-bg)}.ods-timeline__dot--error{background:var(--ods-status-failed);box-shadow:0 0 0 2px var(--ods-status-failed-bg)}.ods-timeline__dot--muted{background:var(--ods-text-tertiary);box-shadow:0 0 0 2px var(--ods-surface-muted)}.ods-timeline__dot>svg,.ods-timeline__dot>*{width:6px;height:6px}.ods-timeline__line{flex:1 1 auto;width:1px;background:var(--ods-border-default);min-height:24px}.ods-timeline__body{display:flex;flex-direction:column;gap:2px;padding:0 0 var(--ods-space-4);flex:1 1 auto;min-width:0}.ods-timeline .ods-timeline__item:last-child .ods-timeline__body{padding-bottom:0}.ods-timeline__title{font-size:var(--ods-font-size-base);font-weight:600;color:var(--ods-text-primary);line-height:var(--ods-line-height-tight)}.ods-timeline__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-snug)}.ods-timeline__meta{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-timeline--sm .ods-timeline__title{font-size:var(--ods-font-size-sm)}.ods-timeline--sm .ods-timeline__desc,.ods-timeline--sm .ods-timeline__meta{font-size:var(--ods-font-size-xs)}.ods-timeline--sm .ods-timeline__dot{width:8px;height:8px}.ods-chat{display:flex;align-items:flex-start;gap:var(--ods-space-2);width:100%;font-family:var(--ods-font-family-sans)}.ods-chat__avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ods-radius-pill);flex-shrink:0;color:var(--ods-surface-canvas);font-size:var(--ods-font-size-sm);font-weight:600;overflow:hidden}.ods-chat__avatar img{width:100%;height:100%;object-fit:cover}.ods-chat__bubble{display:flex;flex-direction:column;gap:var(--ods-space-1);max-width:85%;padding:var(--ods-space-2) var(--ods-space-3);border-radius:var(--ods-radius-2)}.ods-chat__body{font-size:var(--ods-font-size-base);line-height:var(--ods-line-height-base)}.ods-chat__meta{display:flex;align-items:center;gap:var(--ods-space-1);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);line-height:1}.ods-chat__author{font-weight:600}.ods-chat__time{opacity:.7}.ods-chat--user{flex-direction:row-reverse}.ods-chat--user .ods-chat__avatar{background:var(--ods-accent)}.ods-chat--user .ods-chat__bubble{background:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-chat--user .ods-chat__meta{justify-content:flex-end;color:hsla(0,0%,100%,.85)}.ods-chat--bot .ods-chat__avatar{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-chat--bot .ods-chat__bubble{background:var(--ods-surface-subtle);color:var(--ods-text-primary);border:1px solid var(--ods-border-default)}.ods-chat--bot .ods-chat__meta{color:var(--ods-text-tertiary)}.ods-chat--system .ods-chat__avatar{background:var(--ods-surface-muted);color:var(--ods-text-tertiary)}.ods-chat--system .ods-chat__bubble{background:var(--ods-surface-canvas);color:var(--ods-text-body);border:1px dashed var(--ods-border-default)}.ods-chat--system .ods-chat__meta{color:var(--ods-text-tertiary)}.ods-progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:var(--ods-font-family-sans);color:var(--ods-accent)}.ods-progress-ring__svg{display:block}.ods-progress-ring__track{stroke:var(--ods-border-default)}.ods-progress-ring__fill{stroke:currentColor;transition:stroke-dashoffset var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));will-change:stroke-dashoffset}.ods-progress-ring__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.ods-progress-ring__value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-md);font-weight:500;color:var(--ods-text-primary)}.ods-progress-ring--indeterminate .ods-progress-ring__svg{animation:ods-progress-ring-spin 900ms linear infinite}@keyframes ods-progress-ring-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.ods-popover__anchor{display:inline-flex;align-items:center;cursor:pointer}.ods-popover{min-width:200px;max-width:320px;padding:var(--ods-space-3) var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);line-height:var(--ods-line-height-base)}.ods-popover__arrow{position:absolute;width:10px;height:10px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);transform:rotate(45deg);pointer-events:none;z-index:-1}.ods-popover[data-placement=top] .ods-popover__arrow{bottom:-6px;left:50%;margin-left:-5px;border-top:none;border-left:none}.ods-popover[data-placement=bottom] .ods-popover__arrow{top:-6px;left:50%;margin-left:-5px;border-bottom:none;border-right:none}.ods-popover[data-placement=left] .ods-popover__arrow{right:-6px;top:50%;margin-top:-5px;border-left:none;border-bottom:none}.ods-popover[data-placement=right] .ods-popover__arrow{left:-6px;top:50%;margin-top:-5px;border-right:none;border-top:none}.ods-hover-card__anchor{display:inline-flex;align-items:center}.ods-hover-card{min-width:240px;max-width:320px;padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-base);color:var(--ods-text-primary);line-height:var(--ods-line-height-base)}.ods-sheet__backdrop{position:fixed;inset:0;z-index:900;background:rgba(10,10,10,.45)}.ods-sheet{position:fixed;z-index:901;display:flex;flex-direction:column;background:var(--ods-surface-canvas);font-family:var(--ods-font-family-sans);will-change:transform;outline:none;box-shadow:var(--ods-shadow-pop);border:1px solid var(--ods-border-default)}.ods-sheet--bottom{left:0;right:0;bottom:0;border-radius:var(--ods-radius-2) var(--ods-radius-2) 0 0;max-height:100vh}.ods-sheet--top{left:0;right:0;top:0;border-radius:0 0 var(--ods-radius-2) var(--ods-radius-2);max-height:100vh}.ods-sheet--left{top:0;bottom:0;left:0;border-radius:0 var(--ods-radius-2) var(--ods-radius-2) 0;max-width:100vw}.ods-sheet--right{top:0;bottom:0;right:0;border-radius:var(--ods-radius-2) 0 0 var(--ods-radius-2);max-width:100vw}.ods-sheet__handle{width:36px;height:3px;background:var(--ods-border-strong);border-radius:var(--ods-radius-pill);margin:var(--ods-space-2) auto 0;flex-shrink:0}.ods-sheet__head{display:flex;flex-direction:column;gap:var(--ods-space-1);padding:var(--ods-space-4) var(--ods-space-5) var(--ods-space-3);border-bottom:1px solid var(--ods-border-default);flex-shrink:0}.ods-sheet__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-xl);font-weight:500;color:var(--ods-text-primary);letter-spacing:var(--ods-tracking-tight);line-height:var(--ods-line-height-tight)}.ods-sheet__desc{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base)}.ods-sheet__body{flex:1 1 auto;overflow-y:auto;padding:var(--ods-space-4) var(--ods-space-5)}.ods-sheet__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ods-space-2);padding:var(--ods-space-3) var(--ods-space-5);border-top:1px solid var(--ods-border-default);flex-shrink:0}.ods-bar-chart{display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-bar-chart__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3)}.ods-bar-chart__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-bar-chart__total{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary)}.ods-bar-chart__bars{display:flex;align-items:flex-end;gap:var(--ods-space-2)}.ods-bar-chart__col{flex:1 1 auto;display:flex;align-items:flex-end;height:100%}.ods-bar-chart__bar{width:100%;background:var(--ods-accent);transition:height var(--ods-duration-base, 180ms) var(--ods-ease-out, ease-out)}.ods-bar-chart__labels{display:flex;gap:var(--ods-space-2)}.ods-bar-chart__label{flex:1 1 auto;text-align:center;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-bar-chart__label--hi{color:var(--ods-accent);font-weight:600}.ods-line-chart{display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);color:var(--ods-accent)}.ods-line-chart__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-3)}.ods-line-chart__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-line-chart__total{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-lg);font-weight:500;color:var(--ods-text-primary)}.ods-line-chart__svg{width:100%;display:block}.ods-donut{display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans)}.ods-donut__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary);align-self:flex-start}.ods-donut__ring{position:relative;display:inline-block}.ods-donut__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;pointer-events:none}.ods-donut__value{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xl);font-weight:500;color:var(--ods-text-primary)}.ods-donut__small{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-donut__legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ods-space-1);width:100%}.ods-donut__legend-item{display:flex;align-items:center;gap:var(--ods-space-2);font-size:var(--ods-font-size-sm);color:var(--ods-text-primary)}.ods-donut__dot{width:8px;height:8px;border-radius:var(--ods-radius-1);flex-shrink:0}.ods-donut__legend-label{flex:1 1 auto}.ods-donut__legend-pct{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-weight:500;color:var(--ods-text-body)}.ods-sparkline{display:inline-block;vertical-align:middle;color:var(--ods-accent)}.ods-sparkline path{transition:stroke var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-auth-card{display:flex;flex-direction:column;gap:var(--ods-space-4);width:400px;max-width:100%;padding:var(--ods-space-7);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-2);box-shadow:var(--ods-shadow-pop);font-family:var(--ods-font-family-sans)}.ods-auth-card__logo{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--ods-radius-1);background:var(--ods-accent);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-lg);font-weight:600}.ods-auth-card__head{display:flex;flex-direction:column;align-items:center;gap:var(--ods-space-1);text-align:center}.ods-auth-card__title-row{display:flex;align-items:center;justify-content:center;gap:var(--ods-space-2);flex-wrap:wrap}.ods-auth-card__title{margin:0;font-family:var(--ods-font-family-serif);font-size:var(--ods-font-size-2xl);font-weight:500;letter-spacing:var(--ods-tracking-tight);color:var(--ods-text-primary);line-height:var(--ods-line-height-tight);text-align:center}.ods-auth-card__scope{display:inline-flex;align-items:center}.ods-auth-card__desc{margin:0;font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:var(--ods-line-height-base);text-align:center}.ods-auth-card__body{display:flex;flex-direction:column;gap:var(--ods-space-3)}.ods-auth-card__divider{display:block;width:100%}.ods-auth-card__footer{display:flex;align-items:center;justify-content:center;gap:var(--ods-space-1);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-auth-divider{display:flex;align-items:center;gap:var(--ods-space-3);width:100%}.ods-auth-divider__line{flex:1 1 0;min-width:0;height:1px;background:var(--ods-border-default)}.ods-auth-divider__label{flex:0 0 auto;font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;color:var(--ods-text-tertiary);letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;padding:0 var(--ods-space-1)}.ods-auth-section{display:flex;flex-direction:column;gap:var(--ods-space-2)}.ods-auth-section__head{display:flex;flex-direction:column;gap:1px}.ods-auth-section__label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-body);text-transform:uppercase}.ods-auth-section__desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-snug)}.ods-auth-section__body{display:flex;flex-direction:column;gap:var(--ods-space-2)}.ods-auth-section+.ods-auth-section{margin-top:var(--ods-space-1);padding-top:var(--ods-space-3);border-top:1px solid var(--ods-border-default)}.ods-auth-tabs{display:flex;flex-direction:column;gap:var(--ods-space-3)}.ods-auth-tabs__list{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1px;padding:1px;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-auth-tabs__tab{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:var(--ods-space-2) var(--ods-space-2);border:0;background:rgba(0,0,0,0);border-radius:var(--ods-radius-1);cursor:pointer;text-align:left;font-family:inherit;color:var(--ods-text-body);transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-auth-tabs__tab:hover{color:var(--ods-text-primary)}.ods-auth-tabs__tab--active{background:var(--ods-surface-canvas);color:var(--ods-text-primary)}.ods-auth-tabs__icon{display:inline-flex;align-items:center;margin-bottom:1px;color:var(--ods-accent)}.ods-auth-tabs__label{font-size:var(--ods-font-size-base);font-weight:600}.ods-auth-tabs__desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);line-height:var(--ods-line-height-snug)}.ods-auth-tabs__panel{display:flex;flex-direction:column;gap:var(--ods-space-3)}.ods-auth-badge{display:inline-flex;align-items:center;padding:1px var(--ods-space-2);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;border:1px solid rgba(0,0,0,0)}.ods-auth-badge--neutral{background:var(--ods-surface-muted);color:var(--ods-text-body);border-color:var(--ods-border-default)}.ods-auth-badge--org{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-auth-badge--personal{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-auth-badge--developer{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-social-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ods-space-2);height:var(--ods-layout-control-height);padding:0 var(--ods-space-3);border:1px solid var(--ods-border-strong);background:var(--ods-surface-canvas);color:var(--ods-text-primary);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-md);font-weight:500;cursor:pointer;transition:background-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-social-btn:hover{background:var(--ods-surface-muted);border-color:var(--ods-text-tertiary)}.ods-social-btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-social-btn:disabled{opacity:.5;cursor:not-allowed}.ods-social-btn--full{width:100%}.ods-social-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.ods-social-btn--github,.ods-social-btn--apple,.ods-social-btn--twitter{background:var(--ods-text-primary);border-color:var(--ods-text-primary);color:var(--ods-surface-canvas)}.ods-social-btn--github:hover,.ods-social-btn--apple:hover,.ods-social-btn--twitter:hover{background:#000;border-color:#000}.ods-social-btn--sm{height:var(--ods-layout-control-height-sm);font-size:var(--ods-font-size-sm);padding:0 var(--ods-space-2)}.ods-social-btn--lg{height:var(--ods-layout-control-height-lg);font-size:var(--ods-font-size-md);padding:0 var(--ods-space-4)}.ods-resizable{display:flex;width:100%;height:100%;min-height:0;position:relative}.ods-resizable--horizontal{flex-direction:row}.ods-resizable--vertical{flex-direction:column}.ods-resizable--dragging{cursor:col-resize;user-select:none}.ods-resizable--dragging .ods-resizable__handle{background:var(--ods-accent)}.ods-resizable--vertical.ods-resizable--dragging{cursor:row-resize}.ods-resizable__panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.ods-resizable__panel--first{flex:0 0 auto}.ods-resizable__panel--second{flex:1 1 auto}.ods-resizable__handle{position:relative;flex-shrink:0;background:var(--ods-border-default);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));outline:none;z-index:1}.ods-resizable--horizontal .ods-resizable__handle{width:1px;cursor:col-resize}.ods-resizable--horizontal .ods-resizable__handle::before{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px}.ods-resizable--vertical .ods-resizable__handle{height:1px;cursor:row-resize}.ods-resizable--vertical .ods-resizable__handle::before{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-4px}.ods-resizable__handle:hover{background:var(--ods-accent)}.ods-resizable__handle:focus-visible{background:var(--ods-accent);outline:2px solid var(--ods-border-focus);outline-offset:2px}.ods-resizable__grip{position:absolute;background:var(--ods-text-tertiary);border-radius:var(--ods-radius-pill);opacity:0;transition:opacity var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-resizable--horizontal .ods-resizable__grip{top:50%;left:50%;width:2px;height:24px;transform:translate(-50%, -50%)}.ods-resizable--vertical .ods-resizable__grip{left:50%;top:50%;width:24px;height:2px;transform:translate(-50%, -50%)}.ods-resizable__handle:hover .ods-resizable__grip,.ods-resizable--dragging .ods-resizable__handle .ods-resizable__grip{opacity:1;background:var(--ods-surface-canvas)}.ods-resizable-panel{position:relative;flex-shrink:0;min-width:0;height:100%}.ods-resizable-panel__content{height:100%;overflow:auto}.ods-resizable-panel__handle{position:absolute;top:0;right:-2px;bottom:0;width:4px;cursor:col-resize;background:rgba(0,0,0,0);outline:none;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-resizable-panel__handle:hover{background:var(--ods-accent)}.ods-resizable-panel__handle:focus-visible{background:var(--ods-accent);outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-resizable-panel__grip{display:none}.ods-prompt-input{position:relative;display:flex;flex-direction:column;width:100%;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-2);font-family:var(--ods-font-family-sans);transition:border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),box-shadow var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-prompt-input:focus-within{border-color:var(--ods-border-focus);box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-prompt-input--running{border-color:var(--ods-accent)}.ods-prompt-input--error{border-color:var(--ods-status-failed)}.ods-prompt-input--disabled{opacity:.6;pointer-events:none}.ods-prompt-input--drag-over{border-color:var(--ods-accent);box-shadow:0 0 0 3px var(--ods-accent-border);background:var(--ods-accent-soft)}.ods-prompt-input__drop-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ods-space-1);background:var(--ods-accent-soft);border:2px dashed var(--ods-accent);border-radius:inherit;color:var(--ods-accent);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;pointer-events:none}.ods-prompt-input__attachments{display:flex;flex-wrap:wrap;gap:var(--ods-space-1);padding:var(--ods-space-2) var(--ods-space-3) 0}.ods-prompt-input__chip{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:22px;padding:0 var(--ods-space-1) 0 var(--ods-space-2);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);color:var(--ods-text-body);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);max-width:220px}.ods-prompt-input__chip-glyph{display:inline-flex;align-items:center;color:var(--ods-text-tertiary);flex-shrink:0}.ods-prompt-input__chip-thumb{width:14px;height:14px;border-radius:var(--ods-radius-1);object-fit:cover}.ods-prompt-input__chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--ods-text-primary)}.ods-prompt-input__chip-size{color:var(--ods-text-tertiary);flex-shrink:0}.ods-prompt-input__chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;flex-shrink:0}.ods-prompt-input__chip-remove:hover{background:rgba(0,0,0,.06);color:var(--ods-text-primary)}.ods-prompt-input__field{position:relative;display:flex;flex-direction:column}.ods-prompt-input__textarea{width:100%;min-height:28px;padding:var(--ods-space-3) var(--ods-space-3) var(--ods-space-1);border:0;background:rgba(0,0,0,0);outline:none;font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-md);line-height:1.5;color:var(--ods-text-primary);resize:none}.ods-prompt-input__textarea::placeholder{color:var(--ods-text-disabled)}.ods-prompt-input__suggestions{list-style:none;margin:0;padding:var(--ods-space-1);position:absolute;bottom:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);box-shadow:var(--ods-shadow-pop);z-index:50}.ods-prompt-input__suggestion{display:flex;align-items:flex-start;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-prompt-input__suggestion:hover,.ods-prompt-input__suggestion--active{background:var(--ods-surface-muted)}.ods-prompt-input__suggestion-icon{display:inline-flex;width:14px;height:14px;margin-top:2px;color:var(--ods-accent);flex-shrink:0}.ods-prompt-input__suggestion-text{display:flex;flex-direction:column;gap:1px;min-width:0}.ods-prompt-input__suggestion-label{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary)}.ods-prompt-input__suggestion-desc{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-prompt-input__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2) var(--ods-space-1) var(--ods-space-3);border-top:1px solid var(--ods-border-soft)}.ods-prompt-input__toolbar-left,.ods-prompt-input__toolbar-right{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-prompt-input__count{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);letter-spacing:var(--ods-tracking-mono);margin-right:var(--ods-space-1)}.ods-prompt-input__count--over{color:var(--ods-status-failed-fg);font-weight:600}.ods-prompt-input__send{display:inline-flex;align-items:center;justify-content:center;gap:var(--ods-space-1);height:var(--ods-layout-control-height);min-width:var(--ods-layout-control-height);padding:0 var(--ods-space-2);border:1px solid var(--ods-accent);background:var(--ods-accent);color:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-prompt-input__send:hover:not(:disabled){background:var(--ods-accent-hover);border-color:var(--ods-accent-hover)}.ods-prompt-input__send--disabled,.ods-prompt-input__send:disabled{background:var(--ods-surface-muted);border-color:var(--ods-border-default);color:var(--ods-text-disabled);cursor:not-allowed}.ods-prompt-input__send--stop{background:var(--ods-status-failed);border-color:var(--ods-status-failed);color:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase}.ods-prompt-input__send--stop:hover{background:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-fg)}.ods-prompt-input__quick-actions{display:flex;flex-wrap:wrap;gap:var(--ods-space-1);padding:var(--ods-space-1) var(--ods-space-2) var(--ods-space-2);border-top:1px solid var(--ods-border-soft)}.ods-prompt-input__quick-action{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 var(--ods-space-2);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-pill);font-family:var(--ods-font-family-sans);font-size:var(--ods-font-size-xs);font-weight:500;color:var(--ods-text-body);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-prompt-input__quick-action:hover{background:var(--ods-accent-soft);border-color:var(--ods-accent-border);color:var(--ods-accent)}.ods-prompt-input__quick-action:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-prompt-input__quick-action-icon{display:inline-flex;width:12px;height:12px;color:var(--ods-text-tertiary)}.ods-prompt-input__quick-action:hover .ods-prompt-input__quick-action-icon{color:var(--ods-accent)}.ods-prompt-input__hint{padding:var(--ods-space-1) var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary)}.ods-sortable{display:flex;width:100%;position:relative}.ods-sortable--vertical{flex-direction:column}.ods-sortable--horizontal{flex-direction:row}.ods-sortable--disabled{opacity:.6;pointer-events:none}.ods-sortable--dragging .ods-sortable__item:not(.ods-sortable__item--dragging){transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sortable__item{position:relative;transition:opacity var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sortable__item--dragging{opacity:.45;cursor:grabbing}.ods-sortable__item--kb-active{outline:2px solid var(--ods-accent);outline-offset:1px;border-radius:var(--ods-radius-1)}.ods-sortable__indicator{position:absolute;background:var(--ods-accent);opacity:0;pointer-events:none;transition:opacity var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1));z-index:2}.ods-sortable--vertical .ods-sortable__indicator{left:0;right:0;height:2px}.ods-sortable--vertical .ods-sortable__indicator::before,.ods-sortable--vertical .ods-sortable__indicator::after{content:"";position:absolute;top:-2px;width:6px;height:6px;border:2px solid var(--ods-accent);background:var(--ods-surface-canvas);border-radius:var(--ods-radius-pill)}.ods-sortable--vertical .ods-sortable__indicator::before{left:-3px}.ods-sortable--vertical .ods-sortable__indicator::after{right:-3px}.ods-sortable--vertical .ods-sortable__indicator--before{top:-1px}.ods-sortable--vertical .ods-sortable__indicator--after{bottom:-1px}.ods-sortable--horizontal .ods-sortable__indicator{top:0;bottom:0;width:2px}.ods-sortable--horizontal .ods-sortable__indicator::before,.ods-sortable--horizontal .ods-sortable__indicator::after{content:"";position:absolute;left:-2px;width:6px;height:6px;border:2px solid var(--ods-accent);background:var(--ods-surface-canvas);border-radius:var(--ods-radius-pill)}.ods-sortable--horizontal .ods-sortable__indicator::before{top:-3px}.ods-sortable--horizontal .ods-sortable__indicator::after{bottom:-3px}.ods-sortable--horizontal .ods-sortable__indicator--before{left:-1px}.ods-sortable--horizontal .ods-sortable__indicator--after{right:-1px}.ods-sortable__item--drop-before .ods-sortable__indicator--before{opacity:1}.ods-sortable__item--drop-after .ods-sortable__indicator--after{opacity:1}.ods-sortable-handle{display:inline-flex;align-items:center;justify-content:center;width:14px;height:18px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-disabled);cursor:grab;flex-shrink:0;border-radius:var(--ods-radius-1);transition:color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-sortable-handle:hover{color:var(--ods-accent)}.ods-sortable-handle:active{cursor:grabbing}.ods-sortable-handle:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px;color:var(--ods-accent)}.ods-sortable__item--kb-active .ods-sortable-handle{color:var(--ods-accent);background:var(--ods-accent-soft)}.ods-sortable__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.ods-code-editor{display:flex;flex-direction:column;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);overflow:hidden}.ods-code-editor--readonly{background:var(--ods-surface-subtle)}.ods-code-editor:focus-within{border-color:var(--ods-border-focus);box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-code-editor__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-code-editor__toolbar-left,.ods-code-editor__toolbar-right{display:inline-flex;align-items:center;gap:var(--ods-space-1)}.ods-code-editor__toolbar-left{gap:var(--ods-space-2)}.ods-code-editor__lang{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);background:var(--ods-surface-muted);color:var(--ods-text-body);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-code-editor__lines{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-code-editor__status{font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-code-editor__btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-code-editor__btn:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-code-editor__btn:disabled{opacity:.4;cursor:not-allowed}.ods-code-editor__btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-code-editor__btn--active{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-code-editor__btn--success{color:var(--ods-status-success-fg);background:var(--ods-status-success-bg);border-color:var(--ods-status-success-bd)}.ods-code-editor__find{display:flex;align-items:center;gap:var(--ods-space-1);padding:var(--ods-space-1) var(--ods-space-2);background:var(--ods-surface-canvas);border-bottom:1px solid var(--ods-border-default);color:var(--ods-text-tertiary)}.ods-code-editor__find-input{flex:1 1 auto;min-width:0;height:22px;padding:0 var(--ods-space-2);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);outline:none;transition:border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-code-editor__find-input:focus{border-color:var(--ods-border-focus)}.ods-code-editor__find-input::placeholder{color:var(--ods-text-disabled)}.ods-code-editor__find-count{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);min-width:56px;text-align:center}.ods-code-editor__body{display:flex;flex:1 1 auto;min-height:0;overflow:hidden;background:var(--ods-surface-canvas);position:relative}.ods-code-editor__gutter{flex-shrink:0;display:flex;flex-direction:column;padding:var(--ods-space-2) 0;background:var(--ods-surface-subtle);border-right:1px solid var(--ods-border-default);overflow:hidden;user-select:none;pointer-events:none;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-disabled);min-width:36px}.ods-code-editor__line-no{display:inline-block;width:100%;padding:0 var(--ods-space-2);text-align:right;line-height:20px}.ods-code-editor__line-no--active{color:var(--ods-accent);font-weight:600}.ods-code-editor__textarea{flex:1 1 auto;border:0;outline:none;padding:var(--ods-space-2) var(--ods-space-3);background:rgba(0,0,0,0);resize:none;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-sm);line-height:20px;color:var(--ods-text-primary);white-space:pre;overflow:auto;tab-size:2}.ods-code-editor__textarea::placeholder{color:var(--ods-text-disabled);font-style:italic}.ods-code-editor--sql .ods-code-editor__textarea{caret-color:var(--ods-accent)}.ods-code-editor--wrap .ods-code-editor__textarea{white-space:pre-wrap;word-break:break-word;overflow-x:hidden}.ods-code-editor__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:4px var(--ods-space-2);background:var(--ods-surface-subtle);border-top:1px solid var(--ods-border-soft);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);letter-spacing:var(--ods-tracking-mono)}.ods-code-editor__pos{font-variant-numeric:tabular-nums lining-nums}.ods-code-editor__shortcut-hint{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.ods-code-editor__sep{color:var(--ods-text-disabled);margin:0 2px}.ods-code-editor__kbd{display:inline-flex;align-items:center;justify-content:center;height:16px;min-width:18px;padding:0 4px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:600;color:var(--ods-text-body);margin-right:2px}.ods-monaco{display:flex;flex-direction:column;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);overflow:hidden}.ods-monaco--readonly{background:var(--ods-surface-subtle)}.ods-monaco:focus-within{border-color:var(--ods-border-focus);box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-monaco__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:var(--ods-space-1) var(--ods-space-2);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default);font-family:var(--ods-font-family-sans)}.ods-monaco__toolbar-left,.ods-monaco__toolbar-right{display:inline-flex;align-items:center;gap:var(--ods-space-1);min-width:0}.ods-monaco__toolbar-left{gap:var(--ods-space-2)}.ods-monaco__lang{display:inline-flex;align-items:center;padding:1px var(--ods-space-1);background:var(--ods-surface-muted);color:var(--ods-text-body);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);flex-shrink:0}.ods-monaco__lines{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-monaco__status{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-monaco__btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-monaco__btn:hover:not(:disabled){background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-monaco__btn:disabled{opacity:.4;cursor:not-allowed}.ods-monaco__btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-monaco__btn--active{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-monaco__btn--success{color:var(--ods-status-success-fg);background:var(--ods-status-success-bg);border-color:var(--ods-status-success-bd)}.ods-monaco__body{display:flex;flex:1 1 auto;min-height:0;position:relative}.ods-monaco__body>section,.ods-monaco__body>div{flex:1 1 auto;min-width:0}.ods-monaco__loading{display:flex;align-items:center;justify-content:center;gap:var(--ods-space-2);height:100%;padding:var(--ods-space-4);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);letter-spacing:var(--ods-tracking-mono)}.ods-monaco__loading-spin{display:inline-flex;color:var(--ods-accent);animation:ods-monaco-spin .9s linear infinite}@keyframes ods-monaco-spin{to{transform:rotate(360deg)}}.ods-monaco__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--ods-space-2);padding:4px var(--ods-space-2);background:var(--ods-surface-subtle);border-top:1px solid var(--ods-border-soft);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);letter-spacing:var(--ods-tracking-mono)}.ods-monaco__pos{font-variant-numeric:tabular-nums lining-nums}.ods-monaco__shortcut-hint{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.ods-monaco__sep{color:var(--ods-text-disabled);margin:0 2px}.ods-monaco__kbd{display:inline-flex;align-items:center;justify-content:center;height:16px;min-width:18px;padding:0 4px;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:600;color:var(--ods-text-body);margin-right:2px}.ods-monaco-diff{display:flex;flex-direction:column;border:1px solid var(--ods-border-strong);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);font-family:var(--ods-font-family-mono);overflow:hidden}.ods-monaco-diff:focus-within{border-color:var(--ods-border-focus);box-shadow:0 0 0 3px var(--ods-accent-border)}.ods-monaco-diff__labels{display:inline-flex;align-items:center;gap:var(--ods-space-2);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono);color:var(--ods-text-tertiary)}.ods-monaco-diff__label{padding:1px var(--ods-space-1);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1)}.ods-monaco-diff__label--orig{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd)}.ods-monaco-diff__label--mod{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-monaco-diff__arrow{color:var(--ods-text-disabled)}.ods-json-viewer{display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);overflow:hidden;font-family:var(--ods-font-family-mono)}.ods-json-viewer__head{display:flex;align-items:center;gap:var(--ods-space-2);justify-content:space-between;padding:var(--ods-space-1) var(--ods-space-3);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default)}.ods-json-viewer__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-json-viewer__status{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-json-viewer__body{padding:var(--ods-space-1) 0;overflow:auto;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);line-height:20px}.ods-json-viewer__row{display:flex;align-items:center;gap:4px;padding:0 var(--ods-space-3);white-space:nowrap}.ods-json-viewer__row--container{cursor:pointer}.ods-json-viewer__row--container:hover{background:var(--ods-surface-subtle)}.ods-json-viewer__row--close{padding-left:var(--ods-space-3)}.ods-json-viewer__caret{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;border-radius:var(--ods-radius-1);flex-shrink:0;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-json-viewer__caret:hover{color:var(--ods-text-primary);background:var(--ods-surface-muted)}.ods-json-viewer__caret--open{transform:rotate(90deg);color:var(--ods-accent)}.ods-json-viewer__caret-spacer{display:inline-block;width:12px;flex-shrink:0}.ods-json-viewer__key{color:var(--ods-text-primary);font-weight:500}.ods-json-viewer__key--index{color:var(--ods-text-tertiary)}.ods-json-viewer__colon{color:var(--ods-text-tertiary)}.ods-json-viewer__comma{color:var(--ods-text-tertiary)}.ods-json-viewer__bracket{color:var(--ods-text-body);font-weight:500}.ods-json-viewer__preview{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin:0 4px}.ods-json-viewer__value{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums lining-nums}.ods-json-viewer__value--string{color:var(--ods-status-success-fg)}.ods-json-viewer__value--number{color:var(--ods-status-running-fg)}.ods-json-viewer__value--boolean{color:var(--ods-status-pending-fg)}.ods-json-viewer__value--null{color:var(--ods-text-disabled)}.ods-json-viewer__copy{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;opacity:0;transition:opacity var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-json-viewer__row:hover .ods-json-viewer__copy{opacity:1}.ods-json-viewer__copy:hover{color:var(--ods-text-primary);background:var(--ods-surface-muted)}.ods-xml-viewer{display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);overflow:hidden;font-family:var(--ods-font-family-mono)}.ods-xml-viewer__head{display:flex;align-items:center;gap:var(--ods-space-2);justify-content:space-between;padding:var(--ods-space-1) var(--ods-space-3);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default)}.ods-xml-viewer__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-xml-viewer__status{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-xml-viewer__status--error{color:var(--ods-status-failed-fg)}.ods-xml-viewer__body{padding:var(--ods-space-1) 0;overflow:auto;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);line-height:20px}.ods-xml-viewer__raw{margin:0;padding:var(--ods-space-2) var(--ods-space-3);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-sm);color:var(--ods-text-body);white-space:pre-wrap;word-break:break-word}.ods-xml-viewer__row{display:flex;align-items:center;gap:4px;padding:0 var(--ods-space-3);white-space:nowrap;min-width:0}.ods-xml-viewer__row--element{cursor:pointer}.ods-xml-viewer__row--element:hover{background:var(--ods-surface-subtle)}.ods-xml-viewer__caret{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;border-radius:var(--ods-radius-1);flex-shrink:0;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-xml-viewer__caret:hover{color:var(--ods-text-primary);background:var(--ods-surface-muted)}.ods-xml-viewer__caret--open{transform:rotate(90deg);color:var(--ods-accent)}.ods-xml-viewer__caret-spacer{display:inline-block;width:12px;flex-shrink:0}.ods-xml-viewer__bracket{color:var(--ods-text-disabled);font-weight:500}.ods-xml-viewer__tag{color:var(--ods-status-failed-fg);font-weight:600}.ods-xml-viewer__attr{display:inline-flex;align-items:center;margin-left:var(--ods-space-1)}.ods-xml-viewer__attr-name{color:var(--ods-status-pending-fg);font-weight:500}.ods-xml-viewer__attr-eq{color:var(--ods-text-disabled)}.ods-xml-viewer__attr-value{color:var(--ods-status-success-fg)}.ods-xml-viewer__preview{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);margin:0 4px}.ods-xml-viewer__text{color:var(--ods-text-body);white-space:pre-wrap;word-break:break-word}.ods-xml-viewer__comment{color:var(--ods-text-tertiary);font-style:italic;white-space:pre-wrap}.ods-xml-viewer__cdata{color:var(--ods-status-running-fg);white-space:pre-wrap;word-break:break-word}.ods-xml-viewer__pi{color:var(--ods-status-pending-fg);font-style:italic}.ods-yaml-viewer{display:flex;flex-direction:column;background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);overflow:hidden;font-family:var(--ods-font-family-mono)}.ods-yaml-viewer__head{display:flex;align-items:center;gap:var(--ods-space-2);justify-content:space-between;padding:var(--ods-space-1) var(--ods-space-3);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-default)}.ods-yaml-viewer__title{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-text-tertiary)}.ods-yaml-viewer__status{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-yaml-viewer__body{padding:var(--ods-space-1) 0;overflow:auto;font-size:var(--ods-font-size-sm);color:var(--ods-text-primary);line-height:20px}.ods-yaml-viewer__line{display:flex;align-items:center;gap:0;padding:0 var(--ods-space-2) 0 0;min-height:20px;white-space:nowrap;position:relative}.ods-yaml-viewer__line--key:hover,.ods-yaml-viewer__line--sequence:hover{background:var(--ods-surface-subtle)}.ods-yaml-viewer__line--collapsed .ods-yaml-viewer__value{opacity:.6}.ods-yaml-viewer__line-no{flex-shrink:0;width:36px;padding:0 var(--ods-space-2) 0 0;text-align:right;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-disabled);user-select:none;border-right:1px solid var(--ods-border-soft);margin-right:var(--ods-space-2)}.ods-yaml-viewer__indent{display:inline-block;flex-shrink:0}.ods-yaml-viewer__caret{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);cursor:pointer;border-radius:var(--ods-radius-1);flex-shrink:0;margin-right:4px;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-yaml-viewer__caret:hover{color:var(--ods-text-primary);background:var(--ods-surface-muted)}.ods-yaml-viewer__caret--open{transform:rotate(90deg);color:var(--ods-accent)}.ods-yaml-viewer__caret-spacer{display:inline-block;width:12px;margin-right:4px;flex-shrink:0}.ods-yaml-viewer__key{color:var(--ods-text-primary);font-weight:500}.ods-yaml-viewer__colon{color:var(--ods-text-disabled)}.ods-yaml-viewer__dash{color:var(--ods-accent);font-weight:600}.ods-yaml-viewer__value{font-variant-numeric:tabular-nums lining-nums}.ods-yaml-viewer__value--string{color:var(--ods-status-success-fg)}.ods-yaml-viewer__value--number{color:var(--ods-status-running-fg)}.ods-yaml-viewer__value--boolean{color:var(--ods-status-pending-fg)}.ods-yaml-viewer__value--null{color:var(--ods-text-disabled)}.ods-yaml-viewer__comment{color:var(--ods-text-tertiary);font-style:italic}.ods-yaml-viewer__preview{color:var(--ods-text-tertiary);font-style:italic}.ods-file-dropzone-wrap{display:flex;flex-direction:column;gap:var(--ods-space-2);width:100%}.ods-file-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ods-space-2);padding:var(--ods-space-7) var(--ods-space-4);background:var(--ods-surface-canvas);border:1px dashed var(--ods-border-strong);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);color:var(--ods-text-primary);cursor:pointer;transition:border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),padding var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--ods-duration-fast, 120ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.2, 0.64, 1));text-align:center;user-select:none;outline:none}.ods-file-dropzone--compact{padding:var(--ods-space-4) var(--ods-space-3)}.ods-file-dropzone--has-files{padding:var(--ods-space-4) var(--ods-space-3)}.ods-file-dropzone:focus-visible{border-color:var(--ods-border-focus);outline:2px solid var(--ods-border-focus);outline-offset:2px}.ods-file-dropzone:hover:not(.ods-file-dropzone--disabled):not(.ods-file-dropzone--over){background:var(--ods-surface-subtle);border-color:var(--ods-text-tertiary)}.ods-file-dropzone--over{background:var(--ods-accent-soft);border-color:var(--ods-accent);border-style:solid;transform:scale(1.01)}.ods-file-dropzone--error{border-color:var(--ods-status-failed);background:var(--ods-status-failed-bg)}.ods-file-dropzone--disabled{opacity:.55;cursor:not-allowed}.ods-file-dropzone__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.ods-file-dropzone__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--ods-radius-pill);background:var(--ods-accent-soft);color:var(--ods-accent);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-file-dropzone--over .ods-file-dropzone__icon{background:var(--ods-accent);color:var(--ods-surface-canvas)}.ods-file-dropzone--error .ods-file-dropzone__icon{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg)}.ods-file-dropzone--compact .ods-file-dropzone__icon{width:28px;height:28px}.ods-file-dropzone--has-files .ods-file-dropzone__icon{width:28px;height:28px}.ods-file-dropzone__title{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary)}.ods-file-dropzone--compact .ods-file-dropzone__title{font-size:var(--ods-font-size-base)}.ods-file-dropzone--has-files .ods-file-dropzone__title{font-size:var(--ods-font-size-base)}.ods-file-dropzone__hint{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary)}.ods-file-dropzone__cta-row{display:inline-flex;align-items:center;gap:var(--ods-space-2);margin-top:var(--ods-space-1)}.ods-file-dropzone__cta{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono);text-transform:uppercase;color:var(--ods-accent)}.ods-file-dropzone__kbd-hint{display:inline-flex;align-items:center;gap:4px;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-file-dropzone__kbd{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:22px;padding:0 4px;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:10px;font-weight:600;color:var(--ods-text-body)}.ods-file-dropzone__error{margin-top:var(--ods-space-1);font-size:var(--ods-font-size-sm);color:var(--ods-status-failed-fg)}.ods-file-dropzone__list-wrap{display:flex;flex-direction:column;border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);background:var(--ods-surface-canvas);overflow:hidden}.ods-file-dropzone__list-head{display:flex;align-items:center;justify-content:space-between;padding:var(--ods-space-1) var(--ods-space-3);background:var(--ods-surface-subtle);border-bottom:1px solid var(--ods-border-soft);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);letter-spacing:var(--ods-tracking-mono)}.ods-file-dropzone__list-title{font-weight:600;color:var(--ods-text-primary);text-transform:uppercase}.ods-file-dropzone__list-status{color:var(--ods-text-tertiary);font-variant-numeric:tabular-nums lining-nums}.ods-file-dropzone__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ods-file-dropzone__item{display:flex;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-2) var(--ods-space-3);border-bottom:1px solid var(--ods-border-soft);background:var(--ods-surface-canvas);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-file-dropzone__item:last-child{border-bottom:0}.ods-file-dropzone__item:hover{background:var(--ods-surface-subtle)}.ods-file-dropzone__item--error{background:var(--ods-status-failed-bg)}.ods-file-dropzone__item--done .ods-file-dropzone__item-name{color:var(--ods-text-body)}.ods-file-dropzone__item-thumb{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);color:var(--ods-text-tertiary);overflow:hidden}.ods-file-dropzone__item-thumb img{width:100%;height:100%;object-fit:cover}.ods-file-dropzone__item-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.ods-file-dropzone__item-head{display:flex;align-items:baseline;gap:var(--ods-space-2);min-width:0}.ods-file-dropzone__item-name{flex:1 1 auto;min-width:0;font-size:var(--ods-font-size-sm);font-weight:500;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-file-dropzone__item-size{font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);flex-shrink:0}.ods-file-dropzone__item-error{font-size:var(--ods-font-size-xs);color:var(--ods-status-failed-fg)}.ods-file-dropzone__progress{position:relative;width:100%;height:3px;background:var(--ods-surface-muted);border-radius:var(--ods-radius-pill);overflow:hidden;margin-top:2px}.ods-file-dropzone__progress-fill{position:absolute;inset:0 auto 0 0;background:var(--ods-accent);transition:width var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-file-dropzone__item-actions{display:inline-flex;align-items:center;gap:var(--ods-space-1);flex-shrink:0}.ods-file-dropzone__item-status{display:inline-flex;align-items:center;gap:4px;font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:600;letter-spacing:var(--ods-tracking-mono)}.ods-file-dropzone__item-status--uploading{color:var(--ods-accent)}.ods-file-dropzone__item-status--done{width:18px;height:18px;justify-content:center;background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-radius:var(--ods-radius-pill)}.ods-file-dropzone__item-status--error{width:18px;height:18px;justify-content:center;color:var(--ods-status-failed-fg)}.ods-file-dropzone__spin{display:inline-flex;animation:ods-fd-spin .9s linear infinite}@keyframes ods-fd-spin{to{transform:rotate(360deg)}}.ods-file-dropzone__item-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;background:rgba(0,0,0,0);color:var(--ods-text-tertiary);border-radius:var(--ods-radius-1);cursor:pointer;transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-file-dropzone__item-btn:hover{background:var(--ods-surface-muted);color:var(--ods-text-primary)}.ods-file-dropzone__item-btn:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-agent-card{display:flex;flex-direction:column;gap:var(--ods-space-3);padding:var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-agent-card--interactive{cursor:pointer}.ods-agent-card--interactive:hover{background:var(--ods-surface-subtle);border-color:var(--ods-border-strong)}.ods-agent-card--interactive:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:1px}.ods-agent-card__head{display:flex;align-items:center;gap:var(--ods-space-3)}.ods-agent-card__avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--ods-radius-1);background:var(--ods-accent);color:var(--ods-surface-canvas);font-size:var(--ods-font-size-md);font-weight:600;flex-shrink:0}.ods-agent-card__id{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.ods-agent-card__name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-agent-card__role{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-agent-card__status{display:inline-flex;align-items:center;gap:var(--ods-space-1);height:22px;padding:0 var(--ods-space-2);border-radius:var(--ods-radius-1);border:1px solid rgba(0,0,0,0);font-size:var(--ods-font-size-xs);font-weight:500;white-space:nowrap;flex-shrink:0}.ods-agent-card__status--idle{background:var(--ods-status-idle-bg);color:var(--ods-status-idle-fg);border-color:var(--ods-status-idle-bd)}.ods-agent-card__status--running{background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd)}.ods-agent-card__status--failed{background:var(--ods-status-failed-bg);color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd)}.ods-agent-card__status--paused{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-agent-card__status--draft{background:var(--ods-surface-muted);color:var(--ods-text-body);border-color:var(--ods-border-default)}.ods-agent-card__status-dot{width:6px;height:6px;border-radius:var(--ods-radius-pill);background:currentColor;flex-shrink:0}.ods-agent-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ods-space-2);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-agent-card__model,.ods-agent-card__tools{display:inline-flex;align-items:center;gap:4px;padding:1px var(--ods-space-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);color:var(--ods-text-body);letter-spacing:var(--ods-tracking-mono)}.ods-agent-card__model>svg,.ods-agent-card__tools>svg{color:var(--ods-text-tertiary);flex-shrink:0}.ods-agent-card__model>span,.ods-agent-card__tools>span{font-variant-numeric:tabular-nums lining-nums;font-weight:600;color:var(--ods-text-primary)}.ods-agent-card__stats,.ods-agent-card__actions{display:flex;align-items:center;gap:var(--ods-space-2);padding-top:var(--ods-space-2);border-top:1px solid var(--ods-border-soft)}.ods-tool-card{display:flex;align-items:center;gap:var(--ods-space-3);padding:var(--ods-space-3) var(--ods-space-4);background:var(--ods-surface-canvas);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-sans);transition:background-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),border-color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-tool-card--compact{padding:var(--ods-space-2) var(--ods-space-3)}.ods-tool-card--interactive{cursor:pointer}.ods-tool-card--interactive:hover{background:var(--ods-surface-subtle);border-color:var(--ods-border-strong)}.ods-tool-card--enabled{border-color:var(--ods-accent-border)}.ods-tool-card--enabled .ods-tool-card__icon{background:var(--ods-accent-soft);color:var(--ods-accent)}.ods-tool-card--disabled{opacity:.55;pointer-events:none}.ods-tool-card__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--ods-radius-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);color:var(--ods-text-body)}.ods-tool-card__icon--search{background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd)}.ods-tool-card__icon--database{background:var(--ods-status-success-bg);color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd)}.ods-tool-card__icon--web{background:var(--ods-status-running-bg);color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd)}.ods-tool-card__icon--code{background:var(--ods-node-transform-bg);color:var(--ods-node-transform-fg);border-color:var(--ods-node-transform-bd)}.ods-tool-card__icon--file{background:var(--ods-status-idle-bg);color:var(--ods-status-idle-fg);border-color:var(--ods-status-idle-bd)}.ods-tool-card__icon--api{background:var(--ods-status-pending-bg);color:var(--ods-status-pending-fg);border-color:var(--ods-status-pending-bd)}.ods-tool-card__icon--ai{background:var(--ods-accent-soft);color:var(--ods-accent);border-color:var(--ods-accent-border)}.ods-tool-card__icon--custom{background:var(--ods-node-io-bg);color:var(--ods-node-io-fg);border-color:var(--ods-node-io-bd)}.ods-tool-card__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.ods-tool-card__head{display:flex;align-items:center;gap:var(--ods-space-1);min-width:0}.ods-tool-card__name{font-size:var(--ods-font-size-md);font-weight:600;color:var(--ods-text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-tool-card__new{display:inline-flex;align-items:center;height:16px;padding:0 var(--ods-space-1);background:var(--ods-accent);color:var(--ods-surface-canvas);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:9px;font-weight:700;letter-spacing:var(--ods-tracking-mono)}.ods-tool-card__badge{font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary)}.ods-tool-card__desc{font-size:var(--ods-font-size-sm);color:var(--ods-text-tertiary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ods-tool-card__switch{display:inline-flex;align-items:center;width:32px;height:18px;padding:1px;border:0;background:var(--ods-border-strong);border-radius:var(--ods-radius-pill);cursor:pointer;flex-shrink:0;transition:background-color var(--ods-duration-base, 180ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-tool-card__switch--on{background:var(--ods-accent)}.ods-tool-card__switch:focus-visible{outline:2px solid var(--ods-border-focus);outline-offset:2px}.ods-tool-card__switch-thumb{width:14px;height:14px;border-radius:var(--ods-radius-pill);background:var(--ods-surface-canvas);box-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform var(--ods-duration-base, 180ms) var(--ods-ease-spring, cubic-bezier(0.34, 1.2, 0.64, 1))}.ods-tool-card__switch--on .ods-tool-card__switch-thumb{transform:translateX(14px)}.ods-trace-step{display:flex;align-items:stretch;gap:var(--ods-space-3);font-family:var(--ods-font-family-sans)}.ods-trace-step--last .ods-trace-step__body{padding-bottom:0}.ods-trace-step__rail{position:relative;display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0}.ods-trace-step__icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--ods-radius-1);border:1px solid var(--ods-border-default);background:var(--ods-surface-canvas);color:var(--ods-text-body);flex-shrink:0;z-index:1;margin-top:6px}.ods-trace-step__line{flex:1 1 auto;width:1px;background:var(--ods-border-default);min-height:16px}.ods-trace-step--thought .ods-trace-step__icon{color:var(--ods-text-body)}.ods-trace-step--tool .ods-trace-step__icon{color:var(--ods-accent);border-color:var(--ods-accent-border);background:var(--ods-accent-soft)}.ods-trace-step--input .ods-trace-step__icon{color:var(--ods-status-running-fg);border-color:var(--ods-status-running-bd);background:var(--ods-status-running-bg)}.ods-trace-step--output .ods-trace-step__icon{color:var(--ods-status-success-fg);border-color:var(--ods-status-success-bd);background:var(--ods-status-success-bg)}.ods-trace-step--error .ods-trace-step__icon{color:var(--ods-status-failed-fg);border-color:var(--ods-status-failed-bd);background:var(--ods-status-failed-bg)}.ods-trace-step--status-running .ods-trace-step__icon{border-color:var(--ods-accent);color:var(--ods-accent);background:var(--ods-accent-soft)}.ods-trace-step__spin{animation:ods-trace-spin .9s linear infinite}@keyframes ods-trace-spin{to{transform:rotate(360deg)}}.ods-trace-step__body{flex:1 1 auto;min-width:0;padding:0 0 var(--ods-space-3)}.ods-trace-step__head{display:flex;align-items:center;gap:var(--ods-space-2);width:100%;padding:4px 0;border:0;background:rgba(0,0,0,0);text-align:left;cursor:pointer;color:inherit;font-family:inherit}.ods-trace-step__head:disabled{cursor:default}.ods-trace-step__head:hover:not(:disabled) .ods-trace-step__title{color:var(--ods-accent)}.ods-trace-step__index{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 var(--ods-space-1);background:var(--ods-surface-muted);border:1px solid var(--ods-border-default);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);font-weight:600;color:var(--ods-text-tertiary);flex-shrink:0}.ods-trace-step__title{flex:1 1 auto;min-width:0;font-size:var(--ods-font-size-base);font-weight:500;color:var(--ods-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--ods-duration-instant, 80ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-trace-step__tool{display:inline-flex;align-items:center;gap:4px;padding:1px var(--ods-space-1);background:var(--ods-accent-soft);color:var(--ods-accent);border:1px solid var(--ods-accent-border);border-radius:var(--ods-radius-1);font-family:var(--ods-font-family-mono);font-size:var(--ods-font-size-xs);font-weight:500;flex-shrink:0}.ods-trace-step__meta{display:inline-flex;align-items:center;gap:var(--ods-space-2);font-family:var(--ods-font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-size:var(--ods-font-size-xs);color:var(--ods-text-tertiary);flex-shrink:0}.ods-trace-step__tokens>span{font-weight:600;color:var(--ods-text-body)}.ods-trace-step__duration{color:var(--ods-text-body);font-weight:500}.ods-trace-step__chev{color:var(--ods-text-tertiary);flex-shrink:0;transition:transform var(--ods-duration-fast, 120ms) var(--ods-ease-out, cubic-bezier(0.16, 1, 0.3, 1))}.ods-trace-step__chev--open{transform:rotate(180deg);color:var(--ods-accent)}.ods-trace-step__content{margin-top:var(--ods-space-2);padding:var(--ods-space-2) var(--ods-space-3);background:var(--ods-surface-subtle);border:1px solid var(--ods-border-soft);border-radius:var(--ods-radius-1);font-size:var(--ods-font-size-sm);color:var(--ods-text-body);line-height:1.5}
|