.nf-form{display:flex;flex-direction:column;gap:24px;}

.nf-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}

.nf-form-group{display:flex;flex-direction:column;gap:10px;}

.nf-form-group label{
    font-size:13px;
    font-weight:700;
    color:#64748b;
    margin-bottom:8px;
}

.nf-input,
.nf-select,
.nf-textarea,
input[type="date"],
input[type="number"],
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"]{

    width:100%;

    border:1px solid
    rgba(139,94,0,.14);

    background:#fffaf2;

    border-radius:14px;

    padding:0 16px;

    font-size:14px;

    color:#211404;

    outline:none;

    transition:.2s ease;

    box-shadow:none;

    font-family:'Inter',sans-serif;

    appearance:none;

    -webkit-appearance:none;
}

.nf-input,
.nf-select,
input[type="date"],
input[type="number"]{

    height:46px;
}

.nf-select{

    cursor:pointer;
}

.nf-textarea{

    min-height:120px;

    padding:14px 16px;

    resize:none;
}

.nf-input:hover,
.nf-select:hover,
.nf-textarea:hover,
input[type="date"]:hover,
input[type="number"]:hover{

    border-color:
    rgba(139,94,0,.28);
}

.nf-input:focus,
.nf-select:focus,
.nf-textarea:focus,
input[type="date"]:focus,
input[type="number"]:focus{

    border-color:#c89b2b;

    box-shadow:
    0 0 0 4px
    rgba(200,155,43,.12);

    background:#fffdf8;
}

.nf-input::placeholder,
.nf-select::placeholder,
.nf-textarea::placeholder,
input::placeholder{

    color:rgba(107,74,18,.42);

    font-weight:500;

    opacity:1;
}

.nf-form-actions{
    display:flex;
    justify-content:center;
    margin-top:6px;
}

.nf-btn{
    height:50px;
    border:none;
    border-radius:16px;
    padding:0 22px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:.2s ease;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-family:'Inter',sans-serif;
}

.nf-btn-primary{
    background:#2f5fe3;
    color:#fff;
}

.nf-btn-primary:hover{
    background:#244ed8;
    transform:translateY(-2px);
}

.nf-btn-secondary{
    background:#eef2ff;
    color:#2f5fe3;
}

.nf-btn-secondary:hover{
    background:#dbe4ff;
}

.nf-btn-danger{
    background:#fee2e2;
    color:#dc2626;
}

.nf-btn-danger:hover{
    background:#fecaca;
}

@media(max-width:768px){

    .nf-entry-layout{
        display:flex;
        flex-direction:column;
        gap:14px;
    }

    .nf-entry-row{
        display:contents;
    }

    .nf-form{
        display:flex;
        flex-direction:column;
    }

    .nf-mobile-order-1{order:1;}
    .nf-mobile-order-2{order:2;}
    .nf-mobile-order-3{order:3;}
    .nf-mobile-order-4{order:4;}
    .nf-mobile-order-5{order:5;}
    .nf-mobile-order-6{order:6;}
    .nf-mobile-order-7{order:7;}
    .nf-mobile-order-8{order:8;}
    .nf-mobile-order-9{order:9;}

    .nf-form-group{
        width:100%;
    }

    .nf-value-group{
        max-width:100%;
    }

}

.nf-entries-grid{grid-template-columns:repeat(7,1fr);align-items:end;}

.nf-table-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:20px;}

.nf-table-search{max-width:240px;}

.nf-table-wrapper{overflow:auto;}

.nf-table{width:100%;border-collapse:collapse;}

.nf-table thead th{
    background:#f8fafc;
    padding:16px;
    font-size:13px;
    font-weight:700;
    color:#fff;
    text-align:left;
    border-bottom:1px solid #e2e8f0;
}

.nf-table tbody td{
    padding:18px 16px;
    border-bottom:1px solid #eef2f7;
    font-size:14px;
    color:#0f172a;
    font-weight:500;
}

.nf-table tbody tr:hover{
    background:#f8fbff;
}

.nf-table-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.nf-action-btn{
    border:none;
    height:36px;
    padding:0 14px;
    border-radius:12px;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:.2s ease;
}

.nf-action-btn.edit{
    background:#eef2ff;
    color:#2f5fe3;
}

.nf-action-btn.edit:hover{
    background:#dbe4ff;
}

.nf-action-btn.delete{
    background:#fee2e2;
    color:#dc2626;
}

.nf-action-btn.delete:hover{
    background:#fecaca;
}

@media(max-width:1200px){

    .nf-entries-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .nf-entries-grid{
        grid-template-columns:1fr;
    }

    .nf-table-header{
        flex-direction:column;
        align-items:flex-start;
    }

    .nf-table-search{
        max-width:100%;
    }

}

.nf-hidden{
    display:none !important;
}

.nf-btn-primary{
    background:linear-gradient(135deg,#2f5fe3 0%,#244ed8 100%);
    color:#fff;
    min-width:220px;
    height:54px;
    border-radius:18px;
    font-size:15px;
    font-weight:700;
    box-shadow:0 10px 24px rgba(47,95,227,.18);
}

.nf-btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(47,95,227,.24);
}

