/* -------------------------------------------------------
   LAGAMA PULSE — CSS BASE (v0.1)
   Minimalista, leve e sem Bootstrap
---------------------------------------------------------*/

/* ----- VARIÁVEIS DO SISTEMA VISUAL ----- */
:root {
    /* Cores principais */
    --pulse-green: #58c48b;
    --pulse-red: #e45555;
    --pulse-blue: #3c7df0;
    --branco-transparente: rgba(255,255,255,0.55);
    --preto-sombra: rgba(0,0,0,0.12);
    --preto-sombra-2: rgba(122, 90, 0, 0.25);
    --branco-neve: #fff;
    --branco-gelo: #cccccc;
    --grafite: #292a2e;
    --grafite-2: #1f1f1f;
    --grafite-3: #2a2a2a;
    --color-primary: #0077b6;
    --color-secondary: #00b4d8;
    --color-accent: #90e0ef;
    --color-soft-bg: #f7f9fc;
    --color-sand: #f6e8c3;
    --color-amber: #efc359;
    --color-green-soft: #a3d9a5;
    --btn-danger-back: #dc3545;
    --btn-danger-color: #ffffff;
    --btn-success-back: #5200FF;
    --btn-success-color: #ffffff;
    --section-begin: antiquewhite;
    --section-end: wheat;
    --cor-sombra-box: rgba(0, 123, 255, 0.35);
    /* Esferas */
    --sphere-income-start: #b8f0c6;
    --sphere-income-end: #4f7a46;
    --sphere-expense-start: #ffcfcf;
    --sphere-expense-end: #9b463f;
    --sphere-yellow-start: #fff2c8;
    --sphere-yellow-end: #C89A3A;
    --sphere-blue-start: #8ac7e8;
    --sphere-blue-end: #3a6a86;
    --sphere-shadow: rgba(0,0,0,0.18);
    --sphere-highlight: rgba(255,255,255,0.65);
    --insight-bg-start: #faf1d7;
    --insight-bg-end: #f4e4b6;
    --insight-text: #4c3a00;
    /* Formularios */
    --form-container-bg: #f7f7f7;
    --input-border-color: #cccccc;
    --input-focus-bg: #3e3e3e;
    --input-focus-border: #CCC;
    --color-input-text: #CCC;
    --color-input-bg: #1e1e1e;
    --select-multi-bg: #e9ecef;
    --select-multi-color: #333333;
    /* Neutros */
    --bg-1: #f8f9fa;
    --bg-2: #ffffff;
    --bg-3: #f1f3f5;
    --text-1: #1d1d1d;
    --text-2: #565656;
    --text-3: #8a8a8a;
    /* Bordas */
    --border-soft: rgba(0,0,0,0.08);
    /* Espaçamentos */
    --space-1: .25rem;
    --space-2: .5rem;
    --space-3: .75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    /* Radius padrão */
    --radius: 14px;
    /* Sombras */
    --shadow-soft: 0 3px 12px rgba(0,0,0,.70);
    --shadow-hover: 0 5px 20px rgba(0,0,0,.88);
    /* Transições */
    --pulse: 0.18s ease;
    /* Tons diversos */
    --add-text: #2a3a55; /* texto equilibrado */
    --overlay-dark: rgba(16,20,28,0.96); /* tela escura opaca (quase preta) */
    --add-bg-start: #f5f3ef; /* botão - claro */
    --add-bg-end: #e5d6a3; /* botão - tom quente */
    --gradient-dark: #3d2f00;
    /* ===== Login / Auth ===== */
    --login-bg: #ffffff;
    --login-header-bg: var(--overlay-dark);
    --login-header-text: #ffffff;
    --login-shadow: var(--shadow-soft);
    --login-text-primary: var(--text-1);
    --login-text-muted: var(--text-3);
    --login-link: var(--color-primary);
    --login-link-hover: var(--color-secondary);
    --login-danger: var(--pulse-red);
    /* Auth / Forms neutros (fora do login) */
    --auth-title: var(--color-primary);
    --auth-subtitle: var(--text-2);
    --auth-link: var(--color-primary);
    /* Toast panels*/
    --toast-shadow: rgba(0, 0, 0, 0.35);
    --toast-success-bg: #e6f4ea;
    --toast-success-text: #2e7d32;
    --toast-warning-bg: #fff8e1;
    --toast-warning-text: #ff6f00;
    --toast-error-bg: #fbe9e7;
    --toast-error-text: #c62828;
    /* relatorios */
    --border-movto-receita: rgba(88,196,139,0.45);
    --border-movto-despesa: rgba(228,85,85,0.45);
    /* badges */
    --badge-text-color: #5a4300;
    --badge-back-color: linear-gradient(145deg, #fff1c2, #e7d18a);
    /* ===== Aliases para Agenda / Calendar ===== */
    /* Backgrounds */
    --background-body: var(--bg-1);
    --background-light: #f5f3ef;
    --background-border: var(--border-soft);
    --surface-container: var(--background-light);
    --surface-border: var(--background-body);
    /* Texto */
    --color-text-body: var(--text-1);
    --dropdown-item-color: var(--text-2);
    /* Cores funcionais */
    --cor-receita: var(--pulse-green);
    --cor-despesa: var(--pulse-red);
    /* Estados de parcelas */
    --bill-open-color: var(--color-amber);
    --bill-late-color: var(--cor-despesa);
    /* Links / seleção */
    --color-link: var(--color-primary);
    --cor-texto-botao: var(--branco-neve);
    /* Botões (corrigindo nomes inconsistentes) */
    --btn-success-bg: var(--btn-success-back);
    --btn-danger-bg: var(--btn-danger-back);
    /* Acessibilidade / foco */
    --cor-icone-acao-hover: var(--color-secondary);
}

/* ------- VARIÁVEIS DO MODO ESCURO ------- */
body.dark-mode {
    /* Cores principais */
    --pulse-green: #58c48b;
    --pulse-red: #ff6b6b;
    --pulse-blue: #5a8dff;
    --branco-transparente: rgba(255,255,255,0.55);
    --preto-sombra: rgba(0,0,0,0.12);
    --branco-neve: #000;
    --branco-gelo: #444;
    --color-primary: #4da3ff;
    --color-secondary: #3dd5f3;
    --color-accent: #1e3a46;
    --color-soft-bg: #121417;
    --color-sand: #2b2a25;
    --color-amber: #e0b04f;
    --color-green-soft: #3b6f4a;
    --btn-danger-back: #c84545;
    --btn-danger-color: #ffffff;
    --btn-success-back: #6a4cff;
    --btn-success-color: #ffffff;
    /* Formulários */
    --form-container-bg: #1b1e23;
    --input-border-color: #2f343b;
    --input-focus-bg: #20242b;
    --input-focus-border: #4da3ff;
    --color-input-text: #e6e6e6;
    --color-input-bg: #181b20;
    --select-multi-bg: #20242b;
    --select-multi-color: #e0e0e0;
    /* Neutros */
    --bg-1: #0f1115;
    --bg-2: #15181e;
    --bg-3: #1d2128;
    --text-1: #f1f3f5;
    --text-2: #c7cbd1;
    --text-3: #8b9098;
    /* Bordas */
    --border-soft: rgba(255,255,255,0.08);
    /* Espaçamentos (inalterados) */
    --space-1: .25rem;
    --space-2: .5rem;
    --space-3: .75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    /* Radius */
    --radius: 14px;
    /* Sombras */
    --shadow-soft: 0 3px 14px rgba(0,0,0,.85);
    --shadow-hover: 0 6px 24px rgba(0,0,0,.95);
    /* Transições */
    --pulse: 0.18s ease;
    /* Tons diversos */
    --add-text: #d6e2ff;
    --overlay-dark: rgba(10,12,16,0.96);
    --add-bg-start: #2a2f38;
    --add-bg-end: #3a3f4a;
    /* ===== Login / Auth ===== */
    --login-bg: #121417;
    --login-header-bg: var(--overlay-dark);
    --login-header-text: #ffffff;
    --login-shadow: var(--shadow-soft);
    --login-text-primary: var(--text-1);
    --login-text-muted: var(--text-3);
    --login-link: #6fb1ff;
    --login-link-hover: #9adfff;
    --login-danger: var(--pulse-red);
    /* Auth / Forms neutros */
    --auth-title: #6fb1ff;
    --auth-subtitle: var(--text-2);
    --auth-link: #6fb1ff;
    /* Toast panels */
    --toast-shadow: rgba(0, 0, 0, 0.6);
    --toast-success-bg: #1f3d2b;
    --toast-success-text: #7be495;
    --toast-warning-bg: #3a2f1b;
    --toast-warning-text: #ffd166;
    --toast-error-bg: #3b1f1f;
    --toast-error-text: #ff8a8a;
    /* relatorios */
    --border-movto-receita: rgba(88,196,139,0.45);
    --border-movto-despesa: rgba(228,85,85,0.45);
}



* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    height: 100%;
    overflow: hidden; /* trava scroll global */
}

html {
    font-size: 18px; 
    font-family: 'Segoe UI', Roboto, sans-serif;
    color: var(--text-1);
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
}

body {
    width: 100%;
    padding: 0;
    background: linear-gradient(145deg, var(--pulse-bg-start), var(--pulse-bg-end) );
}


/* ===============================
     MOBILE FRIENDLY ADJUSTMENTS
   =============================== */
@media (max-width: 768px) {
    html, body {
        font-size: 15px; /* aumenta fonte base */
        line-height: 1.5;
        padding-bottom: 60px; /* espaço extra pro teclado */
    }
    /* Evita sumir atrás do teclado */
    input:focus, textarea:focus, select:focus {
        scroll-margin-bottom: 80px;
    }
    /* Melhor espaçamento entre botões próximos */
    .btn + .btn {
        margin-left: 8px;
    }
}
