/* Finance entry owner: compact income and expense forms, scoped to avoid dashboard changes. */
.finance-entry-compact{scroll-margin-top:80px;background:#fff;border:1px solid #dfe5e2;border-radius:8px;padding:14px;min-width:0;color:#253c33;font-size:13px}
.finance-entry-compact *{box-sizing:border-box;min-width:0}
.finance-entry-compact .fe-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.finance-entry-compact h2{font-size:16px;line-height:22px;font-weight:600;margin:0}
.finance-entry-compact p{margin:4px 0;color:#718078;font-size:12px;line-height:1.5}
.finance-entry-compact .fe-body{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(440px,1.5fr);gap:16px;align-items:start}
.finance-entry-compact .fe-income{grid-template-columns:1fr;max-width:1100px}
.finance-entry-compact .fe-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px}
.finance-entry-compact label{display:flex;flex-direction:column;gap:4px;margin:0;font-size:12px;font-weight:500;line-height:18px}
.finance-entry-compact .fe-wide{grid-column:1/-1}
.finance-entry-compact input,.finance-entry-compact select,.finance-entry-compact textarea{width:100%;border:1px solid #d9e1dc;border-radius:5px;padding:6px 9px;background:white;color:#233a30;font:400 13px/20px system-ui,sans-serif;margin:0;min-height:34px}
.finance-entry-compact textarea{resize:vertical;height:58px;max-height:100px}
.finance-entry-compact .fe-source textarea{height:275px;max-height:310px;line-height:1.6}
.finance-entry-compact input:focus,.finance-entry-compact select:focus,.finance-entry-compact textarea:focus{outline:2px solid #258261;outline-offset:1px}
.finance-entry-compact button{border:1px solid #d9e1dc;border-radius:5px;padding:6px 12px;background:white;color:#315b49;font:500 12px/20px system-ui;cursor:pointer}
.finance-entry-compact .fe-hint{background:#effaf4;color:#177151;padding:7px 9px;border-radius:5px;overflow-wrap:anywhere;margin:8px 0}
.finance-entry-compact .fe-source>button{margin-top:8px}
.finance-entry-compact .fe-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #edf0ed;padding-top:10px;margin-top:12px;font-size:12px;color:#718078}
.finance-entry-compact .fe-save{background:#163a2b;color:#fff;border-color:#163a2b;min-width:130px}
.finance-entry-compact button:disabled{opacity:.55;cursor:wait}
.finance-entry-compact .fe-records{border-top:1px solid #edf0ed;margin-top:10px;padding-top:9px}
.finance-entry-compact summary{font-size:12px;cursor:pointer;color:#456a59}
.finance-entry-compact .fe-record-list{max-height:240px;overflow:auto}
.finance-entry-compact .fe-record-list article{display:grid;grid-template-columns:minmax(0,1fr) 110px 160px auto;gap:12px;align-items:center;border-bottom:1px solid #edf0ed;padding:10px 0}
.finance-entry-compact .fe-record-list p{overflow-wrap:anywhere;max-height:3em;overflow:hidden}
.fe-success-overlay{position:fixed;inset:0;background:#14261f55;z-index:200;display:grid;place-items:center;padding:20px}
.fe-success{background:#fff;border:1px solid #dbe5de;border-radius:10px;padding:24px;width:min(400px,100%);box-shadow:0 15px 55px #152b2430;color:#233a30}
.fe-success h2{font-size:19px;margin:0 0 14px}.fe-success p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.fe-success button{display:block;margin:18px 0 0 auto;border:0;border-radius:5px;background:#163a2b;color:#fff;padding:8px 22px}.fe-success .fe-warning{color:#9a5f0b}
@media(max-width:1000px){.finance-entry-compact .fe-body{grid-template-columns:minmax(200px,.7fr) minmax(350px,1.3fr)}}
@media(max-width:760px){.finance-entry-compact{padding:12px}.finance-entry-compact .fe-body{display:block}.finance-entry-compact .fe-source{margin-bottom:12px}.finance-entry-compact .fe-source textarea{height:100px}.finance-entry-compact .fe-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-entry-compact .fe-record-list article{grid-template-columns:minmax(0,1fr) auto}.finance-entry-compact .fe-footer{align-items:flex-start}.finance-entry-compact .fe-footer span{max-width:60%}}

.fe-success-overlay{z-index:10000}.fe-success{max-height:calc(100dvh - 40px);overflow:auto;outline:none}.fe-success progress{width:100%;height:9px;accent-color:#258261}.fe-success[aria-busy=true] progress{animation:fe-save-pulse 1.4s ease-in-out infinite}@keyframes fe-save-pulse{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.fe-success[aria-busy=true] progress{animation:none}}
