.finance-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.finance-tabs .btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.finance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.finance-summary .stat-value{font-size:1.65rem}
.finance-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:1.5rem}.finance-chart{min-height:250px;padding:1.2rem}.finance-bars{height:190px;display:flex;align-items:flex-end;gap:10px;border-bottom:1px solid var(--border);padding:0 5px}.finance-bar-group{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px;position:relative}.finance-bar{width:38%;min-height:2px;border-radius:4px 4px 0 0}.finance-bar.in{background:linear-gradient(#22c55e,#16a34a)}.finance-bar.out{background:linear-gradient(#f87171,#dc2626)}.finance-bar-label{position:absolute;bottom:-24px;font-size:.65rem;color:var(--muted)}
.finance-legend{display:flex;gap:1rem;justify-content:center;margin-top:2rem;font-size:.75rem;color:var(--muted)}.finance-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.3rem}.finance-legend .in{background:var(--green)}.finance-legend .out{background:var(--red)}
.finance-filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.2rem}.finance-filter-grid .form-group{margin:0}.finance-filter-grid label{font-size:.68rem}
.finance-status{display:inline-flex;padding:.25rem .65rem;border-radius:20px;font-size:.72rem;font-weight:600}.finance-status.pending{background:var(--yellow-l);color:var(--yellow)}.finance-status.partially_paid{background:var(--purple-l);color:var(--purple)}.finance-status.paid{background:var(--green-l);color:var(--green-t)}.finance-status.overdue{background:var(--red-l);color:var(--red)}.finance-status.canceled,.finance-status.reversed{background:#e5e7eb;color:#475569}
.money-positive{color:var(--green-t);font-weight:600}.money-negative{color:var(--red);font-weight:600}.money-muted{color:var(--muted)}
.table-responsive{width:100%;overflow-x:auto}.table-responsive .table{min-width:920px}.finance-actions{display:flex;gap:.35rem;white-space:nowrap}
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem 1.2rem;border-top:1px solid var(--border);font-size:.78rem;color:var(--muted)}
.installment-editor{border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-top:.5rem}.installment-row{display:grid;grid-template-columns:55px 1fr 1fr;gap:.6rem;padding:.55rem;border-bottom:1px solid var(--border);align-items:center}.installment-row:last-child{border-bottom:0}.installment-row input{padding:.55rem!important}.installment-number{font-size:.75rem;color:var(--muted);text-align:center}
.form-hint{font-size:.72rem;color:var(--muted);margin-top:.3rem}.form-error{font-size:.75rem;color:var(--red);margin-top:.35rem}.finance-modal-wide{max-width:780px}.finance-modal-xl{max-width:980px}
.finance-detail-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.finance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.finance-kpi{background:var(--bg);padding:.8rem;border-radius:6px}.finance-kpi label{display:block;font-size:.65rem;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}.finance-kpi strong{font-size:1rem}
.category-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:.4rem}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.settings-list{max-height:380px;overflow:auto}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border);gap:.75rem}.settings-item:last-child{border:0}
.client-finance-summary{margin-top:1rem}.client-finance-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0}.overdue-row td{background:#fff7f7!important}.due-soon-row td{background:#fffbeb!important}
.receipt{--receipt-gold:#a98b62;--receipt-navy:#0b1d35;font-family:'Outfit',Arial,sans-serif;color:#172033;background:#fff;width:100%;max-width:794px;min-height:920px;margin:0 auto;padding:42px 54px 34px;position:relative;box-sizing:border-box;border:1px solid #e8e1d8;box-shadow:0 14px 40px rgba(15,23,42,.12)}
.receipt::before{content:"";position:absolute;inset:13px;border:1px solid rgba(169,139,98,.42);pointer-events:none}.receipt-header{text-align:center;position:relative}.receipt-logo{display:block;width:185px;height:142px;object-fit:contain;margin:0 auto 8px}.receipt-office{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:700;letter-spacing:.055em;color:var(--receipt-navy);text-transform:uppercase}.receipt-oab{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#756954;margin-top:3px}.receipt-rule{height:2px;border:0;background:linear-gradient(90deg,transparent,var(--receipt-gold) 18%,var(--receipt-gold) 82%,transparent);margin:20px 0 24px}.receipt-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid #e7e1d8;padding-bottom:12px}.receipt-title-row h2{font-family:'Cormorant Garamond',serif;font-size:2rem;line-height:1;margin:0;color:var(--receipt-navy);letter-spacing:.04em}.receipt-number{text-align:right}.receipt-number small{display:block;color:#7b8493;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase}.receipt-number strong{font-size:.92rem;color:var(--receipt-gold);letter-spacing:.06em}.receipt-amount-box{margin:24px 0 18px;padding:17px 22px;border-left:4px solid var(--receipt-gold);background:#faf8f4;display:flex;align-items:center;justify-content:space-between;gap:25px}.receipt-amount-box span{font-size:.68rem;color:#7b8493;letter-spacing:.12em;text-transform:uppercase}.receipt-amount-box strong{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--receipt-navy);white-space:nowrap}.receipt-declaration{font-family:'Cormorant Garamond',serif;font-size:1.16rem;line-height:1.65;text-align:justify;margin:19px 0;color:#263247}.receipt-declaration strong{color:var(--receipt-navy)}.receipt-words{font-size:.79rem;color:#685c4c;margin:-8px 0 22px;font-style:italic}.receipt-details{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e8e1d8;border-left:1px solid #e8e1d8}.receipt-detail{padding:11px 14px;border-right:1px solid #e8e1d8;border-bottom:1px solid #e8e1d8;min-height:52px}.receipt-detail.full{grid-column:1/-1}.receipt-detail label{display:block;font-size:.61rem;letter-spacing:.11em;text-transform:uppercase;color:#8b7b66;margin-bottom:4px}.receipt-detail span{display:block;font-size:.83rem;line-height:1.35;color:#1f2937;font-weight:500}.receipt-note{font-size:.75rem;line-height:1.55;margin:14px 0;padding:10px 13px;background:#f8fafc;border-radius:4px;color:#536071}.receipt-place{text-align:right;font-family:'Cormorant Garamond',serif;font-size:1rem;margin-top:26px;color:#3b4556}.receipt-signature{width:330px;max-width:75%;margin:56px auto 0;border-top:1px solid #83725e;padding-top:8px;text-align:center}.receipt-signature strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--receipt-navy)}.receipt-signature span{font-size:.67rem;color:#756954;letter-spacing:.08em}.receipt-footer{margin-top:31px;padding-top:13px;border-top:1px solid #e8e1d8;text-align:center;font-size:.65rem;line-height:1.65;color:#758093}.receipt-auth{font-family:monospace;letter-spacing:.08em;color:#5c4a34}.receipt-reversed{position:absolute;inset:45% 0 auto;transform:rotate(-18deg);text-align:center;font-size:4.5rem;font-weight:700;color:rgba(185,28,28,.13);letter-spacing:.12em;z-index:2;pointer-events:none}
.loading-cell{padding:3rem!important;text-align:center;color:var(--muted)}.finance-empty{text-align:center;padding:2.5rem;color:var(--muted)}
.client-delete-warning{border:1px solid #fecaca;border-left:5px solid #dc2626;background:#fff7f7;color:#7f1d1d;padding:1rem 1.1rem;border-radius:7px;line-height:1.55}.client-delete-warning strong{font-size:1rem}.client-delete-warning p{margin:.55rem 0 0;font-size:.84rem}.client-delete-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin-top:1rem}.client-delete-count{border:1px solid var(--border);background:var(--bg);border-radius:6px;padding:.7rem;text-align:center}.client-delete-count strong{display:block;color:var(--red);font-size:1.15rem}.client-delete-count span{display:block;color:var(--muted);font-size:.67rem;margin-top:.2rem}.btn-danger:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1100px){.finance-summary{grid-template-columns:repeat(2,1fr)}.finance-filter-grid{grid-template-columns:repeat(2,1fr)}.finance-grid{grid-template-columns:1fr}}
@media(max-width:768px){.finance-summary,.finance-kpis,.settings-grid{grid-template-columns:1fr}.finance-filter-grid{grid-template-columns:1fr 1fr}.finance-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}.finance-tabs .btn{white-space:nowrap}.installment-row{grid-template-columns:42px 1fr 1fr}.finance-modal-wide,.finance-modal-xl{max-width:100%}}
@media(max-width:600px){.client-delete-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.finance-filter-grid{grid-template-columns:1fr}.finance-summary{grid-template-columns:1fr 1fr;gap:.6rem}.finance-summary .stat-card{padding:1rem}.finance-summary .stat-value{font-size:1.3rem}}
@media(max-width:600px){.receipt{padding:30px 25px;min-height:0}.receipt-logo{width:145px;height:112px}.receipt-title-row,.receipt-amount-box{align-items:flex-start}.receipt-amount-box strong{font-size:1.55rem}.receipt-details{grid-template-columns:1fr}.receipt-detail.full{grid-column:auto}}
@media print{
 @page{size:A4 portrait;margin:0}
 html,body{width:210mm!important;height:297mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important}
 body>*{display:none!important}
 body>.receipt{display:block!important}
 body>#modal-fin-receipt{display:block!important;position:absolute!important;inset:0!important;width:210mm!important;height:297mm!important;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important}
 #modal-fin-receipt .modal{display:block!important;position:static!important;transform:none!important;width:210mm!important;max-width:none!important;height:297mm!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
 #modal-fin-receipt .modal-header,#modal-fin-receipt .modal-footer{display:none!important}
 #receipt-body{display:block!important;width:210mm!important;height:297mm!important;margin:0!important;padding:0!important;overflow:hidden!important}
 .receipt{display:block!important;position:relative!important;width:210mm!important;max-width:none!important;height:297mm!important;min-height:297mm!important;margin:0!important;padding:8mm 14mm 7mm!important;border:0!important;box-shadow:none!important;overflow:hidden!important;box-sizing:border-box!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .receipt::before{inset:4mm!important}.receipt-logo{width:38mm!important;height:29mm!important;margin-bottom:1mm!important}.receipt-rule{margin:4mm 0!important}.receipt-title-row{padding-bottom:3mm!important}.receipt-title-row h2{font-size:1.75rem!important}.receipt-amount-box{margin:5mm 0 4mm!important;padding:3.5mm 5mm!important}.receipt-amount-box strong{font-size:1.75rem!important}.receipt-declaration{font-size:1.05rem!important;line-height:1.45!important;margin:4mm 0!important}.receipt-detail{padding:2.4mm 3.5mm!important;min-height:12mm!important}.receipt-note{margin:3mm 0!important;padding:2.5mm 3.5mm!important}.receipt-place{margin-top:5mm!important}.receipt-signature{margin-top:12mm!important}.receipt-footer{margin-top:7mm!important;padding-top:3mm!important}
}
