/* --- GERAL & FONTES --- */
@font-face { font-family: 'TOTVS'; src: url('https://centraldn.com.br/fontes/TOTVS-ExtraLight.ttf') format('truetype'); font-weight: 200; }
@font-face { font-family: 'TOTVS'; src: url('https://centraldn.com.br/fontes/TOTVS-Light.ttf') format('truetype'); font-weight: 300; }
@font-face { font-family: 'TOTVS'; src: url('https://centraldn.com.br/fontes/TOTVS-Regular.ttf') format('truetype'); font-weight: 400; }
@font-face { font-family: 'TOTVS'; src: url('https://centraldn.com.br/fontes/TOTVS-SemiBold.ttf') format('truetype'); font-weight: 600; }
@font-face { font-family: 'TOTVS'; src: url('https://centraldn.com.br/fontes/TOTVS-Bold.ttf') format('truetype'); font-weight: 700; }
@font-face { font-family: 'TOTVS'; src: url('https://centraldn.com.br/fontes/TOTVS-ExtraBold.ttf') format('truetype'); font-weight: 800; }

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');

/* --- ESTILOS DA PÁGINA PÚBLICA (index.php) --- */
.public-page {
    font-family: 'TOTVS', sans-serif;
    overflow-x: hidden;
}

/* A classe .with-svg-background controla a visibilidade da animação */
.with-svg-background::before {
    content: '';
    position: fixed;
    top: 120%;
    left: 90%;
    width: 110vmax;
    height: 110vmax;
    background-image: url('hexagono.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translate(-50%, -50%);
    z-index: -1;
    animation: rotateBackground 40s linear infinite;
    opacity: 0.08; 
}

@keyframes rotateBackground {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
}
.animate-shake { animation: shake 1.5s ease-in-out infinite; }

@keyframes zoom-in {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}
.animate-zoom-in { animation: zoom-in 2s ease-in-out infinite; }

.animate-glow { animation: glow 2.5s ease-in-out infinite; }


/* --- ESTILOS DAS PÁGINAS DE ADMINISTRAÇÃO --- */
.admin-page {
    --admin-bg: #002233;
    --admin-card: #0a2f42;
    --admin-text: #ffffff;
    --admin-accent-primary: #00DBFF;
    --admin-accent-secondary: #A44DFF;
    --admin-accent-danger: #FF009E;
    --admin-input-bg: rgba(0, 0, 0, 0.2);
    --admin-input-border: rgba(0, 219, 255, 0.4);
    
    font-family: 'Inter', sans-serif;
    background-color: var(--admin-bg);
    color: var(--admin-text);
}

/* Overrides para classes do Tailwind */
.admin-page.bg-gray-100 { background-color: var(--admin-bg); }

.admin-page header.bg-white,
.admin-page .bg-white {
    background-color: var(--admin-card);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.4);
}

.admin-page .text-gray-800,
.admin-page .text-gray-700 { color: var(--admin-text); }

.admin-page .text-gray-600,
.admin-page .text-gray-500 { color: #9ca3af; }

.admin-page a.text-blue-500 { color: var(--admin-accent-primary); }
.admin-page a:hover, .admin-page a.text-blue-500:hover { color: var(--admin-accent-secondary); }

.admin-page a.text-red-500 { color: var(--admin-accent-danger); }
.admin-page a.text-red-500:hover { filter: brightness(1.2); }

.admin-page button.bg-blue-500 {
    background-color: var(--admin-accent-primary);
    color: var(--admin-bg);
    font-weight: 700;
}
.admin-page button.bg-blue-500:hover {
    background-color: var(--admin-accent-secondary);
    color: white;
}

.admin-page button.bg-gray-200 {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--admin-text);
}
.admin-page button.bg-gray-200:hover { background-color: rgba(255, 255, 255, 0.2); }

.admin-page input[type="text"],
.admin-page input[type="password"],
.admin-page input[type="url"],
.admin-page textarea {
    background-color: var(--admin-input-bg);
    border-color: var(--admin-input-border);
    color: var(--admin-text);
}
.admin-page input::placeholder, .admin-page textarea::placeholder { color: #9ca3af; }

.admin-page input:focus, .admin-page textarea:focus {
    border-color: var(--admin-accent-primary);
    --tw-ring-color: var(--admin-accent-primary);
    box-shadow: 0 0 0 1px var(--admin-accent-primary);
}

.admin-page .border-gray-800 { border-color: #1f2937; }
.admin-page .bg-gray-800 { background-color: #1f2937; }

/* Modal & Switch */
.modal-bg {
    background-color: rgba(0, 34, 51, 0.7);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

/* Estilo completo para o Switch moderno */
.switch { 
    position: relative; 
    display: inline-block; 
    width: 60px;
    height: 34px; 
}
.switch input { 
    opacity: 0; 
    width: 0; 
    height: 0; 
}
.slider { 
    position: absolute; 
    cursor: pointer; 
    top: 0; 
    left: 0; 
    right: 0; 
    bottom: 0; 
    background-color: #6b7280; /* Cinza para 'desligado' */
    transition: .4s; 
    border-radius: 34px; 
}
.slider:before { 
    position: absolute; 
    content: ""; 
    height: 26px; 
    width: 26px; 
    left: 4px; 
    bottom: 4px; 
    background-color: white; 
    transition: .4s; 
    border-radius: 50%; 
}
input:checked + .slider { 
    background-color: #10B981; /* Verde para 'ligado' */
}
input:checked + .slider:before { 
    transform: translateX(26px); 
}

