/* ======================================================
   FinControl
   Versão 2.5.0
======================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Segoe UI",sans-serif;
}

body{
    background:#EEF2F7;
}

.layout{
    display:flex;
    min-height:100vh;
}

/* ==========================
MENU
========================== */

.sidebar{

    width:260px;

    background:#1E3A8A;

    color:#FFF;

    display:flex;

    flex-direction:column;

    box-shadow:4px 0 18px rgba(0,0,0,.15);
    position:sticky;
    top:0;
    height:100vh;
    overflow-y:auto;
    overflow-x:hidden;

}

.logo{

    padding:30px;

    text-align:center;

    border-bottom:1px solid rgba(255,255,255,.10);

}

.logo h2{

    font-weight:bold;

}

.logo small{

    color:#dbeafe;

}

nav{

    margin-top:20px;
    padding-bottom:24px;
    flex:1;

}

.menu-item{

    width:100%;

    border:none;

    background:none;

    color:white;

    text-align:left;

    padding:18px 28px;

    cursor:pointer;

    transition:.25s;

    font-size:16px;

}

.menu-item i{

    margin-right:12px;

}

.menu-item:hover{

    background:rgba(255,255,255,.08);

}

.menu-item.ativo{

    background:#2563EB;

}

.menu-item:disabled{

    opacity:.5;

    cursor:not-allowed;

}

/* ==========================
CONTEÚDO
========================== */

.conteudo{

    flex:1;

    padding:35px;

}

/* ==========================
TOPO
========================== */

.topo{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

}

.topo h2{

    color:#1E3A8A;

    font-weight:bold;

}

.topo p{

    color:#64748B;

}

.versao{

    background:#1E3A8A;

    color:white;

    padding:10px 18px;

    border-radius:10px;

    font-weight:bold;

}

/* ==========================
CARDS
========================== */

.cards{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:20px;

}

.card-fin{

    background:white;

    border-radius:15px;

    padding:25px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    transition:.25s;

}

.card-fin:hover{

    transform:translateY(-5px);

}

.card-fin h5{

    color:#64748B;

    margin-bottom:10px;

}

.card-fin h2{

    color:#1E3A8A;

    font-weight:bold;

}

/* ==========================
PAINEL
========================== */

.painel{

    margin-top:30px;

    background:white;

    border-radius:15px;

    padding:30px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.painel h3{

    color:#1E3A8A;

    margin-bottom:20px;

}

.resumo-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:20px;

}

.resumo-grid div{

    background:#F8FAFC;

    border-left:5px solid #2563EB;

    border-radius:12px;

    padding:18px;

}

.resumo-grid span{

    display:block;

    color:#64748B;

    font-size:14px;

}

.resumo-grid strong{

    display:block;

    margin-top:8px;

    color:#1E3A8A;

    font-size:18px;

}

/* ==========================
FORMULÁRIOS
========================== */

.form-card{

    background:white;

    border-radius:15px;

    padding:30px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.form-card h3{

    margin-bottom:25px;

    color:#1E3A8A;

}

.form-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:20px;

}

.form-grid label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

}

.form-grid input{

    width:100%;

    padding:12px;

    border:1px solid #CCC;

    border-radius:10px;

}

.btn-salvar{

    margin-top:30px;

    background:#2563EB;

    color:white;

    border:none;

    padding:10px 20px;

    border-radius:10px;

    cursor:pointer;

    font-size:16px;

    line-height:1.5;

}

.btn-salvar:hover{

    background:#1D4ED8;

}

/* ==========================
RESPONSIVO
========================== */

@media(max-width:900px){

.sidebar{

    width:80px;

}

.logo small{

    display:none;

}

.logo h2{

    font-size:18px;

}

.menu-item{

    font-size:0;

    text-align:center;

    padding:20px;

}

.menu-item i{

    margin:0;

    font-size:22px;

}

.conteudo{

    padding:20px;

}

}
/* ==========================
VERSÃO 0.6.1 — PESQUISA E PROGRESSO
========================== */

.barra-progresso{
    width:100%;
    height:18px;
    background:#E2E8F0;
    border-radius:999px;
    overflow:hidden;
}

