:root {
    --azul-claro: #4A90E2;
    --preto: #1A1A1A;
    --sucesso: #28A745;
    --erro: #DC3545;
}

body {
    background-color: #f8f9fa;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.navbar {
    background: linear-gradient(135deg, var(--preto) 0%, #2C2C2C 100%);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.btn-primary {
    background-color: var(--azul-claro);
    border-color: var(--azul-claro);
}

.btn-primary:hover {
    background-color: #357ABD;
    border-color: #357ABD;
}

.card {
    border-radius: 10px;
    transition: transform 0.3s;
}

.card:hover {
    transform: translateY(-5px);
}

.componente-item {
    padding: 10px;
    margin-bottom: 8px;
    background: var(--azul-claro);
    color: white;
    border-radius: 5px;
    cursor: move;
    transition: all 0.3s;
}

.componente-item:hover {
    background: #357ABD;
    transform: scale(1.02);
}

.campo-builder {
    background: white;
    border: 2px solid #dee2e6;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
    cursor: pointer;
    transition: all 0.3s;
}

.campo-builder:hover {
    border-color: var(--azul-claro);
    box-shadow: 0 2px 8px rgba(74,144,226,0.2);
}

.campo-builder.selecionado {
    border-color: var(--azul-claro);
    background: #f0f7ff;
}

.campo-header {
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #dee2e6;
}

.alert-success {
    background-color: var(--sucesso);
    color: white;
    border: none;
}

.alert-danger {
    background-color: var(--erro);
    color: white;
    border: none;
}

/* Responsividade */
@media (max-width: 768px) {
    .componente-item {
        font-size: 14px;
        padding: 8px;
    }
    
    .campo-builder {
        padding: 10px;
    }
    
    h1 {
        font-size: 1.8rem;
    }
}

/* Estilo para drag & drop */
.gu-mirror {
    position: fixed !important;
    margin: 0 !important;
    z-index: 9999 !important;
    opacity: 0.8;
    transform: rotate(3deg);
}

.gu-hide {
    display: none !important;
}

.gu-unselectable {
    user-select: none !important;
}

.gu-transit {
    opacity: 0.5;
    background: #e9ecef;
}
