import React, { useState } from 'react';
import { 
    Dialog, 
    DialogContent, 
    DialogHeader, 
    DialogTitle,
    DialogDescription,
    DialogFooter 
} from '@/components/ui/dialog';
import { Button } from '@/components/ui/button';
import { Input } from '@/components/ui/input';
import { Label } from '@/components/ui/label';
import { 
    Select, 
    SelectContent, 
    SelectItem, 
    SelectTrigger, 
    SelectValue 
} from '@/components/ui/select';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { useEmployees } from '../hooks/useEmployees';
import { useRhFeedback } from './RhFeedbackNotification';

export const EmployeeCreateModal = ({ isOpen, onClose, onSuccess }) => {
    const { createEmployee } = useEmployees();
    const { error, handleBackendError } = useRhFeedback();
    const [loading, setLoading] = useState(false);
    
    // Lista de campos de pastas do Nextcloud
    const nextcloudFolders = [
        'pasta_espelhos', 'pasta_pedagios', 'pasta_abastecimento', 'pasta_administrativo',
        'pasta_administrativo_financeiro', 'pasta_ana_felix_priscila', 'pasta_ana_evillin',
        'pasta_compartilhamentos', 'pasta_contas_pagar_pety', 'pasta_contas_pagar_pralog',
        'pasta_contas_pagar_receber_pralog', 'pasta_contas_receber_pralog', 'pasta_contas_receber_pety',
        'pasta_contrato_frota', 'pasta_controladoria', 'pasta_controladoria_financeiro_pralog',
        'pasta_equipe_carlos_roberto', 'pasta_equipe_joseane_serra', 'pasta_equipe_rayane_santos',
        'pasta_equipe_renan_souza', 'pasta_faturamento_pety', 'pasta_financeiro_time_claudio',
        'pasta_financeiro_time_interno', 'pasta_frota', 'pasta_frota_multas_avarias',
        'pasta_gestao_frota', 'pasta_gerenciamento_risco', 'pasta_oficina_pralog',
        'pasta_operacoes', 'pasta_rh'
    ];

    // Estado inicial com todos os campos mapeados conforme COLUNAS_DB
    const initialFormData = {
        // Identificação Pessoal
        colaboradores: '', // Nome
        cpf: '',
        rg: '',
        pis: '',
        data_nascimento: '',
        endereco: '',
        cep: '',
        
        // Contato
        telefone: '',
        email_pessoal_em_uso: '',
        email_corporativo: '',
        contato_responsavel: '',
        tentativa_contato_cadastro: '',
        momento_contato_1: '',
        momento_contato_2: '',
        momento_contato_3: '',
        horario_ultimo_contato: '',
        
        // Profissional / Contrato
        contratacao: '',
        contratacao_validada: '',
        status_contrato: 'Ativo',
        situacao: 'Ativo', // Default
        cargo: '',
        cargo_adm: '',
        cargo_administrativo_validado: '',
        funcao: '',
        cbo: '',
        classificacao_cbo: '',
        salario: '', // Será convertido para número no submit se preenchido
        carga_horaria: '',
        jornada: '',
        jornada_1: '',
        data_admissao: '',
        data_ultimas_ferias: '',
        data_limite_ferias: '',
        acesso: '',
        risco: '',
        
        // Alocação / Empresa
        cliente: '',
        cliente_nome: '',
        base: '',
        base_validada: '',
        empresa: '', // ID Empresa
        empresas: '', // Nome Empresa
        responsavel_direto: '',
        responsavel_direto_validado: '',
        realmente_e_subordinado: 'Não', // Boolean: Sim/Não (convertido para 0/1 no submit)
        contratos_operacionais_ativos: '',
        
        // Documentos
        cnh: '',
        data_expedicao_cnh: '',
        validade_cnh: '',
        cpf_validado: '', // Geralmente backend
        
        // Infraestrutura / TI
        conta_ad: '',
        data_criacao_conta_servico_auth: '',
        escritorio_remoto: 'Não', // Boolean: Sim/Não (convertido para 0/1 no submit)
        usa_notebook_empresa: 'Não', // Boolean: Sim/Não (convertido para 0/1 no submit)
        usa_desktop_empresa: 'Não', // Boolean: Sim/Não (convertido para 0/1 no submit)
        possui_email_corporativo: 'Não', // Boolean: Sim/Não (convertido para 0/1 no submit)
        modelo_dispositivo: '',
        rotulo_servico_numero_serie: '',
        maquina_registrada: 'Não', // Boolean: Sim/Não (convertido para 0/1 no submit)
        maquina_registrada_cliente: 'Não', // Boolean: Sim/Não (convertido para 0/1 no submit)
        obs_maquina: '',
        
        // IDs e Integrações
        id_prl: '',
        id_b2b: '',
        id_oficina: '',
        id_almoxarifado: '',
        id_apoio: '',
        almoxarifado: 'Não', // Boolean: Sim/Não (convertido para 0/1 no submit)
        oficina: 'Não', // Boolean: Sim/Não (convertido para 0/1 no submit)
        apoio_setor: 'Não', // Boolean: Sim/Não (convertido para 0/1 no submit)
        
        // Metadata (provavelmente não preenchido manualmente, mas presente)
        data_criacao_nextcloud: '',
        contato_colaborador_validado: '',
        
        // Pastas Nextcloud (inicializar todos como 'Não' - convertido para 0/1 no submit)
        ...nextcloudFolders.reduce((acc, folder) => ({ ...acc, [folder]: 'Não' }), {})
    };

    const [formData, setFormData] = useState(initialFormData);

    const handleChange = (e) => {
        const { name, value } = e.target;
        setFormData(prev => ({ ...prev, [name]: value }));
    };

    const handleSelectChange = (name, value) => {
        setFormData(prev => ({ ...prev, [name]: value }));
    };

    const handleSubmit = async (e) => {
        e.preventDefault();
        e.stopPropagation();
        
        console.log('🚀 Formulário submetido!', { formData, loading });
        
        // Proteção contra múltiplos submits
        if (loading) {
            console.log('⏸️ Já está processando, ignorando submit duplicado');
            return;
        }
        
        setLoading(true);
        try {
            // Validação de campos obrigatórios
            if (!formData.colaboradores || !formData.colaboradores.trim()) {
                console.log('❌ Validação falhou: Nome Completo vazio');
                error('Dados Obrigatórios', 'O campo "Nome Completo" é obrigatório para o cadastro.');
                setLoading(false);
                return;
            }

            // Validação e limpeza de CPF
            const cpfLimpo = String(formData.cpf || '').replace(/\D/g, '');
            console.log('🔍 Validando CPF:', { original: formData.cpf, limpo: cpfLimpo, length: cpfLimpo.length });
            
            if (!cpfLimpo || cpfLimpo.length !== 11) {
                console.log('❌ Validação falhou: CPF inválido', { cpfLimpo, length: cpfLimpo.length });
                error('CPF Inválido', `O CPF deve conter exatamente 11 dígitos numéricos. Verifique o valor informado.`);
                setLoading(false);
                return;
            }
            
            console.log('✅ Validações passaram, processando payload...');

            // Campos de data (devem ser null se vazios)
            const camposData = [
                'validade_cnh', 
                'data_criacao_conta_servico_auth', 
                'data_expedicao_cnh', 
                'data_nascimento', 
                'data_admissao', 
                'data_ultimas_ferias', 
                'data_limite_ferias', 
                'data_criacao_nextcloud',
                'tentativa_contato_cadastro'
            ];

            // Campos booleanos de texto (devem ser 'Sim'/'Não', não 0/1)
            const camposBooleanosTexto = [
                'usa_notebook_empresa', 
                'usa_desktop_empresa', 
                'possui_email_corporativo',
                'conta_ad', 
                'escritorio_remoto', 
                'maquina_registrada',
                'maquina_registrada_cliente', 
                'realmente_e_subordinado',
                'cpf_validado'
            ];

            // Campos VARCHAR que eram numéricos (string vazia vira null)
            const camposVarcharNumericos = [
                'data_limite_ferias', 
                'jornada', 
                'jornada_1', 
                'id_prl', 
                'id_b2b', 
                'id_oficina', 
                'id_almoxarifado', 
                'id_apoio', 
                'funcao', 
                'cbo', 
                'classificacao_cbo', 
                'salario', 
                'empresa', 
                'contratos_operacionais_ativos',
                'contratacao_validada', 
                'contato_colaborador_validado', 
                'situacao',
                'responsavel_direto_validado',
                'almoxarifado', 
                'oficina', 
                'apoio_setor', 
                'cargo_administrativo_validado'
            ];

            // Função auxiliar para obter valor padrão
            const obterValorPadrao = (coluna) => {
                if (nextcloudFolders.includes(coluna)) {
                    return 0; // Pastas Nextcloud: padrão 0
                } else if (camposBooleanosTexto.includes(coluna)) {
                    return 'Não'; // Booleanos de texto: padrão 'Não'
                } else if (camposData.includes(coluna)) {
                    return null; // Datas: padrão null
                } else if (coluna === 'status_contrato') {
                    return 'Ativo'; // Status padrão: Ativo
                } else {
                    return null; // Outros campos: padrão null
                }
            };

            // Preparar payload conforme script da API
            const payload = {};

            // Processar todos os campos do formData
            Object.entries(formData).forEach(([key, value]) => {
                // Campos obrigatórios sempre usam valores validados
                if (key === 'colaboradores') {
                    payload[key] = formData.colaboradores.trim();
                } else if (key === 'cpf') {
                    payload[key] = cpfLimpo;
                } 
                // Tratamento especial para campos de data
                else if (camposData.includes(key)) {
                    if (value === '' || value === null || value === undefined || (typeof value === 'string' && value.trim() === '')) {
                        payload[key] = null;
                    } else {
                        payload[key] = value;
                    }
                }
                // Tratamento para campos VARCHAR que eram numéricos
                else if (camposVarcharNumericos.includes(key)) {
                    if (value === '' || value === null || value === undefined || (typeof value === 'string' && value.trim() === '')) {
                        payload[key] = null; // String vazia vira null
                    } else if (typeof value === 'string') {
                        payload[key] = value.trim(); // Manter como string
                    } else if (typeof value === 'number') {
                        payload[key] = String(value); // Converter número para string
                    } else {
                        payload[key] = null;
                    }
                }
                // Tratamento para pastas Nextcloud (devem ser 0 ou 1)
                else if (nextcloudFolders.includes(key)) {
                    if (value === 'Sim' || value === true || value === 1 || value === '1') {
                        payload[key] = 1;
                    } else {
                        payload[key] = 0;
                    }
                }
                // Tratamento para campos booleanos de texto (devem ser 'Sim'/'Não')
                else if (camposBooleanosTexto.includes(key)) {
                    if (typeof value === 'boolean') {
                        payload[key] = value ? 'Sim' : 'Não';
                    } else if (typeof value === 'string') {
                        if (value === '') {
                            payload[key] = 'Não';
                        } else if (['true', '1', 'sim', 'yes'].includes(value.toLowerCase())) {
                            payload[key] = 'Sim';
                        } else if (['false', '0', 'não', 'nao', 'no'].includes(value.toLowerCase())) {
                            payload[key] = 'Não';
                        } else {
                            payload[key] = value; // Manter valor se já for 'Sim'/'Não'
                        }
                    } else {
                        payload[key] = 'Não';
                    }
                }
                // Outros campos
                else {
                    if (value === null || value === undefined) {
                        payload[key] = null;
                    } else if (typeof value === 'string' && value.trim() === '') {
                        payload[key] = null;
                    } else {
                        payload[key] = value;
                    }
                }
            });

            // Garantir que todos os campos esperados estejam presentes com valores padrão
            const todosCampos = [
                'colaboradores', 'cpf', 'rg', 'pis', 'data_nascimento', 'endereco', 'cep',
                'telefone', 'email_pessoal_em_uso', 'email_corporativo', 'contato_responsavel',
                'tentativa_contato_cadastro', 'momento_contato_1', 'momento_contato_2',
                'momento_contato_3', 'horario_ultimo_contato', 'contratacao', 'contratacao_validada',
                'status_contrato', 'situacao', 'cargo', 'cargo_adm', 'cargo_administrativo_validado',
                'funcao', 'cbo', 'classificacao_cbo', 'salario', 'carga_horaria', 'jornada', 'jornada_1',
                'data_admissao', 'data_ultimas_ferias', 'data_limite_ferias', 'acesso', 'risco',
                'cliente', 'cliente_nome', 'base', 'base_validada', 'empresa', 'empresas',
                'responsavel_direto', 'responsavel_direto_validado', 'realmente_e_subordinado',
                'contratos_operacionais_ativos', 'cnh', 'data_expedicao_cnh', 'validade_cnh',
                'cpf_validado', 'conta_ad', 'data_criacao_conta_servico_auth', 'escritorio_remoto',
                'usa_notebook_empresa', 'usa_desktop_empresa', 'possui_email_corporativo',
                'modelo_dispositivo', 'rotulo_servico_numero_serie', 'maquina_registrada',
                'maquina_registrada_cliente', 'obs_maquina', 'id_prl', 'id_b2b', 'id_oficina',
                'id_almoxarifado', 'id_apoio', 'almoxarifado', 'oficina', 'apoio_setor',
                'data_criacao_nextcloud', 'contato_colaborador_validado',
                ...nextcloudFolders
            ];

            // Adicionar campos faltantes com valores padrão
            todosCampos.forEach(field => {
                if (!(field in payload)) {
                    payload[field] = obterValorPadrao(field);
                }
            });
            
            console.log('📦 Payload final preparado:', payload);
            console.log('📤 Chamando createEmployee...');
            const success = await createEmployee(payload);
            
            if (success) {
                onSuccess?.();
                onClose();
                setFormData(initialFormData);
            }
        } catch (err) {
            handleBackendError(err);
        } finally {
            setLoading(false);
        }
    };

    return (
        <Dialog open={isOpen} onOpenChange={onClose}>
            <DialogContent className="w-[95vw] max-w-5xl bg-white dark:bg-[#1b1b1b] border-slate-200 dark:border-white/10 rounded-2xl p-0 z-[200]">
                <DialogHeader className="p-8 pb-4 bg-emerald-500/5">
                    <DialogTitle className="text-[clamp(1.25rem,2.4vw,1.875rem)] font-semibold text-slate-800 dark:text-white">
                        Novo Colaborador
                    </DialogTitle>
                    <DialogDescription className="text-[clamp(1rem,1.1vw,1.0625rem)] text-slate-500 font-medium uppercase tracking-wider">
                        Preencha os dados completos para admissão
                    </DialogDescription>
                </DialogHeader>

                <form onSubmit={handleSubmit} className="flex flex-col h-full max-h-[90vh] overflow-hidden rounded-2xl">
                    <div className="flex-1 overflow-y-auto overflow-x-hidden custom-scrollbar min-h-0">
                        <Tabs defaultValue="pessoal" className="w-full">
                            <TabsList className="w-full justify-start px-4 sm:px-6 md:px-8 pt-4 bg-transparent border-b border-slate-100 dark:border-white/5 rounded-t-2xl sticky top-0 bg-white dark:bg-[#1b1b1b] z-10 overflow-x-auto flex-nowrap gap-2 scrollbar-hide [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]">
                                <TabsTrigger value="pessoal" className="text-[clamp(0.875rem,1.2vw,1rem)] font-semibold uppercase px-4 py-3 rounded-xl whitespace-nowrap flex-shrink-0">Pessoal</TabsTrigger>
                                <TabsTrigger value="contato" className="text-[clamp(0.875rem,1.2vw,1rem)] font-semibold uppercase px-4 py-3 rounded-xl whitespace-nowrap flex-shrink-0">Contato</TabsTrigger>
                                <TabsTrigger value="contrato" className="text-[clamp(0.875rem,1.2vw,1rem)] font-semibold uppercase px-4 py-3 rounded-xl whitespace-nowrap flex-shrink-0">Contrato & Cargo</TabsTrigger>
                                <TabsTrigger value="alocacao" className="text-[clamp(0.875rem,1.2vw,1rem)] font-semibold uppercase px-4 py-3 rounded-xl whitespace-nowrap flex-shrink-0">Alocação</TabsTrigger>
                                <TabsTrigger value="documentos" className="text-[clamp(0.875rem,1.2vw,1rem)] font-semibold uppercase px-4 py-3 rounded-xl whitespace-nowrap flex-shrink-0">Documentos</TabsTrigger>
                                <TabsTrigger value="ti" className="text-[clamp(0.875rem,1.2vw,1rem)] font-semibold uppercase px-4 py-3 rounded-xl whitespace-nowrap flex-shrink-0">TI & Infra</TabsTrigger>
                                <TabsTrigger value="nextcloud" className="text-[clamp(0.875rem,1.2vw,1rem)] font-semibold uppercase px-4 py-3 rounded-xl whitespace-nowrap flex-shrink-0">Nextcloud</TabsTrigger>
                                <TabsTrigger value="integracoes" className="text-[clamp(0.875rem,1.2vw,1rem)] font-semibold uppercase px-4 py-3 rounded-xl whitespace-nowrap flex-shrink-0">Sistemas</TabsTrigger>
                            </TabsList>
                            
                            <div className="px-4 sm:px-6 md:px-8 py-6 overflow-x-hidden">
                                {/* ABA PESSOAL */}
                                <TabsContent value="pessoal" className="mt-0 space-y-6">
                                    <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6">
                                        <div className="col-span-2 lg:col-span-3 space-y-2">
                                            <Label htmlFor="colaboradores" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Nome Completo *</Label>
                                            <Input id="colaboradores" name="colaboradores" value={formData.colaboradores} onChange={handleChange} required className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="cpf" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">CPF *</Label>
                                            <Input id="cpf" name="cpf" value={formData.cpf} onChange={handleChange} required placeholder="000.000.000-00" className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="rg" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">RG</Label>
                                            <Input id="rg" name="rg" value={formData.rg} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="data_nascimento" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Data de Nascimento</Label>
                                            <Input id="data_nascimento" name="data_nascimento" type="date" value={formData.data_nascimento} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="pis" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">PIS</Label>
                                            <Input id="pis" name="pis" value={formData.pis} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                    </div>
                                </TabsContent>

                                {/* ABA CONTATO */}
                                <TabsContent value="contato" className="mt-0 space-y-6">
                                     <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6">
                                        <div className="space-y-2">
                                            <Label htmlFor="telefone" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Telefone</Label>
                                            <Input id="telefone" name="telefone" value={formData.telefone} onChange={handleChange} placeholder="(00) 00000-0000" className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="email_pessoal_em_uso" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">E-mail Pessoal</Label>
                                            <Input id="email_pessoal_em_uso" name="email_pessoal_em_uso" type="email" value={formData.email_pessoal_em_uso} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="cep" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">CEP</Label>
                                            <Input id="cep" name="cep" value={formData.cep} onChange={handleChange} placeholder="00000-000" className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="col-span-2 lg:col-span-3 space-y-2">
                                            <Label htmlFor="endereco" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Endereço Completo</Label>
                                            <Input id="endereco" name="endereco" value={formData.endereco} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="contato_responsavel" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Contato Responsável</Label>
                                            <Input id="contato_responsavel" name="contato_responsavel" value={formData.contato_responsavel} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="tentativa_contato_cadastro" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Tentativa Contato Cadastro</Label>
                                            <Input id="tentativa_contato_cadastro" name="tentativa_contato_cadastro" type="date" value={formData.tentativa_contato_cadastro} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="momento_contato_1" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Momento Contato 1</Label>
                                            <Input id="momento_contato_1" name="momento_contato_1" value={formData.momento_contato_1} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="momento_contato_2" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Momento Contato 2</Label>
                                            <Input id="momento_contato_2" name="momento_contato_2" value={formData.momento_contato_2} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="momento_contato_3" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Momento Contato 3</Label>
                                            <Input id="momento_contato_3" name="momento_contato_3" value={formData.momento_contato_3} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="horario_ultimo_contato" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Horário Último Contato</Label>
                                            <Input id="horario_ultimo_contato" name="horario_ultimo_contato" type="time" value={formData.horario_ultimo_contato} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="contato_colaborador_validado" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Contato Colaborador Validado</Label>
                                            <Input id="contato_colaborador_validado" name="contato_colaborador_validado" value={formData.contato_colaborador_validado} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                     </div>
                                </TabsContent>

                                {/* ABA CONTRATO */}
                                <TabsContent value="contrato" className="mt-0 space-y-6">
                                    <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6">
                                        <div className="space-y-2">
                                            <Label htmlFor="cargo" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Cargo *</Label>
                                            <Input id="cargo" name="cargo" value={formData.cargo} onChange={handleChange} required className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="cargo_adm" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Cargo Adm</Label>
                                            <Input id="cargo_adm" name="cargo_adm" value={formData.cargo_adm} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="funcao" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Função</Label>
                                            <Input id="funcao" name="funcao" value={formData.funcao} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="status_contrato" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Status Contrato</Label>
                                            <Select value={formData.status_contrato || undefined} onValueChange={(v) => handleSelectChange('status_contrato', v || '')}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Ativo">Ativo</SelectItem>
                                                    <SelectItem value="Inativo">Inativo</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="contratacao" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Tipo de Contratação</Label>
                                            <Input id="contratacao" name="contratacao" value={formData.contratacao} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="data_admissao" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Data de Admissão</Label>
                                            <Input id="data_admissao" name="data_admissao" type="date" value={formData.data_admissao} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="salario" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Salário</Label>
                                            <Input id="salario" name="salario" type="number" step="0.01" value={formData.salario} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="cbo" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">CBO</Label>
                                            <Input id="cbo" name="cbo" value={formData.cbo} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="classificacao_cbo" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Classificação CBO</Label>
                                            <Input id="classificacao_cbo" name="classificacao_cbo" value={formData.classificacao_cbo} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="acesso" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Nível Acesso</Label>
                                            <Input id="acesso" name="acesso" value={formData.acesso} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="risco" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Grau de Risco</Label>
                                            <Input id="risco" name="risco" value={formData.risco} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="carga_horaria" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Carga Horária</Label>
                                            <Input id="carga_horaria" name="carga_horaria" value={formData.carga_horaria} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="jornada" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Jornada</Label>
                                            <Input id="jornada" name="jornada" value={formData.jornada} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="jornada_1" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Jornada Detalhada (1)</Label>
                                            <Input id="jornada_1" name="jornada_1" value={formData.jornada_1} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="contratacao_validada" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Contratação Validada</Label>
                                            <Input id="contratacao_validada" name="contratacao_validada" value={formData.contratacao_validada} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="cargo_administrativo_validado" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Cargo Administrativo Validado</Label>
                                            <Input id="cargo_administrativo_validado" name="cargo_administrativo_validado" value={formData.cargo_administrativo_validado} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="data_ultimas_ferias" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Data Últimas Férias</Label>
                                            <Input id="data_ultimas_ferias" name="data_ultimas_ferias" type="date" value={formData.data_ultimas_ferias} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="data_limite_ferias" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Data Limite Férias</Label>
                                            <Input id="data_limite_ferias" name="data_limite_ferias" type="date" value={formData.data_limite_ferias} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="situacao" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Situação</Label>
                                            <Select value={formData.situacao} onValueChange={(v) => handleSelectChange('situacao', v)}>
                                                <SelectTrigger className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Ativo">Ativo</SelectItem>
                                                    <SelectItem value="Inativo">Inativo</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                    </div>
                                </TabsContent>

                                {/* ABA ALOCAÇÃO */}
                                <TabsContent value="alocacao" className="mt-0 space-y-6">
                                    <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6">
                                        <div className="space-y-2">
                                            <Label htmlFor="empresa" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">ID Empresa</Label>
                                            <Input id="empresa" name="empresa" value={formData.empresa} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="empresas" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Nome Empresa</Label>
                                            <Input id="empresas" name="empresas" value={formData.empresas} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="base" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Base</Label>
                                            <Input id="base" name="base" value={formData.base} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="cliente" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Cliente (ID/Código)</Label>
                                            <Input id="cliente" name="cliente" value={formData.cliente} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="cliente_nome" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Nome Cliente</Label>
                                            <Input id="cliente_nome" name="cliente_nome" value={formData.cliente_nome} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="responsavel_direto" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Responsável Direto</Label>
                                            <Input id="responsavel_direto" name="responsavel_direto" value={formData.responsavel_direto} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="contato_responsavel" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Contato Responsável</Label>
                                            <Input id="contato_responsavel" name="contato_responsavel" value={formData.contato_responsavel} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="realmente_e_subordinado" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">É Subordinado?</Label>
                                            <Select value={formData.realmente_e_subordinado || undefined} onValueChange={(v) => handleSelectChange('realmente_e_subordinado', v || '')}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Sim">Sim</SelectItem>
                                                    <SelectItem value="Não">Não</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="base_validada" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Base Validada</Label>
                                            <Input id="base_validada" name="base_validada" value={formData.base_validada} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="responsavel_direto_validado" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Responsável Direto Validado</Label>
                                            <Input id="responsavel_direto_validado" name="responsavel_direto_validado" value={formData.responsavel_direto_validado} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="contratos_operacionais_ativos" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Contratos Operacionais Ativos</Label>
                                            <Input id="contratos_operacionais_ativos" name="contratos_operacionais_ativos" value={formData.contratos_operacionais_ativos} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                    </div>
                                </TabsContent>

                                {/* ABA DOCUMENTOS */}
                                <TabsContent value="documentos" className="mt-0 space-y-6">
                                    <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6">
                                        <div className="space-y-2">
                                            <Label htmlFor="cnh" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">CNH</Label>
                                            <Input id="cnh" name="cnh" value={formData.cnh} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="validade_cnh" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Validade CNH</Label>
                                            <Input id="validade_cnh" name="validade_cnh" type="date" value={formData.validade_cnh} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="data_expedicao_cnh" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Data Expedição CNH</Label>
                                            <Input id="data_expedicao_cnh" name="data_expedicao_cnh" type="date" value={formData.data_expedicao_cnh} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="cpf_validado" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">CPF Validado</Label>
                                            <Input id="cpf_validado" name="cpf_validado" value={formData.cpf_validado} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                    </div>
                                </TabsContent>

                                {/* ABA TI & INFRA */}
                                <TabsContent value="ti" className="mt-0 space-y-6">
                                    <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 sm:gap-6">
                                        <div className="space-y-2">
                                            <Label htmlFor="email_corporativo" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">E-mail Corporativo</Label>
                                            <Input id="email_corporativo" name="email_corporativo" type="email" value={formData.email_corporativo} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="conta_ad" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Conta AD</Label>
                                            <Input id="conta_ad" name="conta_ad" value={formData.conta_ad} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="escritorio_remoto" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Escritório Remoto?</Label>
                                            <Select value={formData.escritorio_remoto || undefined} onValueChange={(v) => handleSelectChange('escritorio_remoto', v || '')}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Sim">Sim</SelectItem>
                                                    <SelectItem value="Não">Não</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="usa_notebook_empresa" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Usa Notebook?</Label>
                                            <Select value={formData.usa_notebook_empresa} onValueChange={(v) => handleSelectChange('usa_notebook_empresa', v)}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Sim">Sim</SelectItem>
                                                    <SelectItem value="Não">Não</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="modelo_dispositivo" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Modelo Dispositivo</Label>
                                            <Input id="modelo_dispositivo" name="modelo_dispositivo" value={formData.modelo_dispositivo} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="obs_maquina" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Obs. Máquina</Label>
                                            <Input id="obs_maquina" name="obs_maquina" value={formData.obs_maquina} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="rotulo_servico_numero_serie" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Service Tag / Serial</Label>
                                            <Input id="rotulo_servico_numero_serie" name="rotulo_servico_numero_serie" value={formData.rotulo_servico_numero_serie} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="maquina_registrada" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Máquina Registrada?</Label>
                                            <Select value={formData.maquina_registrada || undefined} onValueChange={(v) => handleSelectChange('maquina_registrada', v || '')}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Sim">Sim</SelectItem>
                                                    <SelectItem value="Não">Não</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="maquina_registrada_cliente" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Registrada no Cliente?</Label>
                                            <Select value={formData.maquina_registrada_cliente} onValueChange={(v) => handleSelectChange('maquina_registrada_cliente', v)}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Sim">Sim</SelectItem>
                                                    <SelectItem value="Não">Não</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="usa_desktop_empresa" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Usa Desktop?</Label>
                                            <Select value={formData.usa_desktop_empresa || undefined} onValueChange={(v) => handleSelectChange('usa_desktop_empresa', v || '')}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Sim">Sim</SelectItem>
                                                    <SelectItem value="Não">Não</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="possui_email_corporativo" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Possui E-mail Corp.?</Label>
                                            <Select value={formData.possui_email_corporativo || undefined} onValueChange={(v) => handleSelectChange('possui_email_corporativo', v || '')}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Sim">Sim</SelectItem>
                                                    <SelectItem value="Não">Não</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="data_criacao_conta_servico_auth" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Data Criação Conta Serviço Auth</Label>
                                            <Input id="data_criacao_conta_servico_auth" name="data_criacao_conta_servico_auth" type="date" value={formData.data_criacao_conta_servico_auth} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="data_criacao_nextcloud" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Data Criação Nextcloud</Label>
                                            <Input id="data_criacao_nextcloud" name="data_criacao_nextcloud" type="date" value={formData.data_criacao_nextcloud} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                    </div>
                                </TabsContent>

                                {/* ABA NEXTCLOUD */}
                                <TabsContent value="nextcloud" className="mt-0 space-y-6">
                                    <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
                                        {nextcloudFolders.map((folder) => (
                                            <div key={folder} className="space-y-2">
                                                <Label htmlFor={folder} className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">
                                                    {folder.replace('pasta_', '').replace(/_/g, ' ')}
                                                </Label>
                                                <Select 
                                                    value={formData[folder] || undefined} 
                                                    onValueChange={(v) => handleSelectChange(folder, v || '')}
                                                >
                                                    <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                        <SelectValue placeholder="Selecione" />
                                                    </SelectTrigger>
                                                    <SelectContent position="popper" className="z-[300]">
                                                        <SelectItem value="Sim">Sim</SelectItem>
                                                        <SelectItem value="Não">Não</SelectItem>
                                                    </SelectContent>
                                                </Select>
                                            </div>
                                        ))}
                                    </div>
                                </TabsContent>

                                {/* ABA SISTEMAS (IDs) */}
                                <TabsContent value="integracoes" className="mt-0 space-y-6">
                                     <div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 sm:gap-6">
                                        <div className="space-y-2">
                                            <Label htmlFor="id_prl" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">ID Ponto</Label>
                                            <Input id="id_prl" name="id_prl" value={formData.id_prl} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="id_b2b" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">ID B2B</Label>
                                            <Input id="id_b2b" name="id_b2b" value={formData.id_b2b} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="id_oficina" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">ID Oficina</Label>
                                            <Input id="id_oficina" name="id_oficina" value={formData.id_oficina} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                         <div className="space-y-2">
                                            <Label htmlFor="id_almoxarifado" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">ID Almoxarifado</Label>
                                            <Input id="id_almoxarifado" name="id_almoxarifado" value={formData.id_almoxarifado} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="id_apoio" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">ID Apoio</Label>
                                            <Input id="id_apoio" name="id_apoio" value={formData.id_apoio} onChange={handleChange} className="h-11 rounded-lg bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10" />
                                        </div>
                                        {/* Acessos Booleanos (Flags) */}
                                        <div className="space-y-2">
                                            <Label htmlFor="almoxarifado" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Acesso Almoxarifado?</Label>
                                            <Select value={formData.almoxarifado || undefined} onValueChange={(v) => handleSelectChange('almoxarifado', v || '')}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Sim">Sim</SelectItem>
                                                    <SelectItem value="Não">Não</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="oficina" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Acesso Oficina?</Label>
                                            <Select value={formData.oficina || undefined} onValueChange={(v) => handleSelectChange('oficina', v || '')}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Sim">Sim</SelectItem>
                                                    <SelectItem value="Não">Não</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                        <div className="space-y-2">
                                            <Label htmlFor="apoio_setor" className="text-[clamp(1rem,1.1vw,1.0625rem)] font-medium uppercase text-slate-400">Acesso Apoio?</Label>
                                            <Select value={formData.apoio_setor || undefined} onValueChange={(v) => handleSelectChange('apoio_setor', v || '')}>
                                                <SelectTrigger className="h-11 rounded-xl bg-slate-50 dark:bg-white/5 border-slate-200 dark:border-white/10 text-slate-800 dark:text-slate-100">
                                                    <SelectValue placeholder="Selecione" />
                                                </SelectTrigger>
                                                <SelectContent position="popper" className="z-[300]">
                                                    <SelectItem value="Sim">Sim</SelectItem>
                                                    <SelectItem value="Não">Não</SelectItem>
                                                </SelectContent>
                                            </Select>
                                        </div>
                                     </div>
                                </TabsContent>
                            </div>
                        </Tabs>
                    </div>

                    <DialogFooter className="p-8 bg-slate-50 dark:bg-white/5 border-t border-slate-100 dark:border-white/10 flex-shrink-0 rounded-b-2xl">
                        <Button 
                            type="button" 
                            variant="ghost" 
                            onClick={onClose}
                            className="rounded-xl h-12 px-8 font-medium text-slate-500"
                        >
                            Cancelar
                        </Button>
                        <Button 
                            type="submit" 
                            disabled={loading}
                            className="rounded-xl h-12 px-8 bg-emerald-600 hover:bg-emerald-700 text-white font-semibold uppercase tracking-widest shadow-lg shadow-emerald-500/20"
                        >
                            {loading ? 'Criando...' : 'Criar Colaborador'}
                        </Button>
                    </DialogFooter>
                </form>
            </DialogContent>
        </Dialog>
    );
};
