/* ===== Anti pull-to-refresh / overscroll ===== */
html, body {
    overscroll-behavior: none;
}

.p-form-body {
    overscroll-behavior-y: none;
}

:root {
    /* Legado (compatibilidade) */
    --primary-color: #2C4D5E;
    --secundary-color: #09D3D3;
    --darkgray-color: #7F7F7F;
    --gray-color: #e2e2e2;

    /* Cores principais */
    --cor-primaria: #2C4D5E;
    --cor-primaria-media: #4A6D7E;
    --cor-primaria-escura: #1a3645;
    --cor-texto-principal: #343A40;
    --cor-texto-secundario: #6C757D;

    /* Fundos */
    --cor-fundo-pagina: #E2E9ED;
    --cor-fundo-conteudo: #FFFFFF;
    --cor-fundo-card: #FFFFFF;
    --cor-fundo-hover: #e9ecef;

    /* Bordas */
    --cor-borda: #DEE2E6;
    --cor-borda-leve: #f1f3f5;

    /* Inputs */
    --cor-input-fundo: #f5f7f8;
    --cor-input-borda: #d0d5d8;
    --cor-input-placeholder: #9aa5ab;

    /* Semânticas */
    --cor-credito: #008B98;
    --cor-debito: #D64045;
    --cor-sucesso: #28a745;
    --cor-alerta: #E8A435;
    --cor-erro: #dc3545;
    --cor-atencao: #ffc107;
    --cor-info: var(--cor-primaria-media);
    --cor-saldo: var(--cor-primaria);

    /* Fundos e textos semânticos */
    --cor-sucesso-fundo: #e8f5e9;
    --cor-sucesso-texto: #1e562f;
    --cor-credito-fundo: #E0F7FA;
    --cor-debito-fundo: #FFEBEE;
    --cor-erro-fundo: #fde8e8;
    --cor-erro-borda: #e0a0a0;
    --cor-erro-texto: #721c24;
    --cor-atencao-fundo: #FFF3E0;
    --cor-atencao-texto: #664d03;
    --cor-atencao-texto-claro: #92610a;
    --cor-atencao-borda: #FFE0B2;
    --cor-info-fundo: #ECEFF1;
    --cor-info-borda: rgba(74, 109, 126, 0.2);
    --cor-sucesso-borda: rgba(40, 167, 69, 0.2);
    --cor-neutro-fundo: #F5F5F5;

    /* Sobreposições (hover, active, separadores) */
    --cor-sobreposicao-leve: rgba(0, 0, 0, 0.04);
    --cor-sobreposicao-media: rgba(0, 0, 0, 0.08);
    --cor-separador: rgba(0, 0, 0, 0.06);

    /* Login */
    --cor-login-card: #FFFFFF;
    --cor-login-brand: #2C4D5E;
    --cor-login-card-texto: #343A40;
    --cor-login-card-texto-secundario: #6C757D;
}

/* ── Tema Escuro ── */
[data-theme="dark"] {
    --cor-primaria: #5ba3c4;
    --cor-primaria-media: #7bbad6;
    --cor-primaria-escura: #3a7fa3;
    --cor-texto-principal: #E0E0E0;
    --cor-texto-secundario: #A0A8B0;

    --cor-fundo-pagina: #121518;
    --cor-fundo-conteudo: #1a1e24;
    --cor-fundo-card: #1e2329;
    --cor-fundo-hover: #2a3038;

    --cor-borda: #2e353e;
    --cor-borda-leve: #252b33;

    --cor-input-fundo: #252b33;
    --cor-input-borda: #3a424d;
    --cor-input-placeholder: #6b7580;

    --cor-credito: #2bbbc8;
    --cor-debito: #e06468;
    --cor-sucesso: #3cc060;
    --cor-alerta: #f0b44a;
    --cor-erro: #e05555;
    --cor-atencao: #ffc940;

    --cor-sucesso-fundo: #1a2e1f;
    --cor-sucesso-texto: #6ee090;
    --cor-credito-fundo: #152a30;
    --cor-debito-fundo: #301a1c;
    --cor-erro-fundo: #2e1a1a;
    --cor-erro-borda: #6e3a3a;
    --cor-erro-texto: #f0a0a0;
    --cor-atencao-fundo: #302510;
    --cor-atencao-texto: #f0c866;
    --cor-atencao-texto-claro: #d4a840;
    --cor-atencao-borda: #5a4520;
    --cor-info-fundo: #1a2028;
    --cor-info-borda: #2a3540;
    --cor-sucesso-borda: #2a4a30;
    --cor-neutro-fundo: #222830;

    --cor-sobreposicao-leve: rgba(255, 255, 255, 0.05);
    --cor-sobreposicao-media: rgba(255, 255, 255, 0.09);
    --cor-separador: rgba(255, 255, 255, 0.07);

    /* Login */
    --cor-login-card: #222830;
    --cor-login-brand: #1a1e24;
    --cor-login-card-texto: #E0E0E0;
    --cor-login-card-texto-secundario: #A0A8B0;
}

