.finance-main { --finance-muted:#65766c; }
.finance-primary { display:inline-flex; align-items:center; justify-content:center; padding:11px 18px; min-height:42px; border:1px solid #183d2e; border-radius:7px; background:#183d2e; color:#fff9eb; font:500 14px/1.2 "Outfit",sans-serif; cursor:pointer; }
.finance-primary:hover { background:#285240; }
.finance-position { display:grid; grid-template-columns:1.05fr 1fr; gap:45px; background:linear-gradient(110deg,#1b4030,#0e2c21); border:1px solid #294638; border-radius:16px; padding:32px 36px; color:#f9f6eb; }
.finance-position .eyebrow { color:#d3b475; font-size:10px; letter-spacing:.16em; }
.finance-position h2 { color:inherit; font:500 26px/1.2 var(--disp); margin:12px 0; }
.finance-position-amount { display:block; font:500 clamp(36px,4vw,58px)/1.08 "Outfit",sans-serif; letter-spacing:-.035em; color:#e7d4a7; overflow-wrap:anywhere; }
.finance-position p { margin:12px 0 16px; font-size:14px; color:#dde5d9; }
.finance-position small { display:block; max-width:460px; color:#b1c0b2; font-size:11px; line-height:1.6; }
.finance-equation { align-self:center; margin:0; padding-left:32px; border-left:1px solid #3d5543; }
.finance-equation > div { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid #3d5543; }
.finance-equation > div:last-child { border-bottom:0; }
.finance-equation dt { font-size:13px; }
.finance-equation dd { font-size:14px; font-weight:500; white-space:nowrap; margin:0; }
.finance-equation dt small { font-size:10px; margin-top:4px; }
.finance-coverage { color:#766c52; background:#f0ecdf; border:1px solid #e4ddc8; border-radius:8px; padding:12px 16px; margin:16px 0 24px; font-size:12px; line-height:1.5; }
.crm-page .finance-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.crm-page .finance-metrics strong { font-size:clamp(23px,2.2vw,33px); overflow-wrap:anywhere; }
.finance-ledger { margin:26px 0; }
.finance-ledger-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 26px 20px; }
.finance-ledger-heading .eyebrow { font-size:10px; color:#947445; letter-spacing:.17em; }
.finance-ledger-heading h2 { font:600 28px/1.1 var(--disp); margin-top:8px; }
.finance-tabs { display:flex; gap:24px; border-bottom:1px solid #e1e4da; padding:0 26px; overflow-x:auto; }
.finance-tabs button { padding:12px 0; border:0; border-bottom:2px solid transparent; background:transparent; color:#6b786f; font:500 14px/1.4 "Outfit",sans-serif; white-space:nowrap; cursor:pointer; }
.finance-tabs button[aria-pressed="true"] { border-color:#947543; color:#244635; }
.finance-filters { display:flex; align-items:center; gap:12px; padding:18px 26px; border-bottom:1px solid #eef0e8; }
.finance-filters label:first-child { flex:1; max-width:400px; }
.finance-filters input,.finance-filters select { width:100%; min-height:39px; border:1px solid #dfe4d8; border-radius:6px; padding:9px 12px; background:#fff; color:#1a3b2b; font:400 13px "Outfit",sans-serif; }
.finance-filters > span { margin-left:auto; font-size:12px; color:#768171; white-space:nowrap; }
.finance-entry { display:grid; grid-template-columns:minmax(130px,1.7fr) minmax(85px,1fr) 80px minmax(75px,.8fr) auto; gap:18px; align-items:center; padding:20px 26px; border-bottom:1px solid #eceee5; }
.finance-entry:last-child { border-bottom:0; }
.finance-entry-description strong { display:block; color:#20432f; font-size:14px; overflow-wrap:anywhere; }
.finance-entry-description > span { display:block; color:#7b8477; margin-top:5px; font-size:11px; overflow-wrap:anywhere; }
.finance-entry-date span { display:block; color:#7c8879; font-size:10px; margin-bottom:3px; }
.finance-entry-date strong { font-size:12px; font-weight:400; color:#536b59; }
.finance-entry-amount { text-align:right; font-size:14px; font-weight:500; font-variant-numeric:tabular-nums; }
.finance-badge { display:inline-flex; align-items:center; justify-content:center; width:fit-content; padding:4px 8px; border-radius:5px; font:500 10px/1.4 "Outfit",sans-serif; background:#f1eee4; color:#8b784c; }
.finance-badge.is-paid { background:#ecf2e7; color:#4e6b49; }
.finance-badge.is-overdue { background:#f6e9e1; color:#9b593d; }
.finance-row-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.finance-row-actions button { font:500 12px "Outfit",sans-serif; border:1px solid #e0e4d9; background:#fff; border-radius:5px; padding:7px 10px; cursor:pointer; color:#254d35; white-space:nowrap; }
.finance-empty { padding:38px 26px; display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center; color:#71806f; }
.finance-empty span { max-width:540px; font-size:14px; line-height:1.6; }
.finance-pagination { display:flex; align-items:center; justify-content:center; gap:16px; padding:18px; font-size:12px; color:#74806f; border-top:1px solid #eceee5; }
.finance-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:24px; }
.finance-plan { border:1px solid #e3e5d9; padding:21px; border-radius:10px; background:#fffdf7; display:flex; flex-direction:column; align-items:flex-start; }
.finance-plan h3 { font:500 18px/1.3 "Outfit",sans-serif; margin:12px 0 5px; overflow-wrap:anywhere; }
.finance-plan p { font-size:12px; color:#7b8371; }
.finance-plan-price { margin:20px 0 12px; display:flex; align-items:baseline; gap:7px; flex-wrap:wrap; }
.finance-plan-price strong { font-size:27px; font-weight:500; letter-spacing:-.025em; }
.finance-plan-price span { color:#7b8371; font-size:12px; }
.finance-plan .finance-plan-schedule { margin:0 0 18px; font-size:11px; }
.finance-plan > button { margin-top:auto; }
.finance-bottom-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.finance-category { margin:20px 0; }
.finance-category > div:first-child { display:flex; justify-content:space-between; gap:16px; font-size:13px; }
.finance-category strong { font-weight:500; }
.finance-category-track { height:5px; border-radius:10px; background:#f0f1e8; margin-top:9px; overflow:hidden; }
.finance-category-track span { height:100%; display:block; background:#a5b096; border-radius:10px; }
.finance-horizon > div { display:flex; align-items:start; justify-content:space-between; gap:20px; padding:15px 0; border-bottom:1px solid #e7e9dd; }
.finance-horizon dt { font-size:13px; color:#667660; }
.finance-horizon dd { font-size:14px; font-weight:500; margin:0; }
.finance-horizon small { display:block; font-size:10px; color:#8a917d; margin-top:4px; }
.finance-inline-link { display:inline-block; font-size:12px; margin-top:20px; color:#476a46; text-decoration:none; }
.finance-activity-card { margin-top:24px; }
.finance-note { font-size:12px; color:#7b8472; line-height:1.6; margin:14px 0; }
.finance-source { display:grid; grid-template-columns:1fr auto auto; gap:20px; align-items:center; border-bottom:1px solid #e9ece1; padding:16px 0; }
.finance-source > div > strong { display:block; font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.finance-source > div > span { display:block; color:#7f8977; font-size:11px; margin-top:5px; }
.finance-source > strong { font-size:13px; font-weight:500; white-space:nowrap; }
.finance-source a { color:#557247; text-decoration:none; font-size:11px; white-space:nowrap; }
.finance-modal { position:fixed; inset:0; z-index:1200; display:flex; align-items:center; justify-content:center; padding:22px; }
.finance-modal-shade { position:absolute; inset:0; background:rgba(10,28,20,.55); border:0; width:100%; height:100%; cursor:default; }
.finance-modal-panel { position:relative; width:min(100%,620px); max-height:calc(100dvh - 44px); overflow-y:auto; background:#fffdf7; border:1px solid #e1e4d5; border-radius:16px; padding:28px; box-shadow:0 24px 80px #102c2150; }
.finance-modal-panel > header { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.finance-modal-panel h2 { font:600 32px/1.1 var(--disp); margin:6px 0; color:#22402c; }
.finance-modal-panel .eyebrow { font-size:10px; color:#ab8850; }
.finance-modal-panel > header > button { font:300 30px/1 "Outfit",sans-serif; border:0; background:transparent; color:#576d55; padding:2px 4px; cursor:pointer; }
.finance-modal-panel label { display:flex; flex-direction:column; gap:7px; margin:15px 0; font-size:12px; font-weight:500; color:#4c6048; }
.finance-modal-panel input,.finance-modal-panel select,.finance-modal-panel textarea { padding:11px 12px; border:1px solid #d9dfd0; border-radius:6px; background:white; color:#23412b; font:400 14px "Outfit",sans-serif; width:100%; min-width:0; }
.finance-modal-panel input[readonly] { color:#86927e; background:#f1f2e9; }
.finance-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.finance-modal-panel footer { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:26px; padding-top:20px; border-top:1px solid #e3e6d9; }
.finance-remove { margin-right:auto; background:transparent; border:0; padding:8px 0; color:#995b42; font:400 12px "Outfit",sans-serif; cursor:pointer; }
.finance-small-modal { max-width:480px; }
.finance-small-modal form > p { color:#697662; font-size:14px; line-height:1.6; margin:18px 0; }
@media(max-width:1200px) { .finance-entry { grid-template-columns:minmax(130px,1.4fr) 95px 70px 85px; gap:12px; } .finance-row-actions { grid-column:1 / -1; justify-content:flex-start; } .finance-plans { grid-template-columns:repeat(2,minmax(0,1fr)); } .finance-position { gap:24px; padding:26px; } }
@media(max-width:900px) { .finance-position { grid-template-columns:1fr; } .finance-equation { border-left:0; padding:0; } .crm-page .finance-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .finance-bottom-grid { grid-template-columns:1fr; } }
@media(max-width:600px) { .finance-position { padding:23px; } .finance-entry { grid-template-columns:1fr auto; padding:18px 20px; gap:10px 16px; } .finance-entry-description { grid-column:1; } .finance-entry-date { grid-column:1;grid-row:2; } .finance-entry-amount { grid-column:2;grid-row:1; } .finance-badge { grid-column:2;grid-row:2;justify-self:end; } .finance-filters { flex-wrap:wrap; padding:16px 20px; } .finance-filters label:first-child { flex-basis:100%;max-width:none; } .finance-ledger-heading { padding:22px 20px 14px; } .finance-tabs { gap:20px;padding:0 20px; } .finance-plans { grid-template-columns:1fr;padding:20px; } .finance-source { grid-template-columns:1fr auto; } .finance-source a { grid-column:1 / -1; } .finance-modal { padding:12px; } .finance-modal-panel { padding:22px;max-height:calc(100dvh - 24px); } .finance-form-grid { grid-template-columns:1fr;gap:0; } .finance-modal-panel footer { flex-wrap:wrap; } .finance-modal-panel .finance-remove { flex-basis:100%;text-align:left; } }

.finance-payer-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 20px;background:#f4f6ef;border-block:1px solid #e0e5dc}.finance-payer-summary div{display:grid;gap:6px}.finance-payer-summary span{font-size:12px;color:#617365}.finance-payer-summary strong{font-size:22px;font-weight:500}.finance-payer-summary p{grid-column:1/-1;margin:0;font-size:12px;color:#617365} .finance-entry-tags{display:flex;flex-wrap:wrap;gap:5px}.finance-payer-summary[hidden]{display:none}.finance-payer-tag{background:#e9efe6;color:#365641}@media(max-width:600px){.finance-payer-summary{padding:12px;gap:8px}.finance-payer-summary strong{font-size:18px}.finance-entry-tags{grid-column:2;grid-row:2 / span 2;align-self:start;justify-content:flex-end}.finance-entry-tags .finance-badge{grid-column:auto;grid-row:auto}}

/* Approved finance card design. */
.crm-page .finance-entry-list,.crm-page .finance-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;padding:16px;background:#f6f5f0}
.crm-page .finance-entry-list[hidden],.crm-page .finance-plans[hidden]{display:none}
.crm-page .finance-concept-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;min-height:220px;height:100%;min-width:0;border:1px solid #dce3d8;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 3px 12px #173b2d04;transition:transform .18s,box-shadow .18s}
.crm-page .finance-concept-card:last-child{border-bottom:1px solid #dce3d8}
.finance-card-body{padding:14px;display:flex;flex:1;flex-direction:column;min-width:0}
.finance-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.finance-card-icon{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:#f0f3ec;color:#526e4c}
.finance-card-icon :is(img,svg){width:18px;height:18px}
.finance-card-payer{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:5px 10px;font-size:11px;line-height:1.4;white-space:nowrap}
.finance-card-payer::before,.finance-card-status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.finance-card-payer.is-aaron{background:#eaf1e5;color:#557344}.finance-card-payer.is-demetrio{background:#f5edda;color:#947339}.finance-card-payer.is-unassigned{background:#f0f1ed;color:#788171}
.crm-page .finance-concept-card h3{font:500 15px/1.5 Outfit,sans-serif;letter-spacing:-.01em;margin:0 0 3px;overflow-wrap:anywhere}
.crm-page .finance-concept-card .finance-card-category{margin:0;font-size:12px;line-height:1.5;color:#788576;overflow-wrap:anywhere}
.finance-card-amount{font-size:26px;font-weight:500;line-height:1.2;letter-spacing:-.04em;padding-top:12px;margin: auto 0 8px;color:#183b2c;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.finance-card-amount small{font-size:12px;font-weight:400;letter-spacing:0;color:#788576;margin-left:6px}
.crm-page .finance-concept-card .finance-card-date{margin:0;font-size:11px;line-height:1.5;color:#7c8876}
.finance-card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:46px;margin-top:auto;padding:1px 12px;border-top:1px solid #e9ede3;background:#fcfdf9}
.finance-card-footer>div{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.finance-card-footer button{background:transparent;border:0;color:#53694a;font:500 12px Outfit,sans-serif;padding:7px;min-height:44px;cursor:pointer}
.finance-card-status{display:flex;align-items:center;gap:6px;font-size:11px;color:#55764b}
.finance-card-status.is-upcoming{color:#967735}.finance-card-status.is-overdue{color:#a5634c}.finance-card-status.is-stopped{color:#788171}
@media(hover:hover){.finance-concept-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #173b2d0c}}
@media(max-width:1100px){.crm-page .finance-entry-list,.crm-page .finance-plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.crm-page .finance-entry-list,.crm-page .finance-plans{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:8px}.crm-page .finance-concept-card{min-height:220px;border-radius:10px}.finance-card-body{padding:10px}.finance-card-top{gap:6px;flex-wrap:wrap;margin-bottom:8px}.finance-card-icon{width:26px;height:26px;border-radius:8px}.finance-card-icon :is(img,svg){width:16px;height:16px}.finance-card-payer{font-size:10px;padding:4px 6px;gap:4px;white-space:normal;overflow-wrap:anywhere}.crm-page .finance-concept-card h3{font-size:13px;line-height:1.35}.crm-page .finance-concept-card .finance-card-category{font-size:10px;line-height:1.4}.finance-card-amount{font-size:24px;padding-top:10px}.finance-card-amount small{display:block;font-size:10px;margin-left:0}.crm-page .finance-concept-card .finance-card-date{font-size:10px}.finance-card-footer{padding:1px 6px;gap:4px;flex-wrap:wrap}.finance-card-footer>div{gap:2px}.finance-card-footer button{font-size:11px;padding:5px;min-height:44px}.finance-card-status{font-size:10px;gap:4px}}
@media(prefers-reduced-motion:reduce){.crm-page .finance-concept-card{transition:none;transform:none}}

.finance-settlement-details{margin-top:10px;font-size:11px;color:#617365}.finance-settlement-details summary{cursor:pointer}.finance-settlement-details p{font-size:11px;line-height:1.5;overflow-wrap:anywhere}

/* Keep the update text in normal flow above the business-position panel. */
.crm-page [data-finance-updated].crm-last-refreshed{margin:10px 0 16px;line-height:1.5}
