:root{--signal-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--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-positive: #26a69a;--signal-negative: #ef5350;--signal-info: #42a5f5;--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}.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:100vh;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 var(--signal-border);display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:16px;margin-bottom:5px}.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 .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 .user-email{color:var(--signal-text-secondary);font-size:12px}.app-header .btn-logout{min-width:auto;padding:4px 8px}@media (max-width: 1200px){.app-header .user-email{display:none}}.app-dock{position:fixed;top:49px;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}}.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-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}.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}}
