.app-select{position:relative;display:inline-flex;min-width:0;vertical-align:middle}.app-select.field{display:flex;width:100%}.app-select-trigger{display:flex;width:100%;min-width:0;align-items:center;gap:6px;border:1px solid #dfe5ee;border-radius:8px;background:#fff;color:#3f4e67;font-size:14px;line-height:1;text-align:left;cursor:pointer}.app-select.compact .app-select-trigger{height:34px;padding:0 9px;color:#536078}.app-select.toolbar .app-select-trigger{height:38px;gap:8px;border-color:var(--border);border-radius:9px;padding:0 11px;color:#35435c;font-size:14px}.app-select.field .app-select-trigger{height:35px;background:#fbfcfe;padding:0 9px}.app-select.inline .app-select-trigger{height:32px;min-width:168px;border-color:transparent;background:transparent;padding:0 2px;color:#33415a;font-size:14px;font-weight:600}.app-select.open .app-select-trigger{border-color:#8fbfa8;box-shadow:0 0 0 3px #167a551f}.app-select.inline.open .app-select-trigger{border-color:transparent;box-shadow:none;color:#167a55}.app-select-leading{display:flex;flex:none;color:#77849a}.app-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-select.compact .app-select-value{max-width:122px}.app-select-chevron{flex:none;color:#8b97aa;transition:transform .16s ease}.app-select.open .app-select-chevron{transform:rotate(180deg)}.app-select-menu{position:fixed;z-index:80;display:grid;gap:2px;max-height:280px;overflow:auto;border:1px solid #e3e9f1;border-radius:10px;background:#fff;padding:6px;box-shadow:0 16px 40px #22355224}.app-select-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:7px;background:transparent;padding:8px 9px;color:#3d4c64;font-size:14px;text-align:left;cursor:pointer}.app-select-menu button:hover{background:#f3f8f5}.app-select-menu button.active{background:#eaf6f0;color:#167a55;font-weight:600}.lv-directory[data-v-c150dfb7]{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);gap:25px;color:#304e3c;font-variant-numeric:tabular-nums}.lv-directory-list[data-v-c150dfb7]{min-width:0}.lv-directory-heading[data-v-c150dfb7]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:4px}.lv-directory-heading h1[data-v-c150dfb7]{display:flex;align-items:center;gap:20px;margin:0;color:#203e2c;font-size:28px;font-weight:650;letter-spacing:-.04em}.lv-directory-heading h1 span[data-v-c150dfb7]{border-left:1px solid #d8e5dc;padding-left:20px;color:#92a096;font-size:14px;font-weight:400;letter-spacing:0}.lv-directory-status[data-v-c150dfb7]{display:flex;align-items:center;gap:5px;color:#7d9b87;font-size:14px}.lv-directory-stats[data-v-c150dfb7]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #dbe7df;border-radius:13px;background:linear-gradient(120deg,#edf5ef,#fbfdfb);padding:22px 10px}.lv-directory-stats>div[data-v-c150dfb7]{display:flex;align-items:center;gap:16px;border-right:1px solid #dce8df;padding:0 24px}.lv-directory-stats>div[data-v-c150dfb7]:last-child{border-right:0}.lv-directory-stats svg[data-v-c150dfb7]{color:#7a9f86}.lv-directory-stats>div>span[data-v-c150dfb7]{display:grid;gap:9px;color:#8da292;font-size:14px}.lv-directory-stats strong[data-v-c150dfb7]{color:#3f7050;font-size:26px;font-weight:600;line-height:1}.lv-directory-stats small[data-v-c150dfb7]{margin-left:7px;color:#90a495;font-size:14px;font-weight:400}.lv-directory-toolbar[data-v-c150dfb7]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.lv-directory-toolbar h2[data-v-c150dfb7]{display:flex;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600}.lv-directory-toolbar h2>span[data-v-c150dfb7]{border-radius:5px;padding:3px 7px;background:#e9f1eb;color:#5f8f6f;font-size:14px}.lv-directory-toolbar p[data-v-c150dfb7]{margin:7px 0 0;color:#95a49a;font-size:14px}.lv-directory-filters[data-v-c150dfb7]{display:flex;align-items:center;gap:9px}.lv-directory-filters .lv-client-search[data-v-c150dfb7]{max-width:none;width:250px;min-height:38px;background:#fff}.lv-directory-table-scroll[data-v-c150dfb7]{min-width:0;max-width:100%;overflow-x:auto;border:1px solid #dfe8e2;border-radius:12px;background:#fff}.lv-directory-table[data-v-c150dfb7]{width:100%;min-width:940px;border-collapse:collapse;text-align:left}.lv-directory-table th[data-v-c150dfb7]{border-bottom:1px solid #e0e9e2;background:#f5f8f5;padding:15px 14px;color:#819487;font-size:14px;font-weight:500;white-space:nowrap}.lv-directory-table th small[data-v-c150dfb7]{display:block;margin-top:5px;color:#a3b1a7;font-size:12px;font-weight:400}.lv-directory-table td[data-v-c150dfb7]{border-bottom:1px solid #edf2ee;padding:18px 14px;color:#738b7b;font-size:14px;white-space:nowrap}.lv-directory-table tbody tr:last-child td[data-v-c150dfb7]{border-bottom:0}.lv-directory-table tbody tr[data-v-c150dfb7]:hover{background:#f5faf6}.lv-directory-table td>small[data-v-c150dfb7]{display:block;margin-top:6px;color:#a5b3a9;font-size:12px}.lv-directory-table .lv-directory-number[data-v-c150dfb7]{font-variant-numeric:tabular-nums;font-size:14px}.lv-directory-table .lv-directory-cost[data-v-c150dfb7]{color:#477855;font-weight:600}.lv-directory-customer[data-v-c150dfb7]{display:flex;align-items:center;gap:13px;border:0;padding:0;background:transparent;color:#385540;text-align:left;cursor:pointer}.lv-directory-avatar[data-v-c150dfb7]{display:block;width:48px;height:48px;flex:none;border-radius:9px;object-fit:cover;background:#edf2ee}.lv-directory-customer strong[data-v-c150dfb7]{display:block;color:#42644b;font-size:14px;font-weight:600;line-height:1.6;white-space:nowrap}.lv-directory-customer small[data-v-c150dfb7]{display:flex;gap:7px;margin-top:6px;color:#95a69a;font-size:12px;white-space:nowrap}.lv-directory-customer small>span[data-v-c150dfb7]{color:#b0bdb3}.lv-directory-enter[data-v-c150dfb7]{display:flex;align-items:center;gap:4px;border:1px solid #dbe8df;border-radius:6px;padding:7px 9px;background:#f9fcf9;color:#6e957a;font-size:12px;cursor:pointer}.lv-directory-enter[data-v-c150dfb7]:hover{border-color:#91b59d;background:#eaf4ed;color:#36744b}.lv-back-link[data-v-c150dfb7]{display:flex;align-items:center;gap:7px;margin-bottom:10px;padding:0;border:0;background:transparent;color:#8a9c90;font-size:14px;cursor:pointer}.lv-back-link[data-v-c150dfb7]:hover{color:#397a50}@media(max-width:960px){.lv-directory-heading h1 span[data-v-c150dfb7],.lv-directory-status[data-v-c150dfb7]{display:none}.lv-directory-stats>div[data-v-c150dfb7]{padding:0 15px;gap:10px}}@media(max-width:600px){.lv-directory-stats[data-v-c150dfb7]{grid-template-columns:1fr 1fr;gap:20px 0;padding:19px 0}.lv-directory-stats>div[data-v-c150dfb7]:nth-child(2){border-right:0}.lv-directory-toolbar[data-v-c150dfb7]{align-items:flex-start;flex-direction:column}.lv-directory-filters[data-v-c150dfb7]{width:100%}.lv-directory-filters .lv-client-search[data-v-c150dfb7]{width:auto;flex:1}}.lv-workspace[data-v-c150dfb7]{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);gap:20px;color:#233d30;font-variant-numeric:tabular-nums}.lv-heading[data-v-c150dfb7]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 0 0}.lv-eyebrow[data-v-c150dfb7]{display:flex;align-items:center;gap:6px;margin-bottom:9px;color:#70917f;font-size:14px;letter-spacing:.08em}.lv-eyebrow>span[data-v-c150dfb7]{width:5px;height:5px;border-radius:50%;background:#278960}.lv-heading h1[data-v-c150dfb7]{display:flex;align-items:center;gap:16px;margin:0;color:#18382a;font-size:27px;font-weight:680;letter-spacing:-.04em}.lv-heading h1>span[data-v-c150dfb7]{border-left:1px solid #d5e2d9;padding-left:16px;color:#7a8d82;font-size:14px;font-weight:400;letter-spacing:0}.lv-heading-actions[data-v-c150dfb7]{display:flex;align-items:center;gap:9px}.lv-year[data-v-c150dfb7]{display:inline-flex;height:38px;align-items:center;gap:7px;white-space:nowrap;border:1px solid #dfe9e3;border-radius:9px;background:#fff;padding:0 11px;color:#637c6d;font-size:14px}.lv-client-search[data-v-c150dfb7]{display:flex;align-items:center;gap:7px;width:260px;max-width:60%;border:1px solid #dce7df;border-radius:7px;padding:8px 10px;color:#8b9f91}.lv-client-search input[data-v-c150dfb7]{width:100%;min-width:0;outline:none;border:0;background:transparent;color:#385543;font:inherit;font-size:14px}.lv-client-search[data-v-c150dfb7]:focus-within{border-color:#4c966d;box-shadow:0 0 0 2px #4c966d15}.lv-client-empty[data-v-c150dfb7]{padding:20px;color:#85958a;font-size:14px;text-align:center}.lv-stats[data-v-c150dfb7]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lv-stat[data-v-c150dfb7]{position:relative;min-height:139px;overflow:hidden;border:1px solid #dfe8e2;border-radius:12px;background:#fff;padding:18px 20px}.lv-stat-label[data-v-c150dfb7]{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#6d8174;font-size:14px}.lv-stat-label svg[data-v-c150dfb7]{color:#96ac9d}.lv-stat-value[data-v-c150dfb7]{display:flex;align-items:baseline;gap:6px;margin-top:15px;font-size:clamp(22px,2.2vw,32px);font-weight:660;line-height:1;letter-spacing:-.04em}.lv-stat-value>span[data-v-c150dfb7]{color:#8a9a90;font-size:14px;font-weight:400;letter-spacing:0}.lv-stat p[data-v-c150dfb7]{display:flex;align-items:center;gap:6px;margin:14px 0 0;color:#91a095;font-size:12px}.lv-stat p>span.lv-green[data-v-c150dfb7]{display:inline-flex;align-items:center;gap:1px}.lv-stat-featured[data-v-c150dfb7]{border-color:#1d6d4e;background:linear-gradient(115deg,#16593f,#23815a);color:#fff;box-shadow:0 5px 18px #15593a14}.lv-stat-featured .lv-stat-label[data-v-c150dfb7],.lv-stat-featured .lv-stat-label svg[data-v-c150dfb7],.lv-stat-featured .lv-stat-value>span[data-v-c150dfb7],.lv-stat-featured p[data-v-c150dfb7]{color:#b3d6c1}.lv-stat-featured p strong[data-v-c150dfb7]{color:#e4f5e9;font-weight:500}.lv-savings-chip[data-v-c150dfb7]{margin-left:auto;border-radius:4px;background:#ffffff18;padding:3px 5px;color:#d7f3e0;font-size:12px}.lv-stat-bars[data-v-c150dfb7]{position:absolute;right:18px;bottom:16px;display:flex;height:26px;align-items:flex-end;gap:3px;opacity:.65}.lv-stat-bars i[data-v-c150dfb7]{width:4px;border-radius:2px 2px 0 0;background:#bdd5c5}.lv-price-change[data-v-c150dfb7]{display:flex;align-items:center;gap:9px;margin-top:19px;line-height:1}.lv-price-change>span[data-v-c150dfb7]{color:#9eaca3;font-size:clamp(15px,1.4vw,19px);text-decoration:line-through;text-decoration-color:#c3cec6}.lv-price-change svg[data-v-c150dfb7]{flex:none;color:#9eb4a5}.lv-price-change strong[data-v-c150dfb7]{color:#167a55;font-size:clamp(21px,1.9vw,28px);font-weight:650;letter-spacing:-.04em}.lv-panel[data-v-c150dfb7]{min-width:0;border:1px solid #dfe8e2;border-radius:13px;background:#fff;box-shadow:0 4px 16px #284a3203}.lv-panel-heading[data-v-c150dfb7]{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px 15px}.lv-panel-heading h2[data-v-c150dfb7]{display:flex;align-items:center;gap:7px;margin:0;color:#2c4b38;font-size:14px;font-weight:620}.lv-panel-heading h2 svg[data-v-c150dfb7]{color:#6b9d7d}.lv-panel-heading p[data-v-c150dfb7]{margin:6px 0 0;color:#96a49b;font-size:14px}.lv-analysis-grid[data-v-c150dfb7]{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:18px}.lv-segmented[data-v-c150dfb7]{display:flex;flex:none;gap:3px;border:1px solid #e4ece6;border-radius:7px;background:#f8faf8;padding:3px}.lv-segmented button[data-v-c150dfb7]{border-radius:4px;background:transparent;padding:5px 9px;color:#8c9b90;font-size:14px}.lv-segmented button.active[data-v-c150dfb7]{background:#fff;color:#2c7650;box-shadow:0 1px 4px #29473213}.lv-chart-meta[data-v-c150dfb7]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 23px 0;color:#9ba89f;font-size:12px}.lv-chart-meta>div[data-v-c150dfb7]{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.lv-chart-meta>div>span[data-v-c150dfb7]{display:flex;align-items:center;gap:5px}.lv-chart-meta i[data-v-c150dfb7]{width:14px;height:2px}.lv-legend-original[data-v-c150dfb7]{background:#4f6fa8}.lv-legend-strategy[data-v-c150dfb7]{background:#167a55}.lv-area-key[data-v-c150dfb7]{color:#b0bcb3}.lv-chart[data-v-c150dfb7]{margin:9px 12px 0}.lv-chart>svg[data-v-c150dfb7]{display:block;width:100%;overflow:visible}.lv-chart rect[role=button][data-v-c150dfb7]{cursor:pointer;outline-color:#167a55}.lv-axis-label[data-v-c150dfb7]{fill:#99aaa0;font-family:inherit;font-size:14px}.lv-active-axis[data-v-c150dfb7]{fill:#167a55;font-weight:650}.lv-month-insight[data-v-c150dfb7]{display:flex;min-height:58px;align-items:center;gap:14px;margin:7px 20px 18px;border:1px solid #e4eee7;border-radius:9px;background:#f7faf8;padding:10px 12px}.lv-month-badge[data-v-c150dfb7]{display:flex;align-items:baseline;gap:2px;border-right:1px solid #dce7df;padding-right:12px;color:#3d7351;font-size:20px;font-weight:600}.lv-month-badge small[data-v-c150dfb7]{font-size:12px;font-weight:400}.lv-month-insight>div[data-v-c150dfb7]{display:flex;align-items:center;gap:12px}.lv-month-insight>div>span[data-v-c150dfb7]{display:grid;gap:5px;color:#98a79d;font-size:12px}.lv-month-insight>div strong[data-v-c150dfb7]{color:#597262;font-size:14px;font-weight:550}.lv-month-insight>div svg[data-v-c150dfb7]{color:#a5b8aa}.lv-month-saving[data-v-c150dfb7]{display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 5px;margin-left:auto;color:#5b8d6c;font-size:12px}.lv-month-saving strong[data-v-c150dfb7]{color:#257a4c;font-size:14px;font-weight:600}.lv-month-saving small[data-v-c150dfb7]{grid-column:2;color:#73a283;font-size:12px}.lv-month-insight>button[data-v-c150dfb7]{display:grid;width:27px;height:27px;flex:none;place-items:center;border:1px solid #d6e5db;border-radius:6px;background:#fff;color:#528c66}.lv-icon-button[data-v-c150dfb7]{display:grid;width:28px;height:28px;flex:none;place-items:center;border:1px solid transparent;border-radius:6px;background:transparent;color:#9bad9f}.lv-icon-button[data-v-c150dfb7]:hover{border-color:#dbe8df;background:#f1f7f3;color:#167a55}.lv-peer-panel[data-v-c150dfb7]{display:flex;flex-direction:column}.lv-peer-panel .lv-panel-heading[data-v-c150dfb7]{padding-bottom:8px}.lv-peer-median[data-v-c150dfb7]{display:flex;align-items:center;justify-content:space-between;margin:8px 23px 14px}.lv-peer-median>div>span[data-v-c150dfb7]{display:block;margin-bottom:6px;color:#95a69a;font-size:12px}.lv-peer-median strong[data-v-c150dfb7]{color:#4f705a;font-size:21px;font-weight:600;letter-spacing:-.04em}.lv-peer-median small[data-v-c150dfb7]{margin-left:6px;color:#9aaa9e;font-size:12px;font-weight:400;letter-spacing:0}.lv-reference-tag[data-v-c150dfb7]{border:1px solid #e6ece7;border-radius:5px;padding:4px 6px;color:#8d9e91;font-size:12px}.lv-reference-editor[data-v-c150dfb7]{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 22px 12px;border-radius:7px;background:#f3f7f4;padding:10px;color:#6e8475;font-size:14px}.lv-reference-editor label[data-v-c150dfb7]{width:100%}.lv-reference-editor input[data-v-c150dfb7]{width:100px;border:1px solid #cdddce;border-radius:4px;background:#fff;padding:5px 6px;color:#30563c;font-size:14px}.lv-reference-editor button[data-v-c150dfb7]{background:transparent;color:#6a8b73;font-size:12px}.lv-peer-chart[data-v-c150dfb7]{display:block;width:calc(100% - 32px);margin:auto 16px 0}.lv-peer-label[data-v-c150dfb7]{font-family:inherit;font-size:14px;font-weight:500}.lv-peer-ranks[data-v-c150dfb7]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:1px 23px 12px;border-top:1px solid #edf2ed;padding-top:13px}.lv-peer-ranks>div[data-v-c150dfb7]{display:grid;gap:5px}.lv-peer-ranks>div>span[data-v-c150dfb7]{color:#93a396;font-size:12px}.lv-peer-ranks strong[data-v-c150dfb7]{color:#a87d54;font-size:21px;font-weight:600}.lv-peer-ranks>svg[data-v-c150dfb7]{color:#acc0b1}.lv-rank-change[data-v-c150dfb7]{display:flex;align-items:center;gap:1px;border-radius:4px;background:#eaf4ed;padding:4px;color:#5f936e;font-size:12px}.lv-peer-note[data-v-c150dfb7]{display:flex;align-items:flex-start;gap:5px;margin:0 23px 16px;color:#a2afa5;font-size:12px;line-height:1.7}.lv-peer-note svg[data-v-c150dfb7]{flex:none;margin-top:2px}.lv-strategy-tools[data-v-c150dfb7]{display:flex;flex:none;align-items:center;gap:12px}.lv-reset[data-v-c150dfb7]{display:flex;align-items:center;gap:4px;background:transparent;color:#869c8c;font-size:14px}.lv-controls[data-v-c150dfb7]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 22px 18px}.lv-control[data-v-c150dfb7]{min-width:0;border:1px solid #e3ebe4;border-radius:10px;background:#fcfdfc;padding:16px 17px 0}.lv-control-top[data-v-c150dfb7]{display:flex;align-items:center;gap:9px}.lv-control-icon[data-v-c150dfb7]{display:grid;width:32px;height:32px;flex:none;place-items:center;border-radius:8px;background:#e9f3eb;color:#52865f}.lv-control-icon.amber[data-v-c150dfb7]{background:#fbf1e6;color:#c49c6a}.lv-control-icon.blue[data-v-c150dfb7]{background:#eaf0f0;color:#749b94}.lv-control-top>div[data-v-c150dfb7]{min-width:0}.lv-control h3[data-v-c150dfb7]{margin:0;color:#3e6247;font-size:14px;font-weight:600}.lv-control-top p[data-v-c150dfb7]{margin:5px 0 0;color:#9eaca1;font-size:12px;line-height:1.5}.lv-switch[data-v-c150dfb7]{position:relative;width:29px;height:17px;flex:none;margin-left:auto;border-radius:12px;background:#cbd8ce;padding:0;transition:background .15s}.lv-switch[aria-checked=true][data-v-c150dfb7]{background:#3a9263}.lv-switch i[data-v-c150dfb7]{position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:#fff;transition:transform .15s}.lv-switch[aria-checked=true] i[data-v-c150dfb7]{transform:translate(12px)}.lv-switch[data-v-c150dfb7]:disabled{cursor:default;opacity:.55}.lv-slider-label[data-v-c150dfb7]{display:flex;align-items:baseline;justify-content:space-between;margin:18px 0 10px;color:#8b9b8f;font-size:14px}.lv-slider-label strong[data-v-c150dfb7]{color:#42724f;font-size:22px;font-weight:580}.lv-slider-label small[data-v-c150dfb7]{margin-left:3px;font-size:14px;font-weight:400}.lv-control>input[data-v-c150dfb7]{display:block;width:100%;height:4px;margin:0;border:0;accent-color:#3a9263;cursor:pointer}.lv-control>input[data-v-c150dfb7]:disabled{cursor:default;opacity:.5}.lv-slider-scale[data-v-c150dfb7]{display:flex;justify-content:space-between;margin-top:8px;color:#b0bbb2;font-size:12px}.lv-control-result[data-v-c150dfb7]{display:flex;align-items:center;justify-content:space-between;margin:13px -17px 0;border-top:1px solid #e7eee8;padding:11px 17px;color:#92a196;font-size:12px}.lv-control-result strong[data-v-c150dfb7]{color:#3e8054;font-size:17px;font-weight:560}.lv-control-result small[data-v-c150dfb7]{margin-left:4px;color:#92a196;font-size:12px;font-weight:400}.lv-control.is-off[data-v-c150dfb7]{background:#fafbf9}.lv-control.is-off .lv-slider-label strong[data-v-c150dfb7],.lv-control.is-off .lv-control-result strong[data-v-c150dfb7]{color:#a9b5aa}.lv-strategy-summary[data-v-c150dfb7]{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #edf2ed;border-radius:0 0 13px 13px;background:#fafcf9;padding:12px 22px}.lv-strategy-summary>span[data-v-c150dfb7]{display:flex;align-items:flex-start;gap:6px;color:#94a496;font-size:12px;line-height:1.7}.lv-strategy-summary>span>svg[data-v-c150dfb7]{flex:none;margin-top:1px}.lv-strategy-summary>strong[data-v-c150dfb7]{display:flex;flex:none;align-items:center;gap:7px;color:#568460;font-size:14px;font-weight:550}.lv-table-count[data-v-c150dfb7]{display:flex;flex:none;align-items:center;gap:6px;color:#95a89a;font-size:14px}.lv-table-scroll[data-v-c150dfb7]{overflow-x:auto}.lv-table[data-v-c150dfb7]{width:100%;min-width:940px;border-collapse:collapse;text-align:right}.lv-table th[data-v-c150dfb7]{background:#f7faf7;padding:13px 14px;color:#83998a;font-size:14px;font-weight:500;white-space:nowrap}.lv-table th small[data-v-c150dfb7]{display:block;margin-top:4px;color:#acb9af;font-size:12px;font-weight:400}.lv-table td[data-v-c150dfb7]{border-bottom:1px solid #eff3ee;padding:11px 14px;color:#597561;font-size:14px;white-space:nowrap}.lv-table th[data-v-c150dfb7]:first-child,.lv-table td[data-v-c150dfb7]:first-child{padding-left:22px;text-align:left}.lv-table td[data-v-c150dfb7]:last-child{padding-right:18px}.lv-table tbody tr[data-v-c150dfb7]:hover{background:#fafcf9}.lv-table tbody tr.selected[data-v-c150dfb7]{background:#f1f8f2}.lv-month-link[data-v-c150dfb7]{display:flex;align-items:center;gap:9px;background:transparent;padding:0;color:#4d6b55;font-size:14px}.lv-month-link>span[data-v-c150dfb7]{display:grid;width:25px;height:25px;place-items:center;border:1px solid #e0e9e1;border-radius:6px;background:#f9fbf8;color:#8aa18e;font-size:14px}.selected .lv-month-link>span[data-v-c150dfb7]{border-color:#bcd5c2;background:#e8f2e9;color:#52835c}.lv-table .lv-icon-button[data-v-c150dfb7]{margin-left:auto;width:22px;height:22px}.lv-rate-pill[data-v-c150dfb7]{border-radius:4px;background:#edf6ed;padding:3px 6px;color:#659570;font-size:12px}.lv-table tfoot td[data-v-c150dfb7]{border-top:1px solid #d7e6d9;border-bottom:0;background:#f3f8f2;padding-top:16px;padding-bottom:16px;color:#44694c;font-weight:600}.lv-table-footer[data-v-c150dfb7]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:13px 22px;color:#a1afa2;font-size:12px;line-height:1.7}.lv-table .lv-no-results[data-v-c150dfb7]{padding:30px;color:#91a494;text-align:center}.lv-green[data-v-c150dfb7]{color:#2b8351!important}.lv-muted[data-v-c150dfb7]{color:#9bac9e!important}.lv-bold[data-v-c150dfb7]{font-weight:600}.lv-bill-dialog[data-v-c150dfb7]{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #d8e5da;border-radius:18px;background:#fff;padding:25px 28px;color:#3a5942;font-variant-numeric:tabular-nums;box-shadow:0 25px 90px #0b321f26}.lv-bill-dialog[data-v-c150dfb7]::backdrop{background:#18372855;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.lv-dialog-heading[data-v-c150dfb7]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.lv-dialog-heading span[data-v-c150dfb7]{color:#8fa593;font-size:14px}.lv-dialog-heading h2[data-v-c150dfb7]{margin:8px 0 0;font-size:24px;font-weight:600}.lv-dialog-heading p[data-v-c150dfb7]{margin:8px 0 0;color:#9bac9d;font-size:14px}.lv-dialog-summary[data-v-c150dfb7]{display:grid;grid-template-columns:1.2fr 1.2fr .7fr;gap:12px;margin:22px 0;border:1px solid #e3ece2;border-radius:10px;background:#f6faf4;padding:17px}.lv-dialog-summary>div[data-v-c150dfb7]{display:grid;gap:9px}.lv-dialog-summary span[data-v-c150dfb7]{color:#92a58f;font-size:14px}.lv-dialog-summary strong[data-v-c150dfb7]{font-size:clamp(15px,2vw,21px);font-weight:580}.lv-dialog-summary small[data-v-c150dfb7]{margin-left:5px;color:#a2b1a0;font-size:12px;font-weight:400}.lv-dialog-section-title[data-v-c150dfb7]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 0 14px;color:#52704e;font-size:14px;font-weight:600}.lv-dialog-section-title small[data-v-c150dfb7]{color:#9faf98;font-size:12px;font-weight:400}.lv-detail-table[data-v-c150dfb7]{width:100%;border-collapse:collapse;text-align:right}.lv-detail-table th[data-v-c150dfb7]{border-bottom:1px solid #e4ece0;padding:10px 8px;color:#a2b19a;font-size:14px;font-weight:400}.lv-detail-table td[data-v-c150dfb7]{border-bottom:1px solid #f0f3ec;padding:11px 8px;color:#71846a;font-size:14px}.lv-detail-table th[data-v-c150dfb7]:first-child,.lv-detail-table td[data-v-c150dfb7]:first-child{padding-left:0;text-align:left}.lv-detail-table tfoot td[data-v-c150dfb7]{border-bottom:0;color:#54734c;font-weight:600}.lv-tou-row[data-v-c150dfb7]{display:flex;align-items:center;gap:14px;margin-top:12px}.lv-tou-row>span[data-v-c150dfb7]{width:39px;flex:none;color:#9aac92;font-size:14px}.lv-tou-row>div[data-v-c150dfb7]{display:flex;width:100%;height:17px;overflow:hidden;border-radius:4px}.lv-tou-row i[data-v-c150dfb7]{height:100%;transition:width .2s}.lv-tou-legend[data-v-c150dfb7]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 0 53px}.lv-tou-legend>span[data-v-c150dfb7]{display:flex;align-items:center;gap:5px;color:#92a284;font-size:12px}.lv-tou-legend i[data-v-c150dfb7]{width:6px;height:6px;border-radius:2px}.lv-tou-legend b[data-v-c150dfb7]{margin-left:5px;color:#759368;font-weight:400}.lv-dialog-note[data-v-c150dfb7]{display:flex;align-items:flex-start;gap:6px;margin:23px 0 0;border-top:1px solid #edf1e7;padding-top:15px;color:#acb8a1;font-size:14px;line-height:1.7}.lv-dialog-note svg[data-v-c150dfb7]{flex:none;margin-top:1px}button[data-v-c150dfb7]:focus-visible,input[data-v-c150dfb7]:focus-visible{outline:2px solid #3a9263;outline-offset:3px}@media(min-width:1700px){.lv-chart[data-v-c150dfb7]{margin-top:19px}.lv-peer-chart[data-v-c150dfb7]{max-height:205px}.lv-stat[data-v-c150dfb7]{min-height:149px}}@media(max-width:1400px){.lv-heading h1>span[data-v-c150dfb7]{display:none}.lv-customer[data-v-c150dfb7]{gap:21px}.lv-customer-facts[data-v-c150dfb7]{width:100%;border-top:1px solid #dce8de;padding-top:17px}.lv-controls[data-v-c150dfb7]{gap:12px}.lv-control[data-v-c150dfb7]{padding-right:12px;padding-left:12px}.lv-control-result[data-v-c150dfb7]{margin-right:-12px;margin-left:-12px;padding-right:12px;padding-left:12px}.lv-control-top[data-v-c150dfb7]{gap:7px}.lv-control-icon[data-v-c150dfb7]{width:27px;height:30px}.lv-control-top p[data-v-c150dfb7]{font-size:12px}.lv-stat[data-v-c150dfb7]{padding-right:16px;padding-left:16px}.lv-stat-bars[data-v-c150dfb7]{display:none}}@media(max-width:1150px){.lv-analysis-grid[data-v-c150dfb7]{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:14px}.lv-stats[data-v-c150dfb7]{gap:10px}.lv-stat-value[data-v-c150dfb7]{font-size:24px}.lv-price-change[data-v-c150dfb7]{gap:5px}.lv-price-change>span[data-v-c150dfb7]{font-size:16px}.lv-price-change strong[data-v-c150dfb7]{font-size:20px}.lv-panel-heading[data-v-c150dfb7]{padding-right:17px;padding-left:17px}.lv-panel-heading h2[data-v-c150dfb7]{font-size:14px}.lv-month-insight[data-v-c150dfb7]{gap:8px;margin-right:12px;margin-left:12px}.lv-month-insight>div[data-v-c150dfb7]{gap:6px}.lv-month-saving strong[data-v-c150dfb7]{font-size:14px}.lv-area-key[data-v-c150dfb7]{display:none!important}.lv-control-icon[data-v-c150dfb7]{display:none}.lv-strategy-summary[data-v-c150dfb7]{flex-wrap:wrap}.lv-stat p[data-v-c150dfb7]{flex-wrap:wrap;font-size:12px}}@media(max-width:960px){.lv-heading[data-v-c150dfb7]{flex-wrap:wrap}.lv-heading-actions[data-v-c150dfb7]{width:100%}.lv-analysis-grid[data-v-c150dfb7]{grid-template-columns:1fr}.lv-peer-panel .lv-peer-chart[data-v-c150dfb7]{max-height:190px}.lv-peer-ranks[data-v-c150dfb7]{justify-content:flex-start;gap:34px}.lv-peer-panel .lv-peer-median[data-v-c150dfb7]{margin-bottom:0}.lv-controls[data-v-c150dfb7]{grid-template-columns:1fr;gap:10px}.lv-control-icon[data-v-c150dfb7]{display:grid}.lv-control-top p[data-v-c150dfb7]{font-size:14px}.lv-control[data-v-c150dfb7]{padding:14px 16px 0}.lv-control-result[data-v-c150dfb7]{margin-right:-16px;margin-left:-16px;padding-right:16px;padding-left:16px}.lv-control>input[data-v-c150dfb7]{height:5px}.lv-customer-facts[data-v-c150dfb7]{gap:15px}}@media(max-width:600px){.lv-workspace[data-v-c150dfb7]{gap:14px}.lv-heading h1[data-v-c150dfb7]{font-size:24px}.lv-heading-actions[data-v-c150dfb7]{flex-wrap:wrap;gap:7px}.lv-heading-actions .secondary-action[data-v-c150dfb7]{min-height:38px;padding-right:10px;padding-left:10px;font-size:14px}.lv-heading-actions .app-select[data-v-c150dfb7]{flex:1}.lv-year[data-v-c150dfb7]{padding:0 8px;font-size:14px}.lv-customer[data-v-c150dfb7]{padding:17px}.lv-customer-identity[data-v-c150dfb7]{align-items:flex-start;gap:11px}.lv-building[data-v-c150dfb7]{width:43px;height:48px;border-radius:10px}.lv-building svg[data-v-c150dfb7]{width:24px}.lv-customer-name h2[data-v-c150dfb7]{font-size:16px;line-height:1.6}.lv-customer-name>span[data-v-c150dfb7]{display:none}.lv-customer-identity p[data-v-c150dfb7]{font-size:12px}.lv-customer-facts[data-v-c150dfb7]{grid-template-columns:1fr 1fr;gap:18px}.lv-customer-facts dt[data-v-c150dfb7]{margin-bottom:5px}.lv-customer-facts dd[data-v-c150dfb7]{font-size:14px}.lv-customer-facts small[data-v-c150dfb7]{display:inline;margin-left:5px}.lv-stats[data-v-c150dfb7]{grid-template-columns:1fr 1fr;gap:9px}.lv-stat[data-v-c150dfb7]{min-height:130px;padding:15px 12px}.lv-stat-value[data-v-c150dfb7]{gap:3px;font-size:25px}.lv-stat-value>span[data-v-c150dfb7]{font-size:12px}.lv-stat-label[data-v-c150dfb7]{font-size:14px}.lv-stat-label svg[data-v-c150dfb7]{width:14px}.lv-price-change[data-v-c150dfb7]{flex-wrap:wrap;row-gap:7px;margin-top:15px}.lv-price-change>span[data-v-c150dfb7]{font-size:16px}.lv-price-change strong[data-v-c150dfb7]{font-size:22px}.lv-stat p[data-v-c150dfb7]{margin-top:12px;font-size:12px}.lv-savings-chip[data-v-c150dfb7]{margin-left:0}.lv-panel-heading[data-v-c150dfb7]{align-items:flex-start;gap:10px;padding:17px 14px 12px}.lv-panel-heading h2[data-v-c150dfb7]{font-size:14px}.lv-panel-heading p[data-v-c150dfb7]{max-width:240px;font-size:12px;line-height:1.7}.lv-segmented button[data-v-c150dfb7]{padding:5px 7px;font-size:12px}.lv-chart-meta[data-v-c150dfb7]{margin-right:15px;margin-left:15px;font-size:12px}.lv-chart-meta>div[data-v-c150dfb7]{gap:8px}.lv-chart[data-v-c150dfb7]{margin-right:5px;margin-left:1px}.lv-chart>svg[data-v-c150dfb7]{min-height:170px}.lv-axis-label[data-v-c150dfb7]{font-size:14px}.lv-month-insight[data-v-c150dfb7]{flex-wrap:wrap;padding:9px;gap:8px}.lv-month-badge[data-v-c150dfb7]{padding-right:8px;font-size:18px}.lv-month-insight>div strong[data-v-c150dfb7]{font-size:14px}.lv-month-saving[data-v-c150dfb7]{margin-left:auto}.lv-month-saving small[data-v-c150dfb7]{display:none}.lv-month-insight>button[data-v-c150dfb7]{display:none}.lv-strategy-panel>.lv-panel-heading[data-v-c150dfb7]{flex-wrap:wrap}.lv-strategy-tools[data-v-c150dfb7]{width:100%;justify-content:space-between}.lv-controls[data-v-c150dfb7]{padding-right:14px;padding-left:14px}.lv-strategy-summary[data-v-c150dfb7]{padding:12px 14px}.lv-strategy-summary>span[data-v-c150dfb7]{font-size:12px}.lv-peer-note[data-v-c150dfb7]{font-size:12px}.lv-table-footer[data-v-c150dfb7]{padding:12px 14px;font-size:12px}.lv-table-count[data-v-c150dfb7]{font-size:12px}.lv-bill-dialog[data-v-c150dfb7]{max-height:calc(100dvh - 24px);padding:20px 15px}.lv-dialog-summary[data-v-c150dfb7]{grid-template-columns:1fr 1fr;padding:13px}.lv-dialog-summary>div[data-v-c150dfb7]:last-child{grid-column:1 / -1;display:flex;align-items:center;gap:12px}.lv-detail-table th[data-v-c150dfb7],.lv-detail-table td[data-v-c150dfb7]{padding-right:4px;padding-left:4px;font-size:12px}.lv-detail-table td[data-v-c150dfb7]:first-child{max-width:100px}.lv-tou-legend[data-v-c150dfb7]{margin-left:0;gap:9px}.lv-tou-legend b[data-v-c150dfb7]{margin-left:1px;font-size:12px}.lv-dialog-section-title small[data-v-c150dfb7]{font-size:12px}}@media(prefers-reduced-motion:reduce){.lv-switch[data-v-c150dfb7],.lv-switch i[data-v-c150dfb7],.lv-tou-row i[data-v-c150dfb7]{transition:none}}.login-video-background[data-v-678a839f]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:#193d30}.login-video-scene[data-v-678a839f]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1.2s ease}.login-video-scene.active[data-v-678a839f]{opacity:1}.login-video-scene img[data-v-678a839f],.login-video-scene video[data-v-678a839f]{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.login-video-white-mask[data-v-678a839f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff3}.login-video-shade[data-v-678a839f]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#051c16ad,#07241a4d 57%,#0b201930),linear-gradient(0deg,rgba(4,24,18,.5),transparent 60%)}@media(max-width:640px){.login-video-shade[data-v-678a839f]{background:#051e177a}}@media(prefers-reduced-motion:reduce){.login-video-scene[data-v-678a839f]{transition:none}}.login-factor-background[data-v-d2f43603]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.login-factor-map[data-v-d2f43603]{position:absolute;top:100%;left:100%;width:min(178vw,2280px);height:auto;aspect-ratio:920 / 680;transform:translate(-48.913%,-50.294%)}.enrichment-grid circle[data-v-d2f43603]{fill:none;stroke:#d8efe14d;stroke-width:1}.enrichment-grid circle[data-v-d2f43603]:nth-child(-n+5){stroke-dasharray:2 3}.login-enrichment-rotor[data-v-d2f43603]{transform-origin:450px 342px;animation:enrichment-rotate-d2f43603 156s linear infinite}.enrichment-spokes line[data-v-d2f43603]{stroke:#d8efe14d;stroke-width:.8}.enrichment-surfaces[data-v-d2f43603]{isolation:isolate}.enrichment-block-sheen[data-v-d2f43603]{fill:url(#login-block-sheen)}.enrichment-block-grain[data-v-d2f43603]{fill:url(#login-block-texture);opacity:.42;mix-blend-mode:soft-light}.enrichment-bars path[data-v-d2f43603]{stroke:#ffffffb8;stroke-width:.8}.enrichment-hit-ring path[data-v-d2f43603],.enrichment-count-ring path[data-v-d2f43603],.enrichment-outer-ring path[data-v-d2f43603]{stroke:#ffffffeb;stroke-width:1}.enrichment-hit-ring text[data-v-d2f43603],.enrichment-count-ring text[data-v-d2f43603],.enrichment-outer-ring text[data-v-d2f43603]{font-family:IBM Plex Mono,monospace;text-anchor:middle}.enrichment-hit-ring text[data-v-d2f43603]{fill:#315f4c;font-size:6.2px;font-weight:650}.enrichment-count-ring text[data-v-d2f43603]{fill:#fffffff0;font-size:5.6px;font-weight:700}.enrichment-outer-ring text[data-v-d2f43603]{fill:#fff;font-size:4.8px;font-weight:700;letter-spacing:-.02em}.enrichment-core[data-v-d2f43603]{fill:#eef8f21f;stroke:#ffffffb3;stroke-width:3}@keyframes enrichment-rotate-d2f43603{to{transform:rotate(360deg)}}@media(max-width:900px){.login-factor-map[data-v-d2f43603]{width:1900px}}@media(prefers-reduced-motion:reduce){.login-enrichment-rotor[data-v-d2f43603]{animation:none}}.login-page[data-v-a4fb505f]{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;background:#193d30;color:#173126}.login-intro[data-v-a4fb505f]{position:absolute;inset:0 auto 0 0;z-index:3;display:flex;width:min(58vw,790px);flex-direction:column;padding:42px 0 42px clamp(42px,5.5vw,86px);pointer-events:none}.login-brand[data-v-a4fb505f]{display:flex;width:220px;height:64px;align-items:center}.login-logo-filters[data-v-a4fb505f]{position:absolute;pointer-events:none}.login-brand img[data-v-a4fb505f]{display:block;width:100%;height:100%;object-fit:contain;filter:url(#login-logo-on-dark)}.login-copy[data-v-a4fb505f]{margin-top:auto;margin-bottom:78px}.login-kicker[data-v-a4fb505f]{display:inline-flex;align-items:center;gap:8px;color:#27805e;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:650;letter-spacing:.13em}.login-copy h1[data-v-a4fb505f]{margin:17px 0 12px;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.1);font-size:clamp(34px,4.2vw,58px);font-weight:690;line-height:1.16;letter-spacing:-.045em}.login-copy p[data-v-a4fb505f]{margin:0;color:#667d72;font-size:18px}.login-status[data-v-a4fb505f]{display:flex;align-items:center;gap:8px;color:#ffffffc7;font-size:14px}.login-status span[data-v-a4fb505f]{width:7px;height:7px;border-radius:50%;background:#25a66f;box-shadow:0 0 0 5px #25a66f1a}.login-card-wrap[data-v-a4fb505f]{position:relative;z-index:5;display:flex;min-height:100vh;align-items:center;justify-content:flex-end;padding:42px clamp(36px,7vw,112px) 42px 55%}.login-card[data-v-a4fb505f]{position:relative;width:min(100%,420px);border:1px solid rgba(201,220,210,.9);border-radius:22px;background:#fffffff2;padding:38px;box-shadow:0 30px 80px #1f4c3924;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.login-card-head>span[data-v-a4fb505f]{color:#438368;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:650;letter-spacing:.12em}.login-card-head h2[data-v-a4fb505f]{margin:10px 0 6px;color:#183327;font-size:25px}.login-card-head p[data-v-a4fb505f]{margin:0 0 27px;color:#7b8d84;font-size:14px}.login-field[data-v-a4fb505f]{display:block;margin-top:16px}.login-field>span[data-v-a4fb505f]{display:block;margin-bottom:7px;color:#52685e;font-size:14px;font-weight:600}.login-field>div[data-v-a4fb505f]{display:flex;height:46px;align-items:center;gap:10px;border:1px solid #dbe8e1;border-radius:10px;background:#fafcfbe6;padding:0 13px;color:#879a91;transition:border-color .16s,box-shadow .16s}.login-field>div[data-v-a4fb505f]:focus-within{border-color:#4d9b72;box-shadow:0 0 0 3px #167a5514}.login-field input[data-v-a4fb505f]{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#263c31;font-size:14px}.login-field input[data-v-a4fb505f]::placeholder{color:#a2afa9}.login-field button[data-v-a4fb505f]{display:grid;place-items:center;background:transparent;color:#85988f}.login-options[data-v-a4fb505f]{display:flex;align-items:center;justify-content:space-between;margin:16px 0 20px}.login-options label[data-v-a4fb505f]{display:flex;align-items:center;gap:7px;color:#70837a;font-size:14px;cursor:pointer}.login-options label input[data-v-a4fb505f]{position:absolute;opacity:0}.login-options label span[data-v-a4fb505f]{display:grid;width:15px;height:15px;place-items:center;border:1px solid #bfd2c8;border-radius:4px;background:#fff}.login-options label input:checked+span[data-v-a4fb505f]{border-color:#167a55;background:#167a55;box-shadow:inset 0 0 0 3px #fff}.login-options>button[data-v-a4fb505f]{background:transparent;color:#2d805f;font-size:14px}.login-error[data-v-a4fb505f]{margin:-7px 0 12px;color:#c6535b;font-size:14px}.login-submit[data-v-a4fb505f]{display:flex;width:100%;height:48px;align-items:center;justify-content:center;gap:9px;border-radius:11px;background:linear-gradient(135deg,#167a55,#2d9068);color:#fff;font-size:14px;font-weight:650;box-shadow:0 11px 24px #167a5533;transition:transform .16s,box-shadow .16s}.login-submit[data-v-a4fb505f]:hover{transform:translateY(-1px);box-shadow:0 14px 28px #167a5542}.login-submit[data-v-a4fb505f]:disabled{cursor:wait;opacity:.8}.login-spinner[data-v-a4fb505f]{width:17px;height:17px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:spinner-a4fb505f .7s linear infinite}.login-security[data-v-a4fb505f]{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;color:#82938b;font-size:14px}.login-version[data-v-a4fb505f]{position:absolute;right:clamp(36px,7vw,112px);bottom:22px;margin:0;color:#ffffffa6;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.09em}@keyframes spinner-a4fb505f{to{transform:rotate(360deg)}}@media(max-width:900px){.login-intro[data-v-a4fb505f]{width:100%;padding:28px}.login-copy[data-v-a4fb505f]{display:none}.login-status[data-v-a4fb505f]{margin-top:auto}.login-card-wrap[data-v-a4fb505f]{justify-content:center;padding:90px 24px 72px}.login-card[data-v-a4fb505f]{padding:30px}.login-version[data-v-a4fb505f]{right:0;bottom:18px;left:0;text-align:center}}@media(max-width:640px){.login-page[data-v-a4fb505f]{overflow-x:hidden;overflow-y:auto}.login-intro[data-v-a4fb505f]{inset:0 auto auto 0;display:flex;padding:22px}.login-brand[data-v-a4fb505f]{width:170px;height:42px}.login-status[data-v-a4fb505f]{display:none}.login-card-wrap[data-v-a4fb505f]{flex-direction:column;align-items:stretch;justify-content:center;min-height:100svh;padding:calc(100px + env(safe-area-inset-top,0px)) 16px calc(80px + env(safe-area-inset-bottom,0px))}.login-card[data-v-a4fb505f]{width:100%;padding:26px 18px 20px;border-radius:18px}.login-card-head h2[data-v-a4fb505f]{font-size:22px}.login-field input[data-v-a4fb505f]{font-size:16px}.login-version[data-v-a4fb505f]{position:static;margin:14px 0 0}}@media(prefers-reduced-motion:reduce){.login-page[data-v-a4fb505f] *{animation-duration:.01ms!important;animation-iteration-count:1!important}}.validation-sidebar[data-v-9bbbd0ec]{display:flex;min-height:0;flex:1;flex-direction:column;overflow-y:auto;color:#365342;scrollbar-width:thin;scrollbar-color:#d7e5db transparent}.vs-back[data-v-9bbbd0ec]{display:flex;align-items:center;gap:8px;flex:none;margin:16px 18px 0;border:1px solid #dbe7df;border-radius:8px;padding:11px 14px;background:#f7faf8;color:#587462;font-size:14px;cursor:pointer}.vs-back[data-v-9bbbd0ec]:hover{background:#eaf4ed;color:#28734a}.vs-profile[data-v-9bbbd0ec]{padding:24px 24px 22px;border-bottom:1px solid #e6eee9}.vs-profile-heading[data-v-9bbbd0ec]{display:flex;align-items:center;gap:9px}.vs-profile-heading>img[data-v-9bbbd0ec]{display:block;width:44px;height:44px;flex:none;border-radius:9px;object-fit:cover;background:#edf6f0}.vs-profile-heading small[data-v-9bbbd0ec]{color:#92a298;font-size:14px}.vs-profile h2[data-v-9bbbd0ec]{margin:13px 0 9px;font-size:16px;line-height:1.65;font-weight:650}.vs-address[data-v-9bbbd0ec]{display:flex;align-items:flex-start;gap:6px;margin:0;color:#91a096;font-size:12px;line-height:1.8}.vs-address span[data-v-9bbbd0ec]{min-width:0;overflow-wrap:anywhere}.vs-address svg[data-v-9bbbd0ec]{flex:none;margin-top:2px}.vs-identity-note[data-v-9bbbd0ec]{color:#a58c5a;font-size:12px;line-height:1.6}.vs-tags[data-v-9bbbd0ec]{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0 16px}.vs-tags>span[data-v-9bbbd0ec]{border-radius:4px;padding:4px 6px;background:#f0f5f1;color:#6d8a77;font-size:12px}.vs-profile dl[data-v-9bbbd0ec]{display:grid;gap:13px;margin:0}.vs-profile dl>div[data-v-9bbbd0ec]{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:baseline}.vs-profile dt[data-v-9bbbd0ec]{color:#9aa99f;font-size:12px;white-space:nowrap}.vs-profile dd[data-v-9bbbd0ec]{margin:0;color:#5c7565;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.vs-summary[data-v-9bbbd0ec]{padding:22px 24px}.vs-summary-heading[data-v-9bbbd0ec]{display:flex;align-items:center;justify-content:space-between}.vs-summary h3[data-v-9bbbd0ec]{display:flex;align-items:center;gap:6px;margin:0;color:#52715e;font-size:14px;font-weight:600}.vs-summary-heading>span[data-v-9bbbd0ec]{display:flex;align-items:center;gap:3px;color:#9bab9f;font-size:12px}.vs-summary-cost[data-v-9bbbd0ec]{display:grid;gap:10px;margin:17px 0;border:1px solid #dceadf;border-radius:9px;padding:13px;background:linear-gradient(125deg,#edf6ef,#f7fbf8)}.vs-summary-cost>span[data-v-9bbbd0ec]{color:#8caa94;font-size:12px}.vs-summary-cost strong[data-v-9bbbd0ec]{color:#427951;font-size:22px;font-weight:600;letter-spacing:-.04em}.vs-summary-cost small[data-v-9bbbd0ec]{margin-left:5px;color:#8ba494;font-size:12px;font-weight:400;letter-spacing:0}.vs-summary-facts[data-v-9bbbd0ec]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 16px;margin:0}.vs-summary-facts dt[data-v-9bbbd0ec]{display:flex;align-items:center;gap:3px;margin-bottom:7px;color:#9dad9f;font-size:12px}.vs-summary-facts dd[data-v-9bbbd0ec]{margin:0;color:#587c62;font-size:14px;font-weight:600}.vs-summary-facts small[data-v-9bbbd0ec]{display:block;margin-top:4px;color:#a2b2a6;font-size:12px;font-weight:400}.vs-summary>p[data-v-9bbbd0ec]{margin:20px 0 0;color:#acb9af;font-size:12px;line-height:1.7}.vs-footer[data-v-9bbbd0ec]{display:flex;align-items:center;gap:7px;margin-top:auto;border-top:1px solid #e7eee8;padding:18px 24px;color:#9eafa3;font-size:12px}.vs-footer>span[data-v-9bbbd0ec]{width:5px;height:5px;border-radius:50%;background:#83ac8d}:root{font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;color:#17261f;background:#f3f7f5;font-synthesis:none;text-rendering:optimizeLegibility;--primary: #167a55;--chart-blue: #4f6fa8;--chart-blue-soft: #eaf0f8;--chart-amber: #c38a35;--chart-amber-soft: #faf2e5;font-size:14px;line-height:1.5;--primary-soft: #eaf6f0;--indigo: #277e62;--teal: #0b8f73;--violet: #4d9b72;--text: #17261f;--muted: #66786f;--border: #dfe9e3;--canvas: #f3f7f5;--panel: #ffffff}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(90,112,102,.45) transparent}*::-webkit-scrollbar{width:8px;height:8px;background:transparent;border:none}*::-webkit-scrollbar-track,*::-webkit-scrollbar-track-piece,*::-webkit-scrollbar-corner{background:transparent;border:none;box-shadow:none}*::-webkit-scrollbar-thumb{border:none;border-radius:999px;background:#5a706666;box-shadow:none}*::-webkit-scrollbar-thumb:hover{background:#5a70669e}html{min-width:320px;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 68% -10%,rgba(54,143,101,.1),transparent 29rem),var(--canvas)}html.rank-lock,html.rank-lock body{overflow:hidden}html.rank-lock body{padding-right:var(--scrollbar-gap, 0px)}button,input,select{font:inherit}button{border:0}button,select{cursor:pointer}.app-shell{--sidebar-width: 228px;min-height:100vh}.app-shell.customer-detail{--sidebar-width: 320px}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;width:var(--sidebar-width);flex-direction:column;border-right:1px solid var(--border);background:#fffffff5;box-shadow:8px 0 28px #283e6b09;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;min-height:72px;align-items:center;border-bottom:1px solid #edf0f5;padding:0 20px}.brand-logo{display:block;width:176px;height:62px;object-fit:contain}.today-rank{display:inline-flex;align-items:center;gap:8px;height:38px;border:1px solid transparent;border-radius:9px;background:#fff6ee;padding:0 12px;color:#e06a00;font-size:14px;font-weight:650;line-height:1;white-space:nowrap;cursor:pointer}.today-rank span,.today-rank time{display:block;font-size:14px;line-height:1}.today-rank time{color:#e06a00;font-weight:500}.today-rank:hover{background:#fff1e4}.today-rank:hover span,.today-rank:hover time{color:#c45300}.detail-drawer.today-rank-drawer{width:min(560px,94vw);overscroll-behavior:contain}.today-rank-drawer .drawer-head h2{font-size:22px}.today-rank-drawer .drawer-head p{font-size:14px}.today-rank-drawer .drawer-description{font-size:16px;line-height:1.7}.rank-board{padding:0 21px 22px}.rank-chart-label,.rank-note{margin:0;color:#8a96a9;font-size:16px}.rank-bars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin-top:12px}.rank-col{display:flex;min-width:0;flex-direction:column;align-items:center;gap:8px}.rank-col strong{color:#167a55;font-size:16px;font-variant-numeric:tabular-nums}.rank-col-track{display:flex;width:100%;height:128px;align-items:flex-end;border-radius:8px;background:#f6f8fb;padding:8px 10px 0}.rank-col-track i{display:block;width:100%;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#5dbe90,#167a55);transform-origin:center bottom;animation:bar-grow-y .75s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 80ms)}.rank-col:nth-child(1) .rank-col-track i{background:linear-gradient(180deg,#3aaa78,#0d6b48)}.rank-col span{color:#40506a;font-size:16px;font-weight:600}.rank-details{display:grid;gap:14px;margin:18px 0 0;padding:0;list-style:none}.rank-details li{border:1px solid #edf0f5;border-radius:12px;padding:12px 14px}.rank-detail-name{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#30405a;font-size:16px;font-weight:650}.rank-detail-name b{display:grid;width:24px;height:24px;place-items:center;border-radius:6px;background:#eaf6f0;color:#167a55;font-size:16px}.rank-metric{display:grid;grid-template-columns:76px minmax(0,1fr) 68px;align-items:center;gap:8px;margin-top:7px}.rank-metric span,.rank-metric em{color:#66748a;font-size:16px;font-style:normal;font-variant-numeric:tabular-nums}.rank-metric em{color:#30405a;font-weight:650;text-align:right}.rank-metric i{display:block;height:7px;overflow:hidden;border-radius:999px;background:#f3f5f8}.rank-metric i b{display:block;height:100%;border-radius:inherit;background:#167a55;transform-origin:left center;animation:bar-grow-x .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i) * 70ms)}.rank-metric.drawdown i b{background:#8fbfa6}.rank-metric.win i b{background:#0e8a62}.rank-note{margin-top:14px}.sidebar-close{display:none;margin-left:auto;padding:6px;color:var(--muted);background:transparent}.nav-list{display:flex;flex:1;flex-direction:column;gap:5px;padding:22px 14px}.nav-item{position:relative;display:flex;width:100%;min-height:44px;align-items:center;gap:13px;border:0;padding:0 14px;border-radius:10px;background:transparent;color:#5d6a80;font-size:16px;font-weight:500;text-align:left;transition:.18s ease}.nav-item:hover{color:var(--primary);background:#f5f7fc}.nav-item.active{color:var(--primary);background:var(--primary-soft);font-weight:600}.nav-item.active:before{position:absolute;top:10px;bottom:10px;left:-14px;width:3px;border-radius:0 6px 6px 0;background:var(--primary);content:""}.sidebar-foot{border-top:1px solid #edf0f5;padding:16px 18px 20px}.market-pulse{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid #deece4;border-radius:11px;background:#f8fafc}.pulse-dot{width:9px;height:9px;border:2px solid #baf0e2;border-radius:50%;background:#19ad8c;box-shadow:0 0 0 3px #19ad8c17}.market-pulse strong,.market-pulse small{display:block}.market-pulse strong{color:#33415d;font-size:14px}.market-pulse small{margin-top:2px;color:#8590a3;font-size:14px}.workspace-info{margin-top:16px;padding:0 4px}.workspace-info span,.workspace-info small{display:block}.workspace-info span{color:#59667d;font-size:14px;font-weight:600}.workspace-info small{margin-top:3px;color:#65756e;font-family:IBM Plex Mono,monospace;font-size:14px}.workspace{min-height:100vh;margin-left:var(--sidebar-width)}.topbar{position:sticky;top:0;z-index:20;display:flex;height:72px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#ffffffeb;padding:0 28px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-left,.topbar-right,.market-selector,.environment,.updated,.user{display:flex;align-items:center}.topbar-left{gap:10px}.market-selector,.environment{min-height:38px;gap:8px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:0 12px;color:#40506a;font-size:14px;font-weight:500}.environment{border-color:transparent;background:#f6f8fb}.environment span,.updated span{width:7px;height:7px;border-radius:50%;background:#18aa89;box-shadow:0 0 0 3px #18aa891c}.topbar-right{gap:12px}.global-search{display:flex;width:clamp(210px,18vw,310px);height:38px;align-items:center;gap:9px;border:1px solid var(--border);border-radius:9px;background:#f8fafc;padding:0 12px;color:#8995a8}.global-search:focus-within{border-color:#a5cdb8;background:#fff;box-shadow:0 0 0 3px #167a5512}.global-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.global-search input::placeholder{color:#9ca7b8}.updated{gap:8px;color:#61708a;font-size:14px;white-space:nowrap}.icon-button,.menu-button{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--border);border-radius:9px;background:#fff;color:#647189}.menu-button{display:none}.has-badge{position:relative}.has-badge b{position:absolute;top:0;right:0;display:flex;width:18px;height:18px;align-items:center;justify-content:center;border:2px solid #fff;border-radius:50%;background:#ef5964;color:#fff;font-family:Arial,sans-serif;font-size:11px;line-height:1}.user{gap:8px;border-left:1px solid #e7ebf2;background:transparent;padding-left:12px;text-align:left}.avatar{display:block;width:36px;height:36px;flex:none;border-radius:50%;object-fit:cover;background:#e2eadf}.user-copy strong,.user-copy span{display:block}.user-menu-wrap{position:relative}.user-chevron{color:#839289;transition:transform .16s ease}.user-chevron.open{transform:rotate(180deg)}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:80;width:176px;overflow:hidden;border:1px solid #dfe9e3;border-radius:11px;background:#fffffffa;box-shadow:0 14px 36px #25483824;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.user-dropdown-meta{border-bottom:1px solid #edf2ef;padding:12px 14px}.user-dropdown-meta strong,.user-dropdown-meta span{display:block}.user-dropdown-meta strong{color:#2e493c;font-size:14px}.user-dropdown-meta span{margin-top:3px;color:#89988f;font-size:12px}.user-dropdown-logout{display:flex;width:100%;align-items:center;gap:9px;background:transparent;padding:11px 14px;color:#66786f;font-size:14px;text-align:left}.user-dropdown-logout:hover{background:#eef7f2;color:#167a55}.user-menu-enter-active,.user-menu-leave-active{transition:opacity .14s ease,transform .14s ease}.user-menu-enter-from,.user-menu-leave-to{opacity:0;transform:translateY(-5px)}.user-copy strong{color:#34425d;font-size:14px}.user-copy span{margin-top:2px;color:#8995a7;font-size:14px}.content{width:100%;max-width:1800px;margin:0 auto;padding:26px 28px 36px}.page-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.eyebrow{margin:0 0 7px;color:#79aa90;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600;letter-spacing:.13em}.page-heading h1{margin:0;color:#14213b;font-size:27px;line-height:1.2;letter-spacing:-.02em}.heading-note{margin:7px 0 0;color:#77849b;font-size:14px}.heading-actions{display:flex;gap:9px}.select-wrap,.refresh-button{display:flex;height:38px;align-items:center;gap:8px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:0 11px;color:#56647b}.select-wrap select{min-width:106px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;background:transparent;color:#35435c;font-size:14px;font-weight:500}.refresh-button{font-size:14px}.refresh-button span{width:7px;height:7px;border-radius:50%;background:#18aa89}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.kpi-card{position:relative;display:flex;min-height:124px;align-items:center;gap:14px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#fffffff0;padding:18px;box-shadow:0 6px 22px #2639600b}.kpi-icon{display:grid;width:45px;height:45px;flex:0 0 45px;place-items:center;border-radius:13px}.kpi-icon.blue{color:#167a55;background:#eaf6f0}.kpi-icon.indigo{color:#277e62;background:#edf7f2}.kpi-icon.violet{color:#4c936e;background:#eef8f2}.kpi-icon.teal{color:#0a8f7d;background:#e9f8f5}.kpi-copy{min-width:90px}.kpi-copy span,.kpi-copy strong,.kpi-copy small{display:block}.kpi-copy span{color:#647189;font-size:14px}.kpi-copy strong{margin-top:3px;color:#17243f;font-family:IBM Plex Mono,Noto Sans SC,monospace;font-size:29px;line-height:1.1}.kpi-copy small{margin-top:6px;color:#15947e;font-size:14px}.mini-bars{position:absolute;right:18px;bottom:20px;display:flex;width:74px;height:44px;align-items:flex-end;gap:4px}.mini-bars i{width:7px;min-height:6px;border-radius:3px 3px 1px 1px;background:linear-gradient(#4b9a74,#d8eae0)}.analysis-grid,.detail-grid{display:grid;gap:14px;margin-bottom:14px}.analysis-grid{grid-template-columns:minmax(520px,1.8fr) minmax(350px,1.08fr) minmax(280px,.82fr)}.detail-grid{grid-template-columns:minmax(420px,1.16fr) minmax(420px,1.04fr) minmax(300px,.8fr)}.panel{min-width:0;border:1px solid var(--border);border-radius:14px;background:#fffffff5;box-shadow:0 7px 24px #2639600a}.panel-head{display:flex;min-height:69px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf0f5;padding:14px 17px}.panel-head h2{margin:0;color:#22304b;font-size:18px;font-weight:650}.panel-head p{margin:4px 0 0;color:#65756e;font-size:14px}.text-button{padding:5px;background:transparent;color:#287d5e;font-size:14px;font-weight:500}.range-switch{display:flex;border:1px solid #e2e7ef;border-radius:8px;background:#f7f9fc;padding:3px}.range-switch button{border-radius:6px;background:transparent;padding:5px 8px;color:#7a879b;font-size:14px}.range-switch button.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px #23345b17;font-weight:600}.chart-legend,.factor-legend{display:flex;align-items:center;gap:18px;padding:12px 18px 0;color:#7b879a;font-size:14px}.chart-legend span,.factor-legend span{display:flex;align-items:center;gap:6px}.legend-line{display:block;width:16px;height:2px;border-radius:3px}.legend-line.portfolio{background:#167a55}.legend-line.benchmark{background:#20a491}.legend-box{width:10px;height:7px;border-radius:2px;background:#4d9b726b}.performance-chart{height:250px;padding:0 12px}.performance-chart svg{width:100%;height:100%}.chart-grid line{stroke:#e9edf4;stroke-width:1}.y-labels text,.x-labels text{fill:#65756e;font-family:IBM Plex Mono,monospace;font-size:12px}.line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.portfolio-line{stroke:#167a55}.benchmark-line{stroke:#21a590;stroke-dasharray:5 4}.portfolio-point{fill:#fff;stroke:#167a55;stroke-width:1.8;opacity:.72}.portfolio-point:hover{r:5;opacity:1}.drawdown-bars rect{fill:#4d9b7259}.performance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0 17px 17px;overflow:hidden;border:1px solid #e8edf4;border-radius:10px;background:#e8edf4}.performance-stats div{background:#fbfcfe;padding:11px 13px}.performance-stats span,.performance-stats strong,.performance-stats small{display:block}.performance-stats span{color:#8390a4;font-size:14px}.performance-stats strong{margin-top:3px;color:#24324c;font-family:IBM Plex Mono,monospace;font-size:17px}.performance-stats small{margin-top:3px;color:#65756e;font-size:12px}.factor-legend{justify-content:flex-end}.factor-legend i{width:8px;height:8px;border-radius:2px}.factor-legend .ic,.factor-bars .ic{background:#248d65}.factor-legend .rank,.factor-bars .rank{background:#579c76}.factor-legend .stable,.factor-bars .stable{background:#29b6a0}.factor-panel{display:flex;flex-direction:column;height:0;min-height:100%;overflow:hidden}.factor-panel .panel-head,.factor-panel .factor-legend{flex:none}.factor-list{flex:1 1 auto;min-height:0;overflow:auto;padding:8px 16px 15px}.factor-row{display:grid;grid-template-columns:minmax(108px,148px) minmax(80px,1fr) 108px;align-items:center;gap:10px;min-height:47px;border-bottom:1px solid #f0f2f6}.factor-row:last-child{border:0}.factor-name strong,.factor-name small{display:block}.factor-name strong{color:#3d4a62;font-size:14px;line-height:1.3}.factor-name small{margin-top:2px;overflow:hidden;color:#65756e;font-family:IBM Plex Mono,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.factor-bars{display:grid;gap:3px}.factor-bars span{display:block;min-width:3px;height:4px;border-radius:4px}.factor-values{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;color:#5f6e86;font-family:IBM Plex Mono,monospace;font-size:12px;text-align:right}.dots-button{display:flex;gap:3px;background:transparent;padding:8px 2px}.dots-button span{width:3px;height:3px;border-radius:50%;background:#8c97a8}.experiment-list{display:grid;gap:9px;padding:13px}.experiment-item{border:1px solid #e8edf4;border-radius:10px;background:#fbfcfe;padding:11px}.experiment-line,.experiment-progress{display:flex;align-items:center;justify-content:space-between;gap:8px}.experiment-line strong{overflow:hidden;color:#36445e;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.status{flex:0 0 auto;border-radius:20px;padding:3px 7px;font-size:12px;font-weight:600}.status.blue{color:#167a55;background:#e6f4ec}.status.green{color:#0b8b78;background:#e7f7f3}.status.violet{color:#4b8968;background:#eaf6ef}.experiment-progress{margin-top:8px}.experiment-progress .progress-track{flex:1;margin:0}.experiment-progress>span{flex:0 0 auto;color:#7d899c;font-size:12px;font-variant-numeric:tabular-nums}.progress-track{height:5px;overflow:hidden;border-radius:9px;background:#e8edf4}.progress-track span{display:block;height:100%;border-radius:inherit}.progress-track span.blue{background:#238c64}.progress-track span.green{background:#27aa92}.progress-track span.violet{background:#62a782}.experiment-item>small{display:block;margin-top:3px;color:#a0a9b8;font-size:12px}.correlation-panel,.strategy-panel,.assets-panel{min-height:330px}.version-chip,.healthy{border-radius:20px;background:#f0f3f8;padding:5px 8px;color:#69768b;font-family:IBM Plex Mono,monospace;font-size:12px}.heatmap-metrics{display:grid;grid-template-columns:92px repeat(3,1fr);gap:7px;padding:14px 16px 0;color:#8b97a8;font-size:12px;text-align:center}.heatmap-wrap{display:grid;grid-template-columns:92px minmax(250px,1fr);gap:7px;padding:8px 16px}.heatmap-labels{display:grid;align-items:center;color:#718096;font-size:12px;text-align:right}.heatmap{display:grid;gap:3px}.heat-cell{display:grid;min-height:31px;place-items:center;border-radius:4px;font-family:IBM Plex Mono,monospace;font-size:12px}.heat-scale{display:flex;align-items:center;justify-content:flex-end;gap:5px;padding:0 16px 13px;color:#939eae;font-family:IBM Plex Mono,monospace;font-size:12px}.heat-scale i,.heat-scale b{display:block;width:42px;height:5px;border-radius:6px}.heat-scale i{background:linear-gradient(90deg,#478764,#e3f1e9)}.heat-scale b{background:linear-gradient(90deg,#eaf5ef,#167a55)}.table-wrap{overflow-x:auto;padding:7px 14px 0}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid #edf0f5;padding:11px 9px;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}th{color:#8c97a8;font-size:12px;font-weight:500}td{color:#4c5a70;font-family:IBM Plex Mono,Noto Sans SC,monospace}td:first-child{font-family:Noto Sans SC,sans-serif;font-weight:500}tr.best td{background:#eef8f2}tr.best td:first-child{border-radius:7px 0 0 7px}tr.best td:last-child{border-radius:0 7px 7px 0}.positive{color:#0b907c;font-weight:600}.best-mark{display:inline-grid;width:22px;height:22px;margin-right:5px;place-items:center;border-radius:6px;background:#dcefe5;color:#167a55;vertical-align:middle}.table-foot{display:flex;flex-wrap:wrap;gap:8px 16px;padding:14px 16px;color:#929dad;font-size:12px}.healthy{display:flex;align-items:center;gap:6px;color:#0a8d79;background:#eaf8f5;font-family:Noto Sans SC,sans-serif}.healthy i{width:6px;height:6px;border-radius:50%;background:#18aa89}.asset-list{padding:8px 14px}.asset-row{display:grid;grid-template-columns:34px minmax(100px,1fr) 60px;align-items:center;gap:10px;min-height:50px;border-bottom:1px solid #edf0f5}.asset-row:last-child{border:0}.asset-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:#eaf6f0;color:#167a55}.asset-copy>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.asset-copy strong{color:#46536a;font-size:14px}.asset-copy div>span{color:#9aa4b3;font-family:IBM Plex Mono,monospace;font-size:12px}.asset-progress{height:3px;margin-top:6px;border-radius:6px;background:#e7ecf3}.asset-progress span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#278b65,#27aa92)}.asset-status{text-align:right}.asset-status strong,.asset-status small{display:block}.asset-status strong{color:#0a8e7a;font-family:IBM Plex Mono,monospace;font-size:14px}.asset-status small{margin-top:3px;color:#9ba5b4;font-size:12px}.asset-footer{display:flex;align-items:center;gap:7px;border-top:1px solid #edf0f5;padding:11px 16px;color:#6f7d92;font-size:12px}.asset-footer svg{color:#0d9a84}.asset-footer span{margin-left:auto;color:#9ba5b4;font-family:IBM Plex Mono,monospace}.sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#101d3447;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(max-width:1480px){.analysis-grid{grid-template-columns:minmax(500px,1.65fr) minmax(340px,1fr)}.experiments-panel{grid-column:1 / -1}.experiment-list{grid-template-columns:repeat(4,1fr)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assets-panel{grid-column:1 / -1}.asset-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}}@media(max-width:1120px){.app-shell{--sidebar-width: 214px}.sidebar{width:min(var(--sidebar-width),86vw);transform:translate(-100%);transition:transform .22s ease}.sidebar.open{transform:translate(0)}.sidebar-close,.menu-button{display:grid}.workspace{margin-left:0}.analysis-grid,.detail-grid{grid-template-columns:1fr}.experiments-panel,.assets-panel{grid-column:auto}.experiment-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.topbar{padding:0 16px}.environment,.updated,.user-copy,.topbar-right>.global-search{display:none}.content{padding:20px 16px 30px}.page-heading{align-items:flex-start;flex-direction:column}.kpi-grid,.performance-stats{grid-template-columns:repeat(2,1fr)}.detail-grid{display:block}.detail-grid .panel{margin-bottom:14px}}@media(max-width:560px){.market-selector{padding:0 9px}.kpi-grid{grid-template-columns:1fr}.kpi-card{min-height:108px}.analysis-grid{display:block}.analysis-grid .panel{margin-bottom:14px}.panel-head{align-items:flex-start}.range-switch{display:grid;grid-template-columns:repeat(2,1fr)}.performance-chart{height:220px;overflow-x:auto}.performance-chart svg{width:650px}.factor-row{grid-template-columns:92px minmax(90px,1fr)}.factor-values{display:none}.experiment-list,.asset-list{display:block}.experiment-item{margin-bottom:9px}.heatmap-wrap{grid-template-columns:64px minmax(250px,1fr);overflow-x:auto}.table-wrap{padding-bottom:4px}.heading-actions{width:100%}.heading-actions .app-select{flex:1}}.module-content{color:#1d2940}.module-heading,.module-title-wrap,.filter-cluster,.strategy-topline,.control-title,.report-toolbar,.portfolio-toolbar,.review-toolbar{display:flex;align-items:center}.module-heading{justify-content:space-between;gap:24px;margin-bottom:16px}.module-title-wrap{gap:13px}.module-title-icon{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border:1px solid #d9ece2;border-radius:13px;background:linear-gradient(145deg,#fff,#e9f6ef);color:var(--primary);box-shadow:0 8px 22px #167a5514}.module-heading h1{margin:0;color:#14213b;font-size:27px;line-height:1.2;letter-spacing:-.02em}.primary-action,.secondary-action,.danger-action,.wide-action{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;border-radius:9px;padding:0 14px;font-size:14px;font-weight:600;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.primary-action{background:linear-gradient(135deg,#167a55,#238b63);color:#fff;box-shadow:0 7px 16px #167a552b}.primary-action:hover,.wide-action:hover{box-shadow:0 9px 22px #167a553d;transform:translateY(-1px)}.primary-action.small,.secondary-action,.danger-action{min-height:34px;padding:0 12px}.primary-action:disabled,.wide-action:disabled{cursor:wait;opacity:.72;transform:none}.secondary-action{border:1px solid #dce3ef;background:#fff;color:#536179}.secondary-action:hover{border-color:#c4d7ce;background:#f4faf7;color:var(--primary)}.danger-action{border:1px solid #f2d0d0;background:#fff7f7;color:#c74f4f}.flow-rail{display:grid;grid-template-columns:repeat(9,minmax(74px,1fr));overflow:hidden;margin-bottom:18px;border:1px solid #e1e7f0;border-radius:11px;background:#ffffffdb}.flow-rail button{position:relative;display:flex;height:42px;align-items:center;justify-content:center;gap:6px;border-right:1px solid #edf0f5;background:transparent;color:#8290a5;font-size:14px;white-space:nowrap}.flow-rail button:last-child{border-right:0}.flow-rail button>span{display:grid;width:19px;height:19px;place-items:center;border:1px solid #dbe2ee;border-radius:50%;color:#8190a6;font-family:IBM Plex Mono,monospace;font-size:12px}.flow-rail button:hover{background:#f4faf7;color:#52627a}.flow-rail button.passed{color:#557167}.flow-rail button.passed>span{border-color:#bfe3d9;background:#eaf8f4;color:#0b9c87}.flow-rail button.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.flow-rail button.active:after{position:absolute;right:15px;bottom:0;left:15px;height:2px;border-radius:3px 3px 0 0;background:var(--primary);content:""}.flow-rail button.active>span{border-color:var(--primary);background:var(--primary);color:#fff}.module-kpi-grid{display:grid;gap:12px;margin-bottom:14px}.module-kpi-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.module-kpi-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.module-kpi-grid.six{grid-template-columns:repeat(6,minmax(0,1fr))}.module-kpi,.metric-card{min-width:0;border:1px solid var(--border);border-radius:12px;background:#fffffff5;box-shadow:0 7px 20px #2b3c5b09}.module-kpi{display:flex;min-height:94px;align-items:center;gap:12px;padding:15px}.module-kpi span,.module-kpi strong,.module-kpi small,.metric-card span,.metric-card strong,.metric-card small{display:block}.module-kpi span,.metric-card span{margin-bottom:5px;color:#77849a;font-size:14px}.module-kpi strong{color:#1c2b46;font-family:IBM Plex Mono,monospace;font-size:21px;letter-spacing:-.04em}.module-kpi small,.metric-card small{overflow:hidden;margin-top:5px;color:#65756e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.kpi-symbol{display:grid;width:39px;height:39px;flex:0 0 39px;place-items:center;border-radius:10px}.kpi-symbol.blue{background:#eaf6f0;color:#167a55}.kpi-symbol.teal{background:#e9f8f4;color:#0b9c87}.kpi-symbol.violet{background:#edf8f1;color:#4b8b69}.kpi-symbol.amber{background:#fff4e4;color:#c17b20}.metric-card{padding:14px 16px}.metric-card strong{color:#24334e;font-family:IBM Plex Mono,monospace;font-size:19px}.positive-text{color:#0a9681!important}.negative-text{color:#d25a5a!important}.warning-text{color:#bd7922!important}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-grid .span-2{grid-column:span 2}.module-panel{min-width:0;border:1px solid var(--border);border-radius:13px;background:#fffffff7;box-shadow:0 8px 24px #2b3c5b0a}.module-panel-head{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf0f5;padding:12px 16px}.module-panel-head h2,.module-panel-head h3{margin:0;color:#263550;font-size:16px}.module-panel-head p{margin:4px 0 0;color:#65756e;font-size:12px}.filter-cluster{flex-wrap:wrap;justify-content:flex-end;gap:7px}.compact-select{display:flex;height:34px;align-items:center;gap:6px;border:1px solid #dfe5ee;border-radius:8px;background:#fff;padding:0 9px;color:#77849a}.compact-select select{max-width:122px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;background:transparent;color:#536078;font-size:14px}.module-table-wrap{overflow-x:auto}.module-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.module-table th{height:37px;border-bottom:1px solid #edf0f5;background:#fafbfc;color:#65756e;font-size:12px;font-weight:600;letter-spacing:.03em}.module-table th:first-child,.module-table td:first-child{padding-left:16px}.module-table th:last-child,.module-table td:last-child{padding-right:16px}.module-table th,.module-table td{padding:9px 11px}.module-table td{border-bottom:1px solid #f0f2f6;color:#5d6b80;font-family:IBM Plex Mono,PingFang SC,sans-serif;font-size:14px}.module-table tbody tr{transition:background .15s ease}.module-table tbody tr:hover,.module-table tbody tr.selected{background:#f4faf7}.module-table tbody tr:last-child td{border-bottom:0}.name-cell strong,.name-cell small{display:block}.name-cell strong{color:#34425b;font-family:PingFang SC,sans-serif;font-size:14px;font-weight:600}.name-cell small{margin-top:4px;color:#65756e;font-size:12px}.quality-cell{display:flex;align-items:center;gap:7px}.quality-cell>i{width:48px;height:4px;overflow:hidden;border-radius:4px;background:#e8edf4}.quality-cell>i>b{display:block;height:100%;border-radius:inherit;background:#31a58f}.status-pill{display:inline-flex;min-height:21px;align-items:center;justify-content:center;gap:4px;border-radius:20px;padding:0 8px;font-style:normal;font-size:12px;font-weight:600}.status-pill.success{background:#e9f8f3;color:#0a917d}.status-pill.warning{background:#fff4e4;color:#b87620}.status-pill.neutral{background:#f0f2f6;color:#778398}.status-pill.running{background:#e8f5ee;color:#167a55}.status-pill.danger{background:#ffeded;color:#c84d4d}.metric-strong{color:#326b52!important;font-weight:700}.soft-tag{display:inline-flex;border:1px solid #e3e8f1;border-radius:6px;background:#f8f9fc;padding:4px 7px;color:#68768d;font-size:12px}.icon-plain,.row-action,.text-link{display:inline-flex;align-items:center;gap:5px;background:transparent;color:#758299}.icon-plain{display:grid;width:32px;height:32px;place-items:center;border-radius:8px}.icon-plain:hover,.row-action:hover,.text-link:hover{background:#f1f4fa;color:var(--primary)}.row-action,.text-link{padding:5px 7px;border-radius:6px;font-size:12px}.quality-panel{min-height:390px}.quality-score{position:relative;display:grid;width:144px;height:144px;margin:20px auto 10px;place-items:center}.quality-score>div{position:absolute;z-index:1;text-align:center}.quality-score strong,.quality-score span{display:block}.quality-score strong{color:#263751;font-family:IBM Plex Mono,monospace;font-size:26px}.quality-score span{margin-top:4px;color:#65756e;font-size:12px}.quality-score svg{width:132px;transform:rotate(-90deg)}.quality-score circle{fill:none;stroke:#edf0f4;stroke-width:9px}.quality-score .score-ring{stroke:#19a38b;stroke-dasharray:99.21 100;stroke-linecap:round}.rule-list{padding:0 17px}.rule-list>div{display:flex;height:34px;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f2f6;color:#607087;font-size:14px}.rule-list span{display:flex;align-items:center;gap:7px}.rule-list svg{color:#0b9c87}.rule-list strong{color:#3d4b63;font-family:IBM Plex Mono,monospace;font-size:12px}.wide-action{width:calc(100% - 34px);margin:16px 17px;background:#eaf6f0;color:var(--primary)}.spinning{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.check-button{display:grid;width:18px;height:18px;place-items:center;border:1px solid #d9e0ea;border-radius:5px;background:#fff;color:#fff}.check-button.checked{border-color:var(--primary);background:var(--primary)}.strategy-topline{min-height:58px;gap:10px;margin-bottom:14px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:9px 12px}.workspace-select{position:relative;display:flex;align-items:center;gap:9px}.workspace-select>span{color:#65756e;font-size:12px}.workspace-select select{min-width:210px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;background:transparent;color:#33415a;font-size:14px;font-weight:600}.draft-state{display:flex;flex:1;align-items:center;gap:6px;color:#65756e;font-size:12px}.draft-state>span{width:7px;height:7px;border-radius:50%;background:#1aaa8d}.draft-state>span.dirty{background:#d38b2a}.strategy-builder,.parameter-panel{min-height:440px}.signal-flow{display:flex;align-items:center;gap:8px;padding:27px 18px 21px}.signal-flow>svg{flex:0 0 auto;color:#bec7d6}.signal-stage{position:relative;display:flex;min-width:0;flex:1;min-height:94px;align-items:flex-start;gap:9px;border:1px solid #dfe6f1;border-radius:10px;background:#fbfcfe;padding:14px 10px}.signal-stage>span{display:grid;width:23px;height:23px;flex:0 0 23px;place-items:center;border-radius:7px;background:#eaf6f0;color:var(--primary);font-family:IBM Plex Mono,monospace;font-size:12px}.signal-stage small,.signal-stage strong,.signal-stage em{display:block}.signal-stage small{color:#65756e;font-size:12px}.signal-stage strong{margin-top:6px;color:#34435d;font-size:14px;line-height:1.45}.signal-stage em{margin-top:5px;color:#65756e;font-size:12px;font-style:normal}.signal-stage>button{position:absolute;right:6px;bottom:6px;padding:4px;background:transparent;color:#93a0b3}.signal-stage>button:hover{color:var(--primary)}.factor-weight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;border-top:1px solid #edf0f5;padding:22px 20px}.factor-weight-list>div{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.factor-weight-list span{overflow:hidden;color:#5d6b81;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.factor-weight-list span>i{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%}.factor-weight-list strong{color:#40506a;font-family:IBM Plex Mono,monospace;font-size:12px}.factor-weight-list b{grid-column:1 / -1;height:4px;overflow:hidden;border-radius:4px;background:#edf0f5}.factor-weight-list em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#167a55,#66a985)}.form-stack{display:grid;gap:14px;padding:17px}.form-stack label>span,.backtest-control label>span,.review-toolbar label>span{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:#7b879b;font-size:12px}.form-stack label>span b{color:var(--primary);font-family:IBM Plex Mono,monospace}.form-stack select,.form-stack input[type=number],.backtest-control select,.backtest-control input,.review-toolbar select{width:100%;height:35px;border:1px solid #dfe5ee;border-radius:8px;outline:0;background:#fbfcfe;padding:0 9px;color:#3f4e67;font-size:14px}input[type=range]{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:4px;background:#e5eaf2;accent-color:var(--primary)}input[type=range]::-webkit-slider-thumb{width:14px;height:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:3px solid #fff;border-radius:50%;background:var(--primary);box-shadow:0 1px 5px #1b674861}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.backtest-control{position:relative;display:grid;grid-template-columns:1.45fr repeat(3,minmax(110px,.7fr)) auto;align-items:end;gap:12px;margin-bottom:14px;padding:13px 15px}.control-title{align-self:center;gap:10px}.control-title strong,.control-title span{display:block}.control-title strong{color:#31405a;font-size:14px}.control-title span{margin-top:4px;color:#8d98a9;font-size:12px}.run-progress{position:absolute;right:0;bottom:-1px;left:0;height:3px;overflow:hidden;border-radius:0 0 13px 13px;background:#edf0f5}.run-progress span{display:block;height:100%;background:linear-gradient(90deg,#167a55,#48a286);transition:width .2s ease}.large-line-chart{position:relative;height:300px;padding:14px 16px 25px 48px}.large-line-chart svg{width:100%;height:245px;overflow:visible}.grid-lines line{stroke:#ebeff5;stroke-width:1;stroke-dasharray:4 4}.equity-line,.benchmark-line{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}.equity-line{stroke:#167a55}.benchmark-line{stroke:#9aa7bb;stroke-width:1.6;stroke-dasharray:5 4}.chart-y{position:absolute;top:27px;bottom:37px;left:16px;display:flex;flex-direction:column;justify-content:space-between;color:#65756e;font-family:IBM Plex Mono,monospace;font-size:12px}.chart-x{display:flex;justify-content:space-between;color:#65756e;font-family:IBM Plex Mono,monospace;font-size:12px}.chart-legend{display:flex;gap:13px;color:#768398;font-size:12px}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{display:block;width:15px;height:2px}.chart-legend .strategy{background:#167a55}.chart-legend .benchmark{background:#9aa7bb}.stability-list{padding:12px 16px 4px}.stability-list>div{display:grid;grid-template-columns:1fr auto;gap:7px;border-bottom:1px solid #f0f2f6;padding:12px 0}.stability-list span{color:#4e5d74;font-size:14px;font-weight:600}.stability-list b{color:#939daf;font-size:12px;font-weight:400}.stability-list strong{color:#167a55;font-family:IBM Plex Mono,monospace;font-size:12px}.stability-list i{grid-column:1 / -1;height:4px;overflow:hidden;border-radius:3px;background:#e9edf3}.stability-list em{display:block;height:100%;border-radius:inherit;background:#429671}.validation-note,.model-check{display:flex;align-items:center;gap:9px;margin:16px;border:1px solid #d6eee7;border-radius:9px;background:#f1fbf8;padding:11px;color:#0a917d}.validation-note strong,.validation-note span,.model-check strong,.model-check span{display:block}.validation-note strong,.model-check strong{font-size:14px}.validation-note span,.model-check span{margin-top:3px;color:#6e8d84;font-size:12px}.running-state{display:flex;min-height:390px;flex-direction:column;align-items:center;justify-content:center;color:#167a55}.running-state strong{margin-top:16px;color:#34435d;font-size:16px}.running-state span{margin-top:7px;color:#8a96aa;font-size:14px}.running-state>div{width:340px;height:6px;overflow:hidden;margin-top:22px;border-radius:10px;background:#e7ebf2}.running-state>div i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#167a55,#61aa8b);transition:width .2s ease}.experiment-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px}.experiment-cards>button{min-width:0;border:1px solid #e1e6ef;border-radius:10px;background:#fff;padding:12px;text-align:left;transition:.16s ease}.experiment-cards>button:hover,.experiment-cards>button.active{border-color:#bdd7ca;background:#f4faf7;box-shadow:0 6px 15px #167a550f}.experiment-cards>button>div:first-child,.experiment-cards footer{display:flex;align-items:center;justify-content:space-between;gap:7px}.experiment-cards>button>div:first-child>span{color:#7f8ba0;font-family:IBM Plex Mono,monospace;font-size:12px}.experiment-cards>button>strong{display:block;overflow:hidden;margin-top:9px;color:#35435b;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.experiment-cards>button>small{display:block;overflow:hidden;margin-top:5px;color:#919bad;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.experiment-cards footer{margin-top:11px;color:#65756e;font-size:12px}.experiment-cards footer b{margin-left:auto;color:#167a55;font-family:IBM Plex Mono,monospace}.mini-progress{height:4px;overflow:hidden;margin-top:11px;border-radius:4px;background:#e7ebf2}.mini-progress i{display:block;height:100%;border-radius:inherit;background:#167a55}.experiment-detail,.model-detail{padding-bottom:4px}.experiment-detail>h3{margin:18px 17px 8px;color:#33425c;font-size:16px;line-height:1.5}.experiment-detail>.status-pill{margin-left:17px}.detail-kv{display:grid;grid-template-columns:1fr 1fr;margin:16px;border:1px solid #e8ecf2;border-radius:9px;background:#fafbfc}.detail-kv>div{padding:10px;border-right:1px solid #e8ecf2;border-bottom:1px solid #e8ecf2}.detail-kv>div:nth-child(2n){border-right:0}.detail-kv>div:nth-last-child(-n+2){border-bottom:0}.detail-kv span,.detail-kv strong{display:block}.detail-kv span{color:#919cad;font-size:12px}.detail-kv strong{overflow:hidden;margin-top:5px;color:#46546b;font-family:IBM Plex Mono,PingFang SC,sans-serif;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.detail-actions{display:flex;gap:8px;margin:16px}.review-toolbar{gap:12px;margin-bottom:14px;padding:11px 14px}.review-toolbar label{min-width:210px}.toolbar-spacer{flex:1}.attribution-list{padding:12px 16px}.attribution-list>div{padding:11px 0;border-bottom:1px solid #f0f2f6}.attribution-list>div:last-child{border-bottom:0}.attribution-list>div>div{display:flex;align-items:center;justify-content:space-between}.attribution-list span{display:flex;align-items:center;gap:7px;color:#56647b;font-size:12px}.attribution-list span i{width:7px;height:7px;border-radius:50%}.attribution-list strong{font-family:IBM Plex Mono,monospace;font-size:12px}.attribution-list b{display:block;height:5px;overflow:hidden;margin-top:8px;border-radius:4px;background:#edf0f4}.attribution-list em{display:block;height:100%;border-radius:inherit}.blue{background-color:#167a55}.teal{background-color:#0b9c87}.violet{background-color:#4d9b72}.red{background-color:#d95e62}.heat-legend{display:flex;align-items:center;gap:4px;color:#65756e;font-size:12px}.heat-legend i{width:13px;height:7px;background:#dcede4}.heat-legend i:nth-of-type(2){background:#bbd8ca}.heat-legend i:nth-of-type(3){background:#7fb99a}.heat-legend i:nth-of-type(4){background:#167a55}.session-heatmap{padding:15px 16px 10px}.heat-row{display:grid;grid-template-columns:43px repeat(24,1fr);gap:3px;align-items:center;margin-bottom:4px}.heat-row span{color:#8d98aa;font-family:IBM Plex Mono,monospace;font-size:12px}.heat-row i{height:10px;border-radius:2px}.heat-axis{display:flex;justify-content:space-between;margin:7px 0 0 45px;color:#65756e;font-size:12px}.portfolio-toolbar{gap:12px;margin-bottom:14px;padding:12px 14px}.portfolio-toolbar>div:first-child span,.portfolio-toolbar>div:first-child strong{display:block}.portfolio-toolbar>div:first-child span{color:#65756e;font-size:12px}.portfolio-toolbar>div:first-child strong{margin-top:4px;color:#35435b;font-size:14px}.updated-inline{color:#8a96a9;font-size:12px}.weight-editor{display:grid;gap:15px;padding:18px}.weight-editor label{display:grid;grid-template-columns:128px 1fr 34px;align-items:center;gap:9px}.weight-editor span{color:#58667c;font-size:12px}.weight-editor span i,.donut-legend i{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%}.weight-editor strong{color:#3d4c64;font-family:IBM Plex Mono,monospace;font-size:12px;text-align:right}.w1{background:#167a55!important}.w2{background:#19a38b!important}.w3{background:#4d9b72!important}.w4{background:#db9537!important}.w5{background:#a5b0c1!important}.allocation-bar{display:flex;height:8px;overflow:hidden;margin:1px 18px 18px;border-radius:8px;background:#edf0f4}.allocation-bar i{display:block;height:100%;transition:width .18s ease}.corr-matrix{display:grid;grid-template-columns:56px repeat(4,1fr);gap:5px;padding:17px}.corr-matrix span,.corr-matrix strong{display:grid;min-height:24px;place-items:center;color:#8490a2;font-size:12px;font-weight:500}.corr-matrix i{display:grid;min-height:41px;place-items:center;border-radius:6px;font-family:IBM Plex Mono,monospace;font-size:12px;font-style:normal}.risk-donut{display:flex;align-items:center;justify-content:center;gap:24px;padding:22px 16px}.donut-chart{display:grid;width:135px;height:135px;place-items:center;border-radius:50%;background:conic-gradient(#167a55 0,#167a55 39%,#19a38b 39%,#19a38b 65%,#4d9b72 65%,#4d9b72 82%,#db9537 82%,#db9537 94%,#a5b0c1 94%)}.donut-chart:after{grid-area:1/1;width:82px;height:82px;border-radius:50%;background:#fff;content:""}.donut-chart span{z-index:1;grid-area:1/1;text-align:center}.donut-chart strong,.donut-chart small{display:block}.donut-chart strong{color:#30415d;font-family:IBM Plex Mono,monospace;font-size:18px}.donut-chart small{margin-top:3px;color:#8d98aa;font-size:12px}.donut-legend{display:grid;gap:10px;min-width:120px}.donut-legend span{display:flex;align-items:center;color:#647188;font-size:12px}.donut-legend b{margin-left:auto;color:#38465f;font-family:IBM Plex Mono,monospace}.model-hero{display:flex;align-items:center;gap:11px;margin:17px}.model-cube{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border-radius:12px;background:linear-gradient(145deg,#eaf6f0,#def0e6);color:#167a55}.model-hero strong,.model-hero span{display:block}.model-hero strong{color:#33425b;font-size:14px}.model-hero span{margin-top:5px;color:#65756e;font-size:12px}.report-toolbar{justify-content:space-between;gap:14px;margin-bottom:14px}.report-tabs{display:flex;overflow-x:auto;border:1px solid #dfe5ef;border-radius:9px;background:#fff;padding:3px}.report-tabs button{min-height:31px;padding:0 13px;border-radius:7px;background:transparent;color:#738096;font-size:14px;white-space:nowrap}.report-tabs button.active{background:#eaf6f0;color:#167a55;font-weight:600}.report-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,.8fr);gap:14px}.report-list{display:grid;gap:10px}.report-card{display:flex;gap:14px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:15px;box-shadow:0 7px 20px #2b3c5b09;cursor:pointer;transition:.17s ease}.report-card:hover{border-color:#c6ddd1;box-shadow:0 10px 26px #2a3e6913;transform:translateY(-1px)}.report-card-icon{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border-radius:10px;background:#eaf6f0;color:#167a55}.report-card-main{min-width:0;flex:1}.report-card-top{display:flex;align-items:center;justify-content:space-between}.report-card-top>span{color:#6b887a;font-size:12px;font-weight:600}.report-card h2{margin:7px 0 5px;color:#30405a;font-size:14px}.report-card p{overflow:hidden;margin:0;color:#7b8799;font-size:12px;line-height:1.65;text-overflow:ellipsis;white-space:nowrap}.report-tags{display:flex;gap:5px;margin-top:9px}.report-tags span{border-radius:5px;background:#f3f5f8;padding:3px 6px;color:#8792a3;font-size:12px}.report-card footer{display:flex;align-items:center;gap:13px;margin-top:11px;color:#959faf;font-size:12px}.report-card footer button{display:inline-flex;align-items:center;gap:4px;margin-left:auto;background:transparent;color:#66758b;font-size:12px}.report-card footer button+button{margin-left:0}.report-card footer button:hover{color:#167a55}.report-insight{align-self:start}.insight-total{padding:18px 17px 10px}.insight-total strong,.insight-total span{display:block}.insight-total strong{color:#283953;font-family:IBM Plex Mono,monospace;font-size:28px}.insight-total span{margin-top:3px;color:#65756e;font-size:12px}.insight-bars{padding:5px 17px 14px}.insight-bars>div{display:grid;grid-template-columns:64px 1fr 20px;align-items:center;gap:8px;margin-top:12px}.insight-bars span{color:#6f7c91;font-size:12px}.insight-bars b{height:5px;overflow:hidden;border-radius:5px;background:#ebeff5}.insight-bars i{display:block;height:100%;border-radius:inherit;background:#3d936f}.insight-bars strong{color:#45536a;font-family:IBM Plex Mono,monospace;font-size:12px;text-align:right}.review-queue{margin:0 17px 17px;border:1px solid #e3e8f1;border-radius:9px;background:#fafbfc;padding:12px}.review-queue span,.review-queue strong,.review-queue small{display:block}.review-queue span{color:#65756e;font-size:12px}.review-queue strong{margin-top:5px;color:#3d4b63;font-size:14px}.review-queue small{margin-top:4px;color:#969faf;font-size:12px}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:#1420363d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.detail-drawer{width:min(440px,94vw);height:100%;overflow-y:auto;background:#fff;padding-bottom:20px;box-shadow:-18px 0 45px #22314c29;animation:drawer-in .2s ease-out}@keyframes drawer-in{0%{transform:translate(30px);opacity:.6}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e8ecf2;padding:23px 21px 18px}.drawer-head h2{margin:11px 0 0;color:#263650;font-size:19px}.drawer-head p{margin:6px 0 0;color:#8a96a9;font-family:IBM Plex Mono,monospace;font-size:12px}.drawer-head>button{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:#f3f5f8;color:#718096}.drawer-description{margin:20px 21px;color:#66748a;font-size:14px;line-height:1.8}.formula-box{margin:0 21px;border:1px solid #e0e6ef;border-radius:9px;background:#f8fafc;padding:12px}.formula-box span,.formula-box code{display:block}.formula-box span{color:#65756e;font-size:12px}.formula-box code{overflow-x:auto;margin-top:9px;color:#167a55;font-size:14px;white-space:nowrap}.drawer-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 21px}.drawer-metrics>div{border:1px solid #e6eaf1;border-radius:8px;padding:11px}.drawer-metrics span,.drawer-metrics strong{display:block}.drawer-metrics span{color:#8d98aa;font-size:12px}.drawer-metrics strong{margin-top:5px;color:#2f674f;font-family:IBM Plex Mono,monospace;font-size:16px}.mini-factor-chart{margin:15px 21px;border:1px solid #e5e9f0;border-radius:10px}.mini-factor-chart .module-panel-head{min-height:50px}.mini-factor-chart svg{width:100%;height:130px;padding:12px}.mini-factor-chart path{fill:none;stroke:#167a55;stroke-width:2.5}.mini-factor-chart line{stroke:#d8dee9;stroke-dasharray:4 4}.drawer-section{margin:17px 21px}.drawer-section h3{margin:0 0 10px;color:#46546b;font-size:14px}.drawer-section>span{display:inline-block;margin:0 5px 5px 0;border-radius:6px;background:#f1f4f8;padding:5px 7px;color:#68768c;font-size:12px}.report-cover{display:flex;min-height:210px;flex-direction:column;align-items:flex-start;justify-content:flex-end;margin:20px;border-radius:12px;background:linear-gradient(145deg,#245f48,#2e8765);padding:25px;color:#fff}.report-cover>span{margin:12px 0 8px;font-size:12px;letter-spacing:.14em;opacity:.72}.report-cover>strong{max-width:310px;font-size:20px;line-height:1.5}.report-cover>small{margin-top:14px;font-size:12px;opacity:.72}.report-section{margin:20px}.report-section>span{color:#167a55;font-size:14px;font-weight:700}.report-section p,.report-section li{color:#68758a;font-size:14px;line-height:1.8}.report-section ul{padding-left:18px}.report-preview-chart{display:flex;height:120px;align-items:flex-end;gap:6px;margin:20px;border-bottom:1px solid #dfe4ec}.report-preview-chart div{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(#318968,#c9ded3)}.toast-message{position:fixed;right:26px;bottom:26px;z-index:120;display:flex;min-height:46px;align-items:center;gap:9px;border:1px solid #d3e9e3;border-radius:10px;background:#fff;padding:0 16px;color:#3f5a53;box-shadow:0 14px 35px #2235522b;font-size:14px}.toast-message svg{color:#0b9c87}.toast-enter-active,.toast-leave-active{transition:.2s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(9px)}@media(max-width:1380px){.module-kpi-grid.five,.module-kpi-grid.six{grid-template-columns:repeat(3,1fr)}.backtest-control{grid-template-columns:1.2fr repeat(3,1fr) auto}.signal-flow{flex-wrap:wrap}.signal-stage{min-width:42%}.signal-flow>svg{transform:rotate(90deg)}.risk-donut{gap:12px}}@media(max-width:1050px){.flow-rail{display:flex;overflow-x:auto}.flow-rail button{min-width:94px}.module-kpi-grid.four,.module-kpi-grid.five,.module-kpi-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:1fr 1fr}.module-grid .span-2,.quality-panel,.parameter-panel,.experiment-detail,.model-detail{grid-column:1 / -1}.report-layout{grid-template-columns:1fr}.report-insight{display:none}}@media(max-width:760px){.module-heading{align-items:flex-start}.module-heading>.primary-action{display:none}.module-title-icon{width:41px;height:41px;flex-basis:41px}.module-heading h1{font-size:23px}.module-grid{display:block}.module-grid>.module-panel{margin-bottom:12px}.module-kpi-grid.four,.module-kpi-grid.five,.module-kpi-grid.six{grid-template-columns:1fr 1fr}.module-kpi{min-height:86px;padding:12px}.factor-toolbar{align-items:flex-start;flex-direction:column}.filter-cluster{justify-content:flex-start}.strategy-topline{flex-wrap:wrap}.draft-state{order:4;width:100%;flex-basis:100%}.signal-stage{min-width:100%}.factor-weight-list{grid-template-columns:1fr}.backtest-control{grid-template-columns:1fr 1fr}.control-title,.backtest-control .primary-action{grid-column:1 / -1}.experiment-cards{grid-template-columns:1fr}.review-toolbar{flex-wrap:wrap}.review-toolbar label{min-width:calc(50% - 6px)}.review-toolbar .toolbar-spacer{display:none}.session-heatmap{overflow-x:auto}.heat-row,.heat-axis{min-width:620px}.portfolio-toolbar{flex-wrap:wrap}.portfolio-toolbar .toolbar-spacer{display:none}.report-toolbar{align-items:stretch;flex-direction:column}.report-toolbar>.primary-action{align-self:flex-start}}@media(max-width:520px){.module-content{padding-right:12px;padding-left:12px}.heading-note{max-width:260px;line-height:1.5}.module-kpi-grid.four,.module-kpi-grid.five,.module-kpi-grid.six{grid-template-columns:1fr}.module-kpi{min-height:78px}.form-pair{grid-template-columns:1fr}.workspace-select{width:100%}.workspace-select .app-select{min-width:0;flex:1}.backtest-control{grid-template-columns:1fr}.backtest-control label,.backtest-control .primary-action,.control-title{grid-column:1}.large-line-chart{overflow-x:auto}.large-line-chart svg,.chart-x{min-width:620px}.running-state>div{width:80%}.review-toolbar label{width:100%;min-width:0}.weight-editor label{grid-template-columns:108px 1fr 30px}.risk-donut{flex-direction:column}.report-card{padding:12px}.report-card p{white-space:normal}.report-card footer{flex-wrap:wrap}.report-card footer button{margin-left:0}.toast-message{right:12px;bottom:12px;left:12px}}.factor-enrichment-panel{overflow:hidden}.factor-enrichment-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;min-height:610px}.factor-map-wrap{min-width:0;border-right:1px solid #e8ecf2}.factor-map-meta{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eef1f5;padding:8px 16px;background:#fbfcfe}.factor-map-legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.factor-map-legend span{display:flex;align-items:center;gap:5px;color:#738096;font-size:12px}.factor-map-legend i{display:block;width:7px;height:7px;border-radius:50%}.factor-map-legend .price{background:#2e8b67}.factor-map-legend .supply{background:#149b83}.factor-map-legend .renewable{background:#5aa07b}.factor-map-legend .weather{background:#5b985f}.factor-map-legend .external{background:#3d8f78}.factor-map-legend .market{background:#5f9c78}.factor-map-legend .unit{background:#4f8a7d}.factor-map-legend .invalid{border:1px dashed #9ba5b4;background:#eef0f3}.distance-hint{display:flex;flex:0 0 auto;align-items:center;gap:5px;color:#6d877b;font-size:12px}.factor-map-canvas{position:relative;min-height:510px;overflow:hidden;background:radial-gradient(circle at 50% 49%,rgba(22,122,85,.065),transparent 31%),linear-gradient(rgba(247,249,252,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(247,249,252,.6) 1px,transparent 1px),#fff;background-size:auto,28px 28px,28px 28px,auto}.factor-map-canvas>svg{display:block;width:100%;height:510px}.factor-core-glow{fill:url(#factorCoreGlow);transform-box:fill-box;transform-origin:center;animation:factor-glow 4.8s ease-in-out infinite}.relation-ring{fill:none;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:factor-spin 90s linear infinite}.ring-candidate{animation-duration:130s;animation-direction:reverse}.ring-history{animation-duration:170s}.ring-core{stroke:#167a5557;stroke-dasharray:4 5}.ring-candidate{stroke:#568b7438;stroke-dasharray:5 7}.ring-history{stroke:#8994a73d;stroke-dasharray:3 8}.ring-label{fill:#8995a8;font-family:PingFang SC,sans-serif;font-size:12px;text-anchor:middle;paint-order:stroke;stroke:#fffffff0;stroke-width:4px}.core-label{fill:#587f6d}.history-label{fill:#9a8490}.center-links line{stroke:#aab6ca;stroke-width:1;stroke-dasharray:3 9;animation:factor-flow 2.6s linear infinite}.center-links line.invalid{stroke:#a7aab1;stroke-dasharray:4 6}.correlation-links line{stroke:#789e8b;stroke-linecap:round;stroke-dasharray:6 10;animation:factor-flow 3.8s linear infinite reverse}.research-center circle:first-child{fill:#167a55;stroke:#fff;stroke-width:4}.research-center .center-orbit{fill:none;stroke:#167a5547;stroke-width:1.5;stroke-dasharray:4 5;transform-box:fill-box;transform-origin:center;animation:factor-spin 22s linear infinite}.research-center text{fill:#ffffffb8;font-family:PingFang SC,sans-serif;font-size:12px;text-anchor:middle;pointer-events:none}.research-center .center-title{fill:#fff;font-size:12px;font-weight:700}.stability-list>div{cursor:pointer}.stability-list>div.active strong{color:#0b6b4f}.research-center .center-sub{fill:#ffffff94;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.09em}.factor-node{cursor:pointer;outline:none;transform-box:fill-box;animation:factor-node-in .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i, 0) * 28ms)}.factor-node .node-body{stroke-width:1.6;transform-box:fill-box;transform-origin:center;transition:stroke-width .16s ease,filter .16s ease;animation:factor-breathe 3.8s ease-in-out infinite;animation-delay:calc(var(--i, 0) * 90ms)}.factor-node:hover .node-body,.factor-node.active .node-body{stroke-width:3}.factor-node.active .node-body{filter:url(#nodeShadow) brightness(1.02)}.factor-node .node-focus{fill:#167a550f;stroke:#167a5533;stroke-width:1;stroke-dasharray:3 3;transform-box:fill-box;transform-origin:center;animation:factor-spin 14s linear infinite}.factor-node.price .node-body{fill:#eaf6f0;stroke:#2e8b67}.factor-node.supply .node-body{fill:#e9f8f4;stroke:#149b83}.factor-node.renewable .node-body{fill:#edf8f1;stroke:#5aa07b}.factor-node.weather .node-body{fill:#edf7ef;stroke:#5b985f}.factor-node.external .node-body{fill:#eaf7f2;stroke:#3d8f78}.factor-node.unit .node-body{fill:#edf6f3;stroke:#4f8a7d}.factor-node.market .node-body{fill:#f2f8f4;stroke:#5f9c78}.factor-node.time .node-body{fill:#f3f4f7;stroke:#8792a3}.factor-node.other .node-body{fill:#eff2f6;stroke:#728098}.factor-node.invalid .node-body{fill:#f2f3f5;stroke:#9da6b4;stroke-width:1.3;stroke-dasharray:4 3}.factor-node.invalid{opacity:.72}.factor-node.invalid:hover,.factor-node.invalid.active{opacity:1}.factor-node .node-score{fill:#334567;font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:700;text-anchor:middle;pointer-events:none}.factor-node.invalid .node-score{fill:#798392}.factor-node .node-name{fill:#45536a;font-family:PingFang SC,sans-serif;font-size:12px;font-weight:600;text-anchor:middle;paint-order:stroke;pointer-events:none;stroke:#fffffff5;stroke-width:3px}.factor-node .node-code{fill:#65756e;font-family:IBM Plex Mono,monospace;font-size:12px;text-anchor:middle;paint-order:stroke;pointer-events:none;stroke:#fffffff5;stroke-width:2px}.factor-node .selected-dot{fill:#167a55;stroke:#fff;stroke-width:2}.factor-node .selected-check{fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}@keyframes factor-spin{to{transform:rotate(360deg)}}@keyframes factor-flow{to{stroke-dashoffset:-48}}@keyframes factor-glow{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes factor-node-in{0%{opacity:0}to{opacity:1}}@keyframes factor-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.factor-core-glow,.relation-ring,.center-links line,.correlation-links line,.research-center .center-orbit,.factor-node,.factor-node .node-body,.factor-node .node-focus{animation:none}}.factor-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ba5b4}.factor-empty strong{margin-top:10px;color:#59677d;font-size:14px}.factor-empty span{margin-top:5px;font-size:12px}.factor-selection-tray{display:flex;min-height:54px;align-items:center;gap:7px;overflow-x:auto;border-top:1px solid #edf0f5;padding:9px 15px;background:#fbfcfd;white-space:nowrap}.factor-selection-tray>span{margin-right:3px;color:#65738a;font-size:12px;font-weight:600}.factor-selection-tray button{display:inline-flex;min-height:25px;align-items:center;gap:5px;border:1px solid #d9ebe2;border-radius:14px;background:#eaf6f0;padding:0 8px;color:#3d765b;font-size:12px}.factor-selection-tray button:hover{border-color:#c3dacf;background:#dff0e7}.factor-selection-tray small{margin-left:auto;color:#9aa4b3;font-size:12px}.factor-inspector{min-width:0;background:#fff}.inspector-head{display:flex;min-height:90px;align-items:flex-start;justify-content:space-between;gap:8px;border-bottom:1px solid #edf0f5;padding:16px}.inspector-head>div{min-width:0}.inspector-head>div>span,.inspector-head strong,.inspector-head small{display:block}.inspector-head>div>span{color:#98a2b2;font-size:12px}.inspector-head strong{overflow:hidden;margin-top:7px;color:#31405a;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.inspector-head small{margin-top:5px;color:#65756e;font-family:IBM Plex Mono,monospace;font-size:12px}.relevance-score{position:relative;display:grid;width:128px;height:128px;margin:15px auto 4px;place-items:center}.relevance-score>div{position:absolute;z-index:1;text-align:center}.relevance-score strong,.relevance-score span{display:block}.relevance-score strong{color:#294f3f;font-family:IBM Plex Mono,monospace;font-size:25px}.relevance-score span{margin-top:2px;color:#8d98aa;font-size:12px}.relevance-score svg{width:118px;transform:rotate(-90deg)}.relevance-score svg circle{fill:none;stroke:#edf0f5;stroke-width:8}.relevance-score svg .relevance-ring{stroke:#318766;stroke-linecap:round;transition:stroke-dasharray .22s ease}.relevance-score.invalid svg .relevance-ring{stroke:#9ca5b2}.relevance-score.invalid strong{color:#737d8d}.relevance-score>p{position:absolute;bottom:-1px;margin:0;border-radius:10px;background:#edf7f2;padding:3px 8px;color:#477d67;font-size:12px}.relevance-score.invalid>p{background:#f0f1f3;color:#7b8492}.inspector-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 14px 13px}.inspector-metrics>div{border:1px solid #e6eaf1;border-radius:8px;background:#fbfcfd;padding:9px 7px;text-align:center}.inspector-metrics span,.inspector-metrics strong{display:block}.inspector-metrics span{color:#939daf;font-size:12px}.inspector-metrics strong{margin-top:5px;color:#394b70;font-family:IBM Plex Mono,monospace;font-size:14px}.inspector-section{border-top:1px solid #eef1f5;padding:13px 15px 5px}.inspector-section>span{color:#53627b;font-size:12px;font-weight:600}.inspector-section p{margin:7px 0 0;color:#7b8799;font-size:12px;line-height:1.75}.factor-health{margin:12px 15px;border:1px solid #e5e9f0;border-radius:9px;background:#fafbfc;padding:11px}.factor-health>div{display:flex;align-items:center;justify-content:space-between}.factor-health span,.factor-health strong,.factor-health small{font-size:12px}.factor-health span{color:#77849a}.factor-health strong{color:#0a927e}.factor-health b{display:block;height:4px;overflow:hidden;margin-top:8px;border-radius:4px;background:#e8edf2}.factor-health b i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a087,#62b9a7)}.factor-health small{display:block;margin-top:7px;color:#65756e}.invalid-reason{display:flex;align-items:flex-start;gap:8px;margin:12px 15px;border:1px solid #edd8d8;border-radius:9px;background:#fff8f7;padding:10px;color:#c56868}.invalid-reason svg{flex:0 0 auto}.invalid-reason strong{display:block;font-size:12px}.invalid-reason p{margin:4px 0 0;color:#946f73;font-size:12px;line-height:1.6}.drawer-invalid{margin-right:21px;margin-left:21px}.inspector-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:15px}.inspector-actions .primary-action:disabled{background:#e8eaee;color:#8d96a4;box-shadow:none;cursor:not-allowed}@media(max-width:1260px){.factor-enrichment-layout{grid-template-columns:minmax(0,1fr) 250px}.factor-map-canvas>svg{min-width:760px}.factor-map-canvas{overflow-x:auto}}.model-evaluation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.model-evaluation-grid .span-2{grid-column:span 2}.chart-legend .prediction{background:#18a08a}.chart-legend .interval{width:14px;height:7px;background:#4f917429}.model-fit-chart{position:relative;height:265px;padding:12px 18px 25px 42px}.model-fit-chart svg{width:100%;height:220px;overflow:visible}.prediction-band{fill:#3d936f1f}.model-actual-line,.model-predicted-line{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.model-actual-line{stroke:#167a55}.model-predicted-line{stroke:#18a08a;stroke-width:1.8;stroke-dasharray:5 3}.actual-dot{fill:#fff;stroke:#167a55;stroke-width:1.5}.model-y-axis{position:absolute;top:30px;bottom:39px;left:12px;display:flex;flex-direction:column;justify-content:space-between;color:#97a1b2;font-family:IBM Plex Mono,sans-serif;font-size:12px}.model-x-axis{display:flex;justify-content:space-between;color:#97a1b2;font-family:IBM Plex Mono,sans-serif;font-size:12px}.model-score-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #edf0f5;background:#fafbfc}.model-score-strip>div{border-right:1px solid #e7ebf1;padding:10px 12px}.model-score-strip>div:last-child{border-right:0}.model-score-strip span,.model-score-strip strong,.model-score-strip small{display:block}.model-score-strip span{color:#919cad;font-size:12px}.model-score-strip strong{margin-top:4px;color:#374862;font-family:IBM Plex Mono,sans-serif;font-size:14px}.model-score-strip small{margin-top:3px;color:#65756e;font-size:12px}.residual-histogram{padding:19px 15px 7px}.residual-bars{position:relative;display:flex;height:140px;align-items:flex-end;gap:3px;border-bottom:1px solid #dce2eb}.residual-bars>i{z-index:1;flex:1;border-radius:3px 3px 0 0;background:linear-gradient(#69a786,#d8e8df)}.residual-bars svg{position:absolute;top:10px;right:0;bottom:0;left:0;z-index:2;width:100%;height:125px}.residual-bars path{fill:none;stroke:#176f4e;stroke-width:2}.residual-bars>b{position:absolute;z-index:3;top:0;bottom:0;left:50%;border-left:1px dashed #cf6570}.residual-axis{display:flex;justify-content:space-between;margin-top:6px;color:#65756e;font-size:12px}.residual-tests{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #edf0f5;background:#fafbfc}.residual-tests>div{border-right:1px solid #e7ebf1;padding:9px 6px;text-align:center}.residual-tests>div:last-child{border-right:0}.residual-tests span,.residual-tests strong{display:block}.residual-tests span{color:#65756e;font-size:12px}.residual-tests strong{margin-top:4px;color:#40506a;font-family:IBM Plex Mono,sans-serif;font-size:12px}.diagnostic-note{display:flex;align-items:center;gap:8px;margin:12px 14px 14px;border:1px solid #d9eee8;border-radius:8px;background:#f1faf7;padding:9px;color:#0b927e}.diagnostic-note strong,.diagnostic-note span{display:block}.diagnostic-note strong{font-size:12px}.diagnostic-note span{margin-top:3px;color:#79928b;font-size:12px}.model-feature-bars{display:grid;gap:14px;padding:18px 16px}.model-feature-bars>div{display:grid;grid-template-columns:92px 1fr 41px;align-items:center;gap:8px}.model-feature-bars span{color:#5d6b81;font-size:12px}.model-feature-bars i{height:6px;overflow:hidden;border-radius:6px;background:#e9edf3}.model-feature-bars b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#167a55,#82b79a)}.model-feature-bars strong{color:#41516b;font-family:IBM Plex Mono,sans-serif;font-size:12px;text-align:right}.segment-score{display:flex;align-items:center;gap:6px}.segment-score i{width:50px;height:4px;overflow:hidden;border-radius:4px;background:#e7ebf1}.segment-score b{display:block;height:100%;border-radius:inherit;background:#2f8765}.segment-score span{color:#748197;font-size:12px}.drift-list{display:grid;gap:12px;padding:16px}.drift-list>div{display:grid;grid-template-columns:1fr 36px;gap:5px;align-items:center}.drift-list span{color:#5f6d83;font-size:12px}.drift-list strong{color:#40506a;font-family:IBM Plex Mono,sans-serif;font-size:12px;text-align:right}.drift-list i{grid-column:1 / -1;height:5px;overflow:hidden;border-radius:5px;background:#e9edf2}.drift-list b{display:block;height:100%;border-radius:inherit;background:#34a58f}.drift-list i.warning b{background:#d39539}.drift-legend{display:flex;min-height:41px;align-items:center;justify-content:center;gap:13px;border-top:1px solid #edf0f5;background:#fafbfc;color:#8792a4;font-size:12px}.drift-legend span{display:flex;align-items:center;gap:4px}.drift-legend i{width:6px;height:6px;border-radius:50%;background:#33a38d}.drift-legend span:nth-child(2) i{background:#d39539}.drift-legend span:nth-child(3) i{background:#d35f67}@media(max-width:1050px){.model-evaluation-grid{grid-template-columns:1fr 1fr}.model-evaluation-grid .span-2,.drift-panel{grid-column:1 / -1}}@media(max-width:650px){.model-evaluation-grid{display:block}.model-evaluation-grid>.module-panel{margin-bottom:12px}.model-fit-chart{overflow-x:auto}.model-fit-chart svg,.model-x-axis{min-width:650px}.model-score-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.factor-enrichment-layout{grid-template-columns:1fr}.factor-map-wrap{border-right:0;border-bottom:1px solid #e8ecf2}.factor-inspector{display:grid;grid-template-columns:1.2fr .8fr 1fr;align-items:center}.inspector-head{height:100%;border-right:1px solid #edf0f5;border-bottom:0}.relevance-score{margin:8px auto}.inspector-metrics{padding:12px}.inspector-section,.factor-health,.invalid-reason,.inspector-actions{grid-column:1 / -1}}@media(max-width:620px){.factor-map-meta{align-items:flex-start;flex-direction:column}.factor-map-canvas>svg{min-width:690px}.factor-map-canvas{min-height:440px}.factor-map-canvas>svg{height:440px}.factor-selection-tray small{display:none}.factor-inspector{display:block}.inspector-head{height:auto;border-right:0;border-bottom:1px solid #edf0f5}}.clickable-row{cursor:pointer}.dataset-workspace{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);gap:13px}.dataset-workspace>*{min-width:0;max-width:100%}.dataset-detail-head{display:flex;min-height:68px;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px;background:#fff;padding:11px 14px;box-shadow:0 7px 20px #2b3c5b09}.dataset-back{display:inline-flex;min-height:34px;align-items:center;gap:6px;border-right:1px solid #e5e9f0;background:transparent;padding:0 14px 0 2px;color:#69778e;font-size:14px}.dataset-back:hover{color:var(--primary)}.dataset-detail-icon{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:10px;background:#eaf6f0;color:var(--primary)}.dataset-title{min-width:0;flex:1}.dataset-title>div{display:flex;align-items:center;gap:8px}.dataset-title h2{margin:0;color:#2b3a55;font-size:18px}.dataset-title p{overflow:hidden;margin:5px 0 0;color:#65756e;font-family:IBM Plex Mono,PingFang SC,sans-serif;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dataset-head-meta{min-width:100px;border-left:1px solid #e8ecf2;padding-left:13px}.dataset-head-meta span,.dataset-head-meta strong{display:block}.dataset-head-meta span{color:#65756e;font-size:12px}.dataset-head-meta strong{margin-top:5px;color:#536078;font-size:12px}.dataset-tabs{display:flex;min-height:49px;align-items:center;gap:3px;border:1px solid var(--border);border-radius:11px;background:#fff;padding:5px 7px;box-shadow:0 6px 16px #2b3c5b08}.dataset-tabs>button:not(.icon-plain){position:relative;display:flex;min-height:37px;align-items:center;gap:6px;border-radius:8px;background:transparent;padding:0 13px;color:#748198;font-size:14px}.dataset-tabs>button:not(.icon-plain):hover{background:#f6f8fb}.dataset-tabs>button.active:not(.icon-plain){background:#eaf6f0;color:var(--primary);font-weight:600}.dataset-tab-tools{display:flex;align-items:center;gap:7px;margin-left:auto}.compact-segment{display:flex;border:1px solid #dfe5ee;border-radius:8px;background:#fafbfc;padding:2px}.compact-segment button{min-height:27px;border-radius:6px;background:transparent;padding:0 9px;color:#8a95a7;font-size:12px}.compact-segment button.active{background:#fff;color:#167a55;box-shadow:0 2px 6px #2c3d611a;font-weight:600}.data-kpi-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.data-kpi-row article{min-width:0;border:1px solid var(--border);border-radius:11px;background:#fff;padding:12px 14px;box-shadow:0 6px 16px #2b3c5b07}.data-kpi-row span,.data-kpi-row strong,.data-kpi-row small{display:block}.data-kpi-row span{color:#8490a3;font-size:12px}.data-kpi-row strong{margin-top:5px;color:#2f3f5b;font-family:IBM Plex Mono,sans-serif;font-size:16px}.data-kpi-row small{overflow:hidden;margin-top:4px;color:#98a2b2;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.data-kpi-row small.good{color:#0a927e}.data-kpi-row small.warn{color:#be7926}.data-analysis-grid,.profiling-grid,.feature-workbench-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.data-analysis-grid .span-2,.profiling-grid .span-2,.feature-workbench-grid .span-2{grid-column:span 2}.data-viz-card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 7px 20px #2b3c5b09}.data-viz-head{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f5;padding:11px 14px}.data-viz-head h3{margin:0;color:#30405b;font-size:14px}.data-viz-head p{margin:4px 0 0;color:#65756e;font-size:12px}.viz-legend{display:flex;align-items:center;gap:11px;color:#7e8a9e;font-size:12px}.viz-legend span{display:flex;align-items:center;gap:5px}.viz-legend i{width:14px;height:2px;border-radius:2px}.viz-legend i.second{background:#42a5a0}.viz-legend b{width:7px;height:7px;border:2px solid #d65e66;border-radius:50%}.professional-line-chart{position:relative;height:285px;padding:14px 40px 26px 45px}.professional-line-chart>svg{width:100%;height:245px;overflow:visible}.pro-grid line{stroke:#e9edf3;stroke-width:1;stroke-dasharray:4 5}.primary-data-line,.secondary-data-line{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.secondary-data-bars rect{fill:#42a5a033;stroke:#1591785c;stroke-width:.5}.secondary-data-line{stroke:#42a5a0;stroke-width:1.7;stroke-dasharray:5 3}.day-divider{stroke:#bec8d7;stroke-width:1;stroke-dasharray:3 4}.chart-note{fill:#8894a7;font-family:IBM Plex Mono,monospace;font-size:12px;text-anchor:middle}.anomaly-point circle:first-child{fill:#fff;stroke:#d85a63;stroke-width:2}.anomaly-point .halo{fill:#d85a631a;stroke:#d85a6347}.left-axis,.right-axis{position:absolute;top:25px;bottom:37px;display:flex;flex-direction:column;justify-content:space-between;color:#99a3b3;font-family:IBM Plex Mono,monospace;font-size:12px}.left-axis{left:11px}.right-axis{right:9px;text-align:right}.pro-chart-x{display:flex;justify-content:space-between;color:#99a3b3;font-family:IBM Plex Mono,monospace;font-size:12px}.viz-stats{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #edf0f5;background:#fafbfc}.viz-stats>div{border-right:1px solid #e8ecf2;padding:10px 12px}.viz-stats>div:last-child{border-right:0}.viz-stats span,.viz-stats strong{display:block}.viz-stats span{color:#919cad;font-size:12px}.viz-stats strong{margin-top:4px;color:#40506a;font-family:IBM Plex Mono,sans-serif;font-size:12px}.viz-stats strong.up{color:#0a927e}.health-radar{position:relative;display:grid;height:260px;place-items:center}.health-radar>svg{width:238px;height:205px}.radar-grid polygon,.radar-grid line{fill:none;stroke:#e3e8ef;stroke-width:1}.radar-area{fill:#167a5526;stroke:#2d8262;stroke-width:2}.radar-points circle{fill:#167a55;stroke:#fff;stroke-width:1.5}.radar-labels text{fill:#818da0;font-size:12px;text-anchor:middle}.health-radar>div{position:absolute;text-align:center}.health-radar strong,.health-radar span{display:block}.health-radar strong{color:#2b5141;font-family:IBM Plex Mono,sans-serif;font-size:18px}.health-radar span{margin-top:3px;color:#65756e;font-size:12px}.health-rule-summary{display:flex;min-height:45px;align-items:center;justify-content:center;gap:17px;border-top:1px solid #edf0f5;background:#fafbfc;color:#77849a;font-size:12px}.health-rule-summary span{display:flex;align-items:center;gap:5px}.health-rule-summary i{width:6px;height:6px;border-radius:50%;background:#aeb7c5}.health-rule-summary i.ok{background:#0b9c87}.health-rule-summary i.warn{background:#d08b2d}.model-badge{border:1px solid #d9ebe2;border-radius:6px;background:#f2f8f5;padding:5px 8px;color:#477d67;font-family:IBM Plex Mono,sans-serif;font-size:12px}.scatter-chart{position:relative;height:265px;padding:10px 12px 20px 39px}.scatter-chart svg{width:100%;height:230px}.scatter-chart circle{fill:#167a5585;stroke:#fff;stroke-width:.6}.confidence-band{fill:#167a5517}.regression-line{stroke:#167a55;stroke-width:2}.scatter-y{position:absolute;top:28px;bottom:43px;left:10px;display:flex;flex-direction:column;justify-content:space-between;color:#65756e;font-size:12px}.scatter-x{position:absolute;right:22px;bottom:9px;left:42px;display:flex;justify-content:space-between;color:#65756e;font-size:12px}.deviation-chart{position:relative;display:flex;height:265px;align-items:center;justify-content:space-around;gap:5px;padding:28px 20px;background:repeating-linear-gradient(to bottom,transparent 0 52px,#edf2ef 53px)}.deviation-chart .zero-line{position:absolute;right:18px;left:18px;height:1px;background:#a8b9b0}.deviation-chart>div{position:relative;z-index:1;width:min(18px,5%);align-self:center;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#2f946e,#75b293);transform:translateY(-50%)}.deviation-chart>div.negative{border-radius:1px 1px 4px 4px;background:linear-gradient(180deg,#a8bdb2,#6f9984);transform:translateY(50%)}.deviation-chart>div span{position:absolute;right:50%;bottom:calc(100% + 5px);color:#60786c;font-family:IBM Plex Mono,monospace;font-size:12px;transform:translate(50%)}.deviation-chart>div.negative span{top:calc(100% + 5px);bottom:auto}.regression-summary,.distribution-stats{display:flex;align-items:center;justify-content:space-around;border-top:1px solid #edf0f5;background:#fafbfc;padding:9px}.regression-summary span,.regression-summary strong{display:block;text-align:center}.regression-summary span{color:#65756e;font-size:12px}.regression-summary strong{margin-top:4px;color:#40506a;font-family:IBM Plex Mono,sans-serif;font-size:12px}.histogram-chart{padding:24px 17px 12px}.hist-bars{position:relative;display:flex;height:170px;align-items:flex-end;gap:4px;border-bottom:1px solid #dce2eb}.hist-bars>i{z-index:1;flex:1;border-radius:3px 3px 0 0;background:linear-gradient(#79af91,#d9e9e0)}.hist-bars>svg{position:absolute;top:25px;right:0;bottom:0;left:0;z-index:2;width:100%;height:130px;pointer-events:none}.hist-bars svg path{fill:none;stroke:#0f6847;stroke-width:2}.hist-bars>b{position:absolute;z-index:3;top:0;bottom:0;width:1px;border-left:1px dashed #617d70}.p50-line{left:51%}.p95-line{left:83%;border-color:#d07831!important}.hist-axis{display:flex;justify-content:space-between;margin-top:7px;color:#99a3b3;font-size:12px}.distribution-stats{justify-content:space-between;padding:11px 15px;color:#8994a6;font-size:12px}.distribution-stats b{margin-left:3px;color:#4a5870;font-family:IBM Plex Mono,sans-serif}.boxplot-chart{display:flex;height:230px;align-items:stretch;justify-content:space-around;gap:7px;padding:21px 19px 25px;background:repeating-linear-gradient(to bottom,transparent 0 45px,#edf0f5 46px)}.boxplot-column{position:relative;flex:1;height:180px}.boxplot-column>span{position:absolute;right:0;bottom:-20px;left:0;color:#939dae;font-size:12px;text-align:center}.boxplot-whisker{position:absolute;left:50%;width:1px;background:#8392ad}.boxplot-whisker:before,.boxplot-whisker:after{position:absolute;left:-5px;width:11px;height:1px;background:#8392ad;content:""}.boxplot-whisker:before{top:0}.boxplot-whisker:after{bottom:0}.boxplot-box{position:absolute;left:20%;width:60%;min-height:10px;border:1.5px solid #27815f;border-radius:3px;background:#2d826224}.boxplot-box i{position:absolute;right:0;left:0;height:2px;background:#167a55}.boxplot-note{display:flex;min-height:39px;align-items:center;gap:13px;border-top:1px solid #edf0f5;padding:0 14px;color:#8792a4;font-size:12px}.boxplot-note span{display:flex;align-items:center;gap:5px}.boxplot-note i{width:8px;height:8px;border:1px solid #27815f;background:#e5f1ea}.boxplot-note b{width:9px;height:2px;background:#167a55}.boxplot-note strong{margin-left:auto;color:#52627a}.observation-table-card{margin-top:0}.dense-table th,.dense-table td{padding-right:8px;padding-left:8px}.test-list{padding:6px 14px 12px}.test-list>div{display:grid;grid-template-columns:1fr auto;gap:3px 8px;border-bottom:1px solid #eff2f6;padding:12px 0}.test-list>div:last-child{border-bottom:0}.test-list span{color:#58667d;font-size:12px}.test-list strong{font-size:12px}.test-list strong.pass{color:#0a927e}.test-list strong.warn{color:#c07b27}.test-list small{grid-column:1 / -1;color:#65756e;font-family:IBM Plex Mono,sans-serif;font-size:12px}.corr-scale{display:flex;align-items:center;gap:3px;color:#65756e;font-size:12px}.corr-scale i{width:13px;height:7px;background:#d26878}.corr-scale i:nth-of-type(2){background:#f1f2f5}.corr-scale i:nth-of-type(3){background:#167a55}.data-corr-matrix{display:grid;grid-template-columns:52px repeat(7,1fr);gap:4px;padding:16px}.data-corr-matrix>span,.data-corr-matrix>strong{display:grid;min-height:23px;place-items:center;color:#7f8b9e;font-size:12px;font-weight:500}.data-corr-matrix>i{display:grid;min-height:41px;place-items:center;border-radius:5px;font-family:IBM Plex Mono,sans-serif;font-size:12px;font-style:normal}.missingness-map{padding:16px 18px 7px}.missing-row,.missing-axis{display:grid;grid-template-columns:43px repeat(24,1fr);gap:4px;align-items:center;margin-bottom:5px}.missing-row span{color:#8f9aab;font-family:IBM Plex Mono,sans-serif;font-size:12px}.missing-row i{height:15px;border-radius:2px}.missing-row i.level-0{background:#eaf6f3}.missing-row i.level-1{background:#f4c77e}.missing-row i.level-2{background:#d87565}.missing-axis b{color:#98a2b2;font-size:12px;font-weight:400}.missing-axis b:nth-child(2){grid-column:2}.missing-axis b:nth-child(3){grid-column:6}.missing-axis b:nth-child(4){grid-column:10}.missing-axis b:nth-child(5){grid-column:14}.missing-axis b:nth-child(6){grid-column:18}.missing-axis b:nth-child(7){grid-column:22}.missing-axis b:nth-child(8){grid-column:25}.missing-alert,.lineage-impact{display:flex;align-items:center;gap:9px;margin:9px 18px 15px;border:1px solid #f0e0c4;border-radius:9px;background:#fffaf1;padding:10px 11px;color:#bf7b27}.missing-alert>div,.lineage-impact>div{min-width:0;flex:1}.missing-alert strong,.missing-alert span,.lineage-impact strong,.lineage-impact span{display:block}.missing-alert strong,.lineage-impact strong{color:#6b583d;font-size:12px}.missing-alert span,.lineage-impact span{margin-top:3px;color:#947d5d;font-size:12px}.missing-alert button,.lineage-impact button{flex:0 0 auto;border-radius:7px;background:#fff;padding:7px 9px;color:#9a692b;font-size:12px}.station-rank{padding:10px 14px 15px}.station-rank>div{display:grid;grid-template-columns:20px 54px 1fr 35px;align-items:center;gap:7px;margin-top:13px}.station-rank b{display:grid;width:18px;height:18px;place-items:center;border-radius:5px;background:#eaf6f0;color:#477d67;font-family:IBM Plex Mono,sans-serif;font-size:12px}.station-rank span{color:#59677d;font-size:12px}.station-rank i{height:5px;overflow:hidden;border-radius:5px;background:#e9edf2}.station-rank em{display:block;height:100%;border-radius:inherit;background:#318766}.station-rank strong{color:#445169;font-family:IBM Plex Mono,sans-serif;font-size:12px;text-align:right}.feature-pipeline-card{overflow:visible}.pipeline-status{display:flex;align-items:center;gap:5px;color:#758397;font-size:12px}.pipeline-status i{width:7px;height:7px;border-radius:50%;background:#0da088;box-shadow:0 0 0 3px #0da0881a}.feature-pipeline{display:flex;align-items:center;gap:9px;padding:21px}.feature-pipeline>svg{flex:0 0 auto;color:#b7c1d0}.pipeline-stage{position:relative;display:flex;min-width:0;min-height:122px;flex:1;flex-direction:column;align-items:center;justify-content:center;border:1px solid #dfe5ee;border-radius:10px;background:#fbfcfe;text-align:center}.pipeline-stage>span{position:absolute;top:7px;left:8px;color:#9ba5b4;font-family:IBM Plex Mono,sans-serif;font-size:12px}.stage-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:#eaf6f0;color:#287b5d}.pipeline-stage strong,.pipeline-stage small,.pipeline-stage em{display:block}.pipeline-stage strong{margin-top:8px;color:#405069;font-size:12px}.pipeline-stage small{margin-top:4px;color:#167a55;font-family:IBM Plex Mono,sans-serif;font-size:12px}.pipeline-stage em{margin-top:4px;color:#65756e;font-size:12px;font-style:normal}.inline-code{border-radius:5px;background:#f1f4f8;padding:3px 5px;color:#466e5d;font-size:12px}.feature-importance{display:flex;align-items:center;gap:6px}.feature-importance>span{width:30px}.feature-importance>i{width:48px;height:4px;overflow:hidden;border-radius:4px;background:#e8edf3}.feature-importance b{display:block;height:100%;border-radius:inherit;background:#3d936f}.feature-preview{align-self:start}.feature-mini-chart{height:175px;padding:8px 12px 0}.feature-mini-chart svg{width:100%;height:165px}.feature-mini-chart path{fill:none;stroke:#167a55;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.feature-preview-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5;background:#fafbfc}.feature-preview-stats>div{border-right:1px solid #e6eaf0;padding:9px 7px;text-align:center}.feature-preview-stats>div:last-child{border-right:0}.feature-preview-stats span,.feature-preview-stats strong{display:block}.feature-preview-stats span{color:#65756e;font-size:12px}.feature-preview-stats strong{margin-top:4px;color:#3f4e67;font-family:IBM Plex Mono,sans-serif;font-size:12px}.feature-code-block{margin:12px 14px 0;border:1px solid #e3e8f0;border-radius:8px;background:#f7f9fc;padding:10px}.feature-code-block span,.feature-code-block code{display:block}.feature-code-block span{color:#65756e;font-size:12px}.feature-code-block code{overflow-x:auto;margin-top:7px;color:#167a55;font-size:12px;white-space:nowrap}.lineage-actions{display:flex;gap:7px}.lineage-graph{display:grid;grid-template-columns:1fr 44px 1fr 44px 1.15fr 44px 1fr;align-items:center;gap:5px;min-height:390px;padding:24px;background:radial-gradient(circle at 52% 49%,rgba(22,122,85,.08),transparent 20rem),linear-gradient(rgba(246,248,251,.75) 1px,transparent 1px),linear-gradient(90deg,rgba(246,248,251,.75) 1px,transparent 1px);background-size:auto,25px 25px,25px 25px}.lineage-column{display:grid;gap:9px}.lineage-column>span{margin-bottom:3px;color:#8e99aa;font-size:12px;text-align:center}.lineage-column>div{position:relative;display:grid;grid-template-columns:28px 1fr;border:1px solid #dfe5ee;border-radius:9px;background:#fff;padding:10px;box-shadow:0 5px 14px #2b3d600b;color:#708098}.lineage-column>div.focus{border-color:#a8c9b8;background:#f0f8f4;color:#167a55;box-shadow:0 7px 18px #167a5517}.lineage-column svg{grid-row:span 2;align-self:center}.lineage-column strong,.lineage-column small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lineage-column strong{color:#3e4d66;font-size:12px}.lineage-column small{margin-top:4px;color:#65756e;font-size:12px}.lineage-arrows{display:grid;align-content:center;gap:48px}.lineage-arrows i{position:relative;height:1px;background:#a5c7b5}.lineage-arrows i:after{position:absolute;top:-3px;right:-1px;width:6px;height:6px;border-top:1px solid #7da58f;border-right:1px solid #7da58f;content:"";transform:rotate(45deg)}.lineage-impact{border-color:#d9ece2;background:#f3f8f5;color:#327b60}.lineage-impact strong{color:#3f6d59}.lineage-impact span{color:#7483a4}.lineage-impact button{color:#3f765d}.version-card{margin-top:0}@media(max-width:1380px){.data-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-pipeline{overflow-x:auto}.pipeline-stage{min-width:150px}}@media(max-width:1080px){.dataset-detail-head{flex-wrap:wrap}.dataset-head-meta{display:none}.dataset-tabs{overflow-x:auto}.dataset-tabs>button:not(.icon-plain){flex:0 0 auto}.dataset-tab-tools{flex:0 0 auto}.data-analysis-grid,.profiling-grid,.feature-workbench-grid{grid-template-columns:1fr 1fr}.data-analysis-grid .span-2,.profiling-grid .span-2,.feature-workbench-grid .span-2,.trend-analysis{grid-column:1 / -1}.lineage-graph{min-width:980px}.lineage-card{overflow-x:auto}.lineage-card>.data-viz-head,.lineage-card>.lineage-impact{min-width:980px}}@media(max-width:760px){.dataset-title{width:calc(100% - 130px);flex:none}.dataset-detail-head>.secondary-action{margin-left:auto}.dataset-tabs{align-items:flex-start;flex-wrap:wrap}.dataset-tab-tools{width:100%;margin-left:0;border-top:1px solid #edf0f5;padding-top:5px}.data-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.data-analysis-grid,.profiling-grid,.feature-workbench-grid{display:block}.data-analysis-grid>.data-viz-card,.profiling-grid>.data-viz-card,.feature-workbench-grid>.data-viz-card{margin-bottom:12px}.professional-line-chart,.scatter-chart,.histogram-chart,.boxplot-chart,.missingness-map,.data-corr-matrix{overflow-x:auto}.professional-line-chart>svg,.pro-chart-x{min-width:680px}.missing-row,.missing-axis{min-width:650px}.data-corr-matrix{min-width:520px}.feature-pipeline-card{overflow:hidden}.feature-pipeline{align-items:stretch}}@media(max-width:520px){.dataset-back{width:100%;border-right:0;border-bottom:1px solid #e5e9f0;padding-bottom:8px}.dataset-title{width:calc(100% - 54px)}.dataset-tab-tools .app-select{display:none}.compact-segment{flex:1}.compact-segment button{min-width:0;flex:1}.data-kpi-row{grid-template-columns:1fr}.viz-legend{display:none}.viz-stats{grid-template-columns:repeat(2,1fr)}.viz-stats>div{border-bottom:1px solid #e8ecf2}.feature-preview-stats{grid-template-columns:repeat(2,1fr)}.missing-alert,.lineage-impact{align-items:flex-start;flex-wrap:wrap}}@media(max-width:760px){.topbar{height:auto;flex-wrap:wrap;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top,0px)) 12px 10px}.topbar-left{display:contents}.topbar-right{order:3;margin-left:auto;gap:8px}.menu-button{order:1}.market-selector{order:2;min-width:0;padding:0 8px}.today-rank{order:4;flex:1 0 100%;justify-content:center;height:36px}.content{padding:16px 12px 28px}.page-heading h1{font-size:22px}.app-shell{--sidebar-width: 280px}.sidebar{width:min(var(--sidebar-width),86vw);padding-bottom:env(safe-area-inset-bottom,0px)}.nav-list{overflow-y:auto}.brand{padding:0 14px}.brand-logo{width:148px;height:52px}.detail-drawer,.detail-drawer.today-rank-drawer{width:100vw}.factor-enrichment-layout{grid-template-columns:1fr;min-height:0}.factor-map-wrap{border-right:0;border-bottom:1px solid #e8ecf2}.factor-map-canvas>svg{min-width:640px}input,select,textarea{font-size:16px}}@keyframes chart-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes data-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes bar-grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes bar-grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes heat-in{0%{opacity:0}to{opacity:1}}@keyframes donut-pop{0%{opacity:0;transform:scale(.84)}to{opacity:1;transform:none}}.performance-chart>svg,.large-line-chart>svg,.model-fit-chart>svg,.professional-line-chart svg,.feature-mini-chart svg,.residual-bars>svg,.hist-bars>svg{animation:chart-wipe 1.05s cubic-bezier(.22,.75,.2,1) both}.kpi-card,.module-kpi,.metric-card{animation:data-rise .48s ease both}.kpi-grid>:nth-child(2),.module-kpi-grid>:nth-child(2){animation-delay:.06s}.kpi-grid>:nth-child(3),.module-kpi-grid>:nth-child(3){animation-delay:.12s}.kpi-grid>:nth-child(4),.module-kpi-grid>:nth-child(4){animation-delay:.18s}.module-kpi-grid>:nth-child(5){animation-delay:.24s}.module-kpi-grid>:nth-child(6){animation-delay:.3s}.factor-bars span,.model-feature-bars b,.insight-bars i,.quality-cell>i>b,.feature-importance b,.progress-track span,.allocation-bar i,.stability-list em,.drift-list b,.segment-score b,.run-progress span,.mini-progress i{transform-origin:left center;animation:bar-grow-x .7s cubic-bezier(.2,.7,.2,1) both}.mini-bars i,.residual-bars>i,.hist-bars>i,.report-preview-chart div{transform-origin:center bottom;animation:bar-grow-y .65s cubic-bezier(.2,.7,.2,1) both}.mini-bars i:nth-child(2),.residual-bars>i:nth-child(2),.hist-bars>i:nth-child(2){animation-delay:.04s}.mini-bars i:nth-child(3),.residual-bars>i:nth-child(3),.hist-bars>i:nth-child(3){animation-delay:.08s}.mini-bars i:nth-child(4),.residual-bars>i:nth-child(4){animation-delay:.12s}.mini-bars i:nth-child(5){animation-delay:.16s}.mini-bars i:nth-child(6){animation-delay:.2s}.mini-bars i:nth-child(7){animation-delay:.24s}.heat-cell,.session-heatmap i{animation:heat-in .55s ease both}.session-heatmap .heat-row:nth-child(odd) i{animation-delay:.08s}.session-heatmap .heat-row:nth-child(3n) i{animation-delay:.16s}.donut-chart{animation:donut-pop .7s cubic-bezier(.2,.8,.2,1) both}.boxplot-column,.deviation-chart>div{animation:heat-in .5s ease both}@media(prefers-reduced-motion:reduce){.performance-chart>svg,.large-line-chart>svg,.model-fit-chart>svg,.professional-line-chart svg,.feature-mini-chart svg,.residual-bars>svg,.hist-bars>svg,.kpi-card,.module-kpi,.metric-card,.factor-bars span,.model-feature-bars b,.insight-bars i,.quality-cell>i>b,.feature-importance b,.progress-track span,.allocation-bar i,.stability-list em,.drift-list b,.segment-score b,.run-progress span,.mini-progress i,.mini-bars i,.rank-col-track i,.rank-metric i b,.residual-bars>i,.hist-bars>i,.report-preview-chart div,.heat-cell,.session-heatmap i,.donut-chart,.boxplot-column,.deviation-chart>div{animation:none}}.page-toolbar{align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.page-toolbar h1{margin:0;color:#203b2d;font-size:26px;line-height:1.3;font-weight:650}.panel-head,.module-panel-head,.data-viz-head{min-height:64px;gap:16px;padding:18px 20px;flex-wrap:wrap}.panel-head h2,.module-panel-head h2,.module-panel-head h3,.data-viz-head h3{font-size:18px;line-height:1.4;font-weight:650}.panel-head>div:first-child,.module-panel-head>div:first-child,.data-viz-head>div:first-child{min-width:0}.panel-meta,.detail-meta{color:#65756e;font-size:13px;overflow-wrap:anywhere}.panel-meta{display:inline-block;margin-top:8px}.chart-context{color:#40584b;margin-right:auto}.nav-item{font-size:15px}.topbar{gap:16px}.topbar-left,.topbar-right{min-width:0}.topbar .icon-button{border:0;background:transparent}.global-search{width:clamp(180px,17vw,270px)}.updated{font-size:12px}.today-rank,.today-rank span,.today-rank time{font-size:12px}.module-kpi-grid,.kpi-grid{gap:16px}.module-kpi,.kpi-card{min-height:112px}.kpi-card{container-type:inline-size}.module-kpi strong{font-size:28px;letter-spacing:-.02em}.module-kpi span,.metric-card span,.kpi-copy span{font-size:14px}.module-kpi small,.metric-card small{white-space:normal;line-height:1.5}.kpi-copy small{max-width:145px}.kpi-card .mini-bars{width:58px;opacity:.55;right:14px}@container (max-width: 265px){.kpi-card .mini-bars{display:none}}.module-table th{font-size:13px;color:#52655a;height:44px}.module-table td{font-size:14px;line-height:1.5}.module-table th,.module-table td{padding:13px 14px}.name-cell strong{font-size:14px}.name-cell small{font-size:12px}.module-table-wrap,.table-wrap{max-width:100%;overflow-x:auto}.name-cell strong,.signal-stage strong{white-space:nowrap}.name-cell{min-width:max-content}.panel-head h2,.module-panel-head h2,.module-panel-head h3,.data-viz-head h3,.app-shell .lv-panel-heading h2{white-space:nowrap}.primary-action,.secondary-action,.text-button,.text-link,.row-action,.status-pill,.range-switch button,.app-select-trigger{white-space:nowrap;flex-shrink:0}.kpi-copy strong,.module-kpi strong,.metric-card strong,.performance-stats strong,.model-score-strip strong,.metric-strong,.app-shell .lv-stat-value{white-space:nowrap}.module-kpi small{white-space:nowrap;overflow:visible}.module-kpi>div:last-child{min-width:0}.chart-legend span,.factor-legend span,.viz-legend span{white-space:nowrap}.signal-stage{flex:1 0 190px}.factor-name strong{white-space:nowrap}.factor-row{grid-template-columns:minmax(0,1fr) 56px}.factor-name{grid-column:1 / -1;padding-top:10px}.factor-name small{max-width:none}.factor-bars,.factor-values{margin-bottom:12px}.factor-row{row-gap:8px}.chart-legend,.factor-legend,.viz-legend{flex-wrap:wrap;row-gap:8px;font-size:12px;color:#586b60}.chart-legend .benchmark,.legend-line.benchmark,.chart-legend .prediction,.viz-legend i.second{background:var(--chart-blue)}.benchmark-line,.model-predicted-line,.secondary-data-line{stroke:var(--chart-blue);stroke-width:2.3}.chart-legend .interval{background:#4f6fa826}.prediction-band{fill:#4f6fa81c}.drawdown-bars rect{fill:#c38a3580}.chart-legend .legend-box{height:8px;background:#c38a3580}.factor-legend .rank,.factor-bars .rank{background:var(--chart-blue)}.factor-legend .stable,.factor-bars .stable{background:var(--chart-amber)}.factor-row{grid-template-columns:minmax(0,1fr) 56px;column-gap:12px;row-gap:8px;min-height:82px}.factor-name strong{font-size:14px;line-height:1.45}.factor-name small{font-size:12px;max-width:170px}.factor-values{grid-template-columns:1fr;gap:3px;font-size:12px;line-height:1.2}.factor-values span:nth-child(1){color:var(--primary)}.factor-values span:nth-child(2){color:var(--chart-blue)}.factor-values span:nth-child(3){color:#a87228}.factor-bars{gap:9px}.factor-bars span{height:5px}.performance-chart{height:260px}.x-labels text,.y-labels text{font-size:15px;fill:#65756e}.performance-stats strong{font-size:23px}.performance-stats div{padding:14px 12px}.heatmap-labels{width:auto}.heatmap-wrap{grid-template-columns:150px minmax(0,1fr)}.heatmap-labels span{font-size:12px;white-space:normal;line-height:1.3}.heatmap-metrics{padding-left:167px}.heat-cell{min-height:36px;font-size:13px}.heat-scale i{background:linear-gradient(90deg,#4f6fa8,#eef2f7)}.heat-scale b{background:linear-gradient(90deg,#edf5f1,#167a55)}.secondary-data-bars rect{fill:#4f6fa830;stroke:#4f6fa880}.viz-legend b,.anomaly-point{border-color:var(--chart-amber);stroke:var(--chart-amber)}.anomaly-point circle:first-child{stroke:var(--chart-amber)}.anomaly-point .halo{fill:#c38a351a;stroke:#c38a3547}.heat-legend i:first-of-type{background:#4f6fa8}.heat-legend i:nth-of-type(2){background:#dce5f2}.w2{background:var(--chart-blue)}.w3{background:#64a184}.w4{background:var(--chart-amber)}.donut-chart{background:conic-gradient(#167a55 0,#167a55 39%,#4f6fa8 39%,#4f6fa8 65%,#64a184 65%,#64a184 82%,#c38a35 82%,#c38a35 94%,#a5b0c1 94%)}.residual-bars>i{background:#a9bfdf}.residual-bars path,.hist-bars svg path{stroke:var(--chart-amber)}.residual-bars>b,.hist-bars>b{border-color:var(--chart-amber)}.model-feature-bars>div:nth-child(3n+2) b{background:var(--chart-blue)}.model-feature-bars>div:nth-child(3n) b{background:var(--chart-amber)}.model-feature-bars>div{grid-template-columns:minmax(125px,1fr) minmax(70px,1fr) 60px}.model-feature-bars span,.model-feature-bars strong{font-size:13px}.model-score-strip span,.model-score-strip small{font-size:12px}.model-score-strip strong{font-size:20px}.model-score-strip{flex-wrap:wrap}.model-score-strip>div{min-width:110px}.model-y-axis,.model-x-axis,.chart-y,.chart-x,.pro-y-axis,.pro-x-axis{font-size:12px;color:#65756e}.chart-y{left:10px}.large-line-chart{padding-left:68px}.stability-list>div:nth-child(2) em{background:var(--chart-blue)}.stability-list>div:nth-child(2) strong{color:var(--chart-blue)}.stability-list>div:nth-child(3) em{background:var(--chart-amber)}.stability-list>div:nth-child(3) strong{color:#a87228}.factor-map-legend .market{background:var(--chart-blue)}.factor-map-legend .unit{background:var(--chart-amber)}.factor-map-legend .external{background:#7893bc}.factor-node.market .node-body{fill:#edf2f9;stroke:var(--chart-blue)}.factor-node.unit .node-body{fill:#fbf3e6;stroke:var(--chart-amber)}.factor-node.external .node-body{fill:#f0f4fa;stroke:#7893bc}.factor-map-meta,.factor-map-legend{flex-wrap:wrap;gap:12px}.factor-node .node-name{font-size:12px;opacity:0;pointer-events:none}.factor-node.emphasized .node-name,.factor-node.selected .node-name,.factor-node.active .node-name,.factor-node:hover .node-name,.factor-node:focus .node-name{opacity:1}.research-center .center-title{font-size:10px}.research-center>text:not(.center-title){font-size:9px}.factor-node .node-score{font-size:12px}.factor-node:hover .node-name,.factor-node.active .node-name{font-weight:700}.factor-selection-tray{flex-wrap:wrap}.factor-selection-tray small{width:100%}.factor-inspector{min-width:0}.factor-toolbar .filter-cluster{flex-wrap:wrap}.factor-toolbar{align-items:flex-start}.signal-flow{flex-wrap:wrap}.signal-stage{min-width:145px;min-height:130px}.backtest-control{grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(135px,1fr)) auto}.data-kpi-row{gap:12px}.data-kpi-row article{min-width:0}.dataset-detail-head,.dataset-tabs{flex-wrap:wrap;row-gap:14px}.dataset-title{flex:1}.dataset-head-meta strong{font-size:13px}.data-viz-head .viz-legend{padding:0}.data-viz-head h3{overflow-wrap:anywhere}.corr-scale i:first-of-type{background:var(--chart-blue)}.app-shell .lv-panel-heading h2,.app-shell .lv-directory-toolbar h2{font-size:18px;line-height:1.4}.app-shell .lv-panel-heading{flex-wrap:wrap;gap:14px;align-items:center}.app-shell .lv-control-top h3{font-size:16px}.app-shell .lv-directory-table th,.app-shell .lv-bill-table th{font-size:13px;color:#586f60}.app-shell .lv-directory-table td,.app-shell .lv-bill-table td{font-size:14px}.app-shell .lv-directory-customer strong{font-size:15px}.app-shell .lv-directory-customer small,.app-shell .lv-directory-table td>small{color:#708177}.app-shell .lv-axis-label{font-size:16px;fill:#65756e}.app-shell .lv-chart-meta{font-size:12px;color:#65756e}.app-shell .lv-stat p,.app-shell .lv-table-footer{font-size:12px}.app-shell .lv-month-insight{flex-wrap:wrap}.app-shell .lv-peer-note{color:#65756e}.app-shell .lv-heading{flex-wrap:wrap;row-gap:14px}.app-shell .lv-heading h1{font-size:26px}.login-card-head{margin-bottom:28px}@media(max-width:1500px){.module-grid.data-layout,.module-grid.model-layout,.module-grid.experiment-layout{grid-template-columns:minmax(0,1fr)}.module-grid.data-layout .span-2,.module-grid.model-layout .span-2,.module-grid.experiment-layout .span-2{grid-column:auto}.model-detail .detail-kv{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar .updated,.topbar .user-copy{display:none}.factor-enrichment-layout{grid-template-columns:minmax(0,1fr)}.factor-map-canvas svg{min-height:550px}.factor-inspector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border);border-left:0}.inspector-head,.inspector-actions{grid-column:1 / -1}.inspector-metrics{align-self:start}.factor-health{grid-column:2 / -1}.model-evaluation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backtest-control{grid-template-columns:repeat(3,minmax(0,1fr))}.backtest-control .control-title{grid-column:1 / -1}.backtest-control>button{grid-column:3}.app-shell .lv-analysis-grid{grid-template-columns:minmax(0,1fr)}.app-shell .lv-peer-chart{max-height:220px}}@media(max-width:1100px){.topbar{flex-wrap:wrap;height:auto;min-height:72px;padding-block:12px}.analysis-grid,.detail-grid,.module-grid.data-layout{grid-template-columns:minmax(0,1fr)}.factor-panel{height:530px;min-height:0}.detail-grid .panel,.analysis-grid .panel,.module-grid.data-layout .span-2{grid-column:auto}.data-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}.module-kpi-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .lv-controls{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.page-toolbar{flex-wrap:wrap}.page-toolbar h1{font-size:24px}.module-kpi-grid.four,.data-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.model-evaluation-grid{grid-template-columns:minmax(0,1fr)}.model-evaluation-grid .span-2{grid-column:auto}.factor-inspector{display:block}.factor-map-canvas{overflow-x:auto}.factor-map-canvas svg{min-width:860px}.factor-values{display:grid}.factor-row{grid-template-columns:minmax(0,1fr) 54px}.performance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.heatmap-metrics{padding-left:167px}.backtest-control{grid-template-columns:repeat(2,minmax(0,1fr))}.backtest-control>button{grid-column:auto}.app-shell .lv-directory-heading,.app-shell .lv-directory-toolbar{flex-wrap:wrap;gap:14px}.app-shell .lv-directory-filters{flex-wrap:wrap;width:100%}.model-detail .detail-kv{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-head h2,.module-panel-head h2,.data-viz-head h3{max-width:100%}}@media(max-width:540px){.module-kpi-grid.four,.module-kpi-grid.five,.module-kpi-grid.six{grid-template-columns:minmax(0,1fr)}.performance-stats strong{font-size:22px}}:root{--surface-shadow: 0 2px 5px rgba(24, 51, 39, .08), 0 12px 28px -8px rgba(24, 51, 39, .2);--surface-shadow-inner: 0 2px 7px rgba(24, 51, 39, .07);--surface-shadow-hover: 0 3px 7px rgba(24, 51, 39, .1), 0 16px 32px -8px rgba(24, 51, 39, .24)}.app-shell :is(.kpi-card,.panel,.module-kpi,.metric-card,.module-panel,.report-card,.dataset-detail-head,.data-kpi-row article,.data-viz-card,.lv-directory-stats,.lv-directory-table-scroll,.lv-stat,.lv-panel,.strategy-topline){border-radius:0;box-shadow:var(--surface-shadow)}.app-shell .report-card:hover{box-shadow:var(--surface-shadow-hover)}.app-shell :is(.performance-stats,.experiment-item,.experiment-cards>button,.signal-stage,.detail-kv,.validation-note,.model-check,.review-queue,.formula-box,.drawer-metrics>div,.mini-factor-chart,.inspector-metrics>div,.factor-health,.invalid-reason,.diagnostic-note,.missing-alert,.lineage-impact,.pipeline-stage,.lineage-column>div,.lv-control,.lv-month-insight,.lv-reference-editor,.lv-dialog-summary,.vs-summary-cost,.rank-details li,.market-pulse){border-radius:0;box-shadow:var(--surface-shadow-inner)}.app-shell .experiment-cards>button:is(:hover,.active),.app-shell .lineage-column>div.focus{box-shadow:var(--surface-shadow-inner)}.app-shell :is(.flow-rail,.dataset-tabs,.report-tabs,.run-progress,.lv-strategy-summary,.report-cover,.feature-code-block,.relevance-score>p,.lv-bill-dialog),.login-page .login-card{border-radius:0}.app-shell :is(.mini-bars i,.factor-bars span,.progress-track,.progress-track span,.asset-progress,.asset-progress span,.quality-cell>i,.quality-cell>i>b,.factor-weight-list b,.factor-weight-list em,.stability-list i,.stability-list em,.running-state>div,.running-state>div i,.mini-progress,.mini-progress i,.attribution-list b,.attribution-list em,.allocation-bar,.insight-bars b,.insight-bars i,.factor-health b,.factor-health b i,.model-feature-bars i,.model-feature-bars b,.segment-score i,.segment-score b,.drift-list i,.drift-list b,.feature-importance>i,.feature-importance b,.station-rank b,.station-rank i,.station-rank em,.rank-col-track,.rank-col-track i,.rank-metric i,.rank-metric i b,.report-preview-chart div,.residual-bars>i,.hist-bars>i,.deviation-chart>div,.boxplot-box,.lv-stat-bars i,.lv-tou-row>div,.heat-cell,.heat-row i,.corr-matrix i,.data-corr-matrix>i,.missing-row i,.heat-scale i,.heat-scale b,.legend-line,.legend-box,.factor-legend i,.viz-legend i,.lv-tou-legend i){border-radius:0}
