/* public/style.css - TEMA: MIDNIGHT BENTO */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* --- FUNDAÇÃO --- */
body {
    background-color: #020617; /* Fundo Preto Profundo */
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px), 
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 40px 40px;
    color: #e2e8f0;
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* --- CARDS BENTO (Substitui o bg-white) --- */
.bento-card {
    background-color: #0f172a; /* Slate-900 */
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
}

/* --- INPUTS E SELECTS MODERNOS (MIDNIGHT STYLE) --- */

/* Estilo Base para Inputs e Selects */
.input-modern {
    background-color: #1e293b !important; /* Slate-800 */
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: #f1f5f9 !important; /* Slate-100 */
    border-radius: 12px !important; /* Mais arredondado (era 8px) */
    padding: 12px 16px !important; /* Mais espaçamento interno */
    font-size: 0.95rem;
    transition: all 0.2s ease-in-out;
    width: 100%;
}

/* Efeito de Foco (Glow Indigo) */
.input-modern:focus {
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
    outline: none;
    background-color: #0f172a !important; /* Escurece levemente ao focar */
}

/* --- CUSTOMIZAÇÃO ESPECÍFICA DO DROPDOWN (SELECT) --- */
select.input-modern {
    appearance: none; /* Remove a seta feia padrão do navegador */
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;

    color-scheme: dark;
    
    /* Nova Seta Customizada (SVG encoded) */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8' stroke-width='2'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.2em;
    padding-right: 3rem !important; /* Espaço para a seta não ficar em cima do texto */
}

/* Hover no Select */
select.input-modern:hover {
    border-color: rgba(255, 255, 255, 0.2) !important;
    background-color: #28364d !important; /* Leve destaque ao passar o mouse */
}

/* --- ESTILIZANDO A LISTA ABERTA (OPTIONS) --- */
/* Nota: Isso funciona na maioria dos navegadores modernos para tirar o fundo branco */
select.input-modern option {
    background-color: #0f172a; /* Fundo Preto/Azul Profundo */
    color: #e2e8f0; /* Texto Claro */
    padding: 12px;
}

/* Estiliza grupos de opções (se houver) */
select.input-modern optgroup {
    background-color: #0f172a;
    color: #94a3b8;
    font-style: normal;
    font-weight: 600;
}

/* --- BOTÕES --- */
.btn-primary-glow {
    background-color: #4f46e5;
    color: white;
    font-weight: 600;
    box-shadow: 0 0 15px rgba(79, 70, 229, 0.3);
    transition: all 0.2s;
    border: 1px solid rgba(255,255,255,0.1);
}
.btn-primary-glow:hover {
    background-color: #4338ca;
    box-shadow: 0 0 25px rgba(79, 70, 229, 0.5);
}

/* --- SIDEBAR & HEADER --- */
.sidebar-container {
    background-color: #0f172a;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}
.floating-header {
    background-color: rgba(2, 6, 23, 0.8);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* --- TABELAS --- */
.table-modern thead th {
    background-color: #1e293b;
    color: #94a3b8;
    text-transform: uppercase;
    font-size: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.table-modern tbody tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    background-color: transparent;
}
.table-modern tbody tr:hover {
    background-color: rgba(99, 102, 241, 0.05);
}
.table-modern td { color: #e2e8f0; }

/* --- TAGS ESPECÍFICAS --- */

/* Tag de Bairro (Agora estilo Neon/Arredondado igual respostas) */
.bairro-tag {
    background-color: #4f46e5 !important; /* Indigo Vibrante */
    color: white !important;
    border: none !important;
    border-radius: 9999px !important; /* Totalmente redonda (Pílula) */
    padding: 6px 14px !important;
    font-size: 0.85rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px; /* Espaço entre texto e o X */
    margin: 4px;
    box-shadow: 0 0 10px rgba(79, 70, 229, 0.3); /* Glow suave */
    transition: all 0.2s;
}

.bairro-tag:hover {
    background-color: #4338ca !important;
    transform: translateY(-1px);
}

.bairro-tag button {
    color: white !important;
    opacity: 0.6;
    font-size: 1.1rem;
    line-height: 1;
    margin-left: 0 !important; /* Reset margem antiga */
    border: none;
    background: none;
    cursor: pointer;
}
.bairro-tag button:hover { opacity: 1; }

/* Tag de Resposta ("Yes", "Opção 1" - Destaque Neon) */
.answer-tag {
    background-color: #4f46e5 !important; /* Indigo Vibrante */
    color: white !important;
    border: none !important;
    border-radius: 9999px !important; /* Totalmente redonda */
    padding: 6px 16px !important;
    font-weight: 600 !important;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 0 15px rgba(79, 70, 229, 0.4); /* Glow */
    margin: 4px;
    transition: all 0.2s;
}

.answer-tag:hover {
    transform: scale(1.05);
    background-color: #4338ca !important;
}

.answer-tag button {
    color: white !important;
    opacity: 0.7;
    font-size: 1.1rem;
    line-height: 1;
    margin-left: 4px;
}
.answer-tag button:hover { opacity: 1; }

/* Botões de Opção (Múltipla escolha) */
.option-button {
    background-color: #0f172a !important;
    border: 1px solid #334155 !important;
    color: #94a3b8 !important;
    border-radius: 8px;
    padding: 10px 16px;
    transition: all 0.2s;
}
.option-button:hover {
    border-color: #6366f1 !important;
    color: white !important;
}
.option-button.selected {
    background-color: #4f46e5 !important;
    border-color: #4f46e5 !important;
    color: white !important;
    box-shadow: 0 0 15px rgba(79, 70, 229, 0.4);
}

/* --- SCROLLBAR --- */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #020617; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

/* Scrollbar customizada para o painel do mapa */
.custom-scrollbar::-webkit-scrollbar {
    width: 4px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #4f46e5;
    border-radius: 2px;
}

/* --- SEGURANÇA E ANTI-PRINT --- */

/* Impede seleção de texto */
.secure-view {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Oculta tudo na hora de imprimir */
@media print {
    body {
        display: none !important;
    }
    html::after {
        content: "DOCUMENTO CONFIDENCIAL - CÓPIA PROIBIDA";
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 30px;
        color: black;
        font-weight: bold;
    }
}

/* Marca d'água digital para visitantes */
.watermark {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    z-index: 9999;
    opacity: 0.03;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Ctext x='50%25' y='50%25' font-size='20' fill='%23ffffff' transform='rotate(-45 100 100)' text-anchor='middle'%3ECONFIDENCIAL%3C/text%3E%3C/svg%3E");
}