.kama-savings-checkbox{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:.9rem;cursor:pointer;grid-column:1/-1;margin:10px 0;color:var(--text,#d9f3ff)}
.kama-savings-checkbox input{width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:#36cbdc}
.kama-savings-controls{width:100%;min-width:0;grid-column:1/-1;padding:12px 0;white-space:normal}
.kama-savings-controls small{display:block;line-height:1.6;color:var(--muted,#9bb9ca)}
.kama-savings-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.kama-savings-controls button{border:1px solid #38758a;background:#102e40;color:#c6f0ff;border-radius:12px;padding:10px 14px;font:inherit;cursor:pointer}
.kama-savings-controls button:disabled{opacity:.45;cursor:default}
.kama-savings-history-row{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #285065}
.kama-savings-dialog-overlay{z-index:1600}.kama-savings-dialog{max-height:88dvh;overflow:auto;max-width:580px}.kama-savings-dialog p{line-height:1.7}.kama-savings-dialog [hidden]{display:none!important}
/* One opt-in above the details table; no action toolbar inside its rows. */
.kama-savings-controls{padding:0 0 14px;margin:0;direction:rtl;text-align:right}
.kama-savings-controls .kama-savings-checkbox{font-size:.88rem;font-weight:400;margin:0;line-height:1.6}
.kama-savings-history{margin:16px 0 8px;padding-top:12px;border-top:1px solid #285065;font-size:.88rem}
.kama-savings-intent-overlay{z-index:1700}
.kama-savings-intent{width:min(520px,calc(100vw - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box;text-align:right;gap:16px;padding:24px}
.kama-savings-intent h3{font-size:1.15rem;margin:0}
.kama-savings-intent p{line-height:1.7;font-size:.94rem;margin:0}
.kama-savings-intent-amount{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kama-savings-intent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.kama-savings-intent-actions button{white-space:normal;min-height:46px;padding:10px;font-size:.94rem}
.kama-savings-intent-actions .variable-expense-modal-cancel{grid-column:1/-1}
.kama-savings-inline{display:none}
@media(max-width:640px){
 #savingsBody tr.is-mobile-row-open .amount-cell{flex-wrap:wrap}
 #savingsBody tr.is-mobile-row-open .kama-savings-inline{display:block;flex-basis:100%;width:100%;padding:14px 0 0}
 #savingsBody tr:not(.is-mobile-row-open) .kama-savings-inline{display:none!important}
 .kama-savings-intent{padding:20px}
}
:is(.mobile-details-modal,.variable-details-panel) .variable-transactions-breakdown[data-detail-type="savings"]{border:0;background:transparent;overflow:visible}
.variable-transactions-breakdown[data-detail-type="savings"]>.variable-transaction-header{border:1px solid rgba(113,201,255,.16);border-radius:12px 12px 0 0;background:rgba(2,9,17,.32)}
.variable-transactions-breakdown[data-detail-type="savings"]>.variable-transaction-list{border:1px solid rgba(113,201,255,.16);border-top:0;border-radius:0 0 12px 12px;background:rgba(2,9,17,.32);overflow:hidden}
/* Keep the savings decision centered even when mobile form overlays align to the top. */
.variable-expense-modal-overlay.kama-savings-intent-overlay{display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:16px;box-sizing:border-box}
.kama-savings-intent-overlay>.kama-savings-intent{margin:auto;align-self:center;max-height:calc(100dvh - 32px);flex:0 1 520px}
.savings-withdraw-sources{display:grid;gap:10px;min-width:0}
.savings-withdraw-sources[hidden]{display:none}
.savings-withdraw-sources .savings-withdraw-choice{display:flex;align-items:center;gap:10px;min-width:0}
.savings-withdraw-sources .savings-withdraw-choice span{flex:1;min-width:0;overflow-wrap:anywhere}
.savings-withdraw-sources .savings-withdraw-choice bdi{flex:0 0 auto;font-size:.9rem;color:#82dfc5}
.savings-withdraw-source-hint{color:var(--muted,#9bb9ca);line-height:1.6;font-size:.85rem}
.savings-withdraw-source-hint[hidden]{display:none}

:is(.mobile-details-modal,.variable-details-panel) .variable-transactions-breakdown[data-detail-type="fixed"]{border:0;background:transparent;overflow:visible}
.variable-transactions-breakdown[data-detail-type="fixed"]>.variable-transaction-list{border:1px solid rgba(113,201,255,.16);border-radius:12px;background:rgba(2,9,17,.32);overflow:hidden}
.kama-fixed-savings-controls small{margin-top:6px;overflow-wrap:anywhere}
.kama-fixed-savings-controls .kama-fixed-savings-edit{margin-top:8px;padding:6px 12px;font-size:.85rem}
.kama-savings-link-explanation{grid-column:1/-1;color:var(--muted,#9bb9ca);margin:0}


/* Small shape + color markers remain visible on closed mobile expense rows. */
.has-asset-link .description-cell{position:relative;padding-inline-end:34px!important}
.has-asset-link .description-cell>.kama-asset-link{position:absolute;inset-inline-end:2px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:30px;height:32px;padding:4px;border:0;border-radius:8px;background:transparent;cursor:pointer;color:#f5d34f}
.kama-asset-link.is-investment{color:#74bfff!important}
.kama-asset-link.is-investment[data-trend="up"]{color:#55e5ae!important}
.kama-asset-link.is-investment[data-trend="down"]{color:#ff718c!important}
.kama-asset-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kama-asset-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.kama-asset-link:hover{background:rgba(130,180,210,.12)}
.asset-connected-expenses{border-top:1px solid #285065;margin-top:14px;padding-top:8px}
.asset-connected-expenses p{font-size:.87rem;line-height:1.6;color:var(--muted,#9bb9ca)}

.kama-link-dialog{gap:14px;align-content:start}
.kama-link-dialog .variable-expense-form-grid{gap:10px;align-content:start}
.kama-link-dialog .variable-expense-form-grid>p{grid-column:1/-1;margin:0;line-height:1.45;font-size:.88rem}
.kama-link-dialog .variable-expense-form-grid>.kama-deposit-day-hint{font-size:.82rem;color:var(--muted,#9bb9ca);margin-top:-4px}

.kama-link-dialog .kama-link-copy{grid-column:1/-1;display:flex;flex-direction:column;gap:0;white-space:pre-line}
.kama-link-dialog .kama-link-copy p{margin:0;padding:0;line-height:1.45;font-size:.88rem}
.kama-link-dialog .kama-link-copy .kama-deposit-day-hint{font-size:.82rem;color:var(--muted,#9bb9ca)}

.kama-link-help-button{grid-column:1/-1;width:100%;padding:11px 14px;border:1px solid #38758a;border-radius:12px;background:rgba(54,203,220,.08);color:var(--text,#d9f3ff);font:inherit;font-size:.9rem;cursor:pointer}
.kama-link-help-button:focus-visible{outline:2px solid #74bfff;outline-offset:3px}
.variable-expense-modal-overlay.kama-link-help-overlay{z-index:1800;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.kama-link-help{width:min(760px,100%);max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:24px;background:linear-gradient(145deg,#0c3044,#071c2b);color:var(--text,#d9f3ff);border:1px solid #38758a;border-radius:22px;text-align:right}
.kama-link-help-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.kama-link-help-header h3{margin:0;font-size:1.25rem}.kama-link-help-header button{position:static;flex-shrink:0}
.kama-link-help-content{display:grid;gap:16px}.kama-link-help-content section{padding-bottom:16px;border-bottom:1px solid rgba(130,180,210,.18)}
.kama-link-help-content section:last-child{border-bottom:0;padding-bottom:0}
.kama-link-help-content h4{margin:0 0 5px;font-size:1rem;color:#83d4e4}.kama-link-help-content p{margin:0;line-height:1.65;font-size:.94rem;overflow-wrap:anywhere}
@media(max-width:640px){.kama-link-help{padding:18px;border-radius:16px}.kama-link-help-header h3{font-size:1.1rem}.kama-link-help-content p{font-size:.9rem}}

.kama-link-dialog .kama-link-help-button{margin-top:10px}

.has-asset-link:is(.is-mobile-row-open,.is-details-open) .description-cell>.kama-asset-link{display:none}
.has-asset-link:is(.is-mobile-row-open,.is-details-open) .description-cell{padding-inline-end:0!important}

.kama-link-dialog .variable-expense-form-grid>.kama-month-end-hint{margin:0;grid-column:1/-1;font-size:.82rem;line-height:1.5;color:var(--muted,#9bb9ca)}

.kama-asset-link.is-loan{color:#ff987b!important}
.loan-link-details .variable-expense-form-grid{display:flex;flex-direction:column;gap:10px}.loan-link-details p{margin:0;line-height:1.6}

.kama-operation-header {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.kama-operation-header h3 {margin:0;}
.variable-expense-modal-overlay.kama-loan-operation-overlay {position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;}
.variable-expense-modal.kama-loan-operation {margin:auto;width:min(580px,100%);max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;}

/* Compact, centered repayment completion prompt, including mobile layouts. */
.variable-expense-modal-overlay.kama-loan-completion-overlay {
 position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
 padding:16px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;
}
.variable-expense-modal.kama-loan-completion {
 position:relative;margin:auto;width:min(520px,100%);height:auto;min-height:0;
 max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;
 display:flex;flex-direction:column;gap:14px;padding:22px;align-self:center;
}
.kama-loan-completion>h3 {margin:0;line-height:1.45;}
.kama-loan-completion .variable-expense-form-grid {display:block;min-height:0;}
.kama-loan-completion .variable-expense-form-grid p {margin:0;line-height:1.55;}
.kama-loan-completion .variable-expense-form-message:empty {display:none;}
.kama-loan-completion .variable-expense-modal-actions {margin:0;gap:8px;}
.kama-loan-completion .variable-expense-modal-actions button {white-space:normal;}

