/* ========================================
   Padronização de Botões
   ======================================== */

/* Botões padrão */
.btn {
    min-height: 42px !important;
    padding: 0.65rem 1.5rem !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    transition: all 0.3s ease !important;
    border: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

.btn i {
    font-size: 1.1rem !important;
    margin: 0 !important;
}

/* Variantes de cores */
.btn-primary {
    background: linear-gradient(135deg, #00a884, #008f72) !important;
    color: white !important;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #008f72, #007a5f) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 168, 132, 0.3) !important;
}

.btn-success {
    background: linear-gradient(135deg, #10b981, #059669) !important;
    color: white !important;
}

.btn-success:hover {
    background: linear-gradient(135deg, #059669, #047857) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3) !important;
}

.btn-danger {
    background: linear-gradient(135deg, #ef4444, #dc2626) !important;
    color: white !important;
}

.btn-danger:hover {
    background: linear-gradient(135deg, #dc2626, #b91c1c) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3) !important;
}

.btn-warning {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    color: white !important;
}

.btn-warning:hover {
    background: linear-gradient(135deg, #d97706, #b45309) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3) !important;
}

.btn-info {
    background: linear-gradient(135deg, #3b82f6, #2563eb) !important;
    color: white !important;
}

.btn-info:hover {
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3) !important;
}

.btn-secondary,
.btn-outline-secondary {
    background: var(--card) !important;
    color: var(--text) !important;
    border: 2px solid var(--border) !important;
}

.btn-secondary:hover,
.btn-outline-secondary:hover {
    background: var(--hover) !important;
    border-color: var(--primary) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Botões pequenos */
.btn-sm {
    min-height: 36px !important;
    padding: 0.5rem 1rem !important;
    font-size: 0.875rem !important;
}

/* Botões grandes */
.btn-lg {
    min-height: 48px !important;
    padding: 0.75rem 2rem !important;
    font-size: 1.05rem !important;
}

/* Botões em grupo */
.button-group {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
}

/* Input groups - garantir alinhamento */
.input-group {
    display: flex !important;
    gap: 0 !important;
}

.input-group .form-control {
    height: 42px !important;
    border-radius: 8px 0 0 8px !important;
}

.input-group .btn {
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 0 8px 8px 0 !important;
    padding: 0 1.5rem !important;
}

/* Garantir que botões dentro de cards tenham tamanho consistente */
.card .btn,
.accordion-body .btn,
.modal-body .btn {
    min-width: 120px;
}

/* Botões de ação especiais */
.btn.btn-block {
    width: 100% !important;
}

