.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--chrome-control-h-md);height:var(--chrome-control-h-md);padding:0 var(--app-btn-pad-x);border-radius:var(--app-btn-radius);font-size:var(--app-font-size);font-weight:var(--fw-medium);line-height:1;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.ds-btn:focus-visible{outline:2px solid var(--c-border-focus);outline-offset:2px}.ds-btn:disabled{opacity:.5;cursor:default}.ds-btn--primary:disabled{opacity:1;background:color-mix(in srgb,var(--c-text-muted, #83868c) 18%,var(--c-surface-3, #fff));color:var(--c-text-muted);border-color:transparent;box-shadow:none}.ds-btn--sm,.ds-btn--md,.ds-btn--lg{min-height:var(--chrome-control-h-md);height:var(--chrome-control-h-md);font-size:var(--app-font-size);padding:0 var(--app-btn-pad-x)}.ds-btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border:1px solid var(--btn-primary-border);box-shadow:var(--soft-shadow)}.ds-btn--primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);box-shadow:var(--soft-shadow-hover)}.ds-btn--primary:active:not(:disabled){background:var(--btn-primary-bg-pressed)}.ds-btn--hero{background:var(--soft-accent-gradient);color:#fff;border:0;box-shadow:var(--soft-accent-glow),0 1px 2px #1018281f}.ds-btn--hero:hover:not(:disabled){box-shadow:var(--soft-accent-glow-hover),0 1px 2px #1018281f;filter:saturate(1.05) brightness(1.02)}.ds-btn--secondary{background:var(--c-bg-elevated, #fff);color:var(--btn-secondary-fg);border:1px solid var(--c-border-subtle);box-shadow:var(--soft-shadow)}.ds-btn--secondary:hover:not(:disabled){box-shadow:var(--soft-shadow-hover)}.ds-btn--ghost{background:transparent;color:var(--c-text-secondary);border:0;box-shadow:none}.ds-btn--ghost:hover:not(:disabled){background:var(--c-bg-hover, rgba(74, 92, 106, .06));color:var(--c-text-primary)}.ds-btn--danger{background:color-mix(in srgb,var(--c-danger) 12%,var(--c-bg-elevated, #fff));color:var(--c-danger);border:0;box-shadow:var(--soft-shadow)}.ds-btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--c-danger) 18%,var(--c-bg-elevated, #fff));box-shadow:var(--soft-shadow-hover)}.ds-btn__icon,.ds-btn__label{display:inline-flex}.ds-btn__trailing{display:inline-flex;margin-left:auto;opacity:.7}.ds-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--toolbar-icon-btn-h, var(--chrome-control-h-md));height:var(--toolbar-icon-btn-h, var(--chrome-control-h-md));border-radius:var(--app-btn-radius);border:1px solid var(--c-border-subtle);background:var(--c-bg-elevated, #fff);color:var(--c-text-secondary);box-shadow:var(--soft-shadow);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ds-icon-btn:hover{color:var(--c-text-primary);box-shadow:var(--soft-shadow-hover)}.ds-icon-btn:active{box-shadow:var(--soft-shadow)}.ds-icon-btn--active{background:var(--c-accent-soft);color:var(--c-accent-text, var(--c-accent));box-shadow:none}.ds-icon-btn--sm,.ds-icon-btn--lg{width:var(--toolbar-icon-btn-h, var(--chrome-control-h-md));height:var(--toolbar-icon-btn-h, var(--chrome-control-h-md))}.ds-icon-btn:focus-visible{outline:2px solid var(--c-border-focus);outline-offset:1px}.ds-input{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--chrome-control-h-md);height:var(--chrome-control-h-md);padding:0 var(--space-3);font-size:var(--app-font-size);background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);border-radius:var(--chrome-control-radius);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.ds-input:hover{border-color:var(--c-border-strong)}.ds-input:focus-within{border-color:var(--c-border-focus);box-shadow:0 0 0 1px var(--c-border-focus)}.ds-input>input{flex:1;min-width:0;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important;color:var(--c-text-primary)}.ds-input input::placeholder{color:var(--c-text-muted)}.ds-input--sm,.ds-input--md,.ds-input--lg{height:var(--chrome-control-h-md);min-height:var(--chrome-control-h-md);padding:0 var(--space-3);font-size:var(--app-font-size)}.ds-input__leading,.ds-input__trailing{display:inline-flex;color:var(--c-text-tertiary)}.ds-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:var(--c-avatar-bg);color:var(--c-avatar-fg);font-weight:var(--fw-medium);overflow:hidden;flex-shrink:0;box-shadow:inset 0 0 0 1px var(--c-border-subtle)}.ds-avatar img{width:100%;height:100%;object-fit:cover}.ds-avatar__initials{display:block}.ds-avatar__initials.ds-avatar__initials{line-height:normal}.ds-badge{display:inline-flex;align-items:center;height:18px;padding:0 var(--space-5);border-radius:var(--radius-pill);font-size:var(--fs-2xs);font-weight:var(--fw-medium);letter-spacing:.02em;text-transform:uppercase}.ds-badge--neutral{background:var(--c-surface-3);color:var(--c-text-secondary)}.ds-badge--accent{background:var(--c-accent);color:var(--c-on-accent, #fff)}.ds-badge--success{background:var(--c-success);color:#fff}.ds-badge--warning{background:var(--c-warning);color:#fff}.ds-badge--danger{background:var(--c-danger);color:#fff}.ds-badge--info{background:var(--c-info, var(--c-cta));color:#fff}.ds-spinner{display:inline-block;border:2px solid var(--c-border-default);border-top-color:var(--c-accent);border-radius:50%;animation:spin .7s linear infinite}.ds-tooltip-wrap{display:inline-flex}.ds-tooltip{z-index:4200;max-width:280px;padding:4px 8px;background:var(--c-text-primary);color:var(--c-text-inverse);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.35;border-radius:var(--radius-sm);pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-md);animation:fade-in var(--dur-fast) var(--ease-out)}.ds-divider{flex-shrink:0;background:var(--c-border-subtle);height:1px;align-self:stretch}.ds-divider--vertical{width:1px;height:auto;margin:0 var(--space-3)}.ds-skeleton{display:inline-block;background:linear-gradient(90deg,var(--c-surface-2) 25%,var(--c-surface-3) 42%,var(--c-surface-2) 60%);background-size:200% 100%;animation:ds-skeleton-sweep 1.4s ease-in-out infinite}.ds-skeleton-text{display:flex;flex-direction:column;gap:var(--space-3);width:100%}@keyframes ds-skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.ds-skeleton{animation:none}}.ds-toggle--disabled{opacity:.55}.ds-toggle--disabled input{cursor:not-allowed}.ds-progress{display:flex;flex-direction:column;gap:var(--space-2);width:100%;min-width:0}.ds-progress__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);min-width:0}.ds-progress__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ui-fs-body);color:var(--ui-text)}.ds-progress__detail{flex:0 0 auto;font-size:var(--ui-fs-xs);color:var(--ui-text-muted);font-variant-numeric:tabular-nums}.ds-progress__track{position:relative;overflow:hidden;height:6px;border-radius:999px;background:var(--ui-well)}.ds-progress__fill{height:100%;width:0;border-radius:inherit;background:var(--brand-accent, var(--vs-accent, #005fb8));transition:width .18s var(--ui-ease, ease)}.ds-progress__track--indeterminate .ds-progress__fill{width:35%;transition:none;animation:ds-progress-sweep 1.1s ease-in-out infinite}@keyframes ds-progress-sweep{0%{transform:translate(-100%)}to{transform:translate(320%)}}@media (prefers-reduced-motion: reduce){.ds-progress__track--indeterminate .ds-progress__fill{animation:none;width:100%;opacity:.5}.ds-progress__fill{transition:none}}
