/* ==============================================================================
   CRM-GREU — Components: Buttons
   Extraído de components.css — ver ese archivo para las reglas realmente
   comunes/transversales que no encajan en ninguna estructura concreta.
   ============================================================================== */

/* --- Buttons --------------------------------------------------------------- */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    font-family: var(--font-family);
    font-size: 13px;
    font-weight: 500;
    border: 1px solid transparent;
    cursor: pointer;
    transition: all 0.15s ease;
    text-decoration: none;
    white-space: nowrap;
}

.btn:hover { text-decoration: none; }

.btn-primary {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

.btn-primary:hover:not(:disabled) {
    background: var(--color-primary-soft);
    border-color: var(--color-primary-soft);
}

.btn-primary:disabled {
    opacity: 0.65;
    cursor: default;
}

.btn-secondary {
    background: var(--color-surface-strong);
    color: var(--color-text);
    border-color: var(--color-border);
}

.btn-secondary:hover {
    background: var(--color-bg);
}

.btn-accent {
    background: var(--color-accent);
    color: #fff;
    border-color: var(--color-accent);
}

.btn-accent:hover {
    background: #c49620;
    border-color: #c49620;
}

.btn-danger {
    background: var(--color-danger);
    color: #fff;
    border-color: var(--color-danger);
}

.btn-danger:hover {
    background: #a83832;
    border-color: #a83832;
}

.btn-ghost {
    background: transparent;
    color: var(--color-muted);
    border-color: transparent;
    padding: 6px 10px;
}

.btn-ghost:hover {
    background: var(--color-bg);
    color: var(--color-text);
}

.btn-sm {
    padding: 5px 10px;
    font-size: 12px;
}

.btn i { font-size: 16px; }

.btn-disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.btn-icon-expand {
    font-size: 0px !important;
}

.btn-icon-expand:hover {
    font-size: inherit !important;
}

.btn-icon {
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: var(--color-muted);
    border-radius: var(--radius-xs);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.btn-icon:hover {
    background: var(--color-bg-subtle);
    color: var(--color-text);
}
