/* Scoped to the finance workspace; the health and gym interface is unchanged. */
.finance-workspace{--fin-green:#91b5a7;--fin-rust:#c58f7c}
.finance-workspace .page-title{margin-bottom:26px}.finance-workspace .page-title h1{font-size:42px}
.finance-period{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0 24px;border-top:1px solid var(--line)}.finance-period .eyebrow{margin-bottom:6px;font-size:8px}.finance-month-picker{display:flex;align-items:center;gap:9px}.finance-month-picker input{margin:0;width:175px;background:transparent;border:0;padding:5px 3px;color:var(--ink);font-size:15px}.finance-month-step{border:1px solid var(--line);background:#222326;color:#d7bc89;border-radius:6px;width:29px;height:29px;font-size:21px;line-height:1}.finance-sync{display:flex;align-items:center;gap:15px}.finance-sync>span{font-size:11px;color:var(--muted)}.finance-sync .secondary{font-size:12px;padding:9px 13px}
.finance-stats .stat{padding:22px 20px}.finance-stats .stat strong{font-family:"Segoe UI",sans-serif;font-size:clamp(18px,1.9vw,29px);letter-spacing:-.7px;overflow-wrap:anywhere;line-height:1.4}.finance-stats .stat small{min-height:0}.finance-stats .stat:nth-child(1):before{background:var(--fin-green)}.finance-stats .stat:nth-child(2):before{background:var(--fin-rust)}.finance-stats .stat:nth-child(1) strong{color:#b5d5c8}.finance-stats .stat:nth-child(2) strong{color:#e1b7a4}
.finance-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin:30px 0 25px}.finance-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;padding:0 1px 15px;color:var(--muted);font-size:13px}.finance-tabs button.selected{color:#e3c99d;border-bottom-color:var(--green)}.finance-overview-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:22px;align-items:start}.finance-overview-grid>.panel{min-width:0;min-height:330px;margin-bottom:20px}.finance-workspace .panel-head h2{font-size:16px}.finance-chart-key{display:flex;gap:18px;align-items:center;font-size:11px}.finance-chart-key>span:first-child{color:var(--fin-green)}.finance-chart-key>span:nth-child(2){color:var(--fin-rust)}.finance-chart-key small{margin-left:auto;font-size:10px}.finance-flow-chart{display:block;width:100%;height:auto;margin:20px 0 3px}.finance-grid-line{stroke:#343538;stroke-dasharray:4 5}.finance-flow-chart text{fill:#aaa7a0;font:11px "Segoe UI",sans-serif}.fin-bar-income{fill:var(--fin-green)}.fin-bar-expense{fill:var(--fin-rust)}.finance-chart-foot{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:var(--muted)}.finance-chart-foot strong{color:var(--ink);font-weight:500}
.finance-category-head{display:flex;gap:20px;align-items:center;margin:3px 0 20px}.finance-category-head svg{width:112px;flex-shrink:0}.finance-category-head small{font-size:8px;letter-spacing:1px}.finance-category-head strong{font-size:20px;display:block;margin:5px 0;font-weight:500}.finance-category-head span{font-size:11px;color:var(--muted)}.finance-category-list{max-height:245px;overflow:auto}.finance-category-row{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;border:0;border-top:1px solid var(--line);padding:12px 0;color:var(--ink);font-size:12px;text-align:left;gap:12px}.finance-category-row:hover{background:#d7bc8908}.finance-category-name{display:flex;align-items:center;gap:9px;min-width:0;overflow-wrap:anywhere}.finance-category-row>span:last-child{text-align:right;flex-shrink:0}.finance-category-row strong{display:block;font-size:12px;font-weight:500}.finance-category-row small{font-size:10px;color:var(--muted)}.fin-color{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.fin-color-0{background:#d7bc89}.fin-color-1{background:#91b5a7}.fin-color-2{background:#b3a0c7}.fin-color-3{background:#c58f7c}.fin-color-4{background:#849fb7}.fin-color-5{background:#b7ba82}.fin-color-6{background:#8ca1a0}.fin-color-7{background:#c0a69b}
.finance-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;margin:0 0 25px;background:#18191c}.finance-insights>div{padding:21px 23px;min-width:0}.finance-insights>div+div{border-left:1px solid var(--line)}.finance-insights .eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:10px}.finance-insights strong{font-size:20px;font-weight:500;overflow-wrap:anywhere}.finance-insights strong small{font-size:11px;font-weight:400}.finance-insights p{font-size:11px;color:var(--muted);margin:7px 0 0;overflow-wrap:anywhere}.finance-insights .text-button{font-size:11px}.finance-disclosure{font-size:11px;color:var(--muted);line-height:1.8;margin:10px 0 25px}
.finance-ledger{padding-bottom:10px}.finance-ledger .panel-head{align-items:flex-start}.finance-ledger .panel-head p{font-size:12px;margin:7px 0 0}.finance-ledger .panel-head .secondary{font-size:12px;padding:10px 14px}.finance-filters{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1.1fr;gap:12px;margin-top:24px}.finance-filters label,.finance-filters-secondary label{font-size:10px;color:var(--muted);min-width:0;margin-bottom:12px}.finance-filters input,.finance-filters select,.finance-filters-secondary select{font-size:12px;min-width:0;height:43px;margin-top:6px;padding:9px}.finance-filters-secondary{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:8px}.finance-filters-secondary label{min-width:155px}.finance-filters-secondary>button{margin-left:auto;font-size:11px}.finance-results-head{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;color:var(--muted);padding:17px 0}.finance-results-head b{font-weight:500}.finance-results-head strong{color:var(--ink);font-weight:500}
.finance-table{font-size:11px;min-width:630px}.finance-table th{font-size:9px;letter-spacing:.3px}.finance-table td{padding:15px 9px;vertical-align:middle}.finance-table td:first-child{width:35%;min-width:180px}.finance-table td:nth-child(2){white-space:nowrap}.finance-table tr:hover td{background:#ffffff02}.finance-transaction{background:transparent;border:0;padding:0;display:flex;align-items:center;gap:11px;color:var(--ink);text-align:left;width:100%;line-height:1.6}.finance-transaction>span:last-child{min-width:0}.finance-transaction strong{font-size:12px;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.finance-transaction small{font-size:10px;display:block;color:var(--muted);margin-top:3px}.finance-tx-icon{display:grid;place-items:center;width:32px;height:32px;background:#ffffff05;border:1px solid #ffffff08;border-radius:9px;flex-shrink:0;font-size:17px}.finance-tag{display:inline-block;font-size:9px;line-height:1.5;border:1px solid #414045;border-radius:5px;padding:4px 7px;color:#c6c2b8;max-width:150px;overflow-wrap:anywhere}.finance-amount{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-weight:500}.finance-detail-button{border:0;background:transparent;color:var(--muted);font-size:16px;padding:5px}.finance-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 0;font-size:11px;color:var(--muted)}.finance-pagination>div{display:flex;gap:8px}.finance-pagination .secondary{font-size:11px;padding:7px 11px}.finance-pagination button:disabled{cursor:default}
.finance-empty{text-align:center;padding:50px 20px;color:var(--muted)}.finance-empty>span{font-size:30px;color:#b7a17a;display:block;margin-bottom:13px}.finance-empty h3{color:var(--ink);font-weight:500;font-size:16px}.finance-empty p{font-size:12px;line-height:1.8;max-width:360px;margin:0 auto}.finance-error{padding:28px;border:1px solid #6b503b;border-radius:12px;background:#282119}.finance-error h2{font-size:19px}.finance-error p{font-size:13px;color:#d0bc9f}.finance-error p:last-child{margin-bottom:0}
.finance-debt-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.finance-debt-stats .stat strong{font-size:23px}.finance-debt-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.finance-debt-filters .secondary{font-size:11px;padding:8px 13px}.finance-debt-filters .selected{border-color:#ad956e;color:#e6cda2;background:#d7bc8912}.finance-debt-filters+p{font-size:12px}.finance-debt-list{display:grid;gap:14px}.finance-debt-card{border:1px solid var(--line);border-radius:10px;padding:20px;background:#16171a}.finance-debt-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.finance-debt-title h3{font-size:17px;margin:10px 0 5px}.finance-debt-title p{margin:0;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.finance-debt-title>strong{font-size:22px;font-weight:500;white-space:nowrap}.finance-debt-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border-top:1px solid var(--line);padding-top:17px;margin:18px 0 0}.finance-debt-card dt{font-size:10px;color:var(--muted);margin-bottom:6px}.finance-debt-card dd{font-size:12px;margin:0;overflow-wrap:anywhere}.finance-debt-card>p{font-size:12px;margin:15px 0 0}
#finance-detail{width:min(570px,94vw)}.finance-detail-amount{font-size:32px;font-weight:500;letter-spacing:-.8px;line-height:1.4;margin:10px 0}.finance-detail-note{font-size:14px;overflow-wrap:anywhere;margin-bottom:25px}.finance-detail-fields>div{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:12px 0;border-top:1px solid var(--line)}.finance-detail-fields dt{font-size:12px;color:var(--muted)}.finance-detail-fields dd{font-size:12px;margin:0;overflow-wrap:anywhere}
@media(max-width:1200px){.finance-overview-grid{grid-template-columns:1fr}.finance-overview-grid>.panel{min-height:0}.finance-chart-key small{display:none}.finance-flow-chart{max-height:230px}.finance-filters{grid-template-columns:1fr 1fr}.finance-stats .stat strong{font-size:20px}.finance-category-list{max-height:220px}}
@media(max-width:760px){.finance-workspace .page-title{flex-wrap:wrap;gap:16px}.finance-workspace .page-title h1{font-size:32px}.finance-workspace .page-title>.primary{font-size:12px}.finance-period{align-items:flex-end;gap:10px}.finance-sync{display:block;text-align:right}.finance-sync>span{font-size:9px;display:block;margin-bottom:8px}.finance-month-picker{gap:5px}.finance-month-picker input{width:132px;font-size:13px}.finance-sync .secondary{font-size:11px;padding:8px 10px}.finance-stats{gap:10px}.finance-stats .stat{padding:18px 13px}.finance-stats .stat strong{font-size:20px}.finance-stats .stat em{font-size:10px}.finance-tabs{gap:25px}.finance-tabs button{font-size:12px}.finance-insights{grid-template-columns:1fr}.finance-insights>div{padding:19px}.finance-insights>div+div{border-left:0;border-top:1px solid var(--line)}.finance-insights strong{font-size:21px}.finance-filters{gap:10px}.finance-filters .finance-search{grid-column:1/-1}.finance-filters-secondary{gap:10px;flex-wrap:wrap}.finance-filters-secondary label{min-width:0;flex:1}.finance-filters-secondary>button{margin:0 0 12px;flex-basis:100%;text-align:left}.finance-results-head{align-items:flex-start;flex-direction:column;gap:6px}.finance-ledger .panel-head{gap:10px}.finance-ledger .panel-head p{font-size:11px}.finance-debt-stats{grid-template-columns:1fr;gap:10px}.finance-debt-stats .stat{padding:17px}.finance-debt-stats .stat small{min-height:0}.finance-debt-stats .stat strong{margin:7px 0;font-size:24px}.finance-debt-title{align-items:flex-start;flex-direction:column;gap:12px}.finance-debt-title>strong{font-size:23px}.finance-debt-card{padding:17px}.finance-debt-card dl{grid-template-columns:1fr 1fr;gap:16px}.finance-detail-amount{font-size:27px}.finance-detail-fields>div{grid-template-columns:110px 1fr;gap:10px}}
.finance-entry-examples{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 20px}.finance-entry-examples>span{font-size:11px;color:var(--muted);margin-right:5px}.finance-entry-examples .secondary{padding:7px 11px;font-size:11px}.finance-entry-note{font-size:12px;line-height:1.85;color:var(--muted)}

.finance-debt-title>strong::before{content:attr(data-label);display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:5px;font-weight:400}

.finance-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.finance-form-grid input,.finance-form-grid select{min-width:0}.finance-entry-modes{display:flex;gap:10px;margin:0 0 24px}.finance-entry-modes .secondary{padding:10px 14px;font-size:12px}.finance-entry-modes .selected{border-color:#b1986d;color:#e3cba3;background:#d7bc8914}
#finance-editor{width:min(720px,95vw)}#finance-manage-error{color:#f6ac9c;font-size:12px;line-height:1.8}#finance-manage-fields label{font-size:12px}#finance-manage-fields .finance-entry-note{margin-top:15px}#finance-editor button:disabled{cursor:wait}.finance-payment-summary{padding:18px;border:1px solid var(--line);border-radius:10px;margin-bottom:20px;background:#151619}.finance-payment-summary>span{font-size:19px;font-weight:500}.finance-payment-summary p{font-size:13px;color:var(--muted);margin:8px 0 13px}.finance-payment-summary strong{font-weight:500;color:#dec498}.finance-debt-actions{margin-top:20px;text-align:right}.finance-debt-actions button{font-size:12px;padding:10px 14px}
.finance-budget-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 25px}.finance-budget-intro h2{font-size:22px;margin-bottom:7px}.finance-budget-intro p{font-size:12px;color:var(--muted);margin:0}.finance-budget-intro .primary{font-size:12px}.finance-budget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.finance-budget-card{min-width:0}.finance-budget-card .panel-head{align-items:flex-start;gap:15px}.finance-budget-card h3{font-size:17px;margin:0;overflow-wrap:anywhere}.finance-budget-status{font-size:9px;border:1px solid #3a4d43;color:#b1cfbc;border-radius:5px;padding:5px 7px;white-space:nowrap}.finance-budget-card.near .finance-budget-status,.finance-budget-card.full .finance-budget-status{border-color:#6f5b33;color:#ddc18b}.finance-budget-card.over .finance-budget-status{border-color:#795248;color:#ecb29d}.finance-budget-spent{font-size:27px;font-weight:500;letter-spacing:-.5px}.finance-budget-card>p{font-size:12px;margin:4px 0 20px}.finance-budget-card progress{display:block;width:100%;height:7px;border:0;border-radius:6px;appearance:none;background:#303236;overflow:hidden;accent-color:#91b5a7}.finance-budget-card progress::-webkit-progress-bar{background:#303236;border-radius:6px}.finance-budget-card progress::-webkit-progress-value{background:#91b5a7;border-radius:6px}.finance-budget-card progress::-moz-progress-bar{background:#91b5a7}.finance-budget-card.near progress,.finance-budget-card.full progress{accent-color:#d7bc89}.finance-budget-card.near progress::-webkit-progress-value,.finance-budget-card.full progress::-webkit-progress-value{background:#d7bc89}.finance-budget-card.over progress{accent-color:#c58f7c}.finance-budget-card.over progress::-webkit-progress-value{background:#c58f7c}.finance-budget-card.over progress::-moz-progress-bar{background:#c58f7c}.finance-budget-card.near progress::-moz-progress-bar,.finance-budget-card.full progress::-moz-progress-bar{background:#d7bc89}.finance-budget-remaining{display:flex;justify-content:space-between;gap:12px;margin:13px 0 20px;font-size:11px;color:var(--muted)}.finance-budget-remaining strong{font-weight:500;color:var(--ink);text-align:right}.finance-budget-card.over .finance-budget-remaining strong{color:#e3ad91}.finance-budget-actions{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:15px}.finance-budget-actions .text-button{font-size:11px}.finance-budget-actions button:last-child{margin-left:auto;color:var(--muted)}.finance-budget-alert{padding:20px 24px;background:#2b251a;border:1px solid #625036;border-radius:11px;margin:0 0 24px}.finance-budget-alert strong{color:#e1c79a;font-size:14px;font-weight:500}.finance-budget-alert p{font-size:12px;margin:8px 0;color:#c7baa6}.finance-budget-alert .text-button{font-size:11px}.finance-unbudgeted{display:flex;align-items:center;gap:15px;padding:14px 0;border-top:1px solid var(--line);font-size:12px}.finance-unbudgeted>span{flex:1}.finance-unbudgeted strong{font-weight:500}.finance-unbudgeted .text-button{font-size:11px}.finance-workspace .finance-empty .secondary{margin-top:20px}
@media(max-width:1100px){.finance-budget-grid{grid-template-columns:1fr}.finance-tabs{gap:23px}}
@media(max-width:760px){.finance-form-grid{grid-template-columns:1fr}.finance-entry-modes{gap:8px}.finance-entry-modes .secondary{font-size:11px;padding:9px 12px}.finance-budget-intro{align-items:flex-start;flex-direction:column}.finance-budget-intro h2{font-size:20px}.finance-tabs{gap:19px}.finance-tabs button{font-size:11px}.finance-budget-actions{gap:10px;flex-wrap:wrap}.finance-budget-status{font-size:8px}.finance-budget-spent{font-size:25px}.finance-unbudgeted{flex-wrap:wrap}.finance-unbudgeted .text-button{margin-left:auto}.finance-budget-alert{padding:18px}}

/* Private transaction evidence */
#finance-detail:has(.fin-receipts){width:min(780px,95vw)}.fin-receipts{margin-top:27px;padding-top:24px;border-top:1px solid var(--line)}.receipt-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.receipt-heading .eyebrow{font-size:8px;color:#cbb88c;margin-bottom:7px}.receipt-heading h3{font-size:19px;font-weight:500;margin:0}.receipt-heading h3>span{font:400 11px "Segoe UI",sans-serif;color:var(--muted);margin-left:9px}.receipt-intro{font-size:12px;color:#afc0b2;line-height:1.9;margin:15px 0}.receipt-upload{display:block;padding:16px;border:1px dashed #68785e;border-radius:11px;background:#d7bc8906;font-size:12px;color:#dcc79f}.receipt-upload input{width:100%;margin:10px 0 0;padding:8px;min-width:0;font-size:12px;background:#142224;border-color:#40534a}.receipt-upload input::file-selector-button{border:1px solid #87916d;background:#d7bc8918;color:#ead4aa;border-radius:6px;padding:8px 12px;margin-right:10px;cursor:pointer}.receipt-status{font-size:12px;color:#d3c193;margin:11px 0}.receipt-error{font-size:12px;color:#eeb19c;line-height:1.8;white-space:pre-wrap;margin:10px 0}.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.receipt-card{border:1px solid #405349;border-radius:12px;overflow:hidden;background:#132123;min-width:0}.receipt-image-button{display:block;width:100%;padding:0;border:0;background:#0d191a;cursor:zoom-in}.receipt-image-button img{display:block;width:100%;height:180px;object-fit:contain;background:#111b1c}.receipt-card.expanded{grid-column:1/-1}.receipt-card.expanded .receipt-image-button{cursor:zoom-out}.receipt-card.expanded img{height:auto;max-height:75vh;object-fit:contain}.receipt-caption{padding:14px}.receipt-caption strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere;color:var(--ink)}.receipt-caption small{display:block;font-size:10px;color:var(--muted);margin-top:6px;line-height:1.7}.receipt-caption>div{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px}.receipt-caption .text-button{font-size:11px}.receipt-caption a{text-decoration:none}.receipt-caption button{color:#c7ad91}.receipt-empty{font-size:12px;color:var(--muted);padding:20px 0}.receipt-disclosure{font-size:10px;line-height:1.9;color:#a1b3a8;margin:20px 0 0}.receipt-missing{padding:35px 20px;font-size:12px;color:var(--muted);line-height:1.8}.receipt-after-save{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid #5e6650;background:#d7bc8909;border-radius:9px;font-size:12px;line-height:1.8}.receipt-after-save input{width:18px;height:18px;min-height:18px;flex-shrink:0;padding:0;margin:3px 0 0;accent-color:#d7bc89}
@media(max-width:760px){.receipt-grid{grid-template-columns:1fr}.receipt-heading h3{font-size:18px}.receipt-upload input{font-size:14px}.receipt-caption .text-button{min-height:40px}.receipt-image-button img{height:220px}.receipt-caption strong{font-size:13px}.receipt-after-save input{min-height:18px}}

.debt-grant{padding:16px;border:1px solid var(--line,#354544);border-radius:12px;margin:12px 0}.debt-grant input[type=checkbox]{width:18px;height:18px;vertical-align:middle}.debt-grant textarea{min-height:72px}.debt-shared-note{white-space:pre-wrap}.receipt-disclosure::after{content:" Ảnh đã gỡ hoặc thuộc giao dịch đã xóa được giữ 7 ngày, sau đó tự xóa file."}
