/* Private owner finance dashboard */
.finance-dashboard{display:grid;gap:18px}.finance-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.finance-toolbar h2{margin:6px 0 4px;font-size:24px}.finance-toolbar p,.finance-panel-head p{margin:0;color:var(--muted);font-size:12px}.finance-actions{display:flex;gap:8px;flex-wrap:wrap}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.finance-summary article{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;display:grid;gap:10px;box-shadow:0 10px 28px #0b22390a}.finance-summary article:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:#2298dd}.finance-summary .income:before{background:#18a875}.finance-summary .expense:before{background:#e66c62}.finance-summary .net:before{background:#6f7fe6}.finance-summary span{color:var(--muted);font-size:11px}.finance-summary b{font-size:24px;color:var(--navy)}.finance-summary .income b{color:#14845f}.finance-summary .expense b{color:#c94f46}.finance-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 12px 32px #0b22390a}.finance-panel-head{display:flex;justify-content:space-between}.finance-panel h3{margin:0 0 5px}.legend{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 6px}.legend.income{background:#18a875}.legend.expense{background:#e66c62}.finance-chart{height:190px;display:flex;align-items:flex-end;gap:18px;padding:24px 12px 0;border-bottom:1px solid #dce8ee;margin-top:10px}.finance-chart-group{height:100%;flex:1;display:grid;grid-template-rows:1fr auto;gap:8px;text-align:center;color:var(--muted);font-size:10px}.finance-bars{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:100%}.finance-bars i{display:block;width:min(24px,35%);border-radius:7px 7px 2px 2px;min-height:4px}.finance-bars .income{background:linear-gradient(#34c792,#168763)}.finance-bars .expense{background:linear-gradient(#f08e84,#d55349)}.finance-filters{display:grid;grid-template-columns:1fr .8fr 1fr 1.4fr auto auto;gap:10px;align-items:end;margin-bottom:17px}.finance-filters label{display:grid;gap:6px;font-size:11px;font-weight:700}.finance-filters input,.finance-filters select{width:100%;border:1px solid #ccdde2;border-radius:10px;padding:10px;background:#fff}.finance-reset{border:0;background:transparent;color:var(--muted);padding:10px;cursor:pointer}.finance-table-wrap{overflow:auto}.finance-table{width:100%;border-collapse:collapse;min-width:900px}.finance-table th{font-size:10px;color:var(--muted);font-weight:700;background:#f5f9fb}.finance-table th,.finance-table td{text-align:right;padding:12px 10px;border-bottom:1px solid #e6eef2}.finance-table td{font-size:11px}.finance-table td b,.finance-table td small{display:block}.finance-table td small{color:var(--muted);margin-top:4px;max-width:260px}.finance-type{display:inline-block;border-radius:20px;padding:5px 9px;font-weight:700}.finance-type.income{background:#e8f8f1;color:#117654}.finance-type.expense{background:#fff0ee;color:#b74339}.finance-amount{font-weight:800;white-space:nowrap}.finance-amount.income{color:#168763}.finance-amount.expense{color:#c94f46}.finance-attachment{color:var(--cyan-dark);text-decoration:none;border-bottom:1px dashed currentColor}.finance-modal{width:min(700px,100%)}.finance-file-field{border:1px dashed #b8d3da;border-radius:13px;padding:13px}.finance-file-field input{background:#f7fafb}.finance-file-field span{color:var(--cyan-dark);font-size:11px}.finance-modal textarea{min-height:84px;resize:vertical}@media(max-width:1050px){.finance-summary{grid-template-columns:1fr 1fr}.finance-filters{grid-template-columns:1fr 1fr 1fr}}@media(max-width:650px){.finance-toolbar{display:grid}.finance-actions{width:100%}.finance-summary,.finance-filters{grid-template-columns:1fr}.finance-chart{gap:8px}.finance-panel{padding:14px}}
/* Refined finance filters and records panel */
.finance-records-panel{padding:0;overflow:hidden}.finance-records-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 14px;border-bottom:1px solid #e7eff3}.finance-records-head h3{margin:0 0 4px}.finance-records-head p{margin:0;color:var(--muted);font-size:11px}.finance-records-head>span{background:#eef6ff;color:#185fb7;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}.finance-records-panel .finance-filters{grid-template-columns:1fr .8fr 1fr 1.5fr auto;gap:12px;padding:17px 22px;margin:0;background:linear-gradient(180deg,#fbfdff,#f7fafc);border-bottom:1px solid #e7eff3}.finance-records-panel .finance-filters label{gap:7px;font-weight:800;color:var(--navy)}.finance-records-panel .finance-filters input,.finance-records-panel .finance-filters select{height:43px;border-color:#cbdde7;border-radius:12px;padding:0 12px;box-shadow:0 2px 7px #0b223908;transition:.2s ease}.finance-records-panel .finance-filters input:focus,.finance-records-panel .finance-filters select:focus{outline:0;border-color:#2b83e6;box-shadow:0 0 0 3px #2b83e61a}.finance-filter-actions{display:flex;gap:8px;align-items:center}.finance-filter-actions .secondary{height:43px;white-space:nowrap;padding-inline:16px}.finance-records-panel .finance-reset{height:43px;border:1px solid transparent;border-radius:11px;padding:0 12px;font-weight:700}.finance-records-panel .finance-reset:hover{color:#b7443d;background:#fff0ee;border-color:#f3cbc7}.finance-records-panel .finance-table-wrap{padding:0 20px 18px}.finance-records-panel .finance-table th{font-weight:800;background:#f2f7fa}.finance-records-panel .finance-table th,.finance-records-panel .finance-table td{padding:13px 12px}.finance-records-panel .admin-empty{min-height:200px;border:0;background:linear-gradient(180deg,#fff,#f9fbfd);display:grid;place-items:center;border-radius:16px;font-size:13px;color:var(--muted)}
@media(max-width:1050px){.finance-records-panel .finance-filters{grid-template-columns:1fr 1fr}.finance-filter-actions{grid-column:1/-1}}@media(max-width:650px){.finance-records-head{align-items:flex-start}.finance-records-panel .finance-filters{grid-template-columns:1fr}.finance-filter-actions{grid-column:auto}.finance-filter-actions>*{flex:1}.finance-records-panel .finance-table-wrap{padding-inline:12px}}

/* Income source breakdown */
.income-sources-panel{padding:21px}.income-sources-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}.income-sources-head h3{margin:8px 0 4px;font-size:19px}.income-sources-head p{margin:0;color:var(--muted);font-size:11px}.finance-show-all{border:1px solid #c8dcec;background:#f8fbff;color:#315d80;border-radius:11px;padding:10px 14px;font-weight:700;cursor:pointer;transition:.2s}.finance-show-all:hover,.finance-show-all.active{background:#123f76;border-color:#123f76;color:#fff;transform:translateY(-2px)}.income-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.income-source-card{position:relative;text-align:right;border:1px solid #d9e6ef;background:linear-gradient(145deg,#fff,#f7fbff);border-radius:17px;padding:16px 16px 15px 62px;min-height:112px;cursor:pointer;display:grid;gap:5px;color:#173650;overflow:hidden;transition:.22s ease}.income-source-card:hover,.income-source-card.active{transform:translateY(-3px);border-color:#88b8e1;box-shadow:0 13px 27px rgba(13,66,118,.1)}.income-source-card.active{background:linear-gradient(145deg,#eef6ff,#f9fcff);box-shadow:inset 0 0 0 1px #5c9bd4,0 13px 27px rgba(13,66,118,.1)}.income-source-icon{position:absolute;left:15px;top:17px;width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:#e8f3ff;color:#176dc1;font-size:17px}.income-source-card small{color:#687e91;font-size:11px}.income-source-card b{font-size:18px;font-variant-numeric:tabular-nums}.income-source-card em{font-style:normal;color:#18815f;font-size:10px;font-weight:700}.income-source-card:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-28px;bottom:-35px;background:#2179d2;opacity:.05}
@media(max-width:850px){.income-source-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.income-sources-head{align-items:flex-start;flex-direction:column}.finance-show-all{width:100%}.income-source-grid{grid-template-columns:1fr}}

.income-source-column{display:flex;flex-direction:column;border:1px solid #dce7ef;border-radius:18px;background:#fbfdff;overflow:hidden;transition:.22s ease}.income-source-column.active{border-color:#73a8d9;box-shadow:0 13px 28px rgba(13,66,118,.1)}.income-source-column .income-source-card{width:100%;border:0;border-radius:0;border-bottom:1px solid #e4edf4;background:linear-gradient(145deg,#fff,#f3f8fd)}.income-source-column .income-source-card:hover{transform:none;box-shadow:none}.income-source-movements{display:grid;padding:7px 13px 12px;background:#fff;max-height:300px;overflow:auto}.income-source-movements article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px;border-bottom:1px solid #edf2f6}.income-source-movements article:last-child{border-bottom:0}.income-source-movements article div{min-width:0}.income-source-movements article b,.income-source-movements article small{display:block}.income-source-movements article b{font-size:11px;color:#24435e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.income-source-movements article small{font-size:9px;color:#7a8d9c;margin-top:4px}.income-source-movements article strong{font-size:11px;color:#13825e;white-space:nowrap;font-variant-numeric:tabular-nums}.income-source-movements>button{border:0;background:#eef6ff;color:#1a65af;border-radius:9px;padding:8px;margin-top:8px;cursor:pointer;font-size:10px;font-weight:700}.income-source-empty{min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8495a3;text-align:center}.income-source-empty span{font-size:20px}.income-source-empty p{font-size:10px;margin:5px 0 0}
.income-source-movements .income-source-add{margin-top:10px;background:linear-gradient(135deg,#123f76,#176bc1);color:#fff;padding:10px;border-radius:10px;box-shadow:0 7px 16px rgba(18,74,139,.16);transition:.2s}.income-source-movements .income-source-add:hover{transform:translateY(-2px);box-shadow:0 11px 22px rgba(18,74,139,.24)}
.income-source-column:hover{transform:translateY(-3px);border-color:#a9c9e6;box-shadow:0 15px 30px rgba(13,66,118,.08)}.income-source-column:focus-within{border-color:#4f96d6;box-shadow:0 0 0 3px rgba(43,131,230,.12),0 15px 30px rgba(13,66,118,.08)}.income-source-movements .income-source-add:active{transform:translateY(1px) scale(.985);box-shadow:0 4px 10px rgba(18,74,139,.18)}.income-source-movements .income-source-add:focus-visible{outline:3px solid rgba(43,131,230,.28);outline-offset:2px}.income-source-card em{display:inline-flex;align-items:center;width:max-content;padding:3px 8px;border-radius:999px;background:#e9f8f2;color:#0d805a}.income-source-column.active .income-source-card{background:linear-gradient(145deg,#eef6ff,#f9fcff)}
.income-source-card{cursor:pointer;text-align:right;position:relative}.income-source-chevron{position:absolute;left:19px;bottom:18px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e8f2fd;color:#2069ad;font-style:normal;font-size:17px;transition:transform .22s ease,background .22s ease}.income-source-column.expanded{border-color:#72a9da;box-shadow:0 14px 30px rgba(13,66,118,.1)}.income-source-column.expanded .income-source-chevron{transform:rotate(180deg);background:#176bc1;color:#fff}.income-source-movements[hidden]{display:none}.income-source-column.expanded .income-source-movements{animation:incomeReveal .22s ease both}@keyframes incomeReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.finance-source-badge{display:inline-flex;align-items:center;padding:.38rem .7rem;border-radius:999px;background:#eef5ff;color:#1859a6;font-weight:800;white-space:nowrap}
.finance-source-view{display:grid;gap:6px;color:var(--navy);font-size:11px;font-weight:800;min-width:190px}.finance-source-view select{height:43px;border:1px solid #c8dcec;border-radius:12px;background:#fff;padding:0 12px;color:#173650;font-weight:700}.finance-source-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.finance-source-summary article{border:1px solid #d9e6ef;border-radius:14px;padding:13px 15px;background:linear-gradient(145deg,#fff,#f5f9fd);display:grid;gap:6px}.finance-source-summary span{font-size:10px;color:var(--muted)}.finance-source-summary b{font-size:17px;color:var(--navy);font-variant-numeric:tabular-nums}.finance-source-summary article:nth-child(1) b{color:#168763}.finance-source-summary article:nth-child(2) b{color:#c94f46}.finance-source-summary article:nth-child(3) b{color:#185fb7}@media(max-width:850px){.finance-source-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){.finance-source-view{width:100%}.finance-source-summary{grid-template-columns:1fr}}
.income-source-movements article strong.expense{color:#c94f46}
.commitments-panel{padding:0;overflow:hidden}.commitments-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e6eef3;background:linear-gradient(135deg,#fff,#f6faff)}.commitments-head h3{margin:7px 0 4px}.commitments-head p{margin:0;color:var(--muted);font-size:11px}.commitments-head>div:last-child{display:flex;align-items:center;gap:12px}.commitments-head>div:last-child>span{display:grid;gap:3px;color:var(--muted);font-size:10px}.commitments-head>div:last-child b{font-size:16px;color:#174f8c;font-variant-numeric:tabular-nums}.commitments-table-wrap{overflow:auto;padding:16px 18px 18px}.commitments-table{width:100%;border-collapse:separate;border-spacing:0;min-width:940px}.commitments-table th,.commitments-table td{text-align:right;padding:14px 12px;border-bottom:1px solid #e3ecf3;font-size:11px}.commitments-table th{height:44px;box-sizing:border-box;color:#294965;background:#eef5fb;font-size:10px;font-weight:900;text-align:center;white-space:nowrap;border-top:1px solid #d8e6f0;border-bottom:1px solid #d8e6f0;border-inline-end:1px solid #e1ebf3}.commitments-table th:first-child{text-align:right;border-radius:0 10px 10px 0;border-inline-start:1px solid #d8e6f0}.commitments-table th:last-child{border-radius:10px 0 0 10px;border-inline-end:1px solid #d8e6f0}.commitments-table tbody tr{transition:background .18s ease}.commitments-table tbody tr:hover{background:#f6faff}.commitments-table td:not(:first-child){text-align:center}.commitments-table td b,.commitments-table td small{display:block}.commitments-table td small{color:var(--muted);margin-top:4px;max-width:220px}.commitment-amount{font-weight:900;color:#174f8c;white-space:nowrap;font-variant-numeric:tabular-nums}.commitment-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:800}.commitment-status.pending{background:#fff4d9;color:#9b6710}.commitment-status.paid{background:#e5f8ef;color:#127653}.commitments-empty{min-height:130px;display:grid;place-items:center;color:var(--muted)}.commitment-modal{width:min(720px,100%)}.commitment-modal textarea{min-height:80px;resize:vertical}@media(max-width:700px){.commitments-head{align-items:flex-start;flex-direction:column}.commitments-head>div:last-child{width:100%;justify-content:space-between}}
.commitment-modal label{display:grid;gap:8px;font-weight:800}.commitment-modal input,.commitment-modal select,.commitment-modal textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #c9dce7;border-radius:12px;background:#fbfdff;color:#102c45;font:inherit;padding:0 14px;outline:0;box-shadow:none}.commitment-modal input,.commitment-modal select{height:46px;min-height:46px}.commitment-modal select{-webkit-appearance:none;appearance:none;background-color:#fbfdff;background-image:linear-gradient(45deg,transparent 50%,#173650 50%),linear-gradient(135deg,#173650 50%,transparent 50%);background-position:16px 20px,11px 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-inline-start:34px}.commitment-modal input[type="date"]{-webkit-appearance:none;appearance:none;direction:ltr;text-align:right;font-variant-numeric:tabular-nums}.commitment-modal input[type="number"]{font-variant-numeric:tabular-nums}.commitment-modal textarea{min-height:82px;padding-block:13px;line-height:1.6;resize:vertical}.commitment-modal input:focus,.commitment-modal select:focus,.commitment-modal textarea:focus{border-color:#2b83e6;box-shadow:0 0 0 3px rgba(43,131,230,.13);background:#fff}
@media(min-width:851px){.income-source-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1100px){.income-source-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Keep collapsed income sources compact when another source is expanded. */
.income-source-grid{align-items:start}
.income-source-column{height:max-content;min-width:0}
.income-source-movements{overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#9cb0c0 transparent}
.income-source-movements article{min-width:0}
.income-source-movements article div{flex:1;min-width:0}
.income-source-movements article b{max-width:100%}
.income-source-movements article strong{flex:0 0 auto}
.income-source-details{margin-top:14px;border:1px solid #dce7ef;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 10px 25px rgba(13,66,118,.06);animation:incomeReveal .22s ease both}
.income-source-details-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 17px;border-bottom:1px solid #e5edf3;background:linear-gradient(145deg,#f8fbff,#f2f7fd)}
.income-source-details-head small{display:block;color:#687e91;font-size:10px}.income-source-details-head h4{margin:3px 0 0;color:#173650;font-size:17px}.income-source-details-head>div:last-child{display:flex;align-items:center;gap:10px}.income-source-details-head span{padding:5px 9px;border-radius:999px;background:#e9f8f2;color:#0d805a;font-size:10px;font-weight:800}.income-source-details-head b{font-size:17px;color:#185fb7;font-variant-numeric:tabular-nums}
.income-source-details .income-source-movements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;max-height:none;padding:8px 17px 15px;overflow:visible}
.income-source-details .income-source-movements article{padding:12px 2px}.income-source-details .income-source-movements article b{max-width:none}.income-source-details .income-source-movements>button{grid-column:1/-1}.income-source-details .income-source-empty{grid-column:1/-1}
@media(max-width:760px){.income-source-details .income-source-movements{grid-template-columns:1fr}.income-source-details-head{align-items:flex-start;flex-direction:column}.income-source-details-head>div:last-child{width:100%;justify-content:space-between}}
.commitments-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.commitments-controls label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:800}.commitments-controls input[type="month"]{height:43px;min-width:165px;box-sizing:border-box;border:1px solid #c8dcec;border-radius:12px;background:#fff;color:#173650;padding:0 12px;font:inherit;font-weight:800;outline:0}.commitments-controls input[type="month"]:focus{border-color:#2b83e6;box-shadow:0 0 0 3px rgba(43,131,230,.13)}.commitments-controls>span{min-height:43px;padding:0 14px;border:1px solid #dce7ef;border-radius:12px;background:#fff;align-content:center}.commitments-controls .admin-primary{min-height:43px}@media(max-width:760px){.commitments-controls{width:100%;display:grid;grid-template-columns:1fr 1fr}.commitments-controls label,.commitments-controls .admin-primary{grid-column:1/-1}.commitments-controls input[type="month"]{width:100%}}
.commitments-controls{align-items:stretch;gap:10px;flex-wrap:nowrap}.commitments-controls label,.commitments-controls>span,.commitments-controls .admin-primary{height:62px;min-height:62px;box-sizing:border-box;border-radius:14px}.commitments-controls label{width:170px;padding:8px 13px 7px;border:1px solid #d4e2ec;background:#fff;gap:1px;box-shadow:0 7px 20px rgba(14,57,92,.045)}.commitments-controls input[type="month"]{width:100%;min-width:0;height:29px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.commitments-controls input[type="month"]:focus{border:0;box-shadow:none}.commitments-controls>span{width:142px;min-width:142px;padding:8px 14px;border:1px solid #d4e2ec;background:#fff;display:grid;align-content:center;gap:2px;box-shadow:0 7px 20px rgba(14,57,92,.045)}.commitments-controls>span b{font-size:16px;white-space:nowrap}.commitments-controls .admin-primary{min-width:150px;padding-inline:18px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:0 10px 24px rgba(10,56,113,.18)}@media(max-width:900px){.commitments-head{align-items:flex-start;flex-direction:column}.commitments-controls{width:100%;display:grid;grid-template-columns:1fr 1fr}.commitments-controls label{width:100%}.commitments-controls>span{width:100%;min-width:0}.commitments-controls .admin-primary{grid-column:1/-1;width:100%}}@media(max-width:520px){.commitments-controls{grid-template-columns:1fr}.commitments-controls .admin-primary{grid-column:auto}}
.commitments-controls .commitment-month-control{width:268px}.commitment-month-nav{display:grid;grid-template-columns:34px minmax(150px,1fr) 34px;align-items:center;gap:5px;direction:ltr}.commitment-month-nav select{width:100%;height:31px;border:0;background:transparent;color:#173650;font:inherit;font-size:12px;font-weight:900;text-align:center;outline:0;cursor:pointer}.commitment-month-nav button{width:31px;height:31px;border:0;border-radius:9px;background:#eaf3ff;color:#176bc1;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.18s ease}.commitment-month-nav button:hover{background:#176bc1;color:#fff;transform:translateY(-1px)}@media(max-width:900px){.commitments-controls .commitment-month-control{width:100%}}@media(max-width:520px){.commitment-month-nav{grid-template-columns:36px minmax(0,1fr) 36px}}
.commitment-check{display:inline-grid;place-items:center;cursor:pointer}.commitment-check input{position:absolute;opacity:0;pointer-events:none}.commitment-check span{width:30px;height:30px;border:1px solid #c8dcec;border-radius:9px;background:#fff;color:transparent;display:grid;place-items:center;font-size:16px;font-weight:900;transition:.18s ease}.commitment-check:hover span{border-color:#5e9bd2;box-shadow:0 5px 13px rgba(23,107,193,.12);transform:translateY(-1px)}.commitment-check input:checked+span{background:#168763;border-color:#168763;color:#fff;box-shadow:0 6px 15px rgba(22,135,99,.2)}.commitment-check input:focus-visible+span{outline:3px solid rgba(43,131,230,.22);outline-offset:2px}.commitment-row-paid{background:#f7fcfa}.commitment-row-paid td:first-child b{text-decoration:line-through;color:#70877e}.commitment-row-paid .commitment-amount{color:#168763}

/* Keep income sources and their full transaction list together. */
.finance-dashboard>.account-balances-panel{grid-row:3}
.finance-dashboard>.income-sources-panel{grid-row:4;border-radius:18px 18px 0 0;border-bottom-color:#e4edf4;box-shadow:0 9px 24px #0b223908}
.finance-dashboard>.finance-records-panel{grid-row:5;margin-top:-18px;border-radius:0 0 18px 18px;border-top:0;box-shadow:0 16px 32px #0b22390a}
.finance-dashboard>.commitments-panel{grid-row:6}
.finance-dashboard>.finance-panel:not(.account-balances-panel):not(.income-sources-panel):not(.finance-records-panel):not(.commitments-panel){grid-row:7}
.finance-records-panel .finance-records-head{background:linear-gradient(180deg,#fbfdff,#f7fafc)}
.finance-records-tools{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.finance-records-tools>span{align-self:center;background:#eef6ff;color:#185fb7;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}.finance-records-tools label{display:grid;gap:4px;color:#63798c;font-size:9px;font-weight:800}.finance-records-tools input{height:36px;border:1px solid #cbdde7;border-radius:10px;background:#fff;padding:0 9px;color:#173650;font:inherit;font-weight:800}.finance-records-tools .danger{height:36px;border:1px solid #efbbb5;border-radius:10px;background:#fff5f3;color:#b54238;padding:0 12px;font-weight:800;cursor:pointer;transition:.2s}.finance-records-tools .danger:hover{transform:translateY(-2px);background:#c94f46;border-color:#c94f46;color:#fff;box-shadow:0 8px 18px rgba(201,79,70,.2)}@media(max-width:760px){.finance-records-head{display:grid;gap:13px}.finance-records-tools{width:100%}.finance-records-tools label{flex:1}.finance-records-tools input{width:100%;box-sizing:border-box}}
.finance-records-tools .finance-delete-all{background:#c4473d;color:#fff;border-color:#c4473d}.finance-records-tools .finance-delete-all:hover{background:#a8322a;border-color:#a8322a}
.finance-period-title{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:2px 3px}.finance-period-title div{display:grid;gap:4px}.finance-period-title span,.finance-period-title small{color:var(--muted);font-size:10px}.finance-period-title b{color:var(--navy);font-size:16px}.finance-summary-sources{grid-template-columns:repeat(8,minmax(0,1fr));gap:9px}.finance-summary-sources article{padding:14px 12px;min-height:78px;align-content:center}.finance-summary-sources article.source:before{background:#62a3dc}.finance-summary-sources article.source b{font-size:17px;color:#185fb7}.finance-summary-sources article.total{background:linear-gradient(145deg,#fff,#f7fbff)}.finance-summary-sources article.total b{font-size:18px}.income-sources-panel{background:linear-gradient(180deg,#fff,#fbfdff)}.income-sources-panel .income-source-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.income-sources-panel .income-source-column{background:#fff}.income-sources-panel .income-source-card{min-height:132px}.income-source-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:4px}.income-source-totals span{display:grid;gap:3px;padding:7px 5px;border:1px solid #dce8f1;border-radius:10px;background:#fff;text-align:center}.income-source-totals small{font-size:8px}.income-source-totals b{font-size:12px}.income-source-totals .income b{color:#13825e}.income-source-totals .expense b{color:#c94f46}.income-source-totals .remaining b{color:#185fb7}@media(max-width:1100px){.finance-summary-sources{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.finance-summary-sources,.income-sources-panel .income-source-grid{grid-template-columns:1fr 1fr}.finance-period-title{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.finance-summary-sources,.income-sources-panel .income-source-grid{grid-template-columns:1fr}}
.commitments-bottom-total{margin-top:-18px;border:1px solid #cfe0ec;border-top:0;border-radius:0 0 18px 18px;background:linear-gradient(135deg,#f7fbff,#eef6ff);padding:15px 24px;display:flex;align-items:center;gap:14px;color:#62798d}.commitments-bottom-total span{font-size:11px;font-weight:800}.commitments-bottom-total b{font-size:20px;color:#164f8f;font-variant-numeric:tabular-nums}.commitments-bottom-total small{margin-inline-start:auto;border-radius:999px;background:#fff;padding:6px 10px;color:#587087;font-weight:800}@media(max-width:560px){.commitments-bottom-total{align-items:flex-start;flex-direction:column;margin-top:-18px}.commitments-bottom-total small{margin-inline-start:0}}
.income-source-column.active .income-source-chevron{transform:rotate(180deg);background:#176bc1;color:#fff}
@media(max-width:650px){.finance-dashboard>.income-sources-panel{border-radius:16px 16px 0 0}.finance-dashboard>.finance-records-panel{border-radius:0 0 16px 16px}}
.account-balances-panel{padding:20px}.account-balances-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}.account-balances-head h3{margin:7px 0 4px;color:var(--navy)}.account-balances-head p{margin:0;color:var(--muted);font-size:11px}.account-balances-head form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto;gap:9px;align-items:end;min-width:min(100%,560px)}.account-balances-head label{display:grid;gap:6px;font-size:10px;font-weight:800;color:#264761}.account-balances-head input{height:42px;border:1px solid #c8dcec;border-radius:11px;padding:0 12px;background:#fff;color:#173650}.account-balances-head button{height:42px;border:0;border-radius:11px;background:linear-gradient(135deg,#154785,#1c70c4);color:#fff;padding:0 17px;font-weight:800;cursor:pointer;transition:.2s}.account-balances-head button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,76,139,.2)}.account-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.account-balance-card{border:1px solid #d7e5f0;border-radius:15px;background:linear-gradient(145deg,#fff,#f5f9fd);padding:14px;text-align:right;display:grid;gap:6px;color:#163750;cursor:pointer;transition:.2s}.account-balance-card:hover{transform:translateY(-2px);border-color:#75a9d7;box-shadow:0 10px 22px rgba(15,68,120,.1)}.account-balance-card small{color:#6c8193}.account-balance-card b{font-size:17px;font-variant-numeric:tabular-nums}.account-balance-card span{font-size:9px;color:#718698}.account-balances-empty{grid-column:1/-1;border:1px dashed #c9dce9;border-radius:14px;padding:20px;text-align:center;color:#748799}@media(max-width:950px){.account-balances-head{align-items:stretch;flex-direction:column}.account-balances-head form{min-width:0}.account-balance-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.account-balances-head form,.account-balance-grid{grid-template-columns:1fr}}
.account-balance-item{border:1px solid #d7e5f0;border-radius:15px;background:linear-gradient(145deg,#fff,#f5f9fd);overflow:hidden}.account-balance-item .account-balance-card{width:100%;border:0;border-radius:0;background:transparent}.account-balance-reset{width:calc(100% - 20px);margin:0 10px 10px;height:34px;border:1px solid #c9dcec;border-radius:9px;background:#fff;color:#315d80;font-size:10px;font-weight:800;cursor:pointer;transition:.2s}.account-balance-reset:hover{background:#176bc1;border-color:#176bc1;color:#fff;transform:translateY(-1px)}
.loan-accounts{margin-top:18px;border:1px solid #d5e5f2;border-radius:18px;padding:17px;background:linear-gradient(145deg,#f8fbff,#fff)}.loan-accounts-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}.loan-accounts-head h4{margin:0 0 4px;color:#143653;font-size:17px}.loan-accounts-head p{margin:0;color:#718496;font-size:10px}.loan-accounts-head form{display:flex;gap:8px;min-width:min(100%,360px)}.loan-accounts-head input{flex:1;min-width:0;height:42px;border:1px solid #c8dcec;border-radius:11px;padding:0 12px;background:#fff}.loan-accounts-head button,.loan-add-movement{border:0;border-radius:11px;background:linear-gradient(135deg,#164c8e,#1d73c8);color:#fff;padding:0 15px;font-weight:800;cursor:pointer;transition:.2s}.loan-accounts-head button:hover,.loan-add-movement:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(19,79,145,.2)}.loan-account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.loan-account-card{border:1px solid #d8e6f1;border-radius:14px;background:#fff;padding:13px;text-align:right;display:grid;gap:5px;color:#183a57;cursor:pointer;transition:.2s}.loan-account-card:hover,.loan-account-card.active{transform:translateY(-2px);border-color:#6ba5db;box-shadow:0 9px 20px rgba(20,76,133,.1)}.loan-account-card.active{background:#edf6ff;box-shadow:inset 0 0 0 1px #4f96d6}.loan-account-card small{color:#718698}.loan-account-card b{font-size:16px}.loan-account-card em{font-style:normal;color:#16805e;font-size:10px;font-weight:800}.loan-add-movement{height:42px;width:100%;margin-top:11px}.loan-name-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf4ff;color:#185ea8;font-weight:800;white-space:nowrap}@media(max-width:900px){.loan-account-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.loan-accounts-head{align-items:stretch;flex-direction:column}.loan-accounts-head form{min-width:0}.loan-account-grid{grid-template-columns:1fr}}
