@charset "UTF-8";.commodities__name[data-v-8627b4fc],.commodities__symbol[data-v-8627b4fc]{display:block}.commodities__symbol[data-v-8627b4fc]{margin-top:2px;color:var(--text-tertiary, rgba(148, 163, 184, .86));font-size:.72rem;font-weight:500}.screener-widget[data-v-64a817b3]{overflow:auto}.screener-widget__table th[data-v-64a817b3],.screener-widget__table td[data-v-64a817b3]{box-sizing:border-box}.screener-widget__table .qtable__sym[data-v-64a817b3]{width:35%}.screener-widget__table th[data-v-64a817b3]:nth-child(2),.screener-widget__table td[data-v-64a817b3]:nth-child(2){width:8%}.screener-widget__table th[data-v-64a817b3]:nth-child(3),.screener-widget__table td[data-v-64a817b3]:nth-child(3){width:13%}.screener-widget__table .qtable__num[data-v-64a817b3]{width:11%;text-align:right}.screener-widget__name[data-v-64a817b3]{display:block;max-width:150px;overflow:hidden;color:var(--text-tertiary, rgba(148, 163, 184, .86));font-size:.72rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.screener-widget__symbol[data-v-64a817b3]{display:block}.screener-widget__sort[data-v-64a817b3]{display:inline-flex;align-items:center;gap:.28rem;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}.screener-widget__sort--num[data-v-64a817b3]{justify-content:flex-end;width:100%}.screener-widget__sort-icon[data-v-64a817b3]{color:var(--text-tertiary, rgba(148, 163, 184, .86));font-size:.68rem;opacity:.45}.screener-widget__sort:hover .screener-widget__sort-icon[data-v-64a817b3]{color:var(--signal-accent, #f5a400);opacity:1}.screener-widget__score[data-v-64a817b3]{display:inline-flex;min-width:2.4rem;justify-content:center;border-radius:999px;padding:2px 7px;background:rgba(148,163,184,.14);color:var(--text-secondary, rgba(226, 232, 240, .9));font-weight:700}.screener-widget__score--high[data-v-64a817b3]{background:rgba(34,197,94,.18);color:#22c55e}.screener-widget__score--mid[data-v-64a817b3]{background:rgba(245,158,11,.16);color:#f59e0b}.screener-widget__score--low[data-v-64a817b3]{background:rgba(239,68,68,.16);color:#ef4444}.movers-widget[data-v-1ea48395]{display:grid;gap:10px;overflow:auto}.movers-widget__section[data-v-1ea48395]{min-width:0}.movers-widget__heading[data-v-1ea48395]{display:flex;align-items:center;gap:7px;margin-bottom:6px;color:var(--text-secondary, rgba(226, 232, 240, .88));font-size:.72rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.movers-widget__dot[data-v-1ea48395]{width:7px;height:7px;border-radius:999px}.movers-widget__dot--up[data-v-1ea48395]{background:#22c55e}.movers-widget__dot--down[data-v-1ea48395]{background:#ef4444}.movers-widget__dot--accent[data-v-1ea48395]{background:#38bdf8}.movers-widget__row[data-v-1ea48395]{display:grid;grid-template-columns:minmax(54px,.7fr) minmax(0,1.8fr) minmax(58px,.7fr);align-items:center;gap:8px;min-height:25px;border-top:1px solid rgba(148,163,184,.12);font-size:.78rem}.movers-widget__symbol[data-v-1ea48395]{color:var(--text-primary, #e5e7eb);font-weight:800}.movers-widget__name[data-v-1ea48395]{overflow:hidden;color:var(--text-tertiary, rgba(148, 163, 184, .86));text-overflow:ellipsis;white-space:nowrap}.movers-widget__value[data-v-1ea48395]{justify-self:end;font-variant-numeric:tabular-nums;font-weight:800}.movers-widget__value--volume[data-v-1ea48395]{color:#38bdf8}.calendar-widget[data-v-c472e695]{align-items:stretch;justify-content:stretch;padding:0}.calendar-widget__tools[data-v-c472e695]{display:flex;align-items:center;gap:6px;margin-left:auto}.calendar-widget__select[data-v-c472e695]{height:24px;border:1px solid var(--signal-border);border-radius:6px;background:var(--signal-surface-elevated);color:var(--signal-text-secondary);font-size:11px;outline:none}.calendar-widget__list[data-v-c472e695]{width:100%;min-height:0;overflow:auto;padding:8px}.calendar-widget__day+.calendar-widget__day[data-v-c472e695]{margin-top:12px}.calendar-widget__date[data-v-c472e695]{position:sticky;top:0;z-index:1;padding:5px 2px 7px;background:var(--signal-surface);color:var(--signal-text-secondary);font-size:11px;font-weight:700;text-transform:uppercase}.calendar-widget__table[data-v-c472e695]{min-width:620px}.calendar-widget__time[data-v-c472e695],.calendar-widget__country[data-v-c472e695]{white-space:nowrap;color:var(--signal-text-secondary)}.calendar-widget__name[data-v-c472e695]{min-width:180px}.calendar-widget__actual[data-v-c472e695]{font-weight:700}.calendar-widget__importance[data-v-c472e695]{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:18px;border-radius:4px;font-size:10px;font-weight:700}.calendar-widget__importance--high[data-v-c472e695]{background:rgba(248,113,113,.14);color:#fca5a5}.calendar-widget__importance--medium[data-v-c472e695]{background:rgba(251,191,36,.14);color:#facc15}.calendar-widget__importance--low[data-v-c472e695]{background:rgba(148,163,184,.12);color:var(--signal-text-tertiary)}.heatmap-widget[data-v-d1ce545d]{align-items:stretch;justify-content:stretch;padding:0}.heatmap-widget__tools[data-v-d1ce545d]{display:flex;align-items:center;gap:6px;margin-left:auto}.heatmap-widget__select[data-v-d1ce545d]{height:24px;max-width:116px;border:1px solid var(--signal-border);border-radius:6px;background:var(--signal-surface-elevated);color:var(--signal-text-secondary);font-size:11px;outline:none}.heatmap-widget__select--filter[data-v-d1ce545d]{width:112px}.heatmap-widget__content[data-v-d1ce545d]{width:100%;min-height:0;overflow:auto;padding:8px}.heatmap-widget__sector+.heatmap-widget__sector[data-v-d1ce545d]{margin-top:12px}.heatmap-widget__sector-head[data-v-d1ce545d]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;color:var(--signal-text-secondary);font-size:11px;font-weight:700;text-transform:uppercase}.heatmap-widget__tiles[data-v-d1ce545d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-auto-rows:64px;gap:4px}.heatmap-widget__tile[data-v-d1ce545d]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;border:1px solid rgba(148,163,184,.16);border-radius:6px;padding:7px;overflow:hidden}.heatmap-widget__tile--md[data-v-d1ce545d]{grid-column:span 2}.heatmap-widget__tile--lg[data-v-d1ce545d]{grid-column:span 2;grid-row:span 2}.heatmap-widget__symbol[data-v-d1ce545d]{color:var(--signal-text-primary);font-size:12px;font-weight:800}.heatmap-widget__name[data-v-d1ce545d]{min-width:0;overflow:hidden;color:var(--signal-text-secondary);font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.heatmap-widget__metric[data-v-d1ce545d]{align-self:end;color:var(--signal-text-primary);font-size:13px;font-weight:800}.heatmap-widget__score[data-v-d1ce545d]{color:var(--signal-text-tertiary);font-size:10px}.heatmap-widget--strong-up[data-v-d1ce545d]{background:rgba(34,197,94,.26)}.heatmap-widget--up[data-v-d1ce545d]{background:rgba(34,197,94,.14)}.heatmap-widget--strong-down[data-v-d1ce545d]{background:rgba(248,113,113,.26)}.heatmap-widget--down[data-v-d1ce545d]{background:rgba(248,113,113,.14)}.heatmap-widget--flat[data-v-d1ce545d]{background:rgba(148,163,184,.08)}.market-map-widget[data-v-25d73428]{padding:0}.market-map-widget__tools[data-v-25d73428]{display:flex;align-items:center;gap:6px;margin-left:auto}.market-map-widget__select[data-v-25d73428]{height:24px;max-width:92px;border:1px solid var(--signal-border);border-radius:6px;background:var(--signal-surface-elevated);color:var(--signal-text-secondary);font-size:11px;outline:none}.market-map-widget__select--sector[data-v-25d73428]{max-width:130px}.market-map-widget__map[data-v-25d73428]{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:#080a0d}.market-map-widget__sector[data-v-25d73428],.market-map-widget__tile[data-v-25d73428]{position:absolute;box-sizing:border-box}.market-map-widget__sector[data-v-25d73428]{overflow:hidden;border:1px solid rgba(148,163,184,.2);background:rgba(10,12,16,.84)}.market-map-widget__sector-title[data-v-25d73428]{display:flex;height:20px;align-items:center;justify-content:space-between;gap:8px;padding:0 6px;border-bottom:1px solid rgba(148,163,184,.16);color:var(--signal-text-secondary);font-size:10px;font-weight:800;line-height:20px;overflow:hidden;text-transform:uppercase;white-space:nowrap}.market-map-widget__tile[data-v-25d73428]{display:grid;grid-template-rows:1fr auto auto;min-width:0;min-height:0;border:1px solid rgba(15,23,42,.7);padding:5px;overflow:hidden;color:var(--signal-text-primary);cursor:default;text-align:left}.market-map-widget__tile strong[data-v-25d73428]{min-width:0;overflow:hidden;align-self:end;font-size:11px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.market-map-widget__tile span[data-v-25d73428]{font-size:10px;font-weight:800;line-height:1.05}.market-map-widget__tile small[data-v-25d73428]{min-width:0;overflow:hidden;color:#e2e8f0ad;font-size:9px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.market-map-widget__tile--large[data-v-25d73428]{padding:8px}.market-map-widget__tile--large strong[data-v-25d73428]{align-self:center;font-size:clamp(20px,3.2vh,34px);text-align:center}.market-map-widget__tile--large span[data-v-25d73428]{font-size:15px;text-align:center}.market-map-widget__tile--large small[data-v-25d73428]{text-align:center}.market-map-widget__tile--medium strong[data-v-25d73428]{font-size:12px}.market-map-widget__tile--medium small[data-v-25d73428],.market-map-widget__tile--micro strong[data-v-25d73428],.market-map-widget__tile--micro span[data-v-25d73428],.market-map-widget__tile--micro small[data-v-25d73428]{display:none}.market-map-widget--up[data-v-25d73428]{color:#22c55e}.market-map-widget--down[data-v-25d73428]{color:#ef4444}.market-map-widget--flat[data-v-25d73428]{color:var(--signal-text-tertiary)}.crypto-ticker[data-v-50d1f41d]{overflow:auto}.crypto-ticker__grid[data-v-50d1f41d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;width:100%}.crypto-ticker__tile[data-v-50d1f41d]{min-width:0;padding:10px;border:1px solid rgba(148,163,184,.18);border-radius:6px;background:rgba(15,23,42,.38)}.crypto-ticker__symbol[data-v-50d1f41d],.crypto-ticker__change[data-v-50d1f41d]{display:block;font-size:11px;line-height:1.25}.crypto-ticker__symbol[data-v-50d1f41d]{color:#e2e8f0b8}.crypto-ticker__price[data-v-50d1f41d]{display:block;margin:4px 0;overflow:hidden;color:#f8fafc;font-size:18px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.quote-tape[data-v-ea2148df]{position:relative;box-sizing:border-box;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;padding:0 34px 0 8px;overflow:hidden}.quote-tape__viewport[data-v-ea2148df]{display:flex;align-items:center;width:100%;height:100%;min-height:0;overflow:hidden}.quote-tape__track[data-v-ea2148df]{display:flex;align-items:center;gap:14px;min-width:max-content;height:100%;animation:quote-tape-scroll-ea2148df 38s linear infinite}.quote-tape__item[data-v-ea2148df]{display:inline-flex;align-items:center;gap:6px;min-width:112px;height:100%;white-space:nowrap}.quote-tape__symbol[data-v-ea2148df]{color:#f8fafc;font-size:12px;font-weight:700;line-height:1.2}.quote-tape__price[data-v-ea2148df],.quote-tape__change[data-v-ea2148df]{font-size:12px;line-height:1.2}.quote-tape__close[data-v-ea2148df]{position:absolute;top:50%;right:6px;z-index:2;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:transparent;color:var(--signal-text-tertiary);cursor:pointer;transform:translateY(-50%)}.quote-tape__close[data-v-ea2148df]:hover{background:rgba(255,255,255,.07);color:var(--signal-text-primary)}@keyframes quote-tape-scroll-ea2148df{0%{transform:translate(0)}to{transform:translate(-50%)}}.stock-quote[data-v-ba6abad1]{overflow:auto}.stock-quote__card[data-v-ba6abad1]{width:100%;min-width:0}.stock-quote__top[data-v-ba6abad1],.stock-quote__change[data-v-ba6abad1],.stock-quote__range[data-v-ba6abad1],.stock-quote__range>div[data-v-ba6abad1]{display:flex;align-items:center}.stock-quote__top[data-v-ba6abad1],.stock-quote__range[data-v-ba6abad1]{justify-content:space-between}.stock-quote__symbol[data-v-ba6abad1]{color:#e2e8f0b8;font-size:12px;font-weight:700}.stock-quote__badge[data-v-ba6abad1]{padding:3px 7px;border:1px solid rgba(148,163,184,.2);border-radius:999px;color:#e2e8f0ad;font-size:10px;text-transform:uppercase}.stock-quote__price[data-v-ba6abad1]{display:block;margin:10px 0 6px;overflow:hidden;color:#f8fafc;font-size:34px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.stock-quote__change[data-v-ba6abad1]{gap:10px;font-size:13px;font-weight:700}.stock-quote__range[data-v-ba6abad1]{gap:12px;margin:16px 0 0}.stock-quote__range>div[data-v-ba6abad1]{justify-content:space-between;width:100%;min-width:0;padding:8px 10px;border:1px solid rgba(148,163,184,.16);border-radius:6px;background:rgba(15,23,42,.34)}.stock-quote__range dt[data-v-ba6abad1],.stock-quote__range dd[data-v-ba6abad1]{margin:0;font-size:12px}.stock-quote__range dt[data-v-ba6abad1]{color:#e2e8f094}.stock-quote__range dd[data-v-ba6abad1]{color:#f8fafc}.spark-ticker[data-v-9c1916be]{overflow:auto}.spark-ticker__table[data-v-9c1916be]{min-width:380px}.spark-ticker__svg[data-v-9c1916be]{display:block;width:120px;height:34px}.spark-ticker__line[data-v-9c1916be]{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.notes-widget[data-v-57a11747]{align-items:stretch;justify-content:stretch;padding:0}.notes-widget__input[data-v-57a11747]{width:100%;height:100%;min-height:0;resize:none;border:none;outline:none;background:#0b0c0e;color:var(--signal-text-primary);padding:10px 12px;line-height:1.5;font-size:12px}.notes-widget__input[data-v-57a11747]::placeholder{color:var(--signal-text-tertiary)}.recent-files[data-v-d2dc2e2e]{align-items:stretch;justify-content:flex-start;flex-direction:column;gap:8px;padding:8px;overflow:hidden}.recent-files__form[data-v-d2dc2e2e]{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) 28px;gap:6px;flex-shrink:0}.recent-files__form input[data-v-d2dc2e2e]{min-width:0;height:28px;border:1px solid var(--signal-border);border-radius:4px;background:var(--signal-bg-input);color:var(--signal-text-primary);padding:0 8px;outline:none;font-size:12px}.recent-files__form input[data-v-d2dc2e2e]:focus{border-color:var(--signal-accent)}.recent-files__form button[data-v-d2dc2e2e],.recent-files__list button[data-v-d2dc2e2e]{border:none;border-radius:4px;background:#202634;color:var(--signal-text-secondary);cursor:pointer}.recent-files__form button[data-v-d2dc2e2e]:hover,.recent-files__list button[data-v-d2dc2e2e]:hover{color:var(--signal-text-primary);background:#2a2e3b}.recent-files__list[data-v-d2dc2e2e]{min-height:0;overflow:auto;list-style:none;display:flex;flex-direction:column}.recent-files__list li[data-v-d2dc2e2e]{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--signal-border)}.recent-files__list a[data-v-d2dc2e2e],.recent-files__list div[data-v-d2dc2e2e]{min-width:0;display:flex;flex-direction:column;gap:2px;color:var(--signal-text-primary);text-decoration:none}.recent-files__list a:hover span[data-v-d2dc2e2e]{color:var(--signal-accent)}.recent-files__list span[data-v-d2dc2e2e],.recent-files__list small[data-v-d2dc2e2e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-files__list small[data-v-d2dc2e2e]{color:var(--signal-text-tertiary);font-size:11px}:root{--signal-font-family: "IBM Plex Mono", "Roboto Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--signal-bg-page: #131722;--signal-bg-app: #2f2f2e;--signal-bg-dark: #0e0f0e;--signal-bg-elevated: #1e222d;--signal-bg-panel: #0f0e0e;--signal-bg-input: #131722;--signal-border: #2a2e39;--signal-border-strong: #363a45;--signal-text-primary: #d1d4dc;--signal-text-secondary: #787b86;--signal-text-tertiary: #4c525e;--signal-accent: #f0a500;--signal-accent-soft: rgba(240, 165, 0, .1);--signal-accent-market: #d79214;--signal-accent-info: #2d8bc8;--signal-accent-analysis: #42b977;--signal-accent-volatility: #8d68db;--signal-accent-alert: #dc5050;--signal-accent-attention: #c9ae37;--signal-accent-neutral: #8a929e;--signal-positive: #26a69a;--signal-negative: #ef5350;--signal-info: #42a5f5;--signal-bg-widget: #0f1217;--signal-bg-widget-body: #101114;--signal-bg-widget-header: #101318;--signal-bg-widget-header-hover: #13171c;--signal-bg-widget-control-hover: #0c1014;--signal-border-soft: #1b2027;--signal-border-widget: rgba(42, 46, 57, .34);--bg-card: #1e2a3a;--bg-input: #111d2b;--bg-tag: #1a3a5c;--border: #2d3f55;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #8899aa}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;overflow:hidden;font-family:var(--signal-font-family);background:var(--signal-bg-page);color:var(--signal-text-primary);font-size:13px}button,input,select,textarea{font:inherit}*{scrollbar-color:#4c525e #0f0e0e;scrollbar-width:thin}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:#0f0e0e}*::-webkit-scrollbar-thumb{background:#4c525e;border:2px solid #0f0e0e;border-radius:8px}*::-webkit-scrollbar-thumb:hover{background:#787b86}.btn-primary{width:100%;padding:11px;background:var(--signal-accent);color:#000;font-weight:600;font-size:14px;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#f5b930}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--signal-border);color:var(--signal-text-primary);border-radius:4px;padding:4px 8px;cursor:pointer;font-size:12px;transition:border-color .15s}.btn-ghost:hover{border-color:var(--signal-text-secondary)}.btn-sm{padding:3px 8px;font-size:11px}.spinner{width:16px;height:16px;border:2px solid var(--signal-border);border-top-color:var(--signal-accent);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.view-stub{flex:1;display:flex;align-items:center;justify-content:center;color:var(--signal-text-tertiary);font-size:14px}.cell-bull{color:var(--signal-positive)}.cell-bear{color:var(--signal-negative)}.cell-warn{color:var(--signal-accent)}.cell-accent{color:#90caf9}.cell-dim{color:var(--signal-text-tertiary)}.score-chip{display:inline-block;padding:1px 6px;border-radius:10px;font-size:11px;font-weight:600;background:rgba(120,123,134,.15);color:var(--signal-text-secondary)}.score-chip--high{background:rgba(38,166,154,.15);color:var(--signal-positive)}.score-chip--mid{background:rgba(240,165,0,.12);color:var(--signal-accent)}.score-chip--neg{background:rgba(239,83,80,.12);color:var(--signal-negative)}.login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0f16;display:flex;align-items:center;justify-content:center;z-index:1000}.login-overlay .login-card{background:var(--signal-bg-elevated);border:1px solid var(--signal-border);border-radius:12px;padding:40px 36px;width:360px;box-shadow:0 24px 48px #00000080}.login-overlay .login-logo{font-size:28px;font-weight:700;color:var(--signal-accent);letter-spacing:-.5px;margin-bottom:4px}.login-overlay .login-subtitle{color:var(--signal-text-secondary);font-size:13px;margin-bottom:28px}.login-overlay .form-group{margin-bottom:14px}.login-overlay .form-group input{width:100%;padding:10px 14px;background:var(--signal-bg-input);border:1px solid var(--signal-border);border-radius:6px;color:var(--signal-text-primary);font-size:14px;transition:border-color .15s}.login-overlay .form-group input:focus{outline:none;border-color:var(--signal-accent)}.login-overlay .login-error{color:var(--signal-negative);font-size:12px;margin-bottom:12px;padding:8px 12px;background:rgba(239,83,80,.1);border-radius:4px}.app-root{display:flex;flex-direction:column;height:100%;overflow:hidden;background-color:var(--signal-bg-app)}.app-root--with-dock>:not(.app-header):not(.app-dock){padding-right:58px}.app-header{height:44px;flex-shrink:0;background:var(--signal-bg-dark);border-bottom:1px solid rgba(42,46,57,.5);display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:16px}.app-header .header-left{display:flex;align-items:center;gap:12px;min-width:0;flex-shrink:0}.app-header .header-center{flex:1;min-width:0;display:flex;align-items:center}.app-header .header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.app-header .header-actions-portal{display:flex;align-items:center;gap:8px}.app-header .header-nav{display:flex;align-items:center;gap:9px}.app-header .header-nav__item{width:30px;height:30px;border:none;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#8f97ab;text-decoration:none;cursor:pointer;font-size:17px;transition:background .14s ease,color .14s ease}.app-header .header-nav__item:hover{background:#1a2030;color:#f3f6ff}.app-header .header-nav__item.router-link-active,.app-header .header-nav__item.active{background:#232b3d;color:#fff;box-shadow:inset 0 0 0 1px #ffffff0a}.app-header .header-session-separator{width:1px;height:22px;background:rgba(255,255,255,.08)}.app-header .app-logo{font-size:20px;font-weight:700;letter-spacing:-.3px}.app-header .header-context{color:var(--signal-text-secondary);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.app-header .btn-logout{width:28px;height:28px;min-width:auto;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#8f97ab;transition:background .14s ease,color .14s ease}.app-header .btn-logout:hover{border:none;background:#1a2030;color:#f3f6ff}.app-dock{position:fixed;top:47px;right:0;bottom:0;width:58px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 0;background:var(--signal-bg-panel);border-top-left-radius:4px;z-index:120}.app-dock--open{border-top-left-radius:0!important;border-left:3px #131623 solid}.app-dock__item{border:none;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#8f97ab;text-decoration:none;cursor:pointer;transition:all .14s ease;font-size:20px}.app-dock__item:hover{background:#1a2030;color:#f3f6ff}.app-dock__item.router-link-active,.app-dock__item.active{background:#232b3d;color:#fff;box-shadow:inset 0 0 0 1px #ffffff0a}.app-dock__sep{width:24px;height:1px;background:rgba(255,255,255,.08)}@media (max-width: 960px){.app-dock{width:50px}.app-dock__item{width:32px;height:32px}}.app-footer{flex-shrink:0;height:21px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 10px;background:var(--signal-bg-dark);border-top:1px solid var(--signal-border);color:var(--signal-text-tertiary);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;-webkit-user-select:none;user-select:none}.app-footer__group{display:flex;align-items:center;gap:10px;min-width:0}.app-footer__group--left{overflow:hidden}.app-footer__group--right{flex-shrink:0}.app-footer__version{color:var(--signal-text-secondary);font-weight:700}.app-footer__sep{width:1px;height:10px;background:var(--signal-border-strong);flex-shrink:0}.app-footer__assets{display:flex;gap:5px}.app-footer__asset{font-weight:700;color:var(--signal-text-tertiary)}.app-footer__asset--fresh{color:var(--signal-positive)}.app-footer__asset--stale{color:var(--signal-accent)}.app-footer__asset--none{color:var(--signal-text-tertiary);opacity:.55}.app-footer__item{white-space:nowrap;color:var(--signal-text-tertiary)}.app-footer__item b{color:var(--signal-text-secondary);font-weight:700;font-variant-numeric:tabular-nums}.app-footer__ok{color:var(--signal-positive)}.app-footer__warn{color:var(--signal-accent)}.app-footer__bad{color:var(--signal-negative)}.app-footer__muted{color:var(--signal-text-tertiary)}.app-footer__status{display:inline-flex;align-items:center;gap:4px;font-weight:700}.app-footer__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.app-footer__alerts{color:var(--signal-text-tertiary);text-decoration:none;font-weight:700;padding:0 4px}.app-footer__alerts:hover{color:var(--signal-accent)}.command-bar{position:relative;width:min(340px,32vw);min-width:170px;flex-shrink:1}.command-bar__field{height:30px;display:flex;align-items:center;gap:6px;padding:0 6px 0 9px;background:var(--signal-bg-input, #131722);border:1px solid var(--signal-border);border-radius:5px}.command-bar--open .command-bar__field{border-color:var(--signal-accent)}.command-bar__icon{color:var(--signal-text-tertiary);font-size:12px}.command-bar__instrument{flex-shrink:0;font-size:11px;font-weight:700;color:#050505;background:var(--signal-accent);border-radius:3px;padding:1px 5px;letter-spacing:.03em}.command-bar__input{flex:1;min-width:0;height:100%;border:none;background:transparent;outline:none;color:var(--signal-text-primary);font-size:12px;letter-spacing:.02em}.command-bar__input::placeholder{color:var(--signal-text-tertiary)}.command-bar__go{flex-shrink:0;font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--signal-text-tertiary);border:1px solid var(--signal-border-strong);border-radius:3px;padding:1px 4px}.command-bar__menu{position:absolute;top:34px;left:0;z-index:320;min-width:340px;max-width:460px;max-height:62vh;overflow-y:auto;padding:4px;background:var(--signal-bg-elevated);border:1px solid var(--signal-border-strong);border-radius:6px;box-shadow:0 16px 42px #0000008c}.command-bar__feedback{padding:6px 8px;margin-bottom:2px;font-size:11px;color:var(--signal-accent);border-bottom:1px solid var(--signal-border)}.command-bar__section{padding:6px 8px 3px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--signal-text-tertiary)}.command-bar__item{width:100%;display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:5px 8px;border:none;background:transparent;border-radius:4px;color:var(--signal-text-secondary);cursor:pointer;text-align:left}.command-bar__item:hover,.command-bar__item.active{background:#202838;color:var(--signal-text-primary)}.command-bar__mnemonic{font-weight:700;font-size:12px;color:var(--signal-text-primary);letter-spacing:.03em}.command-bar__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.command-bar__cat{font-size:10px;color:var(--signal-text-tertiary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.cmd-palette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;background:rgba(0,0,0,.5)}.cmd-palette__panel{width:min(640px,100vw - 40px);max-height:70vh;display:flex;flex-direction:column;background:var(--signal-bg-elevated);border:1px solid var(--signal-border-strong);border-radius:8px;box-shadow:0 24px 64px #0009;overflow:hidden}.cmd-palette__field{height:46px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--signal-border)}.cmd-palette__icon{color:var(--signal-text-tertiary)}.cmd-palette__instrument{flex-shrink:0;font-size:12px;font-weight:700;color:#050505;background:var(--signal-accent);border-radius:3px;padding:2px 6px}.cmd-palette__input{flex:1;min-width:0;height:100%;border:none;background:transparent;outline:none;color:var(--signal-text-primary);font-size:14px}.cmd-palette__input::placeholder{color:var(--signal-text-tertiary)}.cmd-palette__go{font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--signal-text-tertiary);border:1px solid var(--signal-border-strong);border-radius:3px;padding:2px 5px}.cmd-palette__feedback{padding:8px 12px;font-size:12px;color:var(--signal-accent);border-bottom:1px solid var(--signal-border)}.cmd-palette__list{flex:1;min-height:0;overflow-y:auto;padding:4px}.cmd-palette__section{padding:7px 10px 3px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--signal-text-tertiary)}.cmd-palette__item{width:100%;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:7px 10px;border:none;background:transparent;border-radius:5px;color:var(--signal-text-secondary);cursor:pointer;text-align:left}.cmd-palette__item:hover,.cmd-palette__item.active{background:#202838;color:var(--signal-text-primary)}.cmd-palette__mnemonic{font-weight:700;font-size:13px;color:var(--signal-text-primary);letter-spacing:.03em}.cmd-palette__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.cmd-palette__tag{font-size:10px;color:var(--signal-text-tertiary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.cmd-palette__tag--todo{color:var(--signal-accent)}.cmd-palette__hint{flex-shrink:0;padding:7px 12px;border-top:1px solid var(--signal-border);font-size:10px;color:var(--signal-text-tertiary)}.chart-header-controls{min-width:0;display:flex;align-items:center;gap:10px;overflow:visible}.chart-header-controls__group{display:flex;align-items:center;gap:4px;min-width:0;overflow:visible;scrollbar-width:none}.chart-header-controls__group::-webkit-scrollbar{display:none}.chart-header-controls__group--indicators,.chart-header-controls__group--compact{margin-left:auto}.chart-header-btn{flex-shrink:0;padding:4px 8px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--signal-text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .14s ease}.chart-header-btn:hover{background:rgba(42,46,57,.7);color:var(--signal-text-primary)}.chart-header-btn.active{color:var(--signal-text-primary);border-color:#4282ffbf;background:rgba(41,98,255,.12)}.chart-header-btn--indicator.active{color:#67d9c9;border-color:#67d9c999;background:rgba(37,166,154,.12)}.chart-header-btn--picker{display:inline-flex;align-items:center;gap:8px;min-height:30px}.chart-header-btn--wide{padding-inline:10px}.chart-symbol-search__trigger{width:132px;flex-shrink:0;min-height:30px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border-radius:8px;border:none;background:var(--signal-border-strong);color:var(--signal-text-primary);cursor:pointer;transition:all .14s ease}.chart-symbol-search__trigger:hover{border-color:#4282ff73;background:rgba(24,29,43,.96)}.chart-symbol-search__trigger i{font-size:11px;color:var(--signal-text-secondary)}.chart-symbol-search__trigger-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;text-transform:uppercase}.chart-symbol-search__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(7,9,14,.55);z-index:260}.chart-symbol-search__modal{position:fixed;top:76px;left:50%;transform:translate(-50%);width:min(560px,100vw - 40px);max-height:min(72vh,720px);display:flex;flex-direction:column;background:#17191f;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 28px 90px #00000073;z-index:261;overflow:hidden}.chart-symbol-search__modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.07);color:var(--signal-text-primary)}.chart-symbol-search__close{border:none;background:transparent;color:var(--signal-text-secondary);cursor:pointer;font-size:18px}.chart-symbol-search__input{margin:16px 20px 0;width:calc(100% - 40px);padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:var(--signal-text-primary);font-size:14px;font-weight:600;text-transform:uppercase}.chart-symbol-search__input:focus{outline:none;border-color:#4282ffcc}.chart-symbol-search__results{margin-top:14px;padding:0 10px 10px;overflow-y:auto}.chart-symbol-search__state,.chart-symbol-search__empty{padding:24px 14px;color:var(--signal-text-secondary);font-size:13px}.chart-symbol-search__item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:12px 14px;border:none;border-bottom:1px solid rgba(42,46,57,.45);border-radius:10px;background:transparent;color:var(--signal-text-primary);cursor:pointer;text-align:left}.chart-symbol-search__item:last-child{border-bottom:none}.chart-symbol-search__item:hover{background:rgba(42,46,57,.72)}.chart-symbol-search__symbol{font-size:12px;font-weight:700}.chart-symbol-search__name{font-size:11px;color:var(--signal-text-secondary)}.chart-symbol-search__item--manual .chart-symbol-search__name{color:#78a8ff}.chart-header-popover{position:relative;overflow:visible}.chart-header-popover__menu{position:absolute;top:calc(100% + 8px);left:0;min-width:156px;background:var(--signal-bg-elevated);border:1px solid var(--signal-border);border-radius:10px;padding:6px;box-shadow:0 16px 44px #00000059;z-index:220}.chart-header-popover__item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--signal-text-secondary);font-size:12px;cursor:pointer;text-align:left}.chart-header-popover__item:hover,.chart-header-popover__item.active{background:rgba(42,46,57,.75);color:var(--signal-text-primary)}.chart-indicators-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(7,9,14,.55);z-index:240}.chart-indicators-modal{position:fixed;top:78px;left:50%;transform:translate(-50%);width:min(620px,100vw - 48px);background:#1f1f20;border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 28px 90px #00000073;z-index:241}.chart-indicators-modal__header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.07);color:var(--signal-text-primary)}.chart-indicators-modal__close{border:none;background:transparent;color:var(--signal-text-secondary);cursor:pointer;font-size:18px}.chart-indicators-modal__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 20px 20px}.chart-indicators-modal__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);color:var(--signal-text-secondary);cursor:pointer;font-size:13px}.chart-indicators-modal__item.active{color:#fff;border-color:#4dd6bf66;background:rgba(77,214,191,.08)}@media (max-width: 900px){.chart-symbol-search__trigger{width:112px}.chart-header-btn--wide span{display:none}}.watchlist-panel{width:240px;min-width:240px;flex-shrink:0;display:flex;flex-direction:column;background-color:var(--signal-bg-panel);overflow:hidden}.watchlist-panel .watchlist-header{padding:8px 10px 6px;border-bottom:1px solid var(--signal-border);flex-shrink:0}.watchlist-panel .watchlist-title{font-size:11px;font-weight:600;color:var(--signal-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.watchlist-panel .watchlist-items{flex:1;overflow-y:auto}.watchlist-panel .watchlist-item{display:flex;align-items:center;padding:7px 10px;cursor:pointer;border-bottom:1px solid rgba(42,46,57,.5);transition:background .1s;gap:8px}.watchlist-panel .watchlist-item:hover{background:rgba(42,46,57,.5)}.watchlist-panel .watchlist-item.active{background:rgba(240,165,0,.07)}.watchlist-panel .wi-info{flex:1;min-width:0}.watchlist-panel .wi-symbol{font-size:12px;font-weight:600;color:var(--signal-text-primary)}.watchlist-panel .wi-name{font-size:10px;color:var(--signal-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watchlist-panel .wi-price-col{text-align:right;flex-shrink:0}.watchlist-panel .wi-price{font-size:12px;font-weight:500}.watchlist-panel .wi-change{font-size:10px}.watchlist-panel .wi-change.positive{color:var(--signal-positive)}.watchlist-panel .wi-change.negative{color:var(--signal-negative)}.watchlist-panel .wi-remove{background:none;border:none;color:var(--signal-text-tertiary);cursor:pointer;font-size:14px;line-height:1;padding:2px;opacity:0;transition:opacity .15s,color .15s}.watchlist-panel .watchlist-item:hover .wi-remove{opacity:1}.watchlist-panel .wi-remove:hover{color:var(--signal-negative)}.watchlist-panel.watchlist-panel--docked{width:100%;min-width:0;height:100%;border-left:none}.ticker-search{position:relative}.ticker-search input{width:100%;padding:6px 10px;background:var(--signal-bg-input);border:none;border-radius:4px;color:var(--signal-text-primary);font-size:12px}.ticker-search input:focus{outline:none;border-color:var(--signal-accent)}.ticker-search .search-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--signal-bg-elevated);border:1px solid var(--signal-border);border-radius:4px;z-index:100;max-height:200px;overflow-y:auto}.ticker-search .search-item{padding:7px 10px;cursor:pointer;border-bottom:1px solid rgba(42,46,57,.5);display:flex;justify-content:space-between;align-items:center}.ticker-search .search-item:last-child{border-bottom:none}.ticker-search .search-item:hover{background:rgba(42,46,57,.6)}.ticker-search .search-item-symbol{font-size:12px;font-weight:600;color:var(--signal-text-primary)}.ticker-search .search-item-name{font-size:10px;color:var(--signal-text-secondary)}.alert-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000}.alert-backdrop .alert-dialog{background:var(--signal-bg-elevated);border:1px solid var(--signal-border);border-radius:6px;width:420px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px #00000080}.alert-backdrop .dialog-header{display:flex;align-items:center;gap:8px;padding:14px 16px 12px;border-bottom:1px solid var(--signal-border)}.alert-backdrop .dialog-title{font-size:13px;color:var(--signal-text-secondary)}.alert-backdrop .dialog-symbol{font-size:14px;font-weight:600;color:var(--signal-text-primary);flex:1}.alert-backdrop .dialog-close{background:none;border:none;color:var(--signal-text-secondary);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:3px;line-height:1}.alert-backdrop .dialog-close:hover{color:var(--signal-text-primary);background:#2a2e3b}.alert-backdrop .dialog-body{padding:16px;display:flex;flex-direction:column;gap:14px}.alert-backdrop .field-group{display:flex;flex-direction:column;gap:6px}.alert-backdrop .field-label{font-size:11px;color:var(--signal-text-secondary);text-transform:uppercase;letter-spacing:.5px}.alert-backdrop .condition-row{display:flex;gap:8px}.alert-backdrop .dialog-select{flex:1;background:var(--signal-bg-input);border:1px solid var(--signal-border);border-radius:4px;color:var(--signal-text-primary);font-size:13px;padding:6px 8px;outline:none;cursor:pointer}.alert-backdrop .dialog-select:focus{border-color:#2962ff}.alert-backdrop .dialog-input{background:var(--signal-bg-input);border:1px solid var(--signal-border);border-radius:4px;color:var(--signal-text-primary);font-size:13px;padding:6px 10px;outline:none;width:100%;box-sizing:border-box}.alert-backdrop .dialog-input:focus{border-color:#2962ff}.alert-backdrop .dialog-error{margin:0 16px;font-size:12px;color:var(--signal-negative)}.alert-backdrop .dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--signal-border)}.alert-backdrop .btn-cancel{padding:7px 16px;border:1px solid var(--signal-border);border-radius:4px;background:transparent;color:var(--signal-text-secondary);font-size:13px;cursor:pointer}.alert-backdrop .btn-cancel:hover{color:var(--signal-text-primary);background:#2a2e3b}.alert-backdrop .btn-create{padding:7px 20px;border:none;border-radius:4px;background:#2962ff;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.alert-backdrop .btn-create:hover:not(:disabled){background:#1e4fd8}.alert-backdrop .btn-create:disabled{opacity:.5;cursor:not-allowed}.chart-area{flex:1;overflow:hidden;display:flex;flex-direction:column;background-color:#0f0e0e;min-height:0}.chart-main{flex:1;min-height:0;position:relative;overflow:hidden;background-color:#0f0e0e}.chart-panel{flex-shrink:0;height:120px;border-top:0px solid var(--signal-border);position:relative;overflow:hidden}.panel-label{position:absolute;top:4px;left:8px;font-size:10px;color:var(--signal-text-tertiary);z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none}.chart-panel-inner{width:100%;height:100%}.chart-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998}.chart-ctx-menu{position:fixed;background:var(--signal-bg-elevated);border:1px solid var(--signal-border-strong);border-radius:4px;padding:4px 0;z-index:9999;min-width:210px;box-shadow:0 4px 20px #00000080}.chart-ctx-menu .ctx-item{padding:8px 14px;font-size:13px;color:var(--signal-text-primary);cursor:pointer;display:flex;align-items:center;gap:9px;white-space:nowrap}.chart-ctx-menu .ctx-item:hover{background:#2a2e3b}.chart-ctx-menu .ctx-item i{width:14px;text-align:center;font-size:12px;opacity:.8}.chart-ctx-menu .ctx-item.ctx-danger{color:var(--signal-negative)}.chart-ctx-menu .ctx-item.ctx-danger:hover{background:rgba(239,83,80,.1)}.chart-ctx-menu .ctx-sep{height:1px;background:var(--signal-border);margin:4px 0}.market-map-card{flex:1;display:flex;flex-direction:column;gap:10px;min-height:0}.market-map-card .market-map-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.market-map-card .market-map-title-wrap{display:flex;flex-direction:column;gap:4px}.market-map-card .market-map-title{font-size:11px;font-weight:700;color:#8d98ad;text-transform:uppercase;letter-spacing:.07em}.market-map-card .market-map-subtitle{font-size:11px;color:#5f6c86}.market-map-card .market-map-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.market-map-card .market-map-toggle-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.market-map-card .market-map-select{border:1px solid #31384b;background:#151b27;color:#cdd3e0;border-radius:999px;padding:5px 9px;font-size:11px;line-height:1;cursor:pointer;outline:none}.market-map-card .market-map-select:hover{border-color:var(--signal-accent)}.market-map-card .market-map-toggle{border:1px solid #31384b;background:#151b27;color:#9ca5ba;border-radius:999px;padding:5px 9px;font-size:11px;line-height:1;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.market-map-card .market-map-toggle:hover{border-color:#55607a;color:#e3e8f4}.market-map-card .market-map-toggle--active{background:rgba(240,165,0,.12);border-color:#f0a50073;color:#f4c15b}.market-map-card .market-map-toggle-count{color:#6f7b97;margin-left:4px}.market-map-card .market-map-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:11px;color:#7f8aa3}.market-map-card .market-map-legend-item{display:inline-flex;align-items:center;gap:6px}.market-map-card .market-map-legend-swatch{width:10px;height:10px;border-radius:999px;display:inline-block}.market-map-card .market-map-legend-swatch--bull{background:linear-gradient(180deg,#30b48a,#175845)}.market-map-card .market-map-legend-swatch--neutral{background:linear-gradient(180deg,#47536a,#242d3c)}.market-map-card .market-map-legend-swatch--bear{background:linear-gradient(180deg,#c75b4a,#5d231b)}.market-map-card .market-map-legend-note{color:#5f6c86}@media (max-width: 1100px){.market-map-card .market-map-controls{justify-content:flex-start}}.market-heatmap-grid{--cell-min: 88px;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--cell-min),1fr));gap:4px;overflow-y:auto;flex:1;align-content:flex-start}.market-heatmap-grid--compact{--cell-min: 76px}.market-heatmap-grid--balanced{--cell-min: 88px}.market-heatmap-grid--focus{--cell-min: 104px}.market-heatmap-cell{border:none;border-radius:10px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:4px;aspect-ratio:1/1;padding:8px;min-height:var(--cell-min);overflow:hidden;cursor:pointer;text-align:left}.market-heatmap-cell:hover{filter:brightness(1.08);font-weight:800}.market-heatmap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.market-heatmap-symbol{font-size:10px;font-weight:300;letter-spacing:.02em;color:#f3f6fd}.market-heatmap-universe{font-size:9px;line-height:1;letter-spacing:.06em;color:#e8eef8b8;text-transform:uppercase}.market-heatmap-change{font-size:18px;font-weight:600;line-height:1;color:#fff;letter-spacing:-.03em}.market-heatmap-change--positive{color:#c9ffe3}.market-heatmap-change--negative{color:#ffd2cc}.market-heatmap-change--neutral{color:#fff}.market-heatmap-meta{font-size:11px;color:#e8eef8d1}.market-treemap-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#64708b;font-size:12px;border:1px dashed #30384b;border-radius:14px}.market-treemap-board{position:relative;flex:1;min-height:440px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0)),#111722;border:1px solid #273044;overflow:hidden}.market-treemap-sector{position:absolute;padding:3px}.market-treemap-sector-header{height:26px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;border-radius:10px 10px 0 0;background:rgba(9,14,22,.6);color:#8d99b3;font-size:10px;text-transform:uppercase;letter-spacing:.06em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.market-treemap-sector-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-treemap-sector-meta{color:#60708d;flex-shrink:0}.market-treemap-sector-body{position:relative;height:calc(100% - 26px)}.market-treemap-cell{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;padding:8px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;cursor:pointer;transition:transform .15s,filter .15s;text-align:left}.market-treemap-cell:hover{filter:brightness(1.06);transform:scale(.99)}.market-treemap-symbol{font-size:15px;font-weight:700;color:#f8fbff;letter-spacing:.02em}.market-treemap-score{font-size:12px;font-weight:600;color:#f5f8ffdb}@media (max-width: 1100px){.market-treemap-board{min-height:360px}}.chart-view{display:flex;height:calc(100vh - 48px);overflow:hidden;background:#2e2f2f}.chart-view .chart-workspace{flex:1;min-width:0;min-height:0;display:flex}.chart-view .drawing-toolbar{margin-right:5px;width:58px;min-width:44px;background:var(--signal-bg-dark);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:2px;z-index:100;border-top-right-radius:3px}.chart-view .draw-btn-wrap{position:relative}.chart-view .draw-btn{width:44px;height:44px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--signal-text-primary);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.chart-view .draw-btn i{font-size:14px;line-height:1}.chart-view .tv-icon{display:flex;align-items:center;justify-content:center;line-height:0}.chart-view .draw-btn:hover{background:#2a2e3b;color:var(--signal-text-primary)}.chart-view .draw-btn.active{background:#2a2e3b;color:#fff}.chart-view .draw-sep{width:26px;height:1px;background:var(--signal-border);margin:4px 0}.chart-view .flyout-menu{position:absolute;left:44px;top:0;min-width:250px;background:var(--signal-bg-elevated);border:1px solid var(--signal-border-strong);border-radius:4px;padding:4px 0;box-shadow:0 4px 24px #00000080;z-index:200}.chart-view .flyout-section-title{padding:6px 14px 4px;font-size:10px;font-weight:600;color:var(--signal-text-secondary);text-transform:uppercase;letter-spacing:.05em}.chart-view .flyout-item{display:flex;align-items:center;padding:6px 14px;cursor:pointer;color:var(--signal-text-primary);font-size:13px;gap:10px;transition:background .1s}.chart-view .flyout-item:hover{background:#2a2e3b}.chart-view .flyout-item.active{background:#fff;color:#2a2e3b}.chart-view .flyout-icon{width:28px;display:flex;align-items:center;justify-content:center;font-size:13px;opacity:.8}.chart-view .flyout-label{flex:1}.chart-view .flyout-shortcut{font-size:11px;color:var(--signal-text-secondary);margin-left:auto}.chart-view .flyout-enter-active{transition:opacity .12s,transform .12s}.chart-view .flyout-leave-active{transition:opacity .08s}.chart-view .flyout-enter-from{opacity:0;transform:translate(-4px)}.chart-view .flyout-leave-to{opacity:0}.chart-view .chart-main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;border-top-left-radius:3px;border-top-right-radius:3px}.chart-view .chart-side-shell{display:flex;min-height:0;height:100%;flex-shrink:0;border-left:1px solid var(--signal-border)}.chart-view .chart-side-panel-wrap{width:0;min-width:0;overflow:hidden;transition:width .18s ease;margin-left:5px;border-top-left-radius:3px}.chart-view .chart-side-panel-wrap.open{width:276px;border-left:1px solid rgba(255,255,255,.04)}.chart-view .topbar{height:38px;min-height:3px;display:flex;align-items:start;justify-content:space-between;gap:10px;background-color:transparent;padding:3px 5px;overflow-x:auto}.chart-view .topbar::-webkit-scrollbar{display:none}.chart-view .topbar--meta{overflow:hidden}.chart-view .topbar-symbol,.chart-view .topbar-symbol-meta{display:flex;align-items:center;gap:8px;min-width:0}.chart-view .topbar-ticker{color:#f7f8fb;font-size:18px;font-weight:100!important;letter-spacing:.02em;text-transform:uppercase}.chart-view .topbar-session-badge{display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 8px;border-radius:4px;border:1px solid #2c2d31;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap;background:#0d0e11;color:#d9dde7}.chart-view .topbar-session-badge--open{border-color:#2f5e4c}.chart-view .topbar-session-badge--closed{border-color:#6b3c3c}.chart-view .topbar-session-exchange{color:#d7dbe6;font-size:18px;font-weight:100}.chart-view .topbar-session-sep{color:#7f8594;font-size:11px}.chart-view .topbar-session-pill{width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;line-height:1;color:#0f1014}.chart-view .topbar-session-badge--open .topbar-session-pill{background:#33d39a}.chart-view .topbar-session-badge--closed .topbar-session-pill{background:#F33644}.chart-view .topbar-session-status{font-size:12px;background-color:#303130;padding:4px 10px;border-top-left-radius:12px;border-bottom-left-radius:12px}.chart-view .topbar-session-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.chart-view .topbar-session-badge--open .topbar-session-label{color:#9cf0cc}.chart-view .topbar-session-badge--closed .topbar-session-label{color:#ffbe74}.chart-view .topbar-price{color:#f3f5fb;font-size:18px;font-weight:100;font-variant-numeric:tabular-nums}.chart-view .topbar-context{color:var(--signal-text-secondary);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding-left:4px;border-left:1px solid rgba(255,255,255,.08)}.chart-view .chart-meta-spinner{width:14px;height:14px;flex-shrink:0;margin-right:2px}.chart-view .chart-rangebar{min-height:38px;display:flex;align-items:center;gap:6px;padding:0 14px;border-top:1px solid var(--signal-border);background:#0f0e0e;overflow-x:auto}.chart-view .chart-rangebar::-webkit-scrollbar{display:none}.chart-view .chart-rangebar__btn{flex-shrink:0;padding:5px;border:none;background:transparent;color:var(--signal-text-secondary);font-size:16px;font-weight:100;cursor:pointer}.chart-view .chart-rangebar__btn.active,.chart-view .chart-rangebar__btn:hover{color:#f3f5fb;background:#1e222d;border-radius:2px}.chart-view .price{font-size:13px;font-weight:600;color:var(--signal-text-primary)}.chart-view .change{font-size:18px;font-weight:100}.chart-view .positive{color:var(--signal-positive)}.chart-view .negative{color:var(--signal-negative)}@media (max-width: 900px){.chart-view .chart-side-panel-wrap.open{width:240px}.chart-view .topbar-context{display:none}.chart-view .topbar-session-badge{max-width:220px;overflow:hidden;text-overflow:ellipsis}.chart-view .topbar-session-label{display:none}}.screener-view{flex:1;display:flex;overflow:hidden;min-height:0}.screener-view .screener-filters{width:220px;flex-shrink:0;background:var(--signal-bg-panel);border-right:1px solid var(--signal-border);overflow-y:auto;padding:10px 0}.screener-view .filters-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px 8px;border-bottom:1px solid var(--signal-border);margin-bottom:6px}.screener-view .filters-title{font-size:11px;font-weight:600;color:var(--signal-text-secondary);text-transform:uppercase;letter-spacing:.5px}.screener-view .filter-section{padding:8px 12px;border-bottom:1px solid rgba(42,46,57,.5)}.screener-view .filter-section:last-child{border-bottom:none}.screener-view .filter-section-title{font-size:10px;font-weight:600;color:var(--signal-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.screener-view .filter-label{font-size:11px;color:var(--signal-text-secondary);display:block;margin-bottom:3px}.screener-view .filter-row{margin-bottom:8px}.screener-view .filter-row:last-child{margin-bottom:0}.screener-view .filter-row--check{display:flex;align-items:center}.screener-view .filter-input,.screener-view .filter-select{width:100%;padding:5px 8px;background:var(--signal-bg-input);border:1px solid var(--signal-border);border-radius:4px;color:var(--signal-text-primary);font-size:12px}.screener-view .filter-input:focus,.screener-view .filter-select:focus{outline:none;border-color:var(--signal-accent)}.screener-view .filter-input::-webkit-inner-spin-button{opacity:.4}.screener-view .filter-select{cursor:pointer}.screener-view .filter-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--signal-text-primary);cursor:pointer}.screener-view .filter-check input[type=checkbox]{accent-color:var(--signal-accent);cursor:pointer}.screener-view .screener-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.screener-view .screener-toolbar{height:36px;flex-shrink:0;background:var(--signal-bg-elevated);border-bottom:1px solid var(--signal-border);display:flex;align-items:center;padding:0 14px;gap:12px}.screener-view .screener-count{font-size:12px;color:var(--signal-text-secondary)}.screener-view .screener-scan-date{color:var(--signal-text-tertiary)}.screener-view .screener-error{font-size:12px;color:var(--signal-negative)}.screener-view .screener-scan-msg{font-size:12px;color:var(--signal-positive)}.screener-view .screener-toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.screener-view .btn-backfill,.screener-view .btn-sync,.screener-view .btn-scan{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.screener-view .btn-scan{background:rgba(240,165,0,.1);border:1px solid rgba(240,165,0,.4);color:var(--signal-accent)}.screener-view .btn-scan:hover:not(:disabled){background:rgba(240,165,0,.2)}.screener-view .btn-sync{background:rgba(33,150,243,.08);border:1px solid rgba(33,150,243,.3);color:var(--signal-info)}.screener-view .btn-sync:hover:not(:disabled){background:rgba(33,150,243,.18)}.screener-view .btn-backfill{background:#3a2312;color:#f7c58b;border:1px solid #71451e}.screener-view .btn-backfill:hover:not(:disabled){background:#4a2d16}.screener-view .btn-backfill:disabled,.screener-view .btn-sync:disabled,.screener-view .btn-scan:disabled{opacity:.6;cursor:default}.screener-view .screener-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--signal-text-tertiary);font-size:13px}.screener-view .screener-table-wrap{flex:1;overflow:auto}.screener-view .screener-table{width:100%;border-collapse:collapse;font-size:12px}.screener-view .screener-table thead th{position:sticky;top:0;background:var(--signal-bg-elevated);color:var(--signal-text-secondary);font-weight:600;font-size:11px;text-align:left;padding:8px 10px;border-bottom:1px solid var(--signal-border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.screener-view .screener-table thead th:hover{color:var(--signal-text-primary)}.screener-view .screener-table thead th.col-name{cursor:default}.screener-view .screener-row{border-bottom:1px solid rgba(42,46,57,.4);cursor:pointer;transition:background .1s}.screener-view .screener-row:hover{background:rgba(42,46,57,.4)}.screener-view .screener-table td{padding:7px 10px;color:var(--signal-text-primary);white-space:nowrap}.screener-view .col-symbol .sym{font-weight:600;font-size:12px;color:var(--signal-text-primary)}.screener-view .badge-etf{display:inline-block;margin-left:4px;padding:0 4px;font-size:9px;font-weight:700;letter-spacing:.3px;border-radius:3px;background:rgba(33,150,243,.15);color:var(--signal-info);vertical-align:middle}.screener-view .col-name{color:var(--signal-text-secondary);max-width:160px;overflow:hidden;text-overflow:ellipsis}.screener-view .col-actions{width:32px;text-align:center}.screener-view .btn-add-wl{background:none;border:1px solid var(--signal-border);color:var(--signal-text-secondary);border-radius:3px;width:20px;height:20px;font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,color .15s,border-color .15s}.screener-view .screener-row:hover .btn-add-wl{opacity:1}.screener-view .btn-add-wl:hover{color:var(--signal-accent);border-color:#f0a50080}.screener-view .wl-added{color:var(--signal-positive);font-size:12px;opacity:.7}.screener-view .sort-icon{margin-left:3px;font-size:9px}.screener-view .sort-icon--inactive{color:#363a45}.screener-view .sort-icon--active{color:var(--signal-accent)}.backtests-view{flex:1;display:flex;overflow:hidden;min-height:0}.backtests-sidebar{width:280px;flex-shrink:0;background:var(--signal-bg-panel);border-right:1px solid var(--signal-border);overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.backtests-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.backtests-toolbar{height:40px;flex-shrink:0;background:var(--signal-bg-elevated);border-bottom:1px solid var(--signal-border);display:flex;align-items:center;gap:12px;padding:0 14px}.backtests-content{flex:1;min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.backtests-summary-grid{display:grid;grid-template-columns:280px 1fr;gap:12px}.backtest-card{background:var(--signal-bg-panel);border:1px solid var(--signal-border);border-radius:6px;padding:12px}.backtest-card--runs{flex:1;min-height:0}.backtest-card--wide{min-width:0}.backtest-card--flex{flex:1;min-height:0;display:flex;flex-direction:column}.backtest-card-title{font-size:11px;font-weight:600;color:var(--signal-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.backtest-label{display:block;font-size:11px;color:var(--signal-text-secondary);margin:8px 0 4px}.backtest-create{margin-top:12px;width:100%;justify-content:center}.backtest-run-item{width:100%;text-align:left;background:transparent;border:1px solid var(--signal-border);border-radius:4px;color:var(--signal-text-primary);padding:8px 10px;margin-bottom:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.backtest-run-item:hover{border-color:var(--signal-text-secondary)}.backtest-run-item.active{border-color:var(--signal-accent);background:rgba(240,165,0,.08)}.backtest-run-name{font-size:12px;font-weight:600}.backtest-run-meta{font-size:11px;color:var(--signal-text-secondary)}.backtest-stat{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(42,46,57,.4)}.backtest-stat:last-child{border-bottom:none}.backtest-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto auto;gap:8px}.backtest-scenario-summary{display:flex;gap:16px;margin-top:10px;color:var(--signal-text-secondary);font-size:12px}.backtest-table-wrap{overflow:auto;min-height:0}.backtest-table{width:100%;border-collapse:collapse;font-size:12px}.backtest-table th{position:sticky;top:0;background:var(--signal-bg-elevated);color:var(--signal-text-secondary);font-size:11px;text-align:left;padding:8px 10px;border-bottom:1px solid var(--signal-border)}.backtest-table td{padding:7px 10px;border-bottom:1px solid rgba(42,46,57,.35);color:var(--signal-text-primary);white-space:nowrap}.dashboard-view{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.macro-banner{flex-shrink:0;height:40px;background:var(--signal-bg-elevated);border-bottom:1px solid var(--signal-border);display:flex;align-items:center;padding:0 16px;gap:24px;overflow-x:auto}.macro-item{display:flex;align-items:baseline;gap:6px;flex-shrink:0}.macro-name{font-size:11px;color:var(--signal-text-secondary)}.macro-price{font-size:13px;font-weight:600;color:var(--signal-text-primary)}.macro-change{font-size:11px}.macro-loading{font-size:12px;color:var(--signal-text-tertiary)}.dashboard-body{flex:1;display:flex;overflow:hidden;min-height:0;gap:0}.dashboard-left{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;border-right:1px solid var(--signal-border)}.dashboard-right{width:260px;flex-shrink:0;overflow-y:auto;padding:12px}.dash-card{background:var(--signal-bg-panel);border-bottom:1px solid var(--signal-border);padding:10px 12px}.dash-card--heatmap{flex:1;overflow:hidden;display:flex;flex-direction:column}.dash-card-title{font-size:11px;font-weight:600;color:var(--signal-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;flex-shrink:0}.dash-empty{font-size:12px;color:var(--signal-text-tertiary);padding:8px 0}.dash-movers{flex-shrink:0;display:flex;border-top:1px solid var(--signal-border)}.dash-card--movers{flex:1;border-bottom:none;border-right:1px solid var(--signal-border)}.dash-card--movers:last-child{border-right:none}.mover-row{display:flex;align-items:center;gap:6px;border-radius:3px;padding:4px;cursor:pointer;transition:background .1s}.mover-row:hover{background:rgba(42,46,57,.5)}.mover-sym{font-size:11px;font-weight:600;color:var(--signal-text-primary);width:60px;flex-shrink:0}.mover-name{font-size:10px;color:var(--signal-text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mover-val{font-size:11px;font-weight:600;flex-shrink:0}.score-row{display:flex;align-items:center;gap:8px;padding:6px 4px;cursor:pointer;border-radius:3px;border-bottom:1px solid rgba(42,46,57,.4);transition:background .1s}.score-row:hover{background:rgba(42,46,57,.5)}.score-rank{font-size:11px;color:var(--signal-text-tertiary);width:16px;flex-shrink:0;text-align:center}.score-info{flex:1;min-width:0}.score-sym{font-size:12px;font-weight:600;color:var(--signal-text-primary);display:block}.score-name{font-size:10px;color:var(--signal-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.score-bar-wrap{display:flex;align-items:center;gap:5px;flex-shrink:0}.score-bar{height:6px;border-radius:3px;min-width:2px;max-width:60px;transition:width .3s}.score-val{font-size:11px;font-weight:600;color:var(--signal-text-primary);width:24px;text-align:right}.fg-badge{border-radius:4px;padding:0 5px}.fg-extreme-fear{color:var(--signal-negative)}.fg-fear{color:var(--signal-accent)}.fg-neutral{color:var(--signal-text-secondary)}.fg-greed{color:var(--signal-positive)}.fg-extreme-greed{color:var(--signal-negative)}.fg-label{font-size:10px;color:var(--signal-text-secondary)}.dash-card--calendar{margin-top:8px}.cal-row{display:flex;align-items:baseline;gap:5px;padding:4px 0;border-bottom:1px solid rgba(42,46,57,.4);font-size:11px}.cal-row:last-child{border-bottom:none}.cal-imp{flex-shrink:0;font-size:10px}.cal-date{flex-shrink:0;color:var(--signal-text-primary);font-weight:600;min-width:36px}.cal-time{flex-shrink:0;color:var(--signal-text-secondary);min-width:38px}.cal-name{flex:1;color:var(--signal-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-country{flex-shrink:0;color:var(--signal-text-tertiary);font-size:10px}.workspace-view{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--signal-bg-app);overflow:hidden}.workspace-header-controls{flex:1;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}.workspace-header-actions{display:flex;align-items:center;gap:8px}.workspace-tabs{flex:0 1 auto;min-width:0;max-width:min(58vw,720px);display:flex;align-items:center;gap:8px;overflow-x:auto}.workspace-tabs::-webkit-scrollbar{display:none}.workspace-icon-btn,.workspace-action,.workspace-tab{height:30px;border:none;background:#0d0e11;color:var(--signal-text-secondary);border-radius:4px;cursor:pointer;transition:color .15s,background .15s}.workspace-title-wrap{position:relative;display:inline-flex;align-items:center}.workspace-title,.workspace-title-input{height:28px;max-width:220px;border:1px solid transparent;background:transparent;color:var(--signal-text-secondary);border-radius:4px;padding:0 4px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.workspace-title{cursor:pointer}.workspace-title:hover,.workspace-title-input{border-color:var(--signal-border);color:var(--signal-text-primary);background:#0d0e11}.workspace-title-input{width:180px;outline:none}.workspace-switcher{position:absolute;top:34px;left:0;width:230px;display:flex;flex-direction:column;gap:4px;padding:6px;background:var(--signal-bg-elevated);border:1px solid var(--signal-border-strong);border-radius:4px;box-shadow:0 8px 24px #00000080;z-index:260}.workspace-switcher__item{min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--signal-text-secondary);padding:0 8px;cursor:pointer;text-align:left}.workspace-switcher__item:hover,.workspace-switcher__item.active{background:#2a2e3b;color:var(--signal-text-primary)}.workspace-switcher__item small{color:var(--signal-text-tertiary)}.workspace-switcher__item--new{border-top:1px solid var(--signal-border);margin-top:3px;padding-top:4px}.workspace-icon-btn{width:30px;display:inline-flex;align-items:center;justify-content:center}.workspace-action{display:inline-flex;align-items:center;gap:6px;padding:0 10px;flex-shrink:0}.workspace-icon-btn:disabled,.workspace-action:disabled{opacity:.6;cursor:not-allowed}.workspace-tab{flex:0 1 auto;padding:0 10px;max-width:140px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.workspace-tab__input{width:140px;cursor:text;outline:none}.workspace-tab.dragging{opacity:.7}.workspace-icon-btn:hover,.workspace-action:hover,.workspace-tab:hover,.workspace-tab.active{color:var(--signal-text-primary);background:#2a2e3b}.workspace-shell{flex:1;min-height:0;display:flex;overflow:hidden}.workspace-shell--loading,.workspace-shell--empty{align-items:center;justify-content:center;background:#17191d}.workspace-loading{display:inline-flex;align-items:center;gap:10px;color:var(--signal-text-secondary);font-size:12px}.workspace-loading--empty{gap:12px}.workspace-loading--empty i{color:var(--signal-accent);font-size:16px}.workspace-loading--empty button{height:28px;padding:0 10px;border:1px solid var(--signal-border-strong);border-radius:4px;color:var(--signal-text-primary);background:#202634;font-size:12px;cursor:pointer}.workspace-loading--empty button:hover{border-color:var(--signal-accent)}.workspace-canvas{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.workspace-quote-strip{height:24px;flex:0 0 24px;overflow:hidden;background:#0b0c0e}.workspace-status{height:24px;min-width:62px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--signal-border);color:var(--signal-text-secondary);font-size:11px}.workspace-status--saved,.workspace-status--local{color:var(--signal-positive);border-color:#26a69a73}.workspace-status--saving{color:var(--signal-accent);border-color:#f0a50073}.workspace-status--error{color:var(--signal-negative);border-color:#ef535073}.workspace-grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(var(--workspace-columns),minmax(10px,1fr));grid-auto-rows:var(--workspace-row-height);gap:8px;padding:2px 12px 0;background-color:#17191d;align-content:start}.workspace-widget{--workspace-widget-accent: var(--signal-accent-market);min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;border:1px solid var(--signal-border-widget);border-radius:4px;background:var(--signal-bg-widget);box-shadow:none;overflow:hidden}.workspace-widget.selected{border-color:color-mix(in srgb,var(--workspace-widget-accent) 24%,transparent);box-shadow:none}.workspace-widget--accent-info{--workspace-widget-accent: var(--signal-accent-info)}.workspace-widget--accent-analysis{--workspace-widget-accent: var(--signal-accent-analysis)}.workspace-widget--accent-volatility{--workspace-widget-accent: var(--signal-accent-volatility)}.workspace-widget--accent-alert{--workspace-widget-accent: var(--signal-accent-alert)}.workspace-widget--accent-attention{--workspace-widget-accent: var(--signal-accent-attention)}.workspace-widget--accent-neutral{--workspace-widget-accent: var(--signal-accent-neutral)}.workspace-widget:focus-within{border-color:color-mix(in srgb,var(--workspace-widget-accent) 24%,transparent);box-shadow:none}.workspace-widget__bar{height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px 0 12px;background:var(--signal-bg-widget-header);color:var(--workspace-widget-accent);cursor:move;position:relative;transition:background .14s ease;-webkit-user-select:none;user-select:none}.workspace-widget--style-bar .workspace-widget__bar:before{content:"";width:2px;height:17px;flex:0 0 auto;background:var(--workspace-widget-accent);opacity:.84;transition:width .14s ease,opacity .14s ease}.workspace-widget__bar:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--workspace-widget-accent) 42%,transparent),color-mix(in srgb,var(--workspace-widget-accent) 10%,transparent) 64%,transparent);opacity:.72;pointer-events:none;transition:opacity .14s ease}.workspace-widget--style-underline .workspace-widget__bar:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,var(--workspace-widget-accent),color-mix(in srgb,var(--workspace-widget-accent) 15%,transparent));opacity:.55;transition:height .14s ease,opacity .14s ease}.workspace-widget--style-dash .workspace-widget__bar:before{content:"";width:11px;height:2px;flex:0 0 auto;background:var(--workspace-widget-accent);opacity:.85;transition:width .14s ease,opacity .14s ease}.workspace-widget__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--workspace-widget-accent);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.workspace-widget__close,.workspace-widget__resize{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--signal-text-secondary);border-radius:6px;cursor:pointer;transition:background .14s ease,color .14s ease}.workspace-widget__close:hover,.workspace-widget__resize:hover{color:var(--signal-text-primary);background:var(--signal-bg-elevated)}.workspace-widget:hover .workspace-widget__bar,.workspace-widget.selected .workspace-widget__bar,.workspace-widget:focus-within .workspace-widget__bar{background:var(--signal-bg-widget-header-hover)}.workspace-widget:hover .workspace-widget__bar:after,.workspace-widget.selected .workspace-widget__bar:after,.workspace-widget:focus-within .workspace-widget__bar:after{opacity:.95}.workspace-widget:hover.workspace-widget--style-bar .workspace-widget__bar:before,.workspace-widget.selected.workspace-widget--style-bar .workspace-widget__bar:before,.workspace-widget:focus-within.workspace-widget--style-bar .workspace-widget__bar:before{width:3px;opacity:1}.workspace-widget:hover.workspace-widget--style-underline .workspace-widget__bar:after,.workspace-widget.selected.workspace-widget--style-underline .workspace-widget__bar:after,.workspace-widget:focus-within.workspace-widget--style-underline .workspace-widget__bar:after{height:2px;opacity:.95}.workspace-widget:hover.workspace-widget--style-dash .workspace-widget__bar:before,.workspace-widget.selected.workspace-widget--style-dash .workspace-widget__bar:before,.workspace-widget:focus-within.workspace-widget--style-dash .workspace-widget__bar:before{width:16px;opacity:1}.workspace-chart-meta{flex:1;min-width:0;height:100%;display:flex;align-items:center;gap:8px;overflow:hidden;color:var(--workspace-widget-accent)}.workspace-chart-meta__symbol,.workspace-chart-meta__interval{height:24px;flex:0 0 auto;border:1px solid transparent;border-radius:0;background:transparent;color:var(--workspace-widget-accent);padding:0;cursor:pointer;text-transform:uppercase;transition:background .14s ease,border-color .14s ease,color .14s ease}.workspace-chart-meta__symbol{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;letter-spacing:.08em}.workspace-chart-meta__interval{padding:0 4px;font-size:12px;font-weight:700}.workspace-chart-meta__symbol:hover,.workspace-chart-meta__interval:hover{border-color:color-mix(in srgb,var(--workspace-widget-accent) 25%,var(--signal-border));background:var(--signal-bg-widget-control-hover);color:var(--signal-text-primary)}.workspace-chart-meta__sep{color:var(--signal-text-tertiary);font-size:14px}.workspace-chart-meta__price{flex:0 0 auto;color:var(--signal-text-primary);font-size:12px;font-weight:600;letter-spacing:.02em}.workspace-chart-meta__change{flex:0 0 auto;font-size:12px;font-weight:600;letter-spacing:.02em}.workspace-chart-meta__change.positive{color:var(--signal-positive)}.workspace-chart-meta__change.negative{color:var(--signal-negative)}.workspace-chart-meta__ranges{flex:1 1 auto;min-width:68px;display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none}.workspace-chart-meta__ranges::-webkit-scrollbar{display:none}.workspace-chart-meta__ranges button{height:22px;flex:0 0 auto;border:1px solid transparent;border-radius:0;background:transparent;color:var(--signal-text-secondary);padding:0 5px;font-size:12px;cursor:pointer}.workspace-chart-meta__ranges button:hover,.workspace-chart-meta__ranges button.active{border-color:color-mix(in srgb,var(--workspace-widget-accent) 25%,var(--signal-border));background:var(--signal-bg-widget-control-hover);color:var(--signal-text-primary)}.workspace-widget__body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px;background:linear-gradient(180deg,rgba(255,255,255,.012),transparent 34%),var(--signal-bg-widget-body)}.workspace-widget__body--chart{align-items:stretch;justify-content:stretch;padding:0}.workspace-widget__body--chart .chart-area{width:100%;height:100%;background:transparent}.workspace-widget__body--chart .chart-main{background:transparent}.workspace-widget__mock{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--signal-text-secondary);font-size:12px;text-transform:uppercase}.workspace-widget__mock i{color:var(--signal-accent);font-size:28px}.workspace-chart-empty{min-width:min(220px,100% - 24px);min-height:78px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--signal-border-strong);border-radius:6px;background:rgba(17,19,24,.7);color:var(--signal-text-secondary);cursor:pointer}.workspace-chart-empty:hover{border-color:#6d7d98;background:#151922;color:var(--signal-text-primary)}.workspace-chart-empty i{color:var(--signal-accent);font-size:26px}.workspace-chart-empty span{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.workspace-widget__resize{position:absolute;right:4px;bottom:4px;cursor:nwse-resize;opacity:0;pointer-events:none;transition:opacity .12s ease,background .12s ease,color .12s ease}.workspace-widget:hover .workspace-widget__resize,.workspace-widget.selected .workspace-widget__resize{opacity:1;pointer-events:auto}.workspace-interval-popover{position:absolute;top:34px;left:86px;min-width:86px;display:flex;flex-direction:column;gap:2px;padding:5px;background:var(--signal-bg-elevated);border:1px solid var(--signal-border-strong);border-radius:5px;box-shadow:0 14px 36px #00000080;z-index:90}.workspace-interval-popover__item{height:28px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--signal-text-secondary);cursor:pointer}.workspace-interval-popover__item:hover,.workspace-interval-popover__item.active{background:#202838;color:var(--signal-text-primary)}.workspace-symbol-popover{position:absolute;top:34px;left:10px;width:min(320px,100% - 20px);max-height:330px;display:flex;flex-direction:column;background:var(--signal-bg-elevated);border:1px solid var(--signal-border-strong);border-radius:5px;box-shadow:0 16px 42px #0000008f;overflow:hidden;z-index:80}.workspace-symbol-popover__search{height:40px;display:flex;align-items:center;gap:8px;padding:6px 9px;border-bottom:1px solid var(--signal-border);background:#151922}.workspace-symbol-popover__search i{color:var(--signal-text-tertiary);font-size:12px}.workspace-symbol-popover__search input{flex:1;min-width:0;height:28px;border:1px solid var(--signal-border);border-radius:4px;background:var(--signal-bg-input);color:var(--signal-text-primary);padding:0 8px;outline:none}.workspace-symbol-popover__search input:focus{border-color:#6d7d98}.workspace-symbol-popover__results{min-height:42px;overflow-y:auto;padding:5px}.workspace-symbol-popover__item,.workspace-symbol-popover__state{min-height:32px;width:100%;display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;align-items:center;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--signal-text-secondary);padding:0 8px;text-align:left}.workspace-symbol-popover__item{cursor:pointer}.workspace-symbol-popover__item:hover,.workspace-symbol-popover__item--manual{background:#202838;color:var(--signal-text-primary)}.workspace-symbol-popover__item span{color:var(--signal-text-primary);font-size:12px;font-weight:700;letter-spacing:.04em}.workspace-symbol-popover__item small,.workspace-symbol-popover__state{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--signal-text-tertiary);font-size:11px}.workspace-symbol-popover__state{display:flex;justify-content:center}.widget-picker{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:92px;background:rgba(0,0,0,.46);z-index:420}.widget-picker__panel{width:min(560px,100vw - 40px);max-height:min(620px,100vh - 128px);display:flex;flex-direction:column;background:var(--signal-bg-elevated);border:1px solid var(--signal-border-strong);border-radius:6px;box-shadow:0 18px 48px #0000008c;overflow:hidden}.widget-picker__header{height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;background:var(--signal-bg-dark);border-bottom:1px solid var(--signal-border)}.widget-picker__title{display:inline-flex;align-items:center;gap:8px;color:var(--signal-text-primary);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.widget-picker__title i{color:var(--signal-accent)}.widget-picker__close{width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--signal-text-secondary);cursor:pointer}.widget-picker__close:hover{background:#2a2e3b;color:var(--signal-text-primary)}.widget-picker__search{height:46px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--signal-border)}.widget-picker__search i{color:var(--signal-text-tertiary)}.widget-picker__search input{flex:1;height:30px;min-width:0;border:1px solid var(--signal-border);border-radius:4px;background:var(--signal-bg-input);color:var(--signal-text-primary);padding:0 9px;outline:none}.widget-picker__search input:focus{border-color:var(--signal-accent)}.widget-picker__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;overflow-y:auto}.widget-picker__card{min-height:92px;display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:5px;align-items:center;border:1px solid var(--signal-border);border-radius:6px;background:var(--signal-bg-dark);color:var(--signal-text-primary);padding:12px;cursor:pointer;text-align:left}.widget-picker__card:hover{border-color:var(--signal-accent);background:#111318}.widget-picker__card i{grid-row:1/span 2;color:var(--signal-accent);font-size:22px}.widget-picker__card span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.widget-picker__card small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--signal-text-secondary);font-size:11px}.widget-picker__empty{grid-column:1/-1;height:72px;display:flex;align-items:center;justify-content:center;color:var(--signal-text-tertiary);border:1px dashed var(--signal-border);border-radius:6px}.login-demo{width:100%;margin-top:10px;height:36px}@media (max-width: 960px){.workspace-grid{grid-template-columns:repeat(var(--workspace-columns),minmax(8px,1fr))}.widget-picker__grid{grid-template-columns:1fr}}.regime-widget,.news-widget,.macro-widget{display:flex;flex-direction:column;gap:8px;padding:10px 12px;overflow-y:auto;font-size:12px}.regime-widget__head{display:flex;align-items:baseline;justify-content:space-between;padding:8px 10px;border:1px solid var(--signal-border);border-radius:8px;background:#0d0e11}.regime-widget__label{font-size:18px;font-weight:700}.regime-widget__score{font-size:14px;color:var(--signal-text-secondary);font-variant-numeric:tabular-nums}.regime-widget__components{flex:1;min-height:0;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.regime-widget__components li{flex:1;min-height:28px;display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;padding:4px 2px;border-bottom:1px solid var(--signal-border)}.regime-widget__dot{width:8px;height:8px;border-radius:50%;background:var(--signal-text-tertiary)}.regime-widget__c-label{color:var(--signal-text-secondary)}.regime-widget__c-value{color:var(--signal-text-primary);font-variant-numeric:tabular-nums}.regime-widget__empty{color:var(--signal-text-tertiary);border:none!important}.regime--risk_on .regime-widget__label,.regime--risk_on .regime-widget__c-value{color:var(--signal-positive)}.regime--risk_on .regime-widget__dot{background:var(--signal-positive)}.regime--risk_off .regime-widget__label,.regime--risk_off .regime-widget__c-value{color:var(--signal-negative)}.regime--risk_off .regime-widget__dot{background:var(--signal-negative)}.regime--neutral .regime-widget__dot{background:var(--signal-accent)}.news-widget__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.news-widget__item{border-bottom:1px solid var(--signal-border)}.news-widget__link{display:flex;flex-direction:column;gap:3px;padding:7px 2px;text-decoration:none}.news-widget__link:hover .news-widget__title{color:var(--signal-accent)}.news-widget__title{color:var(--signal-text-primary);line-height:1.35}.news-widget__meta{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--signal-text-tertiary)}.news-widget__source{color:var(--signal-text-secondary);font-weight:600}.macro-widget__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.macro-widget__item{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:10px;padding:5px 2px;border-bottom:1px solid var(--signal-border)}.macro-widget__label{color:var(--signal-text-secondary)}.macro-widget__value{color:var(--signal-text-primary);font-weight:600;font-variant-numeric:tabular-nums}.macro-widget__source{color:var(--signal-text-tertiary);font-size:10px;text-transform:uppercase}.regime-gauge{padding:4px 2px 2px}.regime-gauge__scale{position:relative;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--signal-negative) 0%,var(--signal-accent) 50%,var(--signal-positive) 100%)}.regime-gauge__marker{position:absolute;top:-3px;width:3px;height:14px;background:var(--signal-text-primary);border-radius:2px;transform:translate(-50%);box-shadow:0 0 0 2px #00000080;transition:left .4s ease}.regime-gauge__legend{display:flex;justify-content:space-between;margin-top:4px;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--signal-text-tertiary)}.regime-widget__head{margin-top:2px}.macro-widget__group+.macro-widget__group{margin-top:6px}.macro-widget__group-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--signal-accent);padding:4px 2px 3px;border-bottom:1px solid var(--signal-border-strong)}.macro-widget__item{display:grid;grid-template-columns:1fr 52px auto 56px;align-items:center;gap:8px;padding:4px 2px;border-bottom:1px solid var(--signal-border)}.macro-widget__label{color:var(--signal-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.macro-widget__spark{opacity:.9}.macro-widget__spark--empty{display:inline-block}.macro-widget__value{color:var(--signal-text-primary);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.macro-widget__change{text-align:right;font-size:11px;font-variant-numeric:tabular-nums}.macro-widget__change--up{color:var(--signal-positive)}.macro-widget__change--down{color:var(--signal-negative)}.macro-widget__change--flat{color:var(--signal-text-tertiary)}.workspace-widget__title i{color:currentColor;margin-right:4px;font-size:11px}.workspace-widget:hover .workspace-widget__bar .workspace-chart-meta__ranges button:hover,.workspace-widget:hover .workspace-widget__bar .workspace-chart-meta__ranges button.active,.workspace-widget.selected .workspace-widget__bar .workspace-chart-meta__ranges button:hover,.workspace-widget.selected .workspace-widget__bar .workspace-chart-meta__ranges button.active,.workspace-widget:focus-within .workspace-widget__bar .workspace-chart-meta__ranges button:hover,.workspace-widget:focus-within .workspace-widget__bar .workspace-chart-meta__ranges button.active,.workspace-widget:hover .workspace-widget__bar .workspace-widget__close:hover,.workspace-widget.selected .workspace-widget__bar .workspace-widget__close:hover,.workspace-widget:focus-within .workspace-widget__bar .workspace-widget__close:hover{background:var(--signal-bg-elevated);color:var(--signal-text-primary)}.pulse{display:flex;flex-direction:column;gap:11px;padding:9px 11px 11px;overflow-y:auto;font-size:12px}.pulse__sec{display:flex;flex-direction:column;gap:6px}.pulse__h{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--signal-text-secondary)}.pulse__sq{width:7px;height:7px;border-radius:1px;background:var(--signal-info)}.pulse__sq--pos{background:var(--signal-positive)}.pulse__sq--neg{background:var(--signal-negative)}.pulse__sq--info{background:var(--signal-info)}.pulse__sq--accent{background:var(--signal-accent)}.pulse__gauge{position:relative;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--signal-negative) 0%,var(--signal-accent) 50%,var(--signal-positive) 100%)}.pulse__gauge i{position:absolute;top:-3px;width:3px;height:14px;background:#fff;border-radius:2px;transform:translate(-50%);box-shadow:0 0 0 2px #0009;transition:left .4s ease}.pulse__fng{display:flex;align-items:baseline;justify-content:space-between}.pulse__fng-n{font-size:28px;font-weight:800;color:var(--signal-text-primary);line-height:1}.pulse__fng-n small{font-size:12px;color:var(--signal-text-tertiary);font-weight:600}.pulse__fng-lab{font-size:12px;font-weight:700;color:var(--signal-accent);letter-spacing:.04em}.pulse__brd-row{display:grid;grid-template-columns:70px 1fr 46px;align-items:center;gap:8px}.pulse__brd-nm{font-size:11px;color:var(--signal-text-secondary);font-weight:600}.pulse__brd-bar{height:7px;border-radius:3px;display:flex;overflow:hidden;background:var(--signal-negative)}.pulse__brd-bar span{background:var(--signal-positive)}.pulse__brd-rt{font-size:11px;color:var(--signal-text-tertiary);text-align:right;font-variant-numeric:tabular-nums}.pulse__mv{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;padding:3px 0;border-bottom:1px solid var(--signal-border)}.pulse__mv:last-child{border-bottom:none}.pulse__s{font-size:12px;font-weight:700;color:var(--signal-text-primary)}.pulse__nm{font-size:11px;color:var(--signal-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pulse__c{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.pulse__ov{display:grid;grid-template-columns:1fr auto 56px;gap:5px 10px;align-items:baseline}.pulse__ov-l{font-size:11px;color:var(--signal-text-secondary)}.pulse__ov-v{font-size:12px;font-weight:700;color:var(--signal-text-primary);text-align:right;font-variant-numeric:tabular-nums}.pulse__ov-c{font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.pulse__hr{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding:1px 0}.pulse__hr-e{color:var(--signal-text-secondary)}.pulse__hr-st{display:flex;align-items:center;gap:5px;font-weight:600}.pulse__dot{width:6px;height:6px;border-radius:50%}.pulse__hr-st.open{color:var(--signal-positive)}.pulse__hr-st.open .pulse__dot{background:var(--signal-positive)}.pulse__hr-st.closed{color:var(--signal-negative)}.pulse__hr-st.closed .pulse__dot{background:var(--signal-negative)}.pulse .up{color:var(--signal-positive)}.pulse .down{color:var(--signal-negative)}.pulse .flat{color:var(--signal-text-tertiary)}.workspace-widget__body.pulse,.workspace-widget__body.regime-widget,.workspace-widget__body.news-widget,.workspace-widget__body.macro-widget{align-items:stretch;justify-content:flex-start;text-align:left}.workspace-widget__body.pulse{gap:15px}.macro-widget__group+.macro-widget__group{margin-top:10px}.workspace-widget__body.news{align-items:stretch;justify-content:flex-start;padding:0;overflow:auto}.news__controls{display:flex;align-items:center;gap:5px;margin-left:auto;margin-right:8px}.news__ctrl{background:transparent;color:var(--signal-text-secondary);border:1px solid transparent;border-radius:0;font-size:10px;padding:2px 5px;height:24px;cursor:pointer;outline:none;transition:background .14s ease,border-color .14s ease,color .14s ease}.news__ctrl:hover,.news__ctrl:focus{color:var(--signal-text-primary);border-color:color-mix(in srgb,var(--workspace-widget-accent) 25%,var(--signal-border));background:var(--signal-bg-widget-control-hover)}.news__sort{display:inline-flex;align-items:center;justify-content:center;width:24px}.news__table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:15px}.news__th-src,.news__src{width:140px}.news__th-date,.news__date{width:116px}.news__table thead th{position:sticky;top:0;z-index:1;background:#15171c;text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--signal-text-tertiary);padding:7px 12px;border-bottom:1px solid var(--signal-border-strong)}.news__th-date{text-align:right;cursor:pointer;white-space:nowrap}.news__th-date:hover{color:var(--signal-text-secondary)}.news__row{border-bottom:1px solid var(--signal-border)}.news__row:hover{background:rgba(255,255,255,.03)}.news__table td{padding:8px 12px;vertical-align:top}.news__src{color:var(--signal-text-secondary);font-weight:700;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.news__title a{color:var(--signal-text-primary);text-decoration:none;line-height:1.45;font-size:14px;letter-spacing:.02em}.news__title a:hover{color:var(--signal-accent)}.news__date{color:var(--signal-text-tertiary);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14.5px}.qwidget__tools{display:flex;align-items:center;gap:4px;margin-left:auto;margin-right:2px}.workspace-widget__tool{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--signal-text-secondary);border-radius:6px;cursor:pointer;transition:background .14s ease,color .14s ease}.workspace-widget__tool:hover{color:var(--signal-text-primary);background:var(--signal-bg-elevated)}.workspace-widget__tool.spinning i{animation:spin .8s linear infinite}.workspace-widget:hover .workspace-widget__bar .workspace-widget__tool:hover,.workspace-widget.selected .workspace-widget__bar .workspace-widget__tool:hover,.workspace-widget:focus-within .workspace-widget__bar .workspace-widget__tool:hover{background:var(--signal-bg-elevated);color:var(--signal-text-primary)}.workspace-widget__body.qtable-wrap{align-items:stretch;justify-content:flex-start;padding:0;overflow:auto}.qtable-wrap .workspace-widget__mock{margin:auto}.qtable{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.qtable thead th{position:sticky;top:0;z-index:1;background:#15171c;text-align:left;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--signal-text-tertiary);padding:7px 12px;border-bottom:1px solid var(--signal-border-strong);white-space:nowrap}.qtable__sym{width:43%}.qtable__num{width:19%}.qtable tbody tr{border-bottom:1px solid var(--signal-border)}.qtable tbody tr:hover{background:rgba(255,255,255,.03)}.qtable td{padding:6px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.qtable td.qtable__sym{color:var(--signal-text-primary);font-weight:600}.qtable td.qtable__price{color:var(--signal-text-primary)}.qv-up{color:var(--signal-positive)}.qv-down{color:var(--signal-negative)}.qv-flat{color:var(--signal-text-tertiary)}.workspace-widget__body.risk{display:grid;grid-template-rows:auto minmax(0,2fr) minmax(0,1.35fr);align-items:stretch;justify-content:stretch;gap:12px;padding:11px 12px;overflow:hidden;font-size:12px}.risk__gauge{display:flex;flex-direction:column;gap:5px}.risk__gauge-bar{position:relative;height:10px;border-radius:3px;background:linear-gradient(90deg,var(--signal-positive) 0%,#7cb342 30%,var(--signal-accent) 56%,#ff8f00 78%,var(--signal-negative) 100%)}.risk__gauge-bar i{position:absolute;top:-3px;width:3px;height:16px;background:#fff;border-radius:2px;transform:translate(-50%);box-shadow:0 0 0 2px #0009;transition:left .4s ease}.risk__gauge-cap{display:flex;align-items:baseline;justify-content:space-between}.risk__gauge-lab{font-size:12px;font-weight:700;letter-spacing:.04em}.risk__gauge-vix{font-size:11px;color:var(--signal-text-tertiary);font-variant-numeric:tabular-nums}.risk--low{color:var(--signal-positive)}.risk--mid{color:#9ccc65}.risk--high{color:var(--signal-accent)}.risk--extreme{color:var(--signal-negative)}.risk--flat{color:var(--signal-text-tertiary)}.risk__sec{min-height:0;display:flex;flex-direction:column;gap:1px;overflow:hidden}.risk__sec-title{flex:0 0 auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--signal-accent);padding:2px 0 4px;margin-bottom:3px;border-bottom:1px solid var(--signal-border-strong)}.risk__list{flex:1 1 auto;min-height:0;overflow-y:auto}.risk__row{min-height:24px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:4px 0;border-bottom:1px solid var(--signal-border)}.risk__row:last-child{border-bottom:none}.risk__sym{color:var(--signal-text-primary);font-weight:700}.risk__chg{font-variant-numeric:tabular-nums;text-align:right}.risk__hl{color:var(--signal-text-tertiary);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.risk__spread{min-height:24px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:4px 0;border-bottom:1px solid var(--signal-border)}.risk__spread:last-child{border-bottom:none}.risk__spread-lab{color:var(--signal-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.risk__spread-val{font-variant-numeric:tabular-nums;text-align:right}.workspace-widget__body.watchlist{flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;overflow:hidden}.watchlist__editor{position:relative;z-index:4;display:flex;align-items:flex-start;gap:8px;flex-shrink:0;padding:8px 12px;background:#15171c;border-bottom:1px solid var(--signal-border-strong)}.watchlist__editor-lab{padding-top:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--signal-text-tertiary);white-space:nowrap}.watchlist__multi{position:relative;flex:1;min-width:0;min-height:30px;border:1px solid var(--signal-border);border-radius:4px;background:var(--signal-bg-input);color:var(--signal-text-primary);cursor:text}.watchlist__multi:focus-within{border-color:var(--signal-accent)}.watchlist__rail{min-width:0;min-height:28px;display:flex;align-items:center;flex-wrap:nowrap;gap:5px;overflow-x:auto;overflow-y:hidden;padding:3px 6px;scrollbar-width:none}.watchlist__rail::-webkit-scrollbar{display:none}.watchlist__chip{flex:0 0 auto;height:22px;display:inline-flex;align-items:center;gap:5px;max-width:112px;border:1px solid rgba(240,165,0,.55);border-radius:4px;background:rgba(240,165,0,.1);color:var(--signal-text-primary);padding:0 6px;font-size:11px;font-weight:700;cursor:grab;-webkit-user-select:none;user-select:none}.watchlist__chip.dragging{opacity:.46}.watchlist__chip.over{border-color:var(--signal-accent);box-shadow:inset 2px 0 0 var(--signal-accent)}.watchlist__chip:active{cursor:grabbing}.watchlist__chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist__chip-remove{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:3px;background:transparent;color:var(--signal-text-tertiary);padding:0;cursor:pointer}.watchlist__chip-remove i{font-size:10px}.watchlist__chip:hover{border-color:var(--signal-accent);background:rgba(240,165,0,.18)}.watchlist__chip-remove:hover{background:rgba(255,255,255,.08);color:var(--signal-text-primary)}.watchlist__search-input{flex:0 0 120px;min-width:120px;height:22px;border:none;background:transparent;color:var(--signal-text-primary);padding:0 2px;font-size:12px;outline:none}.watchlist__search-input::-webkit-search-cancel-button{display:none}.watchlist__suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow:auto;border:1px solid var(--signal-border-strong);border-radius:4px;background:#0d0e11;box-shadow:0 12px 28px #00000073}.watchlist__suggestion,.watchlist__suggestions-state{width:100%;min-height:30px;display:grid;grid-template-columns:minmax(78px,.35fr) minmax(0,1fr);align-items:center;gap:8px;border:none;border-bottom:1px solid var(--signal-border);background:transparent;color:var(--signal-text-secondary);padding:0 8px;text-align:left;font-size:11px}.watchlist__suggestion{cursor:pointer}.watchlist__suggestion:hover,.watchlist__suggestion.active{background:#202838;color:var(--signal-text-primary)}.watchlist__suggestion-symbol{color:var(--signal-text-primary);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist__suggestion-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist__table-wrap{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.watchlist__table-wrap .workspace-widget__mock{margin:auto}.watchlist__table-wrap .qtable{height:100%}.alerts-view{padding:20px;max-width:1100px;margin:0 auto}.alerts-view .alerts-layout{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}.alerts-view .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.alerts-view .panel-header h2{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.alerts-view .card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}.alerts-view .alert-form h3{font-size:14px;font-weight:600;margin:0 0 14px;color:var(--text-primary)}.alerts-view .form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.alerts-view .form-row label{font-size:12px;color:var(--text-muted)}.alerts-view .form-row input,.alerts-view .form-row select{background:var(--bg-input);border:1px solid var(--border);border-radius:5px;color:var(--text-primary);padding:6px 10px;font-size:13px}.alerts-view .conditions-section{margin-bottom:14px}.alerts-view .conditions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:var(--text-muted)}.alerts-view .condition-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.alerts-view .condition-row select,.alerts-view .condition-row input{background:var(--bg-input);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);padding:4px 8px;font-size:12px}.alerts-view .condition-row select{flex:1}.alerts-view .form-error{color:#ef4444;font-size:12px;margin-bottom:10px}.alerts-view .form-actions{display:flex;justify-content:flex-end}.alerts-view .rule-card{cursor:default}.alerts-view .rule-card.disabled{opacity:.5}.alerts-view .rule-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.alerts-view .rule-title{display:flex;align-items:center;gap:8px}.alerts-view .rule-name{font-size:14px;font-weight:600;color:var(--text-primary)}.alerts-view .rule-symbol{font-size:11px;background:var(--bg-tag);color:#60a5fa;padding:2px 6px;border-radius:4px}.alerts-view .rule-symbol.all{color:#94a3b8;background:transparent}.alerts-view .rule-actions{display:flex;gap:6px;align-items:center}.alerts-view .btn-toggle{font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;border:1px solid var(--border);background:transparent;color:#94a3b8;cursor:pointer;transition:all .15s}.alerts-view .btn-toggle.active{border-color:#22c55e;color:#22c55e}.alerts-view .rule-conditions{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}.alerts-view .condition-chip{font-size:11px;background:var(--bg-input);border:1px solid var(--border);padding:2px 7px;border-radius:4px;color:var(--text-secondary);font-family:monospace}.alerts-view .rule-meta{font-size:11px;color:var(--text-muted)}.alerts-view .event-card{padding:12px}.alerts-view .event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.alerts-view .event-symbol{font-weight:600;color:#60a5fa;font-size:13px}.alerts-view .event-time{font-size:11px;color:var(--text-muted)}.alerts-view .event-message{font-size:12px;color:var(--text-secondary)}.alerts-view .empty-state{text-align:center;color:var(--text-muted);font-size:13px;padding:32px 0;line-height:1.7}.alerts-view .btn-primary{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer;transition:background .15s}.alerts-view .btn-primary:hover:not(:disabled){background:#1d4ed8}.alerts-view .btn-primary:disabled{opacity:.5;cursor:not-allowed}.alerts-view .btn-primary.btn-sm{padding:4px 10px;font-size:12px}.alerts-view .btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:5px;padding:4px 10px;font-size:12px;cursor:pointer}.alerts-view .btn-ghost:hover{border-color:#60a5fa;color:#60a5fa}.alerts-view .btn-ghost.btn-sm{padding:3px 8px;font-size:11px}.alerts-view .btn-ghost.btn-danger:hover{border-color:#ef4444;color:#ef4444}.jobs-view{flex:1;display:flex;flex-direction:column;min-height:0}.jobs-toolbar{height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--signal-bg-elevated);border-bottom:1px solid var(--signal-border)}.jobs-toolbar-copy,.jobs-toolbar-actions{display:flex;align-items:center;gap:12px}.jobs-title{font-size:14px;font-weight:700;color:var(--signal-text-primary)}.jobs-generated{font-size:12px;color:var(--signal-text-secondary)}.jobs-content{flex:1;min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.jobs-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.jobs-stat-card,.jobs-panel{background:var(--signal-bg-panel);border:1px solid var(--signal-border);border-radius:8px}.jobs-stat-card{padding:14px;display:flex;flex-direction:column;gap:6px}.jobs-stat-card strong{font-size:24px;color:var(--signal-text-primary)}.jobs-stat-card--danger strong{color:#ef6b73}.jobs-stat-card--success strong{color:#78c48b}.jobs-stat-label,.jobs-panel-title{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--signal-text-secondary)}.jobs-panel{padding:12px}.jobs-panel--table{padding-bottom:0}.jobs-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.jobs-panel--coverage{display:flex;flex-direction:column;gap:8px}.jobs-coverage-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.jobs-health-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(42,46,57,.4);color:var(--signal-text-primary);font-size:13px}.jobs-health-row:last-child{border-bottom:none}.jobs-table-wrap{overflow:auto;margin-top:10px}.jobs-table{width:100%;border-collapse:collapse;font-size:12px}.jobs-table th{text-align:left;padding:9px 10px;color:var(--signal-text-secondary);background:var(--signal-bg-elevated);border-bottom:1px solid var(--signal-border);position:sticky;top:0}.jobs-table td{padding:9px 10px;color:var(--signal-text-primary);border-bottom:1px solid rgba(42,46,57,.35);vertical-align:top}.jobs-job-cell,.jobs-run-cell{display:flex;flex-direction:column;gap:2px}.jobs-job-cell span,.jobs-run-cell small{color:var(--signal-text-secondary)}.jobs-status,.jobs-infra{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.jobs-status--scheduled{background:rgba(110,184,255,.12);color:#87c3ff}.jobs-status--enqueued{background:rgba(255,197,61,.12);color:#ffcf66}.jobs-status--retrying{background:rgba(255,147,61,.12);color:#ffad73}.jobs-status--failed,.jobs-infra--ko{background:rgba(239,107,115,.12);color:#ef6b73}.jobs-status--done,.jobs-infra--ok{background:rgba(120,196,139,.12);color:#78c48b}.jobs-note{max-width:420px;color:var(--signal-text-secondary)}.jobs-actions{display:flex;gap:8px;align-items:center}.jobs-btn-danger:hover{border-color:#ef6b7373;color:#ef6b73}@media (max-width: 1200px){.jobs-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.jobs-toolbar{height:auto;padding:12px;align-items:flex-start;flex-direction:column}.jobs-toolbar-copy,.jobs-toolbar-actions{width:100%;justify-content:space-between}.jobs-summary-grid,.jobs-health-grid{grid-template-columns:1fr}}