.nf-status{
    padding:10px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.nf-status-check input{
    width:18px;
    height:18px;
    accent-color:#16a34a;
    cursor:pointer;
}

.nf-entry-layout{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.nf-entry-row{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:16px;
    align-items:end;
    justify-content:center;
}

.nf-value-group{
    max-width:260px;
}

.nf-form-actions{
    justify-content:center;
    margin-top:12px;
}

@media(max-width:1200px){

    .nf-entry-row{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .nf-entry-row{
        grid-template-columns:1fr;
    }

    .nf-value-group{
        max-width:100%;
    }

}

@media(max-width:768px){

    .nf-entry-layout{
        display:flex;
        flex-direction:column;
        gap:12px;
    }

    .nf-entry-row{
        display:flex;
        flex-direction:column;
        gap:12px;
    }

    .nf-mobile-order-1{order:1;}
    .nf-mobile-order-2{order:2;}
    .nf-mobile-order-3{order:3;}
    .nf-mobile-order-4{order:4;}
    .nf-mobile-order-5{order:5;}
    .nf-mobile-order-6{order:6;}
    .nf-mobile-order-7{order:7;}
    .nf-mobile-order-8{order:8;}
    .nf-mobile-order-9{order:9;}

}

input[type="date"]{
    appearance:none;
    -webkit-appearance:none;
    background:#fff;
}

/* ===== CAMPOS UNIFORMES ===== */

.nf-form-group input,
.nf-form-group select,
.nf-form-group textarea{
    width:100% !important;
    height:54px !important;
    border:1px solid #d9e2f2 !important;
    background:#fff !important;
    border-radius:18px !important;
    padding:0 18px !important;
    font-size:15px !important;
    color:#0f172a !important;
    outline:none !important;
    transition:.2s ease !important;
    box-shadow:none !important;
    font-family:'Inter',sans-serif !important;
    appearance:none !important;
    -webkit-appearance:none !important;
}

.nf-form-group textarea{
    min-height:120px !important;
    padding:18px !important;
    resize:none !important;
}

.nf-form-group input:focus,
.nf-form-group select:focus,
.nf-form-group textarea:focus{
    border-color:#2f5fe3 !important;
    box-shadow:0 0 0 4px rgba(47,95,227,.10) !important;
}

/* ===== MOBILE REAL ===== */

@media(max-width:768px){

    .nf-entry-layout{
        display:flex !important;
        flex-direction:column !important;
        gap:14px !important;
    }

    .nf-entry-row{
        display:flex !important;
        flex-direction:column !important;
        gap:14px !important;
    }

    .nf-mobile-order-1{order:1 !important;}
    .nf-mobile-order-2{order:2 !important;}
    .nf-mobile-order-3{order:3 !important;}
    .nf-mobile-order-4{order:4 !important;}
    .nf-mobile-order-5{order:5 !important;}
    .nf-mobile-order-6{order:6 !important;}
    .nf-mobile-order-7{order:7 !important;}
    .nf-mobile-order-8{order:8 !important;}
    .nf-mobile-order-9{order:9 !important;}

    .nf-form-group{
        width:100% !important;
    }

    .nf-value-group{
        max-width:100% !important;
    }

}

@media(max-width:768px){

    .nf-entry-layout{
        display:flex !important;
        flex-direction:column !important;
    }

    .nf-mobile-stack{
        display:contents !important;
    }

    .nf-form{
        display:flex !important;
        flex-direction:column !important;
        gap:14px !important;
    }

    .nf-mobile-order-1{order:1 !important;}
    .nf-mobile-order-2{order:2 !important;}
    .nf-mobile-order-3{order:3 !important;}
    .nf-mobile-order-4{order:4 !important;}
    .nf-mobile-order-5{order:5 !important;}
    .nf-mobile-order-6{order:6 !important;}
    .nf-mobile-order-7{order:7 !important;}
    .nf-mobile-order-8{order:8 !important;}
    .nf-mobile-order-9{order:9 !important;}

}

/* ===== TABLE ===== */

.nf-transactions-table-card{
    margin-top:24px;
}

.nf-table-header{
    margin-bottom:20px;
}

.nf-table-header h3{
    font-size:20px;
    font-weight:800;
    color:#0f172a;
    margin-bottom:4px;
}

.nf-table-header p{
    color:#64748b;
    font-size:14px;
}

.nf-table-wrapper{
    overflow:auto;
}

/* ===== TABLE PREMIUM ===== */

.nf-transactions-table-card{
    margin-top:24px;
}

.nf-table-header{
    margin-bottom:24px;
}

.nf-table-header h3{
    font-size:22px;
    font-weight:800;
    color:#0f172a;
    margin-bottom:6px;
}

.nf-table-header p{
    color:#64748b;
    font-size:14px;
}

.nf-table-wrapper{
    overflow:auto;
}

.nf-entries-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0 3px;
    min-width:1200px;
}

.nf-entries-table thead th{
    background:#2f5fe3;
    color:#fff !important;
    font-size:13px;
    font-weight:700;
    padding:12px 18px;
    border:none;
    text-align:center;
    vertical-align:middle;
    position:relative;
}

.nf-entries-table thead th:not(:last-child)::after{
    content:"|";
    position:absolute;
    right:-2px;
    color:rgba(255,255,255,.45);
}

.nf-entries-table thead th:first-child{
    border-radius:14px 0 0 14px;
}

.nf-entries-table thead th:last-child{
    border-radius:0 14px 14px 0;
}

.nf-entries-table tbody tr{
    background:#fff;
    box-shadow:0 2px 10px rgba(15,23,42,.03);
    border-radius:16px;
}

.nf-entries-table tbody td{
    padding:6px 18px;
    border:none;
    font-size:13px;
    color:#0f172a;
    vertical-align:middle;
    background:#fff;
}

.nf-entries-table tbody td:first-child{
    border-radius:18px 0 0 18px;
}

.nf-entries-table tbody td:last-child{
    border-radius:0 18px 18px 0;
}


.nf-category-badge{
    background:rgba(47,95,227,.10);
    color:#2f5fe3;
    padding:7px 12px;
    border-radius:999px;
    font-size:14px;
    font-weight:600;
    display:inline-flex;
    align-items:center;
}

.nf-money-positive{
    color:#16a34a;
    font-weight:700;
}

.nf-status{
    padding:7px 12px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.nf-status.success{
    background:rgba(34,197,94,.12);
    color:#16a34a;
}

.nf-status.warning{
    background:rgba(245,158,11,.12);
    color:#d97706;
}

.nf-status.danger{
    background:rgba(239,68,68,.12);
    color:#dc2626;
}

.nf-actions{
    display:flex;
    align-items:center;
    gap:8px;
}

#nfTransactionsPage
.nf-actions{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:6px;
}

#nfTransactionsPage
.nf-action-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:32px;

    min-height:32px;

    padding:4px;

    border:none !important;

    border-radius:8px;

    background:transparent !important;

    background-image:none !important;

    box-shadow:none !important;

    cursor:pointer;

    opacity:.88;

    transition:
    opacity .15s ease,
    transform .15s ease;

    -webkit-tap-highlight-color:
    transparent;
}

#nfTransactionsPage
.nf-action-icon{

    display:block;

    font-size:17px;

    line-height:1;
}

#nfTransactionsPage
.nf-action-btn:hover,
#nfTransactionsPage
.nf-action-btn:focus-visible{

    opacity:1;

    transform:scale(1.05);

    background:transparent !important;

    color:inherit !important;

    outline:none;

    box-shadow:none !important;
}

#nfTransactionsPage
.nf-action-btn:active{

    transform:scale(1);

    opacity:.95;
}

.nf-payment-check{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:13px;
    color:#64748b;
}

.nf-payment-check input{
    width:18px;
    height:18px;
    accent-color:#2f5fe3;
    cursor:pointer;
}

/* =========================================
   TOOLBAR NOVA PREMIUM
========================================= */

.nf-entry-toolbar{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(15,23,42,.05);
    margin-top:24px;
}

.nf-entry-toolbar-top{
    height:72px;
    background:linear-gradient(
        135deg,
        #2f5fe3,
        #315efb
    );
    color:#fff;
    display:flex;
    align-items:center;
    gap:16px;
    padding:0 24px;
}

.nf-entry-plus{
    width:38px;
    height:38px;
    border-radius:999px;
    background:#ffffff;
    color:#2f5fe3;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    font-weight:800;
    line-height:1;
    flex-shrink:0;
    margin-top:-1px;
}

.nf-entry-title{
    font-size:20px;
    font-weight:800;
    letter-spacing:-.3px;
}

.nf-entry-toolbar-labels{
    display:grid;

    grid-template-columns:
        1.15fr
        1.3fr
        .9fr
        1fr
        1fr
        1fr
        1fr
        .75fr;

    background:#2f5fe3;

    padding:10px 18px;

    align-items:center;

    gap:14px;
}

.nf-entry-toolbar-labels span{
    font-size:12px;
    font-weight:700;
    color:#fff;
    text-align:center;
    position:relative;
    white-space:nowrap;
}

.nf-entry-toolbar-labels span:not(:last-child)::after{
    content:"|";
    position:absolute;
    right:-10px;
    color:rgba(255,255,255,.45);
}

.nf-entry-toolbar-fields{
    display:grid;

    grid-template-columns:
        1.15fr
        1.3fr
        .9fr
        1fr
        1fr
        1fr
        1fr
        .75fr;

    gap:14px;

    padding:18px;

    align-items:start;

    background:#fff;
}

.nf-toolbar-field{
    display:flex;
    flex-direction:column;
    gap:8px;
    width:100%;
}

.nf-toolbar-subfield{
    width:100%;
    margin-top:6px;
}

.nf-entry-toolbar-fields input,
.nf-entry-toolbar-fields select{
    width:100%;
    height:48px !important;

    box-sizing:border-box;

    border:1px solid #dbe3f0 !important;
    border-radius:14px !important;

    background:#fff !important;

    padding:0 14px !important;

    font-size:14px !important;

    min-width:0;
}

.nf-toolbar-save{
    height:44px;
    border:none;
    border-radius:12px;
    background:#2f5fe3;
    color:#fff;
    padding:0 18px;
    font-size:13px;
    font-weight:700;
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    transition:.2s ease;
}

.nf-toolbar-save:hover{
    background:#244ed8;
    transform:translateY(-1px);
}

@media(max-width:768px){

    .nf-entry-toolbar-labels{
        display:none;
    }

    .nf-entry-toolbar-fields{
        grid-template-columns:1fr;
    }

    .nf-toolbar-save{
        width:100%;
        justify-content:center;
    }

}

.nf-page-header{
    margin-bottom:24px;
}

.nf-page-header + .nf-card{
    margin-top:0 !important;
}

.nf-page-header{
    margin-bottom:18px;
}

.nf-card{
    padding:0;
    background:transparent;
    box-shadow:none;
}

.nf-hidden{
    display:none !important;
}

.nf-payment-check{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:22px;
}

.nf-payment-check span{
    font-size:13px;
    font-weight:600;
    color:#0f172a;
}

.nf-toolbar-field{
    display:flex;
    flex-direction:column;
    gap:8px;
    width:100%;
    min-width:0;
    overflow:hidden;
}
.nf-toolbar-subfield{
    width:100%;
}

.nf-hidden{
    display:none !important;
}

.nf-toolbar-field > .nf-select,
.nf-toolbar-field > .nf-input{
    width:100%;
    min-width:0;
}

@media(max-width:768px){

    .nf-entry-toolbar-labels{
        display:none;
    }

    #nf-money-input::placeholder{
        color:transparent;
    }

}

@media(max-width:768px){

    .nf-entry-toolbar-labels{
        display:none;
    }

    .nf-toolbar-field{
        position:relative;
        padding-top:18px;
    }

    .nf-toolbar-field::before{
        position:absolute;
        top:0;
        left:2px;

        font-size:11px;
        font-weight:700;

        color:#64748b;

        letter-spacing:.2px;
    }

    /* CATEGORIA */

    .nf-entry-toolbar-fields
    .nf-toolbar-field:nth-child(1)::before{
        content:'Categoria';
    }

    /* OBSERVAÇÃO */

    .nf-entry-toolbar-fields
    .nf-toolbar-field:nth-child(2)::before{
        content:'Observação';
    }

    /* VALOR */

    .nf-entry-toolbar-fields
    .nf-toolbar-field:nth-child(3)::before{
        content:'Valor';
    }

    /* FORMA */

    .nf-entry-toolbar-fields
    .nf-toolbar-field:nth-child(4)::before{
        content:'Forma';
    }

    /* TIPO */

    .nf-entry-toolbar-fields
    .nf-toolbar-field:nth-child(5)::before{
        content:'Tipo';
    }

    /* VENCIMENTO */

    .nf-entry-toolbar-fields
    .nf-toolbar-field:nth-child(6)::before{
        content:'Vencimento';
    }

    /* PAGAMENTO */

    .nf-entry-toolbar-fields
    .nf-toolbar-field:nth-child(7)::before{
        content:'Pagamento';
    }

}

/* =========================================
   ENTRADAS - TEMA VERDE
========================================= */

.nf-page-entries .nf-entry-toolbar-top{
    background:linear-gradient(
        135deg,
        #16a34a,
        #22c55e
    );
}

.nf-page-entries .nf-entry-plus{
    color:#16a34a;
}

.nf-page-entries .nf-toolbar-save{
    background:#16a34a;
}

.nf-page-entries .nf-toolbar-save:hover{
    background:#15803d;
}

.nf-page-entries .nf-money-positive{
    color:#16a34a;
}

.nf-page-entries .nf-entry-toolbar-labels{
    background:#16a34a;
}

.nf-page-entries .nf-entries-table thead tr{
    background:#16a34a;
}

.nf-page-entries .nf-status.success{
    background:#dcfce7;
    color:#166534;
}

.nf-page-entries .nf-status.warning{
    background:#fef9c3;
    color:#854d0e;
}

.nf-page-entries .nf-status.danger{
    background:#fee2e2;
    color:#991b1b;
}

/* =========================================
   TABELA ENTRADAS VERDE
========================================= */

.nf-page-entries .nf-entries-table thead{
    background:#16a34a !important;
}

.nf-page-entries .nf-entries-table thead tr{
    background:#16a34a !important;
}

.nf-page-entries .nf-entries-table thead th{
    background:#16a34a !important;
    color:#fff !important;
}

/* CHECKBOX VERDE */

.nf-page-entries
.nf-payment-checkbox{
    accent-color:#16a34a;
}

/* =========================================
   SAÍDAS - TEMA VERMELHO
========================================= */

.nf-page-expenses .nf-entry-toolbar-top{
    background:
    linear-gradient(
        135deg,
        #dc2626,
        #ef4444
    );
}

.nf-page-expenses .nf-entry-plus{
    color:#dc2626;
}

.nf-page-expenses .nf-toolbar-save{
    background:#dc2626;
}

.nf-page-expenses .nf-toolbar-save:hover{
    background:#b91c1c;
}

.nf-page-expenses .nf-category-badge{
    background:#fee2e2;
    color:#991b1b;
}

.nf-page-expenses .nf-money-positive{
    color:#dc2626;
}

.nf-page-expenses .nf-entry-toolbar-labels{
    background:#dc2626;
}

.nf-page-expenses
.nf-entries-table thead th{
    background:#dc2626 !important;
    color:#fff !important;
}

.nf-page-expenses
.nf-payment-checkbox{
    accent-color:#dc2626;
}

/* =========================================
   TYPE SWITCH — componente único Nexden
   (Categorias = referência oficial)

   Origem do rosa: Hello Elementor reset.css
   button:focus, button:hover {
     background-color: #c36;
     color: #fff;
   }
   Vence sem !important em Transações/Modal.
   Categorias vencia com #nfCategoriesPage … !important.
========================================= */

#nfTransactionsPage
.nf-transactions-sticky-sentinel{

    height:1px;

    margin:0;

    padding:0;

    pointer-events:none;
}

#nfTransactionsPage
.nf-transactions-sticky-bar{

    position:sticky;

    top:0;

    z-index:40;

    margin:0 0 14px;

    padding:10px 0 12px;

    background:#f8f3ea;

    transition:
    box-shadow .2s ease,
    border-color .2s ease;
}

#nfTransactionsPage
.nf-transactions-sticky-bar.is-stuck{

    box-shadow:
    0 8px 24px
    rgba(18,11,2,.08);

    border-bottom:1px solid
    rgba(139,94,0,.1);
}

#nfTransactionsPage
.nf-transactions-sticky-bar
.nf-transactions-tabs-row{

    margin-bottom:0;
}

#nfTransactionsPage
.nf-transactions-tabs-row,
#nfCategoriesPage
.nf-categories-type-tabs.nf-transactions-tabs-row{

    display:flex;

    justify-content:center;

    margin-bottom:14px;
}

#nfCategoriesPage
.nf-categories-type-tabs.nf-transactions-tabs-row{

    justify-content:flex-start;

    margin-bottom:0;
}

#nfRegisterCategoriasPanel
.nf-categories-type-tabs
.nf-transactions-switch{

    padding:4px;

    min-width:308px;

    width:308px;

    justify-content:center;
}

.nf-app
.nf-transactions-switch{

    position:relative;

    display:flex;

    align-items:center;

    gap:8px;

    background:#efe8dc;

    padding:8px;

    border-radius:20px;

    width:max-content;

    margin:0;
}

.nf-app
.nf-transactions-switch
.nf-transaction-tab{

    position:relative;

    z-index:1;
}

.nf-app
.nf-transactions-switch
.nf-transactions-switch-icon{

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    pointer-events:none;

    z-index:3;

    line-height:0;
}

.nf-app
.nf-transactions-switch
.nf-switch-icon-img{

    display:block;

    width:35px;

    height:35px;

    opacity:1;

    background-color:#16a34a;

    -webkit-mask-image:var(--nf-switch-icon-url);

    mask-image:var(--nf-switch-icon-url);

    -webkit-mask-size:contain;

    mask-size:contain;

    -webkit-mask-repeat:no-repeat;

    mask-repeat:no-repeat;

    -webkit-mask-position:center;

    mask-position:center;

    transform:scaleX(1);

    transition:all .25s ease;
}

.nf-app
.nf-transactions-switch:has(
    .nf-transaction-tab[data-type="receita"].active
)
.nf-switch-icon-img{

    background-color:#16a34a;

    opacity:1;

    transform:scaleX(1);
}

.nf-app
.nf-transactions-switch:has(
    .nf-transaction-tab[data-type="despesa"].active
)
.nf-switch-icon-img{

    background-color:#dc2626;

    opacity:1;

    transform:scaleX(-1);
}

.nf-app
.nf-transactions-switch
.nf-transaction-tab,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab{

    border:none !important;

    background-color:transparent !important;

    background-image:none !important;

    color:#6b5840 !important;

    height:44px;

    min-width:138px;

    min-height:44px;

    padding:0 24px;

    border-radius:inherit;

    font-size:14px;

    font-weight:600;

    font-family:'Inter',sans-serif;

    cursor:pointer;

    transition:.25s ease;

    outline:none !important;

    box-shadow:none !important;

    -webkit-tap-highlight-color:
    transparent !important;

    appearance:none !important;

    -webkit-appearance:none !important;
}

.nf-app
.nf-transactions-switch
.nf-transaction-tab:hover:not(.active),
.nf-app
.nf-transactions-switch
button.nf-transaction-tab:hover:not(.active){

    background:#e6dccb !important;

    background-color:#e6dccb !important;

    color:#6b5840 !important;

    border-radius:inherit !important;
}

.nf-app
.nf-transactions-switch
.nf-transaction-tab:focus:not(.active),
.nf-app
.nf-transactions-switch
.nf-transaction-tab:focus-visible:not(.active),
.nf-app
.nf-transactions-switch
button.nf-transaction-tab:focus:not(.active),
.nf-app
.nf-transactions-switch
button.nf-transaction-tab:focus-visible:not(.active){

    background:transparent !important;

    background-color:transparent !important;

    color:#6b5840 !important;

    box-shadow:none !important;

    border:none !important;
}

.nf-app
.nf-transactions-switch
.nf-transaction-tab.active,
.nf-app
.nf-transactions-switch
.nf-transaction-tab.active:hover,
.nf-app
.nf-transactions-switch
.nf-transaction-tab.active:focus,
.nf-app
.nf-transactions-switch
.nf-transaction-tab.active:focus-visible,
.nf-app
.nf-transactions-switch
.nf-transaction-tab.active:active,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab.active,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab.active:hover,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab.active:focus,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab.active:focus-visible,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab.active:active{

    background:#16a34a !important;

    background-color:#16a34a !important;

    color:#ffffff !important;

    box-shadow:none !important;

    border:none !important;

    border-radius:inherit !important;
}

.nf-app
.nf-transactions-switch
.nf-transaction-tab[data-type="despesa"].active,
.nf-app
.nf-transactions-switch
.nf-transaction-tab[data-type="despesa"].active:hover,
.nf-app
.nf-transactions-switch
.nf-transaction-tab[data-type="despesa"].active:focus,
.nf-app
.nf-transactions-switch
.nf-transaction-tab[data-type="despesa"].active:focus-visible,
.nf-app
.nf-transactions-switch
.nf-transaction-tab[data-type="despesa"].active:active,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab[data-type="despesa"].active,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab[data-type="despesa"].active:hover,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab[data-type="despesa"].active:focus,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab[data-type="despesa"].active:focus-visible,
.nf-app
.nf-transactions-switch
button.nf-transaction-tab[data-type="despesa"].active:active{

    background:#dc2626 !important;

    background-color:#dc2626 !important;

    color:#ffffff !important;

    border-radius:inherit !important;
}

#nfTransactionsPage
.nf-period-controls-row{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:12px;

    flex-wrap:wrap;

    width:100%;
}

#nfTransactionsPage
.nf-period-controls-start{

    display:flex;

    align-items:center;

    justify-self:start;

    min-width:0;
}

#nfTransactionsPage
.nf-transactions-actions-bar{

    display:flex;

    align-items:center;

    gap:10px;

    flex-wrap:wrap;
}

#nfTransactionsPage
.nf-transactions-actions-start{

    display:flex;

    align-items:center;

    gap:10px;

    flex-wrap:wrap;
}

#nfTransactionsPage
.nf-transactions-actions-bar
.nf-secondary-btn,
#nfTransactionsPage
.nf-transactions-actions-bar
.nf-danger-btn{

    height:44px;

    min-height:44px;

    padding:0 18px;

    font-size:14px;

    font-family:'Inter',sans-serif;

    border-radius:14px;

    cursor:pointer;
}

#nfTransactionsPage
.nf-transactions-actions-bar
.nf-secondary-btn{

    border:1px solid
    rgba(139,94,0,.14);

    background:#efe7d7;

    color:#211404;

    font-weight:700;
}

#nfTransactionsPage
.nf-transactions-actions-bar
.nf-secondary-btn:hover{

    background:#e8d8b7;
}

#nfTransactionsPage
.nf-transactions-actions-bar
.nf-danger-btn{

    border:none;

    font-weight:700;

    background:#dc2626;

    color:#fff;

    box-shadow:
    0 10px 24px
    rgba(220,38,38,.28);
}

#nfTransactionsPage
.nf-transactions-actions-bar
.nf-danger-btn:hover{

    background:#b91c1c;
}

#nfTransactionsPage
.nf-selection-hint{

    font-size:14px;

    font-weight:600;

    color:#6b5840;

    white-space:nowrap;
}

#nfTransactionsPage
.nf-transactions-table-card{

    position:relative;
}

#nfTransactionsPage
.nf-transactions-table-wrap{

    position:relative;
}

#nfTransactionsPage
.nf-transactions-table-wrap
.nf-selection-overlay{

    position:absolute;

    inset:0;

    z-index:4;

    background:rgba(248,243,234,.52);

    backdrop-filter:blur(2px);

    -webkit-backdrop-filter:blur(2px);

    pointer-events:none;

    border-radius:16px;
}

#nfTransactionsPage.nf-transactions-selection-mode
.nf-selection-surface,
#nfTransactionsPage.nf-transactions-selection-mode
.nf-selection-toolbar,
#nfTransactionsPage.nf-transactions-selection-mode
.nf-period-toolbar{

    position:relative;

    z-index:6;
}

#nfTransactionsPage.nf-transactions-selection-mode
.nf-transactions-tabs-row,
#nfTransactionsPage.nf-transactions-selection-mode
.nf-period-year-nav,
#nfTransactionsPage.nf-transactions-selection-mode
.nf-period-months,
#nfTransactionsPage.nf-transactions-selection-mode
.nf-period-mobile-month,
#nfTransactionsPage.nf-transactions-selection-mode
.nf-period-summary{

    pointer-events:none;
}

#nfTransactionsPage
.nf-entries-table.nf-transactions-select-mode
thead{

    pointer-events:none;
}

#nfTransactionsPage
.nf-entries-table.nf-transactions-select-mode
.nf-payment-options,
#nfTransactionsPage
.nf-entries-table.nf-transactions-select-mode
.nf-installment-trigger,
#nfTransactionsPage
.nf-entries-table.nf-transactions-select-mode
.nf-invoice-pay-btn{

    pointer-events:none;
}

#nfTransactionsPage
.nf-transaction-select-cell{

    width:40px;

    padding:6px 8px 6px 14px;

    vertical-align:middle;

    white-space:nowrap;
}

#nfTransactionsPage
.nf-transaction-select-cell--empty{

    padding:6px 8px;
}

#nfTransactionsPage
.nf-th-select{

    width:40px;

    padding:0 8px;
}

#nfTransactionsPage
.nf-transaction-row__select{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;
}

#nfTransactionsPage
.nf-transaction-row__select
input{

    position:absolute;

    opacity:0;

    width:0;

    height:0;
}

#nfTransactionsPage
.nf-transaction-row__select
span{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:18px;

    height:18px;

    border:2px solid
    rgba(43,22,0,.28);

    border-radius:5px;

    background:#fff;

    transition:
    border-color .15s ease,
    background .15s ease,
    box-shadow .15s ease;
}

#nfTransactionsPage
.nf-transaction-row__select
input:checked + span{

    background:#2b1600;

    border-color:#2b1600;

    box-shadow:
    0 0 0 2px
    rgba(243,211,138,.35);
}

#nfTransactionsPage
.nf-transaction-row__select
input:checked + span::after{

    content:"";

    width:4px;

    height:7px;

    border-right:2px solid #f6d58a;

    border-bottom:2px solid #f6d58a;

    transform:rotate(45deg) translateY(-1px);
}

#nfTransactionsPage
.nf-entries-table.nf-transactions-select-mode
tbody
tr[data-transaction-id]{

    cursor:pointer;
}

#nfTransactionsPage
.nf-entries-table
tr[data-transaction-id].is-selected
td{

    box-shadow:inset 0 0 0 2px #f3d38a;

    background-image:linear-gradient(
    180deg,
    rgba(243,211,138,.08),
    rgba(243,211,138,.04)
    );
}


#nfTransactionsPage
.nf-period-summary{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:12px;

    margin-bottom:16px;
}

#nfTransactionsPage
.nf-period-summary-card{

    padding:14px 18px;

    border-radius:14px;

    background:linear-gradient(
    180deg,
    #fffdf8 0%,
    #f8f1e4 100%
    );

    border:1px solid
    rgba(139,94,0,.10);

    box-shadow:
    0 8px 24px
    rgba(18,11,2,.04);
}

#nfTransactionsPage
.nf-period-summary-label{

    display:block;

    margin-bottom:6px;

    font-size:11px;

    font-weight:700;

    letter-spacing:.05em;

    text-transform:uppercase;

    color:#8b5e00;
}

#nfTransactionsPage
.nf-period-summary-value{

    display:block;

    font-size:20px;

    font-weight:800;

    color:#211404;

    line-height:1.15;
}

#nfTransactionsPage
.nf-period-stat-pending{

    color:#854d0e;
}

#nfTransactionsPage.nf-page-expenses
.nf-period-stat-pending,
.nf-page-expenses
#nfTransactionsPage
.nf-period-stat-pending{

    color:#991b1b;
}

#nfTransactionsPage
.nf-btn-new-transaction,
#nfCategoriesPage
.nf-btn-new-transaction{

    border:none;

    border-radius:14px;

    min-height:42px;

    padding:0 18px;

    font-size:14px;

    font-weight:800;

    font-family:'Inter',sans-serif;

    cursor:pointer;

    transition:.2s ease;

    color:#ffffff;

    white-space:nowrap;
}

#nfTransactionsPage
.nf-btn-new-receita{

    background:#16a34a;

    box-shadow:
    0 8px 20px
    rgba(22,163,74,.22);
}

#nfTransactionsPage
.nf-btn-new-receita:hover{

    background:#15803d;

    transform:translateY(-1px);
}

#nfTransactionsPage
.nf-btn-new-despesa{

    background:#dc2626;

    box-shadow:
    0 8px 20px
    rgba(220,38,38,.22);
}

#nfTransactionsPage
.nf-btn-new-despesa:hover{

    background:#b91c1c;

    transform:translateY(-1px);
}

#nfCategoriesPage
.nf-btn-new-transaction:focus,
#nfCategoriesPage
.nf-btn-new-transaction:focus-visible{

    outline:none !important;
}

/* =========================================
   BADGES — TABELA TRANSAÇÕES
========================================= */

#nfTransactionsPage
.nf-transaction-status{

    min-width:88px;

    letter-spacing:.02em;

    white-space:nowrap;
}

.nf-page-entries
.nf-transaction-status.nf-badge-success{

    background:#dcfce7;

    color:#166534;
}

.nf-page-entries
.nf-transaction-status.nf-badge-warning{

    background:#fef9c3;

    color:#854d0e;
}

.nf-page-entries
.nf-transaction-status.nf-badge-danger{

    background:#fee2e2;

    color:#991b1b;
}

.nf-page-expenses
.nf-transaction-status.nf-badge-success{

    background:#dcfce7;

    color:#166534;
}

.nf-page-expenses
.nf-transaction-status.nf-badge-warning{

    background:#fef9c3;

    color:#854d0e;
}

.nf-page-expenses
.nf-transaction-status.nf-badge-danger{

    background:#fee2e2;

    color:#991b1b;
}

/* =========================================
   MODAL EDITAR TRANSAÇÃO — NEXDEN
========================================= */

#nfTransactionEditModal{

    padding:16px;
}

