@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display&display=swap";html,body{height:100%;margin:0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes welcomeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes dropDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes bellPop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes menuIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.mb-shell{display:flex;height:100vh;overflow:hidden;font-family:DM Sans,sans-serif}.mb-sidebar{width:220px;flex:0 0 220px;background:linear-gradient(180deg,#0d1b34,#0f2548 60%,#0d1f3c);padding:20px 12px 24px;position:sticky;top:0;height:100vh;overflow:visible;display:flex;flex-direction:column;z-index:100;box-shadow:4px 0 20px #00000026}.mb-logo{font-size:22px;font-weight:800;color:#fff;margin-bottom:28px;padding:4px 8px;letter-spacing:-.3px;display:flex;align-items:center;gap:10px}.mb-logo img{height:52px;width:52px;object-fit:contain;border-radius:10px;flex-shrink:0}.mb-nav{display:flex;flex-direction:column;gap:1px;flex:1}.mb-nav-heading,.mb-section-label{font-size:10px;font-weight:700;color:#ffffff4d;letter-spacing:.1em;text-transform:uppercase;padding:14px 10px 5px;margin:0}.mb-divider{height:1px;background:#ffffff12;margin:8px 6px}.mb-link{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;color:#fff9;text-decoration:none;font-size:13.5px;font-weight:500;transition:background .15s,color .15s;white-space:nowrap}.mb-link:hover{background:#ffffff14;color:#fff}.mb-link.active{background:#6366f147;color:#fff;font-weight:700;box-shadow:inset 3px 0 #818cf8}.mb-item{position:relative;border-radius:8px}.mb-item-label{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;background:transparent;border:none;color:#fff9;padding:9px 10px;font-family:DM Sans,sans-serif;font-size:13.5px;font-weight:500;cursor:pointer;border-radius:8px;transition:background .15s,color .15s;white-space:nowrap}.mb-item-label:hover{background:#ffffff14;color:#fff}.mb-item-active>.mb-item-label{background:#6366f147;color:#fff;font-weight:700;box-shadow:inset 3px 0 #818cf8}.mb-item-label-left{display:flex;align-items:center;gap:9px}.mb-caret{font-size:13px;opacity:.7;flex-shrink:0}.mb-submenu-portal{position:fixed;background:#fff;border:1px solid #e5e7eb;box-shadow:0 12px 40px #00000029,0 2px 8px #00000014;padding:8px;border-radius:14px;width:215px;z-index:99999;animation:menuIn .12s ease}.mb-sublink{display:block;padding:8px 12px;border-radius:8px;color:#374151;text-decoration:none;font-size:13px;font-weight:500;transition:background .12s,color .12s;white-space:nowrap}.mb-sublink:hover{background:#f3f4f6;color:#111827}.mb-sublink.active{background:#eff6ff;color:#4f46e5;font-weight:700}.mb-sublink-green{color:#059669;font-weight:600}.mb-sublink-green:hover{background:#f0fdf4;color:#047857}.mb-main{flex:1;background:#f5f7fb;height:100vh;overflow-y:auto;overflow-x:hidden}.mb-alert-link{color:#111827;text-decoration:none;font-weight:700;display:flex;align-items:center;gap:8px}.mb-alert-pill{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e5e7eb;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.mb-alert-pill.danger{background:#ef4444;color:#fff}.mb-hamburger{display:none;position:fixed;top:14px;left:14px;z-index:99999;background:#0d1b34;border:none;border-radius:10px;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;flex-direction:column;gap:5px;padding:0;box-shadow:0 2px 10px #0000004d}.mb-hamburger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:all .2s}.mb-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:998}@media(max-width:768px){.mb-hamburger{display:flex}.mb-sidebar{position:fixed;top:0;left:0;height:100vh;z-index:999;transform:translate(-100%);transition:transform .25s ease;width:240px;flex:0 0 240px}.mb-sidebar.open{transform:translate(0)}.mb-overlay.open{display:block}.mb-main{width:100%;padding-top:60px}.mb-shell{overflow:visible;height:auto;min-height:100vh}}@media(max-width:480px){.mb-sidebar{width:200px;flex:0 0 200px;padding:16px 8px 20px}.mb-logo{font-size:18px;margin-bottom:20px}.mb-logo img{height:42px;width:42px}.mb-link,.mb-item-label{font-size:13px;padding:8px}}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}.page-wrap,.page-container{width:100%;max-width:100%;overflow-x:hidden}.page-wrap{padding:18px 22px 26px}.page-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.page-title{font-size:32px;line-height:1.05;margin:0;font-weight:700}.new-btn-container{position:relative;display:inline-block}.primary-btn{background:#0b5a3c;color:#fff;border:0;border-radius:10px;padding:10px 16px;font-weight:800;cursor:pointer}.dropdown-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;background:#fff;border:1px solid #d6dde8;box-shadow:0 10px 24px #00000024;border-radius:12px;padding:6px;z-index:20}.dropdown-menu button{width:100%;text-align:left;border:0;background:transparent;padding:10px;border-radius:10px;cursor:pointer;font-weight:700}.dropdown-menu button:hover{background:#f3f6fb}.summary-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:12px 0 14px}.summary-card{border-radius:12px;padding:22px;color:#fff;min-height:92px;display:flex;flex-direction:column;justify-content:center}.card-amount{font-size:36px;font-weight:800;margin-bottom:6px}.card-label{font-size:14px;font-weight:700;opacity:.95}.blue-card{background:#2f6fdb}.red-card{background:#e02424}.green-card{background:#0f9d58}.tabs-container{display:flex;gap:10px;margin:6px 0 10px}.tab-btn{border:1px solid #b9cdfc;background:#eef4ff;padding:6px 14px;border-radius:10px;font-weight:700;cursor:pointer}.tab-btn.active{background:#2f6fdb;border-color:#2f6fdb;color:#fff}.table-card{background:#fff;border-radius:12px;border:1px solid #e6edf7;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:860px}.data-table th{font-size:12px;letter-spacing:.02em;color:#2b3445;text-transform:uppercase;background:#fbfdff;padding:14px 16px;border-bottom:1px solid #eef2f7;text-align:left}.data-table td{padding:14px 16px;border-bottom:1px solid #f0f3f8;vertical-align:middle;font-size:15px;color:#0f172a}.data-table tr:hover td{background:#fbfdff}.empty-cell{text-align:center;color:#64748b;padding:24px 16px!important}.row-actions{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap}.link-btn{border:1px solid #d9dfe7;background:#fff;border-radius:10px;padding:7px 12px;cursor:pointer;font-weight:700}.danger-btn{border:1px solid #ffd2d2;background:#fff1f2;color:#b42318;border-radius:10px;padding:7px 12px;cursor:pointer;font-weight:800}.pager{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-top:1px solid #eef2f7;min-width:860px}.pager-left{font-size:13px;color:#0f172a}.pager-right{display:flex;gap:10px;align-items:center}.pager-btn{border:1px solid #e3e7ef;background:transparent;border-radius:10px;padding:7px 12px;cursor:pointer;font-weight:600}.pager-btn:disabled{opacity:.6;cursor:not-allowed}.pager-info{font-size:13px;color:#0f172a}.pdf-page{height:calc(100vh + -0px);display:flex;flex-direction:column}.pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #e5e7eb;background:#fff}.pdf-title{display:flex;align-items:baseline;gap:8px}.btn{border:1px solid #d1d5db;background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:600}.btn:hover{background:#f9fafb}.btn.primary{border-color:transparent;background:#1f5fff;color:#fff}.btn.primary:hover{filter:brightness(.95)}.btn:disabled{opacity:.6;cursor:not-allowed}.muted{color:#6b7280;font-weight:500}.pdf-frame{width:100%;flex:1;border:none;background:#fff}.pdf-state{padding:24px 18px;color:#444}.pdf-state.error{color:#b00020}.editinv-page{width:100%;max-width:100%;box-sizing:border-box;padding:18px 22px 26px;overflow-x:hidden}.editinv-inner{width:100%;max-width:1200px;margin:0 auto;box-sizing:border-box}.page-title{font-size:32px;line-height:1.05;margin:0 0 10px;font-weight:700}.editinv-subline{margin:0 0 14px;font-size:14px}.editinv-label{font-weight:700}.editinv-number{color:#1f6feb;font-weight:700}.editinv-card{background:#fff;border:1px solid #e6edf7;border-radius:12px;padding:16px;box-sizing:border-box}.editinv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 14px;align-items:end;margin-bottom:14px}.field label{display:block;font-weight:700;margin:0 0 6px;font-size:13px}.field input,.field select,.field textarea{width:100%;max-width:100%;box-sizing:border-box;border:1px solid #cfd6e4;border-radius:10px;padding:10px;background:#fff;outline:none}.field textarea{resize:vertical}.editinv-tablewrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid #eef2f7;border-radius:12px}.editinv-table{width:100%;border-collapse:collapse;min-width:860px}.editinv-table th,.editinv-table td{padding:10px 12px;border-bottom:1px solid #f0f3f8;vertical-align:middle;font-size:14px}.editinv-table thead th{background:#fbfdff;font-size:12px;text-transform:uppercase;letter-spacing:.02em}.editinv-table input,.editinv-table select{height:36px;border-radius:10px;padding:0 10px}.col-desc{width:42%}.col-qty{width:10%}.col-price{width:14%}.col-gst{width:20%}.col-amt{width:12%}.col-x{width:2%;text-align:center}.editinv-addrow{padding:10px 12px;background:#fff}.btn-mini{border:1px solid #d9dfe7;background:#fff;border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}.btn-mini.danger{color:#b42318}.editinv-bottom{display:grid;grid-template-columns:1fr 320px;gap:14px;margin-top:14px}@media(max-width:900px){.editinv-bottom{grid-template-columns:1fr}}.editinv-totals{border:1px solid #eef2f7;border-radius:12px;padding:12px;height:fit-content}.tot-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.tot-row.total{font-weight:900;border-top:1px solid #eef2f7;margin-top:6px;padding-top:10px}.editinv-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:12px}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}.btn.secondary{background:#e5e7eb;color:#111827}.btn.primary{background:#16a34a;color:#fff}.btn:not(.secondary):not(.primary){background:#2f6fdb;color:#fff}.transactions-wrapper{width:100%;padding:32px 40px;background:#f9fafb;min-height:100vh;font-family:DM Sans,sans-serif;box-sizing:border-box}.title{font-family:"DM Serif Display",serif;font-size:32px;font-weight:400;color:#111827;margin:0 0 24px;letter-spacing:-.3px}.tabs-container{display:flex;gap:6px;margin-bottom:24px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:6px;width:fit-content;box-shadow:0 1px 3px #0000000a}.tab-btn{background:transparent;border:none;padding:8px 18px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;text-decoration:none;color:#6b7280;transition:all .15s ease;font-family:DM Sans,sans-serif;white-space:nowrap}.tab-btn:hover{background:#f3f4f6;color:#374151}.tab-btn.active{background:#6366f1;color:#fff;box-shadow:0 2px 8px #6366f14d}.content-area{width:100%}:root{--pf-money-in: #10b981;--pf-money-out: #ef4444;--pf-primary: #6366f1;--pf-border: #e5e7eb;--pf-bg: #f9fafb;--pf-text: #111827;--pf-muted: #6b7280}.bank-page{padding:0;font-family:DM Sans,sans-serif}.bank-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.bank-title{font-size:18px;font-weight:700;color:var(--pf-text);letter-spacing:-.2px}.bank-subtitle{font-size:13px;color:var(--pf-muted);margin-top:2px}.link-bank-btn{background:#6366f1;border:none;padding:9px 18px;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;transition:background .15s,transform .15s,box-shadow .15s;box-shadow:0 2px 8px #6366f140}.link-bank-btn:hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 16px #6366f159}.bank-card{background:#fff;border-radius:16px;border:1px solid var(--pf-border);box-shadow:0 1px 4px #0000000f;padding:20px 24px 24px;transition:box-shadow .2s}.bank-card:hover{box-shadow:0 4px 16px #00000014}.bank-table{width:100%;border-collapse:collapse;margin-top:8px}.bank-table thead th{text-align:left;padding:10px 12px;font-size:11px;font-weight:700;color:#fff;background:#6366f1;letter-spacing:.05em;text-transform:uppercase}.bank-table thead th:first-child{border-radius:8px 0 0 8px}.bank-table thead th:last-child{border-radius:0 8px 8px 0}.bank-table tbody td{padding:11px 12px;font-size:13px;border-bottom:1px solid #f3f4f6;color:var(--pf-text)}.bank-table tbody tr:hover td{background:#f5f3ff}.row-selected td{background:#eff6ff}.cell-ellipsis{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount-col{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.amount-positive{color:var(--pf-money-in);font-weight:600}.amount-negative{color:var(--pf-money-out);font-weight:600}.linked-accounts-delete{border:1px solid #fecaca;background:#fff;color:#ef4444;font-weight:600;font-size:12px;padding:5px 12px;border-radius:8px;cursor:pointer;font-family:DM Sans,sans-serif;transition:background .15s,border-color .15s}.linked-accounts-delete:hover{background:#fef2f2;border-color:#fca5a5}.pf-topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px}.pf-topbar-left{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.pf-h3{font-weight:700;font-size:14px;color:var(--pf-text)}.pf-meta{font-size:13px;color:var(--pf-muted)}.pf-topbar-right{display:flex;gap:10px;align-items:center}.pf-field{display:flex;align-items:center;gap:8px}.pf-field-label{font-size:13px;color:var(--pf-muted);font-weight:500}.pf-select{padding:7px 10px;border-radius:8px;border:1px solid var(--pf-border);background:#fff;font-size:13px;color:var(--pf-text);font-family:DM Sans,sans-serif;outline:none;cursor:pointer}.pf-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.pf-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #f3f4f6;margin-bottom:12px}.pf-filter{display:flex;flex-direction:column;gap:5px}.pf-filter--date{width:160px}.pf-filter--spacer{flex:1}.pf-filter-label{font-size:11px;font-weight:600;color:var(--pf-muted);text-transform:uppercase;letter-spacing:.04em}.pf-input{padding:8px 12px;border-radius:8px;border:1px solid var(--pf-border);font-size:13px;color:var(--pf-text);background:#fff;font-family:DM Sans,sans-serif;outline:none;transition:border-color .15s,box-shadow .15s}.pf-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.pf-bulkbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0 6px}.pf-bulk-count{font-size:13px;color:var(--pf-muted)}.pf-btn{border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;border:1px solid transparent;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .15s}.pf-btn:disabled{opacity:.5;cursor:not-allowed}.pf-btn--success{background:#10b981;border-color:#10b981;color:#fff}.pf-btn--success:hover:not(:disabled){background:#059669;border-color:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b98140}.pf-btn--dangerGhost{background:#fff;border-color:#fecaca;color:#ef4444}.pf-btn--dangerGhost:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.pf-btn--ghost{background:#fff;border-color:var(--pf-border);color:#374151}.pf-btn--ghost:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.pf-badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:20px;font-size:12px;font-weight:700;border:1px solid transparent;white-space:nowrap}.pf-badge--review{background:#fffbeb;border-color:#fde68a;color:#92400e}.pf-badge--matched{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.pf-badge--ignored{background:#f9fafb;border-color:#e5e7eb;color:#6b7280}.pf-statusActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pf-actions{display:flex;gap:6px;white-space:nowrap;opacity:0;transform:translateY(1px);pointer-events:none;transition:opacity .14s ease,transform .14s ease}.pf-row:hover .pf-actions,.pf-row:focus-within .pf-actions{opacity:1;transform:translateY(0);pointer-events:auto}@media(hover:none){.pf-actions{opacity:1;transform:none;pointer-events:auto}}.pf-action{border-radius:8px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .15s;border:1px solid transparent;background:#fff}.pf-action:disabled{opacity:.5;cursor:not-allowed}.pf-match{background:#6366f1;border-color:#6366f1;color:#fff}.pf-match:hover:not(:disabled){background:#4f46e5;border-color:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.pf-ignore{background:#fff;border-color:#fecaca;color:#ef4444}.pf-ignore:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5;transform:translateY(-1px)}.pf-suggest{background:#f9fafb;border-color:var(--pf-border);color:#374151}.pf-suggest:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;transform:translateY(-1px)}.pf-undo{background:#f9fafb;border-color:var(--pf-border);color:#374151}.pf-undo:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;transform:translateY(-1px)}.pf-subrow td{background:#f5f3ff;padding:0;border-bottom:1px solid #ede9fe}.pf-subcard{padding:14px 16px}.pf-subtitle{font-weight:700;color:var(--pf-text);margin-bottom:6px;font-size:13px}.pf-muted{color:var(--pf-muted);font-size:13px}.pf-error{color:#ef4444;background:#fef2f2;border-left:3px solid #fca5a5;padding:8px 12px;border-radius:0 8px 8px 0;font-size:13px}.pf-subtable{width:100%;border-collapse:collapse}.pf-subtable th{text-align:left;padding:8px 10px;font-size:11px;font-weight:700;color:var(--pf-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--pf-border);background:#ffffffb3}.pf-subtable td{padding:8px 10px;font-size:13px;border-bottom:1px solid #f3f4f6}.pf-empty{padding:32px 16px;color:var(--pf-muted);font-size:13px;text-align:center}.pf-skeleton-row td{padding-top:12px;padding-bottom:12px}.pf-skel{background:linear-gradient(90deg,#f0f2f5 25%,#e8eaed,#f0f2f5 75%);background-size:200% 100%;animation:pf-shimmer 1.2s infinite;border-radius:6px;height:12px}.pf-skel--chk{width:14px;height:14px;border-radius:4px}.pf-skel--sm{width:90px}.pf-skel--md{width:min(520px,80%)}.pf-skel--lg{width:min(420px,65%);height:14px}@keyframes pf-shimmer{0%{background-position:0% 0}to{background-position:-200% 0}}.bank-pagination{margin-top:16px}.pf-pagination{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f3f4f6}.pf-pagination-left{font-size:13px;color:var(--pf-muted)}.pf-pagination-right{display:flex;align-items:center;gap:6px}.pf-pagination-simple{display:flex;align-items:center;gap:12px}.pf-pageBtn{border-radius:8px;border:1px solid var(--pf-border);background:#fff;padding:6px 14px;font-size:13px;font-weight:600;color:var(--pf-text);cursor:pointer;font-family:DM Sans,sans-serif;transition:all .15s}.pf-pageBtn:hover:not(:disabled){background:#f9fafb;border-color:#6366f1;color:#6366f1}.pf-pageBtn:disabled{opacity:.4;cursor:not-allowed}.pf-pageBtn.is-active{background:#6366f1;color:#fff;border-color:#6366f1}.pf-pageIndicator{font-size:13px;color:#374151;font-weight:600;min-width:70px;text-align:center}.pf-dots{padding:0 4px;color:#9ca3af}tr[data-status=Matched] td{background:#10b9810a}tr[data-status=Ignored] td{background:#6b72800a}.pf-row--locked{opacity:.55}.pf-row--locked input[type=checkbox]{cursor:not-allowed}.pf-row--locked .pf-actions{opacity:0!important;pointer-events:none!important}.pf-select--sm,.pf-input--sm{padding:5px 8px;border-radius:8px;font-size:12px}.pf-toggle{display:inline-flex;border:1px solid var(--pf-border);border-radius:8px;overflow:hidden;background:#fff}.pf-toggle-btn{border:0;background:transparent;padding:5px 10px;font-size:12px;font-weight:600;color:#374151;cursor:pointer;font-family:DM Sans,sans-serif;transition:background .12s}.pf-toggle-btn.is-on{background:#6366f1;color:#fff}.pf-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.pf-statusOnly{display:flex;align-items:center;gap:8px}.pf-actions--row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pf-action.pf-apply{background:#6366f1;border-color:#6366f1;color:#fff}.pf-action.pf-find{background:#fff;border:1px solid var(--pf-border);color:var(--pf-text)}.pf-subrow--match .pf-subcard{border:1px solid #ede9fe;border-radius:10px}.receipts-page{padding:22px 28px}.receipts-title{margin:0 0 14px;font-size:22px;font-weight:650}.upload-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 16px}.upload-tile{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px;cursor:pointer;transition:transform .08s ease,box-shadow .12s ease;min-height:92px;display:flex;gap:12px;align-items:center}.upload-tile:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0f172a14}.upload-icon{width:42px;height:42px;border-radius:10px;background:#f5f7fb;display:grid;place-items:center;font-size:18px;flex:0 0 auto}.upload-title{font-weight:600;margin-bottom:2px}.upload-subtitle{font-size:12px;opacity:.7}@media(max-width:980px){.upload-tiles{grid-template-columns:1fr}}.receipts-tabs{display:flex;gap:8px;margin:6px 0 12px}.receipts-tab{border:1px solid #d1d5db;background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px}.receipts-tab:hover{background:#f5f7fb}.receipts-tab.active{border-color:#111827;background:#111827;color:#fff}.receipts-toolbar{display:flex;justify-content:space-between;align-items:center;margin:8px 0 10px}.toolbar-left,.toolbar-right{display:flex;gap:10px;align-items:center}.dropdown-wrapper{position:relative}.batch-btn,.filter-btn{border:1px solid #d1d5db;background:#fff;padding:7px 12px;border-radius:8px;cursor:pointer;font-size:13px}.batch-btn:hover,.filter-btn:hover{background:#f5f7fb}.dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 14px 30px #0f172a1a;padding:6px;min-width:190px;z-index:50}.dropdown-menu button{width:100%;border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;font-size:13px;cursor:pointer}.dropdown-menu button:hover{background:#f5f7fb}.dropdown-menu button.danger{color:#b91c1c}.dropdown-menu button.danger:hover{background:#b91c1c14}.filter-popup{position:absolute;top:calc(100% + 6px);left:0;width:320px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 14px 30px #0f172a1a;padding:12px;z-index:60}.filter-row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.filter-row label{font-size:12px;font-weight:600;opacity:.8}.filter-row input,.filter-row select{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-size:13px;outline:none}.filter-row input:focus,.filter-row select:focus{border-color:#111827}.filter-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filter-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.reset-btn{border:1px solid #d1d5db;background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px}.reset-btn:hover{background:#f5f7fb}.apply-btn{border:1px solid #111827;background:#111827;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px}.apply-btn:hover{opacity:.95}.receipts-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.receipts-table{width:100%;border-collapse:collapse}.receipts-table thead th{text-align:left;padding:12px;font-size:12px;font-weight:700;color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;white-space:nowrap}.receipts-table tbody td{padding:12px;border-bottom:1px solid #eef2f7;font-size:13px;vertical-align:top}.receipts-table tbody tr:hover td{background:#fbfdff}.empty-state{text-align:center;padding:30px 12px!important;opacity:.7}.receipt-cell{display:flex;gap:10px;align-items:flex-start}.thumb-wrapper{width:42px;height:42px;border-radius:10px;border:1px solid #e5e7eb;background:#f5f7fb;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.thumb-img{width:100%;height:100%;object-fit:cover}.thumb-icon{font-size:18px}.receipt-name{min-width:220px;max-width:420px;word-break:break-word}.receipt-name a{text-decoration:underline}.actions-cell{white-space:nowrap}.btn-primary,.btn-secondary{border-radius:8px;padding:7px 10px;cursor:pointer;font-size:12px;border:1px solid transparent}.btn-primary{border-color:#111827;background:#111827;color:#fff}.btn-primary:hover{opacity:.95}.btn-secondary{border-color:#d1d5db;background:#fff;color:#111827}.btn-secondary:hover{background:#f5f7fb}.modal-backdrop{position:fixed;inset:0;background:#11182773;display:grid;place-items:center;z-index:999;padding:20px}.modal-dialog{width:100%;max-width:520px;background:#fff;border-radius:14px;border:1px solid #e5e7eb;box-shadow:0 18px 45px #0f172a2e;overflow:hidden}.modal-title{margin:0;padding:14px 16px;font-size:16px;font-weight:650;border-bottom:1px solid #eef2f7}.modal-body{padding:14px 16px}.modal-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.modal-row label{font-size:12px;font-weight:600;opacity:.8}.modal-row input,.modal-row select{border:1px solid #d1d5db;border-radius:8px;padding:9px 10px;font-size:13px;outline:none}.modal-row input:focus,.modal-row select:focus{border-color:#111827}.modal-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #eef2f7}.btn-ghost{border:1px solid #d1d5db;background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px}.btn-ghost:hover{background:#f5f7fb}@media(max-width:860px){.receipts-page{padding:18px 16px}.receipt-name{min-width:0;max-width:260px}.actions-cell{flex-wrap:wrap;gap:6px}}.actions-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions-wrap .batch-btn,.actions-wrap .btn-primary,.actions-wrap .btn-secondary{height:30px;line-height:28px}.rec-page{padding:24px 40px}.rec-title{font-size:22px;font-weight:600;margin-bottom:16px}.rec-summary{background:#fff;border-radius:12px;padding:18px 22px;box-shadow:0 4px 14px #0000000f;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.rec-period{font-size:14px;font-weight:600;margin-bottom:14px}.rec-balances{display:grid;grid-template-columns:repeat(2,200px);gap:12px 30px}.rec-balances div{display:flex;justify-content:space-between;font-size:14px}.rec-balances strong{font-weight:600}.rec-difference{grid-column:span 2;font-size:15px;border-top:1px solid #e5e7eb;padding-top:10px;margin-top:8px}.rec-diff-green strong{color:#15803d}.rec-diff-red strong{color:#b42318}.rec-summary-right{display:flex;align-items:center}.rec-finish-btn{padding:8px 16px;border-radius:8px;border:1px solid #cbd5e1;background:#f1f5f9;cursor:pointer;font-weight:500;transition:all .2s ease}.rec-finish-btn:hover:not(:disabled){background:#e2e8f0}.rec-finish-btn:disabled{opacity:.5;cursor:not-allowed}.rec-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 14px #0000000d;overflow:hidden}.rec-table{width:100%;border-collapse:collapse}.rec-table thead{background:#f8fafc;position:sticky;top:0}.rec-table th,.rec-table td{padding:10px 14px;font-size:14px;border-bottom:1px solid #f1f5f9}.rec-table th{text-align:left;font-weight:600;color:#475569}.rec-amount{text-align:right}.rec-debit{color:#b42318}.rec-credit{color:#15803d}.rec-row-cleared{background-color:#2563eb0d}.rec-row-cleared:hover{background-color:#2563eb14}.rec-empty{text-align:center;padding:20px;color:#94a3b8}.rec-loading,.rec-error{padding:40px}.reconcilePage{color:#0f172a}.reconcileTitle{letter-spacing:-.01em}.reconcileBreadcrumbs{-webkit-user-select:none;user-select:none}.reconcileCard{transition:box-shadow .18s ease,border-color .18s ease}.reconcileCard:hover{box-shadow:0 6px 24px #00000014;border-color:#c7d2fe}.reconcileTopLinks{display:inline-flex;gap:14px;align-items:center}.reconcileLinkBtn{text-decoration:none;border-radius:8px;line-height:1;padding:6px 8px;transition:background-color .18s ease,color .18s ease}.reconcileLinkBtn:hover{background:#6366f114;color:#4f46e5}.reconcileLinkBtn:active{background:#1b74e424}.reconcileError{box-shadow:0 2px 10px #b000200f}.reconcileField{display:block}.reconcileLabel{color:#0f172a}.reconcileControl{outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.reconcileControl:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f11f}.reconcileControl:disabled{cursor:not-allowed;opacity:.92}.reconcilePrimaryBtn{transition:transform .06s ease,box-shadow .18s ease,background-color .18s ease,opacity .18s ease;box-shadow:0 2px 8px #6366f140}.reconcilePrimaryBtn:hover:not(:disabled){background:#4f46e5!important;box-shadow:0 6px 18px #6366f159}.reconcilePrimaryBtn:active:not(:disabled){transform:translateY(1px)}.reconcilePrimaryBtn:disabled{box-shadow:none}.rec-table tbody tr{transition:background-color .12s ease}.rec-table tbody tr:hover{background:#0f172a08}.rec-table input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.rec-table input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 4px #2563eb2e;border-radius:4px}.rec-error{color:#b00020;background:#fff;border:1px solid rgba(176,0,32,.18);border-radius:12px}.rec-loading{color:#475569}.reconcilePillBtn{transition:background-color .18s ease,box-shadow .18s ease,border-color .18s ease}.reconcilePillBtn:hover:not(:disabled){background:#f8fafc;border-color:#b7c6df}.reconcilePillBtn:active:not(:disabled){transform:translateY(1px)}.reconcilePillBtn:focus-visible{outline:none;box-shadow:0 0 0 4px #1b74e42e}.reconcileHistoryRow{transition:background-color .12s ease}.reconcileHistoryRow:hover{background:#0f172a08}.reconcileStatusChip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em;border:1px solid transparent}.reconcileStatusChip--inprogress{background:#6366f11a;border-color:#6366f140;color:#4f46e5}.reconcileStatusChip--completed{background:#16a34a1a;border-color:#16a34a38;color:#15803d}.reconcilePillBtn--open:hover:not(:disabled){background:#2563eb0f;border-color:#2563eb59}.reconcileSummaryBlock{padding:10px 12px;border-radius:12px;background:#0f172a05;border:1px solid rgba(15,23,42,.06)}.reconcilePillBtn--primary{box-shadow:0 8px 20px #16a34a29;border-color:#16a34a40}.reconcilePillBtn--primary:hover:not(:disabled){box-shadow:0 12px 26px #16a34a38}.rec-finish-btn--completed{background:#16a34a1f;border-color:#16a34a40;color:#15803d}.pfSubtle{font-size:12px;color:#64748b}.pfCrumbLink{background:none;border:none;padding:0;margin:0;font:inherit;color:#6366f1;cursor:pointer;font-weight:600}.pfCrumbLink:hover{text-decoration:underline}.pfSectionLabel{font-size:12px;font-weight:800;color:#334155;letter-spacing:.02em;margin:6px 0 12px;text-transform:uppercase}.pfFieldHint{margin-top:6px;font-size:12px;color:#64748b}.pfBtn,.pfBtnPrimary{padding:8px 14px;border-radius:999px;border:1px solid #c7d2e5;background:#fff;font-weight:800;cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease,border-color .18s ease,transform .06s ease}.pfBtn:hover{background:#f8fafc}.pfBtn:active{transform:translateY(1px)}.pfBtnPrimary{border-color:#6366f140;background:#6366f1;color:#fff;box-shadow:0 4px 12px #6366f140}.pfBtnPrimary:hover{background:#4f46e5;box-shadow:0 8px 20px #6366f159}.pfEmpty{border:1px dashed rgba(15,23,42,.14);background:#0f172a04;border-radius:14px;padding:18px 16px}.pfEmptyTitle{font-weight:900;color:#0f172a}.pfEmptyText{margin-top:6px;font-size:13px;color:#475569}.pfEmptyActions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.pfBanner{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#0f172a05;border:1px solid rgba(15,23,42,.08);color:#0f172a;font-size:13px;font-weight:700}.pfBanner--success{background:#16a34a14;border-color:#16a34a38;color:#14532d}.pfBanner--info{background:#2563eb14;border-color:#2563eb38;color:#1e3a8a}.pfCounts{display:grid;gap:8px}.pfCounts>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.pfHistoryHead{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px;padding:10px 12px;font-size:12px;color:#6b7280}.pfHistoryRow{width:100%;border:1px solid #eef2f7;background:#fff;padding:14px 12px;border-radius:12px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px;text-align:left;cursor:pointer;transition:box-shadow .15s ease,transform .15s ease,background .15s ease,border-color .15s ease}.pfHistoryBody{display:grid;gap:10px}.pfHistoryRow:hover{box-shadow:0 10px 24px #0f172a1a;transform:translateY(-1px);background:#fbfdff;border-color:#dde6f5}.pfHistoryRow:active{transform:translateY(0)}.pfPeriodMain{font-size:13px;font-weight:900;color:#0f172a}.pfRight{text-align:right}.pfDiff{font-weight:900;color:#b42318}.pfBadge{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid transparent}.pfBadge--completed{background:#16a34a1a;border-color:#16a34a38;color:#15803d}.pfBadge--inprogress{background:#6366f11a;border-color:#6366f140;color:#4f46e5}.pfBadge--warning{background:#f59e0b1f;border-color:#f59e0b47;color:#92400e}@media(max-width:860px){.pfHistoryHead,.pfHistoryRow{grid-template-columns:2fr 1fr 1fr}.pfHistoryHead>:nth-child(4),.pfHistoryHead>:nth-child(5),.pfHistoryRow>:nth-child(4),.pfHistoryRow>:nth-child(5){display:none}}@media(max-width:900px){table{table-layout:auto!important}}.bankingPage{padding:32px 40px;background:#f9fafb;min-height:100vh;font-family:DM Sans,sans-serif}.bankingHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.bankingTitle{margin:0;font-family:"DM Serif Display",serif;font-size:32px;font-weight:400;color:#111827;letter-spacing:-.3px;line-height:1.1}.bankingSubtitle{margin-top:4px;color:#6b7280;font-size:13px}.bankingActions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.bankingBtn{padding:8px 18px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-weight:600;font-size:13px;font-family:DM Sans,sans-serif;color:#374151;transition:all .15s}.bankingBtn:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db}.bankingBtn:disabled{opacity:.5;cursor:not-allowed}.bankingBtn--primary{background:#6366f1;color:#fff;border-color:#6366f1;box-shadow:0 2px 8px #6366f140}.bankingBtn--primary:hover:not(:disabled){background:#4f46e5;border-color:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 16px #6366f159}.bankingInfo{margin-bottom:20px;padding:12px 16px;border-radius:10px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:13px}.bankingError{margin-bottom:20px;padding:12px 16px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#ef4444;font-size:13px;font-weight:500}.bankingGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media(max-width:980px){.bankingGrid{grid-template-columns:1fr}}.bankingCard{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px;box-shadow:0 1px 4px #0000000d}.bankingCard--full{margin-top:0}.bankingCardTitle{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}.bankingMetrics{display:flex;gap:32px;flex-wrap:wrap;align-items:flex-end}.bankingMetricValue{font-size:36px;font-weight:800;color:#111827;line-height:1;font-family:"DM Serif Display",serif}.bankingMetricLabel{margin-top:6px;color:#9ca3af;font-size:12px;font-weight:500}.bankingMetric--small .bankingState{font-size:18px;font-weight:700;color:#111827;line-height:1}.bankingMuted{margin-top:16px;color:#6b7280;font-size:13px;line-height:1.6}.bankingBackfillRow{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:16px}.bankingField{display:flex;flex-direction:column;gap:6px}.bankingFieldLabel{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em}.bankingInput{height:38px;padding:0 12px;border-radius:8px;border:1px solid #e5e7eb;font-size:13px;font-family:DM Sans,sans-serif;color:#111827;outline:none;min-width:160px;background:#fff;transition:border-color .15s,box-shadow .15s}.bankingInput:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}
