-- Aprovações de Contas a Pagar (multi-nível)
CREATE TABLE IF NOT EXISTS contas_pagar_aprovacoes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    conta_id INT NOT NULL,
    level INT NOT NULL COMMENT 'Nível de aprovação (1..N)',
    status ENUM('pendente','aprovado','rejeitado') DEFAULT 'pendente' NOT NULL,
    approved_by INT NULL COMMENT 'ID do usuário que aprovou/rejeitou',
    approved_at DATETIME NULL,
    notes TEXT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_conta_level (conta_id, level),
    CONSTRAINT fk_contas_pagar_aprovacoes_conta
        FOREIGN KEY (conta_id) REFERENCES contas_pagar(id)
        ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Aprovações multi-nível para contas a pagar';