/* =========================================================
   BURDIGALA FINANCE — EXPENSES STABLE V35
   Chargé en dernier pour stabiliser la page Dépenses.
========================================================= */

.expenses-filter{
    border-radius:30px!important;
    padding:14px!important;
    margin:14px 0 18px!important;
    display:grid!important;
    grid-template-columns:1.3fr .9fr auto auto!important;
    gap:10px!important;
    align-items:center!important;
    background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(255,255,255,.60))!important;
    border:1px solid rgba(120,20,40,.10)!important;
    box-shadow:0 18px 45px rgba(120,20,40,.08)!important;
}

.expenses-filter input,
.expenses-filter select,
.expenses-filter .field{
    width:100%!important;
    min-height:54px!important;
    border-radius:22px!important;
    margin:0!important;
}

.expenses-filter .primary-btn,
.expenses-filter .secondary-btn,
.expenses-filter a,
.expenses-filter button{
    min-height:54px!important;
    border-radius:22px!important;
    margin:0!important;
    padding:0 22px!important;
    white-space:nowrap!important;
}

.expenses-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding-bottom:150px!important;
}

.expense-card{
    position:relative!important;
    border-radius:34px!important;
    padding:18px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:14px 18px!important;
    align-items:start!important;
    background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,255,255,.62))!important;
    border:1px solid rgba(120,20,40,.10)!important;
    box-shadow:0 18px 48px rgba(120,20,40,.08), inset 0 1px 0 rgba(255,255,255,.74)!important;
    overflow:hidden!important;
}

.expense-card-main{
    min-width:0!important;
}

.expense-badges{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin-bottom:8px!important;
}

.expense-approval-badge,
.expense-lock-badge{
    display:inline-flex!important;
    width:auto!important;
    min-width:auto!important;
    min-height:30px!important;
    border-radius:999px!important;
    padding:7px 11px!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:950!important;
    margin:0!important;
}

.expense-card h2,
.expense-card h3{
    margin:0 0 8px!important;
    color:#21171a!important;
    font-size:22px!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
    word-break:break-word!important;
}

.expense-card p{
    margin:0!important;
    color:#827277!important;
    font-size:14px!important;
    line-height:1.35!important;
}

.expense-card > strong,
.expense-card-amount,
.expense-amount{
    justify-self:end!important;
    color:#781428!important;
    font-size:23px!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
}

.expense-card-actions{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:8px!important;
    align-items:center!important;
}

.expense-card-actions form{
    display:block!important;
    width:100%!important;
    margin:0!important;
}

.expense-card-actions .primary-btn,
.expense-card-actions .secondary-btn,
.expense-card-actions .danger-btn,
.expense-card-actions button,
.expense-card-actions a{
    width:100%!important;
    min-height:50px!important;
    border-radius:22px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    text-decoration:none!important;
    font-weight:950!important;
    padding:0 14px!important;
    box-sizing:border-box!important;
    margin:0!important;
}

.expense-card-actions .danger-btn,
.expense-card-actions button[name="delete"],
.expense-card-actions .delete-btn{
    border:0!important;
    background:#991b1b!important;
    color:#fff!important;
    cursor:pointer!important;
}

@media(max-width:780px){
    .expenses-filter{
        grid-template-columns:1fr!important;
        padding:12px!important;
        gap:8px!important;
    }

    .expense-card{
        grid-template-columns:1fr!important;
        border-radius:30px!important;
        padding:16px!important;
    }

    .expense-card > strong,
    .expense-card-amount,
    .expense-amount{
        justify-self:start!important;
        font-size:24px!important;
    }

    .expense-card-actions{
        grid-template-columns:1fr!important;
    }
}

@media(min-width:1180px){
    .expenses-list{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}