:root{--page:#eef1f6;--bg:#f9fafc;--card:#fff;--ink:#0f172a;--sub:#64748b;--line:#e2e8f0;--soft:#f1f5f9;--accent:#2563eb;--accent-soft:#2563eb1a;--gain:#16a34a;--gain-soft:#16a34a1a;--loss:#dc2626;--loss-soft:#dc262614;--amber:#d97706;--amber-soft:#fef3c7;--vio:#7c3aed;--vio-soft:#7c3aed1f;--side:#0f172a;--side2:#1e293b;--sideln:#94a3b829;--shadow:0 1px 2px #0f172a0d}html{overflow-y:scroll}*{-webkit-tap-highlight-color:transparent}body{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{color:#1d4ed8}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.num{font-variant-numeric:tabular-nums}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes skelSweep{0%{background-position:200% 0}to{background-position:-200% 0}}.anim-card{animation:.3s both cardIn}.anim-content{animation:.25s both cardIn}.anim-form{animation:.2s both cardIn}.anim-pop{animation:.2s popIn}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#64748b59 padding-box content-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-track{background:0 0}[data-rail]::-webkit-scrollbar{width:0;height:0}[data-rail]{scrollbar-width:none}.ts-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:7px;font-family:inherit;font-weight:700;transition:all .15s;display:inline-flex}.ts-btn:active{transform:scale(.97)}.ts-btn--sm:active,.ts-btn--soft:active{transform:scale(.96)}.ts-btn--block:active{transform:scale(.98)}.ts-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ts-btn:disabled{cursor:default;opacity:.55;filter:saturate(.7);transform:none}.ts-btn:disabled:hover{filter:saturate(.7)}.ts-btn--md{padding:8px 18px;font-size:12px}.ts-btn--lg{padding:9px 16px;font-size:12.5px}.ts-btn--sm{border-radius:11px;padding:6px 12px;font-size:11px}.ts-btn--block{width:100%;padding:12px 0;font-size:13px;font-weight:800}.ts-btn--primary{background:var(--accent);color:#fff}.ts-btn--primary:hover:not(:disabled){background:#1d4ed8}.ts-btn--success{background:var(--gain);color:#fff}.ts-btn--success:hover:not(:disabled){background:#15803d}.ts-btn--danger{background:var(--loss);color:#fff}.ts-btn--danger:hover:not(:disabled){background:#b91c1c}.ts-btn--danger-outline{background:var(--card);color:var(--loss);border-color:var(--loss-soft)}.ts-btn--danger-outline:hover:not(:disabled){background:var(--loss-soft);border-color:var(--loss)}.ts-btn--ghost{background:var(--card);color:var(--sub);border-color:var(--line)}.ts-btn--ghost:hover:not(:disabled){background:var(--soft);color:var(--ink)}.ts-btn--soft{background:var(--accent-soft);color:var(--accent);border-radius:11px;padding:7px 13px;font-size:11px}.ts-btn--soft:hover:not(:disabled){background:#2563eb29}.ts-btn--muted{background:var(--soft);color:var(--sub)}.ts-btn--muted:hover:not(:disabled){color:var(--ink);background:#e6ebf2}.ts-logic:active{transform:scale(.94)}.ts-logic:hover{filter:brightness(.96)}.ts-iconbtn{cursor:pointer;width:28px;height:28px;color:var(--sub);background:0 0;border:0;border-radius:9px;flex:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.ts-iconbtn:hover{background:var(--soft);color:var(--ink)}.ts-iconbtn--danger:hover{background:var(--loss-soft);color:var(--loss)}.ts-iconbtn--dark{color:#94a3b8}.ts-iconbtn--dark:hover{color:#fff;background:#94a3b826}.ts-iconbtn--round{border-radius:50%;width:30px;height:30px}.ts-field{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--ink);background:var(--card);border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:12.5px;transition:border-color .15s}.ts-field--soft{background:var(--soft)}.ts-field--lg{border-radius:11px;padding:11px 13px;font-size:13px}.ts-field--mini{background:var(--soft);width:130px;padding:7px 10px;font-size:11.5px}.ts-field:hover:not(:focus){border-color:#cbd5e1}.ts-field:focus{border-color:var(--accent)}.ts-field::placeholder{color:var(--sub)}.ts-field--bad,.ts-field--bad:hover:not(:focus){border-color:var(--loss);background:var(--loss-soft)}.ts-field--bad:focus{border-color:var(--loss)}textarea.ts-field{resize:none;line-height:1.5}.ts-search-input{box-sizing:border-box;background:var(--card);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:11px;outline:none;padding:9px 12px 9px 32px;font-family:inherit;font-size:12.5px;transition:border-color .15s}.ts-search-input:focus{border-color:var(--accent)}.ts-select{appearance:none;box-sizing:border-box;background:var(--card);border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;border-radius:10px;outline:none;padding:9px 28px 9px 11px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .15s}.ts-select:hover{border-color:#cbd5e1}.ts-select:focus{border-color:var(--accent)}.ts-segchip-label{color:var(--accent);cursor:pointer;transition:color .15s}.ts-segchip-label:hover{color:#1d4ed8;text-decoration:underline}.ts-menu-item{cursor:pointer;color:#cbd5e1;border-radius:11px;align-items:center;gap:10px;padding:9px 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:all .12s;display:flex}.ts-menu-item:hover{color:#fff;background:#94a3b81a}.ts-menu-item--on,.ts-menu-item--on:hover{color:#93c5fd;background:#3b82f62e;font-weight:700}.ts-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);box-sizing:border-box;border-radius:14px}.ts-card--tap{cursor:pointer;transition:border-color .15s}.ts-card--tap:hover{border-color:var(--accent)}.ts-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:9px 14px;display:flex}.ts-row--tap{cursor:pointer}.ts-row--tap:hover,.ts-row--hover:hover{background:var(--soft)}.ts-row--tap:active{background:#e9eef5}.ts-thead{border-bottom:1px solid var(--line);letter-spacing:.05em;color:var(--sub);align-items:center;gap:11px;padding:8px 14px;font-size:10px;font-weight:700;display:flex}.ts-chip{letter-spacing:.03em;white-space:nowrap;border-radius:9px;flex:none;align-items:center;padding:3px 9px;font-size:10px;font-weight:800;display:inline-flex}.ts-chip-filter{cursor:pointer;background:var(--card);color:var(--sub);border:1px solid var(--line);white-space:nowrap;border-radius:14px;padding:5px 12px;font-family:inherit;font-size:11.5px;font-weight:700;transition:all .15s}.ts-chip-filter:hover{border-color:var(--accent);color:var(--accent)}.ts-chip-filter:active{transform:scale(.96)}.ts-chip-filter--on{background:var(--accent);color:#fff;border-color:var(--accent)}.ts-chip-filter--on:hover{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.ts-toggle{background:var(--line);cursor:pointer;border:0;border-radius:11px;flex:none;width:38px;height:22px;padding:0;transition:background .15s;position:relative}.ts-toggle--on{background:var(--accent)}.ts-toggle span{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0f172a40}.ts-toggle--on span{transform:translate(16px)}.ts-toggle:disabled{opacity:.5;cursor:default}.ts-cal-day{font-variant-numeric:tabular-nums;height:30px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:9px;font-family:inherit;font-size:11.5px;font-weight:600;transition:all .12s}.ts-cal-day:hover{background:var(--soft)}.ts-cal-day--mute{color:var(--sub);opacity:.45}.ts-cal-day--in{background:var(--accent-soft);border-radius:0}.ts-cal-day--edge,.ts-cal-day--edge:hover{background:var(--accent);color:#fff}.ts-cal-day--start{border-radius:9px 0 0 9px}.ts-cal-day--end{border-radius:0 9px 9px 0}.ts-cal-day--solo{border-radius:9px}.ts-cal-day:disabled{color:var(--line);cursor:default;background:0 0}.ts-skel{background:linear-gradient(90deg, var(--soft) 25%, #e9edf3 37%, var(--soft) 63%);background-size:200% 100%;border-radius:8px;animation:1.2s ease-in-out infinite skelSweep}.ts-overlay{z-index:68;box-sizing:border-box;background:#0f172a80;justify-content:center;align-items:center;padding:26px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.ts-modal{background:var(--bg);box-sizing:border-box;border-radius:18px;flex-direction:column;max-height:90vh;animation:.18s popIn;display:flex;overflow-y:auto;box-shadow:0 30px 80px #0f172a59}.ts-toast{z-index:80;background:var(--ink);color:var(--card);border-radius:12px;max-width:360px;padding:11px 16px;font-size:12.5px;font-weight:600;animation:.2s toastIn;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 34px #0f172a4d}.recharts-surface{overflow:visible}.recharts-default-tooltip{border:1px solid var(--line)!important;border-radius:10px!important;font-size:11.5px!important;box-shadow:0 10px 24px #0f172a1f!important}
