/*
  Este arquivo contém os estilos personalizados para a aplicação Aliança Church.
  Ele define as variáveis de cores para os modos claro (light) e escuro (dark),
  e estiliza os principais componentes da interface como cards, menus e formulários.
*/

:root {
    --bg-color: #F7FAFC;
    --text-color: #4A5568;
    --card-bg-color: #FFFFFF;
    --border-color: #E2E8F0;
    --primary-text-color: #1E40AF;
    --menu-link-color: #2563EB;
    --menu-active-bg: #DBEAFE;
    --menu-active-text: #1E40AF;
    --hover-bg-color: #EFF6FF;
    --input-bg-color: #F7FAFC;
    --bible-bg-color: #FBF7F0; /* Cor sépia para o modo claro */
}

html.dark {
    --bg-color: #1A202C;
    --text-color: #A0AEC0;
    --card-bg-color: #2D3748;
    --border-color: #4A5568;
    --primary-text-color: #90CDF4;
    --menu-link-color: #63B3ED;
    --menu-active-bg: #2C5282;
    --menu-active-text: #EBF8FF;
    --hover-bg-color: #2A303C;
    --input-bg-color: #2D3748;
    --bible-bg-color: #212936; /* Cor de fundo suave para o modo escuro */
}

body, html {
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: var(--bg-color);
    color: var(--text-color);
    font-family: 'Inter', sans-serif;
}

body.overflow-hidden {
    overflow: hidden;
}

.page {
    min-height: calc(100vh - 128px);
}

#map-container { 
    height: calc(100vh - 250px); 
    width: 100%;
    border: 1px solid var(--border-color);
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.card {
    background-color: var(--card-bg-color);
    border: 1px solid var(--border-color);
    color: var(--text-color);
}

.header, .menu-container {
    background-color: var(--card-bg-color);
    border-color: var(--border-color);
}

.primary-text {
    color: var(--primary-text-color);
}

.menu-link, .submenu-trigger {
    color: var(--menu-link-color);
}

.menu-link.active, .submenu-trigger.active {
    background-color: var(--menu-active-bg);
    color: var(--menu-active-text);
    font-weight: 600;
}

.menu-link:hover, .submenu-trigger:hover {
    background-color: var(--hover-bg-color);
}

.submenu-link {
    color: var(--text-color);
}

.submenu-link.active {
    background-color: var(--hover-bg-color);
    color: var(--menu-active-text);
    font-weight: 500;
}

.submenu-trigger[aria-expanded="true"] .chevron-icon {
    transform: rotate(180deg);
}

/* Estilo para a área de leitura da Bíblia */
#bible-text-content {
    background-color: var(--bible-bg-color);
    padding: 1.5rem; /* 24px */
    border-radius: 0.75rem; /* 12px */
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

.form-input {
    background-color: var(--input-bg-color);
    border-color: var(--border-color);
    color: var(--text-color);
}

.form-input:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    border-color: var(--primary-text-color);
    box-shadow: 0 0 0 2px var(--menu-active-bg);
}

input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    filter: var(--text-color) brightness(0) saturate(100%) invert(50%) sepia(10%) saturate(200%) hue-rotate(180deg) brightness(100%) contrast(90%);
}

html.dark input[type="date"]::-webkit-calendar-picker-indicator,
html.dark input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

#qrcode-display canvas {
    max-width: 256px;
    height: auto;
    margin: auto;
}

.auth-tab {
    border-bottom: 2px solid transparent;
}

.auth-tab.active {
    border-bottom-color: var(--primary-text-color);
    color: var(--primary-text-color);
}

.card.contacted {
    border-left-width: 4px;
    border-left-color: #48BB78; /* green-500 */
}

/* Estilos personalizados para a barra de ajuste (range slider) */
#qr-logo-size {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 8px;
    background: var(--border-color);
    border-radius: 5px;
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
}

#qr-logo-size:hover {
    opacity: 1;
}

#qr-logo-size::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: var(--primary-text-color);
    cursor: pointer;
    border-radius: 50%;
    border: 2px solid var(--card-bg-color);
}

#qr-logo-size::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: var(--primary-text-color);
    cursor: pointer;
    border-radius: 50%;
    border: 2px solid var(--card-bg-color);
}

#custom-notification.show {
    top: 24px; /* 1.5rem */
}
