:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--border: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #484f58;--green: #3fb950;--green-bg: rgba(63, 185, 80, .1);--red: #f85149;--red-bg: rgba(248, 81, 73, .1);--yellow: #d29922;--yellow-bg: rgba(210, 153, 34, .1);--blue: #58a6ff;--purple: #bc8cff;--radius: 8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border)}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.header-left{display:flex;align-items:center;gap:12px}.header h1{font-size:20px;font-weight:600}.header h1 span{font-size:24px}.header-stats{display:flex;gap:20px;font-size:13px;color:var(--text-secondary)}.header-stats .stat-value{color:var(--text-primary);font-weight:600}.header-right{display:flex;align-items:center;gap:12px}.tools-menu-container{position:relative}.tools-menu-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background .2s}.tools-menu-btn:hover{background:var(--border)}.hamburger-line{display:block;width:18px;height:2px;background:var(--text-secondary);border-radius:1px;transition:background .2s}.tools-menu-btn:hover .hamburger-line{background:var(--text-primary)}.tools-menu-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1000;overflow:hidden}.tools-menu-header{padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.tools-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:transparent;border:none;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .2s;text-align:left}.tools-menu-item:hover{background:var(--bg-tertiary)}.tools-menu-item.active{background:#6366f11a;color:var(--purple)}.tool-icon{font-size:18px}.tool-name{flex:1}.tool-check{color:var(--green);font-weight:600}.tools-menu-divider{height:1px;background:var(--border);margin:8px 0}.tools-menu-item.critical{color:#f59e0b}.tools-menu-item.critical:hover{background:#f59e0b1a}.tools-menu-item.critical.active{background:#f59e0b26}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.status-dot.disconnected{background:var(--red)}.nav-tabs{display:flex;gap:0;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:0 24px}.nav-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.nav-tab:hover{color:var(--text-primary)}.nav-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.main-content{flex:1;padding:20px 24px;overflow-y:auto}.signals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin-bottom:24px}.signal-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .2s;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.signal-card:hover{border-color:var(--blue)}.signal-card.long{border-left:3px solid var(--green)}.signal-card.short{border-left:3px solid var(--red)}.signal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.signal-symbol{font-size:18px;font-weight:700}.signal-id{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;background:var(--bg-tertiary);color:var(--text-secondary)}.signal-direction{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.5px}.signal-direction.long{background:var(--green-bg);color:var(--green)}.signal-direction.short{background:var(--red-bg);color:var(--red)}.signal-prices{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}.price-item{text-align:center}.price-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:2px}.price-value{font-size:14px;font-weight:600;font-family:SF Mono,Fira Code,monospace}.price-value.entry{color:var(--blue)}.price-value.tp{color:var(--green)}.price-value.sl{color:var(--red)}.price-pct{font-size:11px;font-weight:500;margin-top:2px}.price-pct.tp{color:var(--green);opacity:.8}.price-pct.sl{color:var(--red);opacity:.8}.signal-strength{margin-bottom:10px}.strength-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.strength-fill{height:100%;border-radius:2px;transition:width .5s}.strength-fill.high{background:var(--green)}.strength-fill.medium{background:var(--yellow)}.strength-fill.low{background:var(--red)}.signal-progress{margin-bottom:12px;padding-top:8px;border-top:1px solid var(--border)}.progress-bar-track{height:6px;background:linear-gradient(90deg,var(--red-bg) 0%,var(--bg-tertiary) 30%,var(--bg-tertiary) 70%,var(--green-bg) 100%);border-radius:3px;overflow:visible;position:relative}.progress-bar-fill{height:100%;border-radius:3px;position:relative}.progress-bar-fill:after{content:"";position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:inherit;border-radius:50%;box-shadow:0 0 6px currentColor}.progress-entry-marker{position:absolute;top:-4px;width:2px;height:14px;background:var(--blue);border-radius:1px;transform:translate(-50%)}.signal-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.signal-meta-right{display:flex;align-items:center;gap:8px}.signal-admin-buttons{display:flex;gap:6px}.signal-btn{padding:4px 8px;border-radius:4px;font-size:10px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.signal-btn.delete{background:#ef444426;color:#ef4444}.signal-btn.delete:hover{background:#ef444440}.signal-btn.block{background:#eab30826;color:#eab308}.signal-btn.block:hover{background:#eab30840}.signal-reason{font-size:12px;color:var(--text-secondary);margin-top:8px;padding-top:8px;border-top:1px solid var(--border);line-height:1.4}.asset-table-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.asset-table-header{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}.asset-table-header h3{font-size:15px}.search-input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:6px 12px;color:var(--text-primary);font-size:13px;width:200px}.search-input:focus{outline:none;border-color:var(--blue)}.search-wrapper{position:relative;display:inline-block}.search-wrapper .search-input{padding-right:28px}.search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;opacity:.7;transition:opacity .2s}.search-clear:hover{opacity:1;color:var(--text-primary)}.asset-table{width:100%;border-collapse:collapse;font-size:13px}.asset-table th{text-align:left;padding:10px 16px;color:var(--text-secondary);font-weight:500;font-size:12px;text-transform:uppercase;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.asset-table th:hover{color:var(--text-primary)}.asset-table td{padding:8px 16px;border-bottom:1px solid var(--bg-tertiary)}.asset-table tr:hover{background:var(--bg-tertiary)}.price-up{color:var(--green)}.price-down{color:var(--red)}.settings-panel{max-width:600px}.settings-group{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.settings-group h3{font-size:15px;margin-bottom:16px;color:var(--blue)}.setting-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.setting-row:last-child{margin-bottom:0}.setting-label{font-size:14px}.setting-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}.setting-input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:6px 12px;color:var(--text-primary);font-size:14px;width:120px;text-align:right}.setting-input:focus{outline:none;border-color:var(--blue)}.setting-select{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:6px 12px;color:var(--text-primary);font-size:14px;cursor:pointer}.setting-select:focus{outline:none;border-color:var(--blue)}.setting-toggle{position:relative;width:44px;height:24px}.setting-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--bg-tertiary);border-radius:12px;transition:.3s}.toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:var(--text-secondary);border-radius:50%;transition:.3s}.setting-toggle input:checked+.toggle-slider{background:var(--blue)}.setting-toggle input:checked+.toggle-slider:before{transform:translate(20px);background:#fff}.btn-save{background:var(--blue);color:#fff;border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-save:hover{opacity:.9}.btn-save:disabled{opacity:.5;cursor:not-allowed}.alert-banner{position:fixed;top:0;left:0;right:0;background:var(--green);color:#000;padding:16px 24px;z-index:1000;animation:slideDown .3s ease;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 4px 12px #0000004d}.alert-banner.short{background:var(--red);color:#fff}.alert-content{display:flex;flex-direction:column;gap:8px;flex:1}.alert-main{font-weight:700;font-size:15px}.alert-details{display:flex;gap:24px}.alert-detail-item{display:flex;align-items:flex-start;gap:6px;font-size:13px}.alert-detail-item .label{opacity:.8;font-weight:500}.alert-detail-item .value{font-weight:700;font-family:SF Mono,monospace}.alert-detail-item .value-group{display:flex;flex-direction:column}.alert-detail-item .pct{font-size:11px;opacity:.9;margin-top:-2px}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.alert-dismiss{background:#0003;border:none;color:inherit;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state .emoji{font-size:48px;margin-bottom:16px}.empty-state p{font-size:15px;line-height:1.6}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:999;display:flex;align-items:center;justify-content:center}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:900px;max-height:80vh;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:16px}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:4px 8px}.modal-close:hover{color:var(--text-primary)}.track-trade-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--blue);font-size:12px;font-weight:600;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.track-trade-btn:hover{background:var(--blue);color:var(--bg-primary);border-color:var(--blue)}.timeframe-selector{display:flex;gap:4px;background:var(--bg-tertiary);padding:4px;border-radius:6px}.timeframe-btn{background:transparent;border:none;color:var(--text-secondary);font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .2s}.timeframe-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.timeframe-btn.active{background:var(--blue);color:var(--bg-primary)}.chart-modal-large{max-width:1100px}.chart-body{min-height:450px;position:relative}.chart-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:60px;background:#0d1117e6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary);z-index:10}.chart-loading-overlay .loading-spinner{width:32px;height:32px;border:3px solid var(--bg-tertiary);border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite}.chart-hint{text-align:center;font-size:11px;color:var(--text-muted);padding:8px 0;border-top:1px solid var(--border);margin-top:8px}.modal-body{padding:20px}.history-table{width:100%;border-collapse:collapse;font-size:13px}.history-table th{text-align:left;padding:10px 12px;color:var(--text-secondary);font-weight:500;font-size:12px;text-transform:uppercase;border-bottom:1px solid var(--border)}.history-table td{padding:8px 12px;border-bottom:1px solid var(--bg-tertiary)}.backtest-container{display:flex;flex-direction:column;gap:20px}.backtest-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.range-selector{display:flex;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;overflow:hidden}.range-selector button{background:none;border:none;padding:6px 12px;color:var(--text-secondary);font-size:13px;cursor:pointer;border-right:1px solid var(--border)}.range-selector button:last-child{border-right:none}.range-selector button.active{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center}.stat-value{font-size:24px;font-weight:700;margin-bottom:4px}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase}.stats-section{margin-bottom:16px}.stats-label{font-size:13px;font-weight:600;margin-bottom:8px;padding-left:4px}.stats-label.long{color:var(--green)}.stats-label.short{color:var(--red)}.stat-card.long{border-left:3px solid var(--green)}.stat-card.short{border-left:3px solid var(--red)}.trades-list{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.trades-list h3{padding:16px 20px;font-size:15px;border-bottom:1px solid var(--border)}.trades-list table{width:100%;border-collapse:collapse;font-size:13px}.trades-list th{text-align:left;padding:12px 20px;color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--border)}.trades-list td{padding:12px 20px;border-bottom:1px solid var(--bg-tertiary)}.trades-list tr.row-win td:first-child{border-left:3px solid var(--green)}.trades-list tr.row-loss td:first-child{border-left:3px solid var(--red)}.badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:700}.badge.long{background:var(--green-bg);color:var(--green)}.badge.short{background:var(--red-bg);color:var(--red)}.text-green{color:var(--green)}.text-red{color:var(--red)}@media(max-width:768px){.header{flex-direction:column;gap:8px}.header-stats{flex-wrap:wrap;gap:12px}.signals-grid{grid-template-columns:1fr}.main-content{padding:16px}.nav-tabs{padding:0 16px;overflow-x:auto}}.users-container{max-width:1000px;margin:0 auto}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.users-header h2{margin:0;font-size:20px}.btn-primary{background:var(--accent);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:opacity .2s}.btn-primary:hover{opacity:.85}.user-form-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:24px}.user-form-card h3{margin:0 0 16px;font-size:16px;color:var(--text-primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:12px;color:var(--text-secondary);font-weight:500}.form-group input,.form-group select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:8px 10px;border-radius:6px;font-size:13px}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.form-actions{display:flex;gap:8px;margin-top:8px}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;font-size:13px}.users-table th{text-align:left;padding:10px 14px;color:var(--text-secondary);font-weight:500;font-size:12px;text-transform:uppercase;border-bottom:1px solid var(--border);white-space:nowrap}.users-table td{padding:10px 14px;border-bottom:1px solid var(--bg-tertiary);vertical-align:middle}.users-table code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:12px}.users-table input,.users-table select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:4px 8px;border-radius:4px;font-size:13px;width:100%;min-width:80px}.users-table input:focus,.users-table select:focus{outline:none;border-color:var(--accent)}.edit-name{display:flex;gap:4px}.empty-row{text-align:center;color:var(--text-secondary);padding:32px 14px!important}.role-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:600}.role-badge.admin{background:#fbbf2426;color:#fbbf24}.role-badge.user{background:#6366f126;color:#818cf8}.action-buttons{display:flex;gap:4px}.btn-edit,.btn-delete,.btn-save,.btn-cancel{background:none;border:1px solid var(--border);color:var(--text-primary);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.btn-edit:hover{border-color:var(--accent);background:#6366f11a}.btn-delete:hover{border-color:var(--red);background:#ef44441a}.btn-save{color:var(--green);border-color:var(--green)}.btn-save:hover{background:#22c55e1a}.btn-cancel:hover{border-color:var(--text-secondary);background:var(--bg-tertiary)}.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.session-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:600}.session-badge.never{background:#22c55e26;color:var(--green)}.session-badge.normal{background:#9ca3af26;color:#9ca3af}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;width:100%;max-width:420px;overflow:hidden}.login-header{background:linear-gradient(135deg,var(--accent) 0%,#8b5cf6 100%);padding:32px 24px;text-align:center}.login-logo{font-size:48px;margin-bottom:12px}.login-header h1{margin:0;font-size:24px;color:#fff}.login-subtitle{margin:8px 0 0;color:#fffc;font-size:14px}.login-body{padding:24px}.login-instructions{background:var(--bg-tertiary);border-radius:8px;padding:16px;margin-bottom:20px}.login-instructions h3{margin:0 0 12px;font-size:14px;color:var(--text-primary)}.login-instructions ol{margin:0;padding-left:20px;color:var(--text-secondary);font-size:13px;line-height:1.8}.login-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#08c;color:#fff;border:none;padding:14px 20px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.login-button:hover:not(:disabled){background:#0077b5}.login-button:disabled{opacity:.7;cursor:not-allowed}.telegram-icon{width:20px;height:20px}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-note{margin:16px 0 0;font-size:12px;color:var(--text-secondary);text-align:center}.login-footer{border-top:1px solid var(--border);padding:16px;text-align:center}.login-footer p{margin:0;font-size:12px;color:var(--text-secondary)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.user-info{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary)}.user-menu-container{position:relative}.user-info-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s;font-size:13px;color:var(--text-primary)}.user-info-btn:hover{background:var(--border)}.user-info-btn.active{background:var(--border);border-color:var(--blue)}.menu-arrow{font-size:10px;color:var(--text-secondary);transition:transform .2s}.menu-arrow.up{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1000;overflow:hidden}.user-menu-header{padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:transparent;border:none;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .2s;text-align:left}.user-menu-item:hover{background:var(--bg-tertiary)}.user-menu-item.active{background:#6366f11a;color:var(--purple)}.user-menu-item.logout{color:var(--red)}.user-menu-item.logout:hover{background:#f851491a}.admin-badge{font-size:14px}.user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-text{font-size:13px}.status-text.connected{color:#3fb950}.status-text.disconnected{color:#f85149}.pagination-container{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px 0;margin-top:8px;border-top:1px solid var(--border)}.pagination-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);font-size:13px;font-weight:500;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-secondary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{display:flex;align-items:center;gap:4px}.pagination-page{background:transparent;border:1px solid transparent;color:var(--text-secondary);font-size:13px;font-weight:500;min-width:32px;height:32px;border-radius:6px;cursor:pointer;transition:all .2s}.pagination-page:hover{color:var(--text-primary);background:var(--bg-tertiary)}.pagination-page.active{background:var(--blue);color:var(--bg-primary);border-color:var(--blue)}.pagination-ellipsis{color:var(--text-muted);padding:0 4px}.permissions-container{max-width:800px;margin:0 auto;padding:20px}.permissions-header{margin-bottom:24px}.permissions-header h2{font-size:22px;margin-bottom:8px}.permissions-header .permissions-desc{color:var(--text-secondary);font-size:14px}.permissions-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:20px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.section-header h3{font-size:16px;font-weight:600}.section-header .section-desc{color:var(--text-secondary);font-size:13px}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.permission-item{background:var(--bg-tertiary);border-radius:6px;padding:12px;transition:background .2s}.permission-item:hover{background:#58a6ff0d}.permission-checkbox{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.permission-checkbox input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--blue);cursor:pointer}.permission-checkbox input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.permission-info{display:flex;flex-direction:column;gap:2px}.permission-label{font-size:14px;font-weight:500;color:var(--text-primary)}.permission-desc{font-size:12px;color:var(--text-secondary)}.permissions-actions{display:flex;gap:12px;margin-top:24px}.permissions-message{margin-top:16px;padding:12px 16px;border-radius:6px;font-size:14px}.permissions-message.success{background:#3fb9501a;border:1px solid var(--green);color:var(--green)}.permissions-message.error{background:#f851491a;border:1px solid var(--red);color:var(--red)}.permissions-warning{margin-top:24px;padding:12px 16px;background:#d299221a;border:1px solid var(--yellow);border-radius:6px;font-size:13px;color:var(--yellow)}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);position:relative;overflow:hidden;transition:opacity .3s ease}.landing.exiting{opacity:0}.landing-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(88,166,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(88,166,255,.03) 1px,transparent 1px);background-size:50px 50px;pointer-events:none}.landing-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:10;padding:40px 20px;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing-logo{margin-bottom:40px;animation:fadeInUp .8s ease-out .1s both}.landing-watermark{width:180px;height:auto;opacity:.7;filter:drop-shadow(0 0 40px rgba(88,166,255,.3));transition:transform .3s ease,opacity .3s ease}.landing-watermark:hover{transform:scale(1.05);opacity:.85}.landing-title{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:24px;animation:fadeInUp .8s ease-out .2s both}.title-prefix{font-size:14px;letter-spacing:12px;color:var(--text-secondary);text-transform:uppercase;font-weight:400}.title-main{font-size:64px;font-weight:200;letter-spacing:24px;color:var(--text-primary);text-transform:uppercase;margin:0;background:linear-gradient(135deg,#fff 0%,var(--blue) 50%,var(--purple) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-tagline{font-size:18px;color:var(--text-secondary);font-style:italic;margin-bottom:48px;max-width:400px;line-height:1.6;animation:fadeInUp .8s ease-out .3s both}.landing-cta{display:flex;align-items:center;gap:12px;padding:16px 40px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--blue) 0%,var(--purple) 100%);border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #58a6ff4d;animation:fadeInUp .8s ease-out .4s both}.landing-cta:hover{transform:translateY(-2px);box-shadow:0 6px 30px #58a6ff80}.landing-cta:active{transform:translateY(0)}.cta-icon{font-size:20px}.landing-social{display:flex;gap:24px;margin-top:60px;animation:fadeInUp .8s ease-out .5s both}.social-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-secondary);text-decoration:none;transition:all .3s ease;border:1px solid var(--border)}.social-link:hover{background:var(--bg-secondary);color:var(--blue);border-color:var(--blue);transform:translateY(-3px);box-shadow:0 4px 15px #58a6ff33}@media(max-width:600px){.title-main{font-size:42px;letter-spacing:16px}.title-prefix{font-size:12px;letter-spacing:8px}.landing-tagline{font-size:16px;padding:0 20px}.landing-watermark{width:140px}.landing-cta{padding:14px 32px;font-size:15px}}.signal-tpsl-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.tpsl-item{background:var(--bg-tertiary);border-radius:6px;padding:8px 10px;text-align:center;border:1px solid transparent;transition:all .2s}.tpsl-item.tp1{border-color:#3fb9504d}.tpsl-item.tp2{border-color:#3fb95080}.tpsl-item.tp3{border-color:#3fb950b3}.tpsl-item.sl{border-color:#f8514980}.tpsl-item.hit{background:#3fb95026}.tpsl-item.sl.hit{background:#f8514926}.tpsl-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:2px}.tpsl-label .check{color:var(--green);margin-left:4px}.tpsl-item.sl .check{color:var(--red)}.tpsl-price{font-size:12px;font-weight:600;font-family:SF Mono,Fira Code,monospace;color:var(--text-primary)}.tpsl-pct{font-size:10px;color:var(--green);font-weight:600}.tpsl-pct.loss{color:var(--red)}.signal-rsi{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--border);margin-top:8px}.signal-metrics{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--border);margin-top:8px;gap:8px}.metric-item{flex:1;text-align:center}.metric-label{display:block;font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.metric-values{display:flex;align-items:center;justify-content:center;gap:4px}.metric-value{font-size:12px;font-weight:600;color:var(--text-primary)}.metric-condition{font-size:10px;font-weight:700;padding:1px 4px;background:#8b949e1a;border-radius:3px}.pnl-win{color:var(--green);font-weight:600}.pnl-loss{color:var(--red);font-weight:600}.signal-card.closed{opacity:.7}.signal-card.closed .signal-header{opacity:.8}.tp-sl-grid{grid-template-columns:repeat(4,1fr)}.stat-card.tp1{border-left:3px solid rgba(63,185,80,.5)}.stat-card.tp1 .stat-value{color:#3fb950e6}.stat-card.tp2{border-left:3px solid rgba(63,185,80,.7)}.stat-card.tp2 .stat-value{color:#3fb950}.stat-card.tp3{border-left:3px solid var(--green)}.stat-card.tp3 .stat-value{color:var(--green)}.stat-card.sl{border-left:3px solid var(--red)}.stat-card.sl .stat-value{color:var(--red)}td.hit{background:#3fb9501a;color:var(--green)}@media(max-width:900px){.tp-sl-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.tp-sl-grid{grid-template-columns:1fr}}
