/* v18.14.8 Nuevo gasto compacto */
.pos-expense-compact-card{
    max-width:760px!important;
}
.expense-compact-form{
    display:grid;
    gap:14px;
}
.expense-field{
    display:grid;
    gap:7px;
}
.expense-field label{
    font-weight:900;
    color:#334155;
}
.expense-field input,
.expense-field textarea{
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:13px 14px;
    width:100%;
    background:#fff;
    font-size:15px;
}
.expense-money-box{
    border:1px solid #cbd5e1;
    border-radius:16px;
    overflow:hidden;
    background:#fff;
}
.expense-money-box input{
    border:0!important;
    border-radius:0!important;
    text-align:right;
    font-size:22px!important;
    font-weight:900;
    padding:16px!important;
}
.expense-money-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#f1f5f9;
    padding:12px 14px;
    color:#64748b;
}
.expense-money-footer strong{
    color:#dc2626;
    font-size:17px;
}
.expense-categories-wrap{
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
    overflow:hidden;
    max-height:300px;
    overflow-y:auto;
}
.expense-cat-root{
    border-bottom:1px solid #e2e8f0;
}
.expense-cat-root:last-child{
    border-bottom:0;
}
.expense-cat-main{
    display:grid;
    grid-template-columns:34px 1fr auto;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    cursor:pointer;
}
.expense-cat-main:hover{
    background:#f8fafc;
}
.expense-cat-icon{
    width:34px;
    height:34px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:var(--cat-color,#38BDF8);
    color:#fff;
    font-size:18px;
}
.expense-cat-title{
    font-weight:900;
    color:#172033;
}
.expense-cat-arrow{
    color:#64748b;
    font-weight:900;
}
.expense-cat-children{
    display:none;
    padding:0 12px 10px 46px;
}
.expense-cat-root.open .expense-cat-children{
    display:grid;
    gap:6px;
}
.expense-cat-child{
    display:grid;
    grid-template-columns:22px 1fr;
    gap:8px;
    align-items:center;
    border:1px solid #e2e8f0;
    border-radius:12px;
    padding:8px 10px;
    background:#fff;
    cursor:pointer;
    font-weight:800;
    color:#475569;
}
.expense-cat-child:hover,
.expense-cat-child.active{
    background:#eef2ff;
    border-color:#6C4CF1;
    color:#4329c7;
}
.expense-cat-main.active{
    background:#eef2ff;
}
.expense-cat-main.active .expense-cat-title{
    color:#4329c7;
}
.expense-cat-child-dot{
    width:12px;
    height:12px;
    border-radius:999px;
    background:var(--cat-color,#38BDF8);
}
.expense-selected-pill{
    display:none;
    align-items:center;
    gap:8px;
    background:#eef2ff;
    color:#4329c7;
    border-radius:999px;
    padding:8px 12px;
    font-weight:900;
    width:max-content;
    max-width:100%;
}
.expense-selected-pill.show{
    display:inline-flex;
}
.expense-pay-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.expense-pay-btn{
    border:1px solid #cbd5e1;
    background:#fff;
    border-radius:14px;
    padding:14px 10px;
    min-height:88px;
    display:grid;
    place-items:center;
    gap:6px;
    font-weight:900;
    color:#64748b;
    position:relative;
}
.expense-pay-btn span{
    font-size:25px;
}
.expense-pay-btn.active{
    border-color:#16985F;
    box-shadow:inset 0 0 0 2px #16985F;
    color:#166534;
}
.expense-pay-btn.active::after{
    content:"✓";
    position:absolute;
    right:0;
    top:0;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    background:#16985F;
    color:#fff;
    border-radius:0 12px 0 12px;
}
.expense-submit-compact{
    width:100%;
    border:0;
    border-radius:14px;
    padding:15px;
    font-weight:900;
    background:#dc2626;
    color:#fff;
    margin-top:4px;
}
.expense-submit-compact:disabled{
    background:#dbe2eb!important;
    color:#8ca0b5!important;
}
.expense-no-cats{
    padding:18px;
    color:#64748b;
    text-align:center;
}
@media(max-width:680px){
    .expense-pay-grid{grid-template-columns:1fr}
}