#nfTransactionEditModal
.nf-modal-content{

    max-width:640px;

    border:1px solid
    rgba(139,94,0,.14);

    box-shadow:
    0 24px 64px
    rgba(18,11,2,.16);
}

#nfTransactionEditModal
.nf-modal-body
.nf-grid-2{

    gap:16px 18px;
}

#nfTransactionEditModal
.nf-label{

    display:block;

    margin-bottom:8px;

    font-size:12px;

    font-weight:700;

    color:#8b5e00;

    letter-spacing:.03em;

    text-transform:uppercase;
}

#nfTransactionEditModal
.nf-input,
#nfTransactionEditModal
.nf-select{

    border:1px solid
    rgba(139,94,0,.14) !important;

    background:#fffaf2 !important;

    color:#211404 !important;

    border-radius:14px !important;
}

#nfTransactionEditModal
.nf-input:hover,
#nfTransactionEditModal
.nf-select:hover{

    border-color:
    rgba(139,94,0,.28) !important;
}

#nfTransactionEditModal
.nf-input:focus,
#nfTransactionEditModal
.nf-select:focus{

    outline:none !important;

    border-color:#c89b2b !important;

    box-shadow:
    0 0 0 4px
    rgba(200,155,43,.12) !important;

    background:#fffdf8 !important;
}

