.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:var(--radius);font-size:14px;font-weight:600;font-family:inherit;border:1.5px solid transparent;cursor:pointer;transition:all var(--ease);min-height:var(--touch-min);white-space:nowrap;user-select:none;line-height:1.2}
.btn:active{transform:scale(.96)}
.btn:disabled{opacity:.55;pointer-events:none}
.btn--primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(37,99,235,.25)}
.btn--primary:hover{background:var(--primary-hover);box-shadow:0 4px 12px rgba(37,99,235,.32)}
.btn--secondary{background:var(--gray-100);color:var(--text-primary);border-color:var(--border)}
.btn--secondary:hover{background:var(--gray-200)}
.btn--outline{background:transparent;color:var(--primary);border-color:var(--primary)}
.btn--outline:hover{background:var(--primary-50)}
.btn--ghost{background:transparent;color:var(--text-secondary)}
.btn--ghost:hover{background:var(--gray-100);color:var(--text-primary)}
.btn--danger{background:var(--danger);color:#fff}
.btn--danger:hover{background:#B91C1C}
.btn--success{background:var(--success);color:#fff}
.btn--success:hover{background:#047857}
.btn--warning{background:var(--warning);color:#fff}
.btn--whatsapp{background:#25D366;color:#fff;box-shadow:0 2px 8px rgba(37,211,102,.25)}
.btn--whatsapp:hover{background:#1FAE54;box-shadow:0 4px 12px rgba(37,211,102,.35)}
.btn--archive{background:var(--archive);color:#fff}
.btn--archive:hover{background:#4B5563}
.btn--sm{padding:6px 12px;min-height:36px;font-size:12.5px}
.btn--lg{padding:14px 22px;min-height:54px;font-size:16px}
.btn--full{width:100%}
.btn--icon{padding:0;width:44px;height:44px}
.btn__loader{display:inline-flex;align-items:center}
.btn-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:var(--radius);transition:all var(--ease);flex-shrink:0;background:transparent;border:none;cursor:pointer}
.btn-icon:hover{background:var(--gray-100);color:var(--text-primary)}
.btn-icon:active{transform:scale(.95)}

.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;border:1.5px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--ease);min-height:38px}
.chip:hover{border-color:var(--primary);color:var(--primary)}
.chip.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 10px rgba(37,99,235,.25)}
.chip:active{transform:scale(.96)}
.chip-group{display:flex;flex-wrap:wrap;gap:8px}

.spinner{display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
.spinner--sm{width:14px;height:14px;border-width:2px}
.spinner--white{color:#fff}
