.cash-page-heading { margin-bottom: 16px; }
.cash-warning-banner { display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:16px 18px; margin-bottom:18px; border:1px solid #f3d590; border-radius:16px; background:#fff9e9; }
.cash-warning-banner p { margin:4px 0 0; color:#7a6840; }
.cash-warning-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:#fff0bf; color:#9a6500; font-weight:900; }
.cash-position-section { margin-bottom:18px; }
.cash-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom:12px; }
.cash-section-heading h2 { margin:3px 0 4px; }
.cash-section-heading p { margin:0; color:var(--muted); }
.cash-known-total { min-width:240px; padding:13px 16px; border:1px solid #cfe7d8; border-radius:14px; background:#f1faf4; text-align:right; }
.cash-known-total span { display:block; color:var(--muted); font-size:12px; font-weight:800; }
.cash-known-total strong { display:block; margin-top:4px; color:#087a46; font-size:24px; }
.cash-known-total.is-incomplete { border-color:#eadfbf; background:#fffaf0; }
.cash-known-total.is-incomplete strong { color:#8a6500; font-size:18px; }
.cash-account-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.cash-account-card { min-width:0; padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(24,52,36,.05); }
.cash-account-card header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; }
.cash-account-card header > div { display:grid; gap:2px; }
.cash-account-card header small { color:var(--muted); }
.cash-account-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; font-weight:900; }
.cash-account-cash .cash-account-icon { background:#e9f8ee; color:#0a864d; }
.cash-account-bank .cash-account-icon { background:#eaf2ff; color:#2f6fd4; }
.cash-account-qris .cash-account-icon { background:#f0eaff; color:#7651cc; }
.cash-account-balance { margin:20px 0 14px; font-size:30px; font-weight:900; letter-spacing:-.03em; }
.cash-account-equation { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:7px; align-items:center; padding:12px; border-radius:13px; background:#f7f9f8; }
.cash-account-equation span { min-width:0; display:grid; gap:3px; }
.cash-account-equation small { color:var(--muted); font-size:10px; }
.cash-account-equation strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.cash-account-equation b { color:#91a097; }
.cash-account-card footer { display:flex; justify-content:space-between; gap:10px; margin-top:13px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.cash-account-card footer strong { color:var(--ink); }
.cash-account-card.is-unreconciled { border-style:dashed; background:#fbfcfb; }
.cash-unreconciled-state { display:grid; place-items:center; min-height:160px; text-align:center; }
.cash-unreconciled-state strong { font-size:34px; color:#a6b0aa; }
.cash-unreconciled-state p { max-width:280px; margin:8px 0 0; color:var(--muted); line-height:1.5; }
.cash-flow-card { margin-bottom:18px; padding:20px; }
.cash-flow-header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:16px; }
.cash-flow-header h2 { margin:3px 0 4px; }
.cash-flow-header p { margin:0; color:var(--muted); }
.cash-period-form { margin-bottom:16px; }
.cash-flow-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.cash-flow-metrics article { padding:14px; border:1px solid #e0e7e2; border-radius:13px; background:#f9fbfa; }
.cash-flow-metrics span,.cash-flow-metrics small { display:block; color:var(--muted); }
.cash-flow-metrics strong { display:block; margin:6px 0 3px; font-size:20px; }
.cash-flow-metrics .is-negative strong { color:#d33f3f; }
.cash-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:18px; }
.cash-action-card { padding:20px; }
.cash-action-card h2 { margin:4px 0 6px; }
.cash-action-card > p { margin:0 0 14px; color:var(--muted); }
.cash-action-balance { display:flex; justify-content:space-between; gap:10px; padding:11px 13px; margin-bottom:14px; border-radius:11px; background:#f1faf4; }
.cash-action-locked { min-height:220px; display:grid; place-items:center; align-content:center; padding:24px; border:1px dashed #d5ded8; border-radius:14px; background:#fafcfb; text-align:center; }
.cash-action-locked p { max-width:380px; margin:6px 0 10px; color:var(--muted); }
.cash-action-locked a { color:#087a46; font-weight:800; }
.cash-reconciliation-card { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr); gap:24px; padding:22px; margin-bottom:18px; scroll-margin-top:90px; }
.cash-reconciliation-copy h2 { margin:4px 0 8px; }
.cash-reconciliation-copy > p { color:var(--muted); line-height:1.55; }
.cash-reconciliation-rules { display:grid; gap:8px; margin-top:16px; color:#3d5547; font-size:12px; font-weight:700; }
.cash-reconciliation-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.cash-reconciliation-form label { display:grid; gap:7px; }
.cash-reconciliation-form label > span { color:#4f5b54; font-size:13px; font-weight:800; }
.cash-reconciliation-form input,.cash-reconciliation-form textarea { min-height:46px; font-size:14px; }
.cash-reconciliation-submit { display:flex; justify-content:flex-end; }
.cash-movement-card,.cash-reconciliation-history { margin-bottom:18px; }
.cash-movement-card .data-table { min-width:1250px; }
.cash-reconciliation-history .data-table { min-width:760px; }
@media (max-width:1100px){ .cash-account-grid{grid-template-columns:1fr;} .cash-action-grid{grid-template-columns:1fr;} .cash-reconciliation-card{grid-template-columns:1fr;} }
@media (max-width:760px){ .cash-warning-banner{grid-template-columns:auto 1fr;} .cash-warning-banner .button{grid-column:1/-1;width:100%;} .cash-section-heading,.cash-flow-header{align-items:stretch;flex-direction:column;} .cash-known-total{min-width:0;text-align:left;} .cash-flow-metrics{grid-template-columns:1fr;} .cash-reconciliation-form{grid-template-columns:1fr;} .cash-reconciliation-form .span-3{grid-column:auto;} .cash-reconciliation-submit,.cash-reconciliation-submit .button{width:100%;} .cash-account-card header{grid-template-columns:auto minmax(0,1fr);} .cash-account-card header .status-badge{grid-column:1/-1;justify-self:start;} .cash-account-equation{grid-template-columns:1fr;} .cash-account-equation b{display:none;} }