#nfTransactionEditModal
.nf-modal-footer{

    flex-wrap:wrap;

    margin-top:20px;

    padding-top:20px;

    border-top:1px solid
    rgba(139,94,0,.10);
}

#nfTransactionEditModal
.nf-btn-primary,
#nfTransactionEditModal
#nfSaveTransactionEdit{

    background:#211404 !important;

    color:#f3d38a !important;

    border:none !important;

    min-height:46px;

    padding:0 22px !important;

    border-radius:14px !important;

    font-weight:800 !important;

    box-shadow:
    0 10px 24px
    rgba(18,11,2,.14) !important;
}

#nfTransactionEditModal
.nf-btn-primary:hover,
#nfTransactionEditModal
#nfSaveTransactionEdit:hover{

    background:#f3d38a !important;

    color:#211404 !important;

    transform:translateY(-2px);
}

#nfTransactionEditModal
.nf-btn-secondary,
#nfTransactionEditModal
#nfCancelTransactionEdit{

    background:#efe7d7 !important;

    color:#8b5e00 !important;

    border:none !important;

    min-height:46px;

    padding:0 22px !important;

    border-radius:14px !important;

    font-weight:700 !important;
}

#nfTransactionEditModal
.nf-btn-secondary:hover,
#nfTransactionEditModal
#nfCancelTransactionEdit:hover{

    background:#e8d8b7 !important;

    color:#211404 !important;

    transform:translateY(-2px);
}

#nfTransactionEditModal
button,
#nfTransactionEditModal
button:hover,
#nfTransactionEditModal
button:focus,
#nfTransactionEditModal
button:active,
#nfTransactionEditModal
button:focus-visible{

    background-image:none !important;

    -webkit-tap-highlight-color:
    transparent !important;
}

#nfTransactionEditModal
.nf-btn-primary:focus,
#nfTransactionEditModal
.nf-btn-primary:active,
#nfTransactionEditModal
#nfSaveTransactionEdit:focus,
#nfTransactionEditModal
#nfSaveTransactionEdit:active{

    background:#211404 !important;

    color:#f3d38a !important;

    outline:none !important;

    box-shadow:
    0 0 0 4px
    rgba(200,155,43,.15) !important;
}

#nfTransactionEditModal
.nf-btn-secondary:focus,
#nfTransactionEditModal
.nf-btn-secondary:active,
#nfTransactionEditModal
#nfCancelTransactionEdit:focus,
#nfTransactionEditModal
#nfCancelTransactionEdit:active{

    background:#e8d8b7 !important;

    color:#211404 !important;

    outline:none !important;

    box-shadow:
    0 0 0 4px
    rgba(200,155,43,.10) !important;
}

#nfTransactionDeleteScopeModal
.nf-modal-content,
#nfTransactionEditScopeModal
.nf-modal-content{

    max-width:520px;

    border:1px solid
    rgba(139,94,0,.14);
}

#nfTransactionDeleteScopeModal
.nf-scope-modal-actions,
#nfTransactionEditScopeModal
.nf-scope-modal-actions{

    display:flex;

    flex-direction:column;

    gap:10px;
}

#nfTransactionDeleteScopeModal
.nf-scope-modal-actions
.nf-btn,
#nfTransactionEditScopeModal
.nf-scope-modal-actions
.nf-btn{

    width:100%;

    justify-content:center;
}

@media(max-width:768px){

    #nfTransactionEditModal{

        padding:12px;

        align-items:flex-end;
    }

    #nfTransactionEditModal
    .nf-modal-content{

        max-height:92vh;

        overflow-y:auto;

        border-radius:22px 22px 0 0;
    }

    #nfTransactionEditModal
    .nf-modal-footer{

        flex-direction:column-reverse;

        gap:10px;
    }

    #nfTransactionEditModal
    .nf-modal-footer
    .nf-btn{

        width:100%;
    }

}

/* =========================================
   PERÍODO — ANO / MÊS / RESUMO
========================================= */

#nfTransactionsPage
.nf-transactions-table-card{

    margin-top:4px;
}

#nfTransactionsPage
.nf-period-toolbar{

    display:flex;

    flex-direction:column;

    gap:10px;

    margin-bottom:12px;

    padding-bottom:10px;

    border-bottom:1px solid
    rgba(139,94,0,.10);
}

#nfTransactionsPage
.nf-period-year-nav{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:4px;

    justify-self:end;

    min-width:0;
}

#nfTransactionsPage
.nf-period-year-arrow{

    width:auto;

    min-width:28px;

    height:auto;

    padding:4px 6px;

    border:none;

    border-radius:0;

    background:transparent;

    color:#8b5e00;

    font-size:22px;

    font-weight:900;

    line-height:1;

    cursor:pointer;

    transition:
    color .2s ease,
    transform .2s ease;

    font-family:'Inter',sans-serif;

    letter-spacing:-.08em;

    box-shadow:none;
}

#nfTransactionsPage
.nf-period-year-arrow:hover{

    background:transparent;

    color:#211404;

    transform:scale(1.08);
}

#nfTransactionsPage
.nf-period-year-list{

    display:flex;

    align-items:baseline;

    gap:4px;
}

#nfTransactionsPage
.nf-period-year-btn{

    min-width:56px;

    height:auto;

    padding:6px 10px;

    border:none;

    border-radius:10px;

    background:transparent;

    color:#8b7355;

    font-size:14px;

    font-weight:700;

    cursor:pointer;

    transition:.2s ease;

    font-family:'Inter',sans-serif;

    transform:scale(1);

    transform-origin:center center;
}

#nfTransactionsPage
.nf-period-year-btn:hover{

    background:#f5efe3;

    color:#211404;
}

#nfTransactionsPage
.nf-period-year-btn.is-active{

    background:#211404;

    color:#f3d38a;

    font-size:15px;

    font-weight:800;

    padding:6px 12px;

    transform:scale(1.03);

    box-shadow:
    0 3px 10px
    rgba(18,11,2,.12);

    border:1px solid
    rgba(139,94,0,.22);
}

#nfTransactionsPage
.nf-period-months{

    display:flex;

    flex-wrap:wrap;

    gap:8px 12px;

    justify-content:center;
}

#nfTransactionsPage
.nf-period-mobile-month{

    display:none;

    position:relative;

    width:100%;

    max-width:100%;
}

#nfTransactionsPage
.nf-entries-table
.nf-th-filterable{

    position:relative;

    vertical-align:middle;

    padding:8px 6px;
}

#nfTransactionsPage
.nf-th-filter-btn{

    display:inline-flex;

    align-items:center;

    gap:4px;

    width:100%;

    padding:4px 6px;

    border:none;

    border-radius:8px;

    background:transparent;

    color:inherit;

    font:inherit;

    font-weight:700;

    cursor:pointer;

    text-align:left;

    transition:.15s ease;

    font-family:'Inter',sans-serif;
}

#nfTransactionsPage
.nf-th-filter-btn:hover,
#nfTransactionsPage
.nf-th-filter-btn.is-active{

    background:rgba(243,211,138,.35);

    color:#211404;
}

#nfTransactionsPage
.nf-th-filter-caret{

    display:inline-block;

    width:0;

    height:0;

    margin-left:2px;

    border-left:4px solid transparent;

    border-right:4px solid transparent;

    border-top:5px solid currentColor;

    opacity:.75;
}

#nfTransactionsPage
.nf-th-filter-menu{

    position:absolute;

    top:calc(100% + 4px);

    left:0;

    z-index:50;

    min-width:160px;

    max-width:220px;

    max-height:280px;

    overflow-y:auto;

    padding:6px;

    border-radius:12px;

    background:#fffdf8;

    border:1px solid
    rgba(139,94,0,.14);

    box-shadow:
    0 12px 32px
    rgba(18,11,2,.14);
}

#nfTransactionsPage
.nf-th-filter-divider{

    padding:6px 10px 4px;

    font-size:10px;

    font-weight:800;

    letter-spacing:.06em;

    text-transform:uppercase;

    color:#8b5e00;
}

