.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2, .5rem);font-family:var(--font-family, inherit);font-weight:600;line-height:1;border:none;cursor:pointer;transition:all var(--transition-base, .15s ease);white-space:nowrap;text-decoration:none;box-sizing:border-box;position:relative;flex-shrink:0;vertical-align:middle}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn:focus-visible{outline:3px solid var(--theme-primary);outline-offset:2px}button.ui-btn.ui-btn-sm{padding:.25rem .625rem;font-size:var(--font-size-xs, .6875rem);border-radius:var(--radius-sm, 6px);height:var(--control-height-sm, 28px);min-height:var(--control-height-sm, 28px);max-height:var(--control-height-sm, 28px)}.ui-btn-md{padding:.375rem .75rem;font-size:var(--font-size-sm, .8125rem);border-radius:var(--radius-md, 8px);height:var(--control-height-md, 36px);min-height:var(--control-height-md, 36px)}.ui-btn-lg{padding:.5rem 1rem;font-size:var(--font-size-base, .875rem);border-radius:var(--radius-md, 8px);height:var(--control-height-lg, 40px);min-height:var(--control-height-lg, 40px)}button.ui-btn.ui-btn-primary{background:var(--gradient-primary, linear-gradient(135deg, #0369a1 0%, #4338ca 100%));border:none;color:#fff;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}button.ui-btn.ui-btn-primary:hover:not(:disabled){filter:brightness(1.08);color:#fff}button.ui-btn.ui-btn-primary .ui-btn-icon,button.ui-btn.ui-btn-primary .ui-btn-icon-left,button.ui-btn.ui-btn-primary .ui-btn-icon-right,button.ui-btn.ui-btn-primary .ui-btn-icon *,button.ui-btn.ui-btn-primary svg{color:#fff!important;stroke:#fff!important;background:transparent!important;background-color:transparent!important}button.ui-btn.ui-btn-primary:hover:not(:disabled) .ui-btn-icon,button.ui-btn.ui-btn-primary:hover:not(:disabled) .ui-btn-icon-left,button.ui-btn.ui-btn-primary:hover:not(:disabled) .ui-btn-icon-right,button.ui-btn.ui-btn-primary:hover:not(:disabled) .ui-btn-icon *,button.ui-btn.ui-btn-primary:hover:not(:disabled) svg{color:#fff!important;stroke:#fff!important;background:transparent!important;background-color:transparent!important}button.ui-btn.ui-btn-primary:active:not(:disabled){transform:translateY(0)}.ui-btn-headerAction{background:transparent;color:#fff;border:1px solid transparent}.ui-btn-headerAction:hover:not(:disabled){background:transparent;color:#fff;filter:none}.ui-btn-headerAction svg,.ui-btn-headerAction .ui-btn-icon,.ui-btn-headerAction .ui-btn-icon-left,.ui-btn-headerAction .ui-btn-icon-right{color:#fff}.ui-btn-headerAction:hover:not(:disabled) svg,.ui-btn-headerAction:hover:not(:disabled) .ui-btn-icon,.ui-btn-headerAction:hover:not(:disabled) .ui-btn-icon-left,.ui-btn-headerAction:hover:not(:disabled) .ui-btn-icon-right{color:#fff}.ui-btn-secondary{background:var(--theme-surface-secondary);color:var(--theme-text);border:1px solid var(--theme-border)}.ui-btn-secondary:hover:not(:disabled){background:var(--theme-surface-tertiary);border-color:var(--theme-border-light)}.ui-btn-danger{background:var(--theme-error);color:#fff}.ui-btn-danger:hover:not(:disabled){background:#ef4444;transform:translateY(-1px);box-shadow:var(--shadow-md)}.ui-btn-danger:active:not(:disabled){transform:translateY(0)}.ui-btn-ghost{background:transparent;color:var(--theme-text-secondary)}.ui-btn-ghost:hover:not(:disabled){background:var(--theme-surface-secondary);color:var(--theme-text)}button.ui-btn.ui-btn-icon{padding:var(--spacing-2, .5rem);background:transparent;color:var(--theme-text-secondary);min-width:var(--control-height-md, 32px);min-height:var(--control-height-md, 32px)}button.ui-btn.ui-btn-icon.ui-btn-sm{padding:var(--spacing-1, .25rem);min-width:var(--control-height-sm, 28px);min-height:var(--control-height-sm, 28px)}button.ui-btn.ui-btn-icon.ui-btn-lg{padding:var(--spacing-3, .75rem)}button.ui-btn.ui-btn-icon:hover:not(:disabled){background:transparent;color:var(--theme-text)}.ui-btn-icon-left,.ui-btn-icon-right{display:inline-flex;align-items:center;flex-shrink:0;line-height:0}.ui-btn-icon-left svg,.ui-btn-icon-right svg{display:block;vertical-align:middle}.ui-btn-spinner{display:inline-flex;align-items:center;flex-shrink:0;line-height:0;animation:ui-btn-spin 1s linear infinite}.ui-btn-spinner svg{display:block}@keyframes ui-btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-btn-text{display:inline-flex;align-items:center;line-height:1}.view-switcher{flex-shrink:0}.view-switcher--pill{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1);background:var(--theme-background);border:1px solid var(--theme-border);border-radius:9999px;box-shadow:var(--shadow-sm)}.view-switcher__btn{position:relative;display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);margin:0;background:transparent;border:none;border-radius:9999px;font-size:var(--font-size-sm);font-weight:600;color:var(--theme-text-secondary);cursor:pointer;min-height:var(--control-height-sm);transition:color var(--transition-fast)}.view-switcher__btn:hover:not(.view-switcher__btn--active){color:var(--theme-text)}.view-switcher__btn--active{color:var(--theme-primary)}.view-switcher__bubble{position:absolute;inset:0;z-index:0;border-radius:9999px;pointer-events:none;background:color-mix(in srgb,var(--theme-primary) 18%,transparent)}.view-switcher__icon,.view-switcher__label{position:relative;z-index:1}.view-switcher__btn--active .view-switcher__icon{color:var(--theme-primary)}
