.health-page[data-v-fc0f63d4]{display:grid;gap:20px}.health-page header[data-v-fc0f63d4]{border-bottom:1px solid var(--line);padding:11px 0 20px}.health-page h1[data-v-fc0f63d4]{font-size:clamp(30px,3vw,42px);margin:0}.health-page header>p[data-v-fc0f63d4]:last-child{color:var(--muted);font-size:14px;margin:12px 0 0}.health-card[data-v-fc0f63d4]{border-top:3px solid var(--teal);max-width:760px;padding:26px}.health-card-heading[data-v-fc0f63d4]{align-items:flex-start;display:flex;justify-content:space-between}.health-card h2[data-v-fc0f63d4]{font-size:20px;margin:0}.health-status[data-v-fc0f63d4]{background:#fff7e7;border-radius:999px;color:#a76a12;font-size:11px;font-weight:800;letter-spacing:.08em;padding:7px 10px}.health-status[data-status=ready][data-v-fc0f63d4]{background:var(--teal-soft);color:#087b79}.health-status[data-status=unavailable][data-v-fc0f63d4]{background:#fff0f0;color:#a44343}.health-description[data-v-fc0f63d4]{color:var(--muted);line-height:1.7;margin:24px 0 18px}.health-description[data-status=ready][data-v-fc0f63d4]{color:#197554}.health-note[data-v-fc0f63d4]{border-top:1px solid var(--line);color:#52647b;font-size:11px;line-height:1.7;margin:22px 0 0;padding-top:16px}.data-import-page[data-v-8e42031f]{display:grid;gap:1.5rem;margin:0 auto;max-width:75rem;padding:1.5rem}.eyebrow[data-v-8e42031f]{color:#52616b;font-size:.875rem;margin:0}.boundary[data-v-8e42031f]{font-weight:600}section[data-v-8e42031f]{border:1px solid #cbd5e1;border-radius:.5rem;padding:1rem}form[data-v-8e42031f],label[data-v-8e42031f],dl[data-v-8e42031f]{display:grid;gap:.65rem}label[data-v-8e42031f]{font-weight:600}.confirm[data-v-8e42031f]{align-items:start;font-weight:400;grid-template-columns:auto 1fr}.template-note[data-v-8e42031f]{color:var(--text-secondary, #5f6b7a);margin:0}input[data-v-8e42031f],button[data-v-8e42031f]{font:inherit;min-height:2.5rem}button[data-v-8e42031f]{cursor:pointer;justify-self:start;padding:.25rem .75rem}button[data-v-8e42031f]:disabled{cursor:wait}dl[data-v-8e42031f]{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}dl div[data-v-8e42031f]{display:grid;gap:.25rem}dd[data-v-8e42031f]{font-weight:700;margin:0;overflow-wrap:anywhere}.table-wrap[data-v-8e42031f]{overflow-x:auto}table[data-v-8e42031f]{border-collapse:collapse;min-width:55rem;width:100%}th[data-v-8e42031f],td[data-v-8e42031f]{border:1px solid #cbd5e1;padding:.5rem;text-align:left;vertical-align:top}.local-schedule-page[data-v-1f450ecb]{display:grid;gap:1.5rem;max-width:72rem;padding:1.5rem}.eyebrow[data-v-1f450ecb]{color:#315c44;font-weight:700}.boundary[data-v-1f450ecb],.replay-boundary[data-v-1f450ecb]{border-left:.25rem solid #9f5b00;padding-left:.75rem}.section-heading[data-v-1f450ecb],.actions[data-v-1f450ecb],form[data-v-1f450ecb]{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}section[data-v-1f450ecb]{border:1px solid #d5d9d7;border-radius:.5rem;padding:1rem}form[data-v-1f450ecb]{justify-content:flex-start}label[data-v-1f450ecb]{display:grid;gap:.35rem;max-width:24rem}button[data-v-1f450ecb],input[data-v-1f450ecb],select[data-v-1f450ecb]{font:inherit;padding:.4rem .55rem}button[data-v-1f450ecb]{cursor:pointer}button[data-v-1f450ecb]:disabled{cursor:not-allowed;opacity:.65}dl[data-v-1f450ecb]{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}dl div[data-v-1f450ecb]{display:grid;gap:.2rem}dt[data-v-1f450ecb]{font-weight:700}dd[data-v-1f450ecb]{margin:0}.table-wrapper[data-v-1f450ecb]{overflow-x:auto}table[data-v-1f450ecb]{border-collapse:collapse;min-width:58rem;width:100%}th[data-v-1f450ecb],td[data-v-1f450ecb]{border:1px solid #d5d9d7;padding:.6rem;text-align:left;vertical-align:top}ul[data-v-1f450ecb]{margin:0;padding-left:1.25rem}.market-page[data-v-328021d1]{display:grid;gap:1.5rem;margin:0 auto;max-width:70rem;padding:1.5rem}.eyebrow[data-v-328021d1]{color:#52616b;font-size:.875rem;margin:0}.analysis-form[data-v-328021d1],.market-summary[data-v-328021d1],section[data-v-328021d1]{border:1px solid #cbd5e1;border-radius:.5rem;padding:1rem}form[data-v-328021d1],dl[data-v-328021d1]{display:grid;gap:.75rem}label[data-v-328021d1]{display:grid;font-weight:600;gap:.25rem}input[data-v-328021d1],select[data-v-328021d1],button[data-v-328021d1]{font:inherit;min-height:2.5rem}button[data-v-328021d1]{cursor:pointer;justify-self:start;padding:.25rem .75rem}button[data-v-328021d1]:disabled{cursor:wait}dl[data-v-328021d1]{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}dl div[data-v-328021d1]{display:grid;gap:.25rem}dt[data-v-328021d1]{color:#52616b}dd[data-v-328021d1]{font-weight:700;margin:0}table[data-v-328021d1]{border-collapse:collapse;width:100%}th[data-v-328021d1],td[data-v-328021d1]{border-bottom:1px solid #cbd5e1;padding:.5rem;text-align:left}.paper-account-page[data-v-6935c946]{display:grid;gap:1.5rem;margin:0 auto;max-width:75rem;padding:1.5rem}.eyebrow[data-v-6935c946]{color:#52616b;font-size:.875rem;margin:0}.boundary[data-v-6935c946]{font-weight:600}section[data-v-6935c946]{border:1px solid #cbd5e1;border-radius:.5rem;padding:1rem}form[data-v-6935c946],fieldset[data-v-6935c946],label[data-v-6935c946],dl[data-v-6935c946]{display:grid;gap:.65rem}label[data-v-6935c946],legend[data-v-6935c946]{font-weight:600}fieldset[data-v-6935c946]{border:1px solid #94a3b8;margin:0}.confirm[data-v-6935c946]{align-items:start;font-weight:400;grid-template-columns:auto 1fr}input[data-v-6935c946],select[data-v-6935c946],button[data-v-6935c946]{font:inherit;min-height:2.5rem}dl[data-v-6935c946]{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}dl div[data-v-6935c946]{display:grid;gap:.25rem}dd[data-v-6935c946]{font-weight:700;margin:0;overflow-wrap:anywhere}.table-wrap[data-v-6935c946]{overflow-x:auto}.performance-export[data-v-6935c946]{margin:1rem 0}.export-actions[data-v-6935c946]{display:flex;flex-wrap:wrap;gap:.5rem}table[data-v-6935c946]{border-collapse:collapse;min-width:55rem;width:100%}th[data-v-6935c946],td[data-v-6935c946]{border:1px solid #cbd5e1;padding:.5rem;text-align:left;vertical-align:top}.signal-research-page[data-v-652266f8]{display:grid;gap:1.5rem;margin:0 auto;max-width:70rem;padding:1.5rem}.eyebrow[data-v-652266f8]{color:#52616b;font-size:.875rem;margin:0}section[data-v-652266f8]{border:1px solid #cbd5e1;border-radius:.5rem;padding:1rem}.one-click-research[data-v-652266f8]{align-items:end;background:#f0fdfa;border-color:#99f6e4;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:1rem 0}.one-click-research h2[data-v-652266f8]{font-size:1rem;margin:0}.one-click-research p[data-v-652266f8]{color:#52616b;font-size:.85rem;margin:.25rem 0 0}.one-click-research label[data-v-652266f8]{min-width:12rem}.one-click-research input[data-v-652266f8]{min-height:2.5rem}.one-click-research button[data-v-652266f8]{background:#0f766e;border:0;border-radius:.375rem;color:#fff;cursor:pointer;padding:0 .9rem}.one-click-research button[data-v-652266f8]:disabled{cursor:wait;opacity:.65}.run-message[data-v-652266f8]{flex-basis:100%}.run-message.error[data-v-652266f8]{color:#b42318}.run-message.success[data-v-652266f8]{color:#087f5b}.pagination[data-v-652266f8]{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}label[data-v-652266f8],dl[data-v-652266f8]{display:grid;gap:.5rem}label[data-v-652266f8]{font-weight:600}select[data-v-652266f8],button[data-v-652266f8]{font:inherit;min-height:2.5rem}dl[data-v-652266f8]{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}dl div[data-v-652266f8]{display:grid;gap:.25rem}dt[data-v-652266f8]{color:#52616b}dd[data-v-652266f8]{font-weight:700;margin:0}table[data-v-652266f8]{border-collapse:collapse;width:100%}th[data-v-652266f8],td[data-v-652266f8]{border-bottom:1px solid #cbd5e1;padding:.5rem;text-align:left}.validation-report-page[data-v-f2cc5463]{display:grid;gap:1.5rem;margin:0 auto;max-width:75rem;padding:1.5rem}.eyebrow[data-v-f2cc5463],dt[data-v-f2cc5463]{color:#52616b}.eyebrow[data-v-f2cc5463]{font-size:.875rem;margin:0}.boundary[data-v-f2cc5463]{font-weight:600}section[data-v-f2cc5463]{border:1px solid #cbd5e1;border-radius:.5rem;padding:1rem}.report-column[data-v-f2cc5463]{display:grid;gap:1rem}label[data-v-f2cc5463],dl[data-v-f2cc5463]{display:grid;gap:.5rem}label[data-v-f2cc5463]{font-weight:600}select[data-v-f2cc5463],button[data-v-f2cc5463]{font:inherit;min-height:2.5rem}dl[data-v-f2cc5463]{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}dl div[data-v-f2cc5463]{display:grid;gap:.25rem}dd[data-v-f2cc5463]{font-weight:700;margin:0;overflow-wrap:anywhere}.pagination[data-v-f2cc5463]{align-items:center;border:0;display:flex;flex-wrap:wrap;gap:.5rem;padding:0}ul[data-v-f2cc5463]{margin-bottom:0}.login-page[data-v-dc83e063]{background:#f5f7fb;display:grid;grid-template-columns:minmax(420px,.95fr) minmax(430px,1.05fr);min-height:100vh}.login-visual[data-v-dc83e063]{background:#101b2d;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:42px 7vw 30px;position:relative;overflow:hidden}.login-visual[data-v-dc83e063]:after{border:1px solid rgba(86,208,195,.18);border-radius:50%;content:"";height:520px;position:absolute;right:-190px;top:16%;width:520px}.login-visual[data-v-dc83e063]:before{border:1px solid rgba(86,208,195,.1);border-radius:50%;content:"";height:680px;position:absolute;right:-270px;top:8%;width:680px}.login-brand[data-v-dc83e063]{align-items:center;display:flex;font-size:17px;font-weight:700;gap:11px;position:relative;z-index:1}.brand-mark[data-v-dc83e063]{align-items:center;background:#0ca6a6;border-radius:9px;display:flex;height:34px;justify-content:center;width:34px}.visual-copy[data-v-dc83e063]{max-width:490px;position:relative;z-index:1}.visual-kicker[data-v-dc83e063]{color:#62d8cc;font-size:10px;font-weight:700;letter-spacing:.18em;margin-bottom:20px}.visual-copy h1[data-v-dc83e063]{color:#fff;font-size:clamp(35px,4vw,56px);letter-spacing:-.05em;line-height:1.15;margin:0}.visual-copy h1 em[data-v-dc83e063]{color:#63d7ca;font-style:normal}.visual-copy p[data-v-dc83e063]:last-child{color:#9aabc0;font-size:14px;line-height:1.8;margin-top:23px;max-width:380px}.visual-footer[data-v-dc83e063]{color:#6e8098;display:flex;font-family:IBM Plex Mono,monospace;font-size:9px;justify-content:space-between;letter-spacing:.12em;position:relative;z-index:1}.login-panel[data-v-dc83e063]{align-items:center;display:flex;justify-content:center;padding:40px}.login-box[data-v-dc83e063]{max-width:390px;width:100%}.panel-kicker[data-v-dc83e063]{color:#0ca6a6;font-size:12px;font-weight:700;margin:0 0 12px}.login-box h2[data-v-dc83e063]{font-size:29px;letter-spacing:-.04em;margin:0}.login-subtitle[data-v-dc83e063]{color:#7c8796;font-size:13px;margin:10px 0 34px}.login-box form[data-v-dc83e063]{display:grid;gap:19px}.login-box label[data-v-dc83e063]{color:#3e4a59;display:grid;font-size:12px;font-weight:650;gap:8px}.login-box input[data-v-dc83e063]{border:1px solid #dce3eb;border-radius:8px;min-height:47px;outline:none;padding:0 13px;transition:border .18s,box-shadow .18s}.login-box input[data-v-dc83e063]:focus{border-color:#0ca6a6;box-shadow:0 0 0 3px #0ca6a61f}.login-error[data-v-dc83e063]{background:#fff0f0;border-radius:7px;color:#b34a4a;font-size:12px;margin:-2px 0 0;padding:9px 11px}.login-submit[data-v-dc83e063]{align-items:center;background:#101b2d;border:0;border-radius:8px;color:#fff;display:flex;font-weight:650;justify-content:space-between;min-height:49px;padding:0 16px}.login-submit span[data-v-dc83e063]{color:#63d7ca;font-size:18px}.login-note[data-v-dc83e063]{align-items:flex-start;color:#8793a1;display:flex;font-size:11px;gap:8px;line-height:1.6;margin-top:29px}.login-note span[data-v-dc83e063]{align-items:center;border:1px solid #aab4c0;border-radius:50%;display:inline-flex;flex:0 0 auto;font-size:9px;height:15px;justify-content:center;margin-top:1px;width:15px}@media(max-width:760px){.login-page[data-v-dc83e063]{grid-template-columns:1fr}.login-visual[data-v-dc83e063]{min-height:300px;padding:25px 24px}.visual-copy[data-v-dc83e063]{margin-top:45px}.visual-copy h1[data-v-dc83e063]{font-size:34px}.login-panel[data-v-dc83e063]{padding:34px 24px 50px}}.dashboard-page[data-v-cfa830f9]{display:grid;gap:20px}.hero-row[data-v-cfa830f9]{align-items:flex-end;display:flex;justify-content:space-between;padding:11px 0 13px}.page-kicker[data-v-cfa830f9],.panel-kicker[data-v-cfa830f9]{color:#8290a2;font-size:10px;font-weight:700;letter-spacing:.16em;margin:0 0 10px}h1[data-v-cfa830f9]{font-size:clamp(30px,3.2vw,44px);line-height:1.1;margin:0}.hero-copy[data-v-cfa830f9]{color:var(--muted);font-size:14px;margin:12px 0 0}.hero-status[data-v-cfa830f9]{align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;gap:10px;padding:10px 12px}.status-ring[data-v-cfa830f9]{border:3px solid #d7e4e8;border-radius:50%;height:14px;width:14px}.status-ring.is-green[data-v-cfa830f9]{border-color:#30bd89}.status-ring.is-amber[data-v-cfa830f9]{border-color:#e9a642}.hero-status strong[data-v-cfa830f9],.hero-status span[data-v-cfa830f9]:not(.status-ring){display:block}.hero-status strong[data-v-cfa830f9]{font-size:12px}.hero-status div span[data-v-cfa830f9]{color:var(--muted);font-size:10px;margin-top:2px}.refresh-btn[data-v-cfa830f9]{background:transparent!important;border-left:1px solid var(--line)!important;border-radius:0!important;color:var(--muted)!important;font-size:12px;margin-left:7px;min-height:22px!important;padding:0 0 0 12px!important}.notice[data-v-cfa830f9]{border-radius:9px;font-size:13px;margin:0;padding:11px 14px}.notice-error[data-v-cfa830f9]{background:#fff0f0;color:#a44343}.metric-grid[data-v-cfa830f9]{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card[data-v-cfa830f9]{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-height:164px;padding:18px 20px}.metric-card-dark[data-v-cfa830f9]{background:var(--navy);border-color:var(--navy);color:#fff}.metric-top[data-v-cfa830f9]{align-items:center;color:var(--muted);display:flex;font-size:12px;justify-content:space-between}.metric-card-dark .metric-top[data-v-cfa830f9]{color:#9aacbf}.metric-symbol[data-v-cfa830f9]{color:#9aabbc;font-size:17px}.metric-symbol.teal[data-v-cfa830f9]{color:var(--teal)}.metric-symbol.amber[data-v-cfa830f9]{color:var(--amber)}.metric-value[data-v-cfa830f9]{font-size:32px;font-weight:720;letter-spacing:-.04em;margin-top:14px}.metric-card-dark .metric-value[data-v-cfa830f9]{color:#fff}.metric-caption[data-v-cfa830f9]{color:var(--muted);font-size:11px;margin-top:4px}.metric-card-dark .metric-caption[data-v-cfa830f9]{color:#9aacbf}.tiny-badge[data-v-cfa830f9]{border-radius:999px;font-size:10px;padding:4px 8px}.tiny-badge.good[data-v-cfa830f9]{background:var(--teal-soft);color:#087b79}.tiny-badge.wait[data-v-cfa830f9]{background:#fff4df;color:#a76508}.metric-link[data-v-cfa830f9]{color:#79d4ca;display:flex;font-size:11px;font-weight:650;justify-content:space-between;margin-top:19px}.metric-link.dark[data-v-cfa830f9]{color:var(--ink)}.metric-link span[data-v-cfa830f9]{font-size:15px}.dashboard-grid[data-v-cfa830f9]{display:grid;gap:14px;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)}.panel[data-v-cfa830f9]{min-height:328px;padding:22px}.panel-heading[data-v-cfa830f9]{align-items:flex-start;display:flex;justify-content:space-between}.panel-heading h2[data-v-cfa830f9]{font-size:18px;margin:0}.panel-heading>a[data-v-cfa830f9]{color:var(--teal);font-size:11px;font-weight:650;margin-top:4px}.panel-kicker[data-v-cfa830f9]{margin-bottom:8px}.empty-panel[data-v-cfa830f9]{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:235px;text-align:center}.empty-icon[data-v-cfa830f9]{align-items:center;background:#edf8f7;border-radius:50%;color:var(--teal);display:flex;font-size:26px;height:50px;justify-content:center;width:50px}.empty-panel h3[data-v-cfa830f9]{font-size:15px;margin:13px 0 5px}.empty-panel p[data-v-cfa830f9]{color:var(--muted);font-size:12px;margin:0}.primary-link[data-v-cfa830f9]{background:var(--navy);border-radius:7px;color:#fff;font-size:12px;margin-top:16px;padding:9px 13px}.market-result[data-v-cfa830f9]{margin-top:56px;padding:0 8px}.market-state[data-v-cfa830f9]{align-items:center;display:flex;gap:9px}.market-state strong[data-v-cfa830f9]{font-size:25px}.market-state>span[data-v-cfa830f9]:last-child{color:var(--muted);font-size:12px;margin-left:6px}.state-dot[data-v-cfa830f9]{background:var(--teal);border-radius:50%;height:10px;width:10px}.market-result p[data-v-cfa830f9]{color:var(--muted);font-size:12px}.risk-list[data-v-cfa830f9]{display:flex;flex-wrap:wrap;gap:6px}.risk-list span[data-v-cfa830f9]{background:#fff5e7;border-radius:5px;color:#9d6413;font-size:10px;padding:5px 7px}.research-steps[data-v-cfa830f9]{list-style:none;margin:13px 0 0;padding:0}.research-steps li[data-v-cfa830f9]{align-items:center;border-bottom:1px solid #eef1f5;display:flex;gap:12px;padding:14px 0}.research-steps li[data-v-cfa830f9]:last-child{border-bottom:0}.research-steps li>span[data-v-cfa830f9]{color:#9aa6b5;font-family:IBM Plex Mono,monospace;font-size:11px}.research-steps li.done>span[data-v-cfa830f9]{color:var(--teal)}.research-steps li div[data-v-cfa830f9]{display:grid;flex:1;gap:3px}.research-steps strong[data-v-cfa830f9]{font-size:12px}.research-steps small[data-v-cfa830f9]{color:var(--muted);font-size:10px}.research-steps b[data-v-cfa830f9]{color:#a2adba;font-size:10px;font-weight:500}.research-steps li.done b[data-v-cfa830f9]{color:#19926a}.disclaimer-bar[data-v-cfa830f9]{align-items:center;background:#edf5f8;border:1px solid #dce9ee;border-radius:10px;color:#526777;display:flex;font-size:11px;gap:10px;padding:11px 14px}.disclaimer-bar p[data-v-cfa830f9]{flex:1;margin:0}.disclaimer-bar a[data-v-cfa830f9]{color:#207e8a;font-weight:650}.disclaimer-mark[data-v-cfa830f9]{align-items:center;border:1px solid #8aa6b2;border-radius:50%;display:inline-flex;font-size:10px;height:16px;justify-content:center;width:16px}@media(max-width:1000px){.metric-grid[data-v-cfa830f9]{grid-template-columns:repeat(2,1fr)}.dashboard-grid[data-v-cfa830f9]{grid-template-columns:1fr}}@media(max-width:600px){.hero-row[data-v-cfa830f9]{align-items:flex-start;flex-direction:column;gap:18px}.hero-status[data-v-cfa830f9]{width:100%}.metric-grid[data-v-cfa830f9]{grid-template-columns:1fr}.disclaimer-bar[data-v-cfa830f9]{align-items:flex-start;flex-wrap:wrap}.disclaimer-bar a[data-v-cfa830f9]{margin-left:26px}}:root{color:#182230;background:#f5f7fb;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #182230;--muted: #5f6d80;--line: #e5eaf1;--surface: #ffffff;--canvas: #f5f7fb;--navy: #101b2d;--navy-soft: #18283f;--teal: #0ca6a6;--teal-soft: #e7f8f7;--amber: #e88a1a;--red: #d95757;--shadow: 0 10px 30px rgba(16, 27, 45, .06)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.app-sidebar{background:var(--navy);color:#dce7f3;padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 12px 34px}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:var(--teal);color:#fff;font-weight:800;letter-spacing:-1px}.brand-name{font-weight:700;letter-spacing:.01em}.brand-caption{color:#8291a6;font-size:11px;margin-top:2px}.nav-group{display:grid;gap:5px}.nav-label{color:#8fa2ba;font-size:11px;letter-spacing:.12em;padding:0 12px 9px;text-transform:uppercase}.nav-link{border-radius:9px;color:#aebdd0;display:flex;align-items:center;gap:11px;min-height:42px;padding:0 12px;transition:background .18s ease,color .18s ease}.nav-link:hover{color:#fff;background:#ffffff12}.nav-link.router-link-active{color:#fff;background:#213653;box-shadow:inset 3px 0 0 var(--teal)}.nav-icon{width:18px;text-align:center;color:#90a9c4;font-size:14px}.nav-link.router-link-active .nav-icon{color:#5ee0d2}.sidebar-foot{border-top:1px solid rgba(255,255,255,.08);margin-top:auto;padding:16px 12px 0}.user-chip{align-items:center;display:flex;gap:9px}.avatar{background:#d7f5f0;color:#087b79;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}.user-name{font-size:13px;color:#f4f8fc}.user-role{color:#8291a6;font-size:11px;margin-top:2px}.logout{background:transparent;border:0;color:#8291a6;margin-left:auto;padding:6px}.logout:hover{color:#fff}.app-main{min-width:0}.app-topbar{align-items:center;background:#ffffffdb;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;min-height:72px;padding:0 38px;position:sticky;top:0;z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.breadcrumb{color:var(--muted);font-size:13px}.breadcrumb strong{color:var(--ink);font-weight:650}.top-actions{align-items:center;display:flex;gap:12px}.status-pill{align-items:center;background:#eefaf6;border-radius:999px;color:#116b4d;display:inline-flex;font-size:12px;gap:6px;padding:7px 11px}.status-dot{background:#2bc487;border-radius:50%;height:7px;width:7px}.status-pill.status-checking{background:#fff7e7;color:#a76a12}.status-pill.status-checking .status-dot{background:var(--amber)}.status-pill.status-unavailable{background:#fff0f0;color:#ac4848}.status-pill.status-unavailable .status-dot{background:var(--red)}.icon-btn{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--muted);display:inline-flex;height:34px;justify-content:center;width:34px}.page-container{margin:0 auto;max-width:1420px;padding:34px 38px 60px}main:not(.login) h1,main:not(.login) h2,main:not(.login) h3{color:var(--ink);letter-spacing:-.025em}main:not(.login) section{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}main:not(.login) input,main:not(.login) select,main:not(.login) textarea{background:#fff;border:1px solid #d8e0e9;border-radius:8px;color:var(--ink);min-height:40px;padding:0 11px}main:not(.login) button{border:0;border-radius:8px;min-height:40px;padding:0 15px}main:not(.login) button:not(:disabled){background:var(--navy);color:#fff}main:not(.login) button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:880px){.app-shell{grid-template-columns:1fr}.app-sidebar{padding:14px 16px}.brand{padding:0 8px 14px}.nav-group{display:flex;overflow-x:auto}.nav-label,.sidebar-foot{display:none}.nav-link{flex:0 0 auto;min-height:36px}.app-topbar{padding:0 18px}.page-container{padding:24px 18px 40px}}#app .page-container .data-import-page,#app .page-container .health-page,#app .page-container .local-schedule-page,#app .page-container .market-page,#app .page-container .paper-account-page,#app .page-container .signal-research-page,#app .page-container .validation-report-page{gap:20px;margin:0;max-width:none;padding:0}#app .page-container .data-import-page>header,#app .page-container .local-schedule-page>header,#app .page-container .market-page>header,#app .page-container .paper-account-page>header,#app .page-container .signal-research-page>header,#app .page-container .validation-report-page>header{border-bottom:1px solid var(--line);padding:0 0 20px}#app .page-container .data-import-page h1,#app .page-container .health-page h1,#app .page-container .local-schedule-page h1,#app .page-container .market-page h1,#app .page-container .paper-account-page h1,#app .page-container .signal-research-page h1,#app .page-container .validation-report-page h1{font-size:clamp(28px,3vw,38px);margin:0}#app .page-container .data-import-page .eyebrow,#app .page-container .local-schedule-page .eyebrow,#app .page-container .market-page .eyebrow,#app .page-container .paper-account-page .eyebrow,#app .page-container .signal-research-page .eyebrow,#app .page-container .validation-report-page .eyebrow{color:#52647b;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}#app .page-container .data-import-page section,#app .page-container .health-page section,#app .page-container .local-schedule-page section,#app .page-container .market-page section,#app .page-container .paper-account-page section,#app .page-container .signal-research-page section,#app .page-container .validation-report-page section{border-color:var(--line);border-radius:14px;padding:22px}#app .page-container .data-import-page .boundary,#app .page-container .local-schedule-page .boundary,#app .page-container .paper-account-page .boundary,#app .page-container .validation-report-page .boundary{background:#edf5f8;border-left:3px solid #64a9b7;color:#526777;font-size:12px;line-height:1.7;padding:11px 14px}#app .page-container .data-import-page table,#app .page-container .local-schedule-page table,#app .page-container .market-page table,#app .page-container .paper-account-page table,#app .page-container .signal-research-page table,#app .page-container .validation-report-page table{border-collapse:separate;border-spacing:0;font-size:12px;overflow:hidden;width:100%}#app .page-container .data-import-page th,#app .page-container .local-schedule-page th,#app .page-container .market-page th,#app .page-container .paper-account-page th,#app .page-container .signal-research-page th,#app .page-container .validation-report-page th{background:#f7f9fc;color:#617087;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}#app .page-container .data-import-page th,#app .page-container .data-import-page td,#app .page-container .local-schedule-page th,#app .page-container .local-schedule-page td,#app .page-container .market-page th,#app .page-container .market-page td,#app .page-container .paper-account-page th,#app .page-container .paper-account-page td,#app .page-container .signal-research-page th,#app .page-container .signal-research-page td,#app .page-container .validation-report-page th,#app .page-container .validation-report-page td{border-bottom:1px solid #edf0f4;padding:12px 13px}#app .page-container .data-import-page .table-wrap,#app .page-container .local-schedule-page .table-wrap,#app .page-container .local-schedule-page .table-wrapper,#app .page-container .paper-account-page .table-wrap,#app .page-container .signal-research-page .table-wrap,#app .page-container .validation-report-page .table-wrap{overflow-x:auto}#app .page-container .data-import-page form,#app .page-container .local-schedule-page form,#app .page-container .market-page form,#app .page-container .paper-account-page form,#app .page-container .signal-research-page form,#app .page-container .validation-report-page form{gap:14px}#app .page-container .data-import-page label,#app .page-container .local-schedule-page label,#app .page-container .market-page label,#app .page-container .paper-account-page label,#app .page-container .signal-research-page label,#app .page-container .validation-report-page label{color:#49576a;font-size:12px}#app .page-container .data-import-page>section,#app .page-container .local-schedule-page>section,#app .page-container .market-page>section,#app .page-container .paper-account-page>section,#app .page-container .signal-research-page>section,#app .page-container .validation-report-page>section{overflow:hidden}#app .page-container [data-view-state=loading],#app .page-container [data-batch-state=loading],#app .page-container [data-runtime-state=loading],#app .page-container [data-signal-run-state=loading],#app .page-container [data-report-list-state=loading]{align-items:center;background:#fbfcfe;color:var(--muted);display:flex;min-height:124px}#app .page-container [data-view-state=empty],#app .page-container [data-batch-state=empty],#app .page-container [data-detail-state=all-excluded],#app .page-container [data-detail-state=no-signals]{background:linear-gradient(135deg,#f7fbfd,#fff);border-style:dashed;min-height:152px}#app .page-container [role=alert],#app .page-container [data-view-state=error],#app .page-container [data-batch-state=error],#app .page-container [data-command-state=error]{background:#fff5f5;border-color:#f2caca;color:#9c4040}#app .page-container [data-command-state=success]{background:#effaf6;border:1px solid #bce6d5;border-radius:9px;color:#197554;font-size:13px;margin:0;padding:11px 14px}#app .page-container [data-batch-status=PASSED],#app .page-container [data-runtime-state=ready]{color:#117657;font-weight:700}#app .page-container .data-import-page form,#app .page-container .market-page .analysis-form form,#app .page-container .paper-account-page form,#app .page-container .local-schedule-page form{align-items:end;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}#app .page-container .data-import-page form>label:first-child,#app .page-container .data-import-page form>.confirm,#app .page-container .market-page .analysis-form details,#app .page-container .paper-account-page form>fieldset,#app .page-container .local-schedule-page form>p{grid-column:1 / -1}#app .page-container .data-import-page form>button,#app .page-container .market-page .analysis-form form>button,#app .page-container .paper-account-page form>button,#app .page-container .local-schedule-page form>button{justify-self:start}#app .page-container .data-import-page dl,#app .page-container .market-page dl,#app .page-container .paper-account-page dl,#app .page-container .signal-research-page dl,#app .page-container .validation-report-page dl,#app .page-container .local-schedule-page dl{display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));overflow:hidden}#app .page-container .data-import-page dl>div,#app .page-container .market-page dl>div,#app .page-container .paper-account-page dl>div,#app .page-container .signal-research-page dl>div,#app .page-container .validation-report-page dl>div,#app .page-container .local-schedule-page dl>div{background:#f7f9fc;min-height:72px;padding:12px 13px}#app .page-container dt{color:#4d5f76;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}#app .page-container dd{color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums;margin-top:7px!important}#app .page-container .pagination{align-items:center;background:transparent;border:0;box-shadow:none;display:flex;gap:7px;padding:0}#app .page-container .pagination button,#app .page-container .actions button,#app .page-container .export-actions button{background:#fff;border:1px solid #d9e1ea;color:#42526a;min-height:34px}#app .page-container .pagination button:not(:disabled):hover,#app .page-container .actions button:not(:disabled):hover,#app .page-container .export-actions button:not(:disabled):hover{background:#f2f7fa;border-color:#aabccc}#app .page-container .market-page .analysis-form{border-top:3px solid var(--teal)}#app .page-container .market-page .run-selector,#app .page-container .signal-research-page .selector{align-items:end;background:#f1f6f9;border:1px solid #dae5eb;display:flex;gap:16px}#app .page-container .market-page .market-summary{background:linear-gradient(120deg,#152842,#203a5b);border-color:#152842;color:#e7f1fa}#app .page-container .market-page .market-summary h2,#app .page-container .market-page .market-summary .eyebrow,#app .page-container .market-page .market-summary dd{color:#fff}#app .page-container .market-page .market-summary dt{color:#9eb0c7}#app .page-container .market-page .market-summary dl>div{background:#ffffff14}#app .page-container .signal-research-page .snapshot-summary{background:#f7fbfc;border-color:#dcecef}#app .page-container .signal-research-page .signal-card{border-left:3px solid var(--teal)}#app .page-container .signal-research-page .signal-card>h2{align-items:baseline;display:flex;font-size:20px;justify-content:space-between}#app .page-container .signal-research-page .signal-card>section{background:#fbfcfe;border-color:#edf0f4;box-shadow:none;margin-top:14px}#app .page-container .signal-research-page .signal-card ul,#app .page-container .market-page ul,#app .page-container .validation-report-page ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}#app .page-container .signal-research-page .signal-card li,#app .page-container .market-page li,#app .page-container .validation-report-page li{background:#fff5e8;border-radius:6px;color:#8b5b17;font-size:12px;padding:6px 8px}#app .page-container .validation-report-page [data-report-list-section]{background:transparent;border:0;box-shadow:none;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));padding:0}#app .page-container .validation-report-page .report-column{background:#fff;border:1px solid var(--line);border-top:3px solid #90a4b9;border-radius:14px;box-shadow:var(--shadow);padding:22px}#app .page-container .paper-account-page [data-account-state=ready]{border-top:3px solid var(--teal)}#app .page-container .paper-account-page [data-paper-performance]{border-top:3px solid #536d91}#app .page-container .local-schedule-page [data-scheduler-runtime]{border-top:3px solid #54799a}#app .page-container .local-schedule-page .section-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}#app .page-container .local-schedule-page .fixed-window>div{background:#edf7f7}#app .page-container .replay-boundary{background:#fffaf0;border:1px solid #f1dcad;margin-top:16px}@media(max-width:880px){#app .page-container .data-import-page section,#app .page-container .health-page section,#app .page-container .local-schedule-page section,#app .page-container .market-page section,#app .page-container .paper-account-page section,#app .page-container .signal-research-page section,#app .page-container .validation-report-page section{padding:16px}#app .page-container .market-page .run-selector,#app .page-container .signal-research-page .selector{align-items:stretch;flex-direction:column}#app .page-container .validation-report-page [data-report-list-section]{grid-template-columns:1fr}}
