:root{--bg:#f7f8fa;--surface:#fff;--text:#1f2937;--muted:#6b7280;--border:#e5e7eb;--header-bg:#f3f4f6;--row-hover:#f5f7fb;--row-selected:#e9efff;--accent:#3b82f6;--accent-contrast:#fff;--positive:#16a34a;--negative:#dc2626;--shadow:0 6px 20px #0000000f;--radius:12px;--col-blue-bg:#e7f3ff;--col-orange-bg:#fff3e0}[data-theme=dark]{--bg:#0d1117;--surface:#11161d;--surface-2:#161c24;--text:#e6edf3;--muted:#8b949e;--border:#2a313c;--border-subtle:#1d232c;--header-bg:#1a212c;--row-hover:#5b9bff14;--row-selected:#5b9bff29;--accent:#5b9bff;--accent-contrast:#0d1117;--positive:#3fb950;--negative:#ff6b6b;--shadow:0 6px 24px #00000080;--col-blue-bg:#58a6ff1a;--col-orange-bg:#fb923c1a}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7f8fa;background-color:var(--bg);color:#1f2937;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow:hidden}.App{box-sizing:border-box;display:flex;flex-direction:column;height:100vh;padding:12px 20px 20px}.main-content{display:flex;flex-grow:1;gap:0;margin-top:20px;min-height:0;overflow:hidden;position:relative}.table-container{overflow:auto}.graph-container,.table-container{background-color:#fff;background-color:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 6px 20px #0000000f;box-shadow:var(--shadow)}.graph-container{display:flex;flex-direction:column;overflow:hidden}.risk-graph-wrapper{box-sizing:border-box;display:flex;flex:1 1 50%;flex-direction:column;min-height:250px;padding:16px}.tradingview-widget-wrapper{align-items:stretch;border-top:1px solid #e5e7eb;border-top:1px solid var(--border);display:flex;flex:1 1 50%;justify-content:stretch;min-height:250px}.divider{align-items:center;background-color:#e5e7eb;background-color:var(--border);border-left:1px solid #e5e7eb;border-left:1px solid var(--border);border-right:1px solid #e5e7eb;border-right:1px solid var(--border);cursor:col-resize;display:flex;flex-shrink:0;justify-content:center;width:10px}.divider:hover{background-color:#f5f7fb;background-color:var(--row-hover)}.divider:before{color:#6b7280;color:var(--muted);content:"···";display:block;font-size:16px;letter-spacing:-2px;line-height:0;transform:rotate(90deg)}h1{color:#2c3e50;margin-bottom:20px;text-align:center}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);color:#1f2937;color:var(--text);font-size:.9em;padding:8px 10px;text-align:left}th{font-weight:600;-webkit-user-select:none;user-select:none}.fusion-th,th{background-color:#f3f4f6;background-color:var(--header-bg)}.fusion-th{border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--border);color:#1f2937;color:var(--text);padding:4px 6px;position:relative;text-align:left;vertical-align:middle}.fusion-th-row{align-items:center;display:flex;gap:3px;min-height:22px}.fusion-th-title{align-items:center;border-radius:4px;color:#1f2937;color:var(--text);display:inline-flex;font-size:.9em;gap:3px;padding:0}.fusion-th-title.is-sortable{cursor:pointer}.fusion-th-title.is-sortable:hover{background:color-mix(in srgb,#3b82f6 10%,#0000);background:color-mix(in srgb,var(--accent) 10%,#0000)}.th-label{line-height:1.1;white-space:nowrap}.fusion-th-sort{line-height:0}.fusion-th-metric-toggle,.fusion-th-sort{align-items:center;color:#3b82f6;color:var(--accent);display:inline-flex;justify-content:center}.fusion-th-metric-toggle{background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:3px;cursor:pointer;font-size:10px;font-weight:700;height:16px;line-height:1;padding:0;transition:border-color .12s ease,background .12s ease;width:16px}.fusion-th-metric-toggle:hover{background:#e7f3ff;background:var(--col-blue-bg);border-color:#3b82f6;border-color:var(--accent)}.fusion-th-filter-btn{align-items:center;background:#0000;border:none;border-radius:3px;color:#6b7280;color:var(--muted);cursor:pointer;display:inline-flex;height:16px;justify-content:center;margin-left:auto;opacity:.55;padding:0;transition:opacity .12s ease,color .12s ease,background .12s ease;width:16px}.fusion-th-filter-btn.is-active,.fusion-th-filter-btn:hover,.fusion-th:hover .fusion-th-filter-btn{color:#3b82f6;color:var(--accent);opacity:1}.fusion-th-filter-btn.is-active{background:#e7f3ff;background:var(--col-blue-bg)}.filter-popover-wrap{margin-top:4px;position:absolute;top:100%;z-index:30}.filter-popover-wrap.align-left{left:0;right:auto}.filter-popover-wrap.align-right{left:auto;right:0}.filter-popover{background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px #00000024;color:#1f2937;color:var(--text);display:flex;flex-direction:column;font-size:12px;gap:8px;padding:10px;width:200px}.filter-popover-header{align-items:center;display:flex;justify-content:space-between}.filter-popover-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;color:var(--muted);cursor:pointer;display:inline-flex;font-size:16px;height:20px;justify-content:center;line-height:1;padding:0;transition:color .12s ease,background .12s ease;width:20px}.filter-popover-close:hover{background:#f5f7fb;background:var(--row-hover);color:#1f2937;color:var(--text)}.filter-popover-title{color:#6b7280;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.filter-popover-row{align-items:center;display:flex;gap:6px}.filter-popover-input{font-feature-settings:"tnum";background:#f7f8fa;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:5px;color:#1f2937;color:var(--text);flex:1 1;font-size:12px;font-variant-numeric:tabular-nums;height:26px;min-width:0;padding:0 8px;transition:border-color .12s ease,box-shadow .12s ease}.filter-popover-input::placeholder{color:#6b7280;color:var(--muted);opacity:.8}.filter-popover-input:focus{border-color:#3b82f6;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,#3b82f6 20%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,#0000);outline:none}.filter-popover-dash{color:#6b7280;color:var(--muted);font-weight:600}.filter-popover-select{background:#f7f8fa;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:5px;color:#1f2937;color:var(--text);font-size:12px;height:28px;padding:0 8px;width:100%}.filter-popover-actions{display:flex;gap:6px;justify-content:flex-end}.filter-popover-btn{background:#f7f8fa;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:5px;color:#1f2937;color:var(--text);cursor:pointer;font-size:11px;font-weight:600;height:26px;padding:0 10px;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.filter-popover-btn:hover:not(:disabled){background:#f5f7fb;background:var(--row-hover);border-color:#3b82f6;border-color:var(--accent)}.filter-popover-btn:disabled{cursor:not-allowed;opacity:.5}.filter-popover-btn-primary{background:#3b82f6;background:var(--accent);border-color:#3b82f6;border-color:var(--accent);color:#fff}.filter-popover-btn-primary:hover:not(:disabled){background:#3b82f6;background:var(--accent);filter:brightness(1.05)}.filter-popover-btn-secondary{color:#6b7280;color:var(--muted)}.strikes-cell{white-space:nowrap}tr:hover{background-color:#f5f7fb;background-color:var(--row-hover)}tr.selected-row{background-color:#e9efff;background-color:var(--row-selected)}tbody tr:nth-child(2n):not(.selected-row){background-color:color-mix(in srgb,#fff 92%,#1f2937 8%);background-color:color-mix(in srgb,var(--surface) 92%,var(--text) 8%)}@supports not (color-mix(in srgb,black,white)){tbody tr:nth-child(2n):not(.selected-row){background-color:#00000005}}[data-theme=dark] tbody tr:nth-child(2n):not(.selected-row){background-color:hsla(0,0%,100%,.025)}[data-theme=dark] .table-container{background:#fff;background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px;border-radius:var(--radius);box-shadow:inset 0 1px 0 #ffffff05}[data-theme=dark] .table-container thead th{background:#f3f4f6;background:var(--header-bg);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);color:#1f2937;color:var(--text)}[data-theme=dark] .table-container tbody tr{border-bottom:1px solid var(--border-subtle)}[data-theme=dark] .table-container tbody tr:hover:not(.selected-row):not(.pin-divider-row){background-color:#f5f7fb;background-color:var(--row-hover)}[data-theme=dark] .table-container tbody tr.selected-row{background-color:#e9efff;background-color:var(--row-selected);box-shadow:inset 3px 0 0 #3b82f6;box-shadow:inset 3px 0 0 var(--accent)}[data-theme=dark] .table-container tbody tr.selected-row td{background-color:initial}[data-theme=dark] td.col-blue{background-color:#e7f3ff;background-color:var(--col-blue-bg)}[data-theme=dark] td.col-orange{background-color:#fff3e0;background-color:var(--col-orange-bg)}[data-theme=dark] tbody tr:nth-child(2n):not(.selected-row) td.col-blue{background-color:#58a6ff24}[data-theme=dark] tbody tr:nth-child(2n):not(.selected-row) td.col-orange{background-color:#fb923c24}[data-theme=dark] .table-container tbody tr:hover:not(.selected-row) td.col-blue{background-color:#58a6ff2e}[data-theme=dark] .table-container tbody tr:hover:not(.selected-row) td.col-orange{background-color:#fb923c2e}[data-theme=dark] .fusion-th-filter-btn{color:#6b7280;color:var(--muted)}[data-theme=dark] .fusion-th-filter-btn.is-active,[data-theme=dark] .fusion-th-filter-btn:hover{color:#3b82f6;color:var(--accent)}[data-theme=dark] .fusion-th-metric-toggle{background:#ffffff0a;color:#6b7280;color:var(--muted)}[data-theme=dark] .fusion-th-metric-toggle:hover{background:#ffffff1a;color:#1f2937;color:var(--text)}.error,.loading,.no-data,.no-graph{color:#6b7280;color:var(--muted);font-size:1.1em;padding:20px;text-align:center}.numeric-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}td.col-blue{background-color:#e7f3ff;background-color:var(--col-blue-bg)}td.col-orange{background-color:#fff3e0;background-color:var(--col-orange-bg)}.last-updated-timestamp{align-items:center;background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 6px 20px #0000000f;box-shadow:var(--shadow);display:flex;gap:10px;justify-content:space-between;padding:8px 12px}.last-updated-timestamp .meta{align-items:center;color:#6b7280;color:var(--muted);display:flex;font-size:.85em;gap:10px;white-space:nowrap}.button-row{align-items:center;display:flex;gap:8px}.button-row button{outline:none}.button-row button img{filter:none}.toolbar{flex-wrap:wrap;row-gap:6px}.toolbar-group{align-items:center;display:inline-flex;gap:6px}.toolbar-group-sliders{gap:8px}.toolbar-divider{background:#e5e7eb;background:var(--border);flex-shrink:0;height:22px;margin:0 4px;width:1px}.tb-btn{align-items:center;background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:#1f2937;color:var(--text);cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;position:relative;transition:border-color .12s ease,background .12s ease,color .12s ease;width:28px}.tb-btn:hover{background:#f5f7fb;background:var(--row-hover);border-color:#3b82f6;border-color:var(--accent)}.tb-btn-img{height:auto;width:18px}.tb-btn.is-active{background:#e7f3ff;background:var(--col-blue-bg);border-color:#3b82f6;border-color:var(--accent);color:#3b82f6;color:var(--accent)}.tb-btn-success-active{border:2px solid #4caf50}.tb-btn-bell.is-active{background:#e7f3ff;background:var(--col-blue-bg);border-color:#3b82f6;border-color:var(--accent)}.tb-btn-bell-icon{font-size:14px;line-height:1}.tb-segmented{border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;box-sizing:border-box;display:inline-flex;height:28px;overflow:hidden}.tb-segmented-inset{background:#f7f8fa;background:var(--bg);gap:0;padding:2px}.tb-seg-btn{align-items:center;background:#0000;border:none;box-sizing:border-box;color:#1f2937;color:var(--text);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;height:100%;justify-content:center;padding:0 12px;transition:background .18s ease,color .18s ease}.tb-segmented-inset .tb-seg-btn{border-radius:6px;color:#6b7280;color:var(--muted);height:100%}.tb-seg-btn:hover:not(.is-active){background:#f5f7fb;background:var(--row-hover)}.tb-seg-btn.is-active{color:#fff}.tb-seg-btn.is-active,.tb-segmented-inset .tb-seg-btn.is-active{background:#3b82f6;background:var(--accent)}.tb-seg-back.is-active{background:#4caf50}.tb-seg-front.is-active{background:#2196f3}.tb-seg-icon{padding:0;width:32px}.tb-seg-num{font-size:11px;padding:0;width:24px}.slider-label{color:#6b7280;color:var(--muted);font-size:12px}.ticker-center{gap:8px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%)}.ticker-center,.ticker-chip{align-items:center;display:inline-flex}.ticker-chip{font-feature-settings:"tnum";background:#f7f8fa;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:999px;box-sizing:border-box;font-variant-numeric:tabular-nums;gap:6px;height:24px;line-height:1;padding:3px 10px}.ticker-chip-label{color:#6b7280;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ticker-chip-value{color:#1f2937;color:var(--text);font-size:13px;font-weight:700}.results-badge{font-feature-settings:"tnum";align-items:baseline;background:color-mix(in srgb,#3b82f6 12%,#0000);background:color-mix(in srgb,var(--accent) 12%,#0000);border-radius:999px;box-sizing:border-box;color:#3b82f6;color:var(--accent);display:inline-flex;font-variant-numeric:tabular-nums;gap:5px;height:24px;line-height:1;padding:3px 10px}.results-badge-count{font-size:14px;font-weight:800}.results-badge-label{font-size:10px;font-weight:600;letter-spacing:.06em;opacity:.85;text-transform:uppercase}.status-updated{font-feature-settings:"tnum";align-items:center;color:#6b7280;color:var(--muted);display:inline-flex;font-size:12px;font-variant-numeric:tabular-nums;gap:6px}.status-updated-text{line-height:1}.status-dot{background:#6b7280;background:var(--muted);border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,#fff 100%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 100%,#0000);display:inline-block;height:8px;width:8px}.status-dot-fresh{background:#16a34a}.status-dot-stale{background:#f59e0b}.status-dot-old{background:#dc2626}.status-dot-fresh{animation:pulse-fresh 2.2s ease-in-out infinite}@keyframes pulse-fresh{0%,to{box-shadow:0 0 0 0 #16a34a73}50%{box-shadow:0 0 0 5px #16a34a00}}.refresh-button{align-items:center;background-color:#4caf50;border:none;border-radius:8px;color:#fff;color:var(--accent-contrast);cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;height:28px;justify-content:center;line-height:1;min-width:32px;padding:0 10px;transition:filter .12s ease}.refresh-button:hover:not(:disabled){filter:brightness(1.05)}.refresh-button:disabled{cursor:not-allowed;opacity:.6}.theme-toggle{align-items:center;background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;color:#1f2937;color:var(--text);cursor:pointer;display:inline-flex;font-size:14px;height:28px;justify-content:center;line-height:1;padding:0;width:28px}.theme-toggle:hover{background:#f5f7fb;background:var(--row-hover);border-color:#3b82f6;border-color:var(--accent)}@media (max-width:768px){.main-content{flex-direction:column}.graph-container,.table-container{flex:1 1 auto;margin-bottom:20px}}@keyframes skeleton-shimmer{0%{transform:translateX(-150%)}to{transform:translateX(150%)}}:root{--skeleton-base:#e9ecef;--skeleton-shimmer:#fff9}[data-theme=dark]{--skeleton-base:#1a1a1a;--skeleton-shimmer:#ffffff14}.skeleton{background:#0000;border-radius:12px;border-radius:var(--radius)}.skeleton-table{background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);display:flex;flex-direction:column;height:100%}.skeleton-table-header,.skeleton-table-row{grid-gap:10px;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:grid;gap:10px;grid-template-columns:60px 120px 90px 110px 70px 110px 70px 80px 80px 70px 70px 40px;padding:14px 10px}.skeleton-chip{background:#e9ecef;background:var(--skeleton-base);border-radius:8px;height:18px;overflow:hidden;position:relative}.skeleton-chip:after{animation:skeleton-shimmer 1.6s infinite;background:linear-gradient(90deg,#0000,#fff9,#0000);background:linear-gradient(90deg,#0000,var(--skeleton-shimmer),#0000);content:"";inset:0;position:absolute;transform:translateX(-150%)}.graph-loader{background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);height:100%;overflow:hidden;position:relative}.graph-grid{background-image:linear-gradient(#e5e7eb 1px,#0000 0),linear-gradient(90deg,#e5e7eb 1px,#0000 0);background-image:linear-gradient(var(--border) 1px,#0000 1px),linear-gradient(90deg,var(--border) 1px,#0000 1px);background-size:100% 28px,56px 100%;inset:12px;opacity:.4;position:absolute}.graph-spinner{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.graph-spinner:after{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-top-color:#3b82f6;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);content:"";height:36px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.grid-view-container{grid-gap:20px;display:grid;gap:20px;padding:10px 0 40px}.grid-pagination-btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;color:#1f2937;color:var(--text);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;padding:8px 16px;transition:all .12s ease}.grid-pagination-btn:hover:not(:disabled){background:#f5f7fb;background:var(--row-hover);border-color:#3b82f6;border-color:var(--accent);color:#3b82f6;color:var(--accent)}.grid-pagination-btn:disabled{background:#f7f8fa;background:var(--bg);cursor:not-allowed;opacity:.5}.grid-pagination-info{color:#1f2937;color:var(--text);font-size:14px;font-weight:600;min-width:100px;text-align:center}.combination-card{background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 6px 20px #0000000f;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;height:650px;overflow:hidden;transition:transform .2s ease,border-color .2s ease}.combination-card:hover{border-color:#3b82f6;border-color:var(--accent);transform:translateY(-2px)}.combination-card.selected{border-color:#3b82f6;border-color:var(--accent);border-width:2px;box-shadow:0 0 0 2px #5b9bff33}.card-header{background:#111;background:var(--surface-2,#111);padding:6px 12px}.card-header,[data-theme=light] .card-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);color:#1f2937;color:var(--text)}[data-theme=light] .card-header{background:#f8fafc}[data-theme=dark] .card-header{background:var(--surface-2);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);color:#1f2937;color:var(--text)}.card-title{align-items:center;display:flex;gap:10px;margin-bottom:10px}.card-badge{background:#3b82f6;background:var(--accent);border-radius:4px;color:#fff;font-size:.75em;font-weight:600;padding:2px 8px}.card-ticker{font-size:1.2em;font-weight:700}.card-sub{color:#6b7280;color:var(--muted);font-size:.85em}.card-metrics-grid{grid-gap:4px 8px;display:grid;gap:4px 8px;grid-template-columns:repeat(10,1fr)}.card-metric{display:flex;flex-direction:column;min-width:0}.card-metric-label{color:#6b7280;color:var(--muted);font-size:.6em;letter-spacing:.02em;margin-bottom:0;text-transform:uppercase}.card-metric-label,.card-metric-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-metric-value{font-feature-settings:"tnum";font-size:.85em;font-variant-numeric:tabular-nums;font-weight:600}.combination-card .card-body{flex:1 1;min-height:0;padding:12px}.auto-refresh-button{align-items:center;background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;color:#6b7280;color:var(--muted);cursor:pointer;display:inline-flex;font-size:10px;font-weight:700;height:28px;justify-content:center;letter-spacing:.5px;padding:0 8px;transition:all .15s ease}.auto-refresh-button.active{border-color:#4caf50;border-width:2px;color:#4caf50;font-weight:800}.auto-refresh-button:hover{background:#f5f7fb;background:var(--row-hover);color:#1f2937;color:var(--text)}@media (max-width:1200px){.grid-view-container{grid-template-columns:1fr}}.alerts-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.alerts-modal{background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 6px 20px #0000000f;box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:92vh;max-width:820px;width:92%}.alerts-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 20px}.alerts-modal-header h2{color:#1f2937;color:var(--text);font-size:1.2rem;margin:0}.alerts-header-right{align-items:center;display:flex;gap:12px}.saved-indicator{animation:saved-fade 1.4s ease forwards;color:#16a34a;color:var(--positive,#16a34a);font-size:.8rem;opacity:0}@keyframes saved-fade{0%{opacity:0;transform:translateY(-2px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}.close-btn{background:#0000;border:none;color:#6b7280;color:var(--muted);cursor:pointer;font-size:1.5rem;line-height:1}.close-btn:hover{color:#1f2937;color:var(--text)}.alerts-modal-body{overflow-y:auto;padding:18px 20px 20px}.alerts-layout{grid-gap:22px;align-items:start;display:grid;gap:22px;grid-template-columns:1.55fr 1fr}@media (max-width:760px){.alerts-layout{grid-template-columns:1fr}}.alert-rules-section,.alert-settings-section{display:flex;flex-direction:column;gap:10px;min-width:0}.alert-rules-section.is-disabled .rule-builder,.alert-rules-section.is-disabled .rules-list,.settings-body.is-disabled{opacity:.5;pointer-events:none}.section-title-row{align-items:center;display:flex;gap:8px}.alert-settings-section>h3,.section-title-row h3{color:#1f2937;color:var(--text);font-size:1rem;margin:0}.badge-count{align-items:center;background:color-mix(in srgb,#3b82f6 15%,#0000);background:color-mix(in srgb,var(--accent) 15%,#0000);border-radius:11px;color:#3b82f6;color:var(--accent);display:inline-flex;font-size:.75rem;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 7px}.rules-desc{color:#6b7280;color:var(--muted);font-size:.82rem;margin:0 0 4px}.toggle-label{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.master-toggle{font-size:.95rem}.subtle-note{color:#6b7280;color:var(--muted);font-size:.78rem;font-style:italic;margin:0}.settings-footer{display:flex;justify-content:flex-end;margin-top:8px}.test-alert-btn{background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:6px;color:#1f2937;color:var(--text);cursor:pointer;font-size:.82rem;padding:4px 12px}.test-alert-btn:hover{background:#e7f3ff;background:var(--col-blue-bg);border-color:#3b82f6;border-color:var(--accent);color:#3b82f6;color:var(--accent)}.rules-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto;padding-right:4px}.no-rules{color:#6b7280;color:var(--muted);font-size:.85rem;font-style:italic;margin:6px 0}.rules-or-sep{align-items:center;display:flex;justify-content:center;margin:2px 0;position:relative}.rules-or-sep:after,.rules-or-sep:before{background:#e5e7eb;background:var(--border);content:"";flex:1 1;height:1px}.rules-or-sep span{color:#6b7280;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.08em;margin:0 10px}.rule-item{align-items:center;background:#f7f8fa;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;display:flex;font-size:.88rem;gap:8px;justify-content:space-between;padding:8px 10px;transition:border-color .15s,box-shadow .15s}.rule-item.is-editing{border-color:#3b82f6;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,#3b82f6 20%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,#0000)}.rule-conditions{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.rule-chip{align-items:center;background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:14px;display:inline-flex;font-size:.82rem;gap:5px;padding:2px 8px}.rule-chip-op{color:#6b7280;color:var(--muted);font-weight:600;padding:0 2px}.rule-actions{display:flex;flex-shrink:0;gap:4px}.icon-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#6b7280;color:var(--muted);cursor:pointer;display:inline-flex;font-size:.95rem;height:28px;justify-content:center;transition:all .15s;width:28px}.icon-btn:hover{background:color-mix(in srgb,#3b82f6 10%,#0000);background:color-mix(in srgb,var(--accent) 10%,#0000);border-color:#e5e7eb;border-color:var(--border);color:#3b82f6;color:var(--accent)}.icon-btn-danger:hover{background:#dc26261a;border-color:#dc2626;border-color:var(--negative);color:#dc2626;color:var(--negative)}.rule-builder{background:color-mix(in srgb,#fff 95%,#1f2937 5%);background:color-mix(in srgb,var(--surface) 95%,var(--text) 5%);border:1px dashed #e5e7eb;border:1px dashed var(--border);border-radius:8px;display:flex;flex-direction:column;gap:10px;margin-top:4px;padding:14px}[data-theme=dark] .rule-builder{background:#ffffff05}.rule-builder-title{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.rule-builder h4{color:#1f2937;color:var(--text);font-size:.9rem;margin:0}.link-btn{background:#0000;border:none;color:#3b82f6;color:var(--accent);cursor:pointer;font-size:.8rem;padding:0 4px;text-decoration:underline}.link-btn:hover{opacity:.8}.staged-conditions{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.staged-condition-chip{align-items:center;background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 2px #0000000d;display:inline-flex;font-size:.8rem;gap:6px;padding:3px 4px 3px 10px}.staged-condition-chip button{background:#0000;border:none;color:#6b7280;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 4px}.staged-condition-chip button:hover{color:#dc2626;color:var(--negative)}.cond-and,.cond-and-chip,.cond-and-label{background:color-mix(in srgb,#3b82f6 15%,#0000);background:color-mix(in srgb,var(--accent) 15%,#0000);border-radius:4px;color:#3b82f6;color:var(--accent);font-size:.68rem;font-weight:700;padding:2px 6px}.cond-and-label{margin-right:4px}.add-condition-form{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.add-condition-form input,.add-condition-form select{background:#f7f8fa;background:var(--bg);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:6px;color:#1f2937;color:var(--text);font-size:.88rem;padding:6px 8px}.input-with-suffix{align-items:center;display:inline-flex;position:relative}.input-with-suffix input{padding-right:22px;width:110px}.input-suffix{font-size:.8rem;pointer-events:none;position:absolute;right:8px}.add-cond-btn,.input-suffix{color:#6b7280;color:var(--muted)}.add-cond-btn{background:#0000;border:1px dashed #e5e7eb;border:1px dashed var(--border);border-radius:6px;cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.03em;padding:4px 10px;transition:all .15s}.add-cond-btn:hover:not(:disabled){background:#e7f3ff;background:var(--col-blue-bg);border-color:#3b82f6;border-color:var(--accent);border-style:solid;color:#3b82f6;color:var(--accent)}.add-cond-btn:disabled{cursor:not-allowed;opacity:.5}.rule-builder-actions{display:flex;justify-content:flex-end}.save-rule-btn{background:#3b82f6;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;padding:7px 16px;transition:opacity .15s,filter .15s}.save-rule-btn:hover:not(:disabled){filter:brightness(1.05)}.save-rule-btn:disabled{cursor:not-allowed;opacity:.4}.sound-selector{display:flex;flex-direction:column;gap:6px;padding:6px 0 4px 24px}.sound-choice{grid-gap:8px;align-items:center;background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:6px;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto 1fr auto;padding:6px 8px;transition:border-color .15s,background .15s}.sound-choice.is-selected,.sound-choice:hover{border-color:#3b82f6;border-color:var(--accent)}.sound-choice.is-selected{background:#e7f3ff;background:var(--col-blue-bg)}.sound-choice input[type=radio]{accent-color:#3b82f6;accent-color:var(--accent);margin:0}.sound-choice-label{display:flex;flex-direction:column;line-height:1.2}.sound-choice-desc{color:#6b7280;color:var(--muted);font-size:.72rem}.sound-preview-btn{align-items:center;background:#0000;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:50%;color:#3b82f6;color:var(--accent);cursor:pointer;display:inline-flex;font-size:.7rem;height:26px;justify-content:center;line-height:1;padding:0;width:26px}.sound-preview-btn:hover{background:#e7f3ff;background:var(--col-blue-bg);border-color:#3b82f6;border-color:var(--accent)}.permission-status{align-items:center;color:#6b7280;color:var(--muted);display:flex;flex-wrap:wrap;font-size:.82rem;gap:8px;padding:4px 0 0 24px}.permission-status b{color:#1f2937;color:var(--text)}.perm-dot{background:#6b7280;background:var(--muted);border-radius:50%;display:inline-block;height:8px;width:8px}.perm-dot.perm-granted{background:#16a34a;background:var(--positive,#16a34a)}.perm-dot.perm-denied{background:#dc2626;background:var(--negative,#dc2626)}.perm-dot.perm-default{background:#f59e0b}.perm-dot.perm-unsupported{background:#6b7280;background:var(--muted)}.permission-denied-hint{color:#6b7280;color:var(--muted);font-size:.75rem;line-height:1.4;margin:6px 0 0 24px;max-width:30rem}.permission-embed-hint{background:#0000000a;border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:6px;color:#6b7280;color:var(--muted);font-size:.72rem;line-height:1.45;margin:8px 0 0 24px;max-width:32rem;padding:8px 10px}[data-theme=dark] .permission-embed-hint{background:#ffffff0a}.permission-embed-hint code{background:#f5f7fb;background:var(--row-hover,#f3f4f6);border-radius:3px;color:#1f2937;color:var(--text);font-size:.7rem;padding:1px 4px}.permission-embed-hint a{color:#3b82f6;color:var(--accent);font-weight:600}.permission-embed-brief{border-left:3px solid #3b82f6;border-left:3px solid var(--accent,#3b82f6);color:#6b7280;color:var(--muted);font-size:.75rem;line-height:1.4;margin:6px 0 0 24px;max-width:32rem;padding:6px 8px}.permission-embed-brief b{color:#1f2937;color:var(--text)}.permission-embed-unified{background:#0000000a;border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:6px;color:#6b7280;color:var(--muted);font-size:.75rem;line-height:1.45;margin:8px 0 0 24px;max-width:32rem;padding:10px 12px}[data-theme=dark] .permission-embed-unified{background:#ffffff0a}.permission-embed-unified-lead{color:#1f2937;color:var(--text);margin:0 0 8px}.permission-embed-unified-lead code{font-size:.7rem}.permission-embed-unified-what{color:#1f2937;color:var(--text);margin:0 0 4px}.permission-embed-unified-steps{list-style:decimal;margin:0 0 0 1.1rem;padding:0}.permission-embed-unified-steps li{margin:0 0 8px}.permission-embed-unified-steps a{color:#3b82f6;color:var(--accent);font-weight:600}.permission-embed-unified-steps code{background:#f5f7fb;background:var(--row-hover,#f3f4f6);border-radius:3px;color:#1f2937;color:var(--text);font-size:.68rem;padding:0 3px}.table-container tbody tr.selected-row.alert-highlight td:first-child,[data-theme=dark] .table-container tbody tr.selected-row.alert-highlight td:first-child,tbody tr.alert-highlight td:first-child{box-shadow:inset 4px 0 0 #dc2626!important;box-shadow:inset 4px 0 0 var(--negative)!important}.combination-card.alert-highlight{border-left:4px solid #dc2626!important;border-left:4px solid var(--negative)!important}.pin-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#6b7280;color:var(--muted);cursor:pointer;display:inline-flex;height:22px;justify-content:center;opacity:.45;padding:0;transition:opacity .15s ease,color .15s ease,background .15s ease,transform .1s ease;width:22px}.pin-btn:hover{background:#0000000d;color:#1f2937;color:var(--text);opacity:1}[data-theme=dark] .pin-btn:hover{background:#ffffff14}.pin-btn.is-pinned{color:#eab308;opacity:1}.pin-btn.is-pinned:hover{color:#ca8a04}.pin-btn:active{transform:scale(.92)}.fusion-table td:first-child,.fusion-table th:first-child{min-width:32px;padding-left:4px;padding-right:4px;text-align:center;width:32px}.fusion-table th:first-child .fusion-th-row{justify-content:center}tr.pin-divider-row{background:#0000!important;pointer-events:auto}tr.pin-divider-row td{background:linear-gradient(180deg,#0000,#eab3080a)!important;border-bottom:1px dashed #e5e7eb;border-bottom:1px dashed var(--border,#0000001a);padding:6px 8px 4px!important}[data-theme=dark] tr.pin-divider-row td{background:linear-gradient(180deg,#0000,#eab30814)!important;border-bottom-color:#ffffff1a}.pin-divider-inner{align-items:center;display:flex;gap:12px;justify-content:space-between}.pin-divider-label{align-items:center;color:#6b7280;color:var(--muted);display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.04em;text-transform:uppercase}.pin-divider-label .star-icon{color:#eab308;font-size:12px;line-height:1}.pin-clear-all{background:#0000;border:none;border-radius:4px;color:#6b7280;color:var(--muted);cursor:pointer;font-size:11px;padding:2px 6px;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.pin-clear-all:hover{background:#dc262614;color:#dc2626;color:var(--negative,#dc2626);text-decoration:none}tr.row-pinned{background:#eab3080a}tr.row-pinned:hover{background:#eab30814}[data-theme=dark] tr.row-pinned{background:#eab3080f}[data-theme=dark] tr.row-pinned:hover{background:#eab3081a}tr.row-pinned.selected-row{background:#eab30824}tr.row-pinned.row-stale td{font-style:italic;opacity:.55}tr.row-pinned.row-stale td:first-child{font-style:normal;opacity:1}tr.row-pinned.row-stale td:first-child:after{background:#fef3c7;border-radius:3px;color:#92400e;content:"stale";display:inline-block;font-size:9px;font-weight:700;letter-spacing:.04em;margin-left:4px;padding:1px 4px;text-transform:uppercase;vertical-align:middle}[data-theme=dark] tr.row-pinned.row-stale td:first-child:after{background:#fbbf2426;color:#fbbf24}.grid-pinned-header{align-items:center;background:#eab3080f;border:1px dashed #eab3084d;border-radius:6px;display:flex;gap:12px;justify-content:space-between;margin:6px 0 10px;padding:6px 10px}.grid-pinned-title{align-items:center;color:#6b7280;color:var(--muted);display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.04em;text-transform:uppercase}.grid-pinned-title .star-icon{color:#eab308}.grid-view-pinned{border-bottom:1px dashed #e5e7eb;border-bottom:1px dashed var(--border,#0000001a);margin-bottom:16px;padding-bottom:16px}[data-theme=dark] .grid-view-pinned{border-bottom-color:#ffffff1a}.card-pin-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;color:var(--muted);cursor:pointer;display:inline-flex;height:24px;justify-content:center;opacity:.55;padding:0;transition:opacity .15s ease,color .15s ease,background .15s ease,transform .1s ease;width:24px}.card-pin-btn:hover{background:#0000000d;color:#1f2937;color:var(--text);opacity:1}[data-theme=dark] .card-pin-btn:hover{background:#ffffff14}.card-pin-btn.is-pinned{color:#eab308;opacity:1}.card-pin-btn:active{transform:scale(.92)}.combination-card.is-pinned{border-color:#eab30880;box-shadow:0 0 0 1px #eab30833}.combination-card.is-stale{opacity:.75}.combination-card.is-stale .card-body{filter:grayscale(.3)}.card-stale-badge{background:#fef3c7;border-radius:3px;color:#92400e;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;margin-left:6px;padding:1px 6px;text-transform:uppercase;vertical-align:middle}[data-theme=dark] .card-stale-badge{background:#fbbf2426;color:#fbbf24}.tb-btn.tb-btn-pinfilter{color:#6b7280;color:var(--muted);position:relative}.tb-btn.tb-btn-pinfilter:hover:not(:disabled){color:#1f2937;color:var(--text)}.tb-btn.tb-btn-pinfilter.is-active{background:#eab3081f;border-color:#eab30866;color:#eab308}.tb-btn.tb-btn-pinfilter.is-active:hover{background:#eab3082e;color:#ca8a04}.tb-btn.tb-btn-pinfilter:disabled{cursor:not-allowed;opacity:.4}.tb-btn-pincount{align-items:center;background:#fef3c7;border-radius:8px;color:#92400e;display:inline-flex;font-size:10px;font-weight:700;height:16px;justify-content:center;line-height:1;margin-left:4px;min-width:16px;padding:0 4px}[data-theme=dark] .tb-btn-pincount{background:#fbbf242e;color:#fbbf24}.tb-btn-pinfilter.is-active .tb-btn-pincount{background:#eab308;color:#fff}
/*# sourceMappingURL=main.f324870e.css.map*/