@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#18251f;background:#f5f7f5;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}
.topbar{height:70px;background:#fff;border-bottom:1px solid #e6ebe7;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100% - 1180px)/2));position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#18392c;font-weight:600}.brand-mark{width:54px;height:54px;border-radius:17px;background:#176b50;color:white;display:grid;place-items:center;font-weight:800;font-size:20px;letter-spacing:-1px;margin:auto}.brand-mark.small{width:36px;height:36px;border-radius:11px;font-size:14px;margin:0}
.top-actions{display:flex;align-items:center;gap:12px}.user-chip{font-size:13px;color:#53645b;background:#f1f5f2;padding:9px 13px;border-radius:99px}
.container{max-width:1180px;margin:34px auto;padding:0 22px}.welcome-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#24815e;margin:0 0 7px}.welcome-row h1,.login-card h1{font-size:30px;letter-spacing:-1px;margin:0 0 6px}.muted{color:#78857d;font-size:13px;margin:0}
.cash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}.cash-card{background:#fff;border:1px solid #e7ece8;border-radius:19px;padding:22px;box-shadow:0 5px 18px #173b2810}.cash-card.jose{border-top:4px solid #4488cf}.cash-card.micul{border-top:4px solid #1a9b70}.cash-head{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:1px}.cash-icon{width:34px;height:34px;border-radius:11px;background:#edf4fb;color:#3279bd;display:grid;place-items:center;font-weight:800}.micul .cash-icon{background:#eaf7f0;color:#16845d}.cash-balance{font-size:30px;font-weight:800;letter-spacing:-1px;margin:17px 0}.cash-stats{display:flex;gap:26px;color:#7b877f;font-size:12px}.cash-stats span{display:grid;gap:4px}.cash-stats b{color:#26382e;font-size:13px}
.panel{background:#fff;border:1px solid #e7ece8;border-radius:18px;padding:22px;margin:18px 0;box-shadow:0 5px 18px #173b2808}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel h2{font-size:18px;margin:0 0 5px;letter-spacing:-.4px}.transaction-form label,.login-card label,.edit-dialog label{display:block;font-size:12px;font-weight:700;color:#45564b;margin:0 0 7px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-grid .wide{grid-column:span 2}input,select{width:100%;height:43px;border:1px solid #dce4de;border-radius:10px;background:#fff;padding:0 12px;color:#26372d;outline:none}input:focus,select:focus{border-color:#2d916a;box-shadow:0 0 0 3px #2d916a18}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.btn{border:0;border-radius:10px;padding:11px 16px;font-size:13px;font-weight:700}.btn.primary{background:#176b50;color:white}.btn.primary:hover{background:#10583f}.btn.secondary{background:#edf3ef;color:#315444}.btn.ghost{background:transparent;color:#506158;border:1px solid #e1e8e3}.btn.full{width:100%;margin-top:18px;height:46px}
.message{font-size:12px;margin:8px 0 0;color:#25805b}.message.error{color:#c23d3d}.message:empty{display:none}
.filters{display:flex;gap:9px}.filters select{min-width:140px;height:38px;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;color:#819087;font-size:10px;text-transform:uppercase;letter-spacing:.7px;background:#f8faf8}td,th{padding:13px 11px;border-bottom:1px solid #edf0ed}td b{font-weight:600}.right{text-align:right}.positive{color:#16845d;font-weight:700}.negative{color:#c34b4b;font-weight:700}.empty{text-align:center;color:#8a968e;padding:30px}.actions{display:flex;gap:10px}.text-btn{border:0;background:none;color:#267b5c;font-size:11px;font-weight:700;padding:3px}.danger-text{color:#c34b4b}.footer-note{text-align:center;color:#9aa49d;font-size:11px;padding:15px}
.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#e1f1e8,transparent 40%),#f5f7f5}.login-card{background:#fff;width:min(100%,410px);padding:35px;border:1px solid #e7ece8;border-radius:22px;box-shadow:0 18px 60px #17452c12;text-align:center}.login-card .eyebrow{margin-top:17px}.login-card h1{font-size:25px}.login-card>p.muted{margin:8px 0 25px}.login-card form{text-align:left}.login-card input{margin-bottom:16px}.tiny{font-size:11px;margin-top:22px}
.edit-dialog{border:0;border-radius:17px;width:min(94%,430px);padding:25px;box-shadow:0 20px 70px #0003}.edit-dialog::backdrop{background:#13251c80}.edit-dialog h2{margin:0 0 20px}.edit-dialog input{margin-bottom:15px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:8px}
@media(max-width:760px){.topbar{height:62px;padding:0 15px}.container{margin:23px auto;padding:0 14px}.welcome-row{align-items:flex-start;gap:12px}.welcome-row h1{font-size:26px}.cash-grid{gap:10px}.cash-card{padding:15px;border-radius:15px}.cash-balance{font-size:23px}.cash-stats{display:grid;gap:9px}.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:span 2}.panel{padding:16px}.responsive-heading{align-items:flex-start;gap:12px;flex-direction:column}.filters{width:100%}.filters select{flex:1;min-width:0}.form-footer{align-items:flex-start;flex-direction:column}.form-footer .btn{width:100%}.user-chip{display:none}}
@media(max-width:430px){.cash-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.welcome-row .btn{padding:9px;font-size:11px}.brand{font-size:13px}}

/* AI RECEIPT SCAN */
.scan-panel-heading{gap:14px}.scan-btn{background:#e8f5ee;color:#176b50;border:1px solid #cfe7d9;white-space:nowrap}.scan-btn:hover{background:#d9eee2}
.scan-dialog{border:0;border-radius:20px;width:min(96%,900px);max-height:92vh;overflow:auto;padding:24px;box-shadow:0 20px 70px #0003}.scan-dialog::backdrop{background:#13251c80}.scan-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.scan-dialog-head h2{font-size:22px;margin:0 0 7px}.scan-upload-area{border:1px dashed #b9d4c3;background:#f8fbf8;border-radius:16px;padding:18px;display:grid;gap:12px;justify-items:center}.scan-file-label{display:grid;justify-items:center;gap:7px;cursor:pointer;text-align:center;padding:12px}.scan-icon{font-size:34px;color:#176b50}.receipt-preview{max-width:100%;max-height:300px;object-fit:contain;border-radius:12px}.scan-upload-area .btn{min-width:220px}.receipt-draft{margin-top:24px}.draft-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.draft-heading h3{margin:0 0 5px;font-size:17px}.draft-tag{font-size:10px;font-weight:800;letter-spacing:1px;background:#fff4d9;color:#8b6500;padding:7px 10px;border-radius:99px}.draft-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:18px}.draft-fields label,.receipt-draft label{display:block;font-size:12px;font-weight:700;color:#45564b;margin:0 0 7px}.draft-table-wrap{border:1px solid #e7ece8;border-radius:12px}.draft-table{min-width:680px}.draft-table input{height:36px;min-width:72px;padding:0 8px;font-size:12px}.draft-table .item-name-input{min-width:150px}.draft-table td{padding:7px}.draft-table .item-remove{border:0;background:#fff0f0;color:#b33;border-radius:7px;padding:7px 9px}.add-item-btn{margin-top:12px}.draft-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin:10px 0;border-bottom:1px solid #e7ece8;font-size:14px}.draft-total strong{font-size:22px;color:#176b50}.scan-notes{font-size:12px;color:#8a6500;background:#fff9e9;padding:10px;border-radius:9px}.scan-notes:empty{display:none}.scan-confirm-row{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.scan-confirm-row button{min-width:150px}.scan-dialog input[type="text"],.scan-dialog input[type="date"],.scan-dialog select{margin-bottom:0}
@media(max-width:760px){.scan-panel-heading{align-items:flex-start;flex-direction:column}.scan-btn{width:100%}.scan-dialog{padding:17px}.scan-dialog-head{align-items:flex-start}.draft-fields{grid-template-columns:1fr}.scan-confirm-row{flex-direction:column-reverse}.scan-confirm-row button{width:100%}.draft-heading{align-items:flex-start}}