#nfTransactionsPage
.nf-th-filter-option{

    display:block;

    width:100%;

    padding:8px 10px;

    border:none;

    border-radius:8px;

    background:transparent;

    color:#211404;

    font-size:13px;

    font-weight:600;

    text-align:left;

    cursor:pointer;

    font-family:'Inter',sans-serif;

    transition:.12s ease;
}

#nfTransactionsPage
.nf-th-filter-option:hover{

    background:#efe7d7;

    color:#211404;
}

#nfTransactionsPage
.nf-th-actions{

    white-space:nowrap;

    text-align:center;
}

#nfTransactionsPage
.nf-entries-table
td:last-child{

    text-align:center;
}

#nfTransactionsPage
.nf-period-month-btn{

    position:relative;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:40px;

    min-height:30px;

    padding:5px 11px 4px;

    border:1px solid
    rgba(139,94,0,.14);

    border-radius:999px;

    background:#fffdf8;

    color:#6b4a12;

    font-size:14px;

    font-weight:700;

    cursor:pointer;

    transition:.2s ease;

    font-family:'Inter',sans-serif;

    letter-spacing:.01em;

    overflow:visible;
}

#nfTransactionsPage
.nf-period-month-btn:hover{

    background:#f5efe3;

    color:#211404;

    border-color:
    rgba(139,94,0,.22);
}

#nfTransactionsPage
.nf-period-month-btn.is-active{

    background:#211404;

    color:#f3d38a;

    font-size:14px;

    font-weight:800;

    padding:6px 12px 5px;

    min-height:32px;

    border-color:#211404;

    box-shadow:
    0 3px 10px
    rgba(18,11,2,.12);
}

#nfTransactionsPage
.nf-month-label{

    display:block;

    line-height:1.1;
}

#nfTransactionsPage
.nf-month-count.is-empty{

    display:none;
}

#nfTransactionsPage
.nf-month-count{

    position:absolute;

    top:-5px;

    right:-4px;

    z-index:2;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:18px;

    height:18px;

    padding:0 5px;

    border-radius:999px;

    font-size:10px;

    font-weight:800;

    line-height:1;

    color:#ffffff;

    border:2px solid #fffdf8;

    box-shadow:
    0 2px 6px
    rgba(18,11,2,.12);

    pointer-events:none;
}

#nfTransactionsPage.nf-page-entries
.nf-month-count,
.nf-page-entries
#nfTransactionsPage
.nf-month-count{

    background:#16a34a;
}

#nfTransactionsPage.nf-page-expenses
.nf-month-count,
.nf-page-expenses
#nfTransactionsPage
.nf-month-count{

    background:#dc2626;
}

#nfTransactionsPage
.nf-period-month-btn.is-active
.nf-month-count{

    border-color:#211404;
}

#nfTransactionsPage
.nf-period-mobile-month-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    width:100%;

    max-width:280px;

    margin:0 auto;

    min-height:40px;

    padding:0 16px;

    border:1px solid
    rgba(139,94,0,.14);

    border-radius:14px;

    background:#fffdf8;

    color:#211404;

    font-size:14px;

    font-weight:800;

    font-family:'Inter',sans-serif;

    cursor:pointer;

    transition:.2s ease;
}

#nfTransactionsPage
.nf-period-mobile-month-btn:hover{

    background:#f5efe3;

    border-color:
    rgba(139,94,0,.22);
}

#nfTransactionsPage
.nf-period-mobile-month-chevron{

    width:0;

    height:0;

    border-left:5px solid transparent;

    border-right:5px solid transparent;

    border-top:6px solid #8b5e00;
}

#nfTransactionsPage
.nf-period-mobile-panel{

    position:absolute;

    left:50%;

    z-index:40;

    width:min(100%,360px);

    margin-top:8px;

    padding:12px;

    border-radius:16px;

    background:#fffdf8;

    border:1px solid
    rgba(139,94,0,.12);

    box-shadow:
    0 16px 40px
    rgba(18,11,2,.14);

    transform:translateX(-50%);
}

#nfTransactionsPage
.nf-period-mobile-grid{

    display:grid;

    grid-template-columns:repeat(6,minmax(0,1fr));

    gap:8px;
}

#nfTransactionsPage
.nf-period-mobile-grid
.nf-period-month-btn{

    width:100%;

    min-width:0;

    padding:8px 4px 6px;

    font-size:12px;
}

#nfTransactionsPage
.nf-period-mobile-grid
.nf-month-count{

    min-width:16px;

    height:16px;

    font-size:9px;

    top:-4px;

    right:-2px;
}

/* =========================================
   PARCELA — TOOLTIP
========================================= */

#nfTransactionsPage
.nf-installment-trigger{

    cursor:help;

    border-bottom:1px dotted
    rgba(139,94,0,.35);

    outline:none;
}

#nfTransactionsPage
.nf-installment-trigger:focus-visible{

    border-bottom-color:#c89b2b;

    box-shadow:
    0 0 0 2px
    rgba(200,155,43,.25);
}

.nf-installment-tooltip-portal{

    position:fixed;

    z-index:99999;

    width:max-content;

    max-width:min(240px,calc(100vw - 24px));

    padding:10px 12px;

    border-radius:12px;

    background:#211404;

    color:#f8f1e4;

    font-size:11px;

    font-weight:600;

    line-height:1.45;

    text-align:left;

    pointer-events:none;

    opacity:0;

    visibility:hidden;

    transition:
    opacity .15s ease,
    visibility .15s ease;

    box-shadow:
    0 16px 40px
    rgba(18,11,2,.28);
}

.nf-installment-tooltip-portal.is-visible{

    opacity:1;

    visibility:visible;
}

.nf-installment-tooltip-portal
strong{

    display:block;

    margin-top:4px;

    margin-bottom:8px;

    color:#f3d38a;

    font-weight:800;

    font-size:12px;
}

.nf-installment-tooltip-portal
strong:last-child{

    margin-bottom:0;
}

.nf-installment-tooltip-portal
.nf-installment-tooltip-line{

    display:block;
}

@media(max-width:768px){

    #nfTransactionsPage
    .nf-transactions-tabs-row{

        margin-bottom:18px;
    }

    #nfTransactionsPage
    .nf-period-controls-row{

        flex-direction:column;

        align-items:stretch;

        gap:12px;
    }

    #nfTransactionsPage
    .nf-period-controls-start,
    #nfTransactionsPage
    .nf-period-year-nav{

        width:100%;

        justify-content:center;
    }

    #nfTransactionsPage
    .nf-btn-new-transaction{

        width:100%;

        max-width:320px;
    }

    #nfTransactionsPage
    .nf-period-summary-value{

        font-size:17px;
    }

    #nfTransactionsPage
    .nf-period-toolbar{

        gap:16px;

        margin-bottom:18px;

        padding-bottom:16px;
    }

    #nfTransactionsPage
    .nf-period-months{

        display:none;
    }

    #nfTransactionsPage
    .nf-period-mobile-month{

        display:block;

        text-align:center;

        margin-top:2px;
    }

    #nfTransactionsPage
    .nf-table-wrapper{

        margin-top:8px;
    }

    #nfTransactionsPage
    .nf-transactions-table-card{

        margin-top:10px;
    }

}

@media(max-width:430px){

    #nfTransactionsPage
    .nf-period-mobile-grid{

        gap:6px;
    }

    #nfTransactionsPage
    .nf-period-mobile-grid
    .nf-period-month-btn{

        font-size:11px;

        padding:7px 2px 5px;
    }

    #nfTransactionsPage
    .nf-period-summary-value{

        font-size:16px;
    }

}

#nfTransactionsPage{

    max-width:100%;

    overflow-x:hidden;
}

/* =========================================
   MODAL NOVO LANÇAMENTO — NEXDEN
========================================= */

#nfTransactionCreateModal{

    padding:16px;
}

#nfTransactionCreateModal
.nf-modal-content{

    max-width:960px;

    width:min(960px,100%);

    border:1px solid
    rgba(139,94,0,.14);

    box-shadow:
    0 24px 64px
    rgba(18,11,2,.16);
}

#nfTransactionCreateModal
.nf-create-modal-header{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:16px;

    min-height:52px;

    padding-bottom:18px;

    border-bottom:1px solid
    rgba(139,94,0,.08);
}

#nfTransactionCreateModal
.nf-create-modal-header__title{

    position:relative;

    z-index:2;

    min-width:0;

    max-width:34%;

    flex:0 1 auto;
}

#nfTransactionCreateModal
.nf-create-modal-header__title h2{

    margin:0;

    font-size:22px;

    font-weight:900;

    color:#211404;

    line-height:1.15;

    letter-spacing:-.02em;
}

#nfTransactionCreateModal
.nf-create-modal-header__tabs{

    display:none;

    position:absolute;

    left:50%;

    top:50%;

    z-index:3;

    transform:translate(-50%,-50%);

    margin:0;

    pointer-events:none;
}

#nfTransactionCreateModal.nf-create-modal--show-type-switch
.nf-create-modal-header__tabs{

    display:block;
}

#nfTransactionCreateModal:not(
    .nf-create-modal--show-type-switch
)
.nf-create-modal-header__title{

    max-width:none;

    flex:1 1 auto;
}

#nfTransactionCreateModal
.nf-create-modal-header__tabs
.nf-transactions-switch{

    pointer-events:auto;
}

#nfTransactionCreateModal
.nf-create-modal-header
.nf-modal-close{

    position:relative;

    z-index:4;

    flex-shrink:0;

    margin-left:auto;
}

#nfTransactionCreateModal
.nf-create-modal-body{

    padding-top:4px;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="receita"]
#nfCreateModalTitle{

    color:#15803d;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="despesa"]
#nfCreateModalTitle{

    color:#b91c1c;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="receita"]
.nf-input:focus,
#nfTransactionCreateModal
.nf-modal-content[data-create-type="receita"]
.nf-select:focus{

    border-color:#16a34a !important;

    box-shadow:
    0 0 0 3px
    rgba(22,163,74,.14) !important;

    outline:none !important;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="despesa"]
.nf-input:focus,
#nfTransactionCreateModal
.nf-modal-content[data-create-type="despesa"]
.nf-select:focus{

    border-color:#dc2626 !important;

    box-shadow:
    0 0 0 3px
    rgba(220,38,38,.12) !important;

    outline:none !important;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="receita"]
.nf-date-today-checkbox{

    accent-color:#16a34a;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="despesa"]
.nf-date-today-checkbox{

    accent-color:#dc2626;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="receita"]
.nf-label{

    color:#166534;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="despesa"]
.nf-label{

    color:#991b1b;
}

#nfTransactionCreateModal
.nf-create-form-grid{

    display:flex;

    flex-direction:column;

    gap:16px;
}

#nfTransactionCreateModal
.nf-create-form-row{

    display:grid;

    grid-template-columns:repeat(
    var(--create-cols, 4),
    minmax(0, 1fr)
    );

    gap:14px 16px;
}

#nfTransactionCreateModal
.nf-create-field{

    display:flex;

    flex-direction:column;

    gap:8px;

    min-width:0;
}

#nfTransactionCreateModal
.nf-create-field.nf-hidden{

    display:none;
}

#nfTransactionCreateModal
.nf-create-field
.nf-label{

    margin:0;

    font-size:12px;

    font-weight:700;

    color:#8b5e00;
}

#nfTransactionCreateModal
.nf-create-field
.nf-input,
#nfTransactionCreateModal
.nf-create-field
.nf-select{

    width:100%;

    min-height:44px;
}

#nfTransactionCreateModal
.nf-create-modal-footer
.nf-btn-primary,
#nfTransactionCreateModal
#nfSaveTransaction{

    border:none !important;

    min-height:46px;

    padding:0 22px !important;

    border-radius:14px !important;

    font-weight:800 !important;

    transition:
    background .2s ease,
    color .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="receita"]
#nfSaveTransaction{

    background:#16a34a !important;

    color:#ffffff !important;

    box-shadow:
    0 10px 24px
    rgba(22,163,74,.22) !important;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="receita"]
#nfSaveTransaction:hover{

    background:#15803d !important;

    color:#ffffff !important;

    transform:translateY(-2px);
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="despesa"]
#nfSaveTransaction{

    background:#dc2626 !important;

    color:#ffffff !important;

    box-shadow:
    0 10px 24px
    rgba(220,38,38,.2) !important;
}

