.sparkline-wrapper[data-v-cef80e53]{display:flex;flex-direction:column;gap:6px;align-items:center;width:100%}.sparkline-container[data-v-cef80e53]{width:100%;display:flex;justify-content:center;padding:2px}.sparkline-svg[data-v-cef80e53]{width:100%;max-width:140px;height:28px;border:1px solid #a9bcd4;border-radius:4px;background:#dce6f2}.sparkline-bg[data-v-cef80e53]{fill:#dce6f2}.sparkline-label[data-v-cef80e53]{display:flex;justify-content:center;font-size:.75rem}.trend-indicator[data-v-cef80e53]{font-weight:600;letter-spacing:.5px;padding:2px 6px;border-radius:3px;background:#f3f4f6}.trend-indicator.growing[data-v-cef80e53]{color:#2f5a40;background:#cfe3d4}.trend-indicator.declining[data-v-cef80e53]{color:#755858;background:#f6eeee}.trend-indicator.flat[data-v-cef80e53]{color:#4b5563;background:#f0f1f3}body.theme-dark{border-color:#4b5d77;background:#233246}body.theme-dark{fill:#233246}body.theme-dark{background:#1f2937;color:#cbd5e1}body.theme-dark{color:#b8e7c7;background:#254234}body.theme-dark{color:#f1b2b2;background:#3b1f1f}body.theme-dark{color:#cbd5e1;background:#1e293b}.fund-card[data-v-c8f502be]{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0;transition:box-shadow .2s ease,transform .1s ease}.fund-card.highlight[data-v-c8f502be]{border-color:#0ea5e9;box-shadow:0 0 0 2px #0ea5e92e}.fund-card[data-v-c8f502be]:hover{transform:translateY(-1px)}.fund-header[data-v-c8f502be]{display:flex;justify-content:space-between;gap:10px;align-items:center}.fund-header h3[data-v-c8f502be]{margin:0;font-size:1rem}.fund-header small[data-v-c8f502be]{color:#6b7280}.action-buttons[data-v-c8f502be]{display:flex;gap:6px}.tiny-button[data-v-c8f502be],.tiny-link[data-v-c8f502be],.small-button[data-v-c8f502be]{border:none;border-radius:10px;padding:8px 10px;font-size:.78rem;cursor:pointer}.tiny-button[data-v-c8f502be]{background:#e7edf5;color:#2f3f59}.tiny-link[data-v-c8f502be]{background:transparent;color:#1d4ed8}.tiny-link.danger[data-v-c8f502be]{color:#dc2626}.small-button[data-v-c8f502be]{background:#e7edf5;color:#2f3f59}.small-button.secondary[data-v-c8f502be]{background:#e2e8f0;color:#334155}.small-button.danger-small[data-v-c8f502be]{background:#dc2626;color:#fff}.small-button[data-v-c8f502be]:hover,.tiny-button[data-v-c8f502be]:hover,.tiny-link[data-v-c8f502be]:hover{opacity:.92}.progress-bar-wrapper[data-v-c8f502be]{width:100%;height:8px;background:#f3f4f6;border-radius:999px;overflow:hidden}.progress-bar[data-v-c8f502be]{height:100%;background:linear-gradient(90deg,#22c55e,#0ea5e9)}.trend-bar-wrapper[data-v-c8f502be]{width:100%;padding:6px 0;display:flex;align-items:center;min-height:36px}.unbounded-label[data-v-c8f502be]{color:#0ea5e9;font-weight:600}.fund-metrics[data-v-c8f502be],.fund-facts[data-v-c8f502be],.fund-actions[data-v-c8f502be]{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:.82rem}body.theme-dark{background:#222b38;color:#d7deea;border:1px solid #334155}body.theme-dark{background:#1b2432;color:#d2deef;border:1px solid #334155}body.theme-dark{color:#93c5fd}body.theme-dark{background:#2b3646}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:10px;padding:12px 16px 12px 14px;border-radius:12px;box-shadow:0 8px 32px #0f172a29;font-size:.9rem;font-weight:500;min-width:260px;max-width:min(520px,calc(100vw - 40px));pointer-events:all}.toast--success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.toast--error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.toast-icon{font-size:.85rem;font-weight:700;flex-shrink:0}.toast-text{flex:1;line-height:1.4}.toast-dismiss{background:none;border:none;cursor:pointer;font-size:.9rem;line-height:1;padding:2px 4px;border-radius:4px;color:inherit;opacity:.6;flex-shrink:0}.toast-dismiss:hover{opacity:1;background:#0000000f}.toast-enter-active,.toast-leave-active{transition:opacity .2s ease,transform .2s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(-10px)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f8fafc;color:#111827}*,*:before,*:after{box-sizing:border-box}#app{min-height:100vh;padding:24px;overflow-x:hidden}.app-root{min-height:100vh}.auth-shell{min-height:calc(100vh - 48px);display:grid;place-items:center}.auth-card{width:min(420px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:26px;box-shadow:0 30px 70px #0f172a14}.auth-card h1{margin:0 0 10px;font-size:1.5rem}.auth-error{color:#b91c1c;font-size:.85rem;margin-top:8px}button{font:inherit}.page-shell{max-width:1280px;margin:0 auto;display:grid;gap:24px}.header-row{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:24px}.panel-title{margin:0 0 16px;font-size:1.35rem}.dashboard-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.bucket-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.header-actions{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end;flex:1}.form-row{display:grid;gap:10px;margin-bottom:14px}.form-row label{font-weight:600}input,select{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:12px;outline:none;box-sizing:border-box}input[type=checkbox]{width:auto;padding:0;border:none;box-shadow:none}input:focus,select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}textarea{min-height:100px;resize:vertical}.primary-button,.secondary-button{border:none;border-radius:14px;cursor:pointer;padding:12px 16px;font-weight:600}.primary-button{background:#2563eb;color:#fff}.secondary-button{background:#f3f4f6;color:#111827}.primary-button:hover{background:#1d4ed8}.header-actions .primary-button,.header-actions .secondary-button{flex:1;min-width:auto}.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:not-allowed}.section-row{display:grid;gap:18px}li{list-style:none}.bucket-card-list{display:grid;gap:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;justify-content:center;align-items:flex-start;padding:24px;z-index:50;overflow-y:auto;overscroll-behavior:contain}.modal-backdrop-inner{pointer-events:none}.modal-panel{width:min(520px,100%);background:#fff;border-radius:24px;padding:28px;box-shadow:0 40px 120px #0f172a2e;pointer-events:auto;max-height:90vh;overflow-y:auto}.modal-panel .form-row{margin-bottom:16px}.modal-panel input,.modal-panel select{box-sizing:border-box}.button-group{display:flex;gap:12px;flex-wrap:wrap}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.section-header h3{margin:0}.breadcrumbs{display:flex;gap:4px;font-size:.75rem;margin-top:6px;flex-wrap:wrap;color:#d1d5db}.breadcrumb-link{background:none;border:none;color:#9ca3af;cursor:pointer;padding:0;font:inherit;text-decoration:none;transition:color .2s}.breadcrumb-link:hover{color:#6b7280}.breadcrumb-separator{color:#e5e7eb}.modal-panel small{display:block;margin-top:4px;color:#6b7280;font-size:.8rem}.fund-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;display:grid;gap:12px;cursor:grab;transition:box-shadow .15s}.fund-card:hover{box-shadow:0 4px 24px #0f172a14}.fund-card.highlight{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.fund-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.fund-header h3{margin:0 0 4px;font-size:1rem}.fund-type-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:99px;background:#f3f4f6;color:#6b7280}.fund-type-badge.goal{background:#eff6ff;color:#2563eb}.fund-type-badge.routed{background:#f0fdf4;color:#16a34a}.progress-bar-wrapper{height:6px;background:#f3f4f6;border-radius:99px;overflow:hidden}.progress-bar{height:100%;background:#2563eb;border-radius:99px;transition:width .3s ease}.fund-metrics{display:flex;justify-content:space-between;font-size:.85rem;color:#374151}.fund-facts{display:flex;gap:12px;flex-wrap:wrap;font-size:.78rem;color:#6b7280}.fund-actions{display:flex;gap:8px;flex-wrap:wrap}.action-buttons{display:flex;gap:6px}.small-button{border:none;border-radius:10px;background:#f3f4f6;color:#111827;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s}.small-button:hover{background:#e5e7eb}.small-button.secondary,.fund-actions .small-button.secondary{background:#f3f4f6;color:#111827}.tiny-link{background:none;border:none;color:#9ca3af;font-size:.78rem;cursor:pointer;padding:2px 4px;text-decoration:underline}.tiny-link:hover{color:#374151}.tiny-link.danger{color:#ef4444}.tiny-link.danger:hover{color:#b91c1c}.empty-state{padding:24px;color:#9ca3af;font-size:.9rem}.panel-hint{color:#6b7280;font-size:.88rem;margin:-8px 0 16px;line-height:1.5}.group-aggregates{font-size:.82rem;color:#6b7280;margin-top:2px;display:flex;gap:8px;align-items:center}.group-health{font-weight:600;padding:1px 6px;border-radius:9999px;font-size:.78rem}.health-full{background:#dcfce7;color:#166534}.health-half{background:#fef9c3;color:#713f12}.health-low{background:#fee2e2;color:#991b1b}.trace-summary{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:16px;padding:12px 16px;background:#f8fafc;border-radius:10px}.trace-stat{display:flex;flex-direction:column;gap:2px}.trace-label{font-size:.75rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.trace-value{font-size:1rem;font-weight:600}.trace-table{width:100%;border-collapse:collapse;font-size:.87rem}.table-scroll{width:100%;overflow-x:auto}.table-scroll .trace-table,.table-scroll .txn-table{min-width:640px}.trace-table th{text-align:left;padding:6px 10px;background:#f1f5f9;color:#374151;font-weight:600;border-bottom:1px solid #e5e7eb}.trace-table td{padding:6px 10px;border-bottom:1px solid #f1f5f9}.trace-reason{color:#6b7280;font-size:.82rem}.trace-phase-badge{display:inline-block;padding:1px 7px;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.trace-phase-badge.routing{background:#dbeafe;color:#1d4ed8}.trace-phase-badge.scoring{background:#ede9fe;color:#6d28d9}.trace-phase-badge.redistribution{background:#fce7f3;color:#be185d}.warning-text{color:#b45309;font-size:.82rem;margin-top:4px;display:block}.info-text{color:#0369a1;font-size:.82rem;margin:4px 0;display:inline-block}.filter-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:10px;font:inherit;font-size:.85rem;background:#fff;cursor:pointer;width:auto}.txn-table{width:100%;border-collapse:collapse;font-size:.87rem}.txn-table th{text-align:left;padding:8px 12px;background:#f8fafc;color:#6b7280;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e5e7eb}.txn-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.txn-table tbody tr:last-child td{border-bottom:none}.txn-table tbody tr:hover td{background:#f8fafc}.txn-badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.txn-badge.inflow,.txn-badge.deposit{background:#dcfce7;color:#166534}.txn-badge.withdraw{background:#fee2e2;color:#991b1b}.txn-badge.apply{background:#fef9c3;color:#713f12}.txn-badge.transfer{background:#dbeafe;color:#1d4ed8}.txn-badge.adjustment{background:#f3e8ff;color:#6b21a8}.txn-date{color:#6b7280;white-space:nowrap;font-size:.82rem}.txn-note{color:#9ca3af;font-size:.82rem;max-width:220px}.txn-fund{color:#374151;font-size:.84rem}.txn-amount{font-weight:600;white-space:nowrap}.amount-credit{color:#16a34a}.amount-debit{color:#dc2626}.txn-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:16px}.txn-page-info{font-size:.85rem;color:#6b7280;min-width:60px;text-align:center}.modal-panel--wide{width:min(860px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:20px}.modal-header .panel-title{margin-bottom:0}.modal-icon-actions{display:flex;gap:8px;align-items:center}.icon-button{width:36px;height:36px;border-radius:10px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-button:hover{background:#f9fafb}.modal-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.txn-row--clickable{cursor:zoom-in;transition:background .15s ease,transform .1s ease}.txn-row--clickable:hover td{background:#eff6ff}.txn-row--clickable td:first-child{border-left:3px solid #bfdbfe}.txn-row--clickable:hover td:first-child{border-left-color:#3b82f6}.txn-drill-hint{font-size:.72rem;color:#2563eb;margin-left:8px;vertical-align:middle;font-weight:600}.hint-box{background:#e0f2fe;border-left:3px solid #0369a1;padding:10px 12px;border-radius:6px;font-size:.88rem;color:#082f49}.slider-container{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.slider-container input[type=range]{flex:1;padding:0;height:8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:linear-gradient(to right,#e5e7eb,#e5e7eb);border:none;border-radius:4px;outline:none}.slider-container input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#2563eb;cursor:pointer;box-shadow:0 2px 6px #2563eb4d;border:2px solid white}.slider-container input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#2563eb;cursor:pointer;box-shadow:0 2px 6px #2563eb4d;border:2px solid white}.slider-container input[type=range]::-webkit-slider-thumb:hover{background:#1d4ed8;box-shadow:0 2px 10px #2563eb66}.slider-container input[type=range]::-moz-range-thumb:hover{background:#1d4ed8;box-shadow:0 2px 10px #2563eb66}.slider-value{min-width:50px;text-align:right;font-weight:600;color:#2563eb;font-size:.9rem}.slider-precision-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}.nudge-button{border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:10px;padding:7px 9px;font-size:.8rem;font-weight:600;cursor:pointer;min-width:52px}.nudge-button:hover{background:#f9fafb}.slider-precision-row input[type=number]{max-width:120px}.slider-container input[type=text]{min-width:90px;text-align:right}input[type=text]{font-size:1rem;letter-spacing:.02em}input[type=text]:placeholder-shown{color:#d1d5db}body.theme-dark{background:#0b1220;color:#e5e7eb}body.theme-dark .app-root{color:#e5e7eb}body.theme-dark .panel,body.theme-dark .auth-card,body.theme-dark .modal-panel,body.theme-dark .fund-card{background:#111827;border-color:#233146;color:#e5e7eb}body.theme-dark .panel-hint,body.theme-dark .group-aggregates,body.theme-dark .fund-facts,body.theme-dark .txn-date,body.theme-dark .txn-note,body.theme-dark .txn-fund,body.theme-dark .trace-label,body.theme-dark .trace-reason,body.theme-dark .empty-state,body.theme-dark .modal-panel small,body.theme-dark .txn-page-info,body.theme-dark .tiny-link{color:#9fb0c9}body.theme-dark .txn-fund{color:#dbe7f8;font-weight:600}body.theme-dark .txn-table td{color:#d2ddec}body.theme-dark .inflow-detail-table td.txn-fund,body.theme-dark .inflow-detail-table td:first-child{color:#eef4ff;font-weight:700}body.theme-dark .inflow-detail-table .txn-note{color:#c6d5ea}body.theme-dark input,body.theme-dark select,body.theme-dark textarea,body.theme-dark .filter-select,body.theme-dark .icon-button,body.theme-dark .nudge-button,body.theme-dark .small-button,body.theme-dark .secondary-button{background:#0f172a;border-color:#334155;color:#e5e7eb}body.theme-dark input:focus,body.theme-dark select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}body.theme-dark .small-button:hover,body.theme-dark .secondary-button:hover,body.theme-dark .icon-button:hover,body.theme-dark .nudge-button:hover{background:#1e293b}body.theme-dark .small-button.secondary,body.theme-dark .tiny-link,body.theme-dark .fund-type-badge{color:#b6c2d7}body.theme-dark .fund-actions .small-button.secondary{background:#273449!important;color:#e2e8f0!important;border:1px solid #475569!important}body.theme-dark .trace-summary,body.theme-dark .hint-box{background:#0f172a;border:1px solid #233146}body.theme-dark .trace-table th,body.theme-dark .txn-table th{background:#0f172a;color:#cbd5e1;border-bottom-color:#233146}body.theme-dark .trace-table td,body.theme-dark .txn-table td{border-bottom-color:#1f2b3d}body.theme-dark .txn-table tbody tr:hover td,body.theme-dark .txn-row--clickable:hover td{background:#16253a}body.theme-dark .txn-row--clickable td:first-child{border-left-color:#3b82f6}body.theme-dark .progress-bar-wrapper,body.theme-dark .slider-container input[type=range]{background:#334155}body.theme-dark .auth-error{color:#fca5a5}body.theme-dark .modal-backdrop{background:#020617c2}body.theme-dark .toast--success{background:#052e1a;border-color:#166534;color:#bbf7d0}body.theme-dark .toast--error{background:#3b0a0a;border-color:#7f1d1d;color:#fecaca}body.theme-dark .toast-dismiss:hover{background:#ffffff14}body.theme-dark .fund-type-badge.goal{background:#172554;color:#93c5fd}body.theme-dark .fund-type-badge.routed{background:#052e16;color:#86efac}body.theme-dark .health-full{background:#14532d;color:#bbf7d0}body.theme-dark .health-half{background:#78350f;color:#fde68a}body.theme-dark .health-low{background:#7f1d1d;color:#fecaca}body.theme-dark .group-health{border:1px solid rgba(255,255,255,.12)}@media (max-width: 900px){#app{padding:16px}.panel{padding:18px;border-radius:18px}.modal-backdrop{padding:12px}.modal-panel{padding:20px;border-radius:18px}.slider-container input[type=range]{width:100%}}@media (max-width: 680px){#app{padding:10px}.panel-title{font-size:1.15rem}.header-actions{width:100%;flex-wrap:wrap;justify-content:flex-start;flex:auto}.header-actions .primary-button,.header-actions .secondary-button{flex:1 1 48%;min-width:0}.button-group .primary-button,.button-group .secondary-button{width:100%}.modal-panel{max-height:94vh}.trace-summary{gap:12px;padding:10px 12px}.trace-stat{min-width:calc(50% - 8px)}.filter-select{width:100%}.modal-toolbar{justify-content:stretch}.icon-button{width:40px;height:40px}.txn-pagination{flex-wrap:wrap}.table-scroll .trace-table,.table-scroll .txn-table{min-width:560px}.slider-precision-row input[type=number]{max-width:100%;flex:1 1 120px}}
