.app[data-v-d305d419]{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.sidebar[data-v-d305d419]{display:none}.main[data-v-d305d419]{flex:1;display:flex;flex-direction:column}.topbar[data-v-d305d419]{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;padding-top:calc(.85rem + env(safe-area-inset-top));border-bottom:1px solid #262626;position:sticky;top:0;background:#121212;z-index:10}.brand-mobile[data-v-d305d419]{font-weight:800}.spacer[data-v-d305d419]{flex:1}.user-mobile[data-v-d305d419]{font-size:.82rem;opacity:.7;max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none}.logout-icon[data-v-d305d419]{border:1px solid #333;background:transparent;color:#f1f1f1;border-radius:8px;width:2rem;height:2rem;cursor:pointer}.content[data-v-d305d419]{flex:1;padding:1.1rem 1rem;padding-bottom:calc(72px + env(safe-area-inset-bottom) + 1rem)}.bottom-nav[data-v-d305d419]{position:fixed;bottom:0;left:0;right:0;display:flex;background:#161616;border-top:1px solid #262626;padding-bottom:env(safe-area-inset-bottom);z-index:20}.tab[data-v-d305d419]{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .25rem .55rem;min-height:56px;justify-content:center;color:#9a9a9a;text-decoration:none}.tab-icon[data-v-d305d419]{font-size:1.25rem;line-height:1}.tab-label[data-v-d305d419]{font-size:.66rem}.tab.router-link-exact-active[data-v-d305d419]{color:#4ade80}@media (min-width: 768px){.app[data-v-d305d419]{flex-direction:row}.bottom-nav[data-v-d305d419]{display:none}.sidebar[data-v-d305d419]{display:flex;flex-direction:column;width:230px;flex-shrink:0;background:#161616;border-right:1px solid #262626;padding:1.25rem .9rem;position:sticky;top:0;height:100vh}.brand[data-v-d305d419]{font-weight:800;font-size:1.15rem;padding:.25rem .6rem 1.25rem}.side-nav[data-v-d305d419]{display:flex;flex-direction:column;gap:.25rem;flex:1}.side-item[data-v-d305d419]{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:9px;color:#cfcfcf;text-decoration:none;font-size:.95rem}.side-item[data-v-d305d419]:hover{background:#1f1f1f}.side-item.router-link-exact-active[data-v-d305d419]{background:#1f3d2b;color:#4ade80;font-weight:600}.side-item .icon[data-v-d305d419]{width:1.2rem;text-align:center}.side-footer[data-v-d305d419]{border-top:1px solid #262626;padding-top:.9rem;display:flex;flex-direction:column;gap:.5rem}.user[data-v-d305d419]{font-size:.82rem;opacity:.7;padding:.3rem .4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none;border-radius:7px}.user[data-v-d305d419]:hover{background:#1f1f1f;opacity:1}.logout[data-v-d305d419]{padding:.45rem;border:1px solid #333;border-radius:8px;background:transparent;color:#f1f1f1;cursor:pointer;font-size:.85rem}.logout[data-v-d305d419]:hover{background:#1f1f1f}.topbar[data-v-d305d419]{display:none}.content[data-v-d305d419]{padding:2rem 2.5rem;overflow-y:auto}.view[data-v-d305d419]{width:100%;max-width:1080px;margin-inline:auto}}.public[data-v-d305d419]{min-height:100vh;min-height:100dvh}.chart-card[data-v-8dbd48f3]{padding:.8rem .9rem}.chart-head[data-v-8dbd48f3]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.cur[data-v-8dbd48f3]{font-size:1.4rem;font-weight:800;color:#4ade80}.max[data-v-8dbd48f3]{font-size:.72rem;opacity:.5}.svg[data-v-8dbd48f3]{width:100%;height:90px;display:block}.axis[data-v-8dbd48f3]{display:flex;justify-content:space-between;font-size:.7rem;opacity:.5;margin-top:.3rem}.block-title[data-v-4ee2f3cb]{font-size:.95rem;opacity:.65;margin:1.25rem 0 .6rem;font-weight:600}.stats[data-v-4ee2f3cb]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.stat[data-v-4ee2f3cb]{display:flex;flex-direction:column;gap:.2rem}.value[data-v-4ee2f3cb]{font-size:2rem;font-weight:800;color:#4ade80;line-height:1}.value small[data-v-4ee2f3cb]{font-size:1rem}.label[data-v-4ee2f3cb]{font-size:.8rem;opacity:.7}.cta[data-v-4ee2f3cb]{display:inline-block;margin:1.5rem 0 .5rem;text-decoration:none}.hint[data-v-4ee2f3cb]{font-weight:400;opacity:.5;font-size:.8rem}.no-data[data-v-4ee2f3cb]{margin-top:1.5rem}.breakdown[data-v-4ee2f3cb]{display:flex;flex-direction:column;gap:.6rem}.bd-row[data-v-4ee2f3cb]{display:flex;align-items:center;gap:.6rem}.bd-label[data-v-4ee2f3cb]{flex:0 0 5.5rem;font-size:.82rem}.bd-track[data-v-4ee2f3cb]{flex:1;height:10px;background:#242424;border-radius:999px;overflow:hidden}.bd-fill[data-v-4ee2f3cb]{height:100%;background:#4ade80;border-radius:999px}.bd-val[data-v-4ee2f3cb]{flex:0 0 2.4rem;text-align:right;font-size:.8rem;opacity:.75}.ex-box[data-v-4ee2f3cb]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.ex-link[data-v-4ee2f3cb]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-decoration:none;color:inherit}.ex-info[data-v-4ee2f3cb]{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ex-sub[data-v-4ee2f3cb]{font-size:.78rem;opacity:.6}.chevron[data-v-4ee2f3cb]{opacity:.4;font-size:1.3rem;flex:0 0 auto}@media (min-width: 768px){.ex-box[data-v-4ee2f3cb]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}}.period .block-title[data-v-4ee2f3cb]{margin-top:0}@media (min-width: 768px){.periods[data-v-4ee2f3cb]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.stat[data-v-4ee2f3cb]{padding:1.4rem 1.3rem}.value[data-v-4ee2f3cb]{font-size:2.4rem}}:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:#121212;color:#f1f1f1}h1{margin-top:0}strong{color:#4ade80}.page-title{margin:0 0 1.25rem;font-size:1.5rem}.muted{opacity:.6}.card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:1rem 1.1rem}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;background:#242424;border:1px solid #333}.field{padding:.55rem .65rem;border-radius:8px;border:1px solid #333;background:#1c1c1c;color:#f1f1f1}.btn{padding:.55rem .9rem;border:none;border-radius:8px;background:#4ade80;color:#0a0a0a;font-weight:700;cursor:pointer}.btn:disabled{opacity:.55;cursor:default}.btn-ghost{background:transparent;color:#f1f1f1;border:1px solid #333;font-weight:500}.btn-danger{background:transparent;color:#f87171;border:1px solid #5a2a2a;font-weight:500}