#nfTransactionCreateModal
.nf-modal-content[data-create-type="despesa"]
#nfSaveTransaction:hover{

    background:#b91c1c !important;

    color:#ffffff !important;

    transform:translateY(-2px);
}

#nfTransactionCreateModal
.nf-create-modal-footer
.nf-btn-secondary,
#nfTransactionCreateModal
#nfCancelTransactionCreate{

    background:#efe7d7 !important;

    color:#8b5e00 !important;

    border:none !important;

    min-height:46px;

    padding:0 22px !important;

    border-radius:14px !important;

    font-weight:700 !important;
}

#nfTransactionCreateModal
.nf-create-modal-footer
.nf-btn-secondary:hover,
#nfTransactionCreateModal
#nfCancelTransactionCreate:hover{

    background:#e8d8b7 !important;

    color:#211404 !important;

    transform:translateY(-2px);
}

#nfTransactionCreateModal
.nf-create-modal-footer
button,
#nfTransactionCreateModal
.nf-modal-close{

    background-image:none !important;

    -webkit-tap-highlight-color:
    transparent !important;
}

@media(max-width:768px){

    #nfTransactionCreateModal{

        padding:12px;

        align-items:flex-end;
    }

    #nfTransactionCreateModal
    .nf-modal-content{

        max-height:92vh;

        overflow-y:auto;

        overflow-x:hidden;

        border-radius:22px 22px 0 0;

        width:100%;
    }

    #nfTransactionCreateModal
    .nf-create-modal-header{

        flex-wrap:wrap;

        justify-content:space-between;

        min-height:auto;

        padding-bottom:14px;
    }

    #nfTransactionCreateModal
    .nf-create-modal-header__title{

        max-width:55%;

        order:1;
    }

    #nfTransactionCreateModal
    .nf-create-modal-header
    .nf-modal-close{

        order:2;
    }

    #nfTransactionCreateModal
    .nf-create-modal-header__tabs{

        position:static;

        left:auto;

        top:auto;

        order:3;

        width:100%;

        transform:none;

        display:flex;

        justify-content:center;

        margin-top:8px;

        pointer-events:auto;
    }

    #nfTransactionCreateModal
    .nf-create-modal-header
    .nf-transactions-switch{

        width:100%;

        max-width:100%;

        justify-content:center;
    }

    #nfTransactionCreateModal
    .nf-create-form-row{

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

    #nfTransactionCreateModal
    .nf-create-modal-footer{

        flex-direction:column-reverse;

        gap:10px;
    }

    #nfTransactionCreateModal
    .nf-create-modal-footer
    .nf-btn{

        width:100%;
    }

}

@media(max-width:430px){

    #nfTransactionCreateModal
    .nf-create-form-row{

        grid-template-columns:1fr;
    }

    #nfTransactionsPage
    .nf-period-months{

        gap:6px 8px;
    }

    #nfTransactionsPage
    .nf-period-month-btn{

        min-width:40px;

        padding:8px 10px 6px;

        font-size:13px;
    }

}

/* =========================================
   MODAIS ESCOPO SÉRIE — NEXDEN
========================================= */

#nfTransactionDeleteScopeModal,
#nfTransactionEditScopeModal{

    padding:16px;
}

#nfTransactionDeleteScopeModal
.nf-modal-content,
#nfTransactionEditScopeModal
.nf-modal-content{

    box-shadow:
    0 24px 64px
    rgba(18,11,2,.16);
}

#nfTransactionDeleteScopeModal
.nf-scope-modal-actions
.nf-btn-primary,
#nfTransactionEditScopeModal
.nf-scope-modal-actions
.nf-btn-primary{

    background:#211404 !important;

    color:#f3d38a !important;

    border:none !important;

    min-height:46px;

    padding:0 22px !important;

    border-radius:14px !important;

    font-weight:800 !important;

    box-shadow:
    0 10px 24px
    rgba(18,11,2,.14) !important;
}

#nfTransactionDeleteScopeModal
.nf-scope-modal-actions
.nf-btn-primary:hover,
#nfTransactionEditScopeModal
.nf-scope-modal-actions
.nf-btn-primary:hover{

    background:#f3d38a !important;

    color:#211404 !important;

    transform:translateY(-2px);
}

#nfTransactionDeleteScopeModal
.nf-scope-modal-actions
.nf-btn-secondary,
#nfTransactionEditScopeModal
.nf-scope-modal-actions
.nf-btn-secondary,
#nfTransactionDeleteScopeModal
#nfCancelDeleteScopeModal,
#nfTransactionEditScopeModal
#nfCancelEditScopeModal{

    background:#efe7d7 !important;

    color:#8b5e00 !important;

    border:none !important;

    min-height:46px;

    padding:0 22px !important;

    border-radius:14px !important;

    font-weight:700 !important;
}

#nfTransactionDeleteScopeModal
.nf-scope-modal-actions
.nf-btn-secondary:hover,
#nfTransactionEditScopeModal
.nf-scope-modal-actions
.nf-btn-secondary:hover,
#nfTransactionDeleteScopeModal
#nfCancelDeleteScopeModal:hover,
#nfTransactionEditScopeModal
#nfCancelEditScopeModal:hover{

    background:#e8d8b7 !important;

    color:#211404 !important;

    transform:translateY(-2px);
}

#nfTransactionDeleteScopeModal
button,
#nfTransactionEditScopeModal
button{

    background-image:none !important;

    -webkit-tap-highlight-color:
    transparent !important;
}

#nfTransactionDeleteScopeModal
.nf-scope-modal-actions
.nf-btn-primary:focus,
#nfTransactionDeleteScopeModal
.nf-scope-modal-actions
.nf-btn-primary:active,
#nfTransactionEditScopeModal
.nf-scope-modal-actions
.nf-btn-primary:focus,
#nfTransactionEditScopeModal
.nf-scope-modal-actions
.nf-btn-primary:active{

    background:#211404 !important;

    color:#f3d38a !important;

    outline:none !important;

    box-shadow:
    0 0 0 4px
    rgba(200,155,43,.15) !important;
}

#nfTransactionDeleteScopeModal
.nf-scope-modal-actions
.nf-btn-secondary:focus,
#nfTransactionDeleteScopeModal
.nf-scope-modal-actions
.nf-btn-secondary:active,
#nfTransactionEditScopeModal
.nf-scope-modal-actions
.nf-btn-secondary:focus,
#nfTransactionEditScopeModal
.nf-scope-modal-actions
.nf-btn-secondary:active,
#nfTransactionDeleteScopeModal
#nfCancelDeleteScopeModal:focus,
#nfTransactionDeleteScopeModal
#nfCancelDeleteScopeModal:active,
#nfTransactionEditScopeModal
#nfCancelEditScopeModal:focus,
#nfTransactionEditScopeModal
#nfCancelEditScopeModal:active{

    background:#e8d8b7 !important;

    color:#211404 !important;

    outline:none !important;

    box-shadow:
    0 0 0 4px
    rgba(200,155,43,.10) !important;
}

/* Faturas de cartão — agrupamento em Despesas */

#nfTransactionsPage
.nf-invoice-summary-row{

    cursor:pointer;
}

#nfTransactionsPage
.nf-invoice-summary-row
td{

    background:#fff;

    vertical-align:middle;

    padding:6px 10px;

    color:#0f172a;

    line-height:1.25;
}

#nfTransactionsPage
.nf-invoice-summary-row__card-block{

    padding:6px 10px;

    text-align:left;

    vertical-align:middle;

    white-space:nowrap;
}

#nfTransactionsPage
.nf-invoice-summary-row__observation{

    padding:6px 10px;

    vertical-align:middle;
}

#nfTransactionsPage
.nf-invoice-card-chip{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:4px 10px 4px 10px;

    border-radius:10px;

    color:#fff;

    line-height:1.15;

    max-width:100%;

    min-width:148px;
}

#nfTransactionsPage
.nf-invoice-summary-row__card-block
.nf-invoice-card-chip{

    display:inline-flex;

    align-items:center;

    gap:6px;

    box-sizing:border-box;

    width:228px;

    min-width:228px;

    max-width:228px;

    height:34px;

    min-height:34px;

    max-height:34px;

    padding:4px 8px;

    border-radius:10px;
}

#nfTransactionsPage
.nf-invoice-summary-row__card-block
.nf-invoice-card-chip__logo{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    flex:0 0 26px;

    width:26px;

    min-width:26px;

    height:26px;

    font-size:11px;

    font-weight:800;
}

#nfTransactionsPage
.nf-invoice-summary-row__card-block
.nf-invoice-card-chip__bank{

    flex:1 1 0;

    min-width:0;

    font-size:12px;

    font-weight:800;

    color:#fff;

    white-space:nowrap;

    overflow:hidden;

    text-overflow:ellipsis;
}

#nfTransactionsPage
.nf-invoice-summary-row__card-block
.nf-invoice-card-chip__final{

    flex:0 0 42px;

    width:42px;

    min-width:42px;

    font-size:10px;

    font-weight:600;

    color:#fff;

    opacity:.72;

    white-space:nowrap;

    text-align:left;
}

#nfTransactionsPage
.nf-invoice-summary-row__card-block
.nf-invoice-card-chip__expand,
#nfTransactionsPage
.nf-invoice-summary-row__card-block
.nf-invoice-card-chip
.nf-invoice-summary__expand{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    flex:0 0 14px;

    width:14px;

    min-width:14px;

    margin-left:0;

    padding:0;

    font-size:12px;

    font-weight:800;

    line-height:1;

    color:#fff;

    user-select:none;
}

#nfTransactionsPage
.nf-invoice-card-chip__logo{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    min-width:26px;

    height:26px;

    font-size:11px;

    font-weight:800;

    flex-shrink:0;
}

#nfTransactionsPage
.nf-invoice-card-chip__bank{

    font-size:12px;

    font-weight:800;

    color:#fff;

    white-space:nowrap;
}

#nfTransactionsPage
.nf-invoice-card-chip__final{

    font-size:10px;

    font-weight:600;

    color:#fff;

    opacity:.72;

    white-space:nowrap;
}

#nfTransactionsPage
.nf-invoice-summary-row__amount{

    white-space:nowrap;

    padding:6px 18px;
}

