.btn{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), filter var(--transition-fast);font-weight:500;text-decoration:none;display:inline-flex}.btn svg{flex-shrink:0;width:16px;height:16px}.btn[data-variant=primary]{background:var(--accent);color:#fff;border-color:var(--accent)}.btn[data-variant=secondary]{background:var(--surface-raised);color:var(--text);border-color:var(--border)}.btn[data-variant=danger]{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn[data-variant=destructive-icon]{color:var(--color-danger);padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border-color:#0000}.btn[data-variant=destructive-icon] svg{width:var(--icon-xs);height:var(--icon-xs)}.btn[data-variant=success],.btn[data-variant=confirm]{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn[data-variant=warning]{background:var(--color-warning);color:#fff;border-color:var(--color-warning)}.btn[data-variant=ghost]{color:var(--text-muted);border-color:var(--border-soft);background:0 0}.btn[data-variant=icon]{color:var(--text-muted);padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border-color:#0000}.btn[data-variant=icon] svg{width:18px;height:18px}.btn[data-variant=link]{color:var(--accent);padding:var(--space-1) var(--space-2);background:0 0;border-color:#0000;text-decoration:underline}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn[data-variant=ghost]:hover:not(:disabled){filter:none;background:var(--surface-hover);border-color:var(--text-muted);color:var(--text)}.btn[data-variant=icon]:hover:not(:disabled){filter:none;background:var(--surface-hover);color:var(--text)}.btn[data-variant=destructive-icon]:hover:not(:disabled){filter:none;background:var(--color-danger-bg);border-color:var(--color-danger-border);box-shadow:var(--shadow-danger-glow)}.btn[data-variant=link]:hover:not(:disabled){filter:none;opacity:.8}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
