:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}a,.green{color:#00bd7e;padding:3px;text-decoration:none;transition:all .4s}@media (hover:hover){a:hover{background-color:#00bd7e33}}@media (width>=1024px){body{place-items:center;display:flex}}:root{--sh-bg:#060f1d;--sh-accent:#41d3b6;--sh-accent2:#f68;--sh-accent3:#aa66d4;--sh-accent4:#8ab4f8;--sh-text:#fff;--sh-sub:#8a98b8;--sh-muted:#4a5a7a;--sh-panel-bg:#101e3299;--sh-border:#41d3b626}@media (width<=1200px){.viz-body{flex-direction:column!important}.viz-col{flex:none!important;width:100%!important}.stat-grid.n-grid{--n-grid-template-columns:repeat(3, 1fr)!important}}@media (width<=768px){.viz-body{gap:8px!important}.stat-grid.n-grid{--n-grid-template-columns:repeat(2, 1fr)!important}.viz-card{min-height:280px!important}}.stats-page{--sh-bg:#060f1d;--sh-accent:#41d3b6;--sh-text:#fff;--sh-sub:#8a98b8;--sh-muted:#4a5a7a;--sh-panel-bg:#101e3299;--sh-border:#41d3b626;--sh-font-xs:clamp(10px, .7vw, 14px);--sh-font-sm:clamp(12px, .9vw, 16px);--sh-font-base:clamp(14px, 1.1vw, 20px);--sh-font-lg:clamp(16px, 1.4vw, 22px);--sh-font-xl:clamp(22px, 2.2vw, 34px);--sh-font-2xl:clamp(26px, 2.8vw, 48px);--sh-space-1:clamp(4px, .3vw, 8px);--sh-space-2:clamp(8px, .7vw, 14px);--sh-space-3:clamp(12px, 1.1vw, 20px);--sh-space-4:clamp(16px, 1.5vw, 24px);background:var(--sh-bg);width:100%;min-height:100vh;color:var(--sh-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,sans-serif;font-size:var(--sh-font-base);flex-direction:column;display:flex}#stats-fullscreen-root:fullscreen{background:var(--sh-bg);width:100vw;max-width:none;height:100vh;overflow:hidden}.stats-page.is-fullscreen{border-radius:0;width:100vw;height:100vh;overflow:hidden}.stats-page.is-fullscreen .sh-body{flex:1;min-height:0;overflow-y:auto}.stats-page.is-fullscreen .sh-body::-webkit-scrollbar{display:none}.stats-page.is-fullscreen .sh-body{scrollbar-width:none}.sh-body{padding:var(--sh-space-3) var(--sh-space-4) var(--sh-space-4);gap:var(--sh-space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sh-main{gap:var(--sh-space-3);flex:1;min-height:0;display:flex}.sh-right{gap:var(--sh-space-3);flex-direction:column;flex:1;min-width:0;display:flex}.sh-row{gap:var(--sh-space-3);display:grid}.sh-row--top,.sh-row--bottom{grid-template-columns:1fr clamp(260px,20vw,380px)}.sh-row--top{min-height:clamp(300px,32vh,560px)}.sh-row--bottom{flex:1;grid-template-rows:1fr;min-height:clamp(280px,28vh,480px)}.sh-panel{background:var(--sh-panel-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--sh-border);padding:var(--sh-space-3);border-radius:4px;flex-direction:column;display:flex}.sh-panel-header{padding-bottom:var(--sh-space-2);margin-bottom:var(--sh-space-2);border-bottom:1px solid #ffffff0d;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.sh-panel-title{font-size:var(--sh-font-lg);font-weight:600}.sh-panel-sub{font-size:var(--sh-font-xs);color:var(--sh-muted)}.sh-panel--center-totals{flex-shrink:0;width:clamp(280px,22vw,420px)}.sh-panel--center-totals .sh-chart{flex:none;height:clamp(120px,20vh,300px);min-height:0}.sh-panel--brain{padding:0;overflow:hidden}.sh-panel--brain .sh-panel-header{padding:var(--sh-space-3) var(--sh-space-3) var(--sh-space-2);margin:0 var(--sh-space-3);border-bottom:1px solid #ffffff0d}.sh-brain-wrap{flex:1;min-height:0;position:relative}.sh-brain-iframe{background:0 0;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.sh-chart--fallback{width:100%;height:100%;position:absolute;top:0;left:0}.sh-kpi-grid{gap:var(--sh-space-2);grid-template-columns:1fr 1fr;height:100%;display:grid}.sh-kpi-item{padding:var(--sh-space-2);text-align:center;background:#ffffff05;border:1px solid #41d3b614;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;display:flex}.sh-kpi-label{font-size:var(--sh-font-xs);color:var(--sh-sub)}.sh-kpi-value{font-size:var(--sh-font-2xl);color:var(--sh-text);margin-top:var(--sh-space-1);font-weight:700;line-height:1.1}.sh-kpi-unit{font-size:var(--sh-font-lg);color:var(--sh-sub);margin-left:2px}.sh-kpi-trend{font-size:var(--sh-font-xs);margin-top:var(--sh-space-1)}.sh-kpi-trend--up{color:#41d3b6}.sh-kpi-trend--stable{color:var(--sh-sub)}.sh-kpi-hint{color:var(--sh-muted);margin-top:var(--sh-space-1);font-size:clamp(8px,.55vw,12px)}.sh-chart{flex:1;width:100%;min-height:clamp(180px,20vh,360px)}.sh-pie-row{align-items:center;gap:var(--sh-space-3);flex:1;min-height:0;display:flex}.sh-chart--pie{flex:1;min-width:0}.sh-pie-legend{gap:var(--sh-space-2);flex-direction:column;flex-shrink:0;max-height:100%;display:flex;overflow-y:auto}.sh-pie-legend-item{align-items:center;gap:var(--sh-space-2);font-size:var(--sh-font-sm);display:flex}.sh-pie-dot{border-radius:2px;flex-shrink:0;width:clamp(8px,.6vw,10px);height:clamp(8px,.6vw,10px)}.sh-pie-name{color:var(--sh-sub);width:clamp(48px,5vw,90px)}.sh-pie-val{color:var(--sh-text);font-variant-numeric:tabular-nums;font-weight:600}@media (width<=1200px){.sh-main{flex-direction:column}.sh-panel--center-totals{width:100%}.sh-row--top,.sh-row--bottom{grid-template-columns:1fr}.sh-kpi-grid{grid-template-columns:1fr 1fr}.sh-pie-row{flex-direction:column;align-items:stretch}.sh-pie-legend{flex-flow:wrap;width:100%;max-height:none}}html,body,#app{width:100%;height:100%;margin:0;padding:0}body{background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}:root{--bg:#eaf2fa;--panel:#fff;--line:#b8d0e6;--ink:#17324d;--accent:#1f73be;--accent-dark:#145a98;--soft-blue:#f3f8fd}.app-footer[data-v-f3e7e2af]{text-align:center;color:#8a9aaa;background:#fff;border-top:1px solid #e9ecef;flex-shrink:0;padding:20px;font-size:12px}.login-container[data-v-e5986a6e]{background:#f5f7fa;flex-direction:column;justify-content:center;width:100%;min-height:100vh;display:flex}.app-header[data-v-e5986a6e]{z-index:100;background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000000d}.logo-area[data-v-e5986a6e]{color:#2c3e50;align-items:center;gap:8px;font-size:18px;font-weight:600;display:flex}.logo-icon[data-v-e5986a6e]{font-size:24px}.nav-links[data-v-e5986a6e]{gap:24px;display:flex}.nav-item[data-v-e5986a6e]{color:#5a6e7c;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.nav-item[data-v-e5986a6e]:hover{color:#409eff}.login-card-wrapper[data-v-e5986a6e]{flex:1;justify-content:center;align-items:center;width:100%;display:flex}.login-card[data-v-e5986a6e]{background:#fff;border-radius:16px;width:33%;padding:40px 32px;box-shadow:0 10px 30px #00000014}.login-card h2[data-v-e5986a6e]{color:#1f2f3d;margin-bottom:8px;font-size:28px;font-weight:600}.subtitle[data-v-e5986a6e]{color:#7e8c9a;margin-bottom:32px;font-size:14px}.input-group[data-v-e5986a6e]{text-align:left;margin-bottom:20px}.input-group label[data-v-e5986a6e]{color:#4a5b6e;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.input-group input[data-v-e5986a6e]{background-color:#fff;border:1px solid #dcdfe6;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.input-group input[data-v-e5986a6e]:focus{border-color:#409eff;outline:none;box-shadow:0 0 0 2px #409eff1a}.options[data-v-e5986a6e]{justify-content:space-between;align-items:center;margin-bottom:24px;font-size:13px;display:flex}.checkbox[data-v-e5986a6e]{cursor:pointer;color:#5a6e7c;align-items:center;gap:6px;display:flex}.forgot-link[data-v-e5986a6e]{color:#409eff;text-decoration:none}.login-btn[data-v-e5986a6e]{color:#fff;cursor:pointer;background:#409eff;border:none;border-radius:8px;width:100%;padding:12px;font-size:16px;font-weight:500;transition:background .2s}.login-btn[data-v-e5986a6e]:hover{background:#66b1ff}.login-btn[data-v-e5986a6e]:disabled{cursor:not-allowed;background:#a0cfff}.extra-links[data-v-e5986a6e]{color:#7e8c9a;margin-top:24px;font-size:13px}.extra-links a[data-v-e5986a6e]{color:#409eff;text-decoration:none}.blank-layout[data-v-efd2f8db]{width:100%;height:100%}.global-upload-panel[data-v-18d777e2]{z-index:1000;flex-direction:column;align-items:flex-end;display:flex;position:fixed;bottom:20px;right:20px}.panel-badge-wrap[data-v-18d777e2]{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.panel-badge[data-v-18d777e2]{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}.badge-done[data-v-18d777e2]{justify-content:center;align-items:center;min-width:52px;min-height:52px;display:flex}.badge-close[data-v-18d777e2]{font-size:12px;line-height:1}.badge-text[data-v-18d777e2]{color:#333;font-size:11px}.badge-label[data-v-18d777e2]{color:#666;font-size:12px}.panel-card[data-v-18d777e2]{background:#fff;border:1px solid #eee;border-radius:8px;flex-direction:column;width:360px;max-height:480px;display:flex;overflow:hidden;box-shadow:0 4px 16px #00000026}.panel-header[data-v-18d777e2]{border-bottom:1px solid #f0f0f0;align-items:center;gap:8px;padding:10px 12px;display:flex}.panel-title[data-v-18d777e2]{font-size:14px;font-weight:600}.panel-summary[data-v-18d777e2]{color:#666;flex:1;font-size:12px}.panel-actions[data-v-18d777e2]{gap:4px;display:flex}.panel-body[data-v-18d777e2]{flex:1;padding:8px 12px;overflow-y:auto}.upload-row[data-v-18d777e2]{border-bottom:1px dashed #f5f5f5;align-items:center;gap:8px;padding:6px 0;display:flex}.row-info[data-v-18d777e2]{align-items:center;gap:6px;min-width:0;display:flex}.row-name[data-v-18d777e2]{white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:13px;overflow:hidden}.row-error[data-v-18d777e2]{color:#d03050;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.panel-footer[data-v-18d777e2]{border-top:1px solid #f0f0f0;justify-content:flex-end;padding:8px 12px;display:flex}.app-layout[data-v-2e95082d]{flex-direction:column;height:100%;display:flex}.app-header[data-v-2e95082d]{background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;box-shadow:0 2px 8px #0000000d}.logo-area[data-v-2e95082d]{color:#2c3e50;align-items:center;gap:8px;font-size:18px;font-weight:600;display:flex}.logo-icon[data-v-2e95082d]{font-size:24px}.nav-links[data-v-2e95082d]{gap:24px;display:flex}.nav-item[data-v-2e95082d]{color:#5a6e7c;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.nav-item[data-v-2e95082d]:hover,.nav-item-dropdown[data-v-2e95082d]:hover{color:#409eff}.nav-item-dropdown[data-v-2e95082d]{cursor:pointer;align-items:center;gap:2px;display:inline-flex}.router-link-active[data-v-2e95082d]{color:#409eff;font-weight:600}.user-area[data-v-2e95082d]{align-items:center;gap:8px;display:flex}.center-badge[data-v-2e95082d]{color:#409eff;white-space:nowrap;background:#ecf5ff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.center-switch[data-v-2e95082d]{width:180px}.user-area .username[data-v-2e95082d]{cursor:pointer;color:#2c3e50;align-items:center;gap:4px;font-size:14px;display:inline-flex}.app-main[data-v-2e95082d]{flex:1;justify-content:center;min-height:0;padding:24px;display:flex;overflow-y:auto}.content-wrapper[data-v-2e95082d]{flex-direction:column;flex:1;width:100%;max-width:1400px;min-height:0;display:flex}
