/* Paginа: admin/despesas.html — CSS extraido automaticamente */
:root{
    --bg-main:#F5F2E9;
    --bg-secondary:#181818;
    --glass-bg:#FFFFFF;
    --glass-bg-hover:rgba(255,255,255,.95);

    --gold:#16804A;
    --gold-soft:rgba(22,128,74,.10);

    --green:#16804A;
    --green-light:#2FA866;

    --red:#C93632;

    --text:#111111;
    --text-muted:#6f6a5f;

    --border:rgba(17,17,17,.10);

    --sidebar-width:270px;
}

*{
    box-sizing:border-box;
}

html,
body{
    min-height:100%;
}

body{
    margin:0;
    background:var(--bg-main);
    color:var(--text);
    font-family:'Montserrat',sans-serif;
}


/* =====================================================
   SIDEBAR - PADRAO CANONICO DO PORTAL
===================================================== */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100vh;background:var(--bg-secondary);border-right:1px solid var(--border);z-index:1050;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;transition:transform .25s ease;}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:20px 18px 18px;border-bottom:1px solid var(--border);text-decoration:none;flex-shrink:0;}
.sidebar-brand img{width:38px;height:38px;object-fit:contain;flex-shrink:0;}
.sidebar-brand h5{margin:0;color:var(--gold);font-size:15px;font-weight:800;line-height:1.1;letter-spacing:.8px;}
.sidebar-brand small{display:block;margin-top:2px;color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:1px;}
.sidebar-menu{flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:2px;}
.sidebar-section{padding:14px 10px 5px;color:var(--text-muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;}
.sidebar-menu a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;color:var(--text-muted);text-decoration:none;font-size:12px;font-weight:600;transition:.15s ease;}
.sidebar-menu a i{width:20px;text-align:center;font-size:16px;flex-shrink:0;}
.sidebar-menu a:hover{background:rgba(255,255,255,.055);color:#fff;}
.sidebar-menu a.active{background:rgba(255,215,0,.10);color:var(--gold);}
.sidebar-divider{height:1px;margin:9px 10px;background:rgba(255,255,255,.045);flex-shrink:0;}
.sidebar-footer{padding:14px 18px;border-top:1px solid var(--border);color:var(--text-muted);font-size:9px;text-align:center;flex-shrink:0;}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:1040;}
.sidebar-overlay.show{display:block;}
.main-content{margin-left:var(--sidebar-width);min-height:100vh;}
#menuButton{display:none;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--glass-bg);color:var(--text-muted);font-size:18px;cursor:pointer;flex-shrink:0;}
#menuButton:hover{background:rgba(255,255,255,.075);color:#fff;}
.sidebar-menu a[data-exige]{display:none;}
.sidebar-menu a[data-exige].liberado{display:flex;}


/* =====================================================
   TOPBAR
===================================================== */

.topbar{
    min-height:75px;
    padding:12px 30px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:#09090c;
    border-bottom:1px solid var(--border);
}

.page-title{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.page-title h4{
    margin:0;
    font-weight:700;
    font-size:1.05rem;
}

.page-title small{
    display:block;
    margin-top:3px;
    color:#777;
    font-size:.7rem;
}

.admin-profile{
    display:flex;
    align-items:center;
    gap:10px;
}

.admin-avatar{
    width:38px;
    height:38px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--gold),var(--green));
    display:flex;
    align-items:center;
    justify-content:center;
    color:#000;
    font-weight:800;
    overflow:hidden;
    background-size:cover;
    background-position:center;
    flex-shrink:0;
}

.admin-info{
    min-width:0;
}