.barra-progresso-preenchimento{
    height:100%;
    background:linear-gradient(90deg,#2563EB,#22C55E);
    border-radius:999px;
    transition:width .35s ease;
}

.texto-progresso{
    margin-top:10px;
    color:#64748B;
}

.filtros-parcelas{
    display:grid;
    grid-template-columns:minmax(180px,240px) minmax(240px,1fr);
    gap:18px;
    margin-bottom:24px;
}

.filtros-parcelas label{
    display:block;
    margin-bottom:7px;
    color:#475569;
    font-weight:600;
}

.filtros-parcelas select,
.filtros-parcelas input{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #CBD5E1;
    border-radius:10px;
    background:#FFF;
    color:#0F172A;
    outline:none;
}

.filtros-parcelas select:focus,
.filtros-parcelas input:focus{
    border-color:#2563EB;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.resumo-grid small{
    display:block;
    margin-top:6px;
    color:#64748B;
}

@media(max-width:700px){
    .filtros-parcelas{
        grid-template-columns:1fr;
    }
}

/* ==========================
VERSÃO 0.7
========================== */

.acoes-topo{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.filtros-parcelas{
    display:grid;
    grid-template-columns:minmax(180px,240px) minmax(260px,1fr);
    gap:18px;
    margin-bottom:22px;
}

.filtros-parcelas label{
    display:block;
    font-weight:600;
    color:#334155;
    margin-bottom:7px;
}

.filtros-parcelas input,
.filtros-parcelas select{
    width:100%;
    padding:11px 13px;
    border:1px solid #CBD5E1;
    border-radius:10px;
    background:#FFF;
    outline:none;
}

.filtros-parcelas input:focus,
.filtros-parcelas select:focus{
    border-color:#2563EB;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.linha-paga td{
    background-color:rgba(22,163,74,.055)!important;
}

.linha-vencida td{
    background-color:rgba(220,38,38,.075)!important;
}

.linha-destaque td{
    animation:destaqueLinha 1.8s ease;
}

@keyframes destaqueLinha{
    0%,100%{ background:#FFF7CC!important; }
    50%{ background:#FDE68A!important; }
}

.modal-fincontrol{
    border:0;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 30px 80px rgba(15,23,42,.28);
}

.modal-fincontrol .modal-header{
    background:#1E3A8A;
    color:#FFF;
    border:0;
    padding:20px 24px;
}

.modal-fincontrol .btn-close{
    filter:invert(1);
}

.detalhes-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.detalhes-grid div,
.detalhe-observacao{
    background:#F8FAFC;
    border:1px solid #E2E8F0;
    border-radius:12px;
    padding:15px;
}

.detalhes-grid span,
.detalhe-observacao span{
    display:block;
    color:#64748B;
    font-size:13px;
    margin-bottom:5px;
}

.detalhes-grid strong{
    color:#0F172A;
    font-size:16px;
}

.status-paga{ color:#15803D!important; }
.status-aberta{ color:#B45309!important; }

.detalhe-observacao{
    margin-top:14px;
}

.detalhe-observacao p{
    margin:0;
    color:#334155;
}

.table-responsive{
    border-radius:12px;
}

.table thead th{
    white-space:nowrap;
}

.table tbody td{
    vertical-align:middle;
}

@media(max-width:700px){
    .filtros-parcelas,
    .detalhes-grid{
        grid-template-columns:1fr;
    }

    .acoes-topo{
        align-items:flex-start;
    }
}


/* ==========================
VERSÃO 0.8 — AMORTIZAÇÕES
========================== */

.form-amortizacao{
    display:grid;
    grid-template-columns:repeat(3,minmax(180px,1fr));
    gap:18px;
    align-items:end;
}

.form-amortizacao label{
    display:block;
    margin-bottom:7px;
    color:#334155;
    font-weight:600;
}

.form-amortizacao input{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #CBD5E1;
    border-radius:10px;
    outline:none;
}

.form-amortizacao input:focus{
    border-color:#2563EB;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.form-amortizacao .campo-observacao{
    grid-column:span 2;
}

.form-amortizacao .btn-salvar{
    margin-top:0;
    min-height:44px;
}

.previa-amortizacao{
    margin-top:22px;
    padding:20px;
    background:#F8FAFC;
    border:1px solid #E2E8F0;
    border-radius:14px;
}

.previa-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(150px,1fr));
    gap:14px;
}

.previa-grid div{
    background:#FFF;
    padding:15px;
    border-radius:11px;
    border-left:4px solid #2563EB;
}

.previa-grid span{
    display:block;
    color:#64748B;
    font-size:13px;
    margin-bottom:5px;
}

.previa-grid strong{
    color:#0F172A;
}

.aviso-calculo,
.texto-suave{
    display:block;
    margin-top:13px;
    color:#64748B;
}

.texto-economia{
    color:#15803D!important;
    font-weight:700;
}

.linha-amortizada td{
    background-color:rgba(14,165,233,.08)!important;
}

.status-amortizada{
    color:#0369A1!important;
}

@media(max-width:900px){
    .form-amortizacao,
    .previa-grid{
        grid-template-columns:1fr;
    }

    .form-amortizacao .campo-observacao{
        grid-column:auto;
    }
}


/* ==========================
VERSÃO 0.9 — SIMULADOR
========================== */

.form-simulador{
    display:grid;
    grid-template-columns:minmax(280px,1fr) auto;
    gap:18px;
    align-items:end;
}

.form-simulador label{
    display:block;
    margin-bottom:8px;
    color:#334155;
    font-weight:600;
}

.form-simulador input{
    width:100%;
    min-height:48px;
    padding:11px 14px;
    border:1px solid #CBD5E1;
    border-radius:10px;
    outline:none;
}

.form-simulador input:focus{
    border-color:#2563EB;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.form-simulador .btn-salvar{
    margin-top:0;
    white-space:nowrap;
}

.resultado-simulacao{
    margin-top:24px;
}

.simulador-vazio{
    padding:24px;
    border:1px dashed #94A3B8;
    border-radius:12px;
    background:#F8FAFC;
    color:#64748B;
    text-align:center;
}

.resultado-simulacao-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    gap:16px;
    margin-bottom:18px;
}

.resultado-simulacao-grid > div{
    padding:18px;
    border-radius:12px;
    background:#F8FAFC;
    border-left:4px solid #2563EB;
}

.resultado-simulacao-grid span{
    display:block;
    color:#64748B;
    font-size:14px;
}

.resultado-simulacao-grid strong{
    display:block;
    margin-top:7px;
    color:#1E3A8A;
    font-size:20px;
}

.lista-simulacao{
    margin-bottom:16px;
    padding:15px 18px;
    border-radius:10px;
    background:#EFF6FF;
    color:#1E3A8A;
}

.aviso-simulador{
    font-size:14px;
}

@media(max-width:760px){
    .form-simulador{
        grid-template-columns:1fr;
    }

    .form-simulador .btn-salvar{
        width:100%;
    }
}


/* ==========================
RELATÓRIOS
========================== */

.cabecalho-relatorio {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 18px;
    margin-bottom: 24px;
}

.cabecalho-relatorio p,
.texto-secundario {
    color: #64748b;
    margin: 0;
}

.relatorio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.relatorio-grid > div {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
}

.relatorio-grid span {
    display: block;
    color: #64748b;
    font-size: 13px;
    margin-bottom: 6px;
}

.relatorio-grid strong {
    color: #1e3a8a;
    font-size: 18px;
}

.acoes-relatorio {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}

.acoes-relatorio .btn-salvar {
    margin-top: 0;
}

@media print {
    body {
        background: #fff;
    }

    .sidebar,
    .no-print {
        display: none !important;
    }

    .conteudo {
        padding: 0;
    }

    .painel,
    .relatorio-impressao {
        box-shadow: none;
        margin: 0;
        padding: 12px;
    }

    .layout {
        display: block;
    }

    .relatorio-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}


/* ==========================
VERSÃO 1.1 — DASHBOARD ORGANIZADO
========================== */

.cards-principais .card-fin small{
    display:block;
    margin-top:8px;
    color:#64748B;
    font-size:13px;
}

.card-saldo{
    border-top:4px solid #2563EB;
}

.card-economia{
    border-top:4px solid #16A34A;
}

.dashboard-blocos{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    margin-top:30px;
}

.painel-dashboard{
    margin-top:0;
    height:100%;
}

.titulo-painel-dashboard{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:20px;
    color:#1E3A8A;
}

.titulo-painel-dashboard i{
    width:38px;
    height:38px;
    border-radius:11px;
    display:grid;
    place-items:center;
    color:#FFF;
    background:linear-gradient(135deg,#1E3A8A,#2563EB);
    font-size:18px;
}

.titulo-painel-dashboard h3{
    margin:0;
    font-size:21px;
}

.lista-dashboard{
    display:flex;
    flex-direction:column;
}

.lista-dashboard > div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:12px 0;
    border-bottom:1px solid #E2E8F0;
}

.lista-dashboard > div:last-child{
    border-bottom:none;
}

.lista-dashboard span{
    color:#64748B;
}

.lista-dashboard strong{
    color:#0F172A;
    text-align:right;
}

.lista-dashboard small{
    display:block;
    color:#64748B;
    font-weight:400;
}

.status-ativo{
    color:#16A34A !important;
}

.progresso-cabecalho{
    display:flex;
    align-items:baseline;
    gap:10px;
    margin-bottom:18px;
}

.progresso-cabecalho strong{
    color:#1E3A8A;
    font-size:40px;
}

.progresso-cabecalho span{
    color:#64748B;
}

.barra-progresso-grande{
    height:24px;
}

.legenda-progresso{
    display:flex;
    justify-content:space-between;
    margin-top:10px;
    color:#64748B;
    font-size:14px;
}

.mini-indicadores{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:24px;
}

.mini-indicadores div{
    padding:14px;
    border-radius:12px;
    background:#F8FAFC;
}

.mini-indicadores span,
.amortizacao-destaque span{
    display:block;
    color:#64748B;
    font-size:13px;
}

.mini-indicadores strong,
.amortizacao-destaque strong{
    display:block;
    margin-top:5px;
    color:#1E3A8A;
}

.amortizacao-destaque{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.amortizacao-destaque > div{
    padding:18px;
    border-radius:12px;
    background:#F8FAFC;
    border-left:4px solid #2563EB;
}

@media(max-width:1100px){
    .dashboard-blocos{
        grid-template-columns:1fr;
    }
}

@media(max-width:760px){
    .amortizacao-destaque,
    .mini-indicadores{
        grid-template-columns:1fr;
    }

    .lista-dashboard > div{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }

    .lista-dashboard strong{
        text-align:left;
    }
}

/* ==========================
VERSÃO 1.2 — RELATÓRIO MODERNO
========================== */

.relatorio-moderno{
    padding:30px;
}

.status-relatorio{
    display:inline-flex;
    align-items:center;
    padding:8px 14px;
    border-radius:999px;
    background:#DCFCE7;
    color:#15803D;
    font-weight:700;
}

.relatorio-contrato-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-bottom:20px;
}

.relatorio-card{
    border:1px solid #E2E8F0;
    border-radius:16px;
    background:#FFF;
    padding:20px;
}

.relatorio-card-icone{
    display:flex;
    align-items:center;
    gap:15px;
}

.relatorio-card-icone > i{
    width:46px;
    height:46px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:22px;
}

.relatorio-card-icone.azul > i{
    background:#DBEAFE;
    color:#2563EB;
}

.relatorio-card-icone.verde > i{
    background:#DCFCE7;
    color:#16A34A;
}

.relatorio-card span,
.comparacao-item span,
.economia-destaque-relatorio span,
.formula-relatorio span{
    display:block;
    color:#64748B;
    font-size:13px;
}

.relatorio-card strong,
.comparacao-item strong,
.economia-destaque-relatorio strong,
.formula-relatorio strong{
    display:block;
    margin-top:6px;
    color:#1E3A8A;
    font-size:20px;
}

.comparacao-relatorio{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:stretch;
    gap:18px;
    border:2px solid #2563EB;
    background:linear-gradient(135deg,#EFF6FF,#FFFFFF);
    border-radius:18px;
    padding:18px;
    margin:22px 0 16px;
}

.comparacao-item{
    background:#FFF;
    border:1px solid #DBEAFE;
    border-radius:14px;
    padding:20px;
}

.comparacao-item strong{
    font-size:26px;
}

.comparacao-item small{
    display:block;
    margin-top:8px;
    color:#64748B;
}

.comparacao-item.destaque-atual{
    border-color:#86EFAC;
    background:#F0FDF4;
}

.comparacao-item.destaque-atual strong{
    color:#15803D;
}

.comparacao-seta{
    display:grid;
    place-items:center;
    color:#2563EB;
    font-size:30px;
}

.economia-destaque-relatorio{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:20px 24px;
    border-radius:16px;
    background:linear-gradient(135deg,#ECFDF5,#DCFCE7);
    border:1px solid #86EFAC;
    margin-bottom:22px;
}

.economia-destaque-relatorio strong{
    color:#15803D;
    font-size:28px;
}

.economia-destaque-relatorio > i{
    font-size:40px;
    color:#16A34A;
}

.relatorio-grid-moderno{
    grid-template-columns:repeat(5,minmax(0,1fr));
}

.relatorio-grid-moderno > div{
    min-height:102px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.aviso-relatorio-moderno{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px 18px;
    border:1px solid #BFDBFE;
    border-radius:14px;
    background:#EFF6FF;
    color:#1E40AF;
}

.aviso-relatorio-moderno i{
    font-size:20px;
}

.resumo-rapido-relatorio{
    border-top:1px solid #E2E8F0;
    margin-top:24px;
    padding-top:22px;
}

.resumo-rapido-relatorio h4{
    margin-bottom:16px;
    color:#1E3A8A;
}

.formula-relatorio{
    display:grid;
    grid-template-columns:repeat(7,auto);
    align-items:center;
    gap:12px;
}

.formula-relatorio > div{
    min-width:0;
    padding:16px;
    border:1px solid #E2E8F0;
    border-radius:14px;
    background:#FFF;
}

.formula-relatorio > b{
    color:#64748B;
    font-size:26px;
    text-align:center;
}

.formula-relatorio .formula-total{
    background:#F0FDF4;
    border-color:#86EFAC;
}

.formula-relatorio .formula-total strong{
    color:#15803D;
}

@media(max-width:1180px){
    .relatorio-grid-moderno{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .formula-relatorio{
        grid-template-columns:1fr;
    }

    .formula-relatorio > b{
        transform:rotate(90deg);
    }
}

@media(max-width:820px){
    .relatorio-contrato-grid,
    .comparacao-relatorio,
    .relatorio-grid-moderno{
        grid-template-columns:1fr;
    }

    .comparacao-seta{
        transform:rotate(90deg);
    }
}

@media print{
    .relatorio-contrato-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .comparacao-relatorio{
        grid-template-columns:1fr auto 1fr;
    }

    .relatorio-grid-moderno{
        grid-template-columns:repeat(4,1fr);
    }

    .resumo-rapido-relatorio{
        page-break-inside:avoid;
    }
}


/* ======================================================
   GRÁFICOS — VERSÃO 1.4.0
====================================================== */

.graficos-dashboard{
    display:grid;
    grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);
    gap:22px;
    margin-top:30px;
}

.painel-grafico{
    margin-top:0;
}

.grafico-container{
    position:relative;
    width:100%;
    height:330px;
    margin-top:14px;
}

.grafico-container-donut{
    height:310px;
    max-width:480px;
    margin-left:auto;
    margin-right:auto;
}

.relatorio-grafico-comparacao{
    display:grid;
    grid-template-columns:minmax(220px,.45fr) minmax(420px,1fr);
    align-items:center;
    gap:28px;
    padding:22px;
    margin-bottom:22px;
    border:1px solid #E2E8F0;
    border-radius:16px;
    background:#F8FAFC;
}

.relatorio-grafico-comparacao h4{
    color:#1E3A8A;
    margin-bottom:8px;
}

.relatorio-grafico-comparacao p{
    color:#64748B;
    margin:0;
}

.grafico-container-relatorio{
    height:280px;
    margin-top:0;
}

@media(max-width:1050px){
    .graficos-dashboard,
    .relatorio-grafico-comparacao{
        grid-template-columns:1fr;
    }
}

@media(max-width:600px){
    .grafico-container,
    .grafico-container-donut,
    .grafico-container-relatorio{
        height:260px;
    }
}

@media print{
    .graficos-dashboard{
        display:none;
    }

    .relatorio-grafico-comparacao{
        page-break-inside:avoid;
    }
}


/* ======================================================
   HISTÓRICO — VERSÃO 1.5.0
====================================================== */

.titulo-com-acoes{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}

.titulo-com-acoes h3{
    margin-bottom:4px;
}

.linha-tempo-financiamento{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:18px;
    margin-top:22px;
    padding-left:8px;
}

.linha-tempo-financiamento::before{
    content:"";
    position:absolute;
    left:27px;
    top:10px;
    bottom:10px;
    width:3px;
    border-radius:3px;
    background:#DBEAFE;
}

.evento-historico{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:42px 1fr;
    gap:16px;
}

.evento-icone{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#FFF;
    box-shadow:0 6px 14px rgba(30,58,138,.18);
}

.evento-pagamento .evento-icone{
    background:#2563EB;
}

.evento-amortizacao .evento-icone{
    background:#16A34A;
}

.evento-conteudo{
    padding:18px 20px;
    border:1px solid #E2E8F0;
    border-radius:14px;
    background:#FFF;
    box-shadow:0 6px 18px rgba(15,23,42,.05);
}

.evento-cabecalho{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.evento-cabecalho h4{
    margin:3px 0 0;
    color:#1E3A8A;
    font-size:18px;
}

.evento-cabecalho > strong{
    color:#0F172A;
    font-size:18px;
    white-space:nowrap;
}

.evento-data{
    color:#64748B;
    font-size:13px;
    font-weight:700;
}

.evento-conteudo p{
    margin:10px 0;
    color:#64748B;
}

.evento-metricas{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.evento-metricas span{
    padding:6px 10px;
    border-radius:999px;
    background:#F1F5F9;
    color:#475569;
    font-size:13px;
    font-weight:600;
}

.evento-metricas .texto-economia{
    background:#DCFCE7;
    color:#15803D;
}

.tabela-resumo-anual td,
.tabela-resumo-anual th{
    white-space:nowrap;
}

@media(max-width:700px){
    .titulo-com-acoes,
    .evento-cabecalho{
        flex-direction:column;
        align-items:flex-start;
    }

    .evento-cabecalho > strong{
        white-space:normal;
    }
}

@media print{
    .linha-tempo-financiamento{
        page-break-inside:auto;
    }

    .evento-conteudo{
        box-shadow:none;
        page-break-inside:avoid;
    }
}


/* ======================================================
   META DE QUITAÇÃO — VERSÃO 1.7.0
====================================================== */

.meta-resultado-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:16px;
}

.meta-resultado-grid > div{
    background:#F8FAFC;
    border:1px solid #E2E8F0;
    border-radius:14px;
    padding:18px;
}

.meta-resultado-grid span{
    display:block;
    color:#64748B;
    font-size:14px;
    margin-bottom:8px;
}

.meta-resultado-grid strong{
    display:block;
    color:#1E3A8A;
    font-size:20px;
}

.meta-situacao{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin-top:22px;
    padding:18px 20px;
    border-radius:14px;
    border:1px solid #CBD5E1;
    background:#F8FAFC;
}

.meta-situacao > i{
    font-size:24px;
    margin-top:1px;
}

.meta-situacao strong{
    display:block;
    font-size:18px;
    margin-bottom:4px;
}

.meta-situacao p{
    margin:0;
    color:#475569;
}

.meta-situacao-verde{
    background:#F0FDF4;
    border-color:#BBF7D0;
    color:#15803D;
}

.meta-situacao-amarela{
    background:#FFFBEB;
    border-color:#FDE68A;
    color:#A16207;
}

.meta-situacao-vermelha{
    background:#FEF2F2;
    border-color:#FECACA;
    color:#B91C1C;
}

.meta-situacao-neutra{
    color:#1E3A8A;
}


.meta-comparacao{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
    gap:20px;
}

.meta-card-destaque{
    background:linear-gradient(135deg,#EFF6FF,#DBEAFE);
    border:1px solid #BFDBFE;
    border-radius:18px;
    padding:26px;
    text-align:center;
}

.meta-card-destaque span,
.meta-card-destaque small{
    display:block;
    color:#64748B;
}

.meta-card-destaque strong{
    display:block;
    margin:8px 0;
    color:#1E3A8A;
    font-size:30px;
}

.meta-card-verde{
    background:linear-gradient(135deg,#F0FDF4,#DCFCE7);
    border-color:#BBF7D0;
}

.meta-card-verde strong{
    color:#15803D;
}

.meta-seta{
    color:#2563EB;
    font-size:30px;
}

@media(max-width:800px){
    .meta-comparacao{
        grid-template-columns:1fr;
    }

    .meta-seta{
        transform:rotate(90deg);
        text-align:center;
    }
}


/* Versão 1.8.0 — acessibilidade do menu e alertas */
.sidebar::-webkit-scrollbar{width:7px;}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:20px;}
.sidebar::-webkit-scrollbar-track{background:rgba(255,255,255,.04);}
.alertas-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.alerta-dashboard{border-radius:14px;padding:18px;background:#f8fafc;border-left:5px solid #2563eb;}
.alerta-dashboard.alerta-atencao{border-left-color:#f59e0b;background:#fffbeb;}
.alerta-dashboard.alerta-urgente{border-left-color:#dc2626;background:#fef2f2;}
.alerta-dashboard.alerta-ok{border-left-color:#16a34a;background:#f0fdf4;}
.alerta-dashboard span{display:block;color:#64748b;font-size:14px;margin-bottom:6px;}
.alerta-dashboard strong{display:block;color:#1e3a8a;font-size:18px;}
.alerta-dashboard small{display:block;color:#64748b;margin-top:6px;}


/* ======================================================
   CONTROLES DE AÇÃO — VERSÃO 1.10.0
====================================================== */

.campo-observacao-mensal{
    grid-column:1 / -1;
}

.previa-atualizacao-mensal{
    margin-top:24px;
}

.atualizacao-resumo-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:16px;
}

.atualizacao-resumo-grid > div{
    background:#F8FAFC;
    border:1px solid #E2E8F0;
    border-radius:14px;
    padding:18px;
}

.atualizacao-resumo-grid span,
.atualizacao-resumo-grid small{
    display:block;
    color:#64748B;
}

.atualizacao-resumo-grid strong{
    display:block;
    color:#1E3A8A;
    font-size:22px;
    margin:7px 0;
}


/* ==========================
AÇÕES DA TABELA — VERSÃO 1.10.0
========================== */

td .btn + .btn {
    margin-left: 6px;
}

@media(max-width:1100px){
    td .btn {
        margin-bottom: 6px;
    }
}


/* ======================================================
   MODAL DE PAGAMENTO E NOTIFICAÇÕES — VERSÃO 1.11.0
====================================================== */

.form-grid-modal{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.campo-modal-largo{
    grid-column:1 / -1;
}

.form-grid-modal textarea{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:10px;
    padding:12px;
    resize:vertical;
    outline:none;
}

.form-grid-modal textarea:focus,
.form-grid-modal input:focus{
    border-color:#2563eb;
    box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.mensagem-erro-form{
    margin-top:18px;
    border-radius:10px;
    padding:12px 14px;
    color:#991b1b;
    background:#fef2f2;
    border:1px solid #fecaca;
}

.toast-fincontrol{
    border:0;
    border-radius:14px;
    box-shadow:0 14px 35px rgba(15,23,42,.22);
    overflow:hidden;
}

.toast-fincontrol .toast-header{
    background:#fff;
}

.toast-fincontrol .toast-body{
    background:#f8fafc;
    color:#334155;
}

@media(max-width:650px){
    .form-grid-modal{
        grid-template-columns:1fr;
    }

    .campo-modal-largo{
        grid-column:auto;
    }
}


/* ======================================================
   AUDITORIA DO RELATÓRIO — VERSÃO 1.12.0
====================================================== */
.auditoria-relatorio{margin-top:24px;border-radius:16px;padding:20px;border:1px solid #cbd5e1;background:#f8fafc;}
.auditoria-relatorio-topo{display:flex;justify-content:space-between;align-items:center;gap:20px;}
.auditoria-relatorio-topo span,.auditoria-relatorio small{display:block;color:#64748b;}
.auditoria-relatorio-topo strong{display:block;margin-top:4px;font-size:20px;}
.auditoria-relatorio-topo i{font-size:30px;}
.auditoria-relatorio ul{margin:14px 0 0;padding-left:20px;}
.auditoria-ok{background:#f0fdf4;border-color:#bbf7d0;}.auditoria-ok strong,.auditoria-ok i{color:#15803d;}
.auditoria-aviso{background:#fffbeb;border-color:#fde68a;}.auditoria-aviso strong,.auditoria-aviso i{color:#b45309;}
.auditoria-erro{background:#fef2f2;border-color:#fecaca;}.auditoria-erro strong,.auditoria-erro i{color:#b91c1c;}


/* ======================================================
   AVALIAÇÃO DO FINANCIAMENTO — VERSÃO 1.14.0
====================================================== */
.avaliacao-financiamento-relatorio{margin-top:24px;padding:24px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #bfdbfe;}
.avaliacao-financiamento-topo{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;}
.avaliacao-financiamento-topo span{display:block;color:#64748b;font-size:14px;}
.avaliacao-financiamento-topo strong{display:block;color:#1e3a8a;font-size:22px;margin-top:3px;}
.avaliacao-financiamento-topo i{font-size:34px;color:#2563eb;}
.avaliacao-financiamento-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.avaliacao-financiamento-grid>div{background:#fff;border:1px solid #dbeafe;border-radius:14px;padding:18px;}
.avaliacao-financiamento-grid span,.avaliacao-financiamento-grid small{display:block;color:#64748b;}
.avaliacao-financiamento-grid strong{display:block;color:#0f172a;font-size:21px;margin:6px 0;}
.avaliacao-financiamento-mensagem{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:14px 16px;border-radius:12px;background:#fff;color:#334155;border:1px solid #dbeafe;}
.avaliacao-financiamento-mensagem i{color:#2563eb;margin-top:2px;}
@media(max-width:1000px){.avaliacao-financiamento-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){.avaliacao-financiamento-grid{grid-template-columns:1fr;}}


/* ======================================================
   RELATÓRIO MAIS CLARO — VERSÃO 1.14.0
====================================================== */

.titulo-secao-relatorio{
    margin:32px 0 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.titulo-secao-relatorio span{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.titulo-secao-relatorio strong{
    display:block;
    margin-top:3px;
    color:#0f172a;
    font-size:20px;
}

.comparacao-relatorio-principal{
    margin-top:0;
}

.comparacoes-secundarias-relatorio{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.comparacao-dupla-relatorio{
    display:grid;
    grid-template-columns:1fr 1fr;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(15,23,42,.05);
}

.comparacao-dupla-relatorio > div{
    padding:20px;
    min-width:0;
}

.comparacao-dupla-relatorio > div + div{
    border-left:1px solid #e2e8f0;
    background:#f8fafc;
}

.comparacao-dupla-relatorio span,
.relatorio-faixa-status span{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:600;
}

.comparacao-dupla-relatorio strong,
.relatorio-faixa-status strong{
    display:block;
    margin-top:6px;
    color:#0f172a;
    font-size:22px;
    line-height:1.15;
}

.comparacao-dupla-relatorio small,
.relatorio-faixa-status small{
    display:block;
    margin-top:6px;
    color:#94a3b8;
    line-height:1.35;
}

.comparacao-dupla-relatorio .destaque-comparacao-positivo{
    background:#f0fdf4;
}

.comparacao-dupla-relatorio .destaque-comparacao-positivo strong{
    color:#15803d;
}

.relatorio-faixa-status{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:20px;
}

.relatorio-faixa-status > div{
    padding:18px;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}

.resumo-resultado-relatorio{
    margin-top:22px;
    padding:22px;
    border-radius:16px;
    background:linear-gradient(135deg,#eff6ff,#f8fafc);
    border:1px solid #bfdbfe;
}

.resumo-resultado-titulo{
    display:flex;
    align-items:center;
    gap:12px;
}

.resumo-resultado-titulo i{
    color:#2563eb;
    font-size:26px;
}

.resumo-resultado-titulo span{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
}

.resumo-resultado-titulo strong{
    display:block;
    color:#0f172a;
    font-size:19px;
}

.resumo-resultado-relatorio p{
    margin:14px 0 0;
    color:#334155;
    line-height:1.6;
}

@media(max-width:1100px){
    .comparacoes-secundarias-relatorio{
        grid-template-columns:1fr;
    }
    .relatorio-faixa-status{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .comparacao-dupla-relatorio{
        grid-template-columns:1fr;
    }
    .comparacao-dupla-relatorio > div + div{
        border-left:none;
        border-top:1px solid #e2e8f0;
    }
    .relatorio-faixa-status{
        grid-template-columns:1fr;
    }
}

/* =====================================================
   FINCONTROL 2.0 — EXPERIÊNCIA DE USO
===================================================== */

.rotulo-dashboard{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:4px;
}

.dashboard-hero-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin-bottom:24px;
}

.dashboard-hero-card{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    padding:22px;
    box-shadow:0 8px 24px rgba(15,23,42,.06);
}

.dashboard-hero-card span{
    display:block;
    color:#64748b;
    font-size:13px;
    font-weight:700;
}

.dashboard-hero-card strong{
    display:block;
    color:#0f172a;
    font-size:27px;
    line-height:1.15;
    margin-top:9px;
}

.dashboard-hero-card small{
    display:block;
    color:#94a3b8;
    margin-top:7px;
}

.dashboard-hero-card.principal{
    background:linear-gradient(135deg,#1e3a8a,#2563eb);
    border-color:transparent;
}
.dashboard-hero-card.principal span,
.dashboard-hero-card.principal small{color:#dbeafe;}
.dashboard-hero-card.principal strong{color:#fff;}

.dashboard-hero-card.economia{
    background:#f0fdf4;
    border-color:#bbf7d0;
}
.dashboard-hero-card.economia strong{color:#15803d;}

.painel-progresso-v2{margin-bottom:24px;}
.progresso-v2-topo{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:14px;
}
.progresso-v2-topo > div:first-child span{display:block;color:#64748b;font-size:13px;}
.progresso-v2-topo > div:first-child strong{display:block;color:#0f172a;font-size:22px;margin-top:3px;}
.progresso-contadores-v2{display:flex;gap:14px;flex-wrap:wrap;color:#64748b;font-size:13px;}
.progresso-contadores-v2 b{color:#0f172a;}

.dashboard-v2-duas-colunas{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin-bottom:20px;
}

.proxima-parcela-v2{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:14px;
}
.proxima-parcela-v2 > div,
.comparacao-curta-v2 > div{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:14px;
    padding:16px;
}
.proxima-parcela-v2 span,
.comparacao-curta-v2 span{display:block;color:#64748b;font-size:12px;font-weight:700;}
.proxima-parcela-v2 strong,
.comparacao-curta-v2 strong{display:block;color:#0f172a;font-size:18px;margin-top:5px;}
.proxima-parcela-v2 small{display:block;color:#94a3b8;margin-top:4px;}

.comparacao-curta-v2{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.comparacao-curta-v2 strong{font-size:16px;}

.resumo-acoes-dashboard{display:grid;gap:12px;}
.resumo-acao-dashboard{
    display:flex;
    gap:14px;
    align-items:center;
    padding:14px;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#f8fafc;
}
.resumo-acao-icone{
    width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:19px;flex:0 0 auto;
}
.resumo-acao-icone.azul{background:#dbeafe;color:#1d4ed8;}
.resumo-acao-icone.verde{background:#dcfce7;color:#15803d;}
.resumo-acao-dashboard span{display:block;color:#64748b;font-size:12px;font-weight:700;}
.resumo-acao-dashboard strong{display:block;color:#0f172a;margin-top:2px;}
.resumo-acao-dashboard small{display:block;color:#64748b;margin-top:2px;}

.linha-parcela-clicavel{cursor:pointer;}
.linha-parcela-clicavel:hover td{background:#eff6ff !important;}

.timeline-painel-v2{padding-bottom:10px;}
.timeline-ano-v2{margin:24px 0 34px;}
.timeline-ano-cabecalho-v2{
    display:flex;justify-content:space-between;align-items:center;gap:15px;
    padding-bottom:12px;border-bottom:1px solid #e2e8f0;margin-bottom:12px;
}
.timeline-ano-cabecalho-v2 strong{font-size:26px;color:#1e3a8a;}
.timeline-ano-cabecalho-v2 span{color:#64748b;font-size:13px;text-align:right;}
.timeline-lista-v2{position:relative;margin-left:19px;padding-left:28px;}
.timeline-lista-v2::before{
    content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;background:#dbe3ef;
}
.timeline-evento-v2{position:relative;margin-bottom:14px;}
.timeline-marcador-v2{
    position:absolute;left:-48px;top:15px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
    background:#dbeafe;color:#1d4ed8;border:4px solid #fff;box-shadow:0 0 0 1px #bfdbfe;
}
.timeline-evento-v2.antecipacao .timeline-marcador-v2{background:#dcfce7;color:#15803d;box-shadow:0 0 0 1px #bbf7d0;}
.timeline-card-v2{
    border:1px solid #e2e8f0;background:#fff;border-radius:15px;padding:16px 18px;box-shadow:0 5px 16px rgba(15,23,42,.04);
}
.timeline-evento-v2.antecipacao .timeline-card-v2{border-left:4px solid #22c55e;}
.timeline-evento-v2.pagamento .timeline-card-v2{border-left:4px solid #3b82f6;}
.timeline-card-topo-v2{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;}
.timeline-card-topo-v2 span{display:block;color:#64748b;font-size:12px;}
.timeline-card-topo-v2 strong{display:block;color:#0f172a;font-size:16px;margin-top:2px;}
.timeline-card-topo-v2 b{color:#0f172a;font-size:17px;white-space:nowrap;}
.timeline-card-v2 p{margin:8px 0 0;color:#64748b;}
.timeline-tags-v2{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.timeline-tags-v2 span{background:#f1f5f9;color:#475569;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600;}
.timeline-tags-v2 .tag-economia-v2{background:#dcfce7;color:#15803d;}

@media(max-width:1200px){
    .dashboard-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:900px){
    .dashboard-v2-duas-colunas{grid-template-columns:1fr;}
    .comparacao-curta-v2{grid-template-columns:1fr;}
}
@media(max-width:650px){
    .dashboard-hero-grid{grid-template-columns:1fr;}
    .progresso-v2-topo{align-items:flex-start;flex-direction:column;}
    .proxima-parcela-v2{grid-template-columns:1fr;}
    .timeline-ano-cabecalho-v2{align-items:flex-start;flex-direction:column;}
    .timeline-ano-cabecalho-v2 span{text-align:left;}
}

/* =====================================================
   FINCONTROL 2.2 — ARQUIVO DE DADOS PORTÁTIL
===================================================== */

.painel-arquivo-portatil{
    border:1px solid #dbeafe;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.arquivo-portatil-status{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px 18px;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#f8fafc;
    color:#475569;
}

.arquivo-portatil-status > i{
    width:38px;
    height:38px;
    border-radius:10px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    background:#e2e8f0;
    color:#475569;
    font-size:19px;
}

.arquivo-portatil-status strong{
    display:block;
    color:#0f172a;
    font-size:15px;
}

.arquivo-portatil-status span{
    display:block;
    color:#64748b;
    font-size:13px;
    margin-top:2px;
}

.arquivo-portatil-status.conectado{
    border-color:#bbf7d0;
    background:#f0fdf4;
}

.arquivo-portatil-status.conectado > i{
    background:#dcfce7;
    color:#15803d;
}

.arquivo-portatil-status.aviso{
    border-color:#fde68a;
    background:#fffbeb;
}

.arquivo-portatil-status.aviso > i{
    background:#fef3c7;
    color:#b45309;
}

.indicador-global-arquivo-portatil{
    width:100%;
    margin:0 auto 18px;
    padding:13px 16px;
    border:1px solid #fde68a;
    border-radius:12px;
    background:#fffbeb;
    color:#475569;
    display:flex;
    align-items:center;
    gap:12px;
    text-align:left;
    cursor:pointer;
}

.indicador-global-arquivo-portatil[hidden]{
    display:none;
}

.indicador-global-arquivo-portatil > i{
    flex:0 0 auto;
    color:#b45309;
    font-size:20px;
}

.indicador-global-arquivo-portatil-texto{
    flex:1;
    min-width:0;
}

.indicador-global-arquivo-portatil-texto strong,
.indicador-global-arquivo-portatil-texto > span{
    display:block;
}

.indicador-global-arquivo-portatil-texto strong{
    color:#78350f;
    font-size:14px;
}

.indicador-global-arquivo-portatil-texto > span{
    margin-top:2px;
    color:#92400e;
    font-size:13px;
}

.indicador-global-arquivo-portatil-acao{
    flex:0 0 auto;
    color:#92400e;
    font-size:13px;
    font-weight:700;
}

.indicador-global-arquivo-portatil:hover,
.indicador-global-arquivo-portatil:focus-visible{
    border-color:#f59e0b;
    background:#fef3c7;
}

@media(max-width:650px){
    .indicador-global-arquivo-portatil{
        align-items:flex-start;
        flex-wrap:wrap;
    }

    .indicador-global-arquivo-portatil-acao{
        width:100%;
        padding-left:32px;
    }
}

/* =====================================================
   FINCONTROL 2.3 — REFINAMENTO VISUAL E CONSISTÊNCIA
===================================================== */

:root{
    --fc-azul:#1e3a8a;
    --fc-azul-claro:#2563eb;
    --fc-fundo:#f1f5f9;
    --fc-card:#ffffff;
    --fc-borda:#e2e8f0;
    --fc-texto:#0f172a;
    --fc-secundario:#64748b;
    --fc-verde:#15803d;
    --fc-raio:16px;
    --fc-sombra:0 8px 24px rgba(15,23,42,.06);
}

body{
    background:var(--fc-fundo);
    color:var(--fc-texto);
}

.conteudo{
    min-width:0;
    padding:32px clamp(20px,3vw,42px) 44px;
}

#conteudoPrincipal{
    width:100%;
    max-width:1500px;
    margin:0 auto;
}

.sidebar{
    box-shadow:4px 0 22px rgba(15,23,42,.14);
}

.logo{
    padding:27px 22px;
}

.logo h2{
    font-size:25px;
    letter-spacing:-.02em;
    margin-bottom:5px;
}

.logo small{
    font-size:12px;
    line-height:1.35;
}

.menu-item{
    position:relative;
    padding:15px 24px;
    min-height:52px;
    font-size:15px;
    border-left:3px solid transparent;
}

.menu-item:hover{
    background:rgba(255,255,255,.09);
}

.menu-item.ativo{
    background:rgba(37,99,235,.9);
    border-left-color:#93c5fd;
}

.menu-item:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline:3px solid rgba(59,130,246,.30);
    outline-offset:2px;
}

.topo{
    align-items:flex-start;
    margin-bottom:24px;
    gap:24px;
}

.topo h2{
    margin:0;
    color:var(--fc-texto);
    font-size:26px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:-.025em;
}

.topo p{
    margin:4px 0 0;
    color:var(--fc-secundario);
    font-size:14px;
    line-height:1.5;
    font-weight:400;
}

.topo .acoes-topo{
    justify-content:flex-end;
}

.versao{
    white-space:nowrap;
    box-shadow:0 5px 14px rgba(30,58,138,.12);
}

.cards,
.dashboard-hero-grid{
    align-items:stretch;
}

.card-fin,
.dashboard-hero-card,
.painel,
.form-card{
    border:1px solid var(--fc-borda);
    box-shadow:var(--fc-sombra);
}

.card-fin{
    min-height:auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:20px;
    border-radius:14px;
}

.card-fin h5{
    font-size:15px;
    font-weight:700;
    line-height:1.35;
}

.card-fin h2{
    font-size:24px;
    font-weight:800;
    line-height:1.2;
}

.card-fin:hover,
.dashboard-hero-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(15,23,42,.09);
}

.painel{
    margin-top:24px;
    padding:26px;
}

.painel h3,
.form-card h3{
    font-size:20px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:-.015em;
}

.form-grid label,
.filtros-parcelas label,
.form-amortizacao label,
.form-simulador label{
    font-size:14px;
    font-weight:600;
    line-height:1.4;
    color:#334155;
    margin-bottom:8px;
    display:block;
}

.btn,
.btn-salvar{
    border-radius:10px;
    font-weight:600;
}

.btn-salvar{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.acoes-relatorio > .btn:not(.btn-sm):not(.btn-salvar),
.modal-footer > .btn:not(.btn-sm):not(.btn-close){
    min-height:44px;
    padding:10px 16px;
    font-size:16px;
    font-weight:600;
    line-height:1.5;
    border-radius:10px;
}

.modal-footer > .btn-primary{
    padding:10px 20px;
}

.form-grid input,
.form-grid select,
.form-grid textarea,
.filtros-parcelas input,
.filtros-parcelas select{
    min-height:44px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#fff;
    color:var(--fc-texto);
}

.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus,
.filtros-parcelas input:focus,
.filtros-parcelas select:focus{
    border-color:#60a5fa;
    box-shadow:0 0 0 3px rgba(59,130,246,.12);
}

.table-responsive{
    border:1px solid var(--fc-borda);
    border-radius:13px;
    overflow:auto;
}

.table{
    margin-bottom:0;
}

.table thead th{
    white-space:nowrap;
    font-size:13px;
    vertical-align:middle;
}

.table tbody td{
    vertical-align:middle;
}

.table .btn{
    margin:2px;
}

.badge{
    font-weight:700;
    letter-spacing:.01em;
    padding:.48em .7em;
}

.modal-fincontrol{
    border:0;
    border-radius:18px;
    box-shadow:0 22px 70px rgba(15,23,42,.22);
}

.toast-fincontrol{
    border:0;
    box-shadow:0 14px 40px rgba(15,23,42,.16);
}

@media(max-width:900px){
    .sidebar{
        width:82px;
        flex:0 0 82px;
    }

    .logo{
        padding:22px 8px;
    }

    .logo h2{
        font-size:0;
        margin:0;
    }

    .logo h2::before{
        content:"💰";
        font-size:28px;
    }

    .logo small{
        display:none;
    }

    .menu-item{
        font-size:0;
        text-align:center;
        padding:15px 0;
        border-left-width:3px;
    }

    .menu-item i{
        margin:0;
        font-size:22px;
    }

    .conteudo{
        padding:24px 18px 36px;
    }
}

@media(max-width:650px){
    .topo{
        align-items:flex-start;
        flex-direction:column;
        gap:16px;
    }

    .acoes-topo{
        width:100%;
        align-items:flex-start;
        flex-wrap:wrap;
    }

    .versao{
        font-size:12px;
        padding:8px 12px;
    }

    .painel,
    .form-card{
        padding:20px;
    }

    .card-fin{
        min-height:auto;
        padding:18px;
    }
}

/* =====================================================
   FINCONTROL 2.5 — DASHBOARD PREMIUM
===================================================== */

.topo-dashboard-premium{
    margin-bottom:22px;
}

.dashboard-premium-resumo{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(250px,.72fr) 170px;
    align-items:center;
    gap:28px;
    margin-bottom:22px;
    padding:28px 30px;
    border-radius:22px;
    background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 52%,#2563eb 100%);
    box-shadow:0 16px 38px rgba(30,58,138,.18);
    color:#fff;
}

.dashboard-premium-eyebrow{
    display:block;
    color:#bfdbfe;
    font-size:13px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    margin-bottom:6px;
}

.dashboard-premium-percentual{
    font-size:42px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.03em;
}

.dashboard-premium-percentual small{
    font-size:21px;
    font-weight:700;
    color:#dbeafe;
}

.dashboard-premium-resumo p{
    margin:12px 0 18px;
    max-width:700px;
    color:#dbeafe;
    line-height:1.55;
}

.dashboard-premium-barra{
    width:100%;
    height:10px;
    border-radius:999px;
    overflow:hidden;
    background:rgba(255,255,255,.18);
}

.dashboard-premium-barra > div{
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#60a5fa,#86efac);
    box-shadow:0 0 16px rgba(134,239,172,.3);
}


.dashboard-premium-saldo{
    min-height:122px;
    padding:8px 28px;
    border-left:1px solid rgba(255,255,255,.32);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.dashboard-premium-saldo span{
    display:block;
    color:#dbeafe;
    font-size:13px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.dashboard-premium-saldo strong{
    display:block;
    color:#fff;
    font-size:31px;
    line-height:1.08;
    font-weight:800;
    letter-spacing:-.025em;
}

.dashboard-premium-saldo small{
    display:block;
    margin-top:10px;
    color:#dbeafe;
    font-size:13px;
    line-height:1.45;
}

.dashboard-premium-anel{
    width:150px;
    height:150px;
    margin:auto;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:conic-gradient(#86efac var(--progresso),rgba(255,255,255,.18) 0deg);
    position:relative;
}

.dashboard-premium-anel::before{
    content:"";
    position:absolute;
    inset:12px;
    border-radius:50%;
    background:#153887;
}

.dashboard-premium-anel > div{
    position:relative;
    z-index:1;
    text-align:center;
}

.dashboard-premium-anel strong{
    display:block;
    font-size:27px;
    line-height:1;
}

.dashboard-premium-anel span{
    display:block;
    margin-top:5px;
    font-size:12px;
    color:#dbeafe;
}

.dashboard-premium-cards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-bottom:22px;
}

.dashboard-premium-card{
    min-height:134px;
    display:flex;
    gap:15px;
    align-items:flex-start;
    padding:20px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.055);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.dashboard-premium-card:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(15,23,42,.08);
}

.dashboard-premium-card-icone{
    width:44px;
    height:44px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#eff6ff;
    color:#2563eb;
    font-size:20px;
}

.dashboard-premium-card span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

.dashboard-premium-card strong{
    display:block;
    margin-top:5px;
    color:#0f172a;
    font-size:23px;
    line-height:1.15;
}

.dashboard-premium-card small{
    display:block;
    margin-top:7px;
    color:#94a3b8;
    font-size:12px;
}

.dashboard-premium-card.economia{
    border-color:#bbf7d0;
    background:linear-gradient(180deg,#ffffff,#f0fdf4);
}

.dashboard-premium-card.economia .dashboard-premium-card-icone{
    background:#dcfce7;
    color:#15803d;
}

.dashboard-premium-card.economia strong{
    color:#15803d;
}

.dashboard-premium-card.prazo .dashboard-premium-card-icone{
    background:#fef3c7;
    color:#b45309;
}

.dashboard-premium-grid-principal,
.dashboard-premium-grid-graficos{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin-bottom:20px;
}

.painel-premium{
    margin-top:0;
    border:1px solid #e2e8f0;
    box-shadow:0 8px 24px rgba(15,23,42,.055);
}

.painel-premium-cabecalho{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:18px;
}

.painel-premium-cabecalho h3{
    margin:2px 0 0;
    color:#0f172a;
    font-size:20px;
}

.painel-premium-cabecalho > i{
    width:42px;
    height:42px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:#eff6ff;
    color:#2563eb;
    font-size:19px;
}

.painel-premium-rotulo{
    display:block;
    color:#94a3b8;
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.proxima-parcela-premium{
    position:relative;
    overflow:hidden;
}

.proxima-parcela-premium::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#22c55e;
}

.proxima-parcela-premium.atencao::before{background:#f59e0b;}
.proxima-parcela-premium.atraso::before{background:#dc2626;}

.proxima-parcela-premium-corpo{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(160px,.8fr);
    gap:14px;
}

.proxima-parcela-premium-corpo > div{
    padding:18px;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}

.proxima-parcela-premium-corpo span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

.proxima-parcela-premium-corpo strong{
    display:block;
    margin-top:6px;
    color:#0f172a;
    font-size:22px;
}

.proxima-parcela-premium-corpo small{
    display:block;
    margin-top:5px;
    color:#64748b;
}

.proxima-parcela-premium-valor strong{
    color:#1e3a8a;
}

.dashboard-premium-composicao{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.dashboard-premium-composicao > div{
    padding:16px;
    border-radius:14px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
}

.dashboard-premium-composicao span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

.dashboard-premium-composicao strong{
    display:block;
    margin-top:6px;
    color:#0f172a;
    font-size:16px;
}

.movimentos-premium-painel{
    margin-bottom:22px;
}

.movimentos-premium-lista{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.movimento-premium{
    display:flex;
    align-items:center;
    gap:13px;
    min-height:82px;
    padding:14px 16px;
    border-radius:14px;
    border:1px solid #e2e8f0;
    background:#f8fafc;
}

.movimento-premium-icone{
    width:42px;
    height:42px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:12px;
    font-size:18px;
}

.movimento-premium.pagamento .movimento-premium-icone{
    background:#dbeafe;
    color:#1d4ed8;
}

.movimento-premium.antecipacao .movimento-premium-icone{
    background:#dcfce7;
    color:#15803d;
}

.movimento-premium-conteudo span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}

.movimento-premium-conteudo strong{
    display:block;
    margin-top:2px;
    color:#0f172a;
}

.movimento-premium-conteudo small{
    display:block;
    margin-top:3px;
    color:#64748b;
}

@media(max-width:1200px){
    .dashboard-premium-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:900px){
    .dashboard-premium-resumo{grid-template-columns:1fr;}
    .dashboard-premium-saldo{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:20px 0 0;min-height:auto;}
    .dashboard-premium-anel{display:none;}
    .dashboard-premium-grid-principal,
    .dashboard-premium-grid-graficos{grid-template-columns:1fr;}
    .movimentos-premium-lista{grid-template-columns:1fr;}
}

@media(max-width:650px){
    .dashboard-premium-resumo{padding:22px;}
    .dashboard-premium-percentual{font-size:34px;}
    .dashboard-premium-percentual small{font-size:17px;}
    .dashboard-premium-cards{grid-template-columns:1fr;}
    .proxima-parcela-premium-corpo{grid-template-columns:1fr;}
    .dashboard-premium-composicao{grid-template-columns:1fr;}
}


/* ======================================================
   DASHBOARD 2.6.0 — layout comercial
====================================================== */

body{background:#f4f7fb;color:#0f172a;}
.sidebar{
    width:248px;
    background:linear-gradient(180deg,#06182f 0%,#08264a 58%,#061a34 100%);
    box-shadow:none;
    border-right:1px solid rgba(255,255,255,.06);
}
.logo{padding:26px 22px 24px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);}
.logo-marca{display:flex;align-items:center;gap:11px;}
.logo-marca i{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.10);color:#fff;font-size:19px;}
.logo h2{font-size:24px;margin:0;color:#fff;letter-spacing:-.02em;}
.logo small{display:block;margin:8px 0 0 50px;max-width:150px;line-height:1.55;color:#d7e4f3;}
.sidebar nav{padding:10px 14px 10px;margin-top:8px;}
.menu-item{border-radius:9px;padding:13px 14px;margin:4px 0;font-size:15px;color:#f8fafc;}
.menu-item i{width:24px;display:inline-block;margin-right:8px;font-size:17px;}
.menu-item:hover{background:rgba(37,99,235,.20);}
.menu-item.ativo{background:linear-gradient(90deg,#1463f3,#2b6df4);box-shadow:0 8px 18px rgba(37,99,235,.22);}
.sidebar-resumo-fin{margin:auto 18px 12px;padding:16px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(255,255,255,.04);display:grid;gap:7px;color:#dbeafe;font-size:13px;}
.sidebar-resumo-fin strong{font-size:14px;color:#fff;margin-bottom:2px;}
.sidebar-resumo-fin strong i{margin-right:7px;}
.sidebar-versao{padding:8px 22px 22px;color:#91a8c2;font-size:12px;}
.conteudo{padding:28px 34px 40px;min-width:0;}

.dash-cabecalho{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;}
.dash-cabecalho h1{margin:0 0 5px;color:#0f172a;font-size:31px;font-weight:800;letter-spacing:-.035em;}
.dash-cabecalho h2{margin:0;color:#0f172a;font-size:20px;font-weight:700;}
.dash-cabecalho h2 span{color:#1d4ed8;}
.dash-atualizacao{text-align:right;color:#475569;font-size:13px;line-height:1.55;padding-top:4px;}
.dash-atualizacao small{color:#94a3b8;}

.dash-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr) 170px;align-items:center;gap:28px;padding:28px 36px;border-radius:18px;background:linear-gradient(115deg,#0a1d43 0%,#183f8f 54%,#1959d7 100%);color:#fff;box-shadow:0 12px 34px rgba(12,49,117,.14);}
.dash-hero-progresso>span,.dash-hero-saldo>span{display:block;color:#dbeafe;font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.035em;}
.dash-hero-percentual{margin-top:10px;font-size:43px;font-weight:800;line-height:1;letter-spacing:-.035em;}
.dash-hero-percentual small{font-size:20px;color:#e8f0ff;font-weight:700;}
.dash-hero-progresso p{margin:13px 0 18px;color:#e5edfb;font-size:14px;}
.dash-hero-barra{width:100%;height:9px;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.18);}
.dash-hero-barra div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#5fd4ee,#82ef9c);}
.dash-hero-saldo{padding:18px 30px;border-left:1px solid rgba(255,255,255,.32);}
.dash-hero-saldo strong{display:block;margin:10px 0 8px;font-size:31px;font-weight:800;letter-spacing:-.025em;}
.dash-hero-saldo small{display:block;color:#dbeafe;line-height:1.45;}
.dash-hero-anel{width:142px;height:142px;border-radius:50%;margin:auto;display:grid;place-items:center;position:relative;background:conic-gradient(#78ed8f var(--progresso),rgba(255,255,255,.18) 0deg);}
.dash-hero-anel:before{content:"";position:absolute;inset:11px;border-radius:50%;background:#17428d;}
.dash-hero-anel>div{position:relative;z-index:1;text-align:center;}
.dash-hero-anel strong{display:block;font-size:27px;line-height:1;font-weight:800;}
.dash-hero-anel span{display:block;margin-top:6px;font-size:11px;color:#dbeafe;}

.dash-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0;}
.dash-card{display:flex;gap:14px;align-items:center;min-height:115px;padding:18px;border:1px solid #dfe6ef;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.045);}
.dash-card-icone{width:52px;height:52px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:22px;}
.dash-card.verde .dash-card-icone{background:#38ad60}.dash-card.azul .dash-card-icone{background:#1767e8}.dash-card.roxo .dash-card-icone{background:#7b43d4}.dash-card.laranja .dash-card-icone{background:#fb6d11}
.dash-card span{display:block;color:#475569;font-size:12px;text-transform:uppercase;font-weight:800;}
.dash-card strong{display:block;margin-top:5px;color:#0f172a;font-size:20px;line-height:1.2;}
.dash-card.azul strong{color:#1161dd}.dash-card.roxo strong{color:#6833be}.dash-card.laranja strong{color:#b94705}
.dash-card small{display:block;margin-top:7px;color:#64748b;font-size:11px;line-height:1.4;}

.dash-grid-graficos{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.15fr) minmax(260px,.72fr);gap:14px;margin-bottom:14px;}
.dash-painel{background:#fff;border:1px solid #dfe6ef;border-radius:15px;padding:18px;box-shadow:0 5px 18px rgba(15,23,42,.04);min-width:0;}
.dash-painel h3{margin:0 0 15px;color:#0f172a;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.01em;}
.dash-composicao-corpo{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(180px,1fr);align-items:center;gap:16px;min-height:245px;}
.dash-donut-wrap{height:220px;position:relative;}
.dash-donut-wrap canvas{position:relative;z-index:1;}
.dash-donut-centro{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:0;text-align:center;pointer-events:none;}
.dash-donut-centro strong{display:block;font-size:15px;color:#0f172a;white-space:nowrap;}
.dash-donut-centro span{font-size:11px;color:#64748b;}
.dash-composicao-resumo{display:grid;gap:13px;}
.dash-composicao-resumo>div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;padding-bottom:10px;border-bottom:1px solid #edf1f6;}
.dash-composicao-resumo label{color:#475569;font-size:12px;}.dash-composicao-resumo strong{font-size:12px;color:#0f172a;}
.bolinha{width:9px;height:9px;border-radius:50%;}.bolinha.principal{background:#22c55e}.bolinha.juros{background:#2563eb}.bolinha.antecipacao{background:#64748b}
.dash-grafico-linha{height:245px;}
.dash-economia{display:flex;flex-direction:column;justify-content:center;}
.dash-economia-valor{font-size:31px;font-weight:800;color:#2f9e4d;margin:4px 0 12px;}
.dash-economia p{color:#475569;line-height:1.55;font-size:13px;}
.dash-economia-barra{height:10px;border-radius:20px;background:#e2e8f0;overflow:hidden;margin:16px 0 8px;}
.dash-economia-barra div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#42b866,#2ca24f);}
.dash-economia>strong{font-size:12px;text-align:center;color:#278743;line-height:1.45;}

.dash-grid-rodape{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:14px;}
.dash-painel-titulo-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e8edf3;padding-bottom:11px;margin-bottom:3px;}
.dash-painel-titulo-linha h3{margin:0}.dash-painel-titulo-linha button{border:0;background:none;color:#1261dc;font-size:12px;cursor:pointer;}
.dash-movimento-linha{display:grid;grid-template-columns:100px minmax(130px,1fr) 100px 110px;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f6;font-size:12px;}
.dash-movimento-linha:last-child{border-bottom:0}.dash-movimento-linha strong{font-size:12px;color:#0f172a}.dash-movimento-linha>b{text-align:right;color:#0f172a;}
.dash-movimento-tipo{display:inline-block;width:max-content;padding:4px 9px;border-radius:6px;font-weight:700;}.dash-movimento-tipo.pagamento{background:#dbeafe;color:#1261dc}.dash-movimento-tipo.antecipacao{background:#dcfce7;color:#278743}
.dash-resumo-rapido>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:12px;}.dash-resumo-rapido span{color:#475569}.dash-resumo-rapido strong{color:#0f172a}.verde-texto{color:#2e9a4d!important;}

@media(max-width:1250px){.dash-cards{grid-template-columns:repeat(2,minmax(0,1fr));}.dash-grid-graficos{grid-template-columns:repeat(2,minmax(0,1fr));}.dash-economia{grid-column:1/-1;}.dash-grid-rodape{grid-template-columns:1fr;}}
@media(max-width:950px){.dash-hero{grid-template-columns:1fr;}.dash-hero-saldo{border-left:0;border-top:1px solid rgba(255,255,255,.24);padding:18px 0 0}.dash-hero-anel{display:none}.dash-grid-graficos{grid-template-columns:1fr}.dash-economia{grid-column:auto}.dash-composicao-corpo{grid-template-columns:1fr}.dash-movimento-linha{grid-template-columns:95px 1fr 90px}.dash-movimento-linha>b{grid-column:2/4;text-align:left}.sidebar-resumo-fin{display:none}}
@media(max-width:650px){.conteudo{padding:18px}.dash-cabecalho{display:block}.dash-atualizacao{text-align:left;margin-top:8px}.dash-hero{padding:23px}.dash-hero-percentual{font-size:35px}.dash-cards{grid-template-columns:1fr}.dash-movimento-linha{grid-template-columns:1fr}.dash-movimento-linha>b{grid-column:auto}.dash-composicao-corpo{min-height:auto}}

/* =====================================================
   FINCONTROL 3.0.17A — NAVEGAÇÃO MOBILE EM DRAWER
===================================================== */

.botao-menu-mobile,
.backdrop-menu-mobile{
    display:none;
}

@media screen and (max-width:650px){
    .sidebar{
        position:fixed;
        top:0;
        left:0;
        z-index:1040;
        width:248px;
        height:100vh;
        flex:0 0 auto;
        visibility:hidden;
        transform:translateX(-100%);
        transition:visibility 0s linear .2s, transform .2s ease;
    }

    .sidebar.drawer-mobile-aberto{
        visibility:visible;
        transform:translateX(0);
        transition-delay:0s;
    }

    .sidebar .logo{
        padding:26px 22px 24px;
    }

    .sidebar .logo h2{
        font-size:24px;
        margin:0;
    }

    .sidebar .logo h2::before{
        content:none;
    }

    .sidebar .logo small{
        display:block;
    }

    .sidebar .menu-item{
        padding:13px 14px;
        font-size:15px;
        text-align:left;
    }

    .sidebar .menu-item i{
        width:24px;
        margin-right:8px;
        font-size:17px;
    }

    .sidebar .sidebar-resumo-fin{
        display:grid;
    }

    .botao-menu-mobile{
        display:grid;
        width:44px;
        height:44px;
        margin-bottom:14px;
        padding:0;
        place-items:center;
        border:1px solid #cbd5e1;
        border-radius:10px;
        background:#fff;
        color:#0f172a;
        font-size:24px;
        cursor:pointer;
    }

    .botao-menu-mobile[aria-expanded="true"]{
        position:fixed;
        top:12px;
        right:12px;
        z-index:1041;
    }

    .backdrop-menu-mobile:not([hidden]){
        display:block;
        position:fixed;
        inset:0;
        z-index:1025;
        background:rgba(15,23,42,.48);
    }
}

@media print{
    .botao-menu-mobile,
    .backdrop-menu-mobile{
        display:none !important;
    }
}

/* =====================================================
   FINCONTROL 3.0.17B — TABELA DE PARCELAS NO MOBILE
===================================================== */

.table-responsive-parcelas:focus-visible{
    outline:3px solid rgba(59,130,246,.30);
    outline-offset:2px;
}

@media screen and (max-width:650px){
    .tabela-parcelas{
        min-width:1050px;
    }

    .tabela-parcelas th:last-child,
    .tabela-parcelas td:last-child{
        position:sticky;
        right:0;
        width:170px;
        min-width:170px;
        max-width:170px;
        background-color:#fff;
        border-left:1px solid #cbd5e1;
        box-shadow:none;
    }

    .tabela-parcelas.table-striped > tbody > tr:nth-of-type(odd) > td:last-child{
        background-color:#f2f2f2;
    }

    .tabela-parcelas .linha-paga td:last-child{
        background-color:#f2faf5!important;
    }

    .tabela-parcelas .linha-vencida td:last-child{
        background-color:#fcefee!important;
    }

    .tabela-parcelas .linha-amortizada td:last-child{
        background-color:#ecf8fd!important;
    }

    .tabela-parcelas .linha-parcela-clicavel:hover td:last-child{
        background-color:#eff6ff!important;
    }

    .tabela-parcelas td:last-child{
        z-index:2;
    }

    .tabela-parcelas thead th:last-child{
        z-index:3;
    }
}
