html,body{margin:0}a,a:hover{color:inherit}body.fini{min-height:100dvh}app-root{display:block}.fini{--r:16px;--pad:24px;--row:56px;font-family:Manrope,system-ui,sans-serif;color:var(--text);background:var(--bg);min-height:100vh;font-variant-numeric:tabular-nums;position:relative;-webkit-font-smoothing:antialiased}.fini *{box-sizing:border-box}.fini.compact{--pad:16px;--row:44px;--r:12px}.fini.light{--bg:#F3F4F6;--card:#FFFFFF;--sunk:#ECEEF1;--text:#13151A;--muted:#555C69;--faint:#6E7582;--border:#E2E5EA;--hover:#F4F5F8;--shadow:0 1px 2px rgba(19,21,26,.04),0 6px 24px rgba(19,21,26,.05);--scrim:rgba(12,14,18,.42)}.fini.dark{--bg:#0E1014;--card:#171A1F;--sunk:#1F232A;--text:#ECEEF2;--muted:#AEB4C0;--faint:#8D94A1;--border:#2A2F37;--hover:#1D2127;--shadow:none;--scrim:rgba(0,0,0,.6)}.acc-teal{--acc:#0F6B63;--acc-soft:rgba(15,107,99,.11);--on-acc:#FFFFFF}.dark.acc-teal{--acc:#3CC3B2;--acc-soft:rgba(60,195,178,.14);--on-acc:#05221E}.acc-indigo{--acc:#4338CA;--acc-soft:rgba(67,56,202,.1);--on-acc:#FFFFFF}.dark.acc-indigo{--acc:#9A9CFA;--acc-soft:rgba(154,156,250,.15);--on-acc:#11113A}.acc-plum{--acc:#8E2459;--acc-soft:rgba(142,36,89,.1);--on-acc:#FFFFFF}.dark.acc-plum{--acc:#EE8FBE;--acc-soft:rgba(238,143,190,.15);--on-acc:#3A0B22}.acc-graphite{--acc:#1F2937;--acc-soft:rgba(31,41,55,.08);--on-acc:#FFFFFF}.dark.acc-graphite{--acc:#E5E7EB;--acc-soft:rgba(229,231,235,.12);--on-acc:#111318}.acc-amber{--acc:#9A4A06;--acc-soft:rgba(154,74,6,.1);--on-acc:#FFFFFF}.dark.acc-amber{--acc:#F5A524;--acc-soft:rgba(245,165,36,.15);--on-acc:#2A1802}.ic{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--hover)}.btn.primary{background:var(--acc);color:var(--on-acc);border-color:transparent}.btn.primary:hover{filter:brightness(1.1)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.danger{color:#b42318}.dark .btn.danger{color:#ff8a80}.btn:disabled{opacity:.4;cursor:not-allowed;filter:none}.btn.icon{width:44px;padding:0}.btn.sm{min-height:36px;padding:0 12px;font-size:13px;border-radius:10px}.navlink{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:12px;color:var(--muted);font:inherit;font-weight:700;font-size:14px;background:none;border:0;width:100%;cursor:pointer;text-align:left}.navlink:hover{background:var(--hover);color:var(--text)}.navlink.on{background:var(--acc-soft);color:var(--acc)}.input{min-height:46px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);padding:0 14px;font:inherit;font-size:15px;width:100%}.input:focus{outline:2px solid var(--acc);outline-offset:-1px}.input:disabled{background:var(--sunk);color:var(--muted)}.lbl{display:block;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.h1{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:0}.h2{font-size:17px;font-weight:800;letter-spacing:-.01em;margin:0}.sub{color:var(--muted);font-size:14px;margin:0}.eyebrow{font-size:12px;font-weight:700;color:var(--faint);letter-spacing:.06em;text-transform:uppercase}.seg{display:inline-flex;background:var(--sunk);border-radius:12px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{min-height:36px;padding:0 12px;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:13px;border-radius:9px;cursor:pointer}.seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px #0000001f}.chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 6px;border-radius:999px;border:1.5px solid var(--border);background:var(--card);color:var(--text);font:inherit;font-weight:700;font-size:13px;cursor:pointer}.chip:hover{background:var(--hover)}.dot{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:none}.badge{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.avatar{width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex:none;font-size:14px}.row{display:grid;align-items:center;gap:12px;width:100%;min-height:var(--row);padding:0 var(--pad);border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:14px;text-align:left}button.row{cursor:pointer}button.row:hover{background:var(--hover)}.rowhead{display:grid;align-items:center;gap:12px;padding:12px var(--pad);font-size:12px;font-weight:700;color:var(--faint);letter-spacing:.04em;text-transform:uppercase}.sortbtn{background:none;border:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.dialog{width:100%;max-width:540px;max-height:calc(100vh - 48px);overflow:auto;background:var(--card);border-radius:24px;box-shadow:0 24px 80px #00000047;color:var(--text)}.dhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 4px}.dbody{padding:16px 24px;display:flex;flex-direction:column;gap:18px}.dfoot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 24px 24px;flex-wrap:wrap}.switch{width:46px;height:28px;border-radius:999px;border:0;background:var(--border);position:relative;cursor:pointer;flex:none;padding:0}.switch span{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #00000040;transition:left .15s}.switch.on{background:var(--acc)}.switch.on span{left:21px}.layout{display:flex;min-height:100vh}.side{width:256px;flex:none;border-right:1px solid var(--border);background:var(--card);padding:22px 16px;display:flex;flex-direction:column;gap:4px}.main>:not(router-outlet){display:contents}.main{flex:1;min-width:0;padding:32px 40px 56px;display:flex;flex-direction:column;gap:24px;max-width:1280px}.topbar,.tabbar{display:none}.cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cols-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cols-21{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}.erow{grid-template-columns:68px minmax(120px,3fr) minmax(0,1.3fr) minmax(0,1fr) 124px}.frow{grid-template-columns:56px 60px minmax(120px,3fr) minmax(0,1.3fr) minmax(0,1fr) 112px}.prow{grid-template-columns:minmax(0,1.3fr) 1fr 1fr 1fr minmax(0,1.5fr) 130px}.crow{grid-template-columns:minmax(0,1.5fr) 110px 110px minmax(0,1.4fr) 120px 64px}.chartarea{flex:1 1 auto;min-height:240px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;width:100%}.bars{position:absolute;inset:0;display:grid;gap:4px}.bsvg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;pointer-events:none}.bcol{position:relative;height:100%;width:100%;background:transparent;border:0;padding:0;cursor:pointer;border-radius:6px 6px 0 0;min-width:0;-webkit-appearance:none;appearance:none}.bcol:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.dpt{position:absolute;width:28px;height:28px;margin:-14px 0 0 -14px;padding:0;border:0;background:none;border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:center}.dpt span{display:block;width:10px;height:10px;border-radius:999px;border:2px solid var(--card);transition:transform .15s}.dpt:hover span,.dpt:focus-visible span{transform:scale(1.5)}.ditem{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:10px 6px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}.ditem:hover{background:var(--hover)}.show-sm,.pbreak{display:none}.ftools{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;flex:0 1 auto;min-width:0;max-width:100%}.ftools .seg{flex-wrap:nowrap;min-width:0;flex:0 1 auto;overflow:hidden}.ftools .seg button{white-space:nowrap;min-width:40px;overflow:hidden;text-overflow:ellipsis}.ftools .seg button:first-child{flex:none}.ftools>.show-sm{flex:none}.qr{display:grid;grid-template-columns:repeat(25,1fr);width:220px;height:220px;padding:14px;background:#fff;border-radius:16px;box-sizing:content-box}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:var(--text);color:var(--bg);padding:12px 18px;border-radius:14px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px;z-index:60;box-shadow:0 10px 30px #00000040}@media(max-width:900px){.layout{flex-direction:column}.side{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.main{padding:18px 16px 24px;gap:18px}.tabbar{display:flex;position:sticky;bottom:0;z-index:20;background:var(--card);border-top:1px solid var(--border);padding:6px 8px 10px;justify-content:space-around;align-items:center}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px;justify-content:center;background:none;border:0;color:var(--faint);font:inherit;font-size:11px;font-weight:700;cursor:pointer;border-radius:12px}.tab.on{color:var(--acc)}.fab{width:54px;height:54px;border-radius:18px;background:var(--acc);color:var(--on-acc);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:-22px;box-shadow:0 8px 20px #0003}.hide-sm{display:none!important}.show-sm{display:revert}.stack-sm{flex-direction:column!important;align-items:stretch!important}.ftools .seg button{padding:0 8px}.cols-3,.cols-2{grid-template-columns:minmax(0,1fr)}.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.erow{grid-template-columns:minmax(0,1fr) auto}.frow{grid-template-columns:52px minmax(0,1fr) auto}.prow{grid-template-columns:minmax(0,1fr) auto}.crow{grid-template-columns:minmax(0,1fr) auto auto}.h1{font-size:24px}.overlay{align-items:flex-end;padding:0}.dialog{border-radius:24px 24px 0 0;max-width:none;max-height:92vh}.toast{bottom:96px}.main{max-width:none}.balgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px 12px!important}.balmid{grid-column:1 / -1;order:-1;padding:4px 0 14px!important;border-bottom:1px solid var(--border)}.balnum{font-size:21px!important}.phead{flex-direction:column;flex-wrap:nowrap!important;align-items:stretch!important;gap:12px!important}.pnav{display:flex!important;flex-wrap:wrap;justify-content:center;row-gap:2px!important;width:100%}.pbreak{display:block;flex:0 0 100%;height:0}.ptitle{font-size:22px!important}.pbadge{margin-left:0!important}.pacts{justify-content:center}.ctip{left:50%!important;right:auto!important;transform:translate(-50%);min-width:0!important;width:max-content;max-width:calc(100% - 8px)}}@media(min-width:901px)and (max-width:1180px){.side{width:212px;padding:18px 12px}.main{padding:24px 24px 40px;gap:20px}.fini:not(.compact){--pad:18px}.h1{font-size:26px}.crow{grid-template-columns:minmax(0,1.5fr) 92px 92px minmax(0,1fr) 104px 52px}.balnum{font-size:24px!important}}@media(max-width:1180px){.cols-21{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.cols-21{grid-template-columns:minmax(0,1fr)}}@media(min-width:901px)and (max-width:1040px){.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.ftools{gap:6px}.ftools .seg button{padding:0 6px;font-size:12px}}.ccard{container-type:inline-size}@media(min-width:761px)and (max-width:900px){.cols-2.pair{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 720px){.ccard .crow{grid-template-columns:minmax(0,1fr) 80px 80px 92px}.ccard .c-split{display:none!important}}@container (max-width: 480px){.ccard .crow{grid-template-columns:minmax(0,1fr) auto}.ccard .c-wide{display:none!important}.ccard .c-meta{display:block!important}}.fini{min-height:100dvh}.qr-img{display:block;width:220px;height:220px;padding:14px;background:#fff;border-radius:16px;box-sizing:content-box;image-rendering:pixelated}.err{margin:0;font-size:13px;color:#b42318}.dark .err{color:#ff8a80}.spin{width:18px;height:18px;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;animation:fini-spin .7s linear infinite;flex:none}@keyframes fini-spin{to{transform:rotate(360deg)}}.loading{padding:56px 0;display:flex;justify-content:center;color:var(--muted)}.fab-space{height:0}@media(max-width:900px){.tabbar{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.dialog{padding-bottom:env(safe-area-inset-bottom)}}