.admin-info strong{
    display:block;
    max-width:180px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.admin-info small{
    display:block;
    color:#777;
    font-size:.65rem;
}

.btn-outline-aya{
    border:1px solid rgba(255,215,0,.4);
    color:var(--gold);
    background:transparent;
    border-radius:9px;
    padding:8px 14px;
    font-size:.72rem;
}

.btn-outline-aya:hover{
    background:rgba(255,215,0,.08);
    color:var(--gold);
}


/* =====================================================
   PÁGINA
===================================================== */

.page{
    width:100%;
    max-width:1100px;
    margin:0 auto;
    padding:35px 20px 50px;
}

.page-header{
    margin-bottom:25px;
}

.page-header h2{
    margin-bottom:6px;
    font-size:1.45rem;
}

.page-header p{
    margin:0;
    color:#777;
    font-size:.8rem;
}


/* =====================================================
   CARDS
===================================================== */

.card-aya{
    background:var(--glass-bg);
    border:1px solid var(--border);
    border-radius:18px;
    padding:25px;
    margin-bottom:18px;
}

.kpi{
    background:var(--glass-bg);
    border:1px solid var(--border);
    border-radius:18px;
    padding:20px;
    height:100%;
}

.kpi-rotulo{
    color:#777;
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:1px;
}

.kpi-valor{
    font-size:1.5rem;
    font-weight:800;
    margin-top:6px;
}

.kpi-valor.negativo{
    color:#ff6b6b;
}

.kpi-valor.positivo{
    color:#55d66d;
}

.kpi-valor.neutro{
    color:#FFD700;
}


/* =====================================================
   FORMULÁRIOS
===================================================== */

.form-control,
.form-select{
    background:#101016;
    color:white;
    border-color:#292930;
}

.form-control:focus,
.form-select:focus{
    background:#101016;
    color:white;
    border-color:#FFD700;
    box-shadow:none;
}

.form-label{
    color:#bbb;
    font-size:.75rem;
    font-weight:600;
}


/* =====================================================
   TABELA
===================================================== */

.table{
    color:#ddd;
    font-size:.8rem;
}

.table td,
.table th{
    border-color:#292930;
    padding:14px;
    vertical-align:middle;
}


/* =====================================================
   BOTÕES
===================================================== */

.btn-aya{
    background:#FFD700;
    color:#000;
    font-weight:700;
    border:none;
}

.btn-aya:hover{
    background:#e6c200;
    color:#000;
}


/* =====================================================
   STATUS
===================================================== */

.pago{
    color:#55d66d;
    font-size:.7rem;
    font-weight:700;
}

.pendente{
    color:#FFD700;
    font-size:.7rem;
    font-weight:700;
}


/* =====================================================
   AVISO
===================================================== */

.aviso-leitura{
    background:rgba(255,193,7,.1);
    border:1px solid rgba(255,193,7,.28);
    color:#ffd75e;
    border-radius:10px;
    padding:10px 14px;
    font-size:.72rem;
    margin-bottom:14px;
    display:none;
}


/* =====================================================
   LOADING
===================================================== */

.page-loading{
    position:fixed;
    inset:0;
    background:#0b0b0f;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    z-index:2000;
}

.page-loading img{
    width:64px;
    object-fit:contain;
}

.page-loading p{
    color:#666;
    font-size:.75rem;
    margin:0;
}


/* =====================================================
   ALERTA
===================================================== */

.alert-aya{
    position:fixed;
    top:90px;
    right:24px;
    z-index:2100;
    min-width:280px;
    max-width:420px;
    display:none;
}


/* =====================================================
   EMPTY STATE
===================================================== */

.empty-state{
    text-align:center;
    padding:60px 20px;
    color:#666;
}

.empty-state i{
    font-size:2.4rem;
    color:#444;
    margin-bottom:12px;
}

.empty-state p{
    font-size:.75rem;
    margin:0;
}


/* =====================================================
   MODAL
===================================================== */

.modal-content{
    background:#101016;
    border:1px solid #292930;
    border-radius:16px;
    color:#eee;
}

.modal-header,
.modal-footer{
    border-color:#222;
}

.modal-title{
    font-size:.95rem;
    font-weight:700;
}

.btn-close-white{
    filter:invert(1);
}


/* =====================================================
   SCROLLBAR
===================================================== */

::-webkit-scrollbar{
    width:6px;
}

::-webkit-scrollbar-track{
    background:#08080a;
}

::-webkit-scrollbar-thumb{
    background:#333;
    border-radius:10px;
}

::-webkit-scrollbar-thumb:hover{
    background:#FFD700;
}


/* =====================================================
   RESPONSIVO
===================================================== */

@media(max-width:991px){

    .sidebar{
        transform:translateX(-100%);
    }

    .sidebar.show{
        transform:translateX(0);
    }

    .main-content{
        margin-left:0;
    }

    .sidebar-overlay.show{
        display:block;
    }

    .topbar{
        padding:12px 18px;
    }

    .page{
        padding:28px 16px 45px;
    }
}

@media(max-width:700px){

    .topbar{
        min-height:68px;
    }

    .page-title h4{
        font-size:.95rem;
    }

    .page-title small{
        display:none;
    }

    .admin-info{
        display:none;
    }

    .page{
        padding:24px 14px 40px;
    }

    .page-header h2{
        font-size:1.25rem;
    }

    .card-aya{
        padding:20px 17px;
        border-radius:15px;
    }
}

@media(max-width:576px){

    .page{
        padding:18px;
    }

    .btn-aya{
        width:100%;
    }
}

@media(max-width:991px){.sidebar{transform:translateX(-100%);}.sidebar.show{transform:translateX(0);}.main-content,.main{margin-left:0;}#menuButton{display:flex;}}
@media(min-width:992px){#menuButton{display:none;}}
        /* ===== IEPLUS_LIGHT_OVERRIDES : IÃŠ+ tema claro (estrutura/navegaÃ§Ã£o preta com texto claro) ===== */
        .topbar,.sidebar,.sidebar-header,.bottom-navigation,.bottom-nav,.side-nav,.nav-drawer,.app-nav{background:#111111 !important;}
        .topbar,.topbar *,.sidebar *,.bottom-navigation *,.bottom-navigation a,.bottom-navigation i,.bottom-navigation span{color:rgba(255,255,255,.85) !important;}
        .sidebar a.active,.sidebar .active,.bottom-navigation .active{color:#8FE6B4 !important;}
        .sidebar a.active,.bottom-navigation .active{background:rgba(22,128,74,.30) !important;}