/* ── Tema Escuro: overrides globais ── */
[data-theme="dark"] body,
[data-theme="dark"] html {
    color: #E0E0E0;
    background-color: #121518;
}

/* ── Tema Escuro: Telerik Inputs ── */
[data-theme="dark"] .e-TextBox,
[data-theme="dark"] .e-TextBoxErro,
[data-theme="dark"] .e-TextBoxLocked {
    background-color: var(--cor-input-fundo);
}

[data-theme="dark"] .e-TextBoxPlaceHolderBackground {
    color: var(--cor-fundo-conteudo) !important;
    background-color: var(--cor-fundo-conteudo) !important;
}

[data-theme="dark"] .e-TextBoxPlaceHolder {
    color: var(--cor-texto-secundario) !important;
}

[data-theme="dark"] .e-TextBoxField,
[data-theme="dark"] .k-textbox {
    background: transparent !important;
    color: var(--cor-texto-principal) !important;
}

[data-theme="dark"] .k-textbox input,
[data-theme="dark"] .k-input {
    color: var(--cor-texto-principal) !important;
}

/* ── Anular amarelo de autofill do navegador (global) ── */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--cor-texto-principal) !important;
    -webkit-box-shadow: 0 0 0 1000px var(--cor-input-fundo) inset !important;
    transition: background-color 5000s ease-in-out 0s;
    caret-color: var(--cor-texto-principal);
}

/* ── Tema Escuro: Telerik Charts ── */
[data-theme="dark"] .k-chart,
[data-theme="dark"] .k-sparkline,
[data-theme="dark"] .k-stockchart {
    color: #A0A8B0;
}