#nfTransactionsPage
.nf-invoice-summary-row__amount.nf-money-positive,
#nfTransactionsPage
.nf-invoice-summary-row__amount
.nf-invoice-summary__total{

    font-size:14px;

    font-weight:700;

    color:#dc2626;
}

#nfTransactionsPage
.nf-invoice-summary-row__available{

    white-space:nowrap;
}

#nfTransactionsPage
.nf-invoice-summary__available{

    font-size:11px;

    font-weight:500;

    color:#64748b;
}

#nfTransactionsPage
.nf-invoice-summary-row__count{

    white-space:nowrap;

    font-size:13px;

    font-weight:400;

    color:#0f172a;
}

#nfTransactionsPage
.nf-invoice-summary__count{

    color:inherit;
}

#nfTransactionsPage
.nf-invoice-summary-row__due{

    padding:6px 4px;
}

#nfTransactionsPage
.nf-invoice-summary-row__pay{

    text-align:center;

    white-space:nowrap;

    width:1%;
}

#nfTransactionsPage
.nf-invoice-summary-row__pay
.nf-invoice-pay-btn{

    display:inline-flex !important;

    flex:0 0 auto !important;

    margin:0 auto;
}

#nfTransactionsPage
.nf-invoice-summary-row__status{

    text-align:center;
}

#nfTransactionsPage
.nf-invoice-summary-row__expand{

    text-align:center;

    width:36px;

    padding-right:12px;
}

#nfTransactionsPage
.nf-invoice-summary-row__status
.nf-status{

    margin:0 auto;
}

#nfTransactionsPage
.nf-invoice-pay-btn{

    box-sizing:border-box;

    display:inline-flex !important;

    align-items:center;

    justify-content:center;

    width:116px;

    min-width:116px;

    max-width:116px;

    min-height:28px;

    height:28px;

    padding:0 10px !important;

    border-radius:10px !important;

    font-size:11px !important;

    font-weight:800 !important;

    line-height:1 !important;

    white-space:nowrap;

    border:none !important;

    cursor:pointer;
}

#nfTransactionsPage
.nf-invoice-pay-btn--open{

    background:#f3d38a !important;

    color:#211404 !important;

    box-shadow:0 2px 8px rgba(18,11,2,.1) !important;
}

#nfTransactionsPage
.nf-invoice-pay-btn--open:hover:not(:disabled){

    background:#211404 !important;

    color:#f3d38a !important;
}

#nfTransactionsPage
.nf-invoice-pay-btn--paid{

    background:#16a34a !important;

    color:#fff !important;

    opacity:1 !important;

    cursor:default !important;

    box-shadow:none !important;
}

#nfTransactionsPage
.nf-invoice-child-row
td.nf-invoice-child-row__payment,
#nfTransactionsPage
.nf-invoice-child-row
td.nf-invoice-child-row__status{

    padding:6px 10px;
}


#nfTransactionsPage
tbody.nf-invoice-group-tbody
> tr.nf-invoice-child-row:nth-child(2n)
td{

    background:var(
        --invoice-child-bg-high,
        #fff
    );

    color:#0f172a;
}

#nfTransactionsPage
.nf-deposit-summary-row{

    cursor:pointer;
}

#nfTransactionsPage
.nf-deposit-summary-row__category{

    padding:4px 8px 4px 0;
}

#nfTransactionsPage
.nf-deposit-category-bar{

    display:flex;

    align-items:center;

    justify-content:space-between;

    width:100%;

    min-height:32px;

    padding:6px 12px;

    box-sizing:border-box;

    background:#2b1600;

    color:#ffffff;

    font-size:12px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.02em;

    line-height:1.35;

    border-radius:8px;
}

#nfTransactionsPage
.nf-deposit-category-bar__expand{

    flex-shrink:0;

    margin-left:8px;

    font-size:10px;

    opacity:.9;
}

#nfTransactionsPage
tbody.nf-deposit-group-tbody
> tr.nf-invoice-child-row:nth-child(2n)
td{

    background:var(
        --deposit-child-bg-high,
        #fffaf0
    );
}

#nfTransactionsPage
tbody.nf-deposit-group-tbody
> tr.nf-invoice-child-row:nth-child(2n+1)
td{

    background:var(
        --deposit-child-bg-low,
        #fffdf8
    );
}

#nfTransactionsPage
tbody.nf-invoice-group-tbody
> tr.nf-invoice-child-row:nth-child(2n+1)
td{

    background:var(
        --invoice-child-bg-low,
        #fff
    );

    color:#0f172a;
}

#nfTransactionsPage
.nf-invoice-child-row
td:first-child{

    padding-left:20px;
}

#nfTransactionsPage
.nf-invoice-group-gap
td{

    height:18px;

    padding:0 !important;

    border:none !important;

    background:transparent !important;

    line-height:0;

    font-size:0;

    box-shadow:none !important;
}

/* Modal Pagar Fatura — padrão Nexden */

#nfPayInvoiceModal{

    padding:16px;
}

#nfPayInvoiceModal
.nf-modal-content{

    max-width:520px;

    border:1px solid
    rgba(139,94,0,.14);

    box-shadow:
    0 24px 64px
    rgba(18,11,2,.16);
}

#nfPayInvoiceModal
.nf-label{

    display:block;

    margin-bottom:8px;

    font-size:12px;

    font-weight:700;

    color:#8b5e00;

    letter-spacing:.03em;

    text-transform:uppercase;
}

#nfPayInvoiceModal
.nf-input{

    width:100%;

    min-height:44px;

    border:1px solid
    rgba(139,94,0,.14) !important;

    background:#fffaf2 !important;

    color:#211404 !important;

    border-radius:14px !important;
}

#nfPayInvoiceModal
.nf-input:hover{

    border-color:
    rgba(139,94,0,.28) !important;
}

#nfPayInvoiceModal
.nf-input:focus{

    outline:none !important;

    border-color:#c89b2b !important;

    box-shadow:
    0 0 0 4px
    rgba(200,155,43,.12) !important;

    background:#fffdf8 !important;
}

#nfPayInvoiceModal
.nf-date-field-with-today{

    display:flex;

    flex-direction:row;

    align-items:center;

    gap:12px;

    flex-wrap:wrap;
}

#nfPayInvoiceModal
.nf-date-field-with-today
.nf-input{

    flex:1;

    min-width:140px;
}

#nfPayInvoiceModal
.nf-date-today-label{

    display:inline-flex;

    align-items:center;

    gap:6px;

    font-size:13px;

    color:#5c4d38;

    cursor:pointer;
}

#nfPayInvoiceModal
.nf-modal-footer{

    flex-wrap:wrap;

    margin-top:20px;

    padding-top:20px;

    border-top:1px solid
    rgba(139,94,0,.10);
}

#nfPayInvoiceModal
.nf-btn-primary,
#nfPayInvoiceModal
.nf-primary-btn,
#nfPayInvoiceModal
#nfConfirmPayInvoiceModal,
#nfPayInvoiceModal
#nfConfirmPayInvoiceInstallment,
#nfPayInvoiceModal
#nfPayInvoiceZeroInterestContinue,
#nfCancelInvoicePaymentModal
.nf-primary-btn,
#nfCancelInvoicePaymentModal
#nfConfirmCancelInvoicePaymentModal{

    background:#211404 !important;

    color:#f3d38a !important;

    border:none !important;

    min-height:46px;

    padding:0 22px !important;

    border-radius:var(
        --nf-radius-sm,
        14px
    ) !important;

    font-weight:800 !important;

    box-shadow:
    0 4px 14px
    rgba(18,11,2,.12) !important;
}

#nfPayInvoiceModal
.nf-btn-primary:hover:not(:disabled),
#nfPayInvoiceModal
.nf-primary-btn:hover:not(:disabled),
#nfPayInvoiceModal
#nfConfirmPayInvoiceModal:hover:not(:disabled),
#nfPayInvoiceModal
#nfConfirmPayInvoiceInstallment:hover:not(:disabled),
#nfPayInvoiceModal
#nfPayInvoiceZeroInterestContinue:hover:not(:disabled),
#nfCancelInvoicePaymentModal
.nf-primary-btn:hover:not(:disabled),
#nfCancelInvoicePaymentModal
#nfConfirmCancelInvoicePaymentModal:hover:not(:disabled){

    background:#3a2a14 !important;

    color:#f3d38a !important;
}

#nfPayInvoiceModal
.nf-btn-secondary,
#nfPayInvoiceModal
.nf-secondary-btn,
#nfPayInvoiceModal
#nfCancelPayInvoiceModal,
#nfPayInvoiceModal
#nfPayInvoiceInstallmentBack,
#nfPayInvoiceModal
#nfPayInvoiceZeroInterestBack,
#nfCancelInvoicePaymentModal
.nf-secondary-btn,
#nfCancelInvoicePaymentModal
#nfDismissCancelInvoicePaymentModal{

    background:#efe7d7 !important;

    color:#211404 !important;

    border:1px solid
    rgba(139,94,0,.14) !important;

    min-height:46px;

    padding:0 22px !important;

    border-radius:var(
        --nf-radius-sm,
        14px
    ) !important;

    font-weight:700 !important;
}

#nfPayInvoiceModal
.nf-btn-secondary:hover,
#nfPayInvoiceModal
.nf-secondary-btn:hover,
#nfPayInvoiceModal
#nfCancelPayInvoiceModal:hover,
#nfPayInvoiceModal
#nfPayInvoiceInstallmentBack:hover,
#nfPayInvoiceModal
#nfPayInvoiceZeroInterestBack:hover,
#nfCancelInvoicePaymentModal
.nf-secondary-btn:hover,
#nfCancelInvoicePaymentModal
#nfDismissCancelInvoicePaymentModal:hover{

    background:#e8d8b7 !important;

    color:#211404 !important;
}

#nfPayInvoiceModal
.nf-btn-primary:disabled,
#nfPayInvoiceModal
.nf-primary-btn:disabled,
#nfPayInvoiceModal
#nfConfirmPayInvoiceModal:disabled,
#nfPayInvoiceModal
#nfConfirmPayInvoiceInstallment:disabled,
#nfPayInvoiceModal
#nfPayInvoiceZeroInterestContinue:disabled{

    opacity:.45;

    cursor:not-allowed;
}

#nfPayInvoiceModal
.nf-pay-invoice-installment-link{

    display:inline-flex;

    align-items:center;

    margin-top:18px;

    padding:0;

    border:none;

    background:none;

    font-family:'Inter',sans-serif;

    font-size:13px;

    font-weight:700;

    color:#8b5e00;

    text-decoration:underline;

    text-underline-offset:3px;

    cursor:pointer;

    transition:color .2s ease;
}

#nfPayInvoiceModal
.nf-pay-invoice-installment-link:hover{

    color:#211404;
}

#nfPayInvoiceModal
.nf-pay-invoice-sim-grid{

    display:grid;

    grid-template-columns:
    repeat(2,minmax(0,1fr));

    gap:14px 12px;
}

#nfPayInvoiceModal
.nf-pay-invoice-sim-field{

    display:flex;

    flex-direction:column;

    gap:6px;
}

#nfPayInvoiceModal
.nf-pay-invoice-sim-field--full{

    grid-column:1 / -1;
}

#nfPayInvoiceModal
.nf-pay-invoice-sim-field--readonly{

    padding:12px 14px;

    border-radius:var(
        --nf-radius-sm,
        14px
    );

    background:#faf7f2;

    border:1px solid
    rgba(139,94,0,.10);
}

