@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Manrope:wght@400;500;600;700&display=swap";.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background-color:var(--color-bg)}.error-boundary-content{max-width:480px;text-align:center}.error-boundary-icon{width:64px;height:64px;margin-bottom:24px;fill:var(--color-danger)}.error-boundary-title{margin:0 0 12px;font-size:1.5rem;font-weight:600;color:var(--color-text)}.error-boundary-message{margin:0 0 24px;color:var(--color-text-secondary);font-size:1rem;line-height:1.5}.error-boundary-details{margin:0 0 24px;padding:16px;border-radius:8px;background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-danger);font-family:monospace;font-size:.8rem;text-align:left;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto}.error-boundary-button{padding:12px 24px;border-radius:8px;border:none;background-color:var(--color-primary);color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.error-boundary-button:hover{background-color:var(--color-primary-hover)}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;background-color:#00000080;z-index:2000;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{max-width:400px;width:100%;padding:24px;border-radius:12px;background-color:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 4px 24px #0003;animation:slideUp .15s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-title{margin:0 0 12px;font-size:1.125rem;font-weight:600;color:var(--color-text)}.confirm-dialog-message{margin:0 0 24px;color:var(--color-text-secondary);font-size:.95rem;line-height:1.5;white-space:pre-wrap}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-button{padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s}.confirm-dialog-button.cancel{border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text)}.confirm-dialog-button.cancel:hover{background-color:var(--color-surface);border-color:var(--color-text-secondary)}.confirm-dialog-button.confirm{border:none;background-color:var(--color-primary);color:#fff}.confirm-dialog-button.confirm:hover{background-color:var(--color-primary-hover)}.confirm-dialog-button.confirm.danger{background-color:var(--color-danger)}.confirm-dialog-button.confirm.danger:hover{background-color:#dc2626}.category-select{position:relative;width:100%}.category-select-input{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.875rem;line-height:1.25rem;background:var(--color-bg);color:var(--color-text)}.category-select-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.category-select-hint{margin-top:.25rem;font-size:.75rem;color:var(--color-success)}.category-select-dropdown{position:absolute;top:calc(100% + .25rem);left:0;right:0;max-height:300px;overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-border);border-radius:.375rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:50}.category-select-options{padding:.25rem}.category-select-option{width:100%;text-align:left;padding:.5rem;border:none;background:none;border-radius:.25rem;cursor:pointer;transition:background-color .15s}.category-select-option:hover{background-color:var(--color-hover)}.category-select-option.selected{background-color:#2563eb1f}.category-select-option-category{font-weight:500;font-size:.875rem;color:var(--color-text);margin-bottom:.125rem}.category-select-option-account{font-size:.75rem;color:var(--color-text-secondary)}.category-select-empty{padding:1rem;text-align:center;font-size:.875rem;color:var(--color-text-secondary)}.category-select-more{padding:.5rem;text-align:center;font-size:.75rem;color:var(--color-text-secondary);border-top:1px solid var(--color-border)}@media (max-width: 480px){.category-select-dropdown{max-height:250px;font-size:16px}.category-select-input{font-size:16px}}.reports-entity-selector{margin-bottom:20px}.report-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:20px;box-shadow:var(--shadow-sm)}.report-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:15px;font-size:.9em;color:var(--color-text-secondary);flex-wrap:wrap}.trial-balance-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.reports-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.85em}.balance-status{padding:4px 8px;border-radius:4px;font-weight:500}.balance-status.balanced{background:#10b98126;color:var(--color-success)}.balance-status.unbalanced{background:#ef44441f;color:var(--color-danger)}.trial-balance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px;padding:15px;background:#1355ff0d;border:1px solid var(--color-border);border-radius:8px}.trial-balance-summary-item{min-width:0}.trial-balance-summary-label{font-size:.85em;color:var(--color-text-secondary)}.trial-balance-summary-value{font-size:1.2em;font-weight:700}.trial-balance-summary-value.balanced{color:var(--color-success)}.trial-balance-summary-value.unbalanced{color:var(--color-danger)}.text-right{text-align:right!important}.periods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.period-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:8px;padding:15px;cursor:pointer;transition:all .2s;color:var(--color-text)}.period-card:hover{border-color:var(--color-primary)}.period-card.selected{border-color:var(--color-primary);background:#2563eb14}.period-header{display:flex;justify-content:space-between;margin-bottom:8px}.period-name{font-weight:600;font-size:1.1em}.period-status{padding:2px 8px;border-radius:4px;font-size:.8em;font-weight:500}.status-open{background:#f59e0b26;color:var(--color-warning)}.status-closed{background:#2563eb1f;color:var(--color-primary)}.status-filed{background:#10b98126;color:var(--color-success)}.period-dates{font-size:.85em;color:var(--color-text-secondary);margin-bottom:12px}.period-amounts{margin-bottom:12px}.amount-row{display:flex;justify-content:space-between;font-size:.9em;padding:4px 0}.amount-row.net{font-weight:600;border-top:1px solid var(--color-border);margin-top:4px;padding-top:8px}.payable{color:var(--color-danger)}.refund{color:var(--color-success)}.period-meta{display:flex;justify-content:space-between;font-size:.8em;color:var(--color-text-secondary)}.type-badge{padding:2px 6px;border-radius:4px;font-size:.8em;font-weight:500}.type-badge.itc{background:#10b98126;color:var(--color-success)}.type-badge.collected{background:#2563eb1f;color:var(--color-primary)}.type-badge.adjustment{background:#f59e0b26;color:var(--color-warning)}.reports-payroll-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px;align-items:end}.reports-payroll-controls input[type=month]{width:100%;padding:10px 12px;font-size:14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.reports-payroll-controls input[type=month]:focus{outline:none;border-color:var(--color-primary)}.reports-payroll-warning{margin-top:6px;font-size:12px;color:#7c5a00}.cash-monitor-table th{text-align:left;width:60%}.cash-monitor-coverage{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border)}.cash-monitor-coverage-title{margin:0 0 8px;font-size:14px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.cash-monitor-coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.cash-monitor-coverage-grid>div{display:flex;flex-direction:column;gap:2px}.cash-monitor-coverage-label{font-size:12px;color:var(--color-text-secondary)}.cash-monitor-gap{color:#b54708}@media (max-width: 720px){.trial-balance-summary{grid-template-columns:1fr}}.payroll-entity-selector{margin-bottom:var(--spacing-md)}.payroll-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--spacing-md)}.payroll-kpi-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--spacing-md);display:grid;gap:6px;box-shadow:var(--shadow-sm)}.payroll-kpi-card.accent{border-color:#10b98180;background:linear-gradient(180deg,#10b9810f,#10b98105)}.payroll-kpi-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.payroll-kpi-value{font-size:24px;font-weight:700;color:var(--color-text)}.payroll-kpi-sub{font-size:12px;color:var(--color-text-secondary)}.payroll-two-col{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.payroll-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.payroll-snapshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-sm)}.payroll-snapshot-label{font-size:12px;color:var(--color-text-secondary);margin-bottom:4px}.payroll-snapshot-value{font-size:15px;font-weight:600;color:var(--color-text)}.payroll-alert{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid rgba(245,158,11,.45);background:#f59e0b1f;color:#7c5a00;font-size:13px}.payroll-insights{margin-top:var(--spacing-md);display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.payroll-insight-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--color-border);background:#2563eb14;font-size:12px}.payroll-insight-chip strong{color:var(--color-primary);font-weight:700}.payroll-remittance-grid{margin-top:var(--spacing-sm);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.payroll-remittance-grid>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px;display:grid;gap:4px;background:var(--color-bg)}.payroll-remittance-grid>div span{font-size:12px;color:var(--color-text-secondary)}.payroll-remittance-grid>div strong{font-size:15px;font-weight:700}.payroll-remittance-grid>div.total{border-color:#2563eb59;background:#2563eb14}.payroll-remittance-grid>div.total strong{color:var(--color-primary)}.payroll-employee-list{margin-top:var(--spacing-sm);display:grid;gap:8px;max-height:420px;overflow-y:auto}.payroll-employee-row{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);padding:10px 12px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;gap:var(--spacing-sm);transition:border-color .2s,background .2s}.payroll-employee-row .name{font-weight:600;color:var(--color-text)}.payroll-employee-row .meta{font-size:12px;color:var(--color-text-secondary)}.payroll-employee-row .metrics{text-align:right;display:grid;gap:2px;color:var(--color-text-secondary);font-size:13px}.payroll-employee-row .metrics strong{color:var(--color-text)}.payroll-employee-row.active{border-color:var(--color-primary);background:#2563eb1a}.payroll-employee-detail h4{margin:0 0 var(--spacing-sm);font-size:20px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.detail-grid>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);padding:10px;display:grid;gap:4px}.detail-grid>div span{font-size:12px;color:var(--color-text-secondary)}.detail-grid>div strong{font-size:15px}.payroll-latest-stub{margin-top:var(--spacing-md);display:grid;gap:8px}.payroll-latest-stub h5{margin:0;font-size:14px;color:var(--color-text-secondary)}.payroll-history-table-wrap{overflow-x:auto}.payroll-history-table td,.payroll-history-table th{white-space:nowrap}.payroll-ops-note{margin:0 0 var(--spacing-md);font-size:13px;color:var(--color-text-secondary)}.payroll-monthly-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md);align-items:end}.payroll-monthly-controls input[type=month]{width:100%;padding:10px 12px;font-size:14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.payroll-monthly-controls input[type=month]:focus{outline:none;border-color:var(--color-primary)}.payroll-monthly-warning{margin-top:6px;font-size:12px;color:#7c5a00}.payroll-ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.payroll-hours-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.payroll-hours-grid input,.payroll-hours-grid select,.payroll-ops-grid select{width:100%;padding:10px 12px;font-size:14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.payroll-hours-grid input:focus,.payroll-hours-grid select:focus,.payroll-ops-grid select:focus{outline:none;border-color:var(--color-primary)}.payroll-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.payroll-button-muted{background:#4f46e5}.payroll-button-muted:active{background:#4338ca}.payroll-button-danger{background:#b91c1c}.payroll-button-danger:active{background:#991b1b}.payroll-ops-result{margin-top:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);padding:var(--spacing-md)}.payroll-ops-result h4{margin:0 0 var(--spacing-sm)}.payroll-ops-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);font-size:12px}@media (min-width: 980px){.payroll-two-col{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.payroll-kpi-value{font-size:20px}.payroll-remittance-grid{grid-template-columns:1fr}.payroll-actions{flex-direction:column}.payroll-actions .primary-button{width:100%}}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-empty-message{color:var(--color-text-secondary);font-size:.95em}.action-button{padding:10px 20px;border:none;border-radius:6px;font-weight:500;cursor:pointer}.action-button.primary{background:var(--color-primary);color:#fff}.action-button.primary:hover{background:var(--color-primary-dark)}.action-button.secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.action-button.secondary:hover{background:var(--color-bg-elevated, var(--color-bg))}.action-button:disabled{opacity:.6;cursor:not-allowed}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin-bottom:20px}.summary-card{padding:20px;border-radius:8px;text-align:center;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.summary-card.pending{border-left:6px solid var(--color-warning)}.summary-card.approved{border-left:6px solid var(--color-success)}.summary-card.paid{border-left:6px solid var(--color-primary)}.summary-value{font-size:2em;font-weight:600}.summary-label{font-size:.9em;color:var(--color-text-secondary)}.summary-amount{font-size:1.2em;font-weight:500;margin-top:8px}.batches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.batch-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:8px;padding:15px;cursor:pointer;transition:all .2s;color:var(--color-text)}.batch-card:hover{border-color:var(--color-primary)}.batch-card.selected{border-color:var(--color-primary);background:#2563eb14}.batch-header{display:flex;justify-content:space-between;margin-bottom:8px}.batch-number{font-weight:600}.batch-status{padding:2px 8px;border-radius:4px;font-size:.8em;font-weight:500}.batch-status.pending{background:#f59e0b26;color:var(--color-warning)}.batch-status.approved{background:#10b98126;color:var(--color-success)}.batch-status.paid{background:#2563eb26;color:var(--color-primary)}.batch-cardholder{font-size:1.1em;margin-bottom:4px}.batch-card-label{font-size:.85em;color:var(--color-text-secondary);margin-bottom:8px}.batch-meta{display:flex;justify-content:space-between;font-size:.85em;color:var(--color-text-secondary);margin-bottom:10px}.batch-amount{font-size:1.3em;font-weight:600;margin-bottom:12px}.batch-actions{display:grid;gap:8px}.approve-btn,.pay-btn{width:100%;padding:8px;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:background .2s}.approve-btn{background:var(--color-warning);color:#fff}.approve-btn:hover{background:var(--color-warning)}.pay-btn{background:var(--color-success);color:#fff}.pay-btn:hover{background:var(--color-success)}.withdraw-btn{width:100%;padding:8px;border-radius:4px;border:1px solid var(--color-danger);background:transparent;color:var(--color-danger);font-weight:600;cursor:pointer;transition:background .2s}.withdraw-btn:hover{background:#ef44441f}.withdraw-btn:disabled{opacity:.6;cursor:not-allowed}.unapprove-btn{width:100%;padding:8px;border-radius:4px;border:1px solid var(--color-warning);background:transparent;color:var(--color-warning);font-weight:600;cursor:pointer;transition:background .2s}.unapprove-btn:hover{background:#f59e0b1f}.unapprove-btn:disabled{opacity:.6;cursor:not-allowed}.empty-state{text-align:center;padding:40px;color:var(--color-text-secondary)}.detail-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.detail-content{background:var(--color-bg);color:var(--color-text);border-radius:12px;padding:24px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;border:1px solid var(--color-border);box-shadow:0 20px 60px #0000004d}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.detail-header h3{margin:0}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-secondary)}.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;font-size:.9em}.error-box{padding:12px;background:#ef44441a;border-radius:8px;border:1px solid rgba(239,68,68,.25);color:var(--color-text)}.receipts-table{width:100%;border-collapse:collapse;margin-bottom:16px}.receipts-table th,.receipts-table td{padding:8px;border-bottom:1px solid var(--color-border);text-align:left}.receipts-table th{font-weight:600;background:var(--color-surface)}.detail-notes{padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;font-size:.9em}.recon-detail-notes{margin-bottom:14px}.recon-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.recon-blockers-title{margin-top:10px;font-weight:700}.recon-card-spaced{margin-top:14px}.table-right{text-align:right!important}.recon-empty-text{color:var(--color-text-secondary)}.recon-clear-link-button{margin-top:8px}.mark-paid-form{margin-top:14px;padding:12px;border-radius:10px;background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.mark-paid-title{font-weight:700;margin-bottom:8px;color:var(--color-success)}.mark-paid-fields{display:grid;gap:10px}.form-field{display:flex;flex-direction:column}.form-label{font-size:12px;font-weight:600;margin-bottom:4px;color:var(--color-text)}.form-input{width:100%;padding:8px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.recon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.recon-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:14px}.recon-card h4{margin-top:0;margin-bottom:10px}.recon-blockers{margin:10px 0 0;padding-left:18px;color:var(--color-danger)}.recon-hint{margin-bottom:10px;padding:10px;border-radius:8px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3)}@media (max-width: 860px){.toolbar{flex-direction:column;align-items:stretch;gap:10px}.detail-info,.recon-grid{grid-template-columns:1fr}}.toast-viewport{position:fixed;top:calc(var(--header-height) + 12px);right:12px;display:flex;flex-direction:column;gap:12px;z-index:2000;pointer-events:none;max-width:min(420px,calc(100vw - 24px))}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;background:var(--color-bg);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:12px}.toast--success{border-left-color:var(--color-success)}.toast--warning{border-left-color:var(--color-warning)}.toast--error{border-left-color:var(--color-danger)}.toast--info{border-left-color:var(--color-primary)}.toast__content{flex:1;min-width:0}.toast__title{font-size:13px;font-weight:700;color:var(--color-text);margin-bottom:2px}.toast__message{font-size:13px;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto}.toast__close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:0;width:28px;height:28px;font-size:22px;line-height:22px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .2s}.toast__close:hover{background:var(--color-hover)}@media (max-width: 600px){.toast-viewport{left:12px;right:12px;max-width:none}.toast{width:100%}}:root{--color-primary: #1355ff;--color-primary-dark: #0f3db8;--color-success: #0f9f76;--color-warning: #e18f1f;--color-danger: #d54242;--color-corp: #6e43e1;--color-soleprop: #0e8f9b;--color-bg: #f4f7fb;--color-surface: #ffffff;--color-border: #d7deea;--color-text: #132034;--color-text-secondary: #516078;--color-hover: rgba(15, 23, 42, .04);--color-primary-hover: #1d4ed8;--color-muted-bg: rgba(100, 116, 139, .14);--primary-color: var(--color-primary);--border-color: var(--color-border);--text-secondary: var(--color-text-secondary);--bg-secondary: var(--color-bg);--bg-tertiary: var(--color-surface);--bg-hover: var(--color-hover);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--shadow-sm: 0 4px 10px rgba(17, 33, 62, .06);--shadow-md: 0 12px 24px rgba(17, 33, 62, .08);--shadow-lg: 0 22px 42px rgba(17, 33, 62, .12);--header-height: 66px;--bottom-nav-height: 78px;--deploy-revision: 20260210}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Manrope,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;letter-spacing:.01em;background-image:radial-gradient(circle at 0 0,rgba(19,85,255,.08),transparent 40%),radial-gradient(circle at 100% 0,rgba(110,67,225,.05),transparent 42%);background-attachment:fixed}#root{min-height:100vh}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;letter-spacing:.01em}input[type=text],input[type=search],input[type=date],input[type=number],input[type=email],input[type=password],textarea,select{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}input::placeholder,textarea::placeholder{color:var(--color-text-secondary)}.clickable{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(19,85,255,.62);outline-offset:2px}.app-container{display:flex;flex-direction:column;min-height:100vh;max-width:100vw;overflow-x:hidden}.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:#ffffffdb;border-bottom:1px solid rgba(215,222,234,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;display:flex;align-items:center;padding:0 var(--spacing-md)}.header-content{width:100%;max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.header-title{font-size:29px;font-weight:700;background:linear-gradient(135deg,#0f3db8,#6e43e1 62%,#0e8f9b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.install-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.install-button:active{background:var(--color-primary-dark)}.install-icon{width:18px;height:18px;fill:currentColor}.main-content{flex:1;margin-top:var(--header-height);margin-bottom:var(--bottom-nav-height);padding:calc(var(--spacing-lg) + 4px) var(--spacing-md) var(--spacing-lg);max-width:1200px;width:100%;margin-left:auto;margin-right:auto;overflow-x:hidden}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:#ffffffed;border-top:1px solid rgba(215,222,234,.95);display:flex;justify-content:flex-start;align-items:center;gap:2px;z-index:100;padding:0 var(--spacing-xs) env(safe-area-inset-bottom);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav::-webkit-scrollbar{display:none}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);height:calc(100% - 8px);min-width:84px;color:#475671;text-decoration:none;transition:color .2s,background .2s,transform .2s;-webkit-tap-highlight-color:transparent;border-radius:12px;padding:2px 8px}.nav-item.active{color:var(--color-primary);background:#1355ff1f}.nav-item:active{opacity:.8;transform:translateY(1px)}.nav-icon{width:24px;height:24px;fill:currentColor}.nav-label{font-size:12px;font-weight:700;white-space:nowrap}.offline-banner,.update-banner{position:fixed;top:var(--header-height);left:0;right:0;padding:var(--spacing-md);background:var(--color-warning);color:#fff;display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);z-index:200;animation:slideDown .3s ease-out}.update-banner{background:var(--color-primary)}.offline-icon{width:20px;height:20px;fill:currentColor}.update-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);color:var(--color-text);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes pageEntrance{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-container{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:min(100%,1200px);animation:pageEntrance .32s ease-out both}.page-header{margin-bottom:var(--spacing-md)}.page-title{font-size:clamp(28px,4vw,36px);font-weight:700;margin-bottom:var(--spacing-xs);line-height:1.05;letter-spacing:.01em}.page-subtitle{color:var(--color-text-secondary);font-size:16px;font-weight:500}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.section-title{font-size:clamp(21px,2.5vw,26px);font-weight:600;line-height:1.15}@supports (padding: env(safe-area-inset-bottom)){.bottom-nav{padding-bottom:calc(var(--spacing-sm) + env(safe-area-inset-bottom))}}@media (display-mode: standalone){.install-button{display:none}}@media (min-width: 768px){.main-content{padding:var(--spacing-xl)}.bottom-nav{justify-content:center}.nav-item{min-width:104px}}@media (max-width: 480px){.page-title{font-size:24px}.page-subtitle{font-size:14px}.main-content{padding:var(--spacing-md) var(--spacing-sm)}}@media (prefers-reduced-motion: reduce){.page-container{animation:none}}.drive-sync-section{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.drive-sync-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);font-size:14px}.drive-sync-btn svg{flex-shrink:0}.drive-sync-result{font-size:13px;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.drive-sync-result.success{color:var(--color-success);background:#10b9811a}.drive-sync-result.error{color:var(--color-danger);background:#ef44441a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md);transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:var(--shadow-sm)}.stat-card.clickable{cursor:pointer;text-decoration:none;color:inherit}.stat-card.clickable:active{transform:scale(.98)}.stat-card:hover{box-shadow:var(--shadow-md);border-color:#1355ff47}.stat-card.clickable:hover{transform:translateY(-1px)}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff4d}.stat-icon svg{width:24px;height:24px;fill:#fff}.stat-icon.review{background:var(--color-warning)}.stat-icon.today{background:var(--color-success)}.stat-icon.corp{background:var(--color-corp)}.stat-icon.soleprop{background:var(--color-soleprop)}.stat-content{flex:1}.stat-value{font-size:24px;font-weight:700;line-height:1;margin-bottom:var(--spacing-xs);letter-spacing:-.02em}.stat-label{font-size:14px;color:var(--color-text-secondary)}.entity-filter{display:flex;gap:var(--spacing-sm);background:var(--color-surface);padding:var(--spacing-xs);border-radius:var(--radius-sm)}.filter-btn{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.filter-btn.active{background:var(--color-primary);color:#fff}.receipt-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.receipt-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;gap:var(--spacing-sm)}.receipt-card:active{transform:scale(.98);box-shadow:var(--shadow-md)}.receipt-header{display:flex;align-items:center;justify-content:space-between}.receipt-vendor{font-size:16px;font-weight:600}.receipt-amount{font-size:18px;font-weight:700;color:var(--color-primary)}.receipt-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.entity-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:12px;font-weight:600;color:#fff}.entity-badge.corp{background:var(--color-corp)}.entity-badge.soleprop{background:var(--color-soleprop)}.receipt-date{font-size:14px;color:var(--color-text-secondary)}.status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.pending{background:#f59e0b1a;color:var(--color-warning)}.status-badge.approved{background:#10b9811a;color:var(--color-success)}.status-badge.rejected{background:#ef44441a;color:var(--color-danger)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);text-align:center}.empty-icon{width:80px;height:80px;fill:var(--color-text-secondary);opacity:.5;margin-bottom:var(--spacing-md)}.empty-message{font-size:16px;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.empty-state.small{padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--color-surface);border:1px dashed var(--color-border)}.primary-button{padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(130deg,#1355ff,#3d66f6 55%,#6e43e1);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}.primary-button:hover{filter:brightness(1.03)}.primary-button:active{background:linear-gradient(130deg,#0f3db8,#2949c1 55%,#5933bb);transform:scale(.98)}.secondary-button.ghost{background:transparent;border:1px dashed var(--color-border);color:var(--color-text)}.button-icon{width:20px;height:20px;fill:currentColor}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.spinner{width:20px;height:20px;animation:spin 1s linear infinite}.spinner-circle{fill:none;stroke:currentColor;stroke-width:3;stroke-dasharray:50;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.error-message{padding:var(--spacing-md);background:#ef44441a;border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);font-size:14px;text-align:center}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;gap:var(--spacing-md);color:var(--color-text-secondary)}.error-code{font-size:96px;font-weight:900;color:var(--color-primary);line-height:1;margin-bottom:var(--spacing-md)}.empty-subtitle{font-size:14px;color:var(--color-text-secondary);margin-top:var(--spacing-sm)}.pack-chip{display:inline-block;padding:2px 8px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:12px;color:#2563eb;font-size:11px;font-weight:600;letter-spacing:.3px}.arrow-icon{width:20px;height:20px;fill:var(--color-text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--color-text)}.modal-close{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .2s}.modal-close:hover{background:var(--color-hover)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--color-border)}.modal-button{padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.modal-button.secondary{background:var(--color-hover);color:var(--color-text)}.modal-button.secondary:hover{background:var(--color-border)}.modal-button.primary{background:var(--color-primary);color:#fff}.modal-button.primary:hover{background:var(--color-primary-hover)}.modal-content.cropper-modal{max-width:min(95vw,700px);max-height:95vh;touch-action:none}.modal-content.cropper-modal .modal-body{padding:12px;touch-action:none;-webkit-user-select:none;user-select:none}.modal-content.cropper-modal canvas{display:block;width:100%;max-width:100%;touch-action:none;-webkit-touch-callout:none}@media (max-width: 600px){.modal-content.cropper-modal{max-width:100vw;max-height:100vh;border-radius:0;margin:0}.modal-content.cropper-modal .modal-header{padding:12px 16px}.modal-content.cropper-modal .modal-body{padding:8px}}@media (max-width: 480px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.stat-card{padding:var(--spacing-md)}.stat-value{font-size:20px}.stat-label{font-size:12px}.primary-button{font-size:15px;padding:var(--spacing-md) var(--spacing-lg)}}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-subgroup{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-subgroup.full{grid-column:1 / -1}.form-label{font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:space-between}.form-hint{font-size:12px;font-weight:400;color:var(--color-text-secondary)}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:10px 12px;font-size:14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary)}.form-group small{display:block;margin-top:4px;font-size:11px;color:var(--color-text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr 120px;gap:12px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.form-textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;resize:vertical;background:var(--color-bg);color:var(--color-text)}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-alert{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:13px}.form-alert.error{background:#ef44441a;color:var(--color-danger);border:1px solid rgba(239,68,68,.4)}.entity-selector{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.entity-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;color:var(--color-text)}.entity-btn.active{border-color:var(--color-primary);background:#2563eb0d;color:var(--color-primary)}.entity-btn:active{transform:scale(.98)}.entity-icon{width:32px;height:32px;fill:currentColor}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:all .2s}.checkbox-label:hover{background:var(--color-bg);border-color:var(--color-primary)}.checkbox-label.inline{grid-column:1 / -1;align-items:center}.checkbox-input{position:absolute;opacity:0;cursor:pointer}.checkbox-box{position:relative;width:20px;height:20px;border:2px solid var(--color-border);border-radius:4px;transition:all .2s;flex-shrink:0}.checkbox-input:checked+.checkbox-box{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-input:checked+.checkbox-box:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-text{font-size:14px;font-weight:600;color:var(--color-text)}.mode-description{margin-top:8px;padding:12px;border-radius:var(--radius-sm);font-size:13px;line-height:1.5}.mode-description.test{background:#fef3c7;color:#92400e;border-left:3px solid #f59e0b}.mode-description.production{background:#dbeafe;color:#1e40af;border-left:3px solid var(--color-primary)}@media (prefers-color-scheme: dark){.mode-description.test{background:#f59e0b1a;color:#fbbf24}.mode-description.production{background:#2563eb1a;color:#60a5fa}}@media (max-width: 480px){.entity-btn{padding:var(--spacing-md);font-size:13px}.entity-icon{width:24px;height:24px}.form-textarea{font-size:14px}.form-group input,.form-group select,.form-group textarea{font-size:16px}}.upload-form{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:600px;margin:0 auto}.file-dropzone{position:relative;min-height:200px;border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);cursor:pointer;transition:all .2s;background:var(--color-surface)}.file-dropzone.active{border-color:var(--color-primary);background:#2563eb0d}.file-dropzone.has-file{padding:var(--spacing-lg)}.upload-icon,.file-icon{width:48px;height:48px;fill:var(--color-text-secondary);opacity:.5}.upload-text{font-size:16px;text-align:center}.upload-hint{font-size:14px;color:var(--color-text-secondary)}.new-vendor-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.new-vendor-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.new-vendor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.suggestion-preview{display:flex;flex-direction:column;gap:var(--spacing-xs)}.preview-textarea{width:100%;border-radius:var(--radius-md);border:1px dashed var(--color-border);padding:var(--spacing-sm);resize:vertical;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:var(--color-bg);color:var(--color-text)}.file-preview{width:100%;min-width:0;display:flex;align-items:center;gap:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-md)}.preview-image{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.file-info{flex:1;min-width:0}.file-name{font-size:14px;font-weight:600;max-width:100%;word-break:break-word;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:12px;color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.file-remove{width:32px;height:32px;border-radius:50%;background:var(--color-danger);color:#fff;border:none;font-size:24px;line-height:1;cursor:pointer;flex-shrink:0;transition:background .2s}.file-remove:active{background:#dc2626}.note-examples{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center}.note-example-label{font-size:12px;color:var(--color-text-secondary)}.note-example{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text);cursor:pointer;transition:all .2s}.note-example:active{background:var(--color-border)}.upload-button{width:100%;gap:var(--spacing-sm)}.file-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.file-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);position:relative}.file-item.status-uploading{border-color:var(--color-primary);background:#2563eb05}.file-item.status-success{border-color:var(--color-success);background:#10b98105}.file-item.status-error{border-color:var(--color-danger);background:#ef444405}.file-thumbnail{width:60px;height:60px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;background:var(--color-surface)}.file-icon-small{width:48px;height:48px;fill:var(--color-text-secondary);flex-shrink:0}.file-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.file-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:12px;color:var(--color-text-secondary)}.file-status{font-weight:500}.file-status.pending{color:var(--color-text-secondary)}.file-status.uploading{color:var(--color-primary)}.file-status.success{color:var(--color-success)}.file-status.error{color:var(--color-danger)}.file-remove-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:24px;height:24px;border-radius:50%;background:var(--color-danger);color:#fff;border:none;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.file-remove-btn:active{background:#dc2626}.upload-summary{padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.summary-title{font-size:14px;font-weight:600;margin-bottom:var(--spacing-sm)}.summary-stats{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.summary-stats .stat{font-size:13px;font-weight:500}.summary-stats .stat.success{color:var(--color-success)}.summary-stats .stat.error{color:var(--color-danger)}.summary-stats .stat.pending{color:var(--color-text-secondary)}@media (max-width: 480px){.file-dropzone{min-height:150px;padding:var(--spacing-md)}.upload-icon,.file-icon{width:36px;height:36px}.upload-text{font-size:14px}.upload-hint{font-size:12px}.note-example{font-size:12px;padding:var(--spacing-xs) var(--spacing-sm)}.file-name{font-size:13px}}.review-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.review-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--spacing-md);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:var(--spacing-md);transition:transform .2s,box-shadow .2s}.review-card:active{transform:scale(.98);box-shadow:var(--shadow-md)}.review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.review-left{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.review-vendor{font-size:16px;font-weight:600}.review-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.review-date{font-size:14px;color:var(--color-text-secondary)}.review-amount{font-size:20px;font-weight:700;color:var(--color-primary);flex-shrink:0}.review-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-sm);padding:8px 10px;background:var(--color-muted-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.review-amount-item{display:flex;flex-direction:column;gap:2px;align-items:flex-end;text-align:right}.review-amount-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary)}.review-amount-value{font-size:15px;font-weight:600;color:var(--color-text)}.review-amount-item.total .review-amount-value{font-size:17px;color:var(--color-primary)}.review-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.review-pill{background:#f59e0b24;color:var(--color-warning);font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px}.review-pill.muted{background:var(--color-muted-bg);color:var(--color-text-secondary)}.review-reason{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#f59e0b1a;border-radius:var(--radius-sm);font-size:14px;color:var(--color-warning)}.reason-icon{width:20px;height:20px;fill:currentColor;flex-shrink:0;margin-top:2px}.ai-note{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#2563eb0d;border:1px solid rgba(37,99,235,.2);border-radius:var(--radius-sm);font-size:14px}.ai-icon{width:20px;height:20px;fill:var(--color-primary);flex-shrink:0;margin-top:2px}.ai-note-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ai-note-label{font-size:12px;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px}.ai-note-text{color:var(--color-text);line-height:1.4}.ai-confidence{font-size:12px;color:var(--color-text-secondary)}.review-action{display:flex;justify-content:flex-end}.error-alert-stack{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.error-alert-card{border:1px solid #fecaca;background:#fef2f2;border-radius:12px;padding:var(--spacing-md);box-shadow:inset 0 0 0 1px #f871712e}.error-alert-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.error-alert-title{font-weight:600;color:#991b1b;font-size:15px}.error-alert-meta{font-size:13px;color:#b91c1c}.error-alert-dismiss{background:#ef4444;color:#fff;border:none;border-radius:999px;padding:6px 16px;cursor:pointer;font-weight:600}.error-alert-dismiss:disabled{opacity:.6;cursor:not-allowed}.error-alert-body{margin-top:var(--spacing-sm);color:#7f1d1d;font-size:14px}.error-alert-links{margin-top:var(--spacing-xs)}.error-alert-link{font-weight:600;color:#b91c1c;text-decoration:none}.error-alert-link:hover{text-decoration:underline}@media (max-width: 480px){.review-card{padding:var(--spacing-md)}.review-amounts{grid-template-columns:1fr}.review-amount-item{align-items:flex-start;text-align:left}}.receipt-summary-card{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.review-readiness-card{margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm)}.review-readiness-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.review-readiness-title{margin:0;font-size:16px;font-weight:700;color:var(--color-text)}.review-readiness-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-readiness-badge{font-size:12px;font-weight:700;color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:4px 10px}.review-readiness-summary{margin:10px 0 0;font-size:14px;color:var(--color-text)}.review-readiness-blocked{margin-top:12px;padding:10px 12px;border-radius:8px;border:1px solid rgba(239,68,68,.28);background:#ef444414;color:var(--color-danger);font-weight:700;font-size:13px}.review-readiness-approve-button{margin-top:12px;padding:10px 16px;border-radius:8px;border:none;background:var(--color-success);color:#fff;font-weight:700;cursor:pointer}.review-readiness-approve-button:disabled{background:var(--color-text-secondary);cursor:not-allowed}.review-readiness-nav{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap}.review-readiness-position{font-size:12px;color:var(--color-text-secondary)}.review-readiness-nav-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-readiness-nav-button{padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-weight:600;cursor:pointer}.receipt-collapsible-card{margin-top:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.receipt-collapsible-summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:12px 14px;font-size:14px;font-weight:700;color:var(--color-text)}.receipt-collapsible-summary::-webkit-details-marker{display:none}.receipt-collapsible-pill{font-size:11px;font-weight:700;color:#92400e;background:#fef3c7;border:1px solid rgba(217,119,6,.35);border-radius:999px;padding:2px 8px}.receipt-collapsible-content{padding:4px 12px 12px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-lg)}.summary-label{font-size:13px;color:var(--color-text-secondary);margin-bottom:4px}.summary-value{font-size:16px;font-weight:600}.summary-value.emphasis{font-size:20px;color:var(--color-primary)}.allocation-summary-card{margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:linear-gradient(135deg,rgba(37,99,235,.06),var(--color-surface));box-shadow:var(--shadow-sm)}.allocation-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.allocation-title{font-size:15px;font-weight:700;color:var(--color-text)}.allocation-subtitle{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.allocation-pill{font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;background:#10b98124;color:#047857;border:1px solid rgba(16,185,129,.3)}.allocation-rows{display:flex;flex-direction:column;gap:var(--spacing-md)}.allocation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--spacing-sm);align-items:center}.allocation-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--color-text)}.allocation-count{font-size:12px;font-weight:500;color:var(--color-text-secondary)}.allocation-dot{width:10px;height:10px;border-radius:50%;background:var(--allocation-color);flex-shrink:0}.allocation-amount{font-size:14px;font-weight:700;color:var(--color-text)}.allocation-bar{grid-column:1 / -1;height:8px;background:var(--color-muted-bg);border-radius:999px;overflow:hidden}.allocation-bar-fill{height:100%;background:var(--allocation-color);border-radius:999px;transition:width .4s ease}.allocation-footer{display:flex;justify-content:space-between;gap:var(--spacing-md);margin-top:var(--spacing-md);font-size:12px;color:var(--color-text-secondary)}.allocation-note{margin-top:var(--spacing-sm);font-size:12px;color:var(--color-text-secondary)}.validation-card{border:1px solid rgba(239,68,68,.25);background:#fee2e299;border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.validation-title{font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-danger)}.validation-list{list-style:disc;padding-left:var(--spacing-lg);color:var(--color-text);font-size:14px}.fx-card{border-left:4px solid var(--color-primary)}.fx-card-help{margin:0 0 12px;font-size:13px;color:var(--color-text-secondary)}.fx-card-grid{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.fx-card-label{display:block;font-size:12px;font-weight:600;margin-bottom:4px}.fx-card-input{width:100%;padding:8px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text)}.fx-card-save-button{padding:9px 14px;border-radius:8px;border:none;background:var(--color-primary);color:#fff;font-weight:600;cursor:pointer}.fx-card-save-button:disabled{background:#9ca3af;cursor:not-allowed}.fx-tax-row{margin-top:10px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.fx-tax-autofill-button{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-weight:600;font-size:12px;padding:9px 12px;cursor:pointer}.fx-tax-autofill-button:disabled{opacity:.6;cursor:not-allowed}.fx-card-meta{margin-top:8px;font-size:12px;color:var(--color-text-secondary)}.fx-meta-item{margin-left:8px}.fx-blocked-warning{margin:10px 0 0;font-size:13px;color:var(--color-danger);font-weight:700}.fx-reason-row{margin-top:8px}.ai-summary-card{border:1px solid rgba(59,130,246,.2);background:#3b82f614;border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.ai-summary-label{font-weight:600;color:var(--color-primary);margin-bottom:var(--spacing-sm)}.ai-summary-text{font-size:14px;line-height:1.5;color:var(--color-text)}.ai-summary-meta{margin-top:var(--spacing-sm);font-size:13px;color:var(--color-text-secondary)}.receipt-detail-grid{display:grid;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}@media (min-width: 960px){.receipt-detail-grid{grid-template-columns:3fr 2fr}}.detail-column,.review-item-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.review-item-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-md)}.review-item-card.bulk-selected{border:2px solid #6366f1;background:#6366f114}.review-item-main{flex:1}.review-item-header{display:flex;justify-content:space-between;gap:var(--spacing-md);align-items:flex-start}.review-item-title{font-size:15px;font-weight:600}.review-item-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:4px;color:var(--color-text-secondary);font-size:13px}.line-item-qty{font-weight:600;color:#6366f1}.line-item-tax-row{margin-top:8px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:13px}.line-item-taxable-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.line-item-taxable-label.disabled{cursor:not-allowed;opacity:.7}.line-item-taxable-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#0f766e}.line-item-taxable-checkbox.disabled{cursor:not-allowed}.line-item-tax-meta{color:var(--color-text-secondary)}.line-item-note-box{margin-top:8px;padding:8px;background:#fef3c7;border-radius:4px;font-size:13px;color:#78350f}.line-item-cache-box{margin-top:8px;padding:8px;background:var(--color-surface);border-radius:4px;font-size:13px;display:flex;align-items:center;gap:8px;color:var(--color-text);border:1px solid var(--color-border)}.line-item-cache-checkbox{cursor:pointer}.line-item-cache-label{cursor:pointer;-webkit-user-select:none;user-select:none}.line-item-cache-help{margin-left:auto;color:var(--color-text-secondary);font-size:18px;cursor:help}.bulk-select-checkbox{width:20px;height:20px;margin-right:12px;cursor:pointer;accent-color:#4f46e5}.confidence-pill{padding:4px 8px;font-size:12px;font-weight:600;border-radius:999px}.confidence-pill.high{background:#10b98129;color:#047857}.confidence-pill.medium{background:#f59e0b29;color:#b45309}.confidence-pill.low{background:#ef444429;color:#b91c1c}.review-action-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.review-action-button{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;background:var(--color-bg);color:var(--color-text);transition:transform .15s,box-shadow .15s,background .2s}.review-action-button:disabled{opacity:.6;pointer-events:none}.review-action-button.approve{border-color:#10b98159;background:#10b98126;color:#047857}.review-action-button.correct{border-color:#2563eb59;background:#2563eb1f;color:#1d4ed8}.review-action-button.reject{border-color:#ef444459;background:#ef44441f;color:#b91c1c}.review-action-button.neutral{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.review-action-button.delete{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.review-action-button:not(:disabled):active{transform:scale(.97);box-shadow:var(--shadow-sm)}.resolved-section{margin-top:var(--spacing-lg)}.resolved-title{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.resolved-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.resolved-item{padding:var(--spacing-sm) var(--spacing-md);border:1px dashed var(--color-border);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center;background:#0f766e0f}.resolved-main{flex:1}.resolved-qty{font-weight:500}.resolved-actions{display:flex;align-items:center;gap:12px}.resolved-undo-button{padding:4px 10px;font-size:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;color:var(--color-text-secondary);white-space:nowrap}.resolved-label{font-size:14px;font-weight:600}.resolved-meta{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.resolved-amount{font-weight:600}.receipt-image-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-surface);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-md)}.receipt-image{width:100%;border-radius:var(--radius-sm);border:1px solid rgba(15,118,110,.2);background:#fff;max-height:520px;object-fit:contain}.pdf-image-page-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.pdf-image-page-button{padding:6px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:600;cursor:pointer}.pdf-image-page-button:disabled{opacity:.5;cursor:not-allowed}.pdf-image-page-label{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.image-links{display:flex;gap:var(--spacing-md);font-size:14px}.image-links a{color:var(--color-primary);text-decoration:none;font-weight:600}.image-links a:hover{text-decoration:underline}.pending-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px;flex-wrap:wrap}.pending-items-title{margin:0}.pending-items-actions{display:flex;gap:8px;flex-wrap:wrap}.pending-items-button{padding:6px 12px;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.pending-items-button:disabled{background:var(--color-text-secondary);cursor:not-allowed}.pending-items-button.success{background:var(--color-success)}.pending-items-button.danger{background:var(--color-danger)}.pending-items-button.indigo{background:#6366f1}.create-line-item-form{padding:16px;background:#10b98114;border:2px solid var(--color-success);border-radius:8px;margin-bottom:16px}.create-line-item-title{margin:0 0 12px;color:var(--color-success)}.create-line-item-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.create-line-item-full{grid-column:1 / -1}.create-line-item-label{display:block;font-size:12px;font-weight:600;margin-bottom:4px}.create-line-item-input{width:100%;padding:8px;border:1px solid var(--color-border);border-radius:4px;font-size:14px}.create-line-item-checkbox{display:flex;align-items:center;gap:8px;font-size:13px}.create-line-item-actions{margin-top:16px;display:flex;gap:8px}.create-line-item-submit,.create-line-item-cancel{padding:10px 20px;border-radius:6px;font-weight:600}.create-line-item-submit{background:var(--color-success);color:#fff;border:none;cursor:pointer}.create-line-item-submit:disabled{background:var(--color-text-secondary);cursor:not-allowed}.create-line-item-cancel{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer}.validation-warning-meta{margin-top:4px;font-size:12px;color:var(--color-text-secondary)}.upload-notes-card{border-left:4px solid var(--color-primary)}.upload-notes-text{margin:0;font-size:14px;color:var(--color-text)}@media (max-width: 640px){.create-line-item-grid,.fx-card-grid,.fx-tax-row{grid-template-columns:1fr}}.correction-modal-content{display:flex;flex-direction:column;max-height:calc(100dvh - 40px);overflow:hidden}.correction-modal-form{display:flex;flex-direction:column;min-height:0;flex:1}.correction-modal-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.correction-modal-footer{position:sticky;bottom:0;z-index:1;background:var(--color-bg);padding-bottom:calc(20px + env(safe-area-inset-bottom));box-shadow:0 -10px 20px #0f172a14}@media (max-width: 640px){.correction-modal-content{max-height:calc(100dvh - 16px)}.correction-modal-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}@media (prefers-color-scheme: dark){.validation-card{background:#7f1d1d4d;border-color:#ef444466}.validation-title{color:#f87171}.allocation-pill{background:#10b98133;color:#34d399;border-color:#10b98166}.confidence-pill.high{background:#10b98133;color:#34d399}.confidence-pill.medium{background:#f59e0b33;color:#fbbf24}.confidence-pill.low{background:#ef444433;color:#f87171}.review-action-button.approve{border-color:#10b98166;background:#10b98133;color:#34d399}.review-action-button.correct{border-color:#3b82f666;background:#3b82f626;color:#60a5fa}.review-action-button.reject{border-color:#ef444466;background:#ef444426;color:#f87171}.receipt-image{background:var(--color-surface);border-color:#0f766e4d}.resolved-item{background:#0f766e1f}.ai-summary-card{background:#3b82f61f;border-color:#3b82f64d}.allocation-summary-card{background:linear-gradient(135deg,rgba(37,99,235,.12),var(--color-surface))}}.dashboard-section{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl);background:#ffffffc7;border:1px solid rgba(215,222,234,.85);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:clamp(14px,2vw,22px)}.dashboard-grid{display:grid;gap:var(--spacing-lg)}.aging-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.aging-chip{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border:2px solid;border-radius:var(--radius-md);background:#fffffff5;cursor:pointer;transition:all .2s;font-family:inherit}.aging-chip:disabled{opacity:.5;cursor:not-allowed}.aging-chip:not(:disabled):active{transform:scale(.97)}.aging-chip.fresh{border-color:#10b981;background:#10b98114}.aging-chip.aging{border-color:#f59e0b;background:#f59e0b14}.aging-chip.stale{border-color:#ef4444;background:#ef444414}.chip-count{font-size:28px;font-weight:700}.aging-chip.fresh .chip-count{color:#047857}.aging-chip.aging .chip-count{color:#d97706}.aging-chip.stale .chip-count{color:#dc2626}.chip-label{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.questions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.question-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.question-icon{font-size:32px;flex-shrink:0}.question-content{flex:1}.question-count{font-size:24px;font-weight:700;color:var(--color-primary)}.question-label{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-top:4px}.entity-matrix{margin-top:var(--spacing-md);overflow-x:auto}.matrix-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.matrix-table th{background:#6366f114;padding:var(--spacing-md);text-align:left;font-size:13px;font-weight:600;color:var(--color-text);border-bottom:2px solid var(--color-border)}.matrix-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.matrix-table tr:last-child td{border-bottom:none}.matrix-entity{font-weight:600;color:var(--color-text)}.matrix-value{text-align:center;font-weight:600}.matrix-value a{color:var(--color-primary);text-decoration:none;padding:4px 12px;border-radius:var(--radius-sm);transition:background .2s;display:inline-block}.matrix-value a:hover{background:#2563eb1a}.matrix-zero{color:var(--color-text-secondary);font-weight:400}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.health-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.health-label{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.health-value{font-size:28px;font-weight:700;color:var(--color-primary)}.health-subtext{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-left:var(--spacing-sm)}.health-unit{font-size:16px;font-weight:500;color:var(--color-text-secondary);margin-left:4px}.confidence-bars{display:flex;gap:4px;margin-top:var(--spacing-sm);height:40px}.confidence-bar{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:opacity .2s,transform .2s;font-family:inherit}.confidence-bar:disabled{opacity:.4;cursor:not-allowed}.confidence-bar:not(:disabled):hover{opacity:.9}.confidence-bar:not(:disabled):active{transform:scale(.96)}.confidence-bar.low{background:#ef4444b3;color:#fff}.confidence-bar.medium{background:#f59e0bb3;color:#fff}.confidence-bar.high{background:#10b981b3;color:#fff}.action-feed{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.blocker-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#fffffffa;border:1px solid var(--color-border);border-left:4px solid var(--color-warning);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.blocker-card:active{transform:scale(.98);box-shadow:var(--shadow-md)}.blocker-card:hover{border-color:#1355ff47}.blocker-icon{font-size:24px;flex-shrink:0}.blocker-content{flex:1;min-width:0}.blocker-reason{font-size:15px;font-weight:600;color:var(--color-text);margin-bottom:2px}.blocker-count{font-size:13px;color:var(--color-text-secondary)}.dashboard-last-updated{font-size:13px;color:var(--color-text-secondary);font-weight:600;margin-top:8px}.dashboard-error-banner{margin:20px;padding:20px;background:#fff1f1;border:1px solid #ffc8c8;border-left:4px solid #d54242;border-radius:12px;color:#9f2626}.dashboard-error-title{margin:0 0 8px}.dashboard-error-help{font-size:.9em;margin-bottom:0}.blocker-arrow{font-size:20px;color:var(--color-text-secondary);flex-shrink:0}@media (max-width: 600px){.aging-chips,.questions-grid,.health-grid{grid-template-columns:1fr}.chip-count,.health-value{font-size:24px}.dashboard-grid{grid-template-columns:1fr;gap:var(--spacing-md)}}.banking-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.banking-canteen-link{white-space:nowrap}.banking-entity-selector{margin-bottom:20px}.entity-selector{display:flex;gap:10px}.entity-btn{padding:8px 16px;border:2px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-weight:500;transition:all .2s}.entity-btn.active{border-color:var(--color-primary);background:#2563eb1f;color:var(--color-primary)}.entity-btn:hover{border-color:#1355ff73}.recon-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:15px}.recon-stat{text-align:center;padding:15px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.stat-value{font-size:1.5em;font-weight:600}.stat-label{font-size:.85em;color:var(--color-text-secondary);margin-top:4px}.progress-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .5s ease}.upload-area{display:flex;align-items:center;gap:15px;padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.upload-label{cursor:pointer}.upload-button{padding:10px 20px;background:var(--color-primary);color:#fff;border-radius:6px;font-weight:500;transition:background .2s}.upload-button:hover{background:var(--color-primary-dark)}.upload-button.disabled{background:var(--color-border);cursor:not-allowed}.upload-hint{font-size:.85em;color:var(--color-text-secondary)}.account-select{padding:10px 15px;border:2px solid var(--color-border);border-radius:6px;font-size:1em;min-width:250px;cursor:pointer;background:var(--color-bg);color:var(--color-text)}.account-select:focus{border-color:var(--color-primary);outline:none}.section-title-collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.section-title-collapsible:hover{color:var(--color-primary)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:10px;border-bottom:1px solid var(--color-border);text-align:left}.data-table th{font-weight:600;background:var(--color-surface)}.filter-bar{margin-bottom:16px}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:10px}.filter-row:first-child{grid-template-columns:2fr 1fr 1fr}.filter-field{display:grid;gap:4px;font-size:13px}.filter-field-wide{grid-column:span 1}.filter-label{font-weight:500;color:var(--color-text-secondary)}.filter-input{padding:8px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:14px}.filter-input:focus{border-color:var(--color-primary);outline:none}.filter-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.filter-result-count{font-size:13px;color:var(--color-text-secondary)}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{display:inline-flex;align-items:center;padding:3px 10px;background:#2563eb1a;color:var(--color-primary);border-radius:12px;font-size:12px;cursor:pointer;transition:background .15s}.filter-chip:hover{background:#2563eb33}.ledger-container{margin-top:12px}.ledger-table{width:100%;border-collapse:collapse}.ledger-table thead th{padding:10px;text-align:left;font-weight:600;font-size:13px;background:var(--color-surface);border-bottom:2px solid var(--color-border);color:var(--color-text-secondary)}.ledger-th-date{width:100px}.ledger-th-owner,.ledger-th-status{width:90px}.ledger-th-amount{width:120px;text-align:right!important}.ledger-row{cursor:pointer;transition:background .15s}.ledger-row:hover{background:var(--color-hover, rgba(0, 0, 0, .02))}.ledger-row.expanded{background:#2563eb0a}.ledger-row td{padding:10px;border-bottom:1px solid var(--color-border);font-size:14px}.ledger-date{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.ledger-desc{max-width:500px}.desc-main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.desc-sub{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.ledger-amount{text-align:right;font-weight:600;white-space:nowrap}.ledger-amount.debit{color:var(--color-danger)}.ledger-amount.credit{color:var(--color-success)}.txn-amount{text-align:right;font-weight:600}.txn-amount.debit{color:var(--color-danger)}.txn-amount.credit{color:var(--color-success)}.owner-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.owner-badge.corp{background:#e3f2fd;color:#1976d2}.owner-badge.soleprop{background:#fff3e0;color:#f57c00}.owner-badge.dwayne{background:#f3e5f5;color:#7b1fa2}.owner-badge.thomas{background:#e8f5e9;color:#388e3c}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:capitalize}.status-badge.pending{background:#f59e0b1f;color:#f59e0b}.status-badge.matched{background:#10b9811f;color:#10b981}.status-badge.posted{background:#2563eb1f;color:#2563eb}.status-badge.void{background:#6b72801f;color:#6b7280}.status-badge.personal,.status-badge.owner_draw,.status-badge.transfer{background:#9c27b01f;color:#9c27b0}.ledger-detail-row td{padding:0!important;border-bottom:1px solid var(--color-border)}.ledger-detail{padding:16px 20px;background:#2563eb05;border-top:1px solid rgba(37,99,235,.1)}.match-info{margin-bottom:14px}.match-info-title{font-size:13px;font-weight:600;color:var(--color-primary);margin-bottom:8px}.match-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px}.match-info-item{font-size:13px}.match-info-label{color:var(--color-text-secondary);margin-right:4px}.match-info-link{color:var(--color-primary);text-decoration:underline}.pending-actions{display:flex;flex-direction:column;gap:14px}.action-buttons{display:flex;gap:8px}.action-btn{padding:6px 14px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.action-btn:hover{background:var(--color-hover)}.action-btn.personal:hover{border-color:#9c27b0;color:#9c27b0}.action-btn.transfer:hover{border-color:var(--color-primary);color:var(--color-primary)}.action-btn.owner:hover{border-color:var(--color-warning);color:var(--color-warning)}.classification-info{font-size:13px;color:var(--color-text-secondary);margin-bottom:10px}.txn-detail-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:13px}.txn-detail-item{color:var(--color-text-secondary)}.txn-detail-label{font-weight:500;margin-right:4px}.suggestion-loading,.suggestion-empty{font-size:13px;color:var(--color-text-secondary);padding:10px 0}.suggestion-list{border:1px solid rgba(37,99,235,.15);border-radius:8px;overflow:hidden}.suggestion-header{font-size:13px;font-weight:600;color:var(--color-primary);padding:10px 12px;background:#2563eb0d;border-bottom:1px solid rgba(37,99,235,.1)}.suggestion-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--color-border)}.suggestion-card:last-child{border-bottom:none}.suggestion-vendor{font-weight:500;font-size:14px}.suggestion-meta{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.suggestion-diff{color:var(--color-warning)}.suggestion-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.suggestion-score{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px}.suggestion-score.high{background:#10b9811f;color:#10b981}.suggestion-score.mid{background:#f59e0b1f;color:#f59e0b}.suggestion-score.low{background:#ef44441f;color:#ef4444}.suggestion-accept{padding:4px 12px!important;font-size:12px!important}.ledger-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.ledger-count{font-size:13px;color:var(--color-text-secondary)}.banking-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.banking-modal-card{width:min(640px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 20px 60px #00000040;overflow:hidden}.banking-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--color-border)}.banking-modal-close{width:32px;height:32px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:18px;line-height:1;color:var(--color-text)}.banking-modal-body{padding:16px}.banking-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid var(--color-border);background:#00000005}.banking-modal-txn-summary{display:grid;gap:8px;padding:10px;border:1px solid var(--color-border);border-radius:10px}.banking-modal-txn-row{display:flex;justify-content:space-between;gap:12px}.banking-modal-txn-date,.banking-modal-txn-owner{font-size:13px;color:var(--color-text-secondary)}.banking-modal-field{display:grid;gap:6px;margin-top:12px;font-size:14px}.banking-modal-warning{margin-top:10px;font-size:12px;color:var(--color-text-secondary)}.empty-state{text-align:center;padding:30px;color:var(--color-text-secondary)}.loading-spinner{text-align:center;padding:20px;color:var(--color-text-secondary)}.bank-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.bank-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.bank-summary-label{font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.bank-summary-value{font-size:20px;font-weight:700;color:var(--color-text)}.bank-summary-value.positive{color:var(--color-success)}.bank-summary-value.negative{color:var(--color-danger)}@media (max-width: 640px){.banking-canteen-link{width:100%;justify-content:center}.recon-stats{grid-template-columns:repeat(2,1fr)}.filter-row,.filter-row:first-child{grid-template-columns:1fr}.upload-area{flex-direction:column;align-items:stretch}.account-select{min-width:unset;width:100%}.ledger-table thead{display:none}.ledger-row{display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px;border-bottom:1px solid var(--color-border)}.ledger-row td{padding:0;border-bottom:none}.ledger-date{grid-column:1;grid-row:1}.ledger-amount{grid-column:2;grid-row:1}.ledger-desc{grid-column:1 / -1;grid-row:2;max-width:unset}.ledger-owner{grid-column:1;grid-row:3}.ledger-status{grid-column:2;grid-row:3;text-align:right}.ledger-detail-row td{display:block}.match-info-grid{grid-template-columns:1fr}.action-buttons{flex-wrap:wrap}.suggestion-card{flex-direction:column;align-items:flex-start}}@media (min-width: 641px) and (max-width: 768px){.ledger-th-owner,.ledger-owner{display:none}}