[data-theme="dark"] .k-var--chart-major-lines {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .k-var--chart-minor-lines {
    background-color: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .k-var--chart-crosshair-background {
    background-color: rgba(255, 255, 255, 0.4) !important;
}

[data-theme="dark"] .k-var--chart-notes-background,
[data-theme="dark"] .k-var--chart-notes-border,
[data-theme="dark"] .k-var--chart-notes-lines,
[data-theme="dark"] .k-var--chart-error-bars-background {
    background-color: rgba(255, 255, 255, 0.3) !important;
}

[data-theme="dark"] .k-var--chart-inactive {
    background-color: rgba(200, 210, 220, 0.3) !important;
}

[data-theme="dark"] .k-chart-tooltip {
    color: #E0E0E0;
}

[data-theme="dark"] .k-chart-crosshair-tooltip,
[data-theme="dark"] .k-chart-shared-tooltip {
    color: #E0E0E0;
    background-color: #2a3038;
    border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .k-mask {
    background-color: #1a1e24;
}

[data-theme="dark"] .k-var--gauge-track {
    background-color: #3a424d !important;
}

[data-theme="dark"] svg .k-var--gauge-track {
    fill: #3a424d !important;
}

/* ── Tema Escuro: Telerik Buttons ── */
[data-theme="dark"] .k-button.k-primary,
[data-theme="dark"] .k-button.k-button-solid-primary {
    background-color: var(--cor-primaria) !important;
    border-color: var(--cor-primaria) !important;
}

/* ── Tema Escuro: Bootstrap Cards ── */
[data-theme="dark"] .card {
    background-color: var(--cor-fundo-conteudo);
    border-color: var(--cor-borda);
    color: var(--cor-texto-principal);
}

[data-theme="dark"] .card-header {
    background-color: var(--cor-fundo-card);
    border-bottom-color: var(--cor-borda);
    color: var(--cor-primaria);
}

[data-theme="dark"] .card-body {
    background-color: var(--cor-fundo-conteudo);
}

/* ── Tema Escuro: Telerik k-card ── */
[data-theme="dark"] .k-card {
    background-color: var(--cor-fundo-conteudo);
    border-color: var(--cor-borda);
    color: var(--cor-texto-principal);
}

[data-theme="dark"] .k-card-body {
    color: var(--cor-texto-principal);
}

/* ── Tema Escuro: Classes semânticas ── */
[data-theme="dark"] .p-card-title {
    color: var(--cor-texto-principal);
}

[data-theme="dark"] .p-card-subtitle {
    color: var(--cor-texto-secundario);
}

[data-theme="dark"] .highlight {
    color: #ff8a65;
}

/* Fonte Inter global */
html, body {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@supports (font-variation-settings: normal) {
    html, body {
        font-family: "InterVariable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        font-optical-sizing: auto;
    }
}

/* Fix subtítulo login (override de styles.css) */
#app-subtitle {
    font-weight: 500;
    opacity: 1;
    font-size: 0.8rem;
    color: var(--cor-texto-secundario);
    letter-spacing: 0.5px;
}

.highlight {
    color: orangered;
}

.e-ContainerColumn {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

.e-AlignCenter {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.e-AlignTextLeft {
    width: 100%;
    text-align: start;
}

.e-AlignTextRight {
    width: 100%;
    text-align: end;
}

.e-AlignTextCenter {
    width: 100%;
    text-align: center;
}

.e-BordaDefault {
    border: solid;
    border-color: var(--primary-color);
    border-width: 0.5px;
}


.e-FlexRow {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.e-FlexCol {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}

.e-TextBox {
    position: relative;
    margin-top: 3px;
    margin-bottom: 1px;
    height: 50px;
    width: 100%;
    border: 0.75px solid;
    border-color: var(--cor-input-borda);
    border-radius: 5px;
}

    .e-TextBox:focus-within {
        border-color: var(--cor-primaria-media);
    }

.e-TextBoxErro {
    position: relative;
    margin-top: 3px;
    margin-bottom: 1px;
    height: 50px;
    width: 100%;
    border: 1px solid;
    border-color: red;
    border-radius: 5px;
}

    .e-TextBoxErro:focus-within {
        border-color: darkred;
    }

.e-TextBoxLocked {
    position: relative;
    margin-top: 3px;
    margin-bottom: 1px;
    height: 50px;
    width: 100%;
    border: 1px solid;
    border-color: orange;
    border-radius: 5px;
}

    .e-TextBoxLocked:focus-within {
        border-color: darkorange;
    }


.e-TextBoxField {
    position: relative;
    width: 100%;
    height: 40px;
    margin-top: 6px;
    margin-bottom: 1px;
    border-color: transparent;
    border: none;
}

.e-TextBoxPlaceHolder {
    position: absolute;
    font-size: small;
    font-weight: 600;
    color: var(--primary-color);
    background-color: transparent;
    top: -9.5px;
    left: 8px;
}

.e-TextBoxPlaceHolderLocked {
    position: absolute;
    font-size: small;
    font-weight: 900;
    color: darkorange;
    background-color: transparent;
    top: -9.5px;
    left: 8px;
}

.e-TextBoxPlaceHolderBackground {
    position: absolute;
    font-size: small;
    font-weight: 900;
    color: var(--cor-fundo-card);
    background-color: var(--cor-fundo-card);
    top: -9.5px;
    left: 6px;
}


.e-TextBoxFieldDefault {
    position: relative;
    height: 40px;
    width: 100%;
}


.e-TextBoxDefault {
    position: relative;
    height: 22px;
    width: 100%;
    border: 0.75px solid;
    border-color: var(--cor-input-borda);
}

    .e-TextBoxDefault:focus-within {
        border-color: var(--cor-primaria-media);
    }

.e-TextBoxErroDefault {
    position: relative;
    height: 22px;
    width: 100%;
    border: 1px solid;
    border-color: red;
}

    .e-TextBoxErroDefault:focus-within {
        border-color: darkred;
    }

.e-TextBoxLockedDefault {
    position: relative;
    height: 22px;
    width: 100%;
    border: 1px solid;
    border-color: orange;
}

    .e-TextBoxLockedDefault:focus-within {
        border-color: darkorange;
    }


.e-TextBoxPlaceHolderDefault {
    font-size: 10px;
    font-weight: 900;
    color: var(--primary-color);
    background-color: transparent;
}


.e-TextBoxResult {
    text-align: left;
    vertical-align: central;
    font-size: 10px;
    font-weight: 900;
    color: var(--primary-color);
    word-wrap: break-word;
    background-color: transparent;
}


e-TextBoxIcons {
    position: relative;
    margin-top: 4px;
    background: none;
}

    e-TextBoxIcons:hover {
        background: var(--primary-color);
    }


.e-TextBoxMemo {
    position: relative;
    margin-top: 3px;
    margin-bottom: 1px;
    height: 100%;
    width: 100%;
    border: 0.75px solid;
    border-color: var(--cor-input-borda);
    border-radius: 5px;
}

    .e-TextBoxMemo:focus-within {
        border-color: var(--cor-primaria-media);
    }



.e-TextBoxFieldMemo {
    position: relative;
    margin-top: 4px;
    margin-bottom: 1px;
    border: none;
    border-radius: 0px;
    height: calc(100% - 10px);
    max-height: calc(100% - 10px);
    width: calc(100% - 5px);
    max-width: calc(100% - 5px);
    overflow-y: auto !important;
    overflow-x: auto !important;
    border-style: none;
    border-width: 0px;
}

    .e-TextBoxFieldMemo:focus {
        outline: none !important;
        border: 0px solid;
        box-shadow: 0 0 0px var(--cor-primaria-media);
    }

.e-DivAppBox {
    box-sizing: border-box;
    overflow-y: auto;
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: var(--cor-fundo-pagina);
}

.e-DivAppBoxHome {
    box-sizing: border-box;
    overflow-y: auto;
    position: absolute;
    height: 100%;
    width: 100%;
    padding: 0.7rem;
    background-color: var(--cor-fundo-pagina);
    overscroll-behavior-y: contain;
}

/* ── Notification Box ── */
.notification-box {
    display: flex;
    align-items: center;
    padding: 0.9rem 1rem;
    border-radius: 8px;
    border-width: 1px;
    border-style: solid;
    border-left-width: 5px;
    transition: background-color 0.3s ease;
}

.notification-box-icon {
    display: flex;
    align-items: center;
    margin-right: 1rem;
    flex-shrink: 0;
}

.notification-box-text {
    margin: 0;
    font-weight: 500;
    font-size: 0.9rem;
    line-height: 1.5;
}

.status-padrao {
    background-color: var(--cor-info-fundo);
    border-color: var(--cor-info-borda);
    border-left-color: var(--cor-info);
}

    .status-padrao .notification-box-icon { color: var(--cor-info); }
    .status-padrao .notification-box-text { color: var(--cor-primaria); }

.status-info {
    background-color: var(--cor-info-fundo);
    border-color: var(--cor-info-borda);
    border-left-color: var(--cor-info);
}

    .status-info .notification-box-icon { color: var(--cor-info); }
    .status-info .notification-box-text { color: var(--cor-primaria); }

.status-sucesso {
    background-color: var(--cor-sucesso-fundo);
    border-color: var(--cor-sucesso-borda);
    border-left-color: var(--cor-sucesso);
}

    .status-sucesso .notification-box-icon { color: var(--cor-sucesso); }
    .status-sucesso .notification-box-text { color: var(--cor-sucesso-texto); }

.status-atencao {
    background-color: var(--cor-atencao-fundo);
    border-color: var(--cor-atencao-borda);
    border-left-color: var(--cor-atencao);
    
}

    .status-atencao .notification-box-icon { color: var(--cor-atencao); }
    .status-atencao .notification-box-text { color: var(--cor-atencao-texto); }

.status-erro {
    background-color: var(--cor-erro-fundo);
    border-color: var(--cor-erro-borda);
    border-left-color: var(--cor-erro);
}

    .status-erro .notification-box-icon { color: var(--cor-erro); }
    .status-erro .notification-box-text { color: var(--cor-erro-texto); }