#nfPayInvoiceModal
.nf-pay-invoice-sim-value{

    font-size:18px;

    font-weight:800;

    color:#211404;

    line-height:1.2;
}

#nfPayInvoiceModal
.nf-pay-invoice-sim-value--total{

    font-size:20px;

    color:#8b5e00;
}

#nfPayInvoiceModal
.nf-pay-invoice-sim-hint{

    font-size:11px;

    color:#8e8577;

    line-height:1.35;
}

#nfPayInvoiceModal
.nf-pay-invoice-warning{

    padding:18px 16px;

    border-radius:var(
        --nf-radius-md,
        18px
    );

    background:#faf7f2;

    border:1px solid
    rgba(139,94,0,.12);
}

#nfPayInvoiceModal
.nf-pay-invoice-warning p{

    margin:0 0 8px;

    font-size:14px;

    line-height:1.45;

    color:#5c4d38;
}

#nfPayInvoiceModal
.nf-pay-invoice-warning p:last-child{

    margin-bottom:0;

    font-weight:700;

    color:#211404;
}

#nfCancelInvoicePaymentModal{

    padding:16px;
}

#nfCancelInvoicePaymentModal
.nf-modal-content{

    max-width:480px;

    border:1px solid
    rgba(139,94,0,.14);

    box-shadow:
    0 24px 64px
    rgba(18,11,2,.16);
}

#nfCancelInvoicePaymentModal
.nf-cancel-invoice-payment-note{

    margin:8px 0 0;

    font-size:13px;

    color:#8e8577;
}

#nfTransactionsPage
.nf-invoice-pay-btn--reopen{

    display:inline-flex !important;

    align-items:center !important;

    justify-content:center !important;

    width:auto !important;

    min-width:108px !important;

    max-width:none !important;

    background:#efe7d7 !important;

    color:#5c4d38 !important;

    border:1px solid
    rgba(139,94,0,.14) !important;

    box-shadow:none !important;
}

#nfTransactionsPage
.nf-invoice-pay-btn--reopen:hover:not(:disabled){

    background:#e8d8b7 !important;

    color:#211404 !important;

    border-color:rgba(
        139,
        94,
        0,
        .22
    ) !important;
}

@media(max-width:560px){

    #nfPayInvoiceModal
    .nf-pay-invoice-sim-grid{

        grid-template-columns:1fr;
    }

}

#nfTransactionsPage
.nf-category-badge{

    width:140px;

    max-width:140px;

    min-height:30px;

    padding:6px 12px;

    box-sizing:border-box;

    justify-content:flex-start;

    gap:10px;

    font-size:14px;

    font-weight:600;
}

#nfTransactionsPage
.nf-category-badge__icon{

    flex-shrink:0;

    line-height:1;
}

#nfTransactionsPage
.nf-category-badge__label{

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;

    min-width:0;
}

/* =========================================
   TRANSAÇÕES — CATEGORIA TEXTO
========================================= */

#nfTransactionsPage
.nf-transaction-category-cell{

    text-align:left;

    min-width:0;

    width:16%;

}

#nfTransactionsPage
.nf-entries-table thead th:first-child{

    text-align:left;
}

#nfTransactionsPage
.nf-category-label{

    display:flex;

    align-items:center;

    justify-content:flex-start;

    gap:6px;

    width:100%;

    max-width:100%;

    min-width:0;

    padding:0;

    background:transparent;

    border-radius:0;

    color:#211404;

    font-size:13px;

    font-weight:700;

    line-height:1.35;
}

#nfTransactionsPage
.nf-category-label__icon{

    flex-shrink:0;

    font-size:12px;

    line-height:1;

    opacity:.72;
}

#nfTransactionsPage
.nf-category-label__text{

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;

    min-width:0;

    flex:1 1 auto;
}

@media(max-width:768px){

    #nfTransactionsPage
    .nf-category-label{

        font-size:12px;
    }

    #nfTransactionsPage
    .nf-transaction-category-cell{

        width:auto;
    }

    #nfTransactionsPage
    .nf-deposit-category-bar{

        font-size:11px;

        min-height:28px;

        padding:5px 10px;
    }

}

#nfTransactionsPage
.nf-bank-logo-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    border-radius:10px;

    color:#fff;

    font-size:11px;

    font-weight:800;

    line-height:1;

    flex-shrink:0;
}

#nfTransactionsPage
.nf-bank-logo-badge--sm{

    width:28px;

    height:28px;

    border-radius:8px;

    font-size:10px;
}

#nfTransactionsPage
.nf-bank-logo-badge--md{

    width:36px;

    height:36px;

    font-size:11px;
}

#nfTransactionsPage
.nf-bank-logo-badge[data-bank="bb"],
#nfTransactionCreateModal
.nf-bank-logo-badge[data-bank="bb"],
#nfTransactionEditModal
.nf-bank-logo-badge[data-bank="bb"]{

    background:#fcfc30;
    color:#005aa5;
}

#nfTransactionsPage
.nf-card-rich-select{

    position:relative;

    width:100%;
}

#nfTransactionsPage
.nf-card-rich-select
.nf-rich-select__native{

    position:absolute;

    width:1px;

    height:1px;

    opacity:0;

    pointer-events:none;
}

#nfTransactionsPage
.nf-card-rich-select
.nf-rich-select__trigger{

    width:100%;

    min-height:46px;

    padding:8px 12px;

    border:1px solid #e0d6c4;

    border-radius:12px;

    background:#fff;

    display:flex;

    align-items:center;

    gap:10px;

    cursor:pointer;

    text-align:left;

    font-family:inherit;
}

#nfTransactionsPage
.nf-card-rich-select
.nf-rich-select__menu{

    position:absolute;

    top:calc(100% + 6px);

    left:0;

    right:0;

    z-index:30;

    max-height:240px;

    overflow:auto;

    background:#fff;

    border:1px solid #e0d6c4;

    border-radius:12px;

    box-shadow:0 12px 28px rgba(33,20,4,.12);

    padding:6px;
}

#nfTransactionsPage
.nf-card-rich-select
.nf-rich-select__option{

    width:100%;

    border:none;

    background:transparent;

    display:flex;

    align-items:center;

    gap:10px;

    padding:8px 10px;

    border-radius:10px;

    cursor:pointer;

    text-align:left;

    font-family:inherit;
}

#nfTransactionsPage
.nf-card-rich-select
.nf-rich-select__option:hover,
#nfTransactionsPage
.nf-card-rich-select
.nf-rich-select__option.is-selected{

    background:#f5f0e6;
}

#nfTransactionsPage
.nf-card-rich-select
.nf-rich-select__placeholder{

    color:#8b5e00;
}

#nfTransactionsPage
.nf-card-rich-select
.nf-rich-select__trigger,
#nfTransactionsPage
.nf-card-rich-select
.nf-rich-select__option,
#nfTransactionCreateModal
.nf-card-rich-select
.nf-rich-select__trigger,
#nfTransactionCreateModal
.nf-card-rich-select
.nf-rich-select__option,
#nfTransactionEditModal
.nf-card-rich-select
.nf-rich-select__trigger,
#nfTransactionEditModal
.nf-card-rich-select
.nf-rich-select__option{

    color:#211404 !important;
}

.nf-card-select-label{

    display:inline-flex;

    align-items:baseline;

    gap:4px;

    min-width:0;

    color:#211404;
}

.nf-card-select-label__bank{

    font-size:13px;

    font-weight:800;

    color:#211404;
}

.nf-card-select-label__last4{

    font-size:11px;

    font-weight:600;

    color:#211404;

    opacity:.62;
}

#nfTransactionCreateModal
.nf-card-rich-select,
#nfTransactionEditModal
.nf-card-rich-select{

    position:relative;

    width:100%;
}

#nfTransactionCreateModal
.nf-card-rich-select
.nf-rich-select__native,
#nfTransactionEditModal
.nf-card-rich-select
.nf-rich-select__native{

    position:absolute;

    width:1px;

    height:1px;

    opacity:0;

    pointer-events:none;
}

#nfTransactionCreateModal
.nf-card-rich-select
.nf-rich-select__trigger,
#nfTransactionEditModal
.nf-card-rich-select
.nf-rich-select__trigger{

    width:100%;

    min-height:46px;

    padding:8px 12px;

    border:1px solid #e0d6c4;

    border-radius:12px;

    background:#fff;

    display:flex;

    align-items:center;

    gap:10px;

    cursor:pointer;

    text-align:left;

    font-family:inherit;
}

#nfTransactionCreateModal
.nf-card-rich-select
.nf-rich-select__menu,
#nfTransactionEditModal
.nf-card-rich-select
.nf-rich-select__menu{

    position:absolute;

    top:calc(100% + 6px);

    left:0;

    right:0;

    z-index:40;

    max-height:240px;

    overflow:auto;

    background:#fff;

    border:1px solid #e0d6c4;

    border-radius:12px;

    box-shadow:0 12px 28px rgba(33,20,4,.12);

    padding:6px;
}

#nfTransactionCreateModal
.nf-card-rich-select
.nf-rich-select__option,
#nfTransactionEditModal
.nf-card-rich-select
.nf-rich-select__option{

    width:100%;

    border:none;

    background:transparent;

    display:flex;

    align-items:center;

    gap:10px;

    padding:8px 10px;

    border-radius:10px;

    cursor:pointer;

    text-align:left;

    font-family:inherit;
}

#nfTransactionCreateModal
.nf-bank-logo-badge,
#nfTransactionEditModal
.nf-bank-logo-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:28px;

    height:28px;

    border-radius:8px;

    color:#fff;

    font-size:10px;

    font-weight:800;

    flex-shrink:0;
}

#nfTransactionsPage
.nf-date-field-with-today,
#nfTransactionCreateModal
.nf-date-field-with-today,
#nfTransactionEditModal
.nf-date-field-with-today{

    display:flex;

    align-items:center;

    gap:12px;

    flex-wrap:wrap;
}

#nfTransactionsPage
.nf-date-field-with-today
.nf-input,
#nfTransactionCreateModal
.nf-date-field-with-today
.nf-input,
#nfTransactionEditModal
.nf-date-field-with-today
.nf-input{

    flex:1;

    min-width:140px;
}

#nfTransactionsPage
.nf-date-today-label,
#nfTransactionCreateModal
.nf-date-today-label,
#nfTransactionEditModal
.nf-date-today-label{

    display:inline-flex;

    align-items:center;

    gap:6px;

    font-size:13px;

    color:#5c4d38;

    cursor:pointer;

    white-space:nowrap;
}

#nfTransactionsPage
.nf-payment-options{

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    gap:6px;

    min-width:120px;
}

#nfTransactionsPage
.nf-payment-option{

    display:inline-flex;

    align-items:center;

    gap:6px;

    font-size:13px;

    color:#211404;

    cursor:pointer;
}

#nfTransactionsPage
.nf-payment-other-date{

    width:100%;

    max-width:160px;
}

#nfTransactionsPage
.nf-payment-other-date.nf-hidden{

    display:none;
}

#nfTransactionsPage
.nf-payment-choices.nf-hidden{

    display:none;
}

#nfTransactionsPage
.nf-payment-date-display{

    font-size:13px;

    color:#211404;

    white-space:nowrap;
